Skip to content

Releases: swaywm/sway

1.0-alpha.2

13 May 19:00
Compare
Choose a tag to compare
1.0-alpha.2 Pre-release
Pre-release

Sway 1.0-alpha.2 contains 327 changes from 20 contributors. Note that sway alpha releases are not considered complete, are missing many features, and will have many bugs. You are strongly encouraged to remain on sway 0.15.x if you are not prepared to deal with constant breakage and keep quiet about it. Please do not submit bug reports for this version of sway. Submit patches instead.

The recommended wlroots version to use with this sway release is 383ce3d.

Package maintainers: please do not package this release.

This changelog only includes new features since 1.0-alpha.1. Bugfixes are not included.

This release replaces the asciidoc dependency with scdoc.

New Features

  • Window borders
  • Full damage tracking (performance improvement)
  • Basic touch screen support (only for touch-supported clients)
  • Basic drawing tablet support (simulates a mouse)
  • Fullscreen windows
  • DPMS & auto-lock via swayidle
  • Criteria
  • Mapping input devices to specific outputs or regions of the screen
  • Ignoring input from tablets or touch screens outside a specified region of the device
  • Mouse input simulation (e.g. swaymsg seat default cursor press left)
  • Supports the xdg-shell stable protocol
  • Full support for hardware cursors (performance improvement)
  • Xwayland is now started lazily (when the first X client tries to connect)

0.15.2

12 Apr 23:49
78740b9
Compare
Choose a tag to compare
0.15.2 Pre-release
Pre-release

0.15.2 is a bugfix release containing 59 changes from 17 contributors. This is the latest version of the stable 0.15 branch of sway, and is recommended for general purpose use instead of the latest 1.0 alpha version.

Bugs fixed

  • Fix non-compliant KDE tray icons (@4e554c4c)
  • Fix tray items setting and updating icons (@gnidorah and @4e554c4c)
  • Fix various tray segfaults and memory leaks (@4e554c4c)
  • Fix menu placement (@4e554c4c)
  • Popups no longer interfere with swaylock (@CedricCabessa)
  • Fixed an invalid free in workspace logic (@4e554c4c)
  • Send forward/backward mouse buttons to i3bar event listeners (@pvsr)
  • Accomodate for empty i3bar blocks (@pvsr)
  • Gracefully handle status line errors in swaybar (@4e554c4c)
  • Fix memory leaks and sadness throughout (@dlrobertson)
  • Correctly handle i3bar min_width specification (@jrouleau)
  • Minor scratchpad fixes (@taiyu-len)
  • Man page improvements (various)

1.0-alpha.1

07 Apr 19:36
4b20086
Compare
Choose a tag to compare
1.0-alpha.1 Pre-release
Pre-release

Sway 1.0-alpha.1 contains 624 changes from 5 contributors (plus 2,329 changes from 39 contributors to wlroots) and is the first alpha release of sway 1.0. Note that sway alpha releases are not considered complete, are missing many features, and will have many bugs. You are strongly encouraged to remain on sway 0.15.x if you are not prepared to deal with constant breakage and keep quiet about it. The purpose of this release of sway is to help users understand the progress we've made towards 1.0 and provide internal versions for development use - many of the sway developers will be using sway 1.0-alpha.1 even though it is very incomplete, because it will help us understand the places where it is lacking.

Please do not submit bug reports for this version of sway. Submit patches instead.

Package maintainers: please do not package this release.

Breaking Changes

  • As this is an alpha release and we have completely overhauled the codebase, many (perhaps most) features are missing and broken.
  • This release requires wlroots. The recommended commit of wlroots for use with this release is ba5c090.
  • Experimental Nvidia proprietary driver support has been deprecated since its inception, and has now been removed entirely. Please use nouveau and consider future purchases from GPU vendors that support open source. Other proprietary drivers are also unsupported.

New Features

