Skip to content

Releases: nikitabobko/AeroSpace

v0.18.1-Beta

13 Apr 10:48

Choose a tag to compare

v0.18.1-Beta Pre-release
Pre-release

Performance fixes:

  • Make cmd-tab workspace switch as snappy as AeroSpace built-in commands
  • Make mouse resize & move more responsive
  • #218 Optimize focus switching logic. Now unresponsive apps don't affect focus switching at all

v0.18.0-Beta

12 Apr 18:42

Choose a tag to compare

v0.18.0-Beta Pre-release
Pre-release

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

v0.17.1-Beta

23 Feb 11:56

Choose a tag to compare

v0.17.1-Beta Pre-release
Pre-release
  • #1110 #1122 Fall back to old non-monospaced menu bar on macOS 13 Ventura due to bugs in macOS/SwiftUI
  • #1115 Fix bug. Don't treat Firefox tooltips as windows
  • #1108 Float PIP window in Firefox Developer Edition and Firefox Nightly. By @fullmetalsheep

v0.17.0-Beta

17 Feb 20:28

Choose a tag to compare

v0.17.0-Beta Pre-release
Pre-release

Update codesign certificate due to expiration. AeroSpace will re-request accessibility permission.

New features

Improvements

  • Float Firefox Picture in Picture window by default
  • #56 Make menu font monospaced. By @mobile-ar
  • #1036 Don't treat "Ghostty Quick Terminal" as a real windows
  • #1001 Delay new window detection until mouse is up
    • Now, Google Chrome picture in picture is floating by default (YouTube, Google Meet)
    • Brave tabs now detected as tiling windows when the tab is "dragged out"
    • Now, dragging tabs between Google Chrome windows is smoother

Bug fixes

  • Firefox non-native video fullscreen is now considered a window (about:config -> full-screen-api.macos-native-full-screen -> false)
  • #1089 Fix bug. If the window is closed on inactive workspace, don't focus the workspace. By @yspreen
  • Fix bug: flatten-workspace-tree ignored its cli args
  • #1101 Fix bug. Don't treat share window purple "pill" indicator as a window

v0.16.2-Beta

05 Dec 22:21

Choose a tag to compare

v0.16.2-Beta Pre-release
Pre-release

Hotfix. 0.16.1 is broken

v0.16.1-Beta

05 Dec 21:51

Choose a tag to compare

v0.16.1-Beta Pre-release
Pre-release

Improvements

  • #771 #706 Add more logging to trace the crashes

Bug fixes

  • #771 Potential fix for this crash
  • #335 Improve reliability of window layout

This is broken release. Please update to 0.16.2

v0.16.0-Beta

27 Nov 23:47

Choose a tag to compare

v0.16.0-Beta Pre-release
Pre-release

Improvements

  • #445 Don't rely on macOS unreliable kAXUIElementDestroyedNotification callback to tell if window is closed which might lead to ghost windows in some conditions

New features

  • #336 Add monitor-appkit-nsscreen-screens-id in list-windows/list-workspaces --format interpolation variables for better compatibility with sketchybar
  • Implement volume command
  • #592 Add app-exec-path/app-bundle-path interpolation variables to --format by @dzanotto
  • #741 Add smart-opposite in resize command by @wesbos

Bug fixes

  • #586 #678 Fix menubar dropdown showing incorrect workspace in macOS 15

v0.15.2-Beta

13 Oct 18:31

Choose a tag to compare

v0.15.2-Beta Pre-release
Pre-release

#585 Fix 0.15.0 regression: AEROSPACE_FOCUSED_WORKSPACE was accidentially renamed to AEROSPACE_WORKSPACE in exec-on-workspace-change callback

v0.15.1-Beta

13 Oct 14:59

Choose a tag to compare

v0.15.1-Beta Pre-release
Pre-release
  • #582 Fix 0.15.0 regression list-workspaces --focused returned all workspaces

v0.15.0-Beta

13 Oct 12:16

Choose a tag to compare

v0.15.0-Beta Pre-release
Pre-release

New features

  • New feature: automatically-unhide-macos-hidden-apps config option in aerospace.toml (off by default)
  • #427 Implement focus --dfs-indx by @Perlten
  • #373 Implement fullscreen --no-outer-gaps by @vrumger
  • A bunch of commands now accept optional --fail-if-noop flag. Example of commands: enable, workspace, move-node-to-monitor
  • #186 Add --window-id option to all commands that manipulate windows. Add --workspace option to all commands that manipulate workspaces.
  • #186 move-node-to-workspace and move-node-to-monitor now have --focus-follows-window flag
  • #444 Add --count flags to list-* query commands by @Henkru
  • #338 Implement summon-workspace command (works similarly to Xmonad)
  • #577 Add optional --json flag to all list-* query commands

Improvements

  • #131 Set AXUIElementSetMessagingTimeout to 1 second. It's low effort attempt to fight against freezes caused by apps.
  • #479 More reliable start-at-login by @jakenvac
  • #425 Windows of hidden applications will retain their workspace assignment (similar to macOS native fullscreen windows)

Bug fixes

  • #268 Fix bug: list-workspaces --focused sometimes could return multiple workspaces
  • #317 Fix bug: stop query commands from stealing focus
  • #527 Fix bug: Zoom window flickering when on invisible workspace
  • #453 Fix bug: list-workspaces --all with --format fails

Breaking changes

  • 26eadea focus --boundaries-action default value is now stop (previously it was wrap-around-the-workspace)
  • A bunch of commands now require --fail-if-noop if you want to get non-zero exit code (previously they returned non-zero exit code by default). The commands are: fullscreen, move-node-to-workspace, macos-native-fullscreen, move-mouse
  • It's no longer possible to switch to workspaces named "target". The name is now reserved.
  • Forbid changing PWD in exec.env-vars