edit | blame | history | raw

Release Manifest: PrivateVoice Dictation 2.1.28 build 20260605.0236

Package Type

  • Type: Mac App Store signed universal upload package
  • Platform: macOS universal, arm64 + x86_64
  • Signing: Apple App Store distribution signing with embedded Mac App Store provisioning profile
  • Generated at: 2026-06-04T18:42:19Z
  • Operator: Codex

Source

  • Repository: /Users/ar/Projects/PrivateVoice
  • Branch: codex/privatevoice-freeze-2.1.25
  • Build source commit: 8cd205ee7e12a2b46d6beff6e5a6434c4862af24
  • Version: 2.1.28
  • Build: 20260605.0236
  • Bundle ID: com.shanghai3168.privatevoicedictation
  • App Store category UTI: public.app-category.productivity

Scope

  • Fixed Transporter/TestFlight validation failure 91109.
  • The downloaded provisioning profile carried com.apple.quarantine, which was copied into the app bundle and then into the package.
  • Updated privatevoice.src/scripts/build-macappstore-pkg-macos.sh to recursively clear extended attributes from the app bundle before and after signing.
  • Added build-time assertion that no com.apple.quarantine attributes remain before packaging.
  • Rebuilt the Mac App Store upload package with a new build number.

Build Commands

git diff --check -- privatevoice.src/scripts/build-macappstore-pkg-macos.sh privatevoice.src/app.go privatevoice.src/build/darwin/Info.plist
bash -n privatevoice.src/scripts/build-macappstore-pkg-macos.sh
go test ./internal/startup ./internal/model ./internal/modelselection
./privatevoice.src/scripts/build-macappstore-pkg-macos.sh arm64
./privatevoice.src/scripts/build-macappstore-pkg-macos.sh x86_64

The final universal app was assembled from the signed arm64 and x86_64 app bundles with lipo, then re-signed with the merged App Store entitlements, stripped of extended attributes, and packaged with productbuild.

Verification

  • go test ./internal/startup ./internal/model ./internal/modelselection: PASS.
  • bash -n privatevoice.src/scripts/build-macappstore-pkg-macos.sh: PASS.
  • npm run build: PASS, with existing Svelte a11y warnings in UpdateDialog.svelte and ToggleSwitch.svelte.
  • arm64 Mac App Store package build and signature verification: PASS.
  • x86_64 Mac App Store package build and signature verification: PASS.
  • Universal app executable contains arm64 and x86_64: PASS.
  • Bundled libsherpa-onnx-c-api.dylib contains arm64 and x86_64: PASS.
  • Bundled libonnxruntime.1.24.4.dylib contains arm64 and x86_64: PASS.
  • Universal app codesign -vvv --deep --strict: PASS.
  • Universal package pkgutil --check-signature: PASS.
  • Expanded package app Info.plist contains CFBundleVersion=20260605.0236: PASS.
  • Expanded package app Info.plist contains LSApplicationCategoryType=public.app-category.productivity: PASS.
  • Expanded package app signed entitlements contain com.apple.application-identifier=CR3J54M8BQ.com.shanghai3168.privatevoicedictation: PASS.
  • Expanded package app signed entitlements contain com.apple.developer.team-identifier=CR3J54M8BQ: PASS.
  • Expanded package app signed entitlements contain com.apple.security.app-sandbox=true: PASS.
  • Expanded package app contains no com.apple.quarantine extended attribute: PASS.
  • Release, desktop, and operations package SHA256 match: PASS.

Artifact

Release/PrivateVoice-Dictation-2.1.28-build20260605.0236/PrivateVoice-Dictation-2.1.28-build20260605.0236-universal-macappstore.pkg
/Users/ar/Desktop/PrivateVoice-26.0604上架/02-上传包/PrivateVoice-Dictation-2.1.28-build20260605.0236-universal-macappstore.pkg
/Users/ar/Projects/PrivateVoice/X-运营资料/PrivateVoice-26.0604上架/02-上传包/PrivateVoice-Dictation-2.1.28-build20260605.0236-universal-macappstore.pkg

SHA256:

a0d01edf950ea69892b14c0f9cd989fc31d6927be4b26d31a4168526fdddd190  PrivateVoice-Dictation-2.1.28-build20260605.0236-universal-macappstore.pkg

Upload Note

Use the 20260605.0236 package for Transporter. Do not upload the previous 20260605.0216 package, because it contains com.apple.quarantine extended attributes inside the app payload.