0.5.2 Release Notes: Major Feature Release with Critical Bug Fix
⚠️ Critical Upgrade Required
All users of 0.5.1 must upgrade immediately to avoid potential data loss from a critical bug where rebar3 clean would delete source files instead of compiled beam files.
🎉 What's New in 0.5.2
This release brings significant enhancements to the development experience with automatic rlwrap integration and improved tooling, while fixing a critical data loss bug.
Automatic rlwrap Integration
The REPL now automatically wraps with rlwrap when available, providing:
- ✨ Persistent command history across sessions
- 🔍 Tab completion for Erlang modules and LFE special forms
- ⌨️ Emacs-style line editing (Ctrl-A, Ctrl-E, Ctrl-K, etc.)
- 🎨 Configurable prompts and colors
- 📝 History stored in
~/.lfe/history - 🚀 Zero configuration required - just works!
Use --no-rlwrap flag to disable if needed.
Enhanced Versions Command
The rebar3 lfe versions command now provides complete project information:
- 📦 Dependencies section with all dependency versions
- 🔌 Plugins section with all plugin versions
- 📊 Profile information for non-default profiles
- 🔤 Alphabetically sorted output
- 🎯 Smart version lookup across multiple build directories
- ✨ Clean, uniform heading formatting
Critical Bug Fix
Fixed clean/2 deleting source files: The compiler module's clean/2 function was receiving source .lfe files from rebar3 but deleting them directly instead of converting them to their corresponding .beam files. This has been fixed to properly delete only compiled artifacts.
📋 Complete Changelog
Added
- Automatic rlwrap integration with new modules:
r3lfe_rlwrap,r3lfe_completion - Enhanced versions command with new utility module:
r3lfe_util - Dependencies and Plugins sections in versions output
- REPL screenshot in documentation
Fixed
- CRITICAL: clean/2 deleting source files instead of beam files
- "Bad directory" warnings for uncompiled dependencies
- Multiple rlwrap integration issues (TTY access, argument parsing, infinite loops)
- Version detection for LFE, plugins, and dependencies
- Plugin name display (r3lfe → rebar3_lfe)
Changed
- Templates updated with
project_pluginsand publish aliases - Documentation reorganized with numbered indices (001-021)
- Coverage requirements reduced from 90% to 80%
- Simplified coverage configuration
Testing
- Added
r3lfe_rlwrap_SUITE(13 tests) - Added
r3lfe_util_SUITE(14 tests) - Enhanced
r3lfe_prv_versions_SUITE(12 new tests) - Updated compiler tests for clean verification
- Total: 434 tests passing
📦 Installation
{plugins, [
{rebar3_lfe, "0.5.2"}
]}.Or upgrade existing installations:
rebar3 update📚 Documentation
Full Diff: 0.5.1...0.5.2