Releases: swaywm/sway
0.12.2
Changes
Bugs fixed
0.12.1
0.12
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)
Sway 0.11
This release includes 139 changes from 12 authors. The biggest feature 0.11 offers is the first steps towards the goal of a secure Wayland desktop by adding new knobs to secure your sway installation - read sway-security(7) for details. These are only the first steps towards a secure sway, and no promises are made about how well it works. Please test it and look for ways to break it and provide feedback on your experiences.
Package maintainers - consider reading through sway-security(7) and seeing if there are any security-related configuration changes you'd like to ship with your sway installation. SYS_CAP_PTRACE is now required on /usr/bin/sway. Sway also hardcodes LD_LIBRARY_PATH on startup now - you can change this with -DLD_LIBRARY_PATH=...
if you set this to something other than /usr/lib in your distro.
FreeBSD users - note that we cannot enforce security policies on a per-executable basis until this issue is resolved. The default security policy will be applied to all executables.
Also note that today I'm happy to introduce the sway bounty program - contribute some cash to support the development of the features you want, or write the code and claim the bounty! Information about this is available here: #986
Changes
- Sway now depends on libcap on Linux
- Moving between containers now wraps according to i3 behavior (@thejan2009 - #936)
- Alpha blending is now done with CAIRO_OPERATOR_SOURCE (@SirCmpwn - c0916f6)
- bar pango_markup defaults to false, following i3 change (@Hummer12007 - #958)
- -Denable-binding-event is no longer available - see sway-security(7) (@SirCmpwn - #981)
- New floating windows now spawn in the center of the screen (@alkino - #1001)
New Features
- Clicking titlebars now focuses that window (@alkino, @thejan2009 - #933, #934, #945)
- Changing focus between floating containers is now supported (@thejan2009 - #935)
- Numeric character references in bar are now supported (@thejan2009 - #936)
- Pango markup in workspaces names is now supported (@thejan2009 - #936)
- Input device configuration can now enable
left_handed
(@t3hknr - #961) - Improvements to logging (@SirCmpwn - 0d6cbca...d3e55f8)
- New bar colors following new i3 features - see sway-bar(5) (@thejan2009 - #965)
- New security-related features - see sway-security(7) (@SirCmpwn - #981)
Bugs Fixed
- Errors in swaybar's hidpi rendering were corrected (@thejan2009 - #920)
- Bug fixed where IPC events were emitted before IPC initialization (@gutsoo - #923)
- Segfault during edge case on workspace switching was fixed (@zandrmartin - #924)
- An IPC tree response compatability issue was corrected (@zandrmartin - #925)
- Buggy font selection issues were fixed in swaylock (@wasamasa - #928)
- Fixes to scale factor in text scaling (@alkino - #937)
- Issue creating a sibling of a floating window fixed (@alkino - #938)
- Some commands were not matched during command matching (@thejan2009 - #940)
- Indicator border no longer shown on floating windows (@thejan2009 - #941)
- An issue with for_window [] move scratchpad was fixed (@thejan2009 - #942)
- You can now move empty workspaces (@alkino - #947)
- Fixes with default workspace layouts (@thejan2009 - #945)
layout toggle split
behavior fixed for tabbed/stacked layouts (@thejan2009 - #966)- When swaylock exited, it would not focus whatever you were using before (@cyphar - #1014)
Sway 0.10
This release includes 118 changes from 19 authors. 0.10 is mostly bug fixes and i3 compatability issues, but major 0.10 news includes FreeBSD support and a package in the official Fedora repositories. A possible privledge escalation vulnerability was fixed in 0.10 - see the changelog for details.
New Features
- sway now runs on FreeBSD! (thanks @yohanesu75!)
- swaymsg now pretty prints the JSON response (thanks @acrisci!)
- The application class is displayed in titlebars if the title is missing (thanks @thejan2009!)
- Disabling outputs at runtime might work (thanks @thejan2009!)
- i3's indicator border color feature is now supported (thanks @guiniol, @thejan2009!)
- Input device names in input configurations now support
*
(thanks @SirCmpwn!) - Initial support for HiDPI was added to swaybar, swaybg, and swaylock (thanks @SirCmpwn, @thejan2009!)
- Moving views across an output's edge is now supported (thanks @mikkeloscar!)
- swaygrab can now screenshot the focused container via -f (thanks @zandrmartin!)
Bugs Fixed
- A security issue was fixed - you are affected if you have users on your system that use sway but do not have root access - details in #884 (thanks @Fale!)
- A number of changes were made to IPC for better i3 compatability (thanks @acrisci, @zandrmartin!)
- An uninitialized variable fixed the default config for
wrap_scroll
(thanks @minus7!) - Color parsing previously could cause values to clamp and lose information (thanks @progandy!)
workspace back_and_forth
andworkspace_auto_back_and_forth
had issues getting along (thanks @thejan2009!)- Weirdness in edge cases with moving windows was fixed (thanks @Hummer12007!)
- Edge case in workspace handling during view creation was fixed (thanks @thejan2009!)
- A problem with
move container to workspace
was fixed (thanks @thejan2009!) - Null pointer dereference during config load edge case was fixed (thanks @kb100!)
- The behavior of
hide_edge_borders
was fixed (thanks @lukaslihotzki!) - Fullscreen windows previously had input priority over swaylock (thanks @SirCmpwn!)
- The behavior of pango markup on swaybar was fixed (thanks @zandrmartin!)
- swaybar previously couldn't switch between workspaces with spaces in their names (thanks @thejan2009!)
- swaybars could be loaded before all outputs were loaded, which could cause a segfault (thanks @RyanDwyer!)
- An IPC-related segfault during initialization was fixed (thanks @gutsoo!)
- Possible use-after-free in focus handling was fixed (thanks @zandrmartin!)
Changes
- Some improvements were made to the default config (thanks @mayhewj, @goetzc, @zandrmartin!)
- Some internal refactoring around focus (thanks @acrisci!)
- Some internal refactoring around commands (thanks @zandrmartin!)
- Improvements were made to man pages (thanks @minus7, @mmlb!)
pango_markup
in your bar config now defaults to false, following the same change in i3 (thanks @Hummer12007!)
Sway 0.9
This release comes with lots of cool things, including experimental HiDPI support, mouse support for swaybar, and more, including lots of bugfixes and documentation improvements. This also marks 1 year since I started the Sway project. Check out the state of sway blog post, too.
New Features
- Experimental HiDPI support. Add
scale 2
to your output line, see sway(5) for details and #797 for status (thanks @SirCmpwn and the wlc team!) - Mouse support for swaybar (thanks @deklov!)
- New bar command
wrap_scroll [yes|no]
allows you to wrap when scrolling through workspaces with swaybar (thanks @SirCmpwn!) - Windows that have a parent (i.e. most dialog windows) are now floated by default (thanks @SirCmpwn!)
- The IPC
get_tree
message is implemented (thanks @zandrmartin!) - IPC window events have been implemented (thanks @Hummer12007!)
- Swaylock has a new -f option which will cause it to fork into the background (which matches i3lock's behavior) (thanks @SethBarberee!)
- The
focus child
i3 command has been implemented (thanks @acrisci!) - Spawned processes now keep track of what workspace was active when they were started and will open subsequent windows there (thanks @zandrmartin!)
- Backgrounds can now be a solid color (thanks @zandrmartin!)
Bugs Fixed
- A crash could occur in tabbed/stacking parent checks (thanks @Hummer12007!)
- Strange split{h|v} regressions were corrected (thanks @Hummer12007!)
- A corner case with tacked/stabbed containers as the default layout was fixed (thanks @thejan2009!)
- An edge case that could cause crashes when destroying workspaces was fixed (thanks @Hummer12007!)
- An error with the
move position
command was fixed (thanks @deklov!) - Event bitmasks in the IPC server were incorrect and fixed (thanks @Hummer12007!)
- A regression and a bug in
hide_edge_borders
was fixed (thanks @zandrmartin and @thejan2009!) - A bug with
smart_gaps
and outer gaps 0 was fixed (thanks @thejan2009!) - floating_scroll events are no longer passed through to windows (thanks @thejan2009!)
- IPC command results are encapsulated in a JSON array to match i3 behavior (thanks @acrisci!)
focus parent
no longer attempts to focus anything higher than a workspace (thanks @acrisci!)- Window titles are now rendered appropriately when a parent of them is focused (thanks @acrisci!)
- Windows spawned on empty workspaces with the tabbed/stacked layouts could spawn with 0x0 geometry (thanks @thejan2009!)
- Killing a container now kills all of its children (thanks @thejan2009!)
- Edge cases with various border styles in tabbed/stacked were fixed (thanks @thejan2009!)
- Edge cases with tabbed/stacked layouts on layout switch were fixed (thanks @thejan2009!)
- Focus handling was improved to better handle cases when containers were being focused (thanks @acrisci!)
- Floating containers cache their size when being fullscreened and return to that size when unfullscreened (thanks @zandrmartin!)
Changes
- The mouse cursor used over the wallpaper and bar can be customized with the SWAY_CURSOR_THEME and SWAY_CURSOR_SIZE environment variables (thanks @SirCmpwn!)
- SIGSERV and SIGABORT are no longer handled. We just let the core dump happen, which we'll be asking you to upload for us when reporting crashes (thanks @SirCmpwn!)
- Title bars of containers are now constructed based on their children's app IDs instead of their titles, which matches i3 behavior more or less (thanks @thejan2009!)
- Log messages are now timestamped (thanks @acrisci!)
- Some performance improvements in the form of more timely window arrangement calls were made (thanks @zandrmartin!)
- Various improvements to the documentation (thanks lots of people)
Sway 0.8
This release comes with many new features and bugfixes, as well as some significant updates to the documentation. During this release cycle, sway was packaged for openSUSE Tumbleweed!
New Features
- You can clear the password buffer in swaylock with ESC or C-u (thanks @zandrmartin!)
- swaylock now supports the --no-unlock-indicator option (thanks @zandrmartin!)
- Floating views now have sane (and configurable) minimum and maximum sizes (thanks @thuck!)
- Escaping line breaks in your configuration file is now supported (thanks @roosemberth!)
- Using
exec
to launch applications now opens their windows on the workspace they were exec-d on (thanks @zandrmartin!) - note: does not presently work with x clients
Bugs Fixed
- When hotplugging an output, workspace assignment rules are re-enforced (thanks @zandrmartin!)
- Spaces in quoted output command arguments now behave properly (thanks @Hummer12007!)
- Changing focus into an output with a fullscreen view now behaves correctly (thanks @zandrmartin!)
- A number of IPC-related memory leaks were closed (thanks @1ace!)
- A segfault was fixed involving an edge case of
include
with*
(thanks @thuck!) - Your wallpaper is now updated on config file reload (thanks @zandrmartin!)
hide_edge_borders
withsmart_gaps
enabled now behaves correctly (thanks @zandrmartin!)
Changes
- Creating a variable via
set
without the leading$
is automatically corrected to include it (thanks @thuck!) - When hotplugging outputs, workspaces are now sorted correctly and maintain their sort order on replug (thanks @zandrmartin!)
- The documentation was corrected to remove the (currently unimplemented) left/right bar placement options (thanks @SirCmpwn!)
- Missing layout modes (stacking and tabbed) were documented in sway(5) (thanks @wdbw!)
- The
assign
command was documented in sway(5) (thanks @zandrmartin!) - Several other small improvements to the man pages were made (thanks @SirCmpwn!)
Sway 0.7
New Features
- Bind actions to $mod+[scroll whell] via
floating_scroll
(thanks @Hummer12007!) - Set the acceleration profile for input devices via
accel_profile
(thanks @tajjada!)
Bugs Fixed
- Window titles are updated when the application requests it (thanks @mikkeloscar!)
- Screwing with the border settings on tabbed and stacking layouts caused breakage (thanks @tajjada!)
- Several memory leaks, double frees, etc were fixed (thanks @neosilky!)
- Several double closes, buffer overflows, etc were fixed (thanks @1ace!)
- Many other small bugs were fixed (thanks @mikkeloscar, @xerpi, @1ace!)
- Some typos were found and fixed in the man pages (thanks @cyberhuman!)
Changes
- The hardcoded $mod+scroll actions introduced in sway 0.4 has been removed.
- You can now use a relative path to your wallpaper (thanks @Hummer12007!)
- ZSH completions are no longer included in the default build
- Cairo and Pango are now required dependencies (previously they were only
required if you wanted swaybg or swaybar support)
Sway 0.6
New Features
- Tabbed & stacking layouts (thanks @mikkeloscar!)
- Pango markup on swaybar (thanks @SirCmpwn and @Hummer12007!)
Bugs Fixed
- bindcode was incorrectly implemented and was corrected (thanks @mikkeloscar!)
- Window borders no longer render under transparent fullscreen windows (thanks @mikkeloscar!)
- swaylock's PAM configuration has been fixed on Debian derivatives (thanks @wdbw!)
- A double free issue was discovered and fixed (thanks @fluxchief!)
Changes
- Some improvements were made to the build process (thanks @sleep-walker!)
- Several clang warnings were squelched (thanks @mikkeloscar!)
- Small fixes were made to the default config (thanks @mikkeloscar, @nrechn!)