Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package wayland-protocols for 
openSUSE:Factory checked in at 2026-06-09 14:17:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/wayland-protocols (Old)
 and      /work/SRC/openSUSE:Factory/.wayland-protocols.new.2375 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "wayland-protocols"

Tue Jun  9 14:17:09 2026 rev:50 rq:1357992 version:1.49

Changes:
--------
--- /work/SRC/openSUSE:Factory/wayland-protocols/wayland-protocols.changes      
2026-04-04 19:06:59.368072308 +0200
+++ 
/work/SRC/openSUSE:Factory/.wayland-protocols.new.2375/wayland-protocols.changes
    2026-06-09 14:21:25.311365460 +0200
@@ -1,0 +2,9 @@
+Mon Jun  8 07:18:27 UTC 2026 - Bjørn Lie <[email protected]>
+
+- Update to version 1.49:
+  + Improve multi-GPU support in linux-dmabuf-v1
+  + Add Windows BT.2100 image descriptions to color-management-v1
+  + A new experimental protocol for fractional scaling
+- Import new key from Simon Sers webpage: https://emersion.fr/about
+
+-------------------------------------------------------------------

Old:
----
  wayland-protocols-1.48.tar.xz
  wayland-protocols-1.48.tar.xz.sig

New:
----
  wayland-protocols-1.49.tar.xz
  wayland-protocols-1.49.tar.xz.sig

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ wayland-protocols.spec ++++++
--- /var/tmp/diff_new_pack.ZVPTwz/_old  2026-06-09 14:21:28.583499976 +0200
+++ /var/tmp/diff_new_pack.ZVPTwz/_new  2026-06-09 14:21:28.587500140 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package wayland-protocols
 #
-# Copyright (c) 2025 SUSE LLC and contributors
+# Copyright (c) 2026 SUSE LLC and contributors
 # Copyright (c) 2015 Bjørn Lie, Bryne, Norway.
 #
 # All modifications and additions to the file contributed by third parties
@@ -18,7 +18,7 @@
 
 
 Name:           wayland-protocols
-Version:        1.48
+Version:        1.49
 Release:        0
 Summary:        Wayland protocols that add functionality not available in the 
core protocol
 License:        MIT

++++++ wayland-protocols-1.48.tar.xz -> wayland-protocols-1.49.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wayland-protocols-1.48/.gitlab-ci/debian-install.sh 
new/wayland-protocols-1.49/.gitlab-ci/debian-install.sh
--- old/wayland-protocols-1.48/.gitlab-ci/debian-install.sh     2026-04-01 
13:46:29.000000000 +0200
+++ new/wayland-protocols-1.49/.gitlab-ci/debian-install.sh     2026-06-07 
15:06:32.000000000 +0200
@@ -2,7 +2,7 @@
 
 # Note: don't forget to bump FDO_DISTRIBUTION_TAG when editing this file!
 
-git clone --branch 1.23.1 --depth=1 
https://gitlab.freedesktop.org/wayland/wayland
+git clone --branch 1.25.0 --depth=1 
https://gitlab.freedesktop.org/wayland/wayland
 cd wayland/
 git show -s HEAD
 meson build/ -Dtests=false -Ddocumentation=false
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wayland-protocols-1.48/.gitlab-ci.yml 
new/wayland-protocols-1.49/.gitlab-ci.yml
--- old/wayland-protocols-1.48/.gitlab-ci.yml   2026-04-01 13:46:29.000000000 
+0200
+++ new/wayland-protocols-1.49/.gitlab-ci.yml   2026-06-07 15:06:32.000000000 
+0200
@@ -27,7 +27,7 @@
   variables:
     FDO_DISTRIBUTION_VERSION: trixie
     FDO_DISTRIBUTION_PACKAGES: 'build-essential pkg-config meson git 
ca-certificates libffi-dev libexpat1-dev libxml2-dev'
-    FDO_DISTRIBUTION_TAG: '2025-11-15.0'
+    FDO_DISTRIBUTION_TAG: '2026-04-05.0'
     FDO_DISTRIBUTION_EXEC: 'env FDO_CI_CONCURRENT=${FDO_CI_CONCURRENT} 
./.gitlab-ci/debian-install.sh'
 
 check-commit:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wayland-protocols-1.48/experimental/xx-fractional-scale/README 
new/wayland-protocols-1.49/experimental/xx-fractional-scale/README
--- old/wayland-protocols-1.48/experimental/xx-fractional-scale/README  
1970-01-01 01:00:00.000000000 +0100
+++ new/wayland-protocols-1.49/experimental/xx-fractional-scale/README  
2026-06-07 15:06:32.000000000 +0200
@@ -0,0 +1,4 @@
+xx fractional scale v2 protocol
+
+Maintainers:
+Xaver Hugl <[email protected]> (@Zamundaaa)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wayland-protocols-1.48/experimental/xx-fractional-scale/xx-fractional-scale-v2.xml
 
new/wayland-protocols-1.49/experimental/xx-fractional-scale/xx-fractional-scale-v2.xml
--- 
old/wayland-protocols-1.48/experimental/xx-fractional-scale/xx-fractional-scale-v2.xml
      1970-01-01 01:00:00.000000000 +0100
