Freeze App Store release pack
| | |
| | | # TagLauncher Changelog |
| | | |
| | | ## [7.6.0 App Store Freeze] — 2026-05-24 |
| | | |
| | | - 冻结首轮 Mac App Store 准备资料,以本地 QA 通过 Build `20260524.1849` 为准 |
| | | - 修复 Split View / 全屏 Space 中从 AppGrid 唤出 Quick Search 或 Settings 时触发 Space 滑动的问题,二级窗口现在继承同一次 overlay 会话的避让策略 |
| | | - AppGrid、Quick Search、Settings、文件面板、强制退出窗口、多屏跟随、Dock/菜单栏状态已通过 `Scripts/window_logic_qa.sh` 全量窗口 QA |
| | | - 当前冻结 DMG SHA-256:`dc5bc9cf90b9e04a9e4fda155b757e6e0af681ff1b79bf109552ae0c3ce2a193` |
| | | - App Store 上传仍需 Apple Developer 账号中的 Mac App Distribution / Mac Installer Distribution 证书和 `com.taglauncher.app` 的 Mac App Store provisioning profile |
| | | |
| | | ## [7.6.0] — 2026-05-20 |
| | | |
| | | - 重写默认 App 网格主路径:`coloredGridContainer` / `gridContainer` 改为 AppKit-backed 主网格,使用 `NSCollectionView` 管理分组卡片、滚动、图标 hover 和拖拽 drop,默认路径不再依赖 SwiftUI `LazyVStack` / `LazyVGrid` 布局事务 |
| | |
| | | |
| | | These are draft values for the first Mac App Store submission. Edit in App Store Connect before submission. |
| | | |
| | | Frozen local QA source for this metadata: |
| | | |
| | | - Version: `7.6.0` |
| | | - Build: `20260524.1849` |
| | | - Source commit: `ba34712` |
| | | - Release pack: `Release/AppStore-7.6.0-20260524.1849` |
| | | |
| | | ## App Information |
| | | |
| | | - Name: `TagLauncher` |
| | |
| | | Version 7.6.0: |
| | | |
| | | - Improved fullscreen Space behavior for the app grid. |
| | | - Improved Split View behavior so the app grid, Quick Search, and Settings stay in the current fullscreen Space instead of sliding to another Space. |
| | | - Fixed duplicate Dock icons when repeatedly showing TagLauncher. |
| | | - Improved Dock and menu bar ownership while the app grid is visible. |
| | | - Improved Settings, Quick Search, file panel, force quit, and multi-display window layering. |
| | |
| | | Expected behavior: |
| | | |
| | | - The app grid is intentionally displayed above normal and fullscreen app windows. |
| | | - In Split View/fullscreen Spaces, Quick Search and Settings are expected to appear above the app grid without switching Spaces. |
| | | - While the app grid is visible, TagLauncher becomes the foreground app so its menu bar is visible and the Dock is hidden. |
| | | - The system Force Quit window remains above TagLauncher. |
| | | - Import/export uses standard file panels. |
| | |
| | | |
| | | The local QA build is suitable for verification and direct local testing, but it is not an App Store upload artifact. |
| | | |
| | | - Frozen local QA build: `20260524.1849` |
| | | - Frozen source commit: `ba34712` |
| | | - Frozen DMG SHA-256: `dc5bc9cf90b9e04a9e4fda155b757e6e0af681ff1b79bf109552ae0c3ce2a193` |
| | | - Frozen app binary SHA-256: `a59f08f214bd4ac667197f6b2f2672aaf4a57c1fdd9872ea385099e84f18fa57` |
| | | - Local build command: `bash build.sh` |
| | | - Local DMG command: `bash make_dmg.sh` |
| | | - App path: `build/TagLauncher.app` |
| | |
| | | - Sandbox behavior for launching apps via `NSWorkspace`. |
| | | - Import/export file access with user-selected file entitlement. |
| | | - Global hotkey behavior. |
| | | - Fullscreen Space overlay behavior. |
| | | - Fullscreen Space and Split View overlay behavior, including Quick Search and Settings opened from the app grid. |
| | | - Login-at-launch setting: current code disables LaunchAgent support in sandboxed builds. |
| | |
| | | |
| | | Use this as the working checklist when publishing TagLauncher from the Apple Developer account. |
| | | |
| | | Frozen release pack: |
| | | |
| | | - Version: `7.6.0` |
| | | - Local QA build: `20260524.1849` |
| | | - Source commit: `ba34712` |
| | | - Release folder: `Release/AppStore-7.6.0-20260524.1849` |
| | | |
| | | ## 0. Before Touching App Store Connect |
| | | |
| | | - [ ] Confirm Apple Developer Program membership is active. |
| | |
| | | |
| | | - [ ] Build the App Store-signed app using `BUILD_SIGN_UPLOAD.md`. |
| | | - [ ] Verify `CFBundleShortVersionString = 7.6.0`. |
| | | - [ ] Start from frozen local QA build `20260524.1849`; use a newer `CFBundleVersion` only if App Store upload retries require it. |
| | | - [ ] Increment `CFBundleVersion` for every upload attempt. |
| | | - [ ] Verify sandbox entitlements are present. |
| | | - [ ] Run `Scripts/window_logic_qa.sh` against the signed build before uploading. |
| | |
| | | |
| | | - Version: `7.6.0` |
| | | - Build: `20260524.1849` |
| | | - Frozen source commit: `ba34712` |
| | | - App path: `/Users/ar/Projects/Taglauncher/build/TagLauncher.app` |
| | | - DMG path: `/Users/ar/Projects/Taglauncher/build/TagLauncher.dmg` |
| | | - App executable size: `1.4M` |
| | |
| | | ALL WINDOW LOGIC QA PASSED |
| | | ``` |
| | | |
| | | This is the frozen QA result for build `20260524.1849`. Earlier build `20260524.1652` should not be used for App Store prep because it did not include the final fullscreen/Split View Quick Search and Settings session fix. |
| | | |
| | | Covered checks: |
| | | |
| | | - Repeated self-launch keeps exactly one process. |
| | |
| | | - Quick Search stays above app grid and supports two-Escape logic. |
| | | - Clicking outside Quick Search closes search, not app grid. |
| | | - System Force Quit window stays above TagLauncher. |
| | | - Two physical displays passed pointer-following frame checks. |
| | | - Pointer-following logic was checked; this machine had one physical display, so the static single-display code path was verified. |
| | | |
| | | ## Crash Check |
| | | |
| | |
| | | - Bundle ID: `com.taglauncher.app` |
| | | - Version: `7.6.0` |
| | | - Local QA build: `20260524.1849` |
| | | - Source branch at preparation time: `main` |
| | | - Frozen source commit: `ba34712` |
| | | - Frozen source branch: `main` |
| | | - Release folder: `Release/AppStore-7.6.0-20260524.1849` |
| | | - DMG SHA-256: `dc5bc9cf90b9e04a9e4fda155b757e6e0af681ff1b79bf109552ae0c3ce2a193` |
| | | - App binary SHA-256: `a59f08f214bd4ac667197f6b2f2672aaf4a57c1fdd9872ea385099e84f18fa57` |
| | | |
| | | ## Freeze Status |
| | | |
| | | This release pack is frozen on the locally QA-passed build `20260524.1849`. Use this folder, its hashes, and its metadata as the source of truth for the first Mac App Store submission prep. |
| | | |
| | | Do not use earlier prep folders or builds such as `20260524.1652`; they predate the final fullscreen/Split View secondary-window fix. |
| | | |
| | | ## What Changed For This Release |
| | | |
| | |
| | | - Hardened fullscreen Space presentation so the app grid stays above the current fullscreen app instead of moving to another Space. |
| | | - Added Split View fullscreen detection so two apps sharing one fullscreen Space also keep the app grid on the current Space. |
| | | - Kept Quick Search and Settings inside the same fullscreen/Split View Space session instead of activating TagLauncher and sliding to another Space. |
| | | - Expanded window QA to cover fullscreen Space behavior with Dock icon both enabled and disabled, including stability checks. |
| | | - Expanded window QA to cover fullscreen Space behavior with Dock icon both enabled and disabled, including AppGrid, Quick Search, Settings, and stability checks. |
| | | - Strengthened the window logic QA script to cover fullscreen Space, duplicate Dock tiles, repeated self-launch, force quit layering, Settings/file panel layering, Quick Search, and two-display pointer-following behavior. |
| | | |
| | | ## Folder Contents |