Changelog
Scene versions, in reverse chronological order. All releases are on GitHub.
v0.6.1 — Apr 29, 2026
Free Mode
V0.6.1 adds Free Mode — a one-click pause for all of Scene's automatic behavior. Click the new "Free Mode" row in the menu bar (between Layouts and Settings) and Scene goes dormant: layout hotkeys, workspace hotkeys, drag-swap, seam-resize, and workspace auto-triggers all silently no-op until you toggle back. Saved layouts, workspaces, hotkey bindings, and settings are all preserved — they just don't fire.
- Added a Free Mode toggle row in the menu bar between Layouts and Settings. Leading checkmark when active, dimmed Layouts and Workspaces rows, and a pause-rectangle icon in the menu bar so dormant state is visible at a glance.
- Free Mode is in-memory only — every quit + relaunch returns Scene to its normal active state. There is no persisted "Scene is paused" state to forget about.
- Localized as "Free Mode" / 閒置模式 / 自由模式 (en / zh-HK / zh-TW).
- No SceneCore changes; tests still 317/317. Pure SceneApp UI plus a freeMode flag on Coordinator and a matching paused flag on TriggerSupervisor.
v0.6.0 — Apr 25, 2026
Diagnostics + persistent workspaces
Two major features in V0.6.0. First, a privacy-first diagnostics subsystem so reporting bugs takes 30 seconds instead of an hour of back-and-forth. Second, persistent workspaces — pin apps to a workspace, assign it a macOS Desktop, and pick an enforcement mode so each context (Coding, Reading, Streaming) stays visually clean even as you switch between them.
- Added a "Diagnostics" section in Settings → About. When enabled (default ON), Scene records orchestration events to a local JSON Lines log capped at 2 MB, gzip-rotated daily, kept 7 days. Captures layout fires, the 7-step workspace activation flow with timing, AX permission changes, screen arrangement diffs, and animation outcomes — including AX setFrame failures previously swallowed by os.Logger.
- Added an Export Diagnostics button that packages a sanitized zip — every workspace name, app bundle ID, monitor name, calendar keyword, and Focus shortcut name is replaced with an 11-character SHA hash. The salt itself never leaves your Mac (only a derived hashID does, so within one bundle the hashes correlate but cannot be reversed). Reveals the zip in Finder and opens a pre-filled GitHub issue with environment info.
- Added Pinned Apps, Assign to Desktop 1-9, and Enforcement Mode (Off / Arrange only / Hide inactive / Quit inactive) to every Workspace. Activation now switches to the assigned Desktop via Mission Control, launches the pinned set, applies the layout, and continuously enforces the chosen mode in the background.
- Improved the Workspace editor Save button — disabled when there are no unsaved edits, shows a grey "Unsaved changes" badge while you have a dirty draft, flashes a green "Saved ✓" indicator for 2 seconds after each commit.
- Tests: 244 → 317. New coverage for the diagnostic event schema, environment-snapshot signature, ring buffer, async-stream-backed writer (race-safe drain), gzip round-trip, salt store, sanitizer PII drop, and SettingsStore v2→v3 migration.
Show older versions
v0.5.7 — Apr 24, 2026
Custom layouts, seam drag, and a save button that actually works
Three headline changes in V0.5.7. First, user-authored custom layouts — click a slot to split it, drag seams to adjust, save any tile shape you want as a first-class hotkey-bindable layout. Second, companion resize — when Scene has tiled your windows and you drag one edge, the neighbouring tile follows in real time. Third, the Save button in Settings → Layouts finally behaves: changes persist through layout switches, and the button darkens after a successful save so you can tell it landed.
- Added a "+ Custom" button in Settings → Layouts that opens a canvas editor — click any slot for split / delete, drag seams to adjust proportions, save any tile shape as a first-class layout alongside the 11 built-in templates.
- Added companion resize on
twoCol/twoRow/threeCol/threeRowlayouts: drag the edge of one tile and the neighbour reflows in real time. Hold Option to bypass. - Fixed the Save button silently wiping customisations when you switched layouts, and wired Save to a dirty-state flag so it darkens after a successful save and only re-enables on further edits.
- Fixed a multi-display coordinate bug where drag-swap and seam-resize could target off-screen positions on secondary displays below or left of the primary.
v0.5.6 — Apr 23, 2026
In-app update installer
Click Update available in the menu, click Install and Restart in the confirmation alert, and Scene downloads the new DMG, swaps itself out for the new bundle, and relaunches automatically. No more manual download + drag + re-grant ritual.
- Added an in-app installer: confirmation alert with Install and Restart / Release Notes / Later, then download → verify (Team ID
22K6G3HH9G) → detached helper script →ditto --noqtnreplace → relaunch. - Accessibility permission survives across updates because TCC binds the grant to the Designated Requirement (stable across any release signed with the same Developer ID), and
dittopreserves thecom.apple.maclxattr that anchors the grant. - The helper script backs up the old app to
/tmp/Scene.app.bak-$$before replacing, rolls back on failure, and logs to/tmp/scene-update-<pid>.logfor post-mortems.
v0.5.5 — Apr 23, 2026
Quit-relaunch update detection + Workspaces delete button
The "Update available" menu item now reliably appears after a quit + relaunch, and Workspaces in Settings can finally be removed via a visible toolbar button instead of a hidden swipe gesture.
- Fixed the case where Scene cached the GitHub check on version N before N+1 was published, then a quit + relaunch within 24 hours silently skipped the check and the user never saw the new release in the menu —
UpdateCheckernow bypasses the 24-hour debounce on launch (hourly background checks and wake-from-sleep still honor it). - Added a visible delete (trash) button to the Workspaces tab toolbar — the previous swipe-to-delete affordance was barely discoverable on macOS NavigationSplitView, so users believed the seeded Coding / Meeting / Reading / Streaming workspaces couldn't be removed.
v0.5.4 — Apr 23, 2026
First-launch reliability + Accessibility upgrade recovery
The one-time welcome window no longer requires Accessibility permission to appear, and the tccutil reset rescue command for the v0.4.x → v0.5.x upgrade transition is now visible from the moment the onboarding window opens.
- Fixed the welcome window never appearing when upgrading from an ad-hoc-signed v0.4.x build to a notarized v0.5.x — the welcome no longer requires Accessibility to be granted first, and chains into the AX prompt automatically when the user dismisses it.
- Fixed the
tccutil resetrescue hint being hidden behind a failed "Check again" click that most users never made — the hint, the Copy button, and the paste-into-Terminal instructions are now visible from the moment the onboarding window opens. - Fixed returning users without Accessibility having to discover the hidden "Grant Accessibility" item in the menu bar — the onboarding window now opens automatically on launch when permission is missing.
v0.5.3 — Apr 22, 2026
Smoother animation + Intel support
Window animations on native apps now run at 60Hz (up from 30Hz), and Intel Macs can finally install Scene from the same DMG.
- Improved animation smoothness: native apps (Safari, Finder, Xcode, Notes, Preview, System Settings, Mail, Messages) now animate at 60Hz. Electron apps (VS Code, Cursor, Chrome, Brave, Slack, Discord, Figma, Notion, Obsidian, Teams) keep the 30Hz throttle to avoid back-pressure stalls.
- Improved animation timing: duration now scales with move distance — short nudges feel snappier, long moves feel less rushed.
- Added Intel Mac support via universal binary — one DMG runs native on both Apple Silicon and Intel.
v0.5.2 — Apr 21, 2026
First-launch welcome window
New users now see a short welcome window on first launch, confirming Scene is running and pointing to the menu bar icon.
- Added a one-time welcome window with a highlighted menu bar icon and an "Open Settings" shortcut.
- Added "Show welcome screen again" in Settings → About.
- Fixed a stale version string in the About tab.
v0.5.1 — Apr 21, 2026
Continuous update detection
Scene now catches new releases while it's running, instead of only at launch.
- Added an hourly background check for new versions (still rate-limited to one call per day).
- Added a wake-from-sleep check, so long-running Macs see updates within an hour.
v0.5.0 — Apr 21, 2026
Notarized by Apple
Scene is now signed with a Developer ID and notarized by Apple — install it like any other trusted Mac app, with no Gatekeeper warning.
- Added Developer ID signing and Apple notarization.
- Improved upgrade reliability: future updates preserve your Accessibility grant automatically.
Upgrading from v0.4.3 or earlier? macOS treats v0.5.0 as a new app because the signature format changed. Re-grant Accessibility once in System Settings → Privacy & Security → Accessibility. After that, v0.5.x → v0.5.y updates are seamless.
v0.4.3 — Apr 20, 2026
Passive update nudge
A tinted "Update available" item now appears at the top of the menu when a new Scene release lands on GitHub.
- Added a daily update check with a click-through to the release page.
- Improved DMG size: 2.0 MB → 1.4 MB via recompressed icons.
v0.4.2 — Apr 20, 2026
Fixes
- Fixed animation lag on 120 Hz ProMotion displays — window swaps now finish in the configured 250 ms.
- Fixed a stale "active workspace" checkmark appearing on launch.
- Fixed a 5-second delay on workspace clicks that had no apps to quit.
- Fixed a case where re-firing a layout missed a window opened moments earlier.
v0.4.1 — Apr 20, 2026
Smaller DMG and a polished installer
The DMG is now half its previous size, and dragging Scene into Applications uses a custom installer window with pinned positions and a directional chevron.
- Improved DMG size: 2.8 MB → 1.4 MB.
- Added a custom DMG background with hidden toolbar and pinned icon positions.
- Improved the "grant-denied-after-update" hint with a one-click Copy Command button.
- Fixed "Activated" showing even when layout apply had failed.
- Fixed calendar triggers with empty keywords matching every event.
- Removed Japanese; shipping languages are English and 繁體中文 (香港 / 台灣).
v0.4.0 — Apr 19, 2026
Workspaces — the first public release of Scene
Scene bundles a window layout, apps to launch and quit, a macOS Focus mode, and optional auto-triggers into a single click.
- Added Workspaces with four built-in presets — Coding, Meeting, Reading, Streaming — on ⌘⌥1–4.
- Added five trigger types: manual, monitor connect, time of day, calendar event, and wake-from-sleep.
- Added three vertical preset layouts on ⌘⌃8 / ⌘⌃9 / ⌘⌃0.
- Added layout thumbnails in the menu bar and Settings.
- Added multilingual UI — English, 繁體中文 (香港 / 台灣), 日本語.
Breaking: layout hotkeys moved from ⌘⇧1–7 to ⌘⌃1–9,0. The old shortcuts collided with macOS screenshot bindings.
v0.1.0 — Apr 19, 2026
Scene v0.1
First technical preview — a macOS menu bar app for instant window layouts.
- Added 7 preset layouts: Full, Halves, Thirds, Quads, Main+Side, LeftSplit+Right, Left+RightSplit.
- Added global hotkeys ⌘⇧1–7.
- Added Accessibility onboarding.
- Added Electron window tolerance (±5 px retry) and multi-display support.