Skip to content

Commit 430cd87

Browse files
PangMo5claude
andcommitted
chore: release 1.3.2
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 71e1795 commit 430cd87

2 files changed

Lines changed: 35 additions & 1 deletion

File tree

CHANGELOG.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,40 @@ All notable changes to Tatami. This file is the source of truth for the release
44
notes shown on the website and on GitHub Releases (the release workflow appends
55
an Install / Update section when publishing).
66

7+
## 1.3.2 — 2026-06-11
8+
9+
A maintenance release — faster, steadier workspace switching and a batch of
10+
stability fixes, on top of a large internal hardening pass. Updating from
11+
1.2.x? The 1.3.0–1.3.1 notes included below apply to you too.
12+
13+
### Improvements
14+
- **Snappier workspace switching.** Activations now read window identities from a cache instead of querying every window over Accessibility on the hot path, and a switch that arrives mid-activation supersedes the one still in flight — so rapid next/previous presses advance past a slow-to-settle workspace instead of stalling on it.
15+
- **A busy app no longer disappears.** When an app is too loaded to answer an Accessibility query in time, Tatami keeps its last-known windows instead of reading the timeout as "no windows" — so a momentarily-busy app no longer drops out of its tile, floating mirror, or marker dot. A single hung app can also no longer freeze the main thread for several seconds during a tiling pass.
16+
17+
### Fixes
18+
- **Floating mirrors could keep recording after they should have stopped** — several races left ScreenCaptureKit streams (and the screen-recording indicator) running longer than intended; capture now starts and stops in a strict order.
19+
- **Freshly-launched Electron windows** sometimes missed their resize/close events when the first attempt to observe them failed; those subscriptions now retry like the rest, so a phantom tile no longer lingers.
20+
- **A corrupt `config.toml` no longer wipes your setup** — a broken top-level section (profiles, shared apps, settings) now keeps your previous config instead of resetting it (which the next write would have made permanent, taking your workspaces with it), and an unparsable settings field is surfaced instead of silently ignored.
21+
- **"Relaunch" no longer turns into a plain quit** when the relauncher fails to start — Tatami stays running and logs the failure.
22+
23+
---
24+
25+
*Updating from 1.2.x? Everything in 1.3.0–1.3.1 applies to you too:*
26+
27+
### ⚠️ Breaking Changes (since 1.3.0)
28+
- **`[[floatingApps]]` is now `[[sharedApps]]`** — configs migrate automatically on first launch: each floating entry becomes a shared app with `floating = true`. Shared apps are part of *every* workspace — tiled into each layout by default, or floating everywhere. Manage them in **Workspaces → Shared Apps**; dotfiles that template the config should switch to the new key.
29+
- **Floating windows now need the Screen Recording permission** — they stay above the tiles via ScreenCaptureKit mirrors, and without the grant they won't stay on top. Grant it in **Settings → General → Permissions**, then relaunch.
30+
31+
### New since 1.3.0
32+
- **Floating windows that stay above the tiles — without disabling SIP.** Mark any app as floating per workspace (the Float toggle next to Auto-open, or the `toggleFloating` hotkey): its windows stay untiled and are kept on top by mirroring them onto Tatami-owned ScreenCaptureKit panels. Reach for a floating window and the real one is handed back to you; while a floating app has focus the mirrors get out of the way. Multiple floating windows stack by focus recency.
33+
- **Shared Apps editor** in the Workspaces sidebar — add/remove shared apps and flip their Float toggle, presented like a special workspace.
34+
- **Settings reorganized** into a System Settings-style sidebar (General, Tiling, Focus & Mouse, Workspaces, Shortcuts, Appearance), with a Screen Recording row under Permissions.
35+
- **Shared hotkeys**`toggleSharedFloating` floats the focused app everywhere, and `toggleAppInSharedApps` adds/removes the focused app in Shared Apps.
36+
- **Per-action HUD** — floating changes, app membership, tiling pause, fullscreen zoom, and balance now show a brief overlay, each individually toggleable in **Settings → Appearance → Overlay**.
37+
- **What's New on first launch after an update**, with the full changelog viewable from **About → View Changelog**.
38+
- **Back to recent when empty** (`settings.switching.switchToRecentWhenEmpty`, off by default) — when the active workspace's last window closes, switch to the recent workspace instead of staring at an empty desktop.
39+
- **Internal failures now surface in the UI** — a broken `config.toml`, an unreadable `layouts.json`, a CLI server that won't start, unavailable floating mirrors, or a failed Launch-at-Login registration show a warning HUD and a ⚠️ in the menu bar (with a Problems section) until fixed.
40+
741
## 1.3.1 — 2026-06-07
842

943
A quick follow-up to 1.3.0 — updating from 1.2.x? The 1.3.0 notes included

Project.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ let developmentTeam = Environment.developmentTeam.getString(default: "")
99
let sparklePublicEDKey = Environment.sparklePublicEdKey.getString(default: "")
1010
// Single source of truth for the marketing version. The release workflow
1111
// verifies the pushed tag matches this before building.
12-
let appVersion = "1.3.1"
12+
let appVersion = "1.3.2"
1313
// Build number is injected by CI (github.run_number); 1 for local builds.
1414
let buildNumber = Environment.buildNumber.getString(default: "1")
1515

0 commit comments

Comments
 (0)