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
 

Reply via email to