+++ 
new/wayland-protocols-1.49/experimental/xx-fractional-scale/xx-fractional-scale-v2.xml
      2026-06-07 15:06:32.000000000 +0200
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<protocol name="xx_fractional_scale_v2">
+  <copyright>
+    Copyright © 2022 Xaver Hugl
+
+    Permission is hereby granted, free of charge, to any person obtaining a
+    copy of this software and associated documentation files (the "Software"),
+    to deal in the Software without restriction, including without limitation
+    the rights to use, copy, modify, merge, publish, distribute, sublicense,
+    and/or sell copies of the Software, and to permit persons to whom the
+    Software is furnished to do so, subject to the following conditions:
+
+    The above copyright notice and this permission notice (including the next
+    paragraph) shall be included in all copies or substantial portions of the
+    Software.
+
+    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+    THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+    FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+    DEALINGS IN THE SOFTWARE.
+  </copyright>
+
+  <description summary="Protocol for fractional scaling">
+    This protocol allows compositors and clients to communicate the
+    coordinate space their surfaces act in.
+  </description>
+
+  <interface name="xx_fractional_scale_manager_v2" version="1">
+    <description summary="creates surface scale interfaces">
+      A global interface to create xx_fractional_scale_v2 interfaces.
+    </description>
+
+    <request name="destroy" type="destructor">
+      <description summary="release the global">
+        Informs the server that the client will not be using this protocol
+        object anymore. This does not affect any other objects.
+      </description>
+    </request>
+
+    <enum name="error">
+      <entry name="fractional_scale_exists" value="0"
+        summary="xx_fractional_scale_v2 for the surface already exists"/>
+    </enum>
+
+    <request name="get_fractional_scale">
+      <description summary="create an interface to enable fractional scaling">
+        Create an interface object for a wl_surface to communicate scale.
+        If the given wl_surface already has a xx_fractional_scale_v2 object
+        associated, the fractional_scale_exists protocol error is raised.
+      </description>
+      <arg name="id" type="new_id" interface="xx_fractional_scale_v2"
+           summary="the new scale interface"/>
+      <arg name="surface" type="object" interface="wl_surface"
+           summary="the surface"/>
+    </request>
+  </interface>
+
+  <interface name="xx_fractional_scale_v2" version="1">
+    <description summary="interface for fractional scaling">
+      An additional interface for a wl_surface object that allows compositor 
and
+      client to communicate in a different coordinate space, in order to enable
+      them to accurately describe coordinates and sizes in pixels.
+      The two coordinate spaces in consideration are logical and pixels, where
+      logical coordinates describe the size content should have and pixels
+      describe the size of buffers.
+
+      A scale of one equals a lack of scaling, where the communicated values
+      define both logical coordinates and pixels.
+      A scale greater than one describes that for every logical coordinate,
+      more than one pixel is used, and a scale less than one describes that
+      multiple logical coordinates make up one pixel.
+      In mathematical terms, logical coordinates can be obtained by dividing
+      the provided values by the currently active scale.
+
+      The initial compositor and client coordinate scale factors are 1.
+    </description>
+
+    <event name="scale_factor">
+      <description summary="set the compositor coordinate space scale factor">
+        This event sets a scale factor for the associated wl_surface that
+        describes the coordinate system the compositor will use for events
+        following xx_fractional_scale_v2.scale_factor.
+
+        The scale factor is encoded in a 8.24 fixed point format.
+
+        The compositor must not send a scale of zero.
+
+        The client should re-render and commit a new buffer with the new scale
+        as soon as possible, in order to avoid artifacts caused by the mismatch
+        in compositor and client scales.
+      </description>
+      <arg name="scale_8_24" type="uint" summary="surface scale factor"/>
+    </event>
+
+    <request name="set_scale_factor">
+      <description summary="set the client coordinate space scale factor">
+        This request sets a scale factor for the associated wl_surface that
+        describes the coordinate system the client uses for requests following
+        xx_fractional_scale_v2.set_scale_factor.
+
+        The scale factor is encoded in a 8.24 fixed point format.
+
+        If this scale factor does not match the scale factor provided by the
+        compositor with xx_fractional_scale_v2.scale_factor, the compositor may
+        apply transformations to the wl_surface that can result in blurriness
+        or other artifacts.
+
+        If scale_8_24 is zero, the error invalid_scale will be raised.
+      </description>
+      <arg name="scale_8_24" type="uint" summary="surface scale factor"/>
+    </request>
+
+    <request name="destroy" type="destructor">
+      <description summary="remove the scale interface from the surface">
+        The wl_surface's xx_fractional_scale_v2 object is destroyed, and the
+        associated scale is reset to 1.
+      </description>
+    </request>
+
+    <enum name="error">
+      <entry name="invalid_scale" value="0"
+        summary="scale value is not valid"/>
+    </enum>
+  </interface>
+</protocol>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wayland-protocols-1.48/experimental/xx-session-management/xx-session-management-v1.xml
 
new/wayland-protocols-1.49/experimental/xx-session-management/xx-session-management-v1.xml
--- 
old/wayland-protocols-1.48/experimental/xx-session-management/xx-session-management-v1.xml
  2026-04-01 13:46:29.000000000 +0200
+++ 
new/wayland-protocols-1.49/experimental/xx-session-management/xx-session-management-v1.xml
  2026-06-07 15:06:32.000000000 +0200
@@ -84,12 +84,12 @@
       </entry>
       <entry name="recover" value="2">
         <description summary="an app recovered">
-          A app instance is recovering from for example a compositor or app 
crash.
+          An app instance is recovering from for example a compositor or app 
crash.
         </description>
       </entry>
       <entry name="session_restore" value="3">
         <description summary="an app restored">
-          A app instance is restored, for example part of a restored session, 
or
+          An app instance is restored, for example part of a restored session, 
or
           restored from having been temporarily terminated due to resource
           constraints.
         </description>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wayland-protocols-1.48/meson.build 
new/wayland-protocols-1.49/meson.build
--- old/wayland-protocols-1.48/meson.build      2026-04-01 13:46:29.000000000 
+0200
+++ new/wayland-protocols-1.49/meson.build      2026-06-07 15:06:32.000000000 
+0200
@@ -1,5 +1,5 @@
 project('wayland-protocols',
-       version: '1.48',
+       version: '1.49',
        meson_version: '>= 0.58.0',
        license: 'MIT/Expat',
 )
@@ -9,94 +9,109 @@
 fs = import('fs')
 
 dep_scanner = dependency('wayland-scanner',
-    version: get_option('tests') ? '>=1.23.0' : '>=1.20.0',
+    version: get_option('tests') ? '>=1.25.0' : '>=1.22.90',
+    required: get_option('tests'),
     native: true,
     fallback: 'wayland'
 )
