Skip to content

0.5.2 Release Notes: Major Feature Release with Critical Bug Fix

Choose a tag to compare

@oubiwann oubiwann released this 25 Oct 03:34
· 92 commits to release/0.5.x since this release

⚠️ 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_plugins and 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