1889 Commits
Author SHA1 Message Date
semantic-release-bot 4ecfc4606f chore(release): 100.2.0 [skip ci]
# [100.2.0](https://github.com/KofTwentyTwo/CommandTabFree/compare/v100.1.0...v100.2.0) (2026-06-16)

### Features

* **updates:** enable Sparkle auto-update via GitHub Pages appcast ([45457cb](https://github.com/KofTwentyTwo/CommandTabFree/commit/45457cb))
v100.2.0
2026-06-16 21:05:45 +00:00
james.maes 45457cb313 feat(updates): enable Sparkle auto-update via GitHub Pages appcast
Point DOMAIN at the repo's GitHub Pages site (serves the gh-pages appcast.xml), enable SUEnableAutomaticChecks, and remove the in-tree appcast skeleton (feed is published out-of-tree). Ships an auto-updating build.
2026-06-16 16:02:04 -05:00
james.maes 62e0226f01 ci: stop release tail clobbering .fork-sync-state cursor [skip ci]
Reset .fork-sync-state to v11.3.0 (last-synced upstream tag) and remove the release-tail step that overwrote it with the fork release tag, which would stall upstream-sync. Update SESSION-STATE/TODO/CICD-STATUS/README for the live signed+notarized v100.1.0 release.
2026-06-16 15:32:55 -05:00
github-actions[bot] 92254c021f chore(sync-state): advance to v100.1.0 [skip ci] 2026-06-16 19:48:28 +00:00
semantic-release-bot 0aca4d9400 chore(release): 100.1.0 [skip ci]
# [100.1.0](https://github.com/KofTwentyTwo/CommandTabFree/compare/v100.0.3...v100.1.0) (2026-06-16)

### Bug Fixes

* **ci:** build ad-hoc until Apple cert provisioned ([6070f0c](https://github.com/KofTwentyTwo/CommandTabFree/commit/6070f0c))
* **l10n:** regenerate base Localizable.strings from source ([d1e1b29](https://github.com/KofTwentyTwo/CommandTabFree/commit/d1e1b29))

### Features

* **release:** sign + notarize with fork Developer ID ([2f9fac1](https://github.com/KofTwentyTwo/CommandTabFree/commit/2f9fac1))
v100.1.0
2026-06-16 19:48:19 +00:00
james.maes 2f9fac17b7 feat(release): sign + notarize with fork Developer ID
Set the fork Developer ID in config/local.xcconfig (Manual style + team), re-sign the vendored Sparkle helpers under it, and import the cert with an optional APPLE_P12_PASSWORD. Built, signed, and notarized (Accepted) locally before cutting.
2026-06-16 14:42:45 -05:00
james.maes 4a007e88c9 docs: add owner-gated TODO; tidy SESSION-STATE
Capture the owner-gated remaining work (publishing pipeline blockers) in docs/TODO.md; make SESSION-STATE HEAD reference hash-stable.
2026-06-16 12:55:22 -05:00
james.maes 885c52567d docs: record CI green + ad-hoc build fix + sync labels
Push CI is fully green (run 27634828800). NEXT SESSION blocker resolved; remaining work is owner-gated only.
2026-06-16 12:16:12 -05:00
james.maes 6070f0cbb9 fix(ci): build ad-hoc until Apple cert provisioned
Release build inherited upstream's Developer ID and failed on CI (exit 65, no cert). Build ad-hoc when the release gate is not signing-ready; build_app.sh now forwards xcodebuild overrides. Auto-switches to signed when the owner adds the cert.
2026-06-16 12:08:05 -05:00
james.maes d1e1b29623 fix(l10n): regenerate base Localizable.strings from source
Base strings drifted from source after the About redesign and brand sweep; regenerating via genstrings unblocks the generated-files CI gate. Dead paywall strings stay upstream-branded to keep merge surface minimal.
2026-06-15 15:22:49 -05:00
james.maes 2588101096 docs: correct CI/CD status + add NEXT SESSION handoff 2026-06-15 15:07:12 -05:00
james.maes 6313c295f3 docs: record CI/CD wiring + Guard B fix (green on unblocked) 2026-06-15 14:55:24 -05:00
james.maes d3e7529d91 ci: fix Guard B to match shipped de-paywall patch (guard-false-else + depaywall marker) 2026-06-15 14:52:09 -05:00
james.maes 287c4a07c4 ci: gate release tail on owner secrets (push CI green until then); sign_update --ed-key-file; commitlint sync-merge ignores; drop upstream-only scripts 2026-06-15 14:45:14 -05:00
james.maes eb95ad2d52 docs(readme): note .dmg/.zip direct-download install option 2026-06-15 14:31:18 -05:00
james.maes b9e871f176 chore: repo renamed alt-tab-free → CommandTabFree (update URLs); drop JetBrains sponsor from README 2026-06-15 14:13:53 -05:00
james.maes 39f10cfba3 docs: mark ⌘⇥ app icon as final (owner-approved), drop real-artwork TODO 2026-06-15 14:05:16 -05:00
james.maes 5b590bd6e5 docs: README install section + mark §3.1 brand/l10n/icon items done 2026-06-15 14:00:35 -05:00
james.maes 0b6d389842 docs: bump SESSION-STATE to v100.0.3 (full l10n rebrand) v100.0.3 2026-06-15 13:44:18 -05:00
james.maes adcd7c5f93 l10n: rebrand AltTab→CommandTabFree across all language tables (attribution kept) 2026-06-15 13:13:16 -05:00
james.maes b2cad34a6a docs: bump SESSION-STATE to v100.0.2 (menu icon, About redesign, l10n tidy) 2026-06-15 13:08:42 -05:00
james.maes 76ef4e49a5 l10n: rebrand AltTab→CommandTabFree in base+en strings (attribution kept) 2026-06-15 12:52:50 -05:00
james.maes acef128bbd feat(about): KofTwentyTwo identity + AltTab attribution links; drop Support button 2026-06-15 12:43:11 -05:00
james.maes 7f2a483ad2 brand: menu bar icons → command-tab (⌘⇥) glyph, matching app icon 2026-06-15 12:16:32 -05:00
james.maes 0b021beda7 chore: gitignore vendor/*/build (Xcode per-package output) 2026-06-15 11:58:47 -05:00
james.maes 4c169ef3d7 docs: record v100.0.1 release, brew tap, Sparkle key wiring + build gotcha 2026-06-15 11:57:32 -05:00
james.maes c7d2d9681e feat(sparkle): wire fork EdDSA public key; disable auto-checks 2026-06-15 11:42:28 -05:00
james.maes edf499d19e docs: session-state handoff (depaywall-free) 2026-06-15 09:53:20 -05:00
james.maes 98a023aa03 brand: placeholder app icon (command-tab glyph) + fix scheme product name to CommandTabFree.app 2026-06-15 08:57:37 -05:00
james.maesandClaude Opus 4.8 f5f9034d41 brand: rename user-facing AltTab → CommandTabFree, update About dialog (upstream attribution preserved)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 08:55:39 -05:00
james.maes e2429096d7 build: default CURRENT_PROJECT_VERSION=0.0.0 for local builds (App.version crash) 2026-06-15 08:51:15 -05:00
james.maes 4d82a684f3 chore: set fork identity — CommandTabFree / com.koftwentytwo.commandtabfree (frozen) 2026-06-10 17:03:12 -05:00
james.maes 6795ff43fb docs: mark Test scheme GREEN — 16 legacy paywall tests resolved (1a914c88) 2026-06-10 13:57:20 -05:00
james.maes 1a914c88f5 test: skip legacy paywall-behaviour tests (depaywall) — Test scheme green, anti-relock guards still active 2026-06-10 13:55:21 -05:00
james.maes 5c57cc738b docs: execution status + owner publish checklist (Test scheme RED on 16 legacy paywall tests — flagged BLOCKING) 2026-06-10 13:43:53 -05:00
james.maes 3dde8a91b6 chore: identity overlay + sync/guard/release CI scaffolding (placeholders flagged for owner) 2026-06-10 13:38:09 -05:00
james.maesandClaude Opus 4.8 4506c53958 test: anti-relock guards (pro never locked, incl. post-trial-expiry)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-10 13:32:00 -05:00
james.maes f3d7685984 depaywall: neutralize license gate, cookie, telemetry, and activate handler (src/pro left intact) 2026-06-10 13:29:52 -05:00
james.maes e243fb4bff docs: audit + republish/maintained-fork plans 2026-06-10 13:27:36 -05:00
semantic-release-bot 9fadf36bf8 chore(release): 11.3.0 [skip ci]
# [11.3.0](https://github.com/lwouis/alt-tab-macos/compare/v11.2.0...v11.3.0) (2026-06-04)

### Features

* better support adobe apps (closes [#5707](https://github.com/lwouis/alt-tab-macos/issues/5707)) ([f3fe535](https://github.com/lwouis/alt-tab-macos/commit/f3fe535))
v11.3.0
2026-06-04 20:33:23 +00:00
lwouis f3fe535acb feat: better support adobe apps (closes #5707) 2026-06-04 21:56:59 +02:00
semantic-release-bot 8124cf5496 chore(release): 11.2.0 [skip ci]
# [11.2.0](https://github.com/lwouis/alt-tab-macos/compare/v11.1.0...v11.2.0) (2026-06-04)

### Bug Fixes

* always persist menubar icon removal from dragging ([#5654](https://github.com/lwouis/alt-tab-macos/issues/5654)) ([a354fde](https://github.com/lwouis/alt-tab-macos/commit/a354fde))
* better handle some shortcut conflicts (related to 3059dc23) ([cddc89d](https://github.com/lwouis/alt-tab-macos/commit/cddc89d))
* command+tab would sometimes not bind correctly (closes [#5653](https://github.com/lwouis/alt-tab-macos/issues/5653)) ([c75aac5](https://github.com/lwouis/alt-tab-macos/commit/c75aac5))
* focus issues with show-main-window setting (closes [#5684](https://github.com/lwouis/alt-tab-macos/issues/5684)) ([0899f61](https://github.com/lwouis/alt-tab-macos/commit/0899f61))
* improve processing of accessibility events (closes [#5665](https://github.com/lwouis/alt-tab-macos/issues/5665)) ([e0b1778](https://github.com/lwouis/alt-tab-macos/commit/e0b1778))
* only show screen recording callout when it's needed (closes [#5623](https://github.com/lwouis/alt-tab-macos/issues/5623)) ([9a9994b](https://github.com/lwouis/alt-tab-macos/commit/9a9994b))
* preserve switcher selection across reorders (closes [#5665](https://github.com/lwouis/alt-tab-macos/issues/5665)) ([5bd746d](https://github.com/lwouis/alt-tab-macos/commit/5bd746d))
* settings window search and controls editor edge-cases ([c143ec2](https://github.com/lwouis/alt-tab-macos/commit/c143ec2))
* text shortcuts like cmd+a work in search mode (closes [#5675](https://github.com/lwouis/alt-tab-macos/issues/5675)) ([d483c5a](https://github.com/lwouis/alt-tab-macos/commit/d483c5a))
* very minor memory leak ([7d60d55](https://github.com/lwouis/alt-tab-macos/commit/7d60d55))

### Features

* do not repeat title if window title is app name (closes [#5672](https://github.com/lwouis/alt-tab-macos/issues/5672)) ([30eb5f2](https://github.com/lwouis/alt-tab-macos/commit/30eb5f2))

### Performance Improvements

* carry (pid, wid) in AX subscription refcon to skip identity calls ([a39816e](https://github.com/lwouis/alt-tab-macos/commit/a39816e))
* improve performance of the settings window ([3059dc2](https://github.com/lwouis/alt-tab-macos/commit/3059dc2))
2026-06-04 11:59:20 +00:00
lwouis cddc89dd21 fix: better handle some shortcut conflicts (related to 3059dc23) 2026-06-04 13:55:22 +02:00
lwouis 83b5ddc091 refactor: move debug-menu into qa-menu, and update it 2026-06-03 21:18:31 +02:00
lwouis 7d60d55395 fix: very minor memory leak 2026-06-03 21:17:45 +02:00
lwouis e0b1778db7 fix: improve processing of accessibility events (closes #5665) 2026-06-01 08:34:12 +02:00
lwouis 9a9994bf28 fix: only show screen recording callout when it's needed (closes #5623) 2026-06-01 08:34:12 +02:00
lwouis a39816e303 perf: carry (pid, wid) in AX subscription refcon to skip identity calls
AXObserverAddNotification's refcon was always nil. Bake the owning identity into it at subscribe time so the AX callback gets (pid, wid) for free, instead of an element.pid()/cgWindowId() round-trip per event. Window-level subscriptions carry a real wid; app-level subscriptions carry wid 0, so focus/main/created still resolve their per-event subject window from the element. Notably this gives a reliable wid for kAXUIElementDestroyed, which previously had to query an already-dead element.
2026-05-30 21:51:13 +02:00
lwouis c143ec2f0c fix: settings window search and controls editor edge-cases 2026-05-30 19:38:20 +02:00
lwouis 83f8ae18fa refactor: remove very minor leak or flagged-as-leak 2026-05-28 21:04:48 +02:00