-prog_scanner = find_program(dep_scanner.get_variable(pkgconfig: 
'wayland_scanner', internal: 'wayland_scanner'))
+if dep_scanner.found()
+       prog_scanner = find_program(dep_scanner.get_variable(pkgconfig: 
'wayland_scanner', internal: 'wayland_scanner'))
+endif
 
 stable_protocols = {
-       'linux-dmabuf': ['v1'],
-       'presentation-time': [''],
-       'tablet': ['v2'],
-       'viewporter': [''],
-       'xdg-shell': [''],
+       'linux-dmabuf': {'v1': []},
+       'presentation-time': {'': []},
+       'tablet': {'v2': []},
+       'viewporter': {'': []},
+       'xdg-shell': {'': []},
 }
 
 unstable_protocols = {
-       'fullscreen-shell': ['v1'],
-       'idle-inhibit': ['v1'],
-       'input-method': ['v1'],
-       'input-timestamps': ['v1'],
-       'keyboard-shortcuts-inhibit': ['v1'],
-       'linux-dmabuf': ['v1'],
-       'linux-explicit-synchronization': ['v1'],
-       'pointer-constraints': ['v1'],
-       'pointer-gestures': ['v1'],
-       'primary-selection': ['v1'],
-       'relative-pointer': ['v1'],
-       'tablet': ['v1', 'v2'],
-       'text-input': ['v1', 'v3'],
-       'xdg-decoration': ['v1'],
-       'xdg-foreign': ['v1', 'v2'],
-       'xdg-output': ['v1'],
-       'xdg-shell': ['v5', 'v6'],
-       'xwayland-keyboard-grab': ['v1'],
+       'fullscreen-shell': {'v1': []},
+       'idle-inhibit': {'v1': []},
+       'input-method': {'v1': []},
+       'input-timestamps': {'v1': []},
+       'keyboard-shortcuts-inhibit': {'v1': []},
+       'linux-dmabuf': {'v1': []},
+       'linux-explicit-synchronization': {'v1': []},
+       'pointer-constraints': {'v1': []},
+       'pointer-gestures': {'v1': []},
+       'primary-selection': {'v1': []},
+       'relative-pointer': {'v1': []},
+       'tablet': {'v1': [], 'v2': []},
+       'text-input': {'v1': [], 'v3': []},
+       'xdg-decoration': {'v1': ['stable/xdg-shell/xdg-shell.xml']},
+       'xdg-foreign': {'v1': [], 'v2': []},
+       'xdg-output': {'v1': []},
+       'xdg-shell': {'v5': [], 'v6': []},
+       'xwayland-keyboard-grab': {'v1': []},
 }
 
 staging_protocols = {
-       'alpha-modifier': ['v1'],
-       'color-management': ['v1'],
-       'color-representation': ['v1'],
-       'commit-timing': ['v1'],
-       'content-type': ['v1'],
-       'cursor-shape': ['v1'],
-       'drm-lease': ['v1'],
-       'ext-background-effect': ['v1'],
-       'ext-data-control': ['v1'],
-       'ext-foreign-toplevel-list': ['v1'],
-       'ext-idle-notify': ['v1'],
-       'ext-image-capture-source': ['v1'],
-       'ext-image-copy-capture': ['v1'],
-       'ext-session-lock': ['v1'],
-       'ext-transient-seat': ['v1'],
-       'ext-workspace': ['v1'],
-       'fifo': ['v1'],
-       'fractional-scale': ['v1'],
-       'linux-drm-syncobj': ['v1'],
-       'pointer-warp': ['v1'],
-       'security-context': ['v1'],
-       'single-pixel-buffer': ['v1'],
-       'tearing-control': ['v1'],
-       'xdg-activation': ['v1'],
-       'xdg-dialog': ['v1'],
-       'xdg-session-management': ['v1'],
-       'xdg-system-bell': ['v1'],
-       'xdg-toplevel-drag': ['v1'],
-       'xdg-toplevel-icon': ['v1'],
-       'xdg-toplevel-tag': ['v1'],
-       'xwayland-shell': ['v1'],
+       'alpha-modifier': {'v1': []},
+       'color-management': {'v1': []},
+       'color-representation': {'v1': []},
+       'commit-timing': {'v1': []},
+       'content-type': {'v1': []},
+       'cursor-shape': {'v1': ['stable/tablet/tablet-v2.xml']},
+       'drm-lease': {'v1': []},
+       'ext-background-effect': {'v1': []},
+       'ext-data-control': {'v1': []},
+       'ext-foreign-toplevel-list': {'v1': []},
+       'ext-idle-notify': {'v1': []},
+       'ext-image-capture-source': {'v1': [
+               
'staging/ext-foreign-toplevel-list/ext-foreign-toplevel-list-v1.xml',
+       ]},
+       'ext-image-copy-capture': {'v1': [
+               
'staging/ext-image-capture-source/ext-image-capture-source-v1.xml',
+               
'staging/ext-foreign-toplevel-list/ext-foreign-toplevel-list-v1.xml',
+       ]},
+       'ext-session-lock': {'v1': []},
+       'ext-transient-seat': {'v1': []},
+       'ext-workspace': {'v1': []},
+       'fifo': {'v1': []},
+       'fractional-scale': {'v1': []},
+       'linux-drm-syncobj': {'v1': []},
+       'pointer-warp': {'v1': []},
+       'security-context': {'v1': []},
+       'single-pixel-buffer': {'v1': []},
+       'tearing-control': {'v1': []},
+       'xdg-activation': {'v1': []},
+       'xdg-dialog': {'v1': ['stable/xdg-shell/xdg-shell.xml']},
+       'xdg-session-management': {'v1': ['stable/xdg-shell/xdg-shell.xml']},
+       'xdg-system-bell': {'v1': []},
+       'xdg-toplevel-drag': {'v1': ['stable/xdg-shell/xdg-shell.xml']},
+       'xdg-toplevel-icon': {'v1': ['stable/xdg-shell/xdg-shell.xml']},
+       'xdg-toplevel-tag': {'v1': ['stable/xdg-shell/xdg-shell.xml']},
+       'xwayland-shell': {'v1': []},
 }
 
 experimental_protocols = {
-       'xx-cutouts': ['v1'],
-       'xx-input-method': ['v2'],
-       'xx-keyboard-filter': ['v1'],
-       'xx-session-management': ['v1'],
-       'xx-text-input': ['v3'],
-       'xx-zones': ['v1'],
+       'xx-cutouts': {'v1': []},
+       'xx-input-method': {'v2': []},
+       'xx-keyboard-filter': {'v1': [
+               'experimental/xx-input-method/xx-input-method-v2.xml',
+       ]},
+       'xx-session-management': {'v1': ['stable/xdg-shell/xdg-shell.xml']},
+       'xx-text-input': {'v3': []},
+       'xx-zones': {'v1': ['stable/xdg-shell/xdg-shell.xml']},
 }
 
 protocol_files = []
 installed_protocol_files = []
+protocol_deps = {}
 
 stable_protocol_files = []
 foreach name, versions : stable_protocols
-       foreach version : versions
+       foreach version, deps : versions
                if version == ''
-                       stable_protocol_files += 
['stable/@0@/@[email protected]'.format(name)]
+                       protocol_file = 'stable/@0@/@[email protected]'.format(name)
                else
-                       stable_protocol_files += 
['stable/@0@/@0@-@[email protected]'.format(name, version)]
+                       protocol_file = 'stable/@0@/@0@-@[email protected]'.format(name, 
version)
+               endif
+               stable_protocol_files += [protocol_file]
+               if deps.length() > 0
+                       protocol_deps += {protocol_file: deps}
                endif
        endforeach
 endforeach
@@ -105,10 +120,12 @@
 
 staging_protocol_files = []
 foreach name, versions : staging_protocols
-       foreach version : versions
-               staging_protocol_files += [
-                       'staging/@0@/@0@-@[email protected]'.format(name, version)
-               ]
+       foreach version, deps : versions
+               protocol_file = 'staging/@0@/@0@-@[email protected]'.format(name, version)
+               staging_protocol_files += [protocol_file]
+               if deps.length() > 0
+                       protocol_deps += {protocol_file: deps}
+               endif
        endforeach
 endforeach
 installed_protocol_files += staging_protocol_files
@@ -116,10 +133,12 @@
 
 unstable_protocol_files = []
 foreach name, versions : unstable_protocols
-       foreach version : versions
-               unstable_protocol_files += [
-                       'unstable/@0@/@0@-unstable-@[email protected]'.format(name, 
version)
-               ]
+       foreach version, deps : versions
+               protocol_file = 
'unstable/@0@/@0@-unstable-@[email protected]'.format(name, version)
+               unstable_protocol_files += [protocol_file]
+               if deps.length() > 0
+                       protocol_deps += {protocol_file: deps}
+               endif
        endforeach
 endforeach
 installed_protocol_files += unstable_protocol_files
