# Sway 1.12 - Product: Sway (https://whatsnew.fyi/product/sway) - Vendor: Sway - Date: 2026-05-25 - Version: 1.12 - Original notes: https://github.com/swaywm/sway/releases/tag/1.12 - Permalink: https://whatsnew.fyi/product/sway/releases/1.12 - Labels: Platforms: Linux What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **added** — Add support for capturing individual windows - **added** — Add support for HDR10 when running with the Vulkan renderer - **added** — Add support for new protocols: color-management-v1, color-representation-v1, xdg-toplevel-tag-v1, ext-workspace-v1, wl_fixes - **added** — Add a new --device-primaries option to output color_profile to use color primaries advertised in EDID - **added** — Add support for keypad slide switches - **changed** — The default configuration file now ships key bindings for playerctl - **changed** — Sway no longer refuses to start on unsupported GPUs and instead displays an informational message that can be disabled via the --unsupported-gpu CLI flag or SWAY_UNSUPPORTED_GPU environment variable - **changed** — Display managers are now officially supported for Sway startup - **changed** — The srgb output color profile now applies the piece-wise sRGB transfer function rather than gamma 2.2 Sway 1.12 contains 138 changes from 50 contributors. This release depends on wlroots 0.20.0. See the [wlroots release notes](https://gitlab.freedesktop.org/wlroots/wlroots/-/releases/0.20.0). ###### New features - Add support for capturing individual windows. - Add support for HDR10 when running with the Vulkan renderer. - Add support for new protocols: color-management-v1, color-representation-v1, xdg-toplevel-tag-v1, ext-workspace-v1, wl_fixes. - Add a new `--device-primaries` to `output color_profile` to use color primaries advertised in EDID. - Add support for keypad slide switches. ###### Changes - The default configuration file now ships key bindings for `playerctl`. - Sway no longer refuses to start on unsupported GPUs (e.g. NVIDIA proprietary drivers). Instead, it displays an informational message. The message can be disabled via the `--unsupported-gpu` CLI flag or via the `SWAY_UNSUPPORTED_GPU` environment variable. Sway's policy hasn't changed: only the consequences when starting Sway have. - Display managers are now officially supported for Sway startup. Historically they were marked as unsupported (ie, issues involving login managers were rejected) due to login manager bugs, but we haven't seen such bugs in a while and never got around to re-evaluating our official policy until this release. - The `srgb` output color profile now applies the piece-wise sRGB transfer function rather than gamma 2.2. Use `gamma22` for gamma 2.2. The effective default remains unchanged (gamma 2.2).
Full changelog ``` Alexander Orzechowski (2): Chase wlroots!3879 container: Move foreign toplevel enter/leave events to view André Marçais (1): Fix logical error in criteria matching Attila Fidan (2): text_input: Ignore enable requests from unfocused windows text_input: Don't relay IM state from unfocused windows Bill Li (2): input/text_input: chase wlroots update input/text_input: chase wlroots update Bonsaiiv (1): Improve example of input section in default config Callum Andrew (1): config.in: bind XF86Audio* keycodes to playerctl Calvin Lee (2): sway: change unsupported GPU message to swaynag sway: add details to unsupported gpu nag Damino (1): tree/view: check for null workspace output Felix Pehla (1): README: update German translation Fenveireth (1): tree/view: save new wlr_scene_buffer fields Furkan Sahin (6): input/seatop_down: Update decorations for touchscreen inputs bar_cmd_colors: fix crash on incorrect usage input/seat: end keyboard grab when clearing focus input/seat: fix drag-and-drop regression and improve popup dismissal tree/workspace: fix crash on dragging container to workspace edge seatop_move_tiling: clamp edge thresholds to parent box Félix Poisot (5): sway/config: apply output CT before initial commit sway/commands/output: color_profile "srgb" applies the piece-wise TF sway/commands/output: add color_profile "--device-primaries" sway/config/output: fix hdr+color_profile conflict detection common/pango: get_text_size out pointers may be NULL GreyXor (1): build: bump wlroots version Hugo Osvaldo Barrera (6): Make workspace_move_to_output reusable ext-workspace-v1: initial implementation Centre fullscreen surfaces smaller than output Don't ignore initialisation errors Treat ext-workspace-v1 as privileged Ignore failures creating linux-drm-syncobj Jan Palus (1): man: update drag_lock default Joaquim Monteiro (1): Add wl_fixes interface Kenny Levinsen (15): config/output: Use INT_MAX as x/y unset value config/output: Fix missing output config supersedes output: Minimize interaction with output after destroy tree/workspace: Remove exclude arg from get_highes _[Truncated at 4000 characters — full notes: https://github.com/swaywm/sway/releases/tag/1.12]_