Outputs

  • Output rotation (e.g. output NAME transform 90)
  • Fractional scaling (e.g. output NAME scale 1.5)
  • Output resolution is now applied via modesetting
  • Support for daisy-chained DisplayPort and other exotic configurations
  • Swaylock, swaybar, and swaybg support HiDPI correctly

Inputs

  • Multiple input devices can be bound to a single on-screen cursor (or several)
  • Keyboard layout and XKB options may be specified in the config file
  • Multiple keyboards with different layouts can be used interchangably
  • Multiple seats can be configured (each with their own input devices and focused window)

Wayland Features

  • Rich content (images, etc) can be copied from Xwayland to Wayland and vice versa
  • GTK's primary selection protocol has been implemented (and syncs with Xwayland primary selection)
  • The layer-shell protocol has been implemented (which permits future support for e.g. rofi, on-screen keyboards, third-party panels, etc)
  • Orbital's screenshooter protocol has been implemented (which permits third-party software to capture the screen)
  • Idle & idle inhibit have been implemented (which permits DPMS and the inhibition of DPMS by e.g. video players to work)
  • Client-side/server-side decoration negotiation has been submitted for standardization

Other

  • Output damage tracking significantly improves both CPU performance and power usage
  • The Wayland and x11 backends are now supported for end user use
  • Window opacity can be configured with the opacity command