@@ -127,10 +146,12 @@
 
 experimental_protocol_files = []
 foreach name, versions : experimental_protocols
-       foreach version : versions
-               experimental_protocol_files += [
-                       'experimental/@0@/@0@-@[email protected]'.format(name, version)
-               ]
+       foreach version, deps : versions
+               protocol_file = 'experimental/@0@/@0@-@[email protected]'.format(name, 
version)
+               experimental_protocol_files += [protocol_file]
+               if deps.length() > 0
+                       protocol_deps += {protocol_file: deps}
+               endif
        endforeach
 endforeach
 protocol_files += experimental_protocol_files
@@ -157,7 +178,7 @@
 
 include_dirs = []
 headers = []
-if dep_scanner.version().version_compare('>=1.22.90')
+if dep_scanner.found()
        subdir('include/wayland-protocols')
        include_dirs = ['include']
 endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wayland-protocols-1.48/stable/linux-dmabuf/feedback.rst 
new/wayland-protocols-1.49/stable/linux-dmabuf/feedback.rst
--- old/wayland-protocols-1.48/stable/linux-dmabuf/feedback.rst 2026-04-01 
13:46:29.000000000 +0200
+++ new/wayland-protocols-1.49/stable/linux-dmabuf/feedback.rst 2026-06-07 
15:06:32.000000000 +0200
@@ -31,10 +31,12 @@
    appropriate format/modifier and also to avoid allocating in private device
    memory when cross-device operations are going to happen.
 
-linux-dmabuf feedback implementation notes
-==========================================
+3. Starting with version 6, the assumption of a single main device is removed.
+   Clients should instead use the target device of any tranche marked with the
+   ``sampling`` flag instead.
 
-This section contains recommendations for client and compositor 
implementations.
+linux-dmabuf feedback implementation notes for version 4 and 5
+==============================================================
 
 For clients
 -----------
@@ -162,6 +164,29 @@
 compositor could insert an intermediate tranche if it's possible to use a
 mem2mem device to convert buffers to be able to use scan-out.
 
+linux-dmabuf feedback implementation nodes for version 6
+==========================================
+
+With version 6 of the protocol, most of the logic described for version 4 still
+stands, with a few exceptions:
+
+- the main device is no longer sent. If the client needs an equivalent to the
+  main device, the target device of the first tranche of the default feedback
+  with the ``sampling`` flag can be used.
+- compositors should send tranches with the ``sampling`` flag for all devices
+  they can sample from without triggering buffer migrations.
+- clients are strongly recommended to set the device they allocated buffers for
+  with ``wp_linux_buffer_params.set_sampling_device``. This avoids both 
implicit
+  buffer migrations and unnecessary copies by the compositor.
+- compositors should avoid directly importing buffers into devices other than 
the
+  one set by the client with the ``sampling`` device whenever possible, to 
avoid
+  implicit buffer migrations by the graphics driver (which can reduce 
performance
+  significantly)
+- if the compositor wishes a client to change which device it's rendering on, 
it
+  can change the order of tranches (and thus devices) in the per-surface 
feedback.
+  In response, clients that are capable of switching devices should re-allocate
+  on the first device they can use.
+
 ``dev_t`` encoding
 ==================
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wayland-protocols-1.48/stable/linux-dmabuf/linux-dmabuf-v1.xml 
new/wayland-protocols-1.49/stable/linux-dmabuf/linux-dmabuf-v1.xml
--- old/wayland-protocols-1.48/stable/linux-dmabuf/linux-dmabuf-v1.xml  
2026-04-01 13:46:29.000000000 +0200
+++ new/wayland-protocols-1.49/stable/linux-dmabuf/linux-dmabuf-v1.xml  
2026-06-07 15:06:32.000000000 +0200
@@ -24,7 +24,7 @@
     DEALINGS IN THE SOFTWARE.
   </copyright>
 
-  <interface name="zwp_linux_dmabuf_v1" version="5">
+  <interface name="zwp_linux_dmabuf_v1" version="6">
     <description summary="factory for creating dmabuf-based wl_buffers">
       This interface offers ways to create generic dmabuf-based wl_buffers.
 
@@ -61,7 +61,7 @@
       import later fails.
 
       To create a wl_buffer from one or more dmabufs, a client creates a
-      zwp_linux_dmabuf_params_v1 object with a 
zwp_linux_dmabuf_v1.create_params
+      zwp_linux_buffer_params_v1 object with a 
zwp_linux_dmabuf_v1.create_params
       request. All planes required by the intended format are added with
       the 'add' request. Finally, a 'create' or 'create_immed' request is
       issued, which has the following outcome depending on the import success.
@@ -105,7 +105,7 @@
         received.
       </description>
       <arg name="params_id" type="new_id" 
interface="zwp_linux_buffer_params_v1"
-           summary="the new temporary"/>
+           summary="id for the newly created zwp_linux_buffer_params_v1"/>
     </request>
 
     <event name="format" deprecated-since="4">
@@ -162,7 +162,7 @@
 
     <request name="get_default_feedback" since="4">
       <description summary="get default feedback">
-        This request creates a new wp_linux_dmabuf_feedback object not bound
+        This request creates a new zwp_linux_dmabuf_feedback_v1 object not 
bound
         to a particular surface. This object will deliver feedback about dmabuf
         parameters to use if the client doesn't support per-surface feedback
         (see get_surface_feedback).
@@ -172,11 +172,11 @@
 
     <request name="get_surface_feedback" since="4">
       <description summary="get feedback for a surface">
-        This request creates a new wp_linux_dmabuf_feedback object for the
+        This request creates a new zwp_linux_dmabuf_feedback_v1 object for the
         specified wl_surface. This object will deliver feedback about dmabuf
         parameters to use for buffers attached to this surface.
 
-        If the surface is destroyed before the wp_linux_dmabuf_feedback object,
+        If the surface is destroyed before the zwp_linux_dmabuf_feedback_v1 
object,
         the feedback object becomes inert.
       </description>
       <arg name="id" type="new_id" interface="zwp_linux_dmabuf_feedback_v1"/>
@@ -184,7 +184,7 @@
     </request>
   </interface>
 
-  <interface name="zwp_linux_buffer_params_v1" version="5">
+  <interface name="zwp_linux_buffer_params_v1" version="6">
     <description summary="parameters for creating a dmabuf-based wl_buffer">
       This temporary object is a collection of dmabufs and other
       parameters that together form a single logical buffer. The temporary
@@ -206,7 +206,7 @@
 
     <enum name="error">
       <entry name="already_used" value="0"
-             summary="the dmabuf_batch object has already been used to create 
a wl_buffer"/>
+             summary="the zwp_linux_buffer_params_v1 object has already been 
used to create a wl_buffer"/>
       <entry name="plane_idx" value="1"
              summary="plane index out of bounds"/>
       <entry name="plane_set" value="2"
