Skip to content

Latest commit

 

History

History
72 lines (60 loc) · 4.12 KB

File metadata and controls

72 lines (60 loc) · 4.12 KB

Changelog

[Unreleased]

[1.3.0] - 29 Oct 2025

  • API: add gtk_layer_set_respect_close()/gtk_layer_get_respect_close()
  • Fix: ignore .closed event by default (see GTK3 LS #209)
  • Fix: use-after-free when screen lock fails (106)
  • Fix: don't remap unmapped windows on monitor change (104)
  • Tests: support optionally running under Valgrind

[1.2.0] - 12 Aug 2025

  • Session lock: add ::monitor signal to make correctly responding to monitor/output changes easier when implementing a lock screen
  • Session lock: user code no longer needs to call gtk_window_present() for lock screen windows
  • Examples: Refactored session lock examples for clearity and the API update
  • Fix: unmap and deref GTK windows when they are no longer in use
  • Tests: refactors and documentation for ease-of-use
  • Tests: optimization (10X speedup)
  • Tests: test outputs being connected and disconnected is correctly handled
  • Tests: use asan/ubsan in CI to detect memory issues

[1.1.1] - 29 Mar 2025

  • Bump required meson version to 0.54.0
  • Control which symbols are exported, do not expose private/unstable functions which have never been in public headers
  • Correct annotations in doc comments
  • Automatically remap surfaces when monitors change

[1.1.0] - 29 Jan 2025

This release includes two important new features.

ext_session_lock_v1

A 2nd Wayland protocol, is used to build lock screens for these compositors.

liblayer-shell-preload.so

Hack for running arbitrary Wayland windows as Layer Shell surfaces without recompiling. More details here.

Changelog:

  • Major refactor and improvements to internal architecture, made new features possible but this release is more likely to introduce bugs than others
  • Use RTLD_NEXT in libwayland-shim, dlopening libwayland is no longer needed
  • Add support for ext_session_lock_v1 protocol (thanks @happenslol for the initial implementation!)
  • Add examples, tests and docs for Session Lock support
  • Add and document liblayer-shell-preload.so

[1.0.4] - 4 Nov 2024

  • Fix protocol error on Wayfire, due to sending zwlr_layer_shell_surface_v1->configure too early
  • Fix crash when hovering over a tooltip on Hyprland, due to using an old copy of xdg-shell.xml
  • Fix protocol error on GTK4 >=4.16 on KDE and Hyprland, due to request arguments including references to client-only objects
  • Add xdg-dialog-v1 to the mock server used by the tests, so the invalid argument bug is regression tested
  • Drop Lua example and smoke test (the library should work with Lua just as well as before, but this is no longer tested or officially supported)
  • Fix and suppress various warnings

[1.0.3] - 10 Sep 2024

  • Tests: make tests compatible with new libwayland format
  • Tests: fix integration-test-menu-popup by sending wl_buffer.release in mock server
  • Fix: dlopen libwayland-client.so.0 in addition to libwayland-client.so, fixes #39

[1.0.2] - 7 Nov 2023

  • Fix tests on Arch
  • Realize and unrealize on remap instead of setting visibility
  • Fix major use-after-free bug causing many crashes

[1.0.1] - 1 Jul 2023

  • Add lua example
  • Add links to Rust and Ruby bindings
  • Fix doc name conflicts with GTK3 library version
  • Add smoke tests

[1.0.0] - 11 Apr 2023

  • Port library and examples from GTK3 to GTK4
  • Remove deprecated functions gtk_layer_set_keyboard_interactivity() and gtk_layer_get_keyboard_interactivity() (gtk_layer_set_keyboard_mode() and gtk_layer_get_keyboard_mode() can be used instead)
  • Change how layer surface window size is controlled, use gtk_window_set_default_size() now
  • Build documentation with GitHub actions and host with GitHub Pages
  • EDIT: Change license from LGPL to MIT (most of the gtk-layer-shell code was always MIT, and the LGPL bits have all been dropped)