Bump version to 2.1.29 experimental
| | |
| | | # Changelog |
| | | |
| | | ## v2.1.29 (2026-06-07) |
| | | |
| | | ### 实验候选包 |
| | | |
| | | - **X-ASR 960ms 实验模型**:新增 `x-asr-zh-en-960ms` 实验模型 profile,用于评估中英混输和未来“边说边出字”方向。 |
| | | - **macOS X-ASR streaming backend**:在 macOS 下接入 sherpa-onnx `OnlineRecognizer`,先复用现有“一段录音 -> 最终文本”听写流程验证模型效果,不改 live partial 上屏链路。 |
| | | - **本地模型安装脚本**:新增 `scripts/install-x-asr-zh-en-960ms.sh`,只下载 Hugging Face `chunk-960ms-model` 所需四个文件,不把大模型放入 git。 |
| | | - **回滚保护**:已创建 `codex/freeze-2.1.28-appstore-20260605.0353`,指向已上传成功的 2.1.28 App Store 源码基线。 |
| | | |
| | | ### 构建 |
| | | |
| | | - build: `20260607.0141` |
| | | - 说明: 本版本为 X-ASR 技术实验候选包,不是 App Store 正式上传包。 |
| | | |
| | | --- |
| | | |
| | | ## v2.1.28 (2026-06-04) |
| | | |
| | | ### 发布冻结 |
| | |
| | | ) |
| | | |
| | | const ( |
| | | appVersion = "2.1.28" |
| | | appBuild = "20260605.0353" |
| | | appVersion = "2.1.29" |
| | | appBuild = "20260607.0141" |
| | | appDisplayVersion = appVersion + " (build " + appBuild + ")" |
| | | appName = "PrivateVoice Dictation" |
| | | |
| | |
| | | <key>CFBundlePackageType</key> |
| | | <string>APPL</string> |
| | | <key>CFBundleShortVersionString</key> |
| | | <string>2.1.28</string> |
| | | <string>2.1.29</string> |
| | | <key>CFBundleVersion</key> |
| | | <string>20260605.0353</string> |
| | | <string>20260607.0141</string> |
| | | <key>LSApplicationCategoryType</key> |
| | | <string>public.app-category.productivity</string> |
| | | <key>ITSAppUsesNonExemptEncryption</key> |
| | | <false/> |
| | | <key>LSMinimumSystemVersion</key> |
| | | <string>11.0</string> |
| | | <key>NSMicrophoneUsageDescription</key> |
| | |
| | | <assemblyIdentity |
| | | type="win32" |
| | | name="PrivateVoice.Dictation" |
| | | version="2.1.28.0" |
| | | version="2.1.29.0" |
| | | processorArchitecture="*"/> |
| | | <dependency> |
| | | <dependentAssembly> |
| | |
| | | { |
| | | "name": "privatevoice-dictation-frontend", |
| | | "version": "2.1.28", |
| | | "version": "2.1.29", |
| | | "lockfileVersion": 3, |
| | | "requires": true, |
| | | "packages": { |
| | | "": { |
| | | "name": "privatevoice-dictation-frontend", |
| | | "version": "2.1.28", |
| | | "version": "2.1.29", |
| | | "dependencies": { |
| | | "@wailsio/runtime": "latest" |
| | | }, |
| | |
| | | { |
| | | "name": "privatevoice-dictation-frontend", |
| | | "private": true, |
| | | "version": "2.1.28", |
| | | "version": "2.1.29", |
| | | "type": "module", |
| | | "scripts": { |
| | | "dev": "vite dev", |
| | |
| | | import { t } from '../../lib/i18n' |
| | | import AppIcon from '../shared/AppIcon.svelte' |
| | | |
| | | let version = $state('2.1.28 (build 20260604.0049)') |
| | | let version = $state('2.1.29 (build 20260607.0141)') |
| | | const currentYear = new Date().getFullYear().toString() |
| | | const aboutLinks = [ |
| | | { labelKey: 'about.sourceProjectLabel', urlKey: 'about.sourceUrl' }, |