@@ -222,6 +222,8 @@
       <entry name="invalid_wl_buffer" value="7"
              summary="invalid wl_buffer resulted from importing dmabufs via
                the create_immed request on given buffer_params"/>
+      <entry name="invalid_dev_t_size" value="8"
+             summary="an array with mismatching size for a dev_t was used"/>
     </enum>
 
     <request name="destroy" type="destructor">
@@ -282,7 +284,7 @@
         authoritative source on how the format codes should work.
 
         The 'flags' is a bitfield of the flags defined in enum "flags".
-        'y_invert' means the that the image needs to be y-flipped.
+        'y_invert' means that the image needs to be y-flipped.
 
         Flag 'interlaced' means that the frame in the buffer is not
         progressive as usual, but interlaced. An interlaced buffer as
@@ -326,7 +328,7 @@
         This request can be sent only once in the object's lifetime, after
         which the only legal request is destroy. This object should be
         destroyed after issuing a 'create' request. Attempting to use this
-        object after issuing 'create' raises ALREADY_USED protocol error.
+        object after issuing 'create' raises the ALREADY_USED protocol error.
 
         It is not mandatory to issue 'create'. If a client wants to
         cancel the buffer creation, it can just destroy this object.
@@ -346,7 +348,7 @@
         zwp_linux_buffer_params_v1 object.
       </description>
       <arg name="buffer" type="new_id" interface="wl_buffer"
-           summary="the newly created wl_buffer"/>
+           summary="id for the the newly created wl_buffer"/>
     </event>
 
     <event name="failed">
@@ -394,9 +396,28 @@
       <arg name="format" type="uint" summary="DRM_FORMAT code"/>
       <arg name="flags" type="uint" enum="flags" summary="see enum flags"/>
     </request>
+
+    <request name="set_sampling_device" since="6">
+      <description summary="set the target device of the wl_buffer">
+        Set the device the compositor should import the dmabufs to for sampling
+        in the next create or create_immed request.
+
+        To avoid race conditions when the compositor removes a device from the
+        tranches, it is not a protocol error if the device hasn't been 
advertised
+        by the compositor in a tranche with the sampling flag, but the import 
is
+        likely to fail in that case.
+
+        If the client doesn't know a suitable target device, it shouldn't set 
one,
+        and the compositor should attempt import on all devices it supports.
+
+        If the array is too small to contain a dev_t or larger than required, 
the
+        invalid_dev_t_size error will be emitted.
+      </description>
+      <arg name="device" type="array" summary="device dev_t value"/>
+    </request>
   </interface>
 
-  <interface name="zwp_linux_dmabuf_feedback_v1" version="5">
+  <interface name="zwp_linux_dmabuf_feedback_v1" version="6">
     <description summary="dmabuf feedback">
       This object advertises dmabuf parameters feedback. This includes the
       preferred devices and the supported formats/modifiers.
@@ -419,25 +440,28 @@
       descending order of preference. All formats and modifiers in the same
       tranche have the same preference.
 
-      To send parameters, the compositor sends one main_device event, tranches
-      (each consisting of one tranche_target_device event, one tranche_flags
-      event, tranche_formats events and then a tranche_done event), then one
-      done event.
+      To send parameters, the compositor sends one main_device event (unless
+      the client bound version 6 or above), tranches (each consisting of one
+      tranche_target_device event, one tranche_flags event, tranche_formats
+      events and then a tranche_done event), then one done event.
+
+      With version 6 and above, the compositor must always advertise at least
+      one tranche with the sampling flag set.
     </description>
 
     <request name="destroy" type="destructor">
       <description summary="destroy the feedback object">
         Using this request a client can tell the server that it is not going to
-        use the wp_linux_dmabuf_feedback object anymore.
+        use the zwp_linux_dmabuf_feedback_v1 object anymore.
       </description>
     </request>
 
     <event name="done">
       <description summary="all feedback has been sent">
-        This event is sent after all parameters of a wp_linux_dmabuf_feedback
+        This event is sent after all parameters of a 
zwp_linux_dmabuf_feedback_v1
         object have been sent.
 
-        This allows changes to the wp_linux_dmabuf_feedback parameters to be
+        This allows changes to the zwp_linux_dmabuf_feedback_v1 parameters to 
be
         seen as atomic, even if they happen via multiple events.
       </description>
     </event>
@@ -463,19 +487,19 @@
       <arg name="size" type="uint" summary="table size, in bytes"/>
     </event>
 
-    <event name="main_device">
+    <event name="main_device" deprecated-since="6">
       <description summary="preferred main device">
         This event advertises the main device that the server prefers to use
         when direct scan-out to the target device isn't possible. The
         advertised main device may be different for each
-        wp_linux_dmabuf_feedback object, and may change over time.
+        zwp_linux_dmabuf_feedback_v1 object, and may change over time.
 
         There is exactly one main device. The compositor must send at least
         one preference tranche with tranche_target_device equal to main_device.
 
         Clients need to create buffers that the main device can import and
         read from, otherwise creating the dmabuf wl_buffer will fail (see the
-        wp_linux_buffer_params.create and create_immed requests for details).
+        zwp_linux_buffer_params_v1.create and create_immed requests for 
details).
         The main device will also likely be kept active by the compositor,
         so clients can use it instead of waking up another device for power
         savings.
@@ -488,13 +512,16 @@
         If explicit modifiers are not supported and the client performs buffer
         allocations on a different device than the main device, then the client
         must force the buffer to have a linear layout.
+
+        With version 6 and above, this event is no longer sent. Clients should
+        use a device with the sampling flag in the tranches instead.
       </description>
       <arg name="device" type="array" summary="device dev_t value"/>
     </event>
 
     <event name="tranche_done">
       <description summary="a preference tranche has been sent">
-        This event splits tranche_target_device and tranche_formats events in
+        This event splits tranche_target_device and tranche_formats events into
         preference tranches. It is sent after a set of tranche_target_device
         and tranche_formats events; it represents the end of a tranche. The
         next tranche will have a lower preference.
@@ -516,11 +543,11 @@
 
         The client can use this hint to allocate the buffer in a way that makes
         it accessible from the target device, ideally directly. The buffer must
-        still be accessible from the main device, either through direct import
-        or through a potentially more expensive fallback path. If the buffer
-        can't be directly imported from the main device then clients must be
+        still be accessible from a device with the sampling flag, either 
through
+        direct import or a potentially more expensive fallback path. If the
+        buffer can't be directly imported for sampling, then clients must be
         prepared for the compositor changing the tranche priority or making
