Mir 2.26¶
16 April 2026
What’s new in Mir 2.26.0¶
Touch input in the Rust evdev platform¶
The Rust evdev input platform now handles touch events and reports input events (#4671, #4769). Initial events are no longer lost, and pointer button state is stored per device, avoiding interference between devices (#4780, #4680). The device module and event processing are reorganized to support continued development (#4722, #4740). Work also begins on a Rust Wayland frontend.
Input triggers and cursor capture¶
Mir introduces the first implementation of the ext-input-triggers protocols, with clarified action-token validity and availability (#4328, #4410, #4770).
Cursor sessions in ext_image_copy_capture_v1 are partially implemented and can send the cursor image (#4632, #4685).
Window transparency and cursor observation¶
Compositors can set a window’s alpha and retrieve it through WindowInfo (#4704).
Cursor observers can monitor image changes and receive the initial cursor state when registered (#4579, #4662).
Minor features¶
Compositor development¶
MinimalWindowManager is refactored for easier specialization (#4666).
MirAL templates gain requires clauses (#4764).
Logging APIs and defaults move to mircore (#4644), and error-string conversion uses thread-safe strerror_r() (#4590).
Window and display fixes¶
X11 window destruction uses the correct request, and XCB replies are freed (#4560, #4559).
Fullscreen video in Google Chrome works even when the window was not already fullscreen (#4688).
X11 publishes
_NET_CLIENT_LIST_STACKING(#2023).Fatal signal handling is made safer (#2658).
The atomic KMS capability check uses the correct ioctl, and primary-plane CRTC selection is improved (#4774, #3972).
Transparent surfaces are not treated as fully occluding other content merely because they declare an opaque region (#4696).
New contributors¶
First contributions in this release come from @DiegoOst (#4572), @magedss (#4582), @aliihsancengiz (#4591), @thomaskroi1996 (#4576), @DigraJatin (#4593), @pierre-l (#4697), @yotam-medini (#4750), and @krzysztof-buczak-red (#4776).