The Mir team is happy to announce the release of Mir 2.17.0. This is a long-awaited release containing many new exciting features and bugfixes.
ABI summary
- miral ABI bumped to 7
- mircommon ABI bumped to 10
- mircookie has been removed
- mircore ABI unchanged at 2
- miroil ABI bumped to 5
- mirplatform ABI bumped to 28
- mirserver ABI bumped to 60
- mirwayland ABI bumped to 5
- mirplatformgraphics ABI bumped to 22
- mirinputplatform ABI bumped to 9
Enhancements
- [Wayland] wlr foreign toplevel management protocol returns the desktop id as the app_id if it can. (PR: #3147)
- [Wayland] Prototype an implementation of the mir-shell protocol (PR: #3166)
- [Wayland] Add support for zwlr_layer_surface_v1::set_exclusive_zone(-1) (Fixes: #1992)
- [Wayland] Add support for wl_surface enter/leave events. (Fixes: #342)
- [platforms] Much better display and graphics platform selection, especially for hybrid and Nvidia systems. (PR: #3220)
- [input] Add HW cursor support. (Fixes #3198)
- [miral] Add support for logind lock and unlock so that compositors may implement some behavior in response to these signals, like showing a lockscreen. (PR: #3232)
- [miral] Provide a mechanism to allow 3rd-party compositors to override the renderer in miral. (PR: #3338)
- [mirserver] Provide access to the Surface from the Renderable. (PR: #3355)
- [window management] Foating window manager places new windows at an offset from the previously opened window. (Fixes #3175)
- [snap] Build mir-libs for both core22 and core24. (PR: #3364)
- [snap] Drop snap support for 23.04. (PR: #3208)
- [doc] Move documentation from Discourse to readthedocs. (PR: #3311)
- [misc] Add support for floating point command line options. (PR: #3324)
Packaging changes
- Remove mircookie. (PR: #3178)
- Add libmirserver-internal-dev. (PR: #3288)
- Add mircommon-internal-dev. (PR: #3328)
Bugs fixed
- [window management] Fix dragging and resizing of satellite windows. (PR: #3156)
- [Wayland] wlr layer shell surfaces that are east/west attached always push north/south attached surfaces out of the way. (Fixes: #3128)
- [graphics platforms] Fix changing scale at runtime leading to misrendering (Fixes: #3165)
- [rendering] Sever-side decorations are now scale-aware (Fixes: #1369)
- [rendering] Fix transformation for Layout::TopRowFirst in the renderer. (Fixes: #3185)
- [XWayland] No longer killing X11 apps whose pop-ups don’t support WM_DELETE_WINDOW. (Fixes: #3177)
- [rendering] When the layout of the texture disagrees with the layout of the output surface, then the clip area needs to be modified. (Fixes: #3201)
- [graphics platforms] Allow for multiple RenderingPlatforms of each type. (Fixes: #3205)
- [window management] Alt + grave implements the same window cycling behavior as alt + tab. (PR: #3216)
- [Wayland] Wrapper generator no longer ignores requests with destructor attribute. (Fixes: #3241)
- [graphics platforms] Ignore zero-length gamma curves on the gbm-kms platform, which are seen after the display wakes up. (Fixes: #3238)
- [graphics platforms] No longer assume that a mir:virtual platform exists. (Fixes: #3261)
- [Wayland] Add a quirk to the DesktopFileManager’s resolution of gnome-terminal-server (PR: #3264)
- [Wayland] Fix the clip area in the renderer so that wlr-screencopy-unstable-v1 outputs the correct image (Fixes: #3236)
- [graphics platforms] Fix for eglQueryDmaBufModifiersEXT spuriously returning EGL_BAD_PARAMETER for a few formats on the Nvidia platform (Fixes: #3278)
- [Wayland] Fix incorrect screenshots on rotated displays (Fixes: #3259)
- [misc] Fix propagation of custom attributes on outputs. (Fixes: Not respecting snap-name · Issue #172 · canonical/ubuntu-frame · GitHub)
- [window management] Fix positioning of satellite windows. (PR: #3313)
- [rendering] Major simplification of surface buffering. (PR: #3316)
- [Wayland] Fix race in virtual-pointer-v1 destruction (Fixes: #3300)
- [graphics platforms] Fix hang on Nvidia platform when a display configuration is detected. (Fixes: #3375)