Skip to content

Releases

IronMonitor 7.1.0

Choose a tag to compare

@admercs admercs released this 05 Nov 02:08

Adds the Inference and Agents tabs, and an HTTP API on ironmon serve.

Added

  • Inference tab, first and default in the TUI and GUI, with the agent chat box. It reads IronWorks /metrics, Ollama, llama.cpp, vLLM, LM Studio and MLX-LM, plus OpenAI and Anthropic reachability and month-to-date cost.
  • Agents tab, reading IronObserver recordings. It imports Claude Code and Codex sessions in the background when ironobs is on PATH, and shows metadata only.
  • GET /api/v1/describe, /api/v1/snapshot and /api/v1/get/<id> on ironmon serve, from a sampler that runs only while being read. See "The HTTP surface" in AGENTS.md.
  • ironmon serve --port 0, --api-key-file, IRONMON_API_KEY and --cors-origin.

Changed

  • ironmon get runs only the readers an id needs, and unknown ids exit before reading hardware.
  • ironmon serve sends no CORS headers by default, and rejects foreign Host headers on loopback.
  • ironmon serve's Prometheus collector runs only while scraped, so the first scrape after idle can show older values.
  • network.*.link_speed now reports megabits_per_second.

Known limits

  • Inference has not read a live engine or a live cost API.
  • The Agents background import has not yet run unattended on real data.
  • --bind 0.0.0.0 without a key still starts, with a warning.
  • Gemini CLI and cloud agent sessions are not covered.

The full list of changes since 7.0.18 is in CHANGELOG.md.

Update with cargo install ironmonitor --force.

IronMonitor 7.0.18

Choose a tag to compare

@admercs admercs released this 03 Oct 01:23

Fixed duplicated drive titles on Overview: a disk whose name already matches its mount point now displays C:\ once, instead of C:\ C:\. Distinct hardware model names remain visible beside their mount points.

The compact horizontal disk layout, capacity/usage readings and existing Overview dimensions are preserved.

Validation: headless disk rendering tests, including the duplicate-title regression and distinct-model-name case.

Update with cargo install ironmonitor --force.

IronMonitor 7.0.17

Choose a tag to compare

@admercs admercs released this 03 Oct 00:48

Overview disk summaries now automatically fit side by side in one horizontal row. Equal-width cards use compact space-utilization bars and single-line labels; long names and capacity summaries retain complete details on hover.

Existing chat and chart dimensions, color themes including Dark Monochrome, and unavailable-data behavior are preserved. Disk capacity and usage continue to use background snapshots.

Validation covers four disks with long names at 320, 800 and 1400 pixels, checking alignment, fixed strip height, overflow and monochrome colors, plus the existing GUI regression suite.

Update with cargo install ironmonitor --force.

IronMonitor 7.0.16

Choose a tag to compare

@admercs admercs released this 02 Oct 22:25

Overview now includes a Disks Capacity and Usage section showing each reported disk or volume's capacity, used space, free space, and space-used percentage bar. Binary units (GiB/TiB) make sizes explicit.

The section uses existing background snapshots, preserves chat and chart dimensions, and follows every color theme including Dark Monochrome. Unavailable or impossible usage readings stay visibly unavailable. Read/write rates appear only when the collector supplies measured rates.

Validation: headless regression coverage for real Overview rendering, unavailable/impossible readings, narrow widths, multiple volumes, and monochrome colors, plus the existing GUI regression suite.

Update with cargo install ironmonitor --force.

IronMonitor 7.0.15

Choose a tag to compare

@admercs admercs released this 02 Oct 21:53

Add MLX-LM as an external Apple silicon inference provider for IronMonitor on macOS. The AI dropdown offers MLX (Apple Silicon), reads the server model list, and sends native monitoring tool calls through the validated read-only agent runtime. Automatic discovery supports CLI and TUI use; default_model is the MLX-LM startup-model alias. IronWorks remains preferred when both are available.

IronMonitor's MLX setup uses http://localhost:8082/v1 to avoid the IronWorks default port. On your Mac, install mlx-lm in a Python environment and start a compatible model:

mlx_lm.server --model <model-path-or-repo> --host 127.0.0.1 --port 8082

Close IronMonitor before upgrading:

cargo install ironmonitor --version 7.0.15 --locked --force
imon gui

Select MLX (Apple Silicon) on the AI page and choose the served model or default_model. See AI_INTEGRATION.md for installation and alternate-port library configuration. Native tool calling requires support from the server and chosen model/tokenizer.

