# GKrellM Changelog ## [2.5.1](https://git.srcbox.net/gkrellm/gkrellm/releases/tag/gkrellm-2.5.1) - 2026-02-22 ### Added - Solaris: Support build with Meson build rules ### Fixed - Fix GKrellM freezing on exit on Windows when remote mail check (which uses a thread) ran at least once. - Meson: Skip translations when the `nls` option is disabled - Fix locale handling on Windows by always finding translations relative to the installation prefix. - Meson: Add missing handling for custom localedir - Fix X11 dependency handling in Meson build rules. The `x11` option is now always enabled on Unix platforms other than macOS. On macOS use `-Dx11=enabled` when GTK was built with X11 and `-Dx11=disabled` when it was built with Quartz. - Linux: Fix user count on Linux distros that have disabled utmp writing but use systemd/logind. Only supported when building with Meson. - Solaris: Rework disk enumeration to fix a buffer overflow with longer disk names. Also fix a possible file descriptor leak. - Solaris: Fix network statistics (was broken since 2.4.0, tested on OpenIndiana) - Solaris: Fix gkrellmd build (tested on OpenIndiana) - DragonFlyBSD: Apply patch from DragonFlyBSD DeltaPorts to fix build, fix counting of logged-in users and extend hardware sensor support. - FreeBSD: Drop unnneded setgid kmem during installation as well as in code - Fix text alignment for power sensors. The text was not properly right-aligned like other floating point sensor values. ### Changed - Meson: Merge the `ssl-backend` option into a combined `ssl` choice/feature. The special values `auto` and `none` try to behave like feature options (and they honor the `auto_features` option as well). For packagers it is recommended to pass either `-Dssl=openssl` or `-Dssl=gnutls` depending on the SSL library the package should depend on. - The IMAP/POP3 mail check now verifies SSL/TLS server certificate. Users that connect to servers whose certificate is not trusted may need to add it to the trusted certificate list of their system now. - The IMAP/POP3 mail check now shows error dialogs when connecting failed. Previously only (some) errors while fetching mail on the established connection were shown. ## [2.5.0](https://git.srcbox.net/gkrellm/gkrellm/releases/tag/gkrellm-2.5.0) - 2025-12-14 - Add Meson build rules covering FreeBSD, Linux, macOS as well as Windows so far. They are meant to replace the Make build rules in a future release. - Add support for power sensors on Linux: power sensors can now be read from sysfs or libsensors - Fix build on GLib < 2.68 - Do not install systemd service file in macOS, *BSD and Solaris install targets - Fix `make install` building some but not all files. The install targets should now only copy files and create directories. - Fix enabling i18n support in make rules by default. Ensure that `make enable_nls=0` disables i18n during build and installation. - Fix handling of PREFIX and DESTDIR variables in build rules. DESTDIR is only used in install/uninstall targets now and does not show up in built files (i.e. binaries as well as generated configuration files) anymore. This also updates the INSTALL file regarding use of make variables for adjusting install locations. - `make install` now uses the command in `INSTALL_DATA` to install data files, `INSTALL_PROGRAM` to install executables and `INSTALL_DIRECTORY` to create installation directories. The `install-strip` target now appends the `-s` argument to `INSTALL_PROGRAM` to strip executables during installation and does not use `STRIP` as a variable anymore because that may conflict with cross-compile setups. - Remove non-working make target for static builds of gkrellm and gkrellmd, on Linux glibc requires dynamic linking for a long time. - Apply patches from FreeBSD gkrellm2 port & clean up freebsd make targets - Add pkg-config file for gkrellmd plugins which only depends on Glib instead of Gtk+ - Remove non-working gtop backend which is not used on any of the currently supported operating systems - Manual page sections of gkrellm/gkrellmd are now configurable via the MANSECTION and SMANSECTION make variables to allow packagers to install gkrellmd as a system binary and switch the section from 1 to 8 accordingly. In the future this behavior will likely become the default. - Add support for `optimize=0` make variable value to disable the default optimization flags (helpful for packagers to provide a different set of flags). - Update Brazilian Portuguese translation (patch by Phantom X, https://git.srcbox.net/gkrellm/gkrellm/pulls/63) - Fix shared memory value on Linux >= 2.6 always being zero - Build with C99 standard by default so newer compilers that default to C23 do not run into build issues. - Automatically use MiB/GiB/TiB units for displaying memory values instead of fixed MiB units. - Remove outdated gkrellm.spec related build instructions for building RPM packages. Linux distributions based on RPM have their own variants. - Windows 7 or newer is now required by Windows specific code as well - FreeBSD 10 or newer is now required. Support for building on older releases has been removed. - Linux 3.0 or newer is now required. - Removed X11-only crash handling and related state information about currently active plugin. Logging and a system-wide crash handling most likely will do a much better job these days. - Public header files are now safe to be included from C++ to make it easier to write plugins in C++. - Add export macro for all public gkrellm/gkrellmd API and redo Windows plugin support. On Windows there is now a working import library for the executable. The previous approach with a static library and manually forwarded function pointers has been removed, thereby requiring a rebuild of existing plugins. - Remove conditional code for libsensors 3 which (according to lm-sensors.git history) is from 2007 or even earlier. - Remove old KVM-based macOS/Darwin code (used on macOS < 10.4) and update make targets. macOS users and packagers should build use either of these targets: - "make darwin" & "make install_darwin" to build with X11 support - "make macos" & "make install_macos" to build without X11 support (note that Gtk 2.x without X11 has quite some rendering issues) ## [2.4.0](https://git.srcbox.net/gkrellm/gkrellm/releases/tag/gkrellm-2.4.0) - 2025-01-19 - Use a sans-serif font and slightly bigger font sizes by default - Add native GnuTLS support mail check via SSL/TLS and require GnuTLS 3.3 or newer (#29) - Add and install a systemd service unit for gkrellmd - Install gkrellmd configuration file in standard `make install` target - Require and always use `getaddrinfo()` function. In a previous release this was already done on Linux. Now it also applies to other platforms like BSD, macOS, Solaris and Windows. - Enable gkrellmd timeouts by default to make gkrellm clients automatically reconnect after a connection loss - Fix syslog facility/priority code in gkrellmd to be POSIX compliant so it is more portable to Unix platforms other than Linux - Require OpenSSL 1.1 or newer for mail check via SSL/TLS. - Fix translations and add menu items to main context menu which were previously only available as debug options - Replace MD5 code with existing functionality from GLib - Add and install XDG desktop file as well as icons on Unix/Linux systems. This uses the GKrellM icon used on Windows only so far because the old icon is only available in a very small size that is not suitable for modern screen sizes. The icon is also used as the default window icon in taskbars and launchers. - Use locale-dependent date and time formatting by default - Add Windows 10, 11, Server 2016/2019/2022 OS version detection - Do not strip executables during installation by default anymore. Use `make install-strip` if you prefer the old behavior. - Fix syntax errors in manual pages (patch by Sandro Tosi) - Fix GTK and GLib deprecation warnings and require GTK >= 2.24 - Fix most compiler warnings when building with GCC 13 and Clang 18 - Center each line in multiline clock/calendar decals - Fix IPv6 address matching in gkrellmd client access list - Update French translation (patch by Jerome UZEL) - Fix stack corruption in Solaris kstat code (patch by Adam Stylinsk) ## [2.3.11](https://git.srcbox.net/gkrellm/gkrellm/releases/tag/gkrellm-2.3.11) - 2019-07-25 - Fix krell scale for medium sized filesystems (based on patch by Peter Hymann) - Support OpenSSL >= 1.1 for mail check over SSL/TLS - Sort Linux disk devices alphabetically (patch by Petr Gajdos) - Avoid corruption of chart labels (based on patch by Stefan Seyfried) - Fix possible buffer-overflow in disk size formatting ## [2.3.10](https://git.srcbox.net/gkrellm/gkrellm/releases/tag/gkrellm-2.3.10) - 2016-10-23 - Fix Linux nvme block devices - Do not reject disks because they are not found in `/proc/devices` (the nvme disks may not be there) so new default is to accept anything in `/proc/diskstats` regardless if major number is known or in devices file. ## [2.3.9](https://git.srcbox.net/gkrellm/gkrellm/releases/tag/gkrellm-2.3.9) - 2016-10-11 - Fix mmc block devices (regression in 2.3.8) - Allow Pango markup for all configurable panel labels ## [2.3.8](https://git.srcbox.net/gkrellm/gkrellm/releases/tag/gkrellm-2.3.8) - 2016-09-07 - Add option to ignore network interfaces that match a regular expression pattern - Fix composite disk graph double counting - Handle dynamic disk major numbers for `dm` and `mdp` virtual devices and don't add their data to the composite disk - Disk panel labels are now configurable. This is mostly useful for user labeling of virtual disks - Use wrap bytes instead of discarding data when cumulative chart data overflows - Changed keyboard shortcut for theme changes to `Shift+Page Up` and `Shift+Page Down` (patch by Pavel Reznicek) - Indentation cleanup bugfix for Linux kernel version detection (patch by Ville Skytta) ## [2.3.7](https://git.srcbox.net/gkrellm/gkrellm/releases/tag/gkrellm-2.3.7) - 2016-06-03 - Use `gdk_pixbuf_new_from_data()` instead of deprecated `gdk_pixbuf_new_from_inline()`. Inline `alert_inline[]` needed to be --raw. - Fix sending error message back to clients that were refused by gkrellmd and add dialog to gkrellm client to display the error message - Fix possible chart rendering problem for single pixels - Fix compilation without OpenSSL and GnuTLS (patch by Felix Janda) - Always use `getaddrinfo()` on Linux to fix IPv6 support on C libraries other than glibc (for example musl libc) - Fix handling of `mmcblkN` SD disk partition numbers ## [2.3.6-RC2](https://git.srcbox.net/gkrellm/gkrellm/releases/tag/gkrellm-2.3.6-rc2) - 2015-12-23 - Each real CPU chart may be individually enabled instead of as a group so CPU charts may be split into multiple instances. For systems with large numbers of CPUs. - Make drawing CPU panel labels optional to allow saving vertical space. - Patch from Ville Skytta: fix some `netbsd.c` and `winops-win32.c` issues flagged by cppcheck. - Patch from Neil Booth: Add multiple CPU capability to CPU monitor for Dragonfly. Acquired `dragonfly.c` from web so could apply patch. I have no clue why I never had a `dragonfly.c`. - Patch from Jindrich Makovicka: Update multiple GKrellM files to compile with `-DGTK_DISABLE_DEPRECATED -DGSEAL_ENABLE` for GTK3 compatibility. Replaces GtkItemFactory and GtkTooltips. - Add nvidia-smi interface to linux.c for getting nvidia GPU temperatures. - Translation updates - ru.po from Roman Savochenko - uk.po new translation from Roman Savochenko - pt.po new translation from Ze based on pt_BR.po - fr.po from Jerome UZEL - Bugfixes - fix memory leaks: add `g_thread_unref()` for all GThread pointers returned from `g_thread_new()` calls. - Flag config as modified when changing a charts Resolution per Grid and bump max grid resolution to 500000000. - Store lockfiles under `/var/lock/gkrellm-UID` directories to make lockfiles work for multiple users. - Only link against and initialize Libgcrypt when building with GnuTLS < 2.12. This allows using GKrellM with GnuTLS versions built against Nettle instead of Libgcrypt. - Patch from Gerard Neil: Skip autofs mounts in free disk space polling - Patch from Gerard Neil: Handle cifs as remote filesystem to use longer `nfs-timeout` polling interval - Patch from Alexandre Rostovtsev: Explicitly link against gmodule-2.0 - Add support for GPU-Z sensor information on Windows - Increase minimum required GLib version to 2.32, some parts of gkrellm use newer GLib API - Drop remaining GLib 1.x compatibility from gkrellmd - Patch from Ville Skyttä: Allow binding to a listen address that doesn't exist yet (gkrellmd) - Patch from Pierre Neyron: Option to enable/disable new network interfaces by default ## Older Releases See [ChangeLog.OLD](Changelog.OLD)