Changelog
View SourceAll notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased
0.3.1 - 2026-02-09
Fixed
- Coordinator no longer crashes when an operator GenServer times out during
message_operatororget_operator_statusesactions list_operators/0andoperator_status/1no longer crash when an operator is unresponsive- Coordinator no longer gets stuck in
:runningwhen the LLM callsdone()with unread notifications remaining mix compileno longer fails in prod whenigniteris not a dependency
0.3.0 - 2026-01-25
Added
Installation
- Igniter installer — Run
mix igniter.install beamlensto add Beamlens to your supervision tree. Uses Anthropic by default (setANTHROPIC_API_KEY). Use--providerand--modelto configure one of 8 providers: Anthropic, OpenAI, Ollama, Google AI, Vertex AI, AWS Bedrock, Azure OpenAI, or OpenRouter.
New Skills
- Anomaly — Statistical anomaly detection with self-learning baselines. Auto-triggers Coordinator when anomalies escalate.
- Overload — Message queue overload analysis with bottleneck detection and remediation recommendations.
- Allocator — Memory allocator fragmentation monitoring for long-running nodes.
- Tracer — Production-safe function call tracing powered by Recon. Rate-limited with auto-shutoff. Requires
recondependency.
Skill Enhancements
- Beam — Scheduler utilization tracking, atom table growth monitoring, binary memory leak detection, message queue overload detection, process reduction profiling
- Ets — Table growth tracking and leak candidate detection
- Gc — Memory variance detection, lazy GC identification, hibernation recommendations with estimated savings
- Ports — Queue saturation monitoring with prediction, busy port detection, inet socket tracking with buffer monitoring
- Supervisor — Orphaned/unlinked process detection, tree integrity checking, zombie child detection
- VmEvents — Long GC, long schedule, and busy port event tracking
Infrastructure
- Operators and Coordinator are now always-running supervised processes
Operator.run_async/3for background analysis with progress notifications
Changed
- Allocator, Overload, and Tracer skills are now enabled by default (12 builtin skills total)
- Breaking: Skills renamed for clarity:
Beamlens.Skill.Monitor→Beamlens.Skill.AnomalyBeamlens.Skill.Sup→Beamlens.Skill.SupervisorBeamlens.Skill.System→Beamlens.Skill.OsBeamlens.Skill.SystemMonitor→Beamlens.Skill.VmEvents
- Breaking: Atom shortcuts updated:
:monitor→:anomaly,:sup→:supervisor,:system→:os,:system_monitor→:vm_events - Breaking: Configuration option renamed from
:operatorsto:skills# Before {Beamlens, operators: [Beamlens.Skill.Beam]} # After {Beamlens, skills: [Beamlens.Skill.Beam]} - Breaking:
Operator.run/2andCoordinator.run/2raiseArgumentErrorif not configured in supervision tree - Breaking:
Notification.summaryfield renamed toobservation
Removed
Operator.Supervisor.start_operator/2— configure via:skillsoption insteadOperator.Supervisor.stop_operator/2— operators now remain running
Fixed
- Exception skill snapshot data now serializes correctly to JSON
0.2.0 - 2026-01-14
See the updated README.md!
0.1.0 - 2025-01-03
First release!