Ariver
2026-06-30 fd3bed0c820142535a252395bc08f50153bc3e47
Freeze TagLauncher 8.2.9 build 20260630.1617
6 files added
256 ■■■■■ changed files
src/Release/AppStore-8.2.9-20260630.1617/PKG_PREFLIGHT_REPORT.md 44 ●●●●● patch | view | raw | blame | history
src/Release/AppStore-8.2.9-20260630.1617/README.md 12 ●●●●● patch | view | raw | blame | history
src/Release/AppStore-8.2.9-20260630.1617/RELEASE_MANIFEST.md 52 ●●●●● patch | view | raw | blame | history
src/Release/AppStore-8.2.9-20260630.1617/SHA256SUMS.txt 2 ●●●●● patch | view | raw | blame | history
src/Release/Freeze-8.2.9-20260630.1617/FREEZE_MANIFEST.md 143 ●●●●● patch | view | raw | blame | history
src/Release/Freeze-8.2.9-20260630.1617/SHA256SUMS.txt 3 ●●●●● patch | view | raw | blame | history
src/Release/AppStore-8.2.9-20260630.1617/PKG_PREFLIGHT_REPORT.md
New file
@@ -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/`.
src/Release/AppStore-8.2.9-20260630.1617/README.md
New file
@@ -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.
src/Release/AppStore-8.2.9-20260630.1617/RELEASE_MANIFEST.md
New file
@@ -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`
src/Release/AppStore-8.2.9-20260630.1617/SHA256SUMS.txt
New file
@@ -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
src/Release/Freeze-8.2.9-20260630.1617/FREEZE_MANIFEST.md
New file
@@ -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.
src/Release/Freeze-8.2.9-20260630.1617/SHA256SUMS.txt
New file
@@ -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