Releases: elixir-vibe/pi-elixir
Releases · elixir-vibe/pi-elixir
v0.5.4
Added
- BEAM session snapshots now carry activity metadata including last activity time, current activity start time, and turn count.
- BEAM session trees now show token/cost usage summaries and recursive nested child status aggregation.
- Added TUI/session debugging workflow notes for monitored tmux/asciinema playground runs.
Changed
- Elixir tool call previews normalize multiline arguments into a single pi-style preview line.
- Completed BEAM session trees remain transcript-first while live/running snapshots stay widget-only.
Fixed
- Removed repeated live
elixir-sessionstranscript entries that caused TUI artifacts during subagent startup. - Fixed nested BEAM session summary branch alignment in compact trees.
v0.5.3
v0.5.1
pi-elixir 0.5.1
Added
- Hidden
/elixir:debugcommand that writes a snapshot-style diagnostic dump to~/.pi/agent/pi-elixir-debug.log. PI_ELIXIR_DEBUG=1|debug|verboseresponsiveness diagnostics with automatic event-loop lag snapshots during active turns.- Diagnostic timing spans for lifecycle hooks, connection resolution, embedded BEAM startup/ready/error/exit, bridge request handlers, plugin tool hooks, tool calls, and executable skill discovery/materialization.
Changed
- Mix project resolution no longer recursively scans arbitrary nested directories from broad working directories; it now only accepts the current
mix.exsor known bundledpackages/bridge/mix.exslayout.
Fixed
- Avoided extension hot-path filesystem traversal that could stall pi’s Node event loop and delay interrupt handling when pi was launched from broad monorepo roots such as
~/Development.
Published to npm as pi-elixir@0.5.1.
v0.4.0
v0.2.0
New
- ETS table inspector — list all tables sorted by memory/size, inspect contents with Erlang match patterns
- OS-assigned ports — embedded server uses port 0 instead of a fixed range, eliminating collisions between concurrent pi sessions
Fixed
- Wrong-server bug — native discovery no longer falls back to a mismatched project's server when app name doesn't match
- sup_tree crash on library projects without an OTP supervision tree
Changed
- Elixir code extracted to
.exsfiles — tool scripts (top, process_info, sup_tree, deps_tree, types, ets) are standalone Elixir files with proper syntax highlighting and editor support - Codebase split into modules —
index.ts(993→79 lines), 13 individual tool files, shared helpers and renderers - 73 tests — 58 vitest (unit + integration against a real embedded server), 15 ExUnit for Elixir tool scripts
- Tooling — oxlint, oxfmt, vitest
v0.1.0
Initial release.
- 12 BEAM introspection tools: eval, docs, source, SQL, logs, hex search, schemas, supervision tree, process top, process info, dependency tree, type specs
- Auto-connect to running Tidewave instances (probes localhost:4000–4009, matches by app name)
- Embedded MCP server starts automatically for any Elixir project — no config or deps needed. Uses Bandit/Plug when available (Phoenix), falls back to a zero-dep OTP gen_tcp server (libraries)
- Syntax highlighting for Elixir output, SQL results, docs, and logs in the TUI
- Skill that teaches the agent BEAM introspection patterns
pi install pi-elixir