# AeroSpace changelog > An i3-like tiling window manager for macOS. - Vendor: Nikita Bobko - Category: Productivity - Platforms: macOS - Official site: https://github.com/nikitabobko/AeroSpace - Tracked by: What's New (https://whatsnew.fyi/product/aerospace) - Harvested from: GitHub (nikitabobko/AeroSpace) - 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 ### v0.21.3-Beta - Date: 2026-07-16 - Version: v0.21.3-Beta - Original notes: https://github.com/nikitabobko/AeroSpace/releases/tag/v0.21.3-Beta - Permalink: https://whatsnew.fyi/product/aerospace/releases/v0.21.3-beta - Labels: Pre-release; Platforms: macOS - **fixed** — Ignore windows whose window id is zero to fix mistakenly detected windows in cmux - **changed** — Improve Wispr Flow popup detection - [#2169](https://github.com/nikitabobko/AeroSpace/issues/2169) Ignore windows whose window id is zero. Fixes the mistakenly detected windows in cmux - [#2170](https://github.com/nikitabobko/AeroSpace/issues/2170) Improve Wispr Flow popup detection ### v0.21.2-Beta - Date: 2026-07-07 - Version: v0.21.2-Beta - Original notes: https://github.com/nikitabobko/AeroSpace/releases/tag/v0.21.2-Beta - Permalink: https://whatsnew.fyi/product/aerospace/releases/v0.21.2-beta - Labels: Pre-release; Platforms: macOS - **fixed** — Fix crash - **fixed** — Fix bug where floating windows sometimes could snap to top left corner when switching back and forth between workspaces - [#2157](https://github.com/nikitabobko/AeroSpace/issues/2157) Fix crash - [#2153](https://github.com/nikitabobko/AeroSpace/pull/2153) Fix bug: floating windows sometimes could snap to top left corner when switching back and forth between workspaces. Kudos to [@Williawar](https://github.com/Williawar) ### v0.21.1-Beta - Date: 2026-07-01 - Version: v0.21.1-Beta - Original notes: https://github.com/nikitabobko/AeroSpace/releases/tag/v0.21.1-Beta - Permalink: https://whatsnew.fyi/product/aerospace/releases/v0.21.1-beta - Labels: Pre-release; Platforms: macOS - **fixed** — Focus-follows-mouse now respects fullscreen windows - **fixed** — Focus-follows-mouse no longer triggers when the mouse hovers over system menu dropdown - **fixed** — Floating windows are no longer inserted between accordion windows during focusing - **fixed** — Accessing menu on non-main screen is now possible when 'Displays have separate spaces' is off - [#2142](https://github.com/nikitabobko/AeroSpace/issues/2142) Fix bug: focus-follows-mouse didn't respect fullscreen windows - [#2143](https://github.com/nikitabobko/AeroSpace/discussions/2143) Fix bug: do not trigger focus-follows-mouse when the mouse hovers over system menu dropdown - [#2147](https://github.com/nikitabobko/AeroSpace/issues/2147) Fix bug: floating windows were inserted in between of every accordion window during focusing - [#1496](https://github.com/nikitabobko/AeroSpace/issues/1496) Fix bug: accessing menu on non-main screen was not possible ('Displays have separate spaces' is off) ### v0.21.0-Beta - Date: 2026-06-30 - Version: v0.21.0-Beta - Original notes: https://github.com/nikitabobko/AeroSpace/releases/tag/v0.21.0-Beta - Permalink: https://whatsnew.fyi/product/aerospace/releases/v0.21.0-beta - Labels: Pre-release; Platforms: macOS - **added** — Implement focus-follows-mouse feature - **added** — Implement shell && (and), || (or), ; (sequence) and | (pipe) operators - **added** — Implement aerospace test, aerospace test-not, aerospace eval, and aerospace echo commands - **added** — Add new more composable syntax for on-window-detected callback - **changed** — Migrate from TOML 1.0.0 to TOML 1.1.0 to support newlines in inline tables - **added** — Introduce warnings in reload-config command with optional --warnings-as-errors flag - **added** — Implement auto-reload-config config option - **added** — Implement aerospace subscribe command as alternative to callbacks - **added** — Implement aerospace run-callback command to programmatically run specified callbacks - **added** — Add --fail-if-fullscreen and --fail-if-macos-native-fullscreen flags to focus and move commands - **changed** — Allow layout command to change the layout of an empty workspace - **added** — Add --root flag to layout command - **added** — Add --workspace flag to layout command - **added** — Implement aerospace focus --wrap-around alias - **changed** — Document client-server socket protocol as part of public API with breaking changes for direct socket clients - **changed** — Treat Outlook reminders as popups - **changed** — Treat Codex pet window as popup - **changed** — Treat Emacs child frames as popups - **fixed** — Fix potentially infinite while loop - **fixed** — Potentially fix 'Value is already destroyed' crash **New features** - [#12](https://github.com/nikitabobko/AeroSpace/issues/12) Implement `focus-follows-mouse` - [#278](https://github.com/nikitabobko/AeroSpace/issues/278) Overall, increase AeroSpace scriptability: - Implement shell `&&` (and), `||` (or), `;` (sequence) and `|` (pipe). See [#shell section](https://nikitabobko.github.io/AeroSpace/guide#shell) in the updated docs. - Implement `aerospace test`, `aerospace test-not`, `aerospace eval`, `aerospace echo` commands. - `on-window-detected` callback gets a new more composable syntax: [docs](https://nikitabobko.github.io/AeroSpace/guide#on-window-detected-callback) (the old syntax is still supported and probably will remain supported forever: [docs](https://nikitabobko.github.io/AeroSpace/guide#legacy-on-window-detected-syntax)) - Related issues: [#359](https://github.com/nikitabobko/AeroSpace/issues/359) [#842](https://github.com/nikitabobko/AeroSpace/discussions/842) [#375](https://github.com/nikitabobko/AeroSpace/issues/375) [#460](https://github.com/nikitabobko/AeroSpace/issues/460) [#660](https://github.com/nikitabobko/AeroSpace/issues/660) - [16a0b634](https://github.com/nikitabobko/AeroSpace/commit/16a0b634eff726f29b329c7a7a70267073a024e9) Migrate from TOML 1.0.0 to TOML 1.1.0. Now, you can use newlines in inline tables! Which I highly recommend in your `on-window-detected` callbacks instead of the dubious double square brackets syntax. AeroSpace docs were updated to use the new syntax. See [TOML 1.1.0 release notes](https://github.com/toml-lang/toml/releases/tag/1.1.0) for more details. - [#1673](https://github.com/nikitabobko/AeroSpace/issues/1673) Introduce the warnings in `reload-config` command. Warnings are printed to stderr and do not block config reload. You can use the new `--warnings-as-errors` flag to convert warnings to errors. - You will now get a warning if `config-version` is below the maximum value. - [#163](https://github.com/nikitabobko/AeroSpace/issues/163) Implement `auto-reload-config` config option. Kudos to [@bshowell0](https://github.com/bshowell0) - [#1514](https://github.com/nikitabobko/AeroSpace/issues/1514) Implement `aerospace subscribe` command - the alternative to callbacks. Kudos to [@ojowwalker77](https://github.com/ojowwalker77) - [#107](https://github.com/nikitabobko/AeroSpace/issues/107) Implement `aerospace run-callback` command to programmatically run the specified callback. - [#1480](https://github.com/nikitabobko/AeroSpace/issues/1480) `focus`/`move` commands: add `--fail-if-fullscreen`/`--fail-if-macos-native-fullscreen`. Kudos to [@ishangodawatta](https://github.com/ishangodawatta) - [bb1e5429](https://github.com/nikitabobko/AeroSpace/commit/bb1e542923865a3e855b78cb5836ae28e5752232) `layout` command can now change the layout of an empty workspace (changes the layout of the root tiling container) - [#940](https://github.com/nikitabobko/AeroSpace/issues/940) `layout` command: support new `--root` flag - [91064acc](https://github.com/nikitabobko/AeroSpace/commit/91064acc9d1475efbc10742f560acfeb9259590cb) `layout` command: support `--workspace ` flag - [#1701](https://github.com/nikitabobko/AeroSpace/issues/1701) Implement `aerospace focus --wrap-around` alias. Kudos to [@i-pj](https://github.com/i-pj) **New documentation** - `config-version` is now properly documented: [link](https://nikitabobko.github.io/AeroSpace/guide#config-version) - `AEROSPACE_WINDOW_ID` and `AEROSPACE_WORKSPACE` environment variables are now properly documented: [link](https://nikitabobko.github.io/AeroSpace/guide#environment-variables) - Update the "trackpad gestures trick" in goodies to use the new more performant shell operators: [link](https://nikitabobko.github.io/AeroSpace/goodies#use-trackpad-gestures-to-switch-workspaces) **Improvements** - [#1513](https://github.com/nikitabobko/AeroSpace/issues/1513) The client-server socket protocol is now [documented](https://nikitabobko.github.io/AeroS _[Truncated at 4000 characters — full notes: https://github.com/nikitabobko/AeroSpace/releases/tag/v0.21.0-Beta]_ ### v0.20.3-Beta - Date: 2026-03-08 - Version: v0.20.3-Beta - Original notes: https://github.com/nikitabobko/AeroSpace/releases/tag/v0.20.3-Beta - Permalink: https://whatsnew.fyi/product/aerospace/releases/v0.20.3-beta - Labels: Pre-release; Platforms: macOS - **fixed** — Ensure that floating windows never appear off screen when moved by AeroSpace, such as when moved between monitors - **fixed** — Fix bug where floating windows could get stuck in a corner - **changed** — Update codesign certificate due to expiration, which will cause AeroSpace to re-request accessibility permission - [8134ad00](https://github.com/nikitabobko/AeroSpace/commit/8134ad00) Make sure that floating windows never appear off screen when moved by AeroSpace (e.g. when moved between monitors). By @mobile-ar - [#1987](https://github.com/nikitabobko/AeroSpace/issues/1987) [#1875](https://github.com/nikitabobko/AeroSpace/discussions/1875) Fix bug: floating windows could stuck in a corner. Kudos to @fbuetler, @tweezerticle, @buacanning for finding the root cause. - Update codesign certificate due to expiration. **AeroSpace will re-request accessibility permission.** ### v0.20.1-Beta - Date: 2026-01-01 - Version: v0.20.1-Beta - Original notes: https://github.com/nikitabobko/AeroSpace/releases/tag/v0.20.1-Beta - Permalink: https://whatsnew.fyi/product/aerospace/releases/v0.20.1-beta - Labels: Pre-release; Platforms: macOS - **changed** — Improve Xcode dialog heuristic so that 'Open Quickly' and 'Quick Actions' are no longer treated as windows - **fixed** — Don't show secure input indicator if the currently active binding mode is empty - **changed** — Improve crash logging - **fixed** — Fix crash - Improve Xcode dialog heuristic. 'Open Quickly' and 'Quick Actions' are no longer treated as windows - [#1817](https://github.com/nikitabobko/AeroSpace/discussions/1817#discussioncomment-15145662) Don't show secure input indicator if the currently active binding mode is empty - [#1825](https://github.com/nikitabobko/AeroSpace/discussions/1825) Improve crash logging - [#1881](https://github.com/nikitabobko/AeroSpace/issues/1881) Fix crash ### v0.20.0-Beta - Date: 2025-11-24 - Version: v0.20.0-Beta - Original notes: https://github.com/nikitabobko/AeroSpace/releases/tag/v0.20.0-Beta - Permalink: https://whatsnew.fyi/product/aerospace/releases/v0.20.0-beta - Labels: Pre-release; Platforms: macOS - **changed** — Avoid unnecessary AX requests for focusing windows to improve performance with applications slow at answering AXRaiseAction requests - **added** — Show an indication when macOS Secure Input is on - **changed** — Improve dialog and popup heuristics for better compatibility with applications like Zebar, VSCode, Screen Studio, CleanShot X, browser PIPs, and Slack - **changed** — Ignore browser PIP windows by default - **changed** — Improve the optimal hide corner algorithm - **changed** — Better config error reporting dialog - **changed** — Volume command now shows volume indicator - **fixed** — Fix bug where focus command didn't work when all windows were floating - **fixed** — Fix bug where detaching Chrome tabs sometimes yielded a floating window since Tahoe - **fixed** — Ignore iTerm2 hotkey window - **fixed** — Fix crashes - **added** — New persistent-workspaces config option - **added** — Support more interpolation variables in list-monitors, list-windows, list-workspaces - **added** — Add i3-ordered menubar style - **added** — Add fullscreen mode indication in menubar - **added** — Lift on-window-detected.run limitations - **added** — Implement on-mode-changed callback - **changed** — Make users explicitly supply --stdin flag to workspace and move-node-to-workspace commands when stdin is used **Improvements** - [85fb9779](https://github.com/nikitabobko/AeroSpace/commit/85fb977905b47a0183f1927486a214244ec27406) Performance: avoid unnecessary AX requests for focusing windows (affects apps that are slow at answering `AXRaiseAction` AX requests. For instance, Godot) - [#1486](https://github.com/nikitabobko/AeroSpace/issues/1486) Show an indication when macOS Secure Input is on. By @mobile-ar - [#1617](https://github.com/nikitabobko/AeroSpace/issues/1617) [#1658](https://github.com/nikitabobko/AeroSpace/discussions/1658) [#1710](https://github.com/nikitabobko/AeroSpace/discussions/1710) [#1271](https://github.com/nikitabobko/AeroSpace/issues/1271) [#221](https://github.com/nikitabobko/AeroSpace/issues/221) [#1667](https://github.com/nikitabobko/AeroSpace/discussions/1667) [c71c243298](https://github.com/nikitabobko/AeroSpace/commit/c71c24329871a9014a4410291e71e3247f2767ac) Improve dialog/popup heuristics (Compatibility with: Zebar, VSCode, Screen Studio, CleanShot X, browser PIPs, Slack, and how the hell knows what else) - [#1617](https://github.com/nikitabobko/AeroSpace/issues/1617) [#2](https://github.com/nikitabobko/AeroSpace/issues/2) Ignore browser PIP windows by default - New heuristic logic might break existing properly working applications. Please report issues - [#413](https://github.com/nikitabobko/AeroSpace/issues/413) Improve the _optimal hide corner_ algorithm - [#1495](https://github.com/nikitabobko/AeroSpace/issues/1495) Better config error reporting dialog. By @mobile-ar - [#1494](https://github.com/nikitabobko/AeroSpace/issues/1493) `volume` command now shows volume indicator. By @mobile-ar **Bug fixes** - [#521](https://github.com/nikitabobko/AeroSpace/issues/521) Fix bug: `focus` command didn't work when all windows were floating - [#1771](https://github.com/nikitabobko/AeroSpace/issues/1771) Fix bug: Sometimes detaching Chrome Tabs yields a floating window since Tahoe - [#1813](https://github.com/nikitabobko/AeroSpace/issues/1813) Ignore iTerm2 hotkey window - [#1613](https://github.com/nikitabobko/AeroSpace/issues/1613) [#1588](https://github.com/nikitabobko/AeroSpace/issues/1588) Fix crashes **New features** - [#999](https://github.com/nikitabobko/AeroSpace/issues/999) New `persistent-workspaces` config option - [#1656](https://github.com/nikitabobko/AeroSpace/issues/1656) [#1161](https://github.com/nikitabobko/AeroSpace/issues/1161) Support more interpolation variables in `list-monitors`, `list-windows`, `list-workspaces`. By @alewis001 - [#711](https://github.com/nikitabobko/AeroSpace/issues/711#issuecomment-3222556176) Add i3-ordered menubar style. By @mobile-ar - [#1494](https://github.com/nikitabobko/AeroSpace/issues/1494) Add `fullscreen` mode indication in menubar. By @mobile-ar - [#20](https://github.com/nikitabobko/AeroSpace/issues/20) Lift `on-window-detected.run` limitations - [#390](https://github.com/nikitabobko/AeroSpace/issues/390) Implement `on-mode-changed` callback **Breaking changes** - [#1683](https://github.com/nikitabobko/AeroSpace/issues/1683) Make users explicitly supply `--stdin` flag to `workspace`/`move-node-to-workspace` commands when stdin is used. By @Gai-H \- Nikita Bobko, 24 November 2025 ### v0.19.2-Beta - Date: 2025-07-21 - Version: v0.19.2-Beta - Original notes: https://github.com/nikitabobko/AeroSpace/releases/tag/v0.19.2-Beta - Permalink: https://whatsnew.fyi/product/aerospace/releases/v0.19.2-beta - Labels: Pre-release; Platforms: macOS - **fixed** — Japanese characters no longer cause the tray menu to glitch Bug fix - [#1576](https://github.com/nikitabobko/AeroSpace/issues/1576) Japanese characters make the tray menu glitch ### v0.19.1-Beta - Date: 2025-07-17 - Version: v0.19.1-Beta - Original notes: https://github.com/nikitabobko/AeroSpace/releases/tag/v0.19.1-Beta - Permalink: https://whatsnew.fyi/product/aerospace/releases/v0.19.1-beta - Labels: Pre-release; Platforms: macOS - **fixed** — Fix NoMachine focus weirdness - **fixed** — Treat choose GUI fuzzer as a popup - **fixed** — Ignore focus changes from popups - **fixed** — Fix 0.19.0 regression with incorrect move-node-to-workspace exit-code - **changed** — Float iPhone Simulator window by default **Bug fixes** - [#1546](https://github.com/nikitabobko/AeroSpace/issues/1546) Fix NoMachine focus weirdness - [#1560](https://github.com/nikitabobko/AeroSpace/issues/1560) Treat [choose](https://github.com/chipsenkbeil/choose) GUI fuzzer as a popup - [#1560](https://github.com/nikitabobko/AeroSpace/issues/1560) Ignore focus changes from popups - [#1563](https://github.com/nikitabobko/AeroSpace/issues/1563) Fix 0.19.0 regression. Incorrect `move-node-to-workspace` exit-code **Improvements** - [#1547](https://github.com/nikitabobko/AeroSpace/issues/1547) Float iPhone Simulator window by default ### v0.19.0-Beta - Date: 2025-07-10 - Version: v0.19.0-Beta - Original notes: https://github.com/nikitabobko/AeroSpace/releases/tag/v0.19.0-Beta - Permalink: https://whatsnew.fyi/product/aerospace/releases/v0.19.0-beta - Labels: Pre-release; Platforms: macOS - **added** — Support different menu bar styles - **added** — Add --boundaries and --boundaries-action options for move command - **added** — Support focus dfs-next and focus dfs-prev commands - **added** — Implement swap command - **added** — Show application names in corresponding workspaces in menu bar - **added** — Support --json and --count options in list-modes command - **fixed** — Windows may randomly jump to the focused workspace - **fixed** — move-node-to-monitor right/down should place the windows to the most left/up available position - **fixed** — CGPoint.findIn crash - **fixed** — Floating windows could appear off-screen - **changed** — Improve dialog heuristics for qutebrowser without decorations - **changed** — start-at-login = true now registers AeroSpace as a proper Login Item in System Settings - **removed** — Forbid empty string in workspace names - **removed** — Drop --fail-if-noop from move-node-to-monitor command - **deprecated** — Deprecate non-empty after-login-command **New features** - [#711](https://github.com/nikitabobko/AeroSpace/issues/711) Different menu bar styles. By @mobile-ar - [#183](https://github.com/nikitabobko/AeroSpace/issues/183) Add `--boundaries` and `--boundaries-action` options for move command. By @gabsrp2002 - [#248](https://github.com/nikitabobko/AeroSpace/issues/248) Support `focus dfs-next` / `focus dfs-prev`. By @rickyz - [#8](https://github.com/nikitabobko/AeroSpace/issues/8) Implement `swap` command. By @rickyz - [#191](https://github.com/nikitabobko/AeroSpace/issues/191) Show application names in corresponding workspaces in menu bar - [#1026](https://github.com/nikitabobko/AeroSpace/issues/1026) Support `--json` and `--count` in `list-modes` command. By @MikaelCarpenter **Bug fixes** - [#1216](https://github.com/nikitabobko/AeroSpace/issues/1216) Windows may randomly jump to the focused workspace - [#1425](https://github.com/nikitabobko/AeroSpace/issues/1425) `move-node-to-monitor` `right`/`down` should place the windows to the most left/up available position - [#164](https://github.com/nikitabobko/AeroSpace/issues/164) `CGPoint.findIn` crash - [#1492](https://github.com/nikitabobko/AeroSpace/issues/1492) Floating windows could appear off-screen **Improvements** - [#276](https://github.com/nikitabobko/AeroSpace/issues/276) Better dialog heuristics for qutebrowser without decorations - [#1482](https://github.com/nikitabobko/AeroSpace/issues/1482) `start-at-login = true` now registers AeroSpace as a proper Login Item in System Settings **Breaking changes** - Forbid empty string in workspace names - [#1423](https://github.com/nikitabobko/AeroSpace/issues/1423) Drop `--fail-if-noop` from `move-node-to-monitor ` - [#1482](https://github.com/nikitabobko/AeroSpace/issues/1482) Deprecate non-empty `after-login-command` \- Nikita Bobko, 11 July 2025