github nicolargo/glances v4.5.1
Glances 4.5.1

7 hours ago

Release date: March 2026
Milestone: [#91](https://github.com/nicolargo/glances/milestone/91?closed=1)
21 issues & pull requests closed


Overview

Glances 4.5.1 is a stability and quality release that addresses regressions introduced
in the 4.5.0.x series, fixes cross-platform compatibility issues (OpenBSD, macOS, Snap),
and ships several community-driven enhancements — most notably Intel GPU monitoring,
Docker container health alerting, and per-plugin min/max/mean statistics.


🐛 Bug Fixes

Plugins

  • DiskIO — crash on OpenBSD ([#3452](#3452))
    A regression introduced in 4.5.0.5 caused Glances to crash on OpenBSD when the DiskIO
    plugin was active. The root cause was an unguarded attribute access in msg_curse().
    Fixed and covered by an additional test case.

  • DiskIO — empty args not handled in msg_curse() ([#3429](#3429))
    A TypeError would be raised in specific runtime configurations where args was not yet
    populated when msg_curse() was called. A safe default is now enforced.

  • Filesystem — KeyError: '/etc/hostname' on get_view ([#3470](#3470))
    Certain bind-mounted or virtual paths (e.g. /etc/hostname inside containers) could
    trigger a KeyError in the FS plugin's view logic. The lookup is now guarded with a
    safe fallback.

  • Sensors — show/hide by alias name broken ([#3439](#3439))
    Filtering sensors by alias name via the configuration file had no effect in some
    configurations. Sensor aliasing and the associated hide/show logic are now correctly
    applied together.

  • SMART — non-uniform key types cause TypeError with InfluxDB2 export ([#3449](#3449))
    Mixed integer/string key types in the SMART plugin's device stats dict were causing a
    TypeError when exporting to InfluxDB2. Key types are now normalized before export.

Web UI

  • Fahrenheit display incorrect in WebUI ([#3450](#3450))
    Temperature values were not properly converted to Fahrenheit in the Web UI when the
    --fahrenheit option was set. The unit conversion is now applied consistently on the
    frontend side.

Snap Packaging

  • AMD GPU plugin: PermissionError on /usr/share/libdrm/amdgpu.ids ([#3456](#3456))
    Glances packaged as a Snap would refuse to start on systems with an AMD GPU because the
    GPU plugin attempted to open a file outside the Snap sandbox. The exception is now
    caught at the correct level (open() rather than f.read()), preventing the crash at
    startup.

  • NVIDIA GPU not detected under Snap ([#3292](#3292))
    The Snap package was missing the opengl interface declaration in snapcraft.yaml,
    preventing the NVIDIA GPU plugin from accessing the required device nodes under strict
    confinement. The interface is now correctly declared.

MCP Server

  • DNS rebinding protection blocks external MCP clients ([#3467](#3467))
    The MCP server was rejecting connections from external hosts because the underlying SSE
    transport's DNS rebinding protection only allowed localhost by default. A new
    mcp_allowed_hosts configuration key (parsed in GlancesRestfulApi.load_config() and
    forwarded via TransportSecuritySettings) lets operators explicitly whitelist external
    hostnames, following the same pattern as cors_origins.

✨ Enhancements

Intel GPU Monitoring ([#994](#994))

Intel GPU metrics are now supported in the GPU plugin, closing a long-standing feature
request. The implementation follows the multi-vendor reader architecture, joining the
existing NVIDIA and AMD backends.

Docker Container Health Status & Alerts ([#3402](#3402))

The containers plugin now surfaces Docker's native health check status (healthy,
unhealthy, starting) and integrates it with Glances' alert system so that unhealthy
containers trigger visible warnings in the TUI and API.

VM Plugin — libvirt Support in Docker Image ([#3427](#3427) / [#3436](#3436))

The official Glances Docker image now includes the libvirt-client toolchain, enabling
the VMs plugin to discover and monitor KVM/QEMU virtual machines when the host's
libvirt socket is bind-mounted into the container.

SMART Plugin — DeviceName Key Added ([#3457](#3457))

Each SMART device entry now carries an explicit DeviceName field, making device
identification unambiguous in exports (InfluxDB, CSV, etc.) and the REST API.

Per-Plugin Min / Max / Mean Statistics ([#3462](#3462))

All plugins now compute and expose min, max, and mean values accumulated since
Glances startup. These aggregate metrics are available via the REST API and can be used
for lightweight trend analysis without requiring a full time-series export stack.

CPU Plugin — Improved Display on macOS ([#3464](#3464))

The CPU plugin's TUI and WebUI rendering has been improved for macOS, where certain
fields (e.g. steal, guest) are not available. The layout now adapts gracefully to
the subset of metrics exposed by the platform rather than showing empty or misleading
columns.

History — --enable-history Flag Restored ([#3416](#3416))

The --enable-history CLI flag was silently ignored in recent releases. It is now
correctly wired to the graph export backend, restoring the ability to write per-plugin
time-series data to disk from the command line.


🔧 Code Quality & Refactoring

  • JSON serializer hardened ([#3454](#3454))
    The internal JSON serializer now performs comprehensive type normalization (e.g.
    numpy scalars, Decimal, non-serializable objects) before encoding, preventing
    silent data corruption or export failures. Covered by a new test suite.

  • split_esc cyclomatic complexity reduced ([#3461](#3461))
    The split_esc() utility function in glances_globals was refactored to lower its
    cyclomatic complexity, improving readability and reducing the risk of regressions in
    escape-sequence parsing.

  • Plugin tests added to Makefile ([#3446](#3446))
    Individual plugin test targets are now available via make test-plugins, making it
    easier for contributors and CI pipelines to run focused plugin-level regression checks.


📖 Documentation

  • Code block formatting fixed in docs ([#3447](#3447))
    Several documentation pages contained malformed fenced code blocks. Formatting has been
    corrected for proper rendering on GitHub and ReadTheDocs.

Upgrade Notes

This is a drop-in replacement for 4.5.0.x. No configuration file changes are required
unless you want to take advantage of the new mcp_allowed_hosts option.

Snap users are strongly encouraged to upgrade: the AMD GPU startup crash and the
NVIDIA GPU detection fix are both included and require no manual intervention beyond
refreshing the snap package.


Contributors

Many thanks to all the contributors who reported issues and submitted pull requests for
this release:

[@YamiYukiSenpai](https://github.com/YamiYukiSenpai),
[@amzon-ex](https://github.com/amzon-ex),
[@axodentally](https://github.com/axodentally),
[@fpusan](https://github.com/fpusan),
[@janusn](https://github.com/janusn),
[@kleinmatic](https://github.com/kleinmatic),
[@lcheylus](https://github.com/lcheylus),
[@lubomir-moric](https://github.com/lubomir-moric),
[@mark-rahal](https://github.com/mark-rahal),
[@mikemhenry](https://github.com/mikemhenry),
[@Ambika-Patidar](https://github.com/Ambika-Patidar),
[@AbdelhamidKhald](https://github.com/AbdelhamidKhald),
[@Julietmgbole](https://github.com/Julietmgbole),
[@sdoshi2061](https://github.com/sdoshi2061),
[@cjlindem](https://github.com/cjlindem)


Full changelog: https://github.com/nicolargo/glances/milestone/91?closed=1

Don't miss a new glances release

NewReleases is sending notifications on new releases.