-        wl_buffer creation fail (see the wp_linux_buffer_params.create and
+        wl_buffer creation fail (see the zwp_linux_buffer_params_v1.create and
         create_immed requests for details).
 
         If the device is a DRM node, the DRM node type (primary vs. render) is
@@ -534,7 +561,7 @@
     </event>
 
     <event name="tranche_formats">
-      <description summary="supported buffer format modifier">
+      <description summary="supported buffer format modifiers">
         This event advertises the format + modifier combinations that the
         compositor supports.
 
@@ -558,25 +585,36 @@
         This event is tied to a preference tranche, see the tranche_done event.
 
         For the definition of the format and modifier codes, see the
-        wp_linux_buffer_params.create request.
+        zwp_linux_buffer_params_v1.create request.
       </description>
       <arg name="indices" type="array" summary="array of 16-bit indexes"/>
     </event>
 
     <enum name="tranche_flags" bitfield="true">
-      <entry name="scanout" value="1" summary="direct scan-out tranche"/>
+      <entry name="scanout" value="1" since="4">
+        <description summary="direct scan-out tranche">
+          The scanout flag is a hint that direct scan-out may be attempted by
+          the compositor on the target device if the client appropriately
+          allocates a buffer. How to allocate a buffer that can be scanned out
+          on the target device is implementation-defined.
+        </description>
+      </entry>
+      <entry name="sampling" value="2" since="6">
+        <description summary="sampling tranche">
+          The sampling flag describes that the compositor is able to 
efficiently
+          sample from buffers imported to the target device if the client
+          appropriately allocates a buffer. How to allocate a buffer that can 
be
+          efficiently sampled on the target device is implementation defined.
+        </description>
+      </entry>
     </enum>
 
     <event name="tranche_flags">
       <description summary="tranche flags">
-        This event sets tranche-specific flags.
-
-        The scanout flag is a hint that direct scan-out may be attempted by the
-        compositor on the target device if the client appropriately allocates a
-        buffer. How to allocate a buffer that can be scanned out on the target
-        device is implementation-defined.
-
-        This event is tied to a preference tranche, see the tranche_done event.
+        This event sets tranche-specific flags. This event is tied to a
+        preference tranche, see the tranche_done event.
+        With version 6 and above, the compositor must set at least one flag
+        in each tranche.
       </description>
       <arg name="flags" type="uint" enum="tranche_flags" summary="tranche 
flags"/>
     </event>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wayland-protocols-1.48/stable/xdg-shell/xdg-shell.xml 
new/wayland-protocols-1.49/stable/xdg-shell/xdg-shell.xml
--- old/wayland-protocols-1.48/stable/xdg-shell/xdg-shell.xml   2026-04-01 
13:46:29.000000000 +0200
+++ new/wayland-protocols-1.49/stable/xdg-shell/xdg-shell.xml   2026-06-07 
15:06:32.000000000 +0200
@@ -75,17 +75,16 @@
 
     <request name="get_xdg_surface">
       <description summary="create a shell surface from a surface">
-       This creates an xdg_surface for the given surface. While xdg_surface
-       itself is not a role, the corresponding surface may only be assigned
-       a role extending xdg_surface, such as xdg_toplevel or xdg_popup. It is
-       illegal to create an xdg_surface for a wl_surface which already has an
-       assigned role and this will result in a role error.
-
        This creates an xdg_surface for the given surface. An xdg_surface is
        used as basis to define a role to a given surface, such as xdg_toplevel
        or xdg_popup. It also manages functionality shared between xdg_surface
        based surface roles.
 
+       While xdg_surface itself is not a role, the corresponding surface may
+       only be assigned a role extending xdg_surface, such as xdg_toplevel or
+       xdg_popup. It is illegal to create an xdg_surface for a wl_surface which
+       already has anassigned role and this will result in a role error.
+
        See the documentation of xdg_surface for more details about what an
        xdg_surface is and how it is used.
       </description>
@@ -201,14 +200,14 @@
     <request name="set_anchor">
       <description summary="set anchor rectangle anchor">
        Defines the anchor point for the anchor rectangle. The specified anchor
-       is used derive an anchor point that the child surface will be
+       is used to derive an anchor point that the child surface will be
        positioned relative to. If a corner anchor is set (e.g. 'top_left' or
        'bottom_right'), the anchor point will be at the specified corner;
        otherwise, the derived anchor point will be centered on the specified
        edge, or in the center of the anchor rectangle if no edge is specified.
       </description>
       <arg name="anchor" type="uint" enum="anchor"
-          summary="anchor"/>
+          summary="anchor point"/>
     </request>
 
     <enum name="gravity">
@@ -380,7 +379,7 @@
     </request>
 
     <request name="set_parent_size" since="3">
-      <description summary="">
+      <description summary="set parent size">
        Set the parent window geometry the compositor should use when
        positioning the popup. The compositor may use this information to
        determine the future state the popup should be constrained using. If
@@ -505,8 +504,8 @@
        xdg_popup is and how it is used.
       </description>
       <arg name="id" type="new_id" interface="xdg_popup"/>
-      <arg name="parent" type="object" interface="xdg_surface" 
allow-null="true"/>
-      <arg name="positioner" type="object" interface="xdg_positioner"/>
+      <arg name="parent" type="object" interface="xdg_surface" 
allow-null="true" summary="parent surface for this popup"/>
+      <arg name="positioner" type="object" interface="xdg_positioner" 
summary="positioner for this popup"/>
     </request>
 
     <request name="set_window_geometry">
@@ -552,10 +551,10 @@
        greater than zero. Setting an invalid size will raise an
        invalid_size error.
       </description>
-      <arg name="x" type="int"/>
-      <arg name="y" type="int"/>
-      <arg name="width" type="int"/>
-      <arg name="height" type="int"/>
+      <arg name="x" type="int" summary="x coordinate of the top-left corner of 
the window inside this surface"/>
+      <arg name="y" type="int" summary="y coordinate of the top-left corner of 
the window inside this surface"/>
+      <arg name="width" type="int" summary="width of the window"/>
+      <arg name="height" type="int" summary="height of the window"/>
     </request>
 
     <request name="ack_configure">
@@ -628,7 +627,7 @@
       id, and well as trigger user interactive operations such as interactive
       resize and move.
 
-      A xdg_toplevel by default is responsible for providing the full intended
+      An xdg_toplevel by default is responsible for providing the full intended
       visual representation of the toplevel, which depending on the window
       state, may mean things like a title bar, window controls and drop shadow.
 
@@ -684,7 +683,7 @@
        descendants, and the parent must be different from the child toplevel,
        otherwise the invalid_parent protocol error is raised.
       </description>
-      <arg name="parent" type="object" interface="xdg_toplevel" 
allow-null="true"/>
+      <arg name="parent" type="object" interface="xdg_toplevel" 
allow-null="true" summary="parent surface for this surface"/>
     </request>
 
     <request name="set_title">
@@ -697,7 +696,7 @@
 
        The string must be encoded in UTF-8.
       </description>
-      <arg name="title" type="string"/>
+      <arg name="title" type="string" summary="title of the surface"/>
     </request>
 
     <request name="set_app_id">
@@ -726,7 +725,7 @@
 
        [0] https://standards.freedesktop.org/desktop-entry-spec/
       </description>
-      <arg name="app_id" type="string"/>
+      <arg name="app_id" type="string" summary="application identifier surface 
belongs to"/>
     </request>
 
     <request name="show_window_menu">
@@ -981,11 +980,11 @@
        a surface is illegal and will result in an invalid_size error.
 
        The width and height must be greater than or equal to zero. Using
-       strictly negative values for width or height will result in a
+       strictly negative values for width or height will result in an
        invalid_size error.
       </description>
-      <arg name="width" type="int"/>
-      <arg name="height" type="int"/>
+      <arg name="width" type="int" summary="maximum width of the window"/>
+      <arg name="height" type="int" summary="maximum height of the window"/>
     </request>
 
     <request name="set_min_size">
@@ -1021,11 +1020,11 @@
        a surface is illegal and will result in an invalid_size error.
 
        The width and height must be greater than or equal to zero. Using
-       strictly negative values for width and height will result in a
+       strictly negative values for width and height will result in an
        invalid_size error.
       </description>
-      <arg name="width" type="int"/>
-      <arg name="height" type="int"/>
+      <arg name="width" type="int" summary="minimum width of the window"/>
+      <arg name="height" type="int" summary="minimum height of the window"/>
     </request>
 
     <request name="set_maximized">
@@ -1095,7 +1094,7 @@
 
        If the surface doesn't cover the whole output, the compositor will
        position the surface in the center of the output and compensate with
-       with border fill covering the rest of the output. The content of the
+       border fill covering the rest of the output. The content of the
        border fill is undefined, but should be assumed to be in some way that
        attempts to blend into the surrounding area (e.g. solid black).
 
@@ -1104,7 +1103,7 @@
        up of subsurfaces, popups or similarly coupled surfaces) are not
        visible below the fullscreened surface.
       </description>
