# AeroSpace v0.21.0-Beta - Product: AeroSpace (https://whatsnew.fyi/product/aerospace) - Vendor: Nikita Bobko - 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 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'. --- - **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]_