Skip to content

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Dec 1, 2025

Bumps phel-lang/phel-lang from 0.22.2 to 0.26.0.

Release notes

Sourced from phel-lang/phel-lang's releases.

0.26.0 - Seqable Strings

String iteration + lazy file IO + more lazy seq functions + mocking framework + compiler optimizations

🎉 New Features

String Iteration & UTF-8 Support

  • Basic string iteration support (#1047)
  • Strings now work directly in foreach, count, frequencies, and all sequence functions
  • Sequence functions work directly on strings without explicit conversion
  • Added seq and phel\str/chars for explicitly converting strings to character vectors when needed
  • Full UTF-8 / multibyte iteration support

Lazy File & Directory Processing

  • Added partition-all for lazy partitioning with infinite sequence support (#1034)
  • Added line-seq for lazy line-by-line file reading with auto-cleanup (#1035)
  • Added file-seq for lazy recursive directory traversal (#1036)
  • Added read-file-lazy for lazy chunked file reading (#1037)
  • Added csv-seq for lazy CSV parsing (#1038)

More Fully Lazy Sequence Functions

Core Library Improvements

  • Added mocking framework under phel\mock (#1042)
  • Added URL support to slurp (http/https/ftp) (#1040)
  • Added conj and deprecated push (#1046)
  • Added string index support to contains? (#1052)

✨ Developer Experience

  • Renamed collection args xs → coll for consistency (#1039)
  • Promoted assoc / dissoc, deprecated put / unset (#1041)
  • Improved docblocks across namespaces with examples (#1044)
  • Optimized compiler with multilevel caching (~25–35% faster, ~10% less memory) (#1045)

🐛 Bug Fixes

  • Fixed into for PersistentList and other ConcatInterface types lacking PushInterface
  • Fixed contains? to use character count instead of byte count for multibyte UTF-8 strings (#1053)
  • Prevent random failures in RunCommandTest with isolated cache (#1049)

... (truncated)

Changelog

Sourced from phel-lang/phel-lang's changelog.

0.26.0 - 2025-11-16

Added

  • Basic string iteration support
    • Strings work directly in foreach loops and with count/frequencies
    • Sequence functions work directly on strings without explicit conversion
    • Add seq function and phel\str/chars for explicitly converting strings to character vectors when needed
    • Full UTF-8/multibyte support
  • Add a mocking framework in phel\mock namespace for test doubles
  • Add URL support to slurp function (http://, https://, ftp://)
  • Add partition-all for lazy partitioning with support for infinite sequences
  • Add line-seq for lazy line-by-line file reading with automatic resource cleanup
  • Add file-seq for lazy recursive directory traversal
  • Add read-file-lazy for lazy chunked file reading
  • Add csv-seq for lazy CSV parsing
  • Make concat, mapcat, interpose, map-indexed, interleave, variadic map, and partition fully lazy with infinite sequence support
  • Add lazy-seq and lazy-cat macros for user-defined lazy sequences
  • Add conj function for Clojure-compatible collection building
  • Add string index support to contains? for Clojure compatibility

Changed

  • Rename collection parameters from xs to coll throughout core functions
  • Make assoc/dissoc primary functions with put/unset as deprecated aliases
  • Deprecate push in favor of conj
  • Improve docblocks with examples for core library functions across all namespaces
  • Optimize compilation pipeline with multi-level caching (~25-35% faster compilation, ~10% less memory usage)

Fixed

  • Fix into to work correctly with PersistentList and other ConcatInterface types that don't implement PushInterface
  • Fix contains? to use character count instead of byte count for multibyte UTF-8 strings

0.25.0 - 2025-11-09

Added

  • Memory-efficient lazy sequences with chunked evaluation
    • Add doall and dorun for controlling lazy sequence realization
    • Make map, filter, take, drop, drop-while, take-while, take-nth, keep, keep-indexed, distinct, dedupe, and partition-by fully lazy
    • All lazy functions support infinite sequences and preserve metadata
  • Simplified release process with OFFICIAL_RELEASE environment variable
    • Build official release PHAR: OFFICIAL_RELEASE=true build/phar.sh
    • Automatically embed release flag via .phel-release.php config
    • Works seamlessly with both PHAR and Composer dependencies
  • Optimized PHAR build with smart caching and compression
    • Vendor caching based on composer.lock hash
    • GZ compression to reduce file size
    • Progress indicators for build visibility

Fixed

  • Memory exhaustion in partition-by and dedupe with infinite sequences
  • Export function name to PHP

... (truncated)

Commits
  • 2ccab19 release: v0.26.0
  • 6b557b5 fix: phar location display
  • 6dfa779 Merge pull request #1052 from phel-lang/feat/contains-support-str-index
  • c235712 fix: contains? to use character count instead of byte count
  • 3fecc5b feat: string index support to `contains?
  • c03f559 Merge pull request #1050 from phel-lang/refactor/generators-class
  • d2a5e06 refactor: create Seq facade and reorganize generator classes
  • 9ac9ef9 refactor: move SequenceGenerator to Generators namespace
  • 174e743 ref: rename generator classes to singular form
  • 285c07e ref: extract Generators to SequenceGenerator with SRP classes
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [phel-lang/phel-lang](https://github.com/phel-lang/phel-lang) from 0.22.2 to 0.26.0.
- [Release notes](https://github.com/phel-lang/phel-lang/releases)
- [Changelog](https://github.com/phel-lang/phel-lang/blob/main/CHANGELOG.md)
- [Commits](phel-lang/phel-lang@v0.22.2...v0.26.0)

---
updated-dependencies:
- dependency-name: phel-lang/phel-lang
  dependency-version: 0.26.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file php Pull requests that update Php code labels Dec 1, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file php Pull requests that update Php code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant