Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package hyprland for openSUSE:Factory checked in at 2026-07-28 17:50:15 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/hyprland (Old) and /work/SRC/openSUSE:Factory/.hyprland.new.2004 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "hyprland" Tue Jul 28 17:50:15 2026 rev:53 rq:1368099 version:0.56.1 Changes: -------- --- /work/SRC/openSUSE:Factory/hyprland/hyprland.changes 2026-06-12 19:28:29.816632264 +0200 +++ /work/SRC/openSUSE:Factory/.hyprland.new.2004/hyprland.changes 2026-07-28 17:51:31.035061140 +0200 @@ -1,0 +2,409 @@ +Mon Jul 27 21:56:20 UTC 2026 - Florian "spirit" <[email protected]> + +- Updated to version 0.56.1: + + As usual, a patch release with a few fixes backported from main + onto 0.56.0 + + Fixes backported: + - compositor: add a deprecation notice to .conf configs + - workspace: add changeworkspaceid to socket2 + - desktop/windowRule: fix exec rules leaking + - hyprctl: fix json output for binds + - input-capture: fix allow_input_capture bind flag with + capture_modifiers enabled + - monitor: fix rotate and mirror regression + - scrolling: fix in-band resize for the first window of a band + - build: update hyprutils dependency to 0.14.0 + - compositor: init eventManager earlier + - config/lua: do not nuke package.path + - config/lua: use openLate for window.open events + - example: update hyprland.lua default springs + - input: nullptr check eis_client_get_name + - protocols/pointerwarp: send mouse frame event after motion + - renderer: round m_scale calculations + - view: do not render monitor for tearing if it's blocked + +------------------------------------------------------------------- +Mon Jul 20 19:36:19 UTC 2026 - Florian "spirit" <[email protected]> + +- Update to version 0.56.0: + + A big new release with tons of features and fixes, brought to you + by the Hyprland Corp. + + No breaking changes! :) + + New features: + - algo/master: add an option to focus master when window is + closed + - algo/scrolling: add inhibit_scroll dispatch for scrolling + algorithm + - algo/scrolling: add a "fit expand" layout message + - algo/scrolling: add new fit_into_view layout msg + - cm/icc: add Primaries to ICC-generated SImageDescription + - config/lua: add a change_id workspace API + - config/lua: add get_loaded_plugins + - config/lua: add hl.clear_crashed_lockscreen() and fix tty + instructions + - config/lua: add is_key_down and a key event + - config/lua: add lua-driven custom live gestures + - config/lua: add physicalWidth and physicalHeight to lua's + Monitor + - config/propRefresher: add capability to execute scheduled prop + refresh immediately with lua helper function, add event for + prop refresh + - crashreporter: fix SIGSEGV on dladdr1 failure + - decoration/glow: add gradient and angle animation + - decoration/shadow: add gradient and angle animation + - desktop/windowRule: add no_auto_hdr window rule + - desktop/windowRule: add stableid: window selector + - desktop/windowRule: add a suppressevent for X11 configure + requests + - desktop/windowrule: add silent option to monitor effect + - event/bus: add specialActive event to workspace + - groups: add groupbar disable_when_only option + - groups: sync window monitor/workspace when added to a group + - hyprctl: add config full-reload for performing a ground-up + reload + - hyprctl: add interactive Lua REPL mode + - hyprctl: add onCreatedEmpty field to workspacerules dispatcher + data + - hyprtester: add -t option for running specific tests + - input/tablet: add TabletTool config options for eraser button + and tool pressure + - lua/monitor: add set_ functions for raw workspace management + - lua/objects: add cm and reserved properties to monitor + - meta/lua: add missing notification text field and make timeout + required + - meta/lua: add proper lua stub types to the general config + - plugins: add api for registering and dispatching events + - protocols/xdg-shell: add support for xdg interactive drags + - renderer: add a motion blur option to windows + - renderer: add tonemap settings + - renderer: add wrapping options to SRenderData + - socket2: add back changefloatingmode and togglegroup events + + Fixes: + - Tests/scroll: fix window hiding test passing inconsistently + - algo/dwindle: fix moving windows across a split + - algo/master: fix drag-swap with two tiled windows + - animation: refactor manager, fixup desktopAnimationManager, + clean up code + - binds/submap: fix mouse binds inside submaps + - binds/submap: fix submap enter bind == bind inside submap + - code: fix clang-format + - compositor: fix monitor re-enabling on hotplug when dpms is off + - compositor: fix render unfocused for subsurfaces + - config/actions: fix null derefs in pin dispatcher + - config/lua: add hl.clear_crashed_lockscreen() and fix tty + instructions + - config/lua: fix layout ctx checking the wrong argument + - config/lua: fix missing event from know events lists + - config: fix VRR not applying on runtime change + - config: fix cycle_next using nonexist layoutmsg for prev + - config: fix decoration values to refresh on runtime + eval/keyword change + - config: fix description matching for default workspaces + - config: fix initial workspace tracking + - config: fix plugin variables with dashes + - config: fix slide animation direction param + - core: fix --verify-config crash + - core: fix a few fd leaks + - core: refactor fullscreen logic, improve maintainability and + add a lot of tests + - core: various SHM handling fixes + - crashreporter: fix SIGSEGV on dladdr1 failure + - decoration/glow: fix visibility when no decorate is set + - desktop/groups: fix crash on dissolution + - desktop/popup: fix crash on destroy + - desktop/popup: fix reposition artifacts + - desktop/popup: fix subsurface scaling + - desktop/view: fix IView virtual inheritance and erase_if ptr + - desktop/window: fix crash on requested workspace not having a + mon + - desktop/window: fix unwanted reswallow + - desktop/window: fix wrong scale being applied after workspace + rules + - desktopAnimation: fix crash in startAnimation on ws with no + parent + - dispatchers: fix fullscreen movefocus regression + - frame: fix frame scheduling being skipped or one vblank off + - fullscreen: fix some bars remaining invisible when + unfullscreening + - gestures: fix live cursorZoom anchoring to a mid-animation + value + - gestures: fix toggle cursorZoom sharing a single on/off flag + - glframebuffer: fix spurious incomplete framebuffer errors + - groups: fix border color for locked groups + - hyprtester: Fix some failing tests terminating early + - hyprtester: misc bug fixes & refactorings + - i18n: completed italian translation and fixed some previous + italian translation inaccuracies + - input/dnd: fix touch-driven drag-and-drop + - input/window: fix dragging pointer-locked and fullscreen game + windows (gamescope) + - input: fix inverted scrollwheel direction in keybinds + - input: fix missing a pointer frame after absolute pointer motion + - input: fix wheel scroll events from virtual pointers being dropped + - internal: fix bugs revealed by hu update + - internal: fix filename string not being computed at compile + time in RASSERT and GLCALL macros + - internal: fix more fd leaks + - internal: fix null deref in setWindowFullscreenInternal when + fullscreen state stale + - internal: fix tokens for xdg-desktop-portals + - internal: minor spelling fixes + - fix auto-generating hyprlang instead of lua config file by + default + - keybinds: fix nested submaps and resets + - layout/WindowTarget: fix crash when toggling float on oversized + windows + - layout/monocle: fix w[tv1] workspace rule not working on + monocle layout + - layout/scrolling: fix prop refresh triggering hard input + - layout/target: fix unmanaged configure loops in x11 + - meta/lua: fix capture of lua events + - monitor: refactor inheritance, expand query, add unit tests for + position and query + - monitor: fix cursor default_monitor option + - monitor: fix special fade state update + - monitor: fix top-layer bar visibility on workspace change with + scrolling-layout fullscreen + - pointer-warp: fix forgetting enter serial + - pointer: fix cursor bounds not updating on monitor layout changes + - pointer: fix two stale cursor images clearings + - protocols/foreignToplevel: fix class and title reporting on map + and afterwards + - protocols/grab: fix refocus to unreachable windows + - protocols/pointerWarp: fix crash when warp is on a non + interactive surf + - protocols: Fix crash when creating inert workspace resource + - protocols: fix SHM cursor partial damage copy + - protocols: fix protocol null dereference paths + - render/cm: fix premult in shaders + - render/gl/framebuffer: fix swizzle comparisons + - renderer/cm: fix blur clipping with HDR + - renderer: fix SEGV on monitor disconnect + - renderer: fix cursor:zoom_rigid being ignored with detached + camera + - renderer: fix border cm for mirroring + - renderer: fix mirror draw buffers on rotating work buffers + - renderer: fix screenshader with fp16 + - renderer: minor shader fixes + - screencopy: fix screenshare copyfb pending frames + - screenshare: minor fence and copy fixes + - scrolling/fullscreen: fix fullscreen/maximise behaviour, + existing bugs with scrolling fullscreen + - state/monitorQuery: fix monitor desc selector being treated as + "down" selector + - state/workspace: refactor workspace state, add querying, move + off of CCompositor + - tests: fix broken test and flakiness + - tests: fix failing cases + - xwayland: fix ICCCM synthetic event comparison + + Other: + - algo/dwindle: do not remove node before assigning + - algo/floating: do not alter pinned windows' state on ws move + - algo/master: avoid nullptr dereferences + - algo/master: guard target in remove + - algo/master: respect center_master_fallback when resizing slave + cols + - algo/scrolling: hide the top layer in workspace swipe to + scrolling layout fullscreen + - algo/scrolling: intelligently decide where to drop a dnd'd window + - algo: prevent shadowing of m_parent + - animation: dont .lock() a uniqueptr + - assets: update lockdead png with new dispatch commands + - buffer: wait on seperate fences instead of merging + - build: bump libinput to 1.29 + - build: link Glaze to the compositor core + - cleanup: remove comment made for self + - compositor: allow to request focusing windows behind fullscreen + - compositor: give preference to same-workspace windows in + getWindowInDirection + - config: add path in stdout log disabling message + - config/actions: unfocus last window on changeWorkspace when + moving monitors + - config/lua: allow disabling workspace rules + - config/lua: allow manual group control + - config/lua: allow re-enabling monitors + - config/lua: allow wildcards or absolute paths in require + - config/lua: do not wrap std::function in std::optional + - config/lua: expose monitor serial/available modes + - config/lua: improve error handle-ability with Lua require + - config/lua: make resizewindow param accessible to lua + - config/lua: match lua output naming to hyprctl output and match + naming convention + - config/lua: report errors better without check* + - config/lua: restrict package module loading to lua-only modules + - config/lua: revert "restrict package module loading to lua-only + modules + - config/lua: use function pointers instead of std::function for + fields + - config/lua: use ref for workspace destroy events + - config/monitor: allow per-monitor vrr to inherit misc:vrr + - config/monitor: refresh splash texture on monitor reload + - config/monitorRule: default scale to auto + - config/propRefresher: avoid crash if event loop manager isn't + loaded + - config/propRefresher: schedule frames on screen shader refresh + - config/values: default no_hardware_cursors to 2 + - config/values: update general:layout description + - config: monitors default to "preferred" res, "auto" pos and + scale + - core/output: don't destroy bound wl_output resources on + same-name global replace + - core: refactor more compositor state into separate classes and + states + - crashReporter: don't skip trailing zeros in the stack trace + - cursor: revert "transform hardware cursors within content bounds + - cursor: transform hardware cursors within content bounds + - debug: replace sizeof(x)/sizeof(x[0]) with std::size + - desktop/fadeout: extract bad logic, simplify fadeouts + - desktop/focusstate: restore keyboard focus after layer closed + - desktop/rule: optimize mapping rule properties to strings and + engines + - desktop/view: ignore client maximize requests for tiled windows + - desktop/view: sync layout's m_box in clampWindowSize + - desktop/window: allow focus while held to non-OR X11 windows + - desktop/windowRule: use original monitorstr if not silent + - desktop: extract a lot of view state from compositor + - desktop: move window manipulation functions out of compositor + - desktop: remove using directives, move to geometric functions + - dmabuf: ensure both create and create_immed verify v4 + - dmabuf: revert "ensure both create and create_immed verify v4 + - docs/hyprctl: update example code for hyprctl dispatch + - drm: init sync_merge_data::name field directly with a string + literal + - drm: refactor merging and exporting fences + - dwindle: avoid crashing on expired weakptr + - elementrenderer: allow smaller viewports near the top/left + edges of the buffer + - eventmanager: handle partial IPC writes + - gestures/scroll_move: guard col to avoid crash + - gestures: clamp toggle cursorZoom like mult and live + - gestures: configure client to final size on fullscreen/float + gesture completion + - helpers: include numbers header + - helpers: remove old header + - hyprctl: handle partial IPC transfers + - hyprctl: hide C++ symbols by default + - hyprctl: remove redundant mutex locking from + SRollingLogFollow::get() + - hyprctl: use .transform() instead of .and_then() + - hyprtester: handle empty Lua include path in plugin build + - hyprtester: improvements, remove some redundancy and other + things. + - hyprtester: report failures at the end + - i18n: Adjust some awkward English + - i18n: reduce the size of the machine code generated from + CI18nEngine constructor + - i18n: update italian translation + - init: gain real-time through rtkit ++++ 112 more lines (skipped) ++++ between /work/SRC/openSUSE:Factory/hyprland/hyprland.changes ++++ and /work/SRC/openSUSE:Factory/.hyprland.new.2004/hyprland.changes Old: ---- hyprland-0.55.4.tar.xz New: ---- hyprland-0.56.1.tar.xz revert-modernize-truthy.patch ----------(New B)---------- New: - xwayland: validate ICCCM hint replies - Added revert-modernize-truthy.patch, as the original patch used a feature, which was only introduced in GCC 16. ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ hyprland.spec ++++++ --- /var/tmp/diff_new_pack.wMGfMA/_old 2026-07-28 17:51:34.687188844 +0200 +++ /var/tmp/diff_new_pack.wMGfMA/_new 2026-07-28 17:51:34.699189263 +0200 @@ -20,7 +20,7 @@ %define shortname hypr Name: hyprland -Version: 0.55.4 +Version: 0.56.1 Release: 0 Summary: Dynamic tiling Wayland compositor License: BSD-3-Clause @@ -30,6 +30,7 @@ Source99: %{name}.rpmlintrc Patch0: disable-donation-nag-popup.patch Patch1: start_hyprland_no_nixgl.patch +Patch2: revert-modernize-truthy.patch BuildRequires: cmake %if 0%{?suse_version} == 1600 && 0%{?is_opensuse} BuildRequires: gcc-c++ >= 13 @@ -50,12 +51,13 @@ BuildRequires: pkgconfig(hyprcursor) >= 0.1.9 BuildRequires: pkgconfig(hyprgraphics) >= 0.5.1 BuildRequires: pkgconfig(hyprlang) >= 0.6.7 -BuildRequires: pkgconfig(hyprutils) >= 0.13.1 +BuildRequires: pkgconfig(hyprutils) >= 0.14.0 BuildRequires: pkgconfig(hyprwayland-scanner) >= 0.3.10 BuildRequires: pkgconfig(hyprwire) >= 0.3.0 BuildRequires: pkgconfig(lcms2) BuildRequires: pkgconfig(libdrm) >= 2.4.118 -BuildRequires: pkgconfig(libinput) >= 1.28.0 +BuildRequires: pkgconfig(libeis-1.0) +BuildRequires: pkgconfig(libinput) >= 1.29.0 BuildRequires: pkgconfig(libudev) BuildRequires: pkgconfig(lua5.5) BuildRequires: pkgconfig(muparser) @@ -63,12 +65,13 @@ BuildRequires: pkgconfig(pangocairo) BuildRequires: pkgconfig(pixman-1) >= 0.42.0 BuildRequires: pkgconfig(re2) +BuildRequires: pkgconfig(readline) BuildRequires: pkgconfig(systemd) BuildRequires: pkgconfig(tomlplusplus) BuildRequires: pkgconfig(uuid) BuildRequires: pkgconfig(vulkan) >= 1.2.182 BuildRequires: pkgconfig(wayland-client) -BuildRequires: pkgconfig(wayland-protocols) >= 1.47 +BuildRequires: pkgconfig(wayland-protocols) >= 1.49 BuildRequires: pkgconfig(wayland-scanner) BuildRequires: pkgconfig(wayland-server) >= 1.22.91 BuildRequires: pkgconfig(xcb) ++++++ hyprland-0.55.4.tar.xz -> hyprland-0.56.1.tar.xz ++++++ /work/SRC/openSUSE:Factory/hyprland/hyprland-0.55.4.tar.xz /work/SRC/openSUSE:Factory/.hyprland.new.2004/hyprland-0.56.1.tar.xz differ: char 15, line 1 ++++++ revert-modernize-truthy.patch ++++++ >From 58daf0c111c0e4491c062d4387e3e8181e43cdb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20=22sp1rit=22=E2=80=8B?= <[email protected]> Date: Mon, 20 Jul 2026 23:43:20 +0200 Subject: [PATCH] Revert "internal: modernize truthy(fix possible UB) (#15217)" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 9e499c595d1414028702cd99a0e4160bdac099d1, it requires a newer gcc. Signed-off-by: Florian "sp1rit" <[email protected]> --- src/helpers/MiscFunctions.cpp | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/src/helpers/MiscFunctions.cpp b/src/helpers/MiscFunctions.cpp index be4f033a..aa16aec2 100644 --- a/src/helpers/MiscFunctions.cpp +++ b/src/helpers/MiscFunctions.cpp @@ -827,18 +827,11 @@ std::string getBuiltSystemLibraryNames() { } bool truthy(const std::string& str) { - using std::operator""sv; - - if (str == "1"sv) + if (str == "1") return true; - // clang-format off - auto str_view = str | std::views::transform([](unsigned char ch) -> char { - return sc<char>(std::tolower(ch)); - }); + std::string cpy = str; + std::ranges::transform(cpy, cpy.begin(), ::tolower); - return [&](auto&&... prefixes) -> bool { - return (... || std::ranges::starts_with(str_view, prefixes)); - }("true"sv, "yes"sv, "on"sv); - // clang-format on + return cpy.starts_with("true") || cpy.starts_with("yes") || cpy.starts_with("on"); } -- 2.54.0 ++++++ start_hyprland_no_nixgl.patch ++++++ --- /var/tmp/diff_new_pack.wMGfMA/_old 2026-07-28 17:51:35.555219196 +0200 +++ /var/tmp/diff_new_pack.wMGfMA/_new 2026-07-28 17:51:35.559219336 +0200 @@ -253,9 +253,9 @@ - if (Nix::shouldUseNixGL()) - g_logger->log(Hyprutils::CLI::LOG_DEBUG, "Hyprland was compiled with Nix - will use nixGL"); - - bool safeMode = false; - while (true) { - g_instance = makeUnique<CHyprlandInstance>(); + bool safeMode = false; + bool lockedCrash = false; + -- 2.51.1