-      <arg name="output" type="object" interface="wl_output" 
allow-null="true"/>
+      <arg name="output" type="object" interface="wl_output" allow-null="true" 
summary="preferred output to place surface on"/>
     </request>
 
     <request name="unset_fullscreen">
@@ -1161,12 +1160,15 @@
        arguments should be interpreted, and possibly how it should be
        drawn.
 
+       The states are sent as an array of 32-bit unsigned integers in
+       native endianness. State values are defined in the state enum.
+
        Clients must send an ack_configure in response to this event. See
        xdg_surface.configure and xdg_surface.ack_configure for details.
       </description>
-      <arg name="width" type="int"/>
-      <arg name="height" type="int"/>
-      <arg name="states" type="array"/>
+      <arg name="width" type="int" summary="suggested width of window"/>
+      <arg name="height" type="int" summary="suggested height of window"/>
+      <arg name="states" type="array" summary="suggested states of the 
window"/>
     </event>
 
     <event name="close">
@@ -1202,8 +1204,8 @@
        xdg_toplevel.configure_bounds will be sent, followed by
        xdg_toplevel.configure and xdg_surface.configure.
       </description>
-      <arg name="width" type="int"/>
-      <arg name="height" type="int"/>
+      <arg name="width" type="int" summary="suggested maximum width of 
surface"/>
+      <arg name="height" type="int" summary="suggested maximum height of 
surface"/>
     </event>
 
     <!-- Version 5 additions -->
@@ -1236,7 +1238,7 @@
        xdg_surface.configure for details.
 
        The capabilities are sent as an array of 32-bit unsigned integers in
-       native endianness.
+       native endianness. Capability values are defined in the wm_capabilities 
enum.
       </description>
       <arg name="capabilities" type="array" summary="array of 32-bit 
capabilities"/>
     </event>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wayland-protocols-1.48/staging/color-management/color-management-v1.xml 
new/wayland-protocols-1.49/staging/color-management/color-management-v1.xml
--- old/wayland-protocols-1.48/staging/color-management/color-management-v1.xml 
2026-04-01 13:46:29.000000000 +0200
+++ new/wayland-protocols-1.49/staging/color-management/color-management-v1.xml 
2026-06-07 15:06:32.000000000 +0200
@@ -77,7 +77,7 @@
     only be done by creating a new major version of the extension.
   </description>
 
-  <interface name="wp_color_manager_v1" version="2">
+  <interface name="wp_color_manager_v1" version="3">
     <description summary="color manager singleton">
       A singleton global interface used for getting color management extensions
       for wl_surface and wl_output objects, and for creating client defined
@@ -164,6 +164,8 @@
       </entry>
       <entry name="windows_scrgb" value="7"
              summary="create_windows_scrgb request"/>
+      <entry name="windows_bt2100" value="8"
+             summary="create_windows_bt2100 request"/>
     </enum>
 
     <enum name="primaries">
@@ -595,9 +597,41 @@
       <arg name="reference"
            type="object" interface="wp_image_description_reference_v1"/>
     </request>
+
+    <request name="create_windows_bt2100" since="3">
+      <description summary="create Windows-BT.2100 image description object">
+        This creates a pre-defined image description for the so-called
+        Windows-BT.2100 stimulus encoding. This comes from the Windows 10
+        handling of its own definition of a BT.2100 color space for an HDR
+        screen driven in BT.2100/PQ signalling mode.
+
+        Windows-BT.2100 uses BT.2020 color primaries and white point.
+        The transfer characteristic is st2084_pq.
+
+        Windows-BT.2100 is generally displayed by Windows 10 without any
+        adjustments to the signal to account for viewing conditions.
+
+        The reference white level of Windows-BT.2100 is unknown. If a
+        reference white level must be assumed for compositor processing, it
+        should be 203 cd/m² of Report ITU-R BT.2408-7.
+
+        The target color volume of Windows-BT.2100 is unknown. The color gamut
+        may be anything up to BT.2100.
+
+        This request can be used when the compositor advertises
+        wp_color_manager_v1.feature.windows_bt2100.
+        Otherwise this request raises the protocol error unsupported_feature.
+
+        The resulting image description object does not allow get_information
+        request. The wp_image_description_v1.ready event shall be sent.
+      </description>
+
+      <arg name="image_description"
+           type="new_id" interface="wp_image_description_v1"/>
+      </request>
   </interface>
 
-  <interface name="wp_color_management_output_v1" version="2">
+  <interface name="wp_color_management_output_v1" version="3">
     <description summary="output color properties">
       A wp_color_management_output_v1 describes the color properties of an
       output.
@@ -667,7 +701,7 @@
     </request>
   </interface>
 
-  <interface name="wp_color_management_surface_v1" version="2">
+  <interface name="wp_color_management_surface_v1" version="3">
     <description summary="color management extension to a surface">
         A wp_color_management_surface_v1 allows the client to set the color
         space and HDR properties of a surface.
@@ -755,7 +789,7 @@
     </request>
   </interface>
 
