Release: 0.28.0 - Zero Config

Released

phel init command + zero-config project detection + runtime args via *program* + Clojure-compatible remove

🎉Added

  • Add *program* variable and Phel::setupRuntimeArgs(), getProgram(), getArgv() for runtime argument management
  • Add phel init command with --flat, --force, --dry-run, --no-gitignore options
  • Add PhelConfig improvements: forProject() factory, ProjectLayout enum, layout helpers, getters, setters, and validate() method
  • Add zero-config support with automatic project structure and namespace detection

⚖️ Changed

  • Breaking: argv now excludes script/namespace name; use *program* instead
  • Breaking: Phel::run() and Phel::bootstrap() no longer accept string $argv
  • Breaking: Default directories changed to conventional layout (src/phel/, tests/phel/)
  • Breaking: remove now uses Clojure semantics (remove pred coll)
  • Refactor SequenceGenerator and PartitionGenerator with dependency injection and extracted helpers

🐛 Fixed

  • Fix defexception macro failing with parse error due to invalid apply php/new usage
  • Improve docblocks example code on the API page to make it REPL-friendly

👥 Contributors

@Chemaclass @JesusValeraDev @smeghead

Full Changelog: v0.27.0...v0.28.0

Downloads


View release on GitHub