github nikitabobko/AeroSpace v0.18.0-Beta

latest releases: v0.20.0-Beta, v0.19.2-Beta, v0.19.1-Beta...
pre-release8 months ago

This release primarily features performance improvements, the new icon and contributions from the community.

Previously, AeroSpace suffered from major performance problems caused by the fact that AeroSpace was a single-threaded application, and macOS accessibility API is a blocking API. If at least one application was unresponsive, it'd block the entire system. Starting from this release, AeroSpace implements thread-per-application model, which allows it to stay responsive even in the mentioned case. On top of that, the accessibility requests were made cancellable, which helps to avoid doing unnecessary work when consecutive accessibility requests could be coalesced.

AeroSpace is migrated to Swift 6 strict concurrency mode which hopefully will help to prevent data-races.

The performance problems are not fixed entirely, but the release lays down a good foundation for future fixes. In particular, Godot (and maybe some other apps) still introduces half a second delay for AeroSpace, but it doesn't entirely block the system anymore! (tracking issue for investigating Godot: #218) Another optimization direction is to entirely avoid accessibility requests to windows which are located on invisible workspaces (tracking issue: #545)

Thread-per-application is a significant shift in AeroSpace architecture, I expect quite a few bugs in this release. Please report bugs as usual, but I encourage you to check if the bug is introduced in 0.18.0.

Performance improvements

New features

  • New icon
  • #748 Support pageUp, pageDown, home, end, forwardDelete
  • 2bb435b Support European/ISO sectionSign key in config
  • #1073 Add fail action to --boundaries-action. By @MediosZ
  • #846 Add workspace-is-focused and workspace-is-visible query data types. By @xiamaz
  • #730 Add Colemak keyboard layout preset. By @ll1zt

Bug fixes

  • #1257 Fix bug: Dead windows may appear in aerospace list-windows --all. By @rickyz
  • #1231 Fix bug: Binding reload-config in the main binding mode is unreliable. By @rickyz

Met vriendelijke groeten,
Nikita Bobko

Don't miss a new AeroSpace release

NewReleases is sending notifications on new releases.