-  <interface name="wp_color_management_surface_feedback_v1" version="2">
+  <interface name="wp_color_management_surface_feedback_v1" version="3">
     <description summary="color management extension to a surface">
         A wp_color_management_surface_feedback_v1 allows the client to get the
         preferred image description of a surface.
@@ -873,7 +907,7 @@
 
   </interface>
 
-  <interface name="wp_image_description_creator_icc_v1" version="2">
+  <interface name="wp_image_description_creator_icc_v1" version="3">
     <description summary="holder of image description ICC information">
       This type of object is used for collecting all the information required
       to create a wp_image_description_v1 object from an ICC file. A complete
@@ -989,7 +1023,7 @@
     </request>
   </interface>
 
-  <interface name="wp_image_description_creator_params_v1" version="2">
+  <interface name="wp_image_description_creator_params_v1" version="3">
     <description summary="holder of image description parameters">
       This type of object is used for collecting all the parameters required
       to create a wp_image_description_v1 object. A complete set of required
@@ -1363,7 +1397,7 @@
     </request>
   </interface>
 
-  <interface name="wp_image_description_v1" version="2">
+  <interface name="wp_image_description_v1" version="3">
     <description summary="Colorimetric image description">
       An image description carries information about the pixel color encoding
       and its intended display and viewing environment. The image description 
is
@@ -1510,7 +1544,7 @@
     </event>
   </interface>
 
-  <interface name="wp_image_description_info_v1" version="2">
+  <interface name="wp_image_description_info_v1" version="3">
     <description summary="Colorimetric image description information">
       Sends all matching events describing an image description object exactly
       once and finally sends the 'done' event.
@@ -1702,7 +1736,7 @@
     </event>
   </interface>
 
-  <interface name="wp_image_description_reference_v1" version="1">
+  <interface name="wp_image_description_reference_v1" version="1" 
frozen="true">
     <description summary="Reference to an image description">
       This object is a reference to an image description. This interface is
       frozen at version 1 to allow other protocols to create
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wayland-protocols-1.48/staging/ext-image-capture-source/ext-image-capture-source-v1.xml
 
new/wayland-protocols-1.49/staging/ext-image-capture-source/ext-image-capture-source-v1.xml
--- 
old/wayland-protocols-1.48/staging/ext-image-capture-source/ext-image-capture-source-v1.xml
 2026-04-01 13:46:29.000000000 +0200
+++ 
new/wayland-protocols-1.49/staging/ext-image-capture-source/ext-image-capture-source-v1.xml
 2026-06-07 15:06:32.000000000 +0200
@@ -39,7 +39,7 @@
     only be done by creating a new major version of the extension.
   </description>
 
-  <interface name="ext_image_capture_source_v1" version="1">
+  <interface name="ext_image_capture_source_v1" version="1" frozen="true">
     <description summary="opaque image capture source object">
       The image capture source object is an opaque descriptor for a capturable
       resource.  This resource may be any sort of entity from which an image
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/wayland-protocols-1.48/staging/xdg-session-management/xdg-session-management-v1.xml
 
new/wayland-protocols-1.49/staging/xdg-session-management/xdg-session-management-v1.xml
--- 
old/wayland-protocols-1.48/staging/xdg-session-management/xdg-session-management-v1.xml
     2026-04-01 13:46:29.000000000 +0200
+++ 
new/wayland-protocols-1.49/staging/xdg-session-management/xdg-session-management-v1.xml
     2026-06-07 15:06:32.000000000 +0200
@@ -96,12 +96,12 @@
       </entry>
       <entry name="recover" value="2">
         <description summary="an app recovered">
-          A app instance is recovering from for example a compositor or app 
crash.
+          An app instance is recovering from for example a compositor or app 
crash.
         </description>
       </entry>
       <entry name="session_restore" value="3">
         <description summary="an app restored">
-          A app instance is restored, for example part of a restored session, 
or
+          An app instance is restored, for example part of a restored session, 
or
           restored from having been temporarily terminated due to resource
           constraints.
         </description>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/wayland-protocols-1.48/tests/meson.build 
new/wayland-protocols-1.49/tests/meson.build
--- old/wayland-protocols-1.48/tests/meson.build        2026-04-01 
13:46:29.000000000 +0200
+++ new/wayland-protocols-1.49/tests/meson.build        2026-06-07 
15:06:32.000000000 +0200
@@ -22,9 +22,12 @@
 add_languages('c', 'cpp', native: false)
 replace = find_program('replace.py')
 
-extra_linker_flags = meson.get_compiler('c').get_supported_link_arguments([
-       '-Wl,--unresolved-symbols=ignore-all',
-])
+# First pass: generate scanner outputs for each protocol and record the
+# generated custom_targets for use when building test executables.
+protocol_code = {}
+protocol_client_header = {}
+protocol_server_header = {}
+protocol_replace_command = {}
 
 foreach protocol_file : protocol_files
        xml_file = fs.name(protocol_file)
@@ -75,7 +78,10 @@
                install: false,
        )
 
-       replace_command = [
+       protocol_code += {protocol_file: code}
+       protocol_client_header += {protocol_file: client_header}
+       protocol_server_header += {protocol_file: server_header}
+       protocol_replace_command += {protocol_file: [
                replace,
                '@INPUT@',
                '@OUTPUT@',
@@ -83,7 +89,22 @@
                client_header.full_path(),
                'PROTOCOL_SERVER_INCLUDE_FILE',
                server_header.full_path(),
-       ]
+       ]}
+endforeach
+
+# Second pass: build test executables, linking in dependency code.
+foreach protocol_file : protocol_files
+       client_header = protocol_client_header[protocol_file]
+       server_header = protocol_server_header[protocol_file]
+       code = protocol_code[protocol_file]
+       replace_command = protocol_replace_command[protocol_file]
+
+       dep_code = []
+       if protocol_file in protocol_deps
+               foreach dep : protocol_deps[protocol_file]
+                       dep_code += [protocol_code[dep]]
+               endforeach
+       endif
 
        # Check that header can be included by a pedantic C99 compiler
        test_name = 
'test-build-pedantic-@0@'.format(protocol_file.underscorify())
@@ -100,9 +121,8 @@
                        test_source,
                        client_header,
                        server_header,
-                       code
-               ],
-               link_args: extra_linker_flags,
+                       code,
+               ] + dep_code,
                dependencies: libwayland,
                c_args: [
                        '-std=c99',
@@ -129,9 +149,8 @@
                                test_source,
                                client_header,
                                server_header,
-                       ],
-                       link_args: extra_linker_flags,
-                       dependencies: libwayland,
+                       ] + dep_code,
+                                       dependencies: libwayland,
                        cpp_args: [
                                '-Wall',
                                '-Werror',

++++++ wayland-protocols.keyring ++++++
Binary files /var/tmp/diff_new_pack.ZVPTwz/_old and 
/var/tmp/diff_new_pack.ZVPTwz/_new differ

Reply via email to