# Freeze Manifest - TagLauncher 8.3.2 build 20260702.0231 ## Freeze Identity - Product: TagLauncher - Version: `8.3.2` - Build: `20260702.0231` - Freeze time: `2026-07-02 03:01 CST` - Branch: `codex/pro-custom-hotkeys-8.2.0` - Source commit: `b2a06ec5ebc86c0241e635782ae5a032ab5aad0a` - Release tag: `v8.3.2-build20260702.0231` ## Freeze Scope This freeze prepares TagLauncher for the App Store business-model change from paid download to free download with optional Pro unlock. Protected monetization rule: - Original App Store version earlier than `8.3.2`: legacy paid user, Pro enabled. - Original App Store version `8.3.2` or later: free user unless Pro is unlocked through IAP. - IAP product ID: `com.taglauncher.pro.lifetime`. ## Code Changes Included - `ProEntitlementConfig.firstFreeProVersion` set to `8.3.2`. - Pro QA gate updated to assert the new legacy-paid cutoff. - App version and build updated to `8.3.2 (20260702.0231)`. - Release notes and CODEGRAPH updated for the App Store pricing / entitlement boundary. - Prior WindowServer and input hardening work retained. ## QA Gate All relevant release QA passed before package generation: ```bash bash Scripts/pro_feature_gate_qa.sh bash Scripts/pro_custom_hotkeys_qa.sh bash Scripts/pro_custom_container_quota_qa.sh bash Scripts/pro_display_mode_preview_qa.sh bash Scripts/usage_tips_qa.sh bash Scripts/app_note_bubble_input_qa.sh bash Scripts/windowserver_event_safety_qa.sh bash Scripts/tag_editor_mouse_event_qa.sh bash Scripts/quick_search_launch_contract_qa.sh bash Scripts/pro_localization_qa.sh bash Scripts/theme_settings_qa.sh bash Scripts/app_ordering_data_qa.sh bash Scripts/settings_language_title_qa.sh bash Scripts/quick_search_app_name_qa.sh bash Scripts/quick_search_system_app_qa.sh bash Scripts/macos14_availability_typecheck_qa.sh APP_BUILD=20260702.0231 bash build.sh bash Scripts/macos14_build_metadata_qa.sh build/TagLauncher.app codesign --verify --deep --strict --verbose=2 build/TagLauncher.app ``` Package QA: ```bash hdiutil verify Release/AppStore-8.3.2-20260702.0231/Archive/TagLauncher-8.3.2-build20260702.0231.dmg pkgutil --check-signature Release/AppStore-8.3.2-20260702.0231/Upload/TagLauncher-8.3.2-build20260702.0231.pkg pkgutil --expand-full Release/AppStore-8.3.2-20260702.0231/Upload/TagLauncher-8.3.2-build20260702.0231.pkg Release/AppStore-8.3.2-20260702.0231/Preflight/expanded codesign --verify --deep --strict --verbose=2 Release/AppStore-8.3.2-20260702.0231/Preflight/expanded/com.taglauncher.app.pkg/Payload/TagLauncher.app ``` Result: PASS. ## Artifacts - Local rollback DMG: `/Users/ar/Projects/Taglauncher/src/Release/AppStore-8.3.2-20260702.0231/Archive/TagLauncher-8.3.2-build20260702.0231.dmg` - App Store upload PKG: `/Users/ar/Projects/Taglauncher/src/Release/AppStore-8.3.2-20260702.0231/Upload/TagLauncher-8.3.2-build20260702.0231.pkg` - DMG SHA256: `0d0b62aa620c0a9a3f1ceeb6edb50d3dc2f18d0ecdea4803d953d6484693bf11` - PKG SHA256: `d3b95e3e0e878769e36b90382f8e215e9bb3c180d0940a23387094200976fa91` ## Go / No-Go Go for App Store upload after this manifest is committed and tagged. Submission must also complete App Store Connect configuration: - app base price Free for the `8.3.2` release window; - Pro non-consumable IAP configured and attached if required; - review notes include legacy paid-user migration explanation.