Release: 0.27.0 - Turbo Mode
~99% faster warm runs with persistent namespace cache, plus better multi-arity function docs and memoize-lru.
🎉 New Features
- Add duplicate namespace detection warning to help diagnose config issues
- Add
compactfunction for removing nil values - Add a persistent namespace cache with mtime invalidation for ~99% faster warm runs
- Add
cache:clearcommand for clearing namespace and compiled code caches - Add compiled code cache for significantly faster test execution
- Add
memoize-lrufunction with configurable cache size to prevent unbounded memory growth
✨ Developer Experience
- Standardize docblock examples with triple backtick code fencing for better IDE rendering and syntax highlighting
- Optimize
:see-alsometadata by using string vectors instead of quoted vectors for better performance - Improve compiled code cache with version-based invalidation, LRU eviction, and atomic writes
- Breaking:
PhelFunction::fromArray()now requiressignatures(plural) instead ofsignature(singular) to properly support multi-arity functions - Multi-arity function signatures are now properly extracted and displayed in documentation (e.g.,
csv-seq,memoize-lru,conj)
🐛 Bug Fixes
- Load host project's vendor autoloader in PHAR mode for PHP class dependencies
- Fix exceptions being hidden in
phel runwhen nested requires have errors - Fix notation for arguments in the anonymous function of docblocks examples
- Fix
defn-builderto generate all signatures for multi-arity functions instead of only the first arity
👥 Contributors
@Chemaclass @JesusValeraDev @smeghead
Full Changelog: v0.26.0...v0.27.0
Downloads
- phel.phar (932.67 KB)