Regression coverage exercises MLX model listing, native tool calls, returned tool evidence, default-model configuration, and GUI selection. Live MLX GPU inference is not tested on the Windows development host. Source release with the verified crate archive and SHA-256 checksum attached.

IronMonitor 7.0.14

Choose a tag to compare

@admercs admercs released this 02 Oct 20:31

Recover from empty Ollama assistant responses with one bounded retry that preserves the conversation, available tools, and existing monitoring evidence. The retry increases the output allowance and, for thinking-only responses, discovers supported controls through /api/show instead of guessing model capabilities. Private thinking is removed from subsequent tool-call history. Persistent empty replies identify the model and completion reason.

This addresses the empty-answer path reported with gemma4:e2b on macOS. HTTP regression fixtures cover empty responses after a successful tool, boolean and named thinking controls, missing metadata, and bounded repeated failure. The fix is platform independent; UI layout is unchanged.

Close IronMonitor before upgrading:

cargo install ironmonitor --version 7.0.14 --locked --force
imon gui

Select Ollama and your installed gemma4:e2b model in the AI page. Source release with the verified crate archive and SHA-256 checksum attached.

IronMonitor 7.0.13

Choose a tag to compare

@admercs admercs released this 02 Oct 19:55

Restore macOS GUI Overview CPU/RAM data by connecting the existing macOS readers to startup and background collection. Detected Apple GPU hardware remains visible when live telemetry is unavailable; failed readings stay unknown. imon status now includes the OS version, OS build, and hardware model alongside chip and GPU identity.

Live Apple GPU utilization, power, clocks, and temperature require an available telemetry source. This patch does not invent readings or elevate privileges. CPU percentages retain the existing macOS reader's average-since-boot semantics.

Close the GUI before upgrading:

cargo install ironmonitor --version 7.0.13 --locked --force
imon status
imon gui

Also fixes monochrome colors in the dark chat composer without changing its layout. Includes regression coverage for Apple inventory, unavailable accelerator rendering, status identity, and native macOS CPU/RAM collection and OS-version output.

Source release with the verified crate archive and SHA-256 checksum attached.

IronMonitor 7.0.12

Choose a tag to compare

@admercs admercs released this 02 Oct 17:58

Vertically center the chat input text and placeholder so "Ask about your system..." aligns with "Send" in the middle of the shared Overview and AI chat/search box.

Close the GUI before upgrading:

cargo install ironmonitor --version 7.0.12 --locked --force
ironmon gui

Validation: actual painted placeholder and Send text centers are checked within one pixel at 320, 800, and 1400 pixels on both pages, alongside the existing row-height and dashboard-width checks. Formatting and all-features release package verification passed. Source release with crate archive and SHA-256 checksum attached.

IronMonitor 7.0.11

Choose a tag to compare

@admercs admercs released this 02 Oct 17:33

Add a subtle slate outline around the shared Overview and AI chat box. Remove its vertical padding so the single-line row is 32 pixels tall, matching Send. Keep the dark surface, centered two-thirds width, and Enter/Shift+Enter behavior.

Increase the Overview CPU/MEM/SWAP/LOAD status panel from 32 to 48 pixels high and double the bar thickness from 8 to 16 pixels.

Close the GUI before upgrading:

cargo install ironmonitor --version 7.0.11 --locked --force
ironmon gui

Validation: actual GUI rendering at 320, 800, and 1400 pixels verifies the 32-pixel chat row, centered geometry, and 48-pixel full-width status panel. Formatting and all-features release package verification passed. Source release with crate archive and SHA-256 checksum attached.

IronMonitor 7.0.10

Choose a tag to compare

@admercs admercs released this 02 Oct 17:13

Refine only the shared Overview and AI chat/search box with a dark rounded surface, a clean frameless input, and compact dark Send/Cancel buttons. It stays centered at two-thirds width, with Enter to send and Shift+Enter for a newline.

The composer reserves a full-width page row. Dashboard widgets and global styles are unchanged. Renderer checks verify that the widget below keeps its original width and height, and that page fonts remain unchanged.

Close the GUI before upgrading:

cargo install ironmonitor --version 7.0.10 --locked --force
ironmon gui

Validation: actual GUI rendering at 320, 800, and 1400 pixels, formatting checks, and a verified all-features release package. Source release with crate archive and SHA-256 checksum attached.