Current section

Files

Jump to
observer_cli docs CHANGELOG.md
Raw

docs/CHANGELOG.md

# Changelog
Release and maintenance changes, newest first.
## 2.0.0 (release candidate)
- Added `mix escript.build` as an alternative source build for the controller,
using the same Erlang entry point, VM flags, dependencies, and bundled schema.
- Added `observer_cli logs` for bounded retained evidence from one trusted plain
`logger_std_h` configured file path, with strict source, file-identity, tail,
response, and output-encoding limits.
- Kept logs separate from default snapshot, diagnosis, and TUI flows; the
command does not flush Logger, read archives, accept arbitrary paths, or
claim reliable redaction of arbitrary log text.
- Hardened shared text, term, and JSON output against raw terminal control and
bidirectional-control codepoints while preserving ordinary Unicode.
- Added a command-first interface for production diagnostics, automation, and
AI agents, covering health checks, snapshots, resource inspection, OTP state,
and bounded call tracing.
- Added reusable remote-target workflows with `connect`, `status`, and
`disconnect`, including target compatibility checks.
- Required command targets to contain the matching diagnostics bundle; command
diagnostics do not upload missing code, while automatic loading remains
TUI-only.
- Added structured text, Erlang term, and OTP 27+ JSON output with stable exit
statuses and a versioned response schema.
- Made `tui` the explicit interactive command and removed the old positional
launch form. Updated the TUI plugin API for 2.0; 1.x callback shapes must be
migrated.
- Fixed CLI help, error, output-stream, and exit-status behavior, trace cleanup,
and malformed saved-context removal.
## 1.8.8
- Adapted terminal width automatically across Home, Application, ETS, Mnesia,
Network, Process, Port, System, and pager footers.
- Reorganized Doc-view shortcuts into clearer command groups.
- Relaxed the Elvis god-module rule for existing large renderer modules.
## 1.8.7
- Handled the unchanged result from `net_kernel:set_net_ticktime/1`.
- Fixed `rebar3 check` by updating the Elvis macro rule name.
- Simplified `observer_cli_escriptize` test shutdown.
## 1.8.6
- Added external process formatter support; the formatter callback now receives
the process PID.
- Fixed process State redraw timers and repeated-render edge cases.
- Improved pager navigation and status output.
- Updated `net_ticktime` automatically for remote TUI sessions.
- Fixed Mix compilation and excluded test sources from release builds.
- Removed `recon` from `included_applications`.
## 1.8.5
- Synchronized default application environment between `mix.exs` and the
application resource file.
- Refactored application statistics and command parsing.
- Updated plugin documentation and terminal images.
- Removed OTP 24 and 25 from the CI matrix.
## 1.8.4
- Fixed an OTP 28 Dialyzer warning.
- Used the OTP 28 process iterator APIs when available.
## 1.8.3
- Handled unknown Mnesia storage types without crashing.
- Fixed an OTP 27 warning.
- Added ExDoc generation.
## 1.8.2
- Corrected `fullsweep_after`: it is a count, not a byte value.
## 1.8.1
- Displayed the node name in the System view.
## 1.8.0
- Added direct PID input with `<PID` shorthand.
- Displayed labels set with `proc_lib:set_label/1`.
- Displayed distribution output-queue bytes in the System view.
- Fixed the Doc view on OTP 27.
## 1.7.5
- Handled Mnesia external-copy storage types such as `{ext, Module, State}`.
- Corrected the Memory and Reductions column order in the Application view.
## 1.7.4
- Handled ETS tables that disappear before `ets:info/1` returns.
## 1.7.3
- Prevented System-view failure when the `ps` command fails.
## 1.7.2
- Handled process monitors addressed by `{RegisteredName, Node}`.
## 1.7.1
- Displayed application lifecycle states in the Application view.
- Fixed remote RPC shutdown with `Ctrl+C`.
- Corrected the version in `mix.exs`.
## 1.7.0
- Added process-count, memory, and reductions sorting to the Application view.
- Added `{byte, Value}` and `{percent, Value}` plugin formatting.
- Added process drill-down from plugin rows.
## 1.6.2
- Prevented a crash when `ps` is unavailable on Windows.
## 1.6.1
- Removed the precise OTP-version display.
## 1.6.0
- Hid scheduler utilization by default.
- Adopted `erlfmt` formatting.
- Added BEAM OS-process CPU, memory, RSS, and VSZ data from `ps`.
- Removed the expensive `recon_alloc:memory/1` call from Home.
## 1.5.4
- Upgraded `recon` to 2.5.1 for OTP 23 allocator compatibility.
## 1.5.3
- Made `default_row_size` configurable through the application environment.
- Added current and maximum SBCS-to-MBCS allocator ratios to the System view.
## 1.5.2
- Used `erlang:system_info(otp_release)` when the `OTP_VERSION` file is absent.
## 1.5.1
- Hid the Mnesia tab when Mnesia is not running.
- Displayed the detailed ERTS version when available.
## 1.5.0
- Upgraded `recon` to 2.5.0.
## 1.4.5
- Added a minimal `mix.exs` build file.
- Ensured stale `EXIT` messages are cleared.
## 1.4.4
- Handled connection failures without crashing.
## 1.4.3
- Upgraded `recon` to 2.4.0.
## 1.4.2
- Hid the scheduler bar on systems with more than 100 cores.
- Added inet6 distribution support to the escript build.
- Renamed the plugin `kv_label/0` callback to `attributes/1`.
## 1.4.1
- Corrected ETS-view memory usage.
- Reported Mnesia memory in bytes.
## 1.4.0
- Added custom TUI plugins.
## 1.3.4
- Added paging and memory/size sorting to ETS and Mnesia views.
- Fixed pause handling.
- Made the refresh interval configurable.
## 1.3.3
- Avoided passing iolists as `io:format/2` format strings on OTP 21.
## 1.3.2
- Ensured every `observer_cli` process exits when the TUI quits.
- Upgraded `recon` to 2.3.6.
## 1.3.1
- Added atom count and limit data to Home.
- Added short-name and long-name escript support.
- Fixed store-process cleanup.
- Upgraded `recon` to 2.3.5.
## 1.3.0
- Rewrote the Network and Process views.
- Added paging to the Home Top-N process list.
- Added TUI escript loading when `observer_cli` is absent from the target.
## 1.2.2
- Fixed scheduler rendering on systems with 32 or more schedulers.
- Improved byte-unit rendering.
## 1.2.1
- Fixed automatic terminal sizing.
- Improved terminal color adaptation.
## 1.2.0
- Added the Application view.
- Reorganized the TUI and its render loop.
- Adapted the layout to terminal size automatically.
## 1.1.0
- Added the original remote-node escript interface.
## 1.0.9
- Upgraded `rebar3` to 3.3.3 for Hex publishing.