Release: 0.27.0 - Turbo Mode

Released

~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 compact function for removing nil values
  • Add a persistent namespace cache with mtime invalidation for ~99% faster warm runs
  • Add cache:clear command for clearing namespace and compiled code caches
  • Add compiled code cache for significantly faster test execution
  • Add memoize-lru function 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-also metadata 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 requires signatures (plural) instead of signature (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 run when nested requires have errors
  • Fix notation for arguments in the anonymous function of docblocks examples
  • Fix defn-builder to 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


View release on GitHub