From fd3bed0c820142535a252395bc08f50153bc3e47 Mon Sep 17 00:00:00 2001 From: Ariver <shanghai3168@gmail.com> Date: Tue, 30 Jun 2026 16:34:11 +0800 Subject: [PATCH] Freeze TagLauncher 8.2.9 build 20260630.1617 --- src/Release/Freeze-8.2.9-20260630.1617/SHA256SUMS.txt | 3 src/Release/AppStore-8.2.9-20260630.1617/RELEASE_MANIFEST.md | 52 ++++++++++ src/Release/Freeze-8.2.9-20260630.1617/FREEZE_MANIFEST.md | 143 ++++++++++++++++++++++++++++ src/Release/AppStore-8.2.9-20260630.1617/README.md | 12 ++ src/Release/AppStore-8.2.9-20260630.1617/PKG_PREFLIGHT_REPORT.md | 44 ++++++++ src/Release/AppStore-8.2.9-20260630.1617/SHA256SUMS.txt | 2 6 files changed, 256 insertions(+), 0 deletions(-) diff --git a/src/Release/AppStore-8.2.9-20260630.1617/PKG_PREFLIGHT_REPORT.md b/src/Release/AppStore-8.2.9-20260630.1617/PKG_PREFLIGHT_REPORT.md new file mode 100644 index 0000000..c4321e3 --- /dev/null +++ b/src/Release/AppStore-8.2.9-20260630.1617/PKG_PREFLIGHT_REPORT.md @@ -0,0 +1,44 @@ +# PKG Preflight Report - TagLauncher 8.2.9 build 20260630.1617 + +Package: + +`Release/AppStore-8.2.9-20260630.1617/Upload/TagLauncher-8.2.9-build20260630.1617.pkg` + +## Signing + +| Item | Value | +| --- | --- | +| App signing identity | `0D7D5484FDE4EC1CA2C9225F1E71E65A256A1E7C` | +| App signing name | `3rd Party Mac Developer Application: Hainan Wanxing Technology Co., Ltd. (CR3J54M8BQ)` | +| Installer signing identity | `3rd Party Mac Developer Installer: Hainan Wanxing Technology Co., Ltd. (CR3J54M8BQ)` | +| Installer signing SHA1 | `AABC76560111D01F55B1E932A6BBA3C3E16363B1` | +| Team ID | `CR3J54M8BQ` | +| Profile | `TagLauncher Mac App Store 20260605.2337` | +| Profile expiration | `2027-06-04 21:48:21 CST` | +| Profile-bound app certificate | `0D7D5484FDE4EC1CA2C9225F1E71E65A256A1E7C` | + +## Expanded Package Checks + +| Check | Result | +| --- | --- | +| `pkgutil --expand-full` | PASS | +| `CFBundleIdentifier` | `com.taglauncher.app` | +| `CFBundleShortVersionString` | `8.2.9` | +| `CFBundleVersion` | `20260630.1617` | +| `Contents/embedded.provisionprofile` | PASS | +| `codesign --verify --deep --strict` on expanded app | PASS | +| `com.apple.application-identifier` | `CR3J54M8BQ.com.taglauncher.app` | +| `com.apple.developer.team-identifier` | `CR3J54M8BQ` | +| `com.apple.security.app-sandbox` | PASS | +| `com.apple.security.files.user-selected.read-write` | PASS | +| `com.apple.quarantine` | Absent in expanded payload | +| AppleDouble `._*` payload entries | Present in `pkgutil --payload-files`; this matched the previously accepted 8.2.8 package and no quarantine xattr was found in the expanded payload | + +## Upload Reminder + +Use this file in Transporter: + +`/Users/ar/Projects/Taglauncher/src/Release/AppStore-8.2.9-20260630.1617/Upload/TagLauncher-8.2.9-build20260630.1617.pkg` + +Do not upload the DMG from `Archive/`. + diff --git a/src/Release/AppStore-8.2.9-20260630.1617/README.md b/src/Release/AppStore-8.2.9-20260630.1617/README.md new file mode 100644 index 0000000..4f1d88a --- /dev/null +++ b/src/Release/AppStore-8.2.9-20260630.1617/README.md @@ -0,0 +1,12 @@ +# TagLauncher 8.2.9 App Store Release + +Release directory for TagLauncher `8.2.9` build `20260630.1617`. + +Upload artifact: + +`Upload/TagLauncher-8.2.9-build20260630.1617.pkg` + +Do not upload the DMG from `Archive/`; it is kept only as a local rollback / install artifact. + +This build supersedes the previously uploaded `8.2.8 (20260630.0128)` build and only adds the final Pro status-row UI / localization corrections requested after that upload. + diff --git a/src/Release/AppStore-8.2.9-20260630.1617/RELEASE_MANIFEST.md b/src/Release/AppStore-8.2.9-20260630.1617/RELEASE_MANIFEST.md new file mode 100644 index 0000000..9f287ba --- /dev/null +++ b/src/Release/AppStore-8.2.9-20260630.1617/RELEASE_MANIFEST.md @@ -0,0 +1,52 @@ +# Release Manifest - TagLauncher 8.2.9 build 20260630.1617 + +## Identity + +- Product: TagLauncher +- Version: `8.2.9` +- Build: `20260630.1617` +- Bundle ID: `com.taglauncher.app` +- Minimum macOS: `14.0` +- Category: `public.app-category.utilities` +- Generated at: `2026-06-30 16:31 CST` +- Branch: `codex/pro-custom-hotkeys-8.2.0` +- Source commit: `70a1cc2e63d2c49a135bd89cec3ffb1d427d90ee` +- Release tag: `v8.2.9-build20260630.1617` + +## Artifacts + +- Local rollback DMG: `Release/AppStore-8.2.9-20260630.1617/Archive/TagLauncher-8.2.9-build20260630.1617.dmg` +- App Store upload PKG: `Release/AppStore-8.2.9-20260630.1617/Upload/TagLauncher-8.2.9-build20260630.1617.pkg` +- DMG SHA256: `41aeb7e8fc1de547caee9124e93ffd111e6cfe5f4b570e5e81ed4258b5376b01` +- PKG SHA256: `5d6b74b12b6872712dbf761bd13e45cd48fde367c1dcb8c012a6c3ef993bcede` +- DMG size: `6309632` bytes +- PKG size: `6124825` bytes + +## Source Freeze + +The source freeze manifest is: + +`/Users/ar/Projects/Taglauncher/src/Release/Freeze-8.2.9-20260630.1617/FREEZE_MANIFEST.md` + +## Build And Package Commands + +```bash +cd /Users/ar/Projects/Taglauncher/src +APP_BUILD=20260630.1617 bash build.sh +bash make_dmg.sh +``` + +The App Store package was generated by embedding the `TagLauncher Mac App Store 20260605.2337` provisioning profile, signing with the profile-bound app certificate `0D7D5484FDE4EC1CA2C9225F1E71E65A256A1E7C`, and packaging with `productbuild` using the installer identity `3rd Party Mac Developer Installer: Hainan Wanxing Technology Co., Ltd. (CR3J54M8BQ)`. + +## Release Scope + +- Centers the unlocked Pro identity row on Settings > Language, Settings > Pro, and Settings > About. +- Renders the row as `Pro 已解锁` pill plus `您当前是尊贵的 Pro 用户` in Simplified Chinese. +- Removes duplicated crown icons from `settings.proStatus.proUser` in all 29 language packs. +- Keeps the 8.2.8 Quick Search click-launch fix and Pro feature batch intact. + +## Transporter Status + +- Not uploaded in this freeze step. +- Upload package prepared at: `Upload/TagLauncher-8.2.9-build20260630.1617.pkg` + diff --git a/src/Release/AppStore-8.2.9-20260630.1617/SHA256SUMS.txt b/src/Release/AppStore-8.2.9-20260630.1617/SHA256SUMS.txt new file mode 100644 index 0000000..0dd72b3 --- /dev/null +++ b/src/Release/AppStore-8.2.9-20260630.1617/SHA256SUMS.txt @@ -0,0 +1,2 @@ +41aeb7e8fc1de547caee9124e93ffd111e6cfe5f4b570e5e81ed4258b5376b01 Release/AppStore-8.2.9-20260630.1617/Archive/TagLauncher-8.2.9-build20260630.1617.dmg +5d6b74b12b6872712dbf761bd13e45cd48fde367c1dcb8c012a6c3ef993bcede Release/AppStore-8.2.9-20260630.1617/Upload/TagLauncher-8.2.9-build20260630.1617.pkg diff --git a/src/Release/Freeze-8.2.9-20260630.1617/FREEZE_MANIFEST.md b/src/Release/Freeze-8.2.9-20260630.1617/FREEZE_MANIFEST.md new file mode 100644 index 0000000..ef42fff --- /dev/null +++ b/src/Release/Freeze-8.2.9-20260630.1617/FREEZE_MANIFEST.md @@ -0,0 +1,143 @@ +# TagLauncher 8.2.9 Build 20260630.1617 Code Freeze + +## Freeze Scope + +- Version: `8.2.9` +- Build: `20260630.1617` +- Branch: `codex/pro-custom-hotkeys-8.2.0` +- Source code commit: `70a1cc2e63d2c49a135bd89cec3ffb1d427d90ee` +- Freeze tag: `v8.2.9-build20260630.1617` +- Freeze commit: the commit pointed to by the freeze tag. +- Freeze time: `2026-06-30 16:31:07 +0800` +- Operator: Codex + +This freeze supersedes the earlier `8.2.8 (20260630.0128)` App Store build. It captures the final Pro status-row UI corrections requested after the previous upload package had been accepted by Transporter. + +## Included Product Changes Since 8.2.8 + +- Settings top Pro status row: + - When Pro is unlocked and the selected settings tab is Language, Pro, or About, the row now centers a `Pro 已解锁` pill followed by `settings.proStatus.proUser`. + - In Simplified Chinese this renders as `Pro 已解锁` + `您当前是尊贵的 Pro 用户`. + - The crown icon belongs to the leading `ProStatusPill`; `settings.proStatus.proUser` no longer embeds a duplicate crown icon. +- Localization: + - All 29 language packs remove the duplicate crown icon from `settings.proStatus.proUser`. + - Simplified Chinese is fixed to `您当前是尊贵的 Pro 用户`. +- QA gates: + - `pro_feature_gate_qa.sh` now asserts that the centered unlocked identity row is limited to Language / Pro / About. + - `pro_localization_qa.sh` now asserts that `settings.proStatus.proUser` does not duplicate the crown icon and that Simplified Chinese uses the approved sentence. +- Release metadata: + - `CFBundleShortVersionString` is updated to `8.2.9`. + - `CFBundleVersion` is updated to `20260630.1617`. + - `CHANGELOG.md` includes the `8.2.9` release entry. + +## Preserved 8.2.8 Scope + +This build still includes the 8.2.8 Pro feature batch and blocking Quick Search click-launch fix: + +- Pro custom hotkeys. +- Pro custom tag colors. +- Free 3-note quota and Pro unlimited notes. +- Pro-gated colorful container / colorful grid display modes with 5-minute preview. +- Dedicated Pro settings tab and Pro comparison table. +- Quick Search mouse / trackpad candidate-row launch fix. +- 29-language Pro, hotkey, data, bubble tip, and comparison UI localization. + +## QA Evidence + +Passed before source freeze: + +- `bash Scripts/pro_feature_gate_qa.sh` +- `bash Scripts/pro_localization_qa.sh` +- `bash Scripts/quick_search_launch_contract_qa.sh` +- `bash Scripts/theme_settings_qa.sh` +- `bash Scripts/app_ordering_data_qa.sh` +- `bash Scripts/pro_custom_hotkeys_qa.sh` +- `bash Scripts/pro_tag_custom_color_qa.sh` +- `bash Scripts/pro_notes_quota_qa.sh` +- `bash Scripts/pro_display_mode_preview_qa.sh` +- `bash Scripts/pro_theme_preview_countdown_qa.sh` +- `git diff --check -- CODEGRAPH.md src/CHANGELOG.md src/Apptag/Info.plist src/Apptag/PreferencesView.swift src/Apptag/Localization src/Scripts/pro_feature_gate_qa.sh src/Scripts/pro_localization_qa.sh` + +Build and artifact verification: + +- `APP_BUILD=20260630.1617 bash build.sh`: PASS. +- `bash make_dmg.sh`: PASS. +- `codesign --verify --deep --strict --verbose=2 build/TagLauncher.app`: PASS. +- `hdiutil verify build/TagLauncher.dmg`: PASS. +- App Store package generation with `productbuild`: PASS. +- `pkgutil --check-signature Release/AppStore-8.2.9-20260630.1617/Upload/TagLauncher-8.2.9-build20260630.1617.pkg`: PASS. +- `pkgutil --expand-full` package preflight: PASS. +- Expanded package metadata: + - `CFBundleIdentifier = com.taglauncher.app` + - `CFBundleShortVersionString = 8.2.9` + - `CFBundleVersion = 20260630.1617` +- Expanded package signing: + - `codesign --verify --deep --strict --verbose=2`: PASS. + - `com.apple.application-identifier = CR3J54M8BQ.com.taglauncher.app` + - `com.apple.developer.team-identifier = CR3J54M8BQ` + - `com.apple.security.app-sandbox = true` + - `com.apple.security.files.user-selected.read-write = true` +- Expanded package quarantine scan: PASS, no `com.apple.quarantine` xattr found. + +## Build Artifacts + +- Local rollback DMG: `/Users/ar/Projects/Taglauncher/src/Release/AppStore-8.2.9-20260630.1617/Archive/TagLauncher-8.2.9-build20260630.1617.dmg` +- App Store upload PKG: `/Users/ar/Projects/Taglauncher/src/Release/AppStore-8.2.9-20260630.1617/Upload/TagLauncher-8.2.9-build20260630.1617.pkg` +- DMG SHA256: `41aeb7e8fc1de547caee9124e93ffd111e6cfe5f4b570e5e81ed4258b5376b01` +- PKG SHA256: `5d6b74b12b6872712dbf761bd13e45cd48fde367c1dcb8c012a6c3ef993bcede` +- App Store signed executable SHA256: `0222efbc1f661d449cda12d97cb6afea35cefb36cdb2ce77804bdae22b7d0f49` +- DMG size: `6309632` bytes +- PKG size: `6124825` bytes + +## App Store Signing + +- App signing identity: `0D7D5484FDE4EC1CA2C9225F1E71E65A256A1E7C` +- App signing name: `3rd Party Mac Developer Application: Hainan Wanxing Technology Co., Ltd. (CR3J54M8BQ)` +- Installer signing identity: `3rd Party Mac Developer Installer: Hainan Wanxing Technology Co., Ltd. (CR3J54M8BQ)` +- Installer signing identity SHA1: `AABC76560111D01F55B1E932A6BBA3C3E16363B1` +- Provisioning profile: `TagLauncher Mac App Store 20260605.2337` +- Profile path: `/Users/ar/Library/MobileDevice/Provisioning Profiles/da7839d6-2489-4272-b999-c61efccfe473.provisionprofile` +- Profile expiration: `Fri Jun 04 21:48:21 CST 2027` +- Team ID: `CR3J54M8BQ` + +The final package was signed with the same profile-bound app certificate as the previously accepted 8.2.8 upload. A first local 8.2.9 package was discarded because it used only the base sandbox entitlements and missed the App Store application identifier and team identifier entitlements. + +## CODEGRAPH Check + +- Checked: `/Users/ar/Projects/Taglauncher/CODEGRAPH.md` +- This freeze changes settings UI behavior, Pro state copy, 29-language localized strings, release metadata, and QA gates. +- Conclusion: `CODEGRAPH.md` has been updated with the Language / Pro / About centered unlocked Pro identity-row rule and the Pro comparison alignment rules already introduced during this correction batch. + +## Excluded Dirty Workspace Changes + +The working tree still contains unrelated dirty areas that are intentionally not included in this freeze tag: + +- Legacy `docs/` deletions and website assets. +- Old `src/Release/AppStore-7.8.15-20260605.2337/...` screenshot deletions. +- Existing edits in old release metadata under `src/Release/AppStore-7.9.1...` and `src/Release/AppStore-7.9.4...`. +- Untracked planning / knowledge documents under `Docs/`, `canvas/`, and root-level local notes. +- `.codex-sessionhistory/` records, which remain local evidence rather than release source. +- The `Release/AppStore-8.2.9-20260630.1617/` binary artifacts are kept on disk for submission / rollback but are not part of the source freeze tag. + +## Rollback + +To inspect the frozen source without changing the current branch: + +```bash +git switch --detach v8.2.9-build20260630.1617 +``` + +To revert this freeze from a descendant branch: + +```bash +git revert v8.2.9-build20260630.1617 +``` + +## App Store Handoff + +Upload this package in Transporter / App Store Connect: + +`/Users/ar/Projects/Taglauncher/src/Release/AppStore-8.2.9-20260630.1617/Upload/TagLauncher-8.2.9-build20260630.1617.pkg` + +Do not upload the DMG; it is kept only as a local rollback / install artifact. + diff --git a/src/Release/Freeze-8.2.9-20260630.1617/SHA256SUMS.txt b/src/Release/Freeze-8.2.9-20260630.1617/SHA256SUMS.txt new file mode 100644 index 0000000..a552618 --- /dev/null +++ b/src/Release/Freeze-8.2.9-20260630.1617/SHA256SUMS.txt @@ -0,0 +1,3 @@ +41aeb7e8fc1de547caee9124e93ffd111e6cfe5f4b570e5e81ed4258b5376b01 Release/AppStore-8.2.9-20260630.1617/Archive/TagLauncher-8.2.9-build20260630.1617.dmg +5d6b74b12b6872712dbf761bd13e45cd48fde367c1dcb8c012a6c3ef993bcede Release/AppStore-8.2.9-20260630.1617/Upload/TagLauncher-8.2.9-build20260630.1617.pkg +0222efbc1f661d449cda12d97cb6afea35cefb36cdb2ce77804bdae22b7d0f49 Release/AppStore-8.2.9-20260630.1617/Preflight/expanded/com.taglauncher.app.pkg/Payload/TagLauncher.app/Contents/MacOS/TagLauncher -- Gitblit v1.9.3