Mir release v2.26.0

We’re pleased to announce the release of Mir 2.26.0. This includes bugfixes and improvements in a number of areas.

We’ve been working on the implementation of ext_image_copy_capture_v1 and have implemented the draft input-triggers protocols. These are privileged (and so not available by default).

There’s also been work on a Rust based input platform: this is not the default and (in this release) not quite ready but proves our strategy for integrating Rust code into Mir.

We would also like to call out the number of first time contributors listed below. Thank you all, and also all our existing contributors: Mir is growing because of your efforts.

ABI summary:

  • mircommon ABI bumped to 12
  • mirserver ABI bumped to 67

Enhancements:

  • [evdev-rs] Implementing touch events in the evdev-rs platform #4671
  • [evdev-rs] Fix missing initial events in evdev-rs #4780
  • [evdev-rs] Add input event reporting to the evdev-rs input platform #4769
  • [evdev-rs] Cleanup of the device module in evdev-rs #4722
  • [evdev-rs] Fix evdev-rs pointer events by moving button state to per-device storage #4680
  • [evdev-rs] Refactor the event processing logic in evdev-rs to increase clarity #4740
  • [wayland-rs] Started implementing Wayland frontend in Rust
  • Allow CursorObservers to monitor when the cursor image changes #4579
  • Add requires clauses to libmiral templates #4764
  • [Wayland] ext-input-triggers - MVP (V1) #4328
  • [Wayland] Implement ext-input-triggers #4410
  • [Wayland] Update ext-input-trigger-action-v1.xml to add more details about token validity and availability #4770
  • [Wayland] Partial implementation of ext_image_copy_capture_v1 cursor sessions #4632
  • [Wayland] Send the cursor image via ext_image_copy_capture_v1 #4685
  • feature: replace strerror() with thread safe version(strerror_r()) #4590
  • feature: Move logging APIs (and defaults) to mircore #4644
  • CursorObserverMultiplexer sends the initial state to newly registered CursorObservers #4662
  • Refactor MinimalWindowManager for better specialization #4666
  • Add the ability to set the alpha of a Window and retrieve it via WindowInfo #4704

Bugs fixed:

  • BasicXCBConnection::destroy_window calls xcb_map_window instead of xcb_destroy_window #4560
  • XCB replies not always freed #4559
  • Making videos fullscreen in Google Chrome fails if the window isn’t already fullscreen #4688
  • [X11] Set _NET_CLIENT_LIST_STACKING #2023
  • Fatal signal handling is wildly unsafe #2658
  • DRM_CLIENT_CAP_ATOMIC check is performed with wrong ioctl call #4774
  • Clean up and improve mgk::find_crtc_with_primary_plane #3972
  • If a surface has an opaque region BUT the alpha is not 1.0, then we shouldn’t use it as an occlusion #4696

New Contributors

2 Likes