# Sway changelog > An i3-compatible tiling window manager for Wayland. - Vendor: Sway - Category: Operating Systems - Platforms: Linux - Official site: https://swaywm.org - Tracked by: What's New (https://whatsnew.fyi/product/sway) - Harvested from: GitHub (swaywm/sway) - Entries below: 10 (newest first) 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'. ## Releases ### 1.12 - 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 - **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]_ ### 1.12-rc3 - Date: 2026-04-26 - Version: 1.12-rc3 - Original notes: https://github.com/swaywm/sway/releases/tag/1.12-rc3 - Permalink: https://whatsnew.fyi/product/sway/releases/1.12-rc3 - Labels: Pre-release; Platforms: Linux ### 1.12-rc2 - Date: 2026-04-12 - Version: 1.12-rc2 - Original notes: https://github.com/swaywm/sway/releases/tag/1.12-rc2 - Permalink: https://whatsnew.fyi/product/sway/releases/1.12-rc2 - Labels: Pre-release; Platforms: Linux ### 1.12-rc1 - Date: 2026-03-26 - Version: 1.12-rc1 - Original notes: https://github.com/swaywm/sway/releases/tag/1.12-rc1 - Permalink: https://whatsnew.fyi/product/sway/releases/1.12-rc1 - Labels: Pre-release; Platforms: Linux - **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 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, instead displaying 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, with gamma22 available for gamma 2.2 - **fixed** — Fix logical error in criteria matching - **fixed** — Fix crash on incorrect bar_cmd_colors usage - **fixed** — Fix crash on first stylus tap after reboot via null check - **fixed** — Fix output priority in workspace assignment - **fixed** — Fix reported WM capabilities in xdg-shell Sway 1.12-rc1 contains 119 changes from 46 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. - 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 (1): Chase wlroots!3879 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 (2): input/seatop_down: Update decorations for touchscreen inputs bar_cmd_colors: fix crash on incorrect usage 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 (3): Make workspace_move_to_output reusable ext-workspace-v1: initial implementation Centre fullscreen surfaces smaller than output 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_highest_available Remove the temporary SUID warning sway/tree: Simplify sway_node teardown tree/container: Remove child from all lists Revert "tree/container: Remove child from all lists" Revert "sway/tree: Simplify sway_node teardown" tree/node: Do not mark destroying nodes as dirty config/output: Only error when enabling HDR linux-dmabuf-v1: Bump to version 5 cursor-shape-v1: Bump to version 2 layer-shell-v1: Bump to version 5 protocols: Bump vendored wlr-protocols Kirill Chibisov (2): readme: sync Russian translation readme: sync Japanese translation Konstantin Pospelov (1): swaybar: deduplicate mode and workspace rendering code Lars-Ragnar A. Haugen (1) _[Truncated at 4000 characters — full notes: https://github.com/swaywm/sway/releases/tag/1.12-rc1]_ ### 1.11 - Date: 2025-06-08 - Version: 1.11 - Original notes: https://github.com/swaywm/sway/releases/tag/1.11 - Permalink: https://whatsnew.fyi/product/sway/releases/1.11 - Labels: Platforms: Linux - **added** — Add support for linux-drm-syncobj-v1 for explicit synchronization - **added** — Add support for alpha-modifier-v1 for setting an alpha multiplier for a surface - **added** — Add support for ext-image-copy-capture-v1 and ext-image-capture-source-v1 for improved screen capture - **added** — Add support for ext-data-control-v1 as an alternative protocol for clipboard managers - **added** — Pointer keys are now supported and can be bound in keymaps to trigger pointer events - **added** — security-context-v1 metadata is exposed in IPC, and can be used in criteria and title format - **changed** — The default configuration file now ships key bindings for a few utilities: pactl, brightnessctl, grim - **changed** — The default menu now uses wmenu-run and no longer depends on dmenu_path - **changed** — The default tap-and-drag lock mode has been switched to sticky - **changed** — The sway.desktop file now sets DesktopNames - **changed** — Improved output configuration logic for better and faster fallbacks Sway 1.11 contains 189 changes from 53 contributors. This release depends on wlroots 0.19.0. See the [wlroots release notes](https://gitlab.freedesktop.org/wlroots/wlroots/-/releases/0.19.0). ###### New features - All of the enhancements from [wlroots 0.19.0](https://gitlab.freedesktop.org/wlroots/wlroots/-/releases/0.19.0). - Add support for linux-drm-syncobj-v1 for explicit synchronization - Add support for alpha-modifier-v1 for setting an alpha multiplier for a surface - Add support for ext-image-copy-capture-v1 and ext-image-capture-source-v1 for improved screen capture - Add support for ext-data-control-v1 as an alternative protocol for clipboard managers - Improved output configuration logic for better and faster fallbacks - Pointer keys are now supported and can be bound in keymaps to trigger pointer events - security-context-v1 metadata is exposed in IPC, and can be used in criteria and title format ###### Changes - The default configuration file now ships key bindings for a few utilities: pactl, brightnessctl, grim - The default menu now uses wmenu-run and no longer depends on dmenu_path. - The default tap-and-drag lock mode has been switched to sticky [as recommended by upstream](https://lists.freedesktop.org/archives/wayland-devel/2024-November/043860.html) - The `sway.desktop` file now sets `DesktopNames` (`XDG_CURRENT_DESKTOP` will be set by login managers)
Full changelog ``` Adam Chovanec (1): readme: update Czech translation Alexander Orzechowski (19): transaction: Reparent all container children when disabling for scratchpad xwayland: Let scene restack output: Use wlr_scene_output_needs_frame output: Use wlr_scene_set_gamma_control_manager_v1 output: Chase wlroots!4803 container: Skip % char if it doesn't match a view property text_input: Check for allocation failure text_input: Move popup placement to own function transaction: Allow no popup descriptor in popup list text_input: Properly handle map/unmap events text_input: Inline input_popup_update into input_popup_set_focus Fix alpha-modifier-v1 layer_shell: Arrange exclusive zone clients first layer_shell: Restore sway 1.9 ordering container: Properly constrain title bar padding swaybar: Handle opaque region properly output: Expose output_configure_scene to header output: Allow configuring scene without an output commands/opacity: Call output_configure_scene on updated container Anna (navi) Figueiredo Gomes (1): sway/commands/move.c: arrange new workspace AsciiWolf (1): Remove language bars from remaining non-English README files Attila Fidan (1): input/cursor: remove tool_proximity listener in destroy Baltazár Radics (1): input/libinput: fix parsing input drag_lock command Bill Li (4): build: Bump wlroots version Chase wlroots!2434 ci: use package x11-servers/xwayland instead of x11-servers/xwayland-devel Drop wlr_matrix.h include from sway/desktop/output.c Bonsaiiv (1): Improve example of input section in default config Chris Perl (1): Remove constraint that con->view != NULL to use __focused__ criteria Claudia (1): Fix tabbed/stacking container height regression Dan Baterisna (1): man: Document bar mode toggle command Daniel De Graaf (1): Use wl_event_loop_add_signal for exit signals Dennis Baurichter (1): man: clarify criteria (incl. PCRE2 usage) Emil Engberg (1): Add toggle for output adaptive_sync Felix Pehla (1): commands/output/color_profile: allows use of relative path for ICC profile Ferdinand Bachmann (7): sway/ipc-json: add ext-foreign-toplevel-handle identifier to get_tree ipc output server: remove event listeners on fini input/input-manager: remove event listeners on fin _[Truncated at 4000 characters — full notes: https://github.com/swaywm/sway/releases/tag/1.11]_ ### 1.11-rc4 - Date: 2025-05-25 - Version: 1.11-rc4 - Original notes: https://github.com/swaywm/sway/releases/tag/1.11-rc4 - Permalink: https://whatsnew.fyi/product/sway/releases/1.11-rc4 - Labels: Pre-release; Platforms: Linux ### 1.11-rc3 - Date: 2025-05-18 - Version: 1.11-rc3 - Original notes: https://github.com/swaywm/sway/releases/tag/1.11-rc3 - Permalink: https://whatsnew.fyi/product/sway/releases/1.11-rc3 - Labels: Pre-release; Platforms: Linux ### 1.11-rc2 - Date: 2025-04-27 - Version: 1.11-rc2 - Original notes: https://github.com/swaywm/sway/releases/tag/1.11-rc2 - Permalink: https://whatsnew.fyi/product/sway/releases/1.11-rc2 - Labels: Pre-release; Platforms: Linux ### 1.11-rc1 - Date: 2025-04-20 - Version: 1.11-rc1 - Original notes: https://github.com/swaywm/sway/releases/tag/1.11-rc1 - Permalink: https://whatsnew.fyi/product/sway/releases/1.11-rc1 - Labels: Pre-release; Platforms: Linux - **added** — Add support for linux-drm-syncobj-v1 for explicit synchronization - **added** — Add support for alpha-modifier-v1 for setting an alpha multiplier for a surface - **added** — Add support for ext-image-copy-capture-v1 and ext-image-capture-source-v1 for improved screen capture - **added** — Add support for ext-data-control-v1 as an alternative protocol for clipboard managers - **added** — Pointer keys are now supported and can be bound in keymaps to trigger pointer events - **added** — security-context-v1 metadata is exposed in IPC, and can be used in criteria and title format - **changed** — Improved output configuration logic for better and faster fallbacks - **changed** — The default configuration file now ships key bindings for a few utilities: pactl, brightnessctl, grim - **changed** — The default menu now uses wmenu-run and no longer depends on dmenu_path - **changed** — The default tap-and-drag lock mode has been switched to sticky - **changed** — The sway.desktop file now sets DesktopNames Sway 1.11-rc1 contains 163 changes from 48 contributors. This release depends on wlroots 0.19.0-rc1. See the [wlroots release notes](https://gitlab.freedesktop.org/wlroots/wlroots/-/releases/0.19.0-rc1). ###### New features - All of the enhancements from [wlroots 0.19.0-rc1](https://gitlab.freedesktop.org/wlroots/wlroots/-/releases/0.19.0-rc1). - Add support for linux-drm-syncobj-v1 for explicit synchronization - Add support for alpha-modifier-v1 for setting an alpha multiplier for a surface - Add support for ext-image-copy-capture-v1 and ext-image-capture-source-v1 for improved screen capture - Add support for ext-data-control-v1 as an alternative protocol for clipboard managers - Improved output configuration logic for better and faster fallbacks - Pointer keys are now supported and can be bound in keymaps to trigger pointer events - security-context-v1 metadata is exposed in IPC, and can be used in criteria and title format ###### Changes - The default configuration file now ships key bindings for a few utilities: pactl, brightnessctl, grim - The default menu now uses wmenu-run and no longer depends on dmenu_path. - The default tap-and-drag lock mode has been switched to sticky [as recommended by upstream](https://lists.freedesktop.org/archives/wayland-devel/2024-November/043860.html) - The `sway.desktop` file now sets `DesktopNames` (`XDG_CURRENT_DESKTOP` will be set by login managers)
Full changelog ``` Adam Chovanec (1): readme: update Czech translation Alexander Orzechowski (19): transaction: Reparent all container children when disabling for scratchpad xwayland: Let scene restack output: Use wlr_scene_output_needs_frame output: Use wlr_scene_set_gamma_control_manager_v1 output: Chase wlroots!4803 container: Skip % char if it doesn't match a view property text_input: Check for allocation failure text_input: Move popup placement to own function transaction: Allow no popup descriptor in popup list text_input: Properly handle map/unmap events text_input: Inline input_popup_update into input_popup_set_focus Fix alpha-modifier-v1 layer_shell: Arrange exclusive zone clients first layer_shell: Restore sway 1.9 ordering container: Properly constrain title bar padding swaybar: Handle opaque region properly output: Expose output_configure_scene to header output: Allow configuring scene without an output commands/opacity: Call output_configure_scene on updated container Anna (navi) Figueiredo Gomes (1): sway/commands/move.c: arrange new workspace AsciiWolf (1): Remove language bars from remaining non-English README files Attila Fidan (1): input/cursor: remove tool_proximity listener in destroy Baltazár Radics (1): input/libinput: fix parsing input drag_lock command Bill Li (4): build: Bump wlroots version Chase wlroots!2434 ci: use package x11-servers/xwayland instead of x11-servers/xwayland-devel Drop wlr_matrix.h include from sway/desktop/output.c Chris Perl (1): Remove constraint that con->view != NULL to use __focused__ criteria Claudia (1): Fix tabbed/stacking container height regression Dan Baterisna (1): man: Document bar mode toggle command Daniel De Graaf (1): Use wl_event_loop_add_signal for exit signals Dennis Baurichter (1): man: clarify criteria (incl. PCRE2 usage) Emil Engberg (1): Add toggle for output adaptive_sync Felix Pehla (1): commands/output/color_profile: allows use of relative path for ICC profile Ferdinand Bachmann (7): sway/ipc-json: add ext-foreign-toplevel-handle identifier to get_tree ipc output server: remove event listeners on fini input/input-manager: remove event listeners on fini desktop/idle_inhibit: remove event listeners o _[Truncated at 4000 characters — full notes: https://github.com/swaywm/sway/releases/tag/1.11-rc1]_ ### 1.10.1 - Date: 2025-01-26 - Version: 1.10.1 - Original notes: https://github.com/swaywm/sway/releases/tag/1.10.1 - Permalink: https://whatsnew.fyi/product/sway/releases/1.10.1 - Labels: Platforms: Linux