Bugs Fixed

  • All known problems with xdg-shell have been fixed (such as blurry menus that don't accept focus)
  • All known problems with Xwayland have been fixed (such as Firefox menu weirdness)
  • All known HiDPI bugs
  • All known swaylock & swaybar bugs
  • Reloading your config doesn't generally crash anymore
  • TTY switching probably works
  • Most bugs in general are fixed

0.15.1

28 Dec 02:33
Compare
Choose a tag to compare
0.15.1 Pre-release
Pre-release

Sway 0.15.1 is a bugfix release containing 58 changes from 18 contributors.

  • Update to json-c 0.13 (@besser82)
  • Documentation corrections (@Zer0-One, @madblobfish)
  • Portability fixes (@johalun)
  • Output scale now preserved upon reloads/hotplugs (@sideshowdave7)
  • Closing fullscreen windows in nested containers no longer crashes (@SirCmpwn)
  • swaygrab more gracefully handles errors (@ggreer)
  • Fixes to some minor tray issues (@etam)
  • Fix security grants for swaylock -f (@4e554c4c)
  • Clear password buffer after checking it in swaylock (@ggreer)

0.15.0

06 Nov 23:24
Compare
Choose a tag to compare
0.15.0 Pre-release
Pre-release

Sway 0.15 includes 199 changes from 39 contributors. New features include scriptable clipboard support and raspberry pi support, but this release is mostly for bug fixes. This is also the last release of sway that will be based on wlc - for more information, see my blog post on the matter.

There will be no 0.16 - the next release will be 1.0.

Changes

  • Default wallpapers are now in /usr/share/backgrounds/sway (@her001 - #1238)
  • Compiling man pages (and asciidoc) is now optional (@SirCmpwn - 23a1e94)
  • README translated into 9 more languages (too many to thank!)
  • We've split our IRC channels into separate support and development channels

New Features

Bugs Fixed

0.14.0

26 Jul 23:21
Compare
Choose a tag to compare
0.14.0 Pre-release
Pre-release

This release contains 72 changes from 12 contributors. New features include support for tray icons and support for KDE's Wayland extension for client-side border negotiation. Several smaller features and many bug fixes are also included. Updates to wlc also improve touchscreen support and fix the old extra cursor gdm issue.

Tray icons are now supported via SNI, and Xembed support is in-progress and planned for a future release. Tray icons for programs using the new specification should work correctly, but older programs using Xembed will not. Border negotiation requries participation from the client - a patch for GTK+ is available here.

You may have heard that we're replacing wlc, a library that does a lot of low-level plumbing work for Sway. I'm happy to announce that our replacement project, wlroots, is progressing at a great pace - largely thanks to financial support from Nyantec, who offered to sponsor me to work full time on Sway for 3 weeks during this release cycle. Additional support has come from supporters of my new Patreon page - many thanks! Dramatic improvements to Sway will be possible when wlroots is ready. Look forward to it!

Changes

  • libdbus is now an optional dependency for tray icon support (package maintainers, take note)
  • Non-logind systems now report configuration errors more verbosely (@Hummer12007 - #1218)
  • asciidoc is now optional; without it man pages will not be built (@SirCmpwn - cf4ea4c)

New Features

Bugs fixed

  • Specifying fewer than 5 colors during configuration did not work (@SirCmpwn - #1201)
  • layout auto with no additional arguments no longer crashes Sway (@zandrmartin - #1204)
  • Issues with the Firefox address bar dropdown have been fixed (@SirCmpwn - d158e18)
  • Nested child processes of swaybar are now killed correctly (@ykrivopalov - #1236)
  • Minor documentation fixes via @4e554c4c, @zandrmartin, @wdbw, @her001
  • @johalun fixed some FreeBSD issues and is now the FreeBSD point of contact (#1232)
  • Use-after-free bug fixed in bindsym (@tobiasblass - #1270)
  • Fail gracefully when security policies cannot be allocated (@Hummer12007 - #1255)

0.13.0

08 May 16:40
Compare
Choose a tag to compare
0.13.0 Pre-release
Pre-release

This release contains 103 changes from 12 contributors. New features include support for i3's marks feature, "immediate" criteria commands, and experimental support for the nvidia proprietary driver. Many small improvements to i3 compatibility and many bugfixes are also included.

For nvidia users, nouveau is still strongly recommended. The proprietary driver mostly works, but is unsupported - do not report bugs unless you attach a patch. Unless your hardware is unsupported by nouveau, you should continue using nouveau. Using sway with the proprietary drivers requires additional configuration - sway will output the necessary information if you attempt it without a correct configuration.

Package maintainers: please update your packages to use -DVERSION=major.minor.patch. Normally the version is sourced from git, but if you build from a tarball then you'll have to specify it manually.

Changes

  • The new_window and new_float commands are deprecated in favor of default_border and default_floating_border. A similar change is expected from i3. (@zandrmartin - #1105)
  • 444 is now an acceptable file mode for security configs (@jnsaff - #1117)
  • Any executable that is not owned by root will receive the default security policy regardless of any additional configured permissions (@JerziKaminsky)

New features

Bugs fixed

  • Missing swaylock security settings were added (@SirCmpwn - 21ad45b)
  • -Werror issues on the latest gcc have been corrected (@Fale - #1086)
  • The codebase is more POSIXly correct and does not rely on GNUisms (@SirCmpwn - 9aed9d9)
  • Issues building against a local copy of wlc has been fixed (@snoack - #1115)
  • A problem with keyboard code in sway's Wayland clients was fixed (@zandrmartin - #1121)
  • Focus could be stolen from fullscreen windows under some conditions (@zandrmartin - #1126)
  • Spaces are now permitted in workspace names (@4e554c4c - #1101)
  • Issues with workspace assignment have been corrected (@zandrmartin - #1105)
  • Man page typos fixed (@johnchen902 - #1113)
  • Crashiness with move [next|prev] was fixed (@oranenj - #1130)
  • Regular expressions are now handled with PCRE for better i3 compatibility (@ascent12 - #1151)
  • Dangling file descriptors on IPC client termination was fixed (@SirCmpwn, @ascent12 - #1153)
  • libcap is now explicitly required in our CMakeLists.txt (@JerziKaminsky - #1150)
  • move [to] scratchpad did not support the "to" syntax (@wasamasa - #1180)
  • Windows leaving the scratchpad are now sized to match i3 behavior (@wasamasa - #1181)
  • Specifying fewer than 5 colors with client.* now matches i3 behavior (@SirCmpwn - #1201)

0.12.2

03 Apr 15:06
Compare
Choose a tag to compare
0.12.2 Pre-release
Pre-release

Changes

  • 444 is permitted as an access mode for security configs (@jnsaff - #1117)

Bugs fixed

  • move next could cause crashes (@oranenj - #1130)
  • New windows could steal focus from fullscreen windows (@zandrmartin - #1126)
  • Fix problem with workspace_layout auto (@oranenj - #1119)
  • Fix build for systems where wlc headers are not installed globally (@snoack - #1115)

0.12.1

14 Mar 03:18
Compare
Choose a tag to compare
0.12.1 Pre-release
Pre-release

Bugs Fixed

0.12

07 Mar 14:49
Compare
Choose a tag to compare
0.12 Pre-release
Pre-release

This release contains 93 changes from 11 contributors. Changes in this release include redshift support (currently requires a patched redshift), new automatic layout modes for Awesome migrants, security improvements, and many bugfixes. Please take careful note of the changes to IPC security configuration - these are backwards-incompatible and will require user intervention if you have customized your security configuration.

Package maintainers - /etc/sway/security has been moved to /etc/sway/security.d/00-defaults, and users are no longer expected to edit this file. FreeBSD users should take special note of these changes and will likely want to introduce a new file in /etc/sway/security.d/ that applies a liberal security policy for IPC-related features - the FreeBSD port is unable to enforce per-application IPC rules and you'll want to add a default rule that permits everything for now.

For those hoping to configure sway's default keybindings and behavior to be more like Awesome, see awesome.config

Changes

  • /etc/sway/security has been moved to /etc/sway/security.d/00-defaults and users are now encouraged to add their own security configurations as additional files in /etc/sway/security.d/. Maintainers of software that integrates with sway and require special permissions are encouraged to ship security configs in this directory as well (@SirCmpwn - #1080)
  • If not specified at build time, LD_LIBRARY_PATH will be unset, rather than defaulting to /usr/lib (@Hummer12007 - #1050)
  • Default backgrounds have been losslessly re-compressed and should reduce the package weight if enabled (@Jesin - #1032)
  • Previously undocumented features (swaygrab -f and hide_edge_borders) are now covered by their respective manuals (@Hummer12007, @ametisf - #1073, #1051)
  • Environment logging now occurs prior to compositor initialization, which helps diagnose certain kinds of problems (@SirCmpwn - 41f7aaa)

New Features

  • New automatic layouts unique to sway have been implemented that behave like similar features in WMs like Awesome. See sway(5) and look for layout auto for details. (@willakat - #1024)
  • Sway now supports gamma adjustment, which you can take advantage of with a patched redshift (@SirCmpwn - #1019)
  • IPC features can now be secured on a per-application basis - see sway-security(7) (@SirCmpwn - #1080)
  • focused is now available in window criteria (@Hummer12007 - #1053)
  • output [left|right] now matches i3's wrapping behavior (@dkess - #1048)
  • XWayland window instances are now shown in title bars if necessary (@Hummer12007 - #1052)
  • hide_edge_borders smart is now implemented, following i3 4.13 (@ametisf - #1044)

Bugs Fixed

  • Issues compiling sway on gcc 7 have been resolved (@Fale - #1086)
  • Capabilities are more carefuly handled when transitioning from euid 0 to a normal user, which fixes some problems on systems without logind (@Hummer12007 - #1043)
  • xdg-shell v6 support has been fleshed out in both wlc and sway, which should fix things like broken right click menus on GTK apps (@Hummer12007 - #1070, #1055)
  • Floating windows were created with the incorrect geometry, which has been corrected (@zandrmartin - #1075)
  • Image scaling specified at the swaylock command line was ignored, and now works correctly (@zandrmartin - #1017)
  • Inconsistencies with workspace layouts in IPC messages between i3 and sway were corrected (@Hummer12007 - #1030)
  • Workspaces with spaces in their names are now supported more consistently with i3 (@4e554c4c - #1011)