Skip to content

Releases: canonical/mir

Release 2.23.0

13 Oct 14:11

Choose a tag to compare

A big focus on documentation.

ABI summary:

  • mirplatform ABI bumped to 33

Enhancements:

  • Clearer naming in mirplatform API (#4293, #4316)

Bugs fixed:

  • Don't close the magnifier whenever live config settings are reloaded (#4308)
  • libmiral should have no public dependency on libmircommon (#4303)
  • mirwayland should not have public dependencies on mircommon (#4313)
  • Frame segfault in miral::WindowManagementTrace::place_and_size_for_state (#4281)
  • Fill out missing input options in live config (#4133)
  • graphics: pass correct options to manually-selected platforms (#4130)
  • Check for EGL_WL_bind_wayland_display when probing EGLStream display platform (#4147)

Documentation:

  • Add a --help-markdown flag to generate documentation (#4287)
  • Fix checkbox cross-references
  • Documentation for miral::WindowSpecification (#4258)
  • Exiting with help text output is success (#4285)
  • Documentation for miral::WindowManagerTools (#4254)
  • Use more markdown in configuration options (#4277)
  • Rename the graphics support docs to platform support (#4236)
  • Documentation for mg::Framebuffer (#4265)
  • Adopt the standard home page in Mir (#4259)
  • Customize the descriptions of the configuring and contributing index pages (#4263)
  • Documentation for mg::software::BufferDescriptor (#4266)
  • Documentation for mg::NativeBufferBase (#4269)
  • Documentation for mg::Buffer (#4250)
  • Documentation for miral::InternalClient (#4268)
  • Documentation for miral::Zone (#4264)
  • Documentation about the input platform (#4077)
  • Rework "Introducing the Miral API" (#4255)
  • Documentation for miral::Output (#4261)
  • Documentation for miral::ExternalClientLauncher (#4243)
  • Standardize header titles on Sentence case (#4256)
  • Documentation for miral::WindowManagementPolicy (#4245)
  • Adopt standard landing pages for Mir (#4260)
  • Documentation for miral::MirRunner (#4246)
  • Documentation for miral::Window (#4218)
  • Documentation for miral::PrependEventFilter (#4247)
  • Documentation for miral::CursorScale (#4230)
  • Documentation for miral::DisplayConfiguration (#4234)
  • Documentation for miral::ConfigurationOption (#4229)
  • Documentation for miral::CursorTheme (#4231)
  • Update argument descriptions for consistency and clarity (#4212)
  • Documentation for miral::AddInitCallback (#4227)
  • Use tabs instead of separate sections for "Install Dependencies" (#4223)
  • Documentation for miral::WindowInfo (#4224)
  • Documentation for miral::ApplicationInfo (#4213)
  • Add "Using Mir to build a Desktop Environment" (#4214)
  • Convert the C++ style guide to markdown (#4203)
  • Remove the 'developing a wayland compositor using mir' how-to (#4190)
  • Add "How to debug Mir Snaps" page (#4208)
  • Refresh documentation around "high level" architecture (#4210)
  • Documentation for custom protocols + remove egmde reference (#4191)
  • Adding alt text to all relevant media items (#4197)
  • Fix inconsistent capitalization of program option descriptions (#4192)
  • Move "How To Enable Screencasting" to configuration (where it belongs) (#4188)
  • Split documentation by audience (#4169)
  • Refactor the getting-started-with-mir tutorial to improve language + split how some how-tos (#4173)

2.22.2

27 Sep 09:25
v2.22.2
dec7ca6

Choose a tag to compare

Bugs fixed:

  • Revert "Check DRM for supported formats (#3950)" (#4294)

v2.22.1

16 Sep 10:53
v2.22.1
f36cab6

Choose a tag to compare

Bugs fixed:

  • debian: drop extra symbol (#4153)
  • Fix some memory leaks (#4158)
  • Changing cursor_scale causes weird cursors and crashes (#4157)
  • on Ubuntu 25.10 wf-recorder y-inverts some frames (#4160)
  • use-pkgconfig-better (#4194)
  • Check for WL_bind_wayland_display when probing eglstream-kms support
    platform (#4155)
  • Platform-specific options not passed through if platforms not probed
    (#4130)
  • mircommon: Add xkbcommon to pkgconfig dependency (#4240)

v2.22.0

26 Aug 10:26
v2.22.0
928059b

Choose a tag to compare

Breaking changes:

  • Consolidation of EDID parsing
    • User-.. and DisplayConfigurationOutput::edid replaced with ::display_info
    • mir::graphics::Edid removed
    • miroil::Edid::Descriptor removed
  • Nvidia 565+ breaks EGLStream support (#4147)
    Use --platform-display-libs mir:atomic-kms --platform-rendering-libs mir:gbm-kms to use our (unstable) Nvidia-on-GBM support.
    We'll follow up with a point release to make this the default.

ABI summary:

  • miral ABI unchanged at 7
  • mircommon ABI unchanged at 11
  • mircore ABI unchanged at 2
  • miroil ABI bumped to 8
  • mirplatform ABI bumped to 32
  • mirserver ABI bumped to 65
  • mirwayland ABI unchanged at 5
  • mirplatformgraphics ABI unchanged at 23
  • mirinputplatform ABI unchanged at 10

Enhancements:

  • static_config_display: add property-based display config support (#3872)
  • Implement Simulated Secondary Click (#3873)
  • DRM: Explicit synchorisation support (#3717)
  • live configuration facilities (#3995)
  • Atomic KMS: enable bypass (#3595)
  • fix: move minimized windows to the back of the Z stack (#4000)
  • Implement the 'overlay_cursor' flag for WlrScreencopy (#4013)
  • Support Nvidia through the atomic-kms/gbm platforms (#3979, #4060, #4070)
  • Implement hover click (#3928)
  • server: add --vt-switching option (#4033)
  • Improve support for bespoke Wayland extensions (#4018)
  • Update linux_dmabuf_v1 to version 5. (#4001)
  • Implement bounce keys (#3934)
  • Implement slow keys (#3945)
  • Implement magnifier accessibility feature (#3976)
  • feature: implement sticky keys accessibility feature (#4076)
  • Integrate some Rust code into the Mir build (#4022)
  • (#4078) package mir-platform-graphics-stub and mir-platform-input-stub (#4080)
  • graphics: introduce EDID parsing in DisplayConfigurationOutput (#4099)
  • Add live_config support to miral::Keymap (#4088)
  • Add tracking keymap from locale1 (#4111)

Bugs fixed:

  • Don't raise the parent of windows sent to the back (#4008)
  • Update wl_output::geometry to include the correct transformation (#4062)
  • BasicScreenshooter does not take the output transformation into account (#4086)
  • Screenshots wrong when display rotated (again) (#3909)
  • Docking kgx left/right in miriway is misplaced (#4023)

Documentation:

  • HACKING.md: Add some intructions for MESA debugging (#3992)
  • doc: add Debugging section to CI docs (#4034)

v2.21.1

10 Jul 11:41

Choose a tag to compare

Incorporate fixes needed to build for Ubuntu 25.10

Bugs fixed:

  • binutils 2.44.50.20250616 for arm64 still breaks LTO builds
  • Turn off workaround for now-fixed GLib bug

v2.21.0

26 Jun 15:07
v2.21.0
319654a

Choose a tag to compare

ABI summary:

  • miral ABI unchanged at 7
  • mircommon ABI unchanged at 11
  • mircore ABI unchanged at 2
  • miroil ABI unchanged at 7
  • mirplatform ABI bumped to 31
  • mirserver ABI bumped to 64
  • mirwayland ABI unchanged at 5
  • mirplatformgraphics ABI unchanged at 23
  • mirinputplatform ABI unchanged at 10

Enhancements:

  • Cursor Scaling Support (#3735)
  • Implement mousekeys (#3757)
  • Add key repeat rate/delay config options and properly merge config settings (#3830)
  • feature: add the ability to associate a layout with custom user data (#3869)
  • static_display_config: add display properties to output (#3903)
  • feature: implement xdg toplevel tiled states (#3920)
  • Update of core wayland extensions (#3927)
  • feature: refactor BasicSurface so that it can be used internally by shell authors (#3948)
  • Check DRM for supported formats (#3950)
  • Add an output filter for the purposes of accessibility (#3911)

Bugs fixed:

  • Texture allocation happens with an incorrect context for the renderer that needs it (#3933)

Documentation:

  • Screencasting how-to (#3874)
  • How to speed up compilation using ccache and mold (#3946)

Testing:

Deprecations:

  • Deprecate "persistent" surface IDs (#3852)

v2.20.2

16 Apr 08:25

Choose a tag to compare

Bugs fixed:

  • Add ending gestures to miroil (Fixes #3845)

v2.20.1

20 Mar 11:43
v2.20.1
6f65823

Choose a tag to compare

Bugs fixed:

  • miroil::GLBuffer was dropped in 2.20 (#3813)
  • Do not mutate a container whilst iterating over it (#3819)
  • Crash when disconnecting monitors (#3816)
  • Policy destructors do not get called when a surface has been launched on the desktop (#3823)

v2.20.0

10 Mar 17:11
v2.20.0
8c0c7b9

Choose a tag to compare

ABI summary:

  • miral ABI unchanged at 7
  • mircommon ABI bumped to 11
  • mircore ABI unchanged at 2
  • miroil ABI bumped to 7
  • mirplatform ABI unchanged at 30
  • mirserver ABI bumped to 63
  • mirwayland ABI unchanged at 5
  • mirplatformgraphics ABI bumped to 23
  • mirinputplatform ABI bumped to 10

Enhancements:

  • Extract rendering strategy for decorations (#3706 #3708 #3712)
  • MirOIL updates for post-new-Platform-API QtMir (#3767)
  • feature: adding an is_above method to the SurfaceStack (#3707)
  • Implement focus stealing prevention (#2586)
    Turn it on with --focus-stealing-prevention true on supported compositors.
  • Pass XDG_ACTIVATION_TOKEN to apps launched via launch_app_env (#3703)
  • Publish mir*-internal libraries (#3283)
  • Make key repeat and delay configurable (#3730)
  • Improve Firefox surface.frame event quirk (#3740)
  • Workaround for LXQt panel (#3764)
  • Fix SSD text (#3785)

Bugs fixed:

  • TilingWindowManagerPolicy assumes that window size is always specified (#3689)
  • OSK hides a half second after popping up on some input fields with zwp_text_input_v1 (Electron) (#3580)
  • Closing a window brings one of the remaining windows of the same client to the front (#3309)
  • Closing a window causes minimized windows to be focused (#3408)
  • atomic-kms: hardware cursor disappears crossing screen boundaries (#3677)
  • Crash on display unplug (#3729)
  • Crash when pcmanfm-qt does DnD (#3765)
  • The check for "implicit grab" for drag-and-drop is too strict (#3769)
  • The cursor icons for top-left and bottom-left resize are wrong for server-side decorations (#3776)
  • Incorrectly sizes some windows with server-side decorations (#3778)

v2.19.3

20 Jan 09:29
v2.19.3
22cfd55

Choose a tag to compare

Bug fixes:

  • Don't leak VirtualInputDevice keyboards (#3720)
  • kms: skip simple-framebuffer devices (#3721)

Full Changelog: v2.19.2...v2.19.3