github brndnmtthws/conky v1.23.0

4 hours ago

Conky v1.23.0

Conky 1.23.0 improves graphical output behavior, Lua drawing support, X11 mouse handling, logging, and several security-sensitive network paths. This release also modernizes the website toolchain and includes memory-safety fixes around text objects and graph history.

Full Changelog: v1.22.3...v1.23.0

Upgrade Notes

  • conky_surface() is now the preferred Lua API for obtaining the current Cairo drawing surface. It works across graphical backends, including Wayland, and the older X11-specific Cairo surface API now emits deprecation warnings.
  • own_window_colour now carries background opacity through its alpha channel. The older own_window_argb_visual, own_window_argb_value, and own_window_transparent settings are deprecated but remain backward-compatible, aside from corrected opacity resolution behavior.
  • BUILD_ARGB was removed; ARGB support is treated as part of the X11 path.
  • BUILD_XINPUT was removed; XInput2 is now used directly for X11 mouse input, and the legacy non-XInput2 fallback was removed.

Highlights Since v1.22.3

Lua and Graphical Output

  • Added conky_surface() for backend-neutral Cairo drawing from Lua, including Wayland support, and updated conky_window.width / conky_window.height from Wayland output (#2342).
  • Added conky_window.pixel_size.x, conky_window.pixel_size.y, and conky_window.scale for Lua scripts that need pixel-aware drawing (#2342).
  • Simplified window background alpha handling around own_window_colour and fixed several compositor and opacity edge cases (#2344).
  • Fixed stale window width and height updates (#2345).
  • Fixed graph gradient rendering (#2336).

X11 Mouse Input

  • Corrected scroll direction handling by reading XInput2 valuator metadata instead of assuming fixed indices and signs (#2337).
  • Fixed hit testing near moved or reparented windows by keeping root-relative geometry in sync (#2337).
  • Reduced X11 mouse event overhead for multi-instance setups by avoiding unnecessary X server round trips when events fall outside the Conky window (#2337).
  • Added an example mouse event configuration in data/conky_mouse_events.conf (#2337).

Reliability and Diagnostics

  • Replaced legacy stderr/debug macros with structured spdlog-based logging, runtime log levels, source locations, span context, and cleaner termination handling (#1899).
  • Improved parser error recovery so invalid variables can be rendered literally instead of crashing in more cases (#1899).
  • Fixed a double-free/use-after-free regression and moved more text object cleanup to standard ownership mechanisms (#2356).
  • Fixed graph history leaks and replaced manual graph data storage with vector-backed ownership and stable data source keys (#2356).
  • Made execp caching hash-based so scroll state persists across command output changes (#2348).

Security and Platform Fixes

  • Hardened RSS, HTTP output, GitHub notification, and shared curl paths against unsafe buffer handling, unescaped browser output, token exposure, and overly permissive redirects (#2327).
  • Tightened Darwin and Nix feature detection for curl, gettext, libmicrohttpd, and Objective-C++ build paths (#2327).
  • Fixed Lua 5.5 GC API build compatibility (#2335).
  • Parsed XDG_CURRENT_DESKTOP as a colon-separated list, matching the desktop environment spec (#2360).

Journal and Website

  • Fixed long-standing journal object issues, relaxed line-count argument handling, and modernized the implementation to reduce future parser bugs (#2355).
  • Migrated the website from npm/package-lock workflow to Bun and refreshed the related frontend tooling (#2328).

Pull Requests by Category

Features

  • feat(lua): add conky_surface() for creating Cairo surface on Wayland; update conky_window.width/height from Wayland (#2342)
  • Improve logging and termination (#1899)

Bug Fixes

  • Harden network inputs and fix Darwin feature detection (#2327)
  • fix(lua): fix build error caused by Lua 5.5 GC API changes (#2335)
  • fix: Fixed rendering of gradients in graphs (#2336)
  • fix(x11): mouse event handling - scroll direction, hit testing, XInput2 performance (#2337)
  • fix(settings): simplify background alpha settings (#2109) (#2344)
  • Update stale width and height values (#2345)
  • Fix #2333: implement hash-based caching for execp to persist scroll state (#2348)
  • fix: various tiny followups (#2351)
  • Fix journal.cc issues (#2355)
  • Fix double free; coalesce free(obj/free_at_crash) into core.cc; fix graph leak (#2356)
  • fix(conky): parse XDG_CURRENT_DESKTOP as colon-separated list (#2360)

Build, Dependencies, and Maintenance

  • refactor(web): migrate website to bun and modernize the stack (#2328)
  • chore: bump version (#2325)
  • fix: delete web dependabot (#2352)
  • build(deps): bump the actions group across 1 directory with 11 updates (#2353)
  • chore: bump version (#2361)

New Contributors

Don't miss a new conky release

NewReleases is sending notifications on new releases.