Release v1.12.10 - #2523
Release v1.12.10#2523
Conversation
WalkthroughVersion 1.12.10 release updates: version strings, package/dependency versions, and app version codes/names across Android, Flutter/Dart, HarmonyOS, Node.js, iOS build script, Java/Maven/Python packaging, and docs/READMEs. Minor README adjustments for Android AAR (including x86/x86_64 JNI copies) and a typo fix in a Python script message. Changes
Sequence Diagram(s)Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Poem
Tip 🔌 Remote MCP (Model Context Protocol) integration is now available!Pro plan users can now connect to remote MCP servers from the Integrations page. Connect with popular remote MCPs such as Notion and Linear to add more context to your reviews and chats. ✨ Finishing Touches
🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Actionable comments posted: 7
🧹 Nitpick comments (19)
harmony-os/SherpaOnnxVadAsr/entry/README.md (1)
3-4: Tighten wording and formatting for the download instruction.Minor polish: drop "./", format the filename as code, and end the sentence with a period for clarity.
-Please download ./sherpa_onnx-v1.12.10.har -from <https://huggingface.co/csukuangfj/sherpa-onnx-harmony-os/tree/main/har> +Please download `sherpa_onnx-v1.12.10.har` from <https://huggingface.co/csukuangfj/sherpa-onnx-harmony-os/tree/main/har>.android/SherpaOnnxSimulateStreamingAsr/app/build.gradle.kts (1)
14-15: VersionCode/Name bump verified across all modulesI’ve confirmed that every Android app module declaring
versionCode/versionNameis set to20250825/"1.12.10":
- AudioTagging (
android/SherpaOnnxAudioTagging/app/build.gradle.kts)- AudioTaggingWearOs (
android/SherpaOnnxAudioTaggingWearOs/app/build.gradle.kts)- SimulateStreamingAsr (
android/SherpaOnnxSimulateStreamingAsr/app/build.gradle.kts)- SimulateStreamingAsrWearOs (
android/SherpaOnnxSimulateStreamingAsrWearOs/app/build.gradle.kts)- SpeakerDiarization (
android/SherpaOnnxSpeakerDiarization/app/build.gradle.kts)- SpeakerIdentification (
android/SherpaOnnxSpeakerIdentification/app/build.gradle.kts)- SpokenLanguageIdentification (
android/SherpaOnnxSpokenLanguageIdentification/app/build.gradle.kts)- TtsEngine (
android/SherpaOnnxTtsEngine/app/build.gradle.kts)Modules using Groovy DSL (e.g. SherpaOnnx, SherpaOnnx2Pass, JavaDemo, Kws, Tts, Vad, VadAsr, WebSocket) do not declare versions, which aligns with their roles as libraries or samples.
Everything is consistent—no further version bumps are needed.
Optional: Consider centralizing
versionCode/versionName(and app-wide SDK versions) via a shared Gradle convention plugin or aversions.ktinbuildSrcto prevent future drift across modules.android/SherpaOnnxAudioTaggingWearOs/app/build.gradle.kts (1)
54-55: Nit: Consider updating the Compose BOM in a follow-up PR.Current BOM 2023.08.00 is quite old; defer for after the release to avoid risk.
android/SherpaOnnxKws/app/build.gradle (1)
14-15: LGTM – Version bump onlyChange is scoped to version metadata only (versionCode 20250825 / versionName "1.12.10"). No other code was modified.
Observed compileSdk/targetSdk across Android modules:
- android/SherpaOnnxWebSocket/app: 32 / 32
- android/SherpaOnnxKws/app (this PR): 32 / 32
- android/SherpaOnnxTts/app: 32 / 32
- android/SherpaOnnx2Pass/app: 32 / 32
- android/SherpaOnnx/app: 32 / 32
- android/SherpaOnnxVadAsr/app: 33 / 33
- android/SherpaOnnxVad/app: 33 / 33
- android/SherpaOnnxJavaDemo/app: 34 / 34
If it’s intentional to keep this module at SDK 32 for device compatibility, no further action is needed. Otherwise, to reduce SDK fragmentation, consider aligning this module to match the others (e.g., bump to 33 or to 34 across all modules).
dart-api-examples/vad/pubspec.yaml (1)
12-12: Dart dependency bumped to ^1.12.10 — OK.Caret constraint permits updates up to <2.0.0. If you prefer fully reproducible example builds, pin to an exact version.
Apply this if you want pinning:
- sherpa_onnx: ^1.12.10 + sherpa_onnx: 1.12.10build-ios-shared.sh (1)
245-245: Interpolate CFBundleShortVersionString and verify version consistencyI ran the provided search for any remaining “1.12.9” references and found exactly one hit in CHANGELOG.md (line 18), which is expected as a historical record. No other hard-coded “1.12.9” or “1.12.10” strings exist in the code outside of generated/build artifacts.
• Define a single source of truth near the top of build-ios-shared.sh:
SHERPA_ONNX_VERSION="${SHERPA_ONNX_VERSION:-1.12.10}"• Replace the hard-coded version in your Info.plist template:
- <key>CFBundleShortVersionString</key> - <string>1.12.10</string> + <key>CFBundleShortVersionString</key> + <string>${SHERPA_ONNX_VERSION}</string>• Optionally bump CFBundleVersion alongside the short version if you track build numbers in your release process.
• (Documentation) Add a new “## 1.12.10” header at the top of CHANGELOG.md so that the changelog reflects the latest release above the existing ## 1.12.9 section.This approach centralizes version management in one variable, prevents future drift, and keeps your release notes up to date.
android/SherpaOnnxSimulateStreamingAsrWearOs/app/build.gradle.kts (1)
61-61: Optional: centralize sherpa-onnx dependency version to avoid multi-module driftConsider using a shared property or version catalog instead of inlining:
- implementation("com.github.k2-fsa:sherpa-onnx:v1.12.10") + implementation("com.github.k2-fsa:sherpa-onnx:v${sherpaOnnxVersion}")And define in gradle.properties (root):
sherpaOnnxVersion=1.12.10This makes future bumps one-liners.
android/SherpaOnnxWebSocket/app/build.gradle (1)
8-13: Optional: Standardize compileSdk/targetSdk to 34 across Android modulesOur inventory shows that while the majority of K2FSA’s Android modules now compile/target SDK 34, several libraries (including this WebSocket module) still use 32 or 33. Aligning them to 34 will reduce build-time fragmentation and surface any SDK-related behavioral differences early.
Modules still at compileSdk/targetSdk 32
- android/SherpaOnnxWebSocket/app/build.gradle
- android/SherpaOnnxTts/app/build.gradle
- android/SherpaOnnxKws/app/build.gradle
- android/SherpaOnnx2Pass/app/build.gradle
- android/SherpaOnnx/app/build.gradle
Modules still at compileSdk/targetSdk 33
- android/SherpaOnnxVadAsr/app/build.gradle
- android/SherpaOnnxVad/app/build.gradle
Suggested diff for this module (android/SherpaOnnxWebSocket/app/build.gradle):
android { - compileSdk 32 + compileSdk 34 defaultConfig { applicationId "com.k2fsa.sherpa.onnx" minSdk 21 - targetSdk 32 + targetSdk 34Feel free to update the other 32/33 modules in one sweep or stagger the bumps per team’s cadence.
android/SherpaOnnxSpeakerIdentification/app/build.gradle.kts (1)
10-17: Optional: Centralize versionCode/versionName to avoid per-module edits.Given many Android modules, consider moving these to gradle.properties or a version catalog to cut repetitive churn during releases.
Example (outside the changed lines):
- gradle.properties
APP_VERSION_NAME=1.12.10 APP_VERSION_CODE=20250825
- In build.gradle.kts
defaultConfig { versionName = providers.gradleProperty("APP_VERSION_NAME").get() versionCode = providers.gradleProperty("APP_VERSION_CODE").get().toInt() }scripts/wheel/patch_wheel.py (1)
45-47: Future-proof: add cp314 detectionYou already include 3.14 in the py3-none rpath scan. Add cp314 mapping to avoid falling into the unknown-branch when such wheels appear.
elif "cp313" in str(whl): py_version = "3.13" + elif "cp314" in str(whl): + py_version = "3.14"android/SherpaOnnxAar/README.md (3)
7-8: Parameterize the version to reduce churn and copy-paste mistakes.Defining a VERSION variable avoids updating multiple strings across releases and keeps README steps future-proof.
Apply this diff:
git clone https://github.com/k2-fsa/sherpa-onnx cd sherpa-onnx -wget https://github.com/k2-fsa/sherpa-onnx/releases/download/v1.12.10/sherpa-onnx-v1.12.10-android.tar.bz2 -tar -xjf sherpa-onnx-v1.12.10-android.tar.bz2 +VERSION=1.12.10 +wget https://github.com/k2-fsa/sherpa-onnx/releases/download/v${VERSION}/sherpa-onnx-v${VERSION}-android.tar.bz2 +tar -xjf sherpa-onnx-v${VERSION}-android.tar.bz2 @@ ./gradlew :sherpa_onnx:assembleRelease ls -lh ./sherpa_onnx/build/outputs/aar/sherpa_onnx-release.aar -cp ./sherpa_onnx/build/outputs/aar/sherpa_onnx-release.aar ../../sherpa-onnx-1.12.10.aar +cp ./sherpa_onnx/build/outputs/aar/sherpa_onnx-release.aar ../../sherpa-onnx-${VERSION}.aarAlso applies to: 19-19
10-13: Make JNI copy steps idempotent and resilient to missing ABIs.If some ABIs aren’t present in the tarball,
cp jniLibs/x86/* …will fail. Guard copies and ensure target dirs exist.Use this shell snippet:
# Ensure target dirs exist and copy only if source exists for ABI in arm64-v8a armeabi-v7a x86 x86_64; do mkdir -p android/SherpaOnnxAar/sherpa_onnx/src/main/jniLibs/"$ABI" if [ -d "jniLibs/$ABI" ]; then cp -v jniLibs/"$ABI"/* android/SherpaOnnxAar/sherpa_onnx/src/main/jniLibs/"$ABI"/ fi done
3-20: Optional: Add safe shell flags for reproducibility.Prefix the code block with
set -euo pipefailto fail fast and avoid partial/inconsistent AAR outputs when any step errors.android/SherpaOnnx2Pass/app/build.gradle (1)
8-14: Align SherpaOnnx2Pass SDK versions with the rest of the projectAfter surveying all Android modules, we found a mix of compileSdk/targetSdk settings:
- SDK 34: TtsEngine, JavaDemo, SpeakerIdentification, SpokenLanguageIdentification, SpeakerDiarization, SimulateStreamingAsr, SimulateStreamingAsrWearOs, AudioTagging, AudioTaggingWearOs, AAR
- SDK 33: Vad, VadAsr
- SDK 32: 2Pass, WebSocket, Tts, Kws, SherpaOnnx
To reduce fragmentation and prevent API mismatches, bump SherpaOnnx2Pass from 32 to 34:
--- a/android/SherpaOnnx2Pass/app/build.gradle +++ b/android/SherpaOnnx2Pass/app/build.gradle @@ - compileSdk 32 + compileSdk 34 defaultConfig { applicationId "com.k2fsa.sherpa.onnx" minSdk 21 - targetSdk 32 + targetSdk 34 versionCode 20250825 versionName "1.12.10" }This update keeps SherpaOnnx2Pass on par with the majority of modules.
android/SherpaOnnx/app/build.gradle (1)
8-14: Align compileSdk and targetSdk with repo standard (34)Verified that there are no references to NotificationChannel, PendingIntent.FLAG_IMMUTABLE or MANAGE_EXTERNAL_STORAGE in the
android/SherpaOnnx/appmodule, so bumping from SDK 32→34 will not introduce downstream breakage.• File:
android/SherpaOnnx/app/build.gradle, lines 8–14- compileSdk 32 + compileSdk 34 defaultConfig { applicationId "com.k2fsa.sherpa.onnx" minSdk 21 - targetSdk 32 + targetSdk 34 versionCode 20250825scripts/wheel/sherpa-onnx-bin/setup.py (1)
11-13: Avoid printing during setup to reduce noisy build logs.
The unconditional print of bin_files will surface in pip install/build logs. Consider removing or guarding it behind an env var if you need diagnostics.-bin_files = glob.glob("bin/*") -print("bin_files", bin_files) +bin_files = glob.glob("bin/*") +# Set SHERPA_ONNX_SETUP_DEBUG=1 to debug packaging file discovery +if os.environ.get("SHERPA_ONNX_SETUP_DEBUG") == "1": + print("bin_files", bin_files)android/SherpaOnnxTts/app/build.gradle (2)
37-40: Remove legacy support artifact; you already depend on AndroidX ConstraintLayout.
Both the pre-AndroidX artifact and AndroidX constraintlayout are present. The support artifact is obsolete and can cause dependency resolution noise.- implementation 'com.android.support.constraint:constraint-layout:1.1.3' implementation 'androidx.core:core-ktx:1.7.0' implementation 'com.google.android.material:material:1.9.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
8-8: AligncompileSdk/targetSdkto API 34 for the TTS appMost modules in
android/now target SDK 34 (10 of 17 compileSdk, 9 of 15 targetSdk). The TTS app still uses 32, which can lead to subtle discrepancies.Please update
android/SherpaOnnxTts/app/build.gradle:• Line 8: bump
- compileSdk 32 + compileSdk 34• Line 13: bump
- targetSdk 32 + targetSdk 34This is an optional refactor to keep all modules consistent and avoid maintenance overhead.
CHANGELOG.md (1)
3-16: Polish capitalization/wording for consistency and readability.Minor copyedits to align with common style in this file (proper nouns capitalized; avoid trailing period before PR number; clearer phrasing for Ctrl+C/core dump and consistent TTS/TDT capitalization).
* Add VOSK streaming Russian ASR models and Kroko streaming German ASR models (#2502) * Refactor CI tests (#2504) * Update APK versions (#2505) -* Export whisper distil-large-v3 and distil-large-v3.5 to sherpa-onnx (#2506) -* Support specifying pronunciations of phrases in Chinese TTS. (#2507) -* fix(flutter): fix unicode problem in windows path (#2508) +* Export Whisper distil-large-v3 and distil-large-v3.5 to sherpa-onnx (#2506) +* Support specifying pronunciations of phrases in Chinese TTS (#2507) +* fix(flutter): fix Unicode problem in Windows path (#2508) * feat: add punctuation C++ API (#2510) -* Fix ctrl+c may lead to coredump (#2511) -* Add kitten tts nano v0.2 (#2512) -* Scripts to generate tts samples (#2513) -* Add tdt duration to APIs (#2514) +* Fix core dump when pressing Ctrl+C (#2511) +* Add KittenTTS nano v0.2 (#2512) +* Scripts to generate TTS samples (#2513) +* Add TDT duration to APIs (#2514) * Support 16KB page size for Android (#2520) * Split sherpa-onnx Python package (#2521) -* Fix kokoro tts for punctuations (#2522) +* Fix punctuations for Kokoro TTS (#2522)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (56)
CHANGELOG.md(1 hunks)CMakeLists.txt(1 hunks)android/SherpaOnnx/app/build.gradle(1 hunks)android/SherpaOnnx2Pass/app/build.gradle(1 hunks)android/SherpaOnnxAar/README.md(2 hunks)android/SherpaOnnxAudioTagging/app/build.gradle.kts(1 hunks)android/SherpaOnnxAudioTaggingWearOs/app/build.gradle.kts(1 hunks)android/SherpaOnnxJavaDemo/app/build.gradle(2 hunks)android/SherpaOnnxKws/app/build.gradle(1 hunks)android/SherpaOnnxSimulateStreamingAsr/app/build.gradle.kts(1 hunks)android/SherpaOnnxSimulateStreamingAsrWearOs/app/build.gradle.kts(2 hunks)android/SherpaOnnxSpeakerDiarization/app/build.gradle.kts(1 hunks)android/SherpaOnnxSpeakerIdentification/app/build.gradle.kts(1 hunks)android/SherpaOnnxSpokenLanguageIdentification/app/build.gradle.kts(1 hunks)android/SherpaOnnxTts/app/build.gradle(1 hunks)android/SherpaOnnxTtsEngine/app/build.gradle.kts(1 hunks)android/SherpaOnnxVad/app/build.gradle(1 hunks)android/SherpaOnnxVadAsr/app/build.gradle(1 hunks)android/SherpaOnnxWebSocket/app/build.gradle(1 hunks)build-ios-shared.sh(1 hunks)dart-api-examples/add-punctuations/pubspec.yaml(1 hunks)dart-api-examples/audio-tagging/pubspec.yaml(1 hunks)dart-api-examples/keyword-spotter/pubspec.yaml(1 hunks)dart-api-examples/non-streaming-asr/pubspec.yaml(1 hunks)dart-api-examples/speaker-diarization/pubspec.yaml(1 hunks)dart-api-examples/speaker-identification/pubspec.yaml(1 hunks)dart-api-examples/speech-enhancement-gtcrn/pubspec.yaml(1 hunks)dart-api-examples/streaming-asr/pubspec.yaml(1 hunks)dart-api-examples/tts/pubspec.yaml(1 hunks)dart-api-examples/vad-with-non-streaming-asr/pubspec.yaml(1 hunks)dart-api-examples/vad/pubspec.yaml(1 hunks)flutter-examples/streaming_asr/pubspec.yaml(2 hunks)flutter-examples/tts/pubspec.yaml(2 hunks)flutter/sherpa_onnx/pubspec.yaml(2 hunks)flutter/sherpa_onnx_ios/ios/sherpa_onnx_ios.podspec(1 hunks)flutter/sherpa_onnx_macos/macos/sherpa_onnx_macos.podspec(1 hunks)harmony-os/SherpaOnnxHar/sherpa_onnx/BuildProfile.ets(1 hunks)harmony-os/SherpaOnnxHar/sherpa_onnx/README.md(1 hunks)harmony-os/SherpaOnnxHar/sherpa_onnx/oh-package.json5(1 hunks)harmony-os/SherpaOnnxSpeakerDiarization/entry/oh-package.json5(1 hunks)harmony-os/SherpaOnnxSpeakerIdentification/entry/oh-package.json5(1 hunks)harmony-os/SherpaOnnxStreamingAsr/entry/oh-package.json5(1 hunks)harmony-os/SherpaOnnxTts/entry/oh-package.json5(1 hunks)harmony-os/SherpaOnnxVadAsr/entry/README.md(1 hunks)harmony-os/SherpaOnnxVadAsr/entry/oh-package.json5(1 hunks)jitpack.yml(1 hunks)mfc-examples/README.md(1 hunks)new-release.sh(1 hunks)nodejs-addon-examples/package.json(1 hunks)nodejs-examples/package.json(1 hunks)pom.xml(1 hunks)scripts/wheel/patch_wheel.py(1 hunks)scripts/wheel/sherpa-onnx-bin/setup.py(2 hunks)scripts/wheel/sherpa-onnx-core/setup.py(1 hunks)setup.py(1 hunks)sherpa-onnx/csrc/version.cc(1 hunks)
🧰 Additional context used
🧠 Learnings (2)
📚 Learning: 2025-08-06T04:23:50.237Z
Learnt from: litongjava
PR: k2-fsa/sherpa-onnx#2440
File: sherpa-onnx/java-api/src/main/java/com/k2fsa/sherpa/onnx/core/Core.java:4-6
Timestamp: 2025-08-06T04:23:50.237Z
Learning: The sherpa-onnx JNI library files are stored in Hugging Face repository at https://huggingface.co/csukuangfj/sherpa-onnx-libs under versioned directories like jni/1.12.7/, and the actual Windows JNI library filename is "sherpa-onnx-jni.dll" as defined in Core.java constants.
Applied to files:
dart-api-examples/audio-tagging/pubspec.yamldart-api-examples/speaker-identification/pubspec.yamlpom.xmlflutter-examples/streaming_asr/pubspec.yamlharmony-os/SherpaOnnxHar/sherpa_onnx/README.mdharmony-os/SherpaOnnxVadAsr/entry/oh-package.json5harmony-os/SherpaOnnxSpeakerIdentification/entry/oh-package.json5sherpa-onnx/csrc/version.ccharmony-os/SherpaOnnxStreamingAsr/entry/oh-package.json5dart-api-examples/keyword-spotter/pubspec.yamldart-api-examples/add-punctuations/pubspec.yamldart-api-examples/vad-with-non-streaming-asr/pubspec.yamlflutter/sherpa_onnx/pubspec.yamlharmony-os/SherpaOnnxSpeakerDiarization/entry/oh-package.json5jitpack.ymlmfc-examples/README.mddart-api-examples/vad/pubspec.yamlharmony-os/SherpaOnnxHar/sherpa_onnx/oh-package.json5harmony-os/SherpaOnnxTts/entry/oh-package.json5dart-api-examples/speaker-diarization/pubspec.yamlharmony-os/SherpaOnnxVadAsr/entry/README.mdandroid/SherpaOnnxAar/README.md
📚 Learning: 2025-08-06T04:18:47.981Z
Learnt from: litongjava
PR: k2-fsa/sherpa-onnx#2440
File: sherpa-onnx/java-api/src/main/java/com/k2fsa/sherpa/onnx/core/Core.java:4-6
Timestamp: 2025-08-06T04:18:47.981Z
Learning: In sherpa-onnx Java API, the native library names in Core.java (WIN_NATIVE_LIBRARY_NAME = "sherpa-onnx-jni.dll", UNIX_NATIVE_LIBRARY_NAME = "libsherpa-onnx-jni.so", MACOS_NATIVE_LIBRARY_NAME = "libsherpa-onnx-jni.dylib") are copied directly from the compiled binary filenames and should not be changed to match other libraries' naming conventions.
Applied to files:
pom.xmlsherpa-onnx/csrc/version.ccandroid/SherpaOnnxAar/README.md
🧬 Code graph analysis (1)
setup.py (1)
cmake/cmake_extension.py (1)
need_split_package(16-18)
🪛 Ruff (0.12.2)
scripts/wheel/patch_wheel.py
50-50: Do not assert False (python -O removes these calls), raise AssertionError()
Replace assert False
(B011)
🪛 LanguageTool
CHANGELOG.md
[grammar] ~7-~7: There might be a mistake here.
Context: ...tions of phrases in Chinese TTS. (#2507) * fix(flutter): fix unicode problem in win...
(QB_NEW_EN)
[grammar] ~8-~8: There might be a mistake here.
Context: ... unicode problem in windows path (#2508) * feat: add punctuation C++ API (#2510) * ...
(QB_NEW_EN)
[grammar] ~9-~9: There might be a mistake here.
Context: ... * feat: add punctuation C++ API (#2510) * Fix ctrl+c may lead to coredump (#2511) ...
(QB_NEW_EN)
[grammar] ~10-~10: There might be a mistake here.
Context: ... Fix ctrl+c may lead to coredump (#2511) * Add kitten tts nano v0.2 (#2512) * Scrip...
(QB_NEW_EN)
[grammar] ~11-~11: There might be a mistake here.
Context: ...2511) * Add kitten tts nano v0.2 (#2512) * Scripts to generate tts samples (#2513) ...
(QB_NEW_EN)
[grammar] ~12-~12: There might be a mistake here.
Context: ... Scripts to generate tts samples (#2513) * Add tdt duration to APIs (#2514) * Suppo...
(QB_NEW_EN)
[grammar] ~13-~13: There might be a mistake here.
Context: ...2513) * Add tdt duration to APIs (#2514) * Support 16KB page size for Android (#252...
(QB_NEW_EN)
[grammar] ~14-~14: There might be a mistake here.
Context: ...pport 16KB page size for Android (#2520) * Split sherpa-onnx Python package (#2521)...
(QB_NEW_EN)
[grammar] ~15-~15: There might be a mistake here.
Context: ...Split sherpa-onnx Python package (#2521) * Fix kokoro tts for punctuations (#2522) ...
(QB_NEW_EN)
harmony-os/SherpaOnnxVadAsr/entry/README.md
[grammar] ~3-~3: There might be a mistake here.
Context: ...ease download ./sherpa_onnx-v1.12.10.har from <https://huggingface.co/csukuangfj/...
(QB_NEW_EN)
🔇 Additional comments (56)
flutter-examples/streaming_asr/pubspec.yaml (2)
8-8: Bump app version to 1.12.10 — looks goodMatches the repo-wide release version.
34-34: Update sherpa_onnx to ^1.12.10 — aligned with releaseDependency constraint correctly targets the new patch version.
nodejs-addon-examples/package.json (1)
3-3: sherpa-onnx-node -> ^1.12.10 — approvedCaret range maintained; aligns with core lib version bump.
dart-api-examples/audio-tagging/pubspec.yaml (1)
12-12: Dart example now targets sherpa_onnx ^1.12.10 — looks goodConsistent with the repo-wide upgrade.
nodejs-examples/package.json (1)
5-5: sherpa-onnx -> ^1.12.10 — approvedExamples will pick up the latest patch automatically.
harmony-os/SherpaOnnxHar/sherpa_onnx/README.md (1)
26-26: README install snippet updated to 1.12.10 — goodMatches BuildProfile/oh-package updates mentioned in the release.
dart-api-examples/vad-with-non-streaming-asr/pubspec.yaml (1)
13-13: Version bump to sherpa_onnx ^1.12.10 looks correct.Aligns with the repo-wide 1.12.10 release. No functional risk here.
CMakeLists.txt (1)
17-17: CMakeLists.txt version bump confirmed — all references updatedAll checks pass and there are no stray references to 1.12.9 outside of the prior-release section in CHANGELOG.md (which remains for historical context).
• CMakeLists.txt correctly sets SHERPA_ONNX_VERSION to “1.12.10.”
• No “1.12.9” occurrences found outside build artifacts (only in CHANGELOG.md:18 as the previous‐release header).
• Every pubspec.yaml listssherpa_onnx: ^1.12.10.
• C++ sources report version “1.12.10” in version.cc and in the CLI.All package manifests and source strings align with the new release. Approved.
flutter-examples/tts/pubspec.yaml (2)
8-8: App version bumped to 1.12.10 — OK.Keeps the example app version aligned with the library release.
21-21: Update sherpa_onnx to ^1.12.10 — OK.Dependency constraint is consistent with the release. No additional actions required.
dart-api-examples/streaming-asr/pubspec.yaml (1)
14-14: Version constraint updated to ^1.12.10 — looks good.Matches the repo-wide update; should resolve cleanly on pub get.
dart-api-examples/non-streaming-asr/pubspec.yaml (1)
13-13: Dependency bump to sherpa_onnx ^1.12.10 — approved.No functional changes; aligns with the 1.12.10 release train.
dart-api-examples/speaker-identification/pubspec.yaml (1)
12-12: All sherpa_onnx references updated to 1.12.10A quick sweep shows no lingering
1.12.9references in any pubspec, Gradle, CMake, or docs—every example now pinssherpa_onnx: ^1.12.10. The only hit was the historical “## 1.12.9” entry in CHANGELOG.md, which is expected. Feel free to merge.android/SherpaOnnxVad/app/build.gradle (1)
14-15: Please verify compileSdk/targetSdk version alignmentI noticed that in
android/SherpaOnnxVad/app/build.gradlethis module is configured with:compileSdk 33 defaultConfig { … targetSdk 33 … }Whereas several other app modules (e.g. AudioTagging, SimulateStreamingAsr, SpeakerIdentification, TtsEngine) use SDK level 34. If keeping this module at 33 is intentional (for compatibility or other constraints), you can safely ignore this. Otherwise, consider aligning it with the others:
Possible update:
--- a/android/SherpaOnnxVad/app/build.gradle @@ android { - compileSdk 33 + compileSdk 34 @@ defaultConfig { - targetSdk 33 + targetSdk 34dart-api-examples/tts/pubspec.yaml (1)
11-11: Dependency version updated correctly.Matches the 1.12.10 release. No further action needed here.
flutter/sherpa_onnx/pubspec.yaml (2)
20-20: Bumped package version to 1.12.10 — looks good.Matches the repo-wide release version. No functional impact.
33-33: Proceed with publishing: federated plugin packages v1.12.10 confirmedAll five platform packages have been verified on pub.dev with version 1.12.10:
- sherpa_onnx_android
- sherpa_onnx_macos
- sherpa_onnx_linux
- sherpa_onnx_windows
- sherpa_onnx_ios
You can safely publish the umbrella plugin now.
dart-api-examples/speech-enhancement-gtcrn/pubspec.yaml (1)
13-13: Example now targets sherpa_onnx ^1.12.10 — OK.Matches the core release. Keep the commented local path handy for dev.
android/SherpaOnnxAudioTaggingWearOs/app/build.gradle.kts (1)
14-15: VersionCode/Name updated (20250825 / 1.12.10) — consistent with release.Monotonic versionCode and aligned versionName. No issues.
flutter/sherpa_onnx_macos/macos/sherpa_onnx_macos.podspec (1)
7-7: Podspec version set to 1.12.10 — aligned with pubspec note.Good catch with the reminder in the Flutter pubspec; this matches it.
Before pushing to CocoaPods, validate locally:
- Run:
pod lib lint sherpa_onnx_macos.podspec --verbose --allow-warnings- Ensure the vendored dylibs for 1.12.10 are present and codesigned as required (if applicable).
pom.xml (1)
7-7: ✅ Root Android POM version 1.12.10 verified and all related updates applied– No stray “1.12.9” in source files outside CHANGELOG.md (historical entry remains as expected)
– All Android modules underandroid/…/app/build.gradle.ktsnow use
• versionCode = 20250825
• versionName = "1.12.10"
– Every Flutter/Dartpubspec.yamldependency has been bumped to^1.12.10No further action needed.
android/SherpaOnnxVadAsr/app/build.gradle (1)
14-15: All Android modules have consistent version bumpI’ve verified that every Android app module under
android/**/app/build.gradleis set toversionCode 20250825andversionName "1.12.10". No discrepancies found—ready to merge.harmony-os/SherpaOnnxVadAsr/entry/oh-package.json5 (1)
10-10: HarmonyOS dependency updated to 1.12.10 — OK.Change is consistent with the repo-wide bump.
Please ensure sherpa_onnx 1.12.10 is published to ohpm before tagging the release to avoid build breaks for HarmonyOS samples.
build-ios-shared.sh (1)
245-245: Version bump to 1.12.10 in CFBundleShortVersionString — OKMatches the release target and is consistent with the repo-wide bump.
harmony-os/SherpaOnnxStreamingAsr/entry/oh-package.json5 (1)
9-9: Dependency bump to 1.12.10 — looks goodJSON5 format with trailing comma is fine here. No action needed.
android/SherpaOnnxSimulateStreamingAsrWearOs/app/build.gradle.kts (1)
14-16: versionCode/versionName updated — OK20250825 matches the release date (YYYYMMDD) pattern; versionName aligns with 1.12.10.
dart-api-examples/speaker-diarization/pubspec.yaml (1)
11-11: Dart dependency updated to ^1.12.10 — OKCaret constraint is appropriate for patch updates within 1.12.x.
harmony-os/SherpaOnnxTts/entry/oh-package.json5 (1)
9-9: Dependency bump to 1.12.10 — OKConsistent with other HarmonyOS modules in this release.
harmony-os/SherpaOnnxHar/sherpa_onnx/oh-package.json5 (1)
3-3: All HarmonyOS SherpaOnnxHar artifacts updated to 1.12.10 — approved• harmony-os/SherpaOnnxHar/sherpa_onnx/oh-package.json5 version is correctly set to 1.12.10
• harmony-os/SherpaOnnxHar/sherpa_onnx/BuildProfile.ets HAR_VERSION is ‘1.12.10’
• All oh-package.json5 dependency entries reference sherpa_onnx 1.12.10
• No occurrences of 1.12.9 remain under harmony-osJSON5 trailing commas are acceptable as-is.
harmony-os/SherpaOnnxSpeakerDiarization/entry/oh-package.json5 (1)
9-9: HarmonyOS sheriff_onnx dependency consistently pinned to v1.12.10All five sample entry files under harmony-os—including StreamingAsr, Tts, SpeakerIdentification, VadAsr, and SherpaOnnxSpeakerDiarization—have been verified to pin
"sherpa_onnx": "1.12.10", and no occurrences of version 1.12.9 remain.dart-api-examples/add-punctuations/pubspec.yaml (1)
12-12: Verification complete: All sherpa_onnx constraints updated to ^1.12.10
Allpubspec.yamlfiles that declare asherpa_onnxdependency (in bothdart-api-examplesandflutter-examples) now specify^1.12.10, and no references to1.12.9remain. LGTM.scripts/wheel/sherpa-onnx-core/setup.py (1)
26-26: Core wheel version alignment verifiedAll checks passed—no further changes required to maintain version consistency:
- scripts/wheel/sherpa-onnx-core/setup.py is pinned to
1.12.10.- scripts/wheel/sherpa-onnx-bin/setup.py pins
sherpa-onnx-core==1.12.10.- No lingering references to
1.12.9were found in any wheel scripts.Optional refactor: consider centralizing the version in a single source (e.g., a shared
VERSIONfile or environment variable read by each setup script) to prevent future pin drift.android/SherpaOnnxTtsEngine/app/build.gradle.kts (1)
14-15: All Android modules updated with versionCode 20250825 and versionName "1.12.10"Verified that every Android module under
android/—including:
- SherpaOnnxSpeakerDiarization
- SherpaOnnxSpeakerIdentification
- SherpaOnnxTtsEngine
- SherpaOnnxSpokenLanguageIdentification
- SherpaOnnxSimulateStreamingAsr
- SherpaOnnxSimulateStreamingAsrWearOs
- SherpaOnnxAudioTagging
- SherpaOnnxAudioTaggingWearOs
is now using
versionCode = 20250825andversionName = "1.12.10", with no instances of older versions remaining. No further changes needed.android/SherpaOnnxWebSocket/app/build.gradle (1)
14-15: All stale version references removed; version bump successfully applied across the codebaseThe bump to 1.12.10 (versionCode 20250825) is now consistently applied in every manifest, setup script, and example—no references to 1.12.9 or versionCode 20250817 remain. These changes are purely metadata and have no functional impact. Approving.
android/SherpaOnnxSpeakerIdentification/app/build.gradle.kts (1)
14-15: LGTM: Version bump to 1.12.10 / 20250825.Matches the repo-wide release. No functional changes introduced.
dart-api-examples/keyword-spotter/pubspec.yaml (1)
12-12: All Dart API examples consistently use sherpa_onnx ^1.12.10The verification script confirms that every
dart-api-examples/*/pubspec.yamlnow specifiessherpa_onnx: ^1.12.10and there are no remaining references to version 1.12.9. Approving these changes.jitpack.yml (1)
5-9: I’ve generated a script to enumerate all release tags and their assets so we can confirm whether thesherpa-onnx-1.12.10.aaractually exists (or if a different version/filename should be used). Once you run this, please share the output so we can adjust the version parameter or asset name accordingly if needed.harmony-os/SherpaOnnxSpeakerIdentification/entry/oh-package.json5 (1)
9-9: HarmonyOS SherpaOnnx dependency bump verified, no leftover referencesAll HarmonyOS “sherpa_onnx” entries across packages have been updated to version 1.12.10, and there are no remaining references to 1.12.9. The shared HAR_VERSION constant in BuildProfile.ets is also set to 1.12.10. Everything is consistent—no further changes are needed.
flutter/sherpa_onnx_ios/ios/sherpa_onnx_ios.podspec (1)
10-10: Podspec version bumped to 1.12.10 — looks goodAligned with the repo-wide release bump. No other metadata changes needed here.
mfc-examples/README.md (1)
8-10: Release asset links updated to v1.12.10 — looks goodAll three entries consistently point to v1.12.10 for both x64 and x86.
android/SherpaOnnxAudioTagging/app/build.gradle.kts (2)
14-15: Android app version bump to code 20250825 / name 1.12.10 — looks goodMonotonic versionCode increase (20250817 -> 20250825) and versionName aligned with the release tag.
14-15: Versions are consistent across all Android samples/demosAll Android app modules that explicitly declare
versionCode/versionName—namely:
- AudioTagging
- AudioTaggingWearOs
- SimulateStreamingAsr
- SimulateStreamingAsrWearOs
- SpeakerDiarization
- SpeakerIdentification
- SpokenLanguageIdentification
- TtsEngine
—are set to
versionCode = 20250825andversionName = "1.12.10". No discrepancies were found.sherpa-onnx/csrc/version.cc (2)
20-21: Version string updated to 1.12.10 — looks goodMatches the release version used across the repo.
9-17: Unable to verify v1.12.10 tag locally—please fetch tags and confirm metadataI wasn’t able to find the
v1.12.10tag in the local clone, so I can’t automatically compare its commit SHA and date against the literals insherpa-onnx/csrc/version.cc. Please:
- Run
git fetch --tags(or otherwise ensure the annotated tag is present locally).- Verify that
git rev-parse --short v1.12.10git show -s --format="%cD" v1.12.10
match the"3d5d1b9b"and"Mon Aug 25 11:06:28 2025"literals inGetGitSha1andGetGitDate.- If they differ, update the hard-coded strings to the correct values from the annotated release commit.
android/SherpaOnnx2Pass/app/build.gradle (1)
14-15: LGTM: versionCode/versionName correctly bumped to 20250825 / 1.12.10.android/SherpaOnnx/app/build.gradle (1)
14-15: LGTM: versionCode/versionName correctly bumped to 20250825 / 1.12.10.harmony-os/SherpaOnnxHar/sherpa_onnx/BuildProfile.ets (2)
4-4: LGTM: HAR_VERSION updated to 1.12.10.Matches the release version used across the repo.
1-17: No stale version strings detected.
- The only “1.12.9” occurrence is in CHANGELOG.md (line 18), which correctly records the previous release and does not affect consumers.
- All build files, scripts, README entries, and artifact names reference “1.12.10” consistently.
android/SherpaOnnxSpeakerDiarization/app/build.gradle.kts (1)
14-15: LGTM: versionCode/versionName updated to 20250825 / 1.12.10.This module already targets/compiles against SDK 34; consistency looks good here.
scripts/wheel/sherpa-onnx-bin/setup.py (1)
16-16: Version bump and pinned core dependency are consistent (1.12.10). LGTM.Also applies to: 26-26
android/SherpaOnnxTts/app/build.gradle (1)
14-15: VersionCode/Name updated to 20250825 / 1.12.10. Looks good.android/SherpaOnnxSpokenLanguageIdentification/app/build.gradle.kts (1)
14-15: VersionCode/Name updated to 20250825 / 1.12.10. LGTM.new-release.sh (2)
5-6: Anchors updated correctly for 1.12.10 and versionCode 20250825.
The dotted version is properly escaped for sed; the workflow remains consistent with prior releases.Also applies to: 8-9
11-11: Verification complete: no residual version references detectedAll sanity checks passed:
- No leftover “1.12.9” occurrences outside CHANGELOG.md or third_party.
- No stale Android
versionCode 20250817.- Every Android module’s
versionCodeis now 20250825.- Every Android module’s
versionNameis now "1.12.10".Ready to proceed with tagging the release.
android/SherpaOnnxJavaDemo/app/build.gradle (1)
12-13: Android version bump and JitPack dependency updated to v1.12.10.
Looks consistent with the repo-wide release.Also applies to: 37-37
CHANGELOG.md (1)
1-1: Changelog section added for 1.12.10 — looks good.Entry header and placement are consistent with prior sections.
| wget https://github.com/k2-fsa/sherpa-onnx/releases/download/v1.12.10/sherpa-onnx-v1.12.10-android.tar.bz2 | ||
| tar xvf sherpa-onnx-v1.12.10-android.tar.bz2 |
There was a problem hiding this comment.
Fix tar extraction flags for .tar.bz2 (likely to fail on many systems).
.tar.bz2 typically requires -j (bzip2) or -a/--auto-compress. tar xvf may fail on common GNU tar setups. Prefer tar -xjf (portable) or tar -xaf (auto-detect).
Apply this diff:
-wget https://github.com/k2-fsa/sherpa-onnx/releases/download/v1.12.10/sherpa-onnx-v1.12.10-android.tar.bz2
-tar xvf sherpa-onnx-v1.12.10-android.tar.bz2
+wget https://github.com/k2-fsa/sherpa-onnx/releases/download/v1.12.10/sherpa-onnx-v1.12.10-android.tar.bz2
+tar -xjf sherpa-onnx-v1.12.10-android.tar.bz2📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| wget https://github.com/k2-fsa/sherpa-onnx/releases/download/v1.12.10/sherpa-onnx-v1.12.10-android.tar.bz2 | |
| tar xvf sherpa-onnx-v1.12.10-android.tar.bz2 | |
| wget https://github.com/k2-fsa/sherpa-onnx/releases/download/v1.12.10/sherpa-onnx-v1.12.10-android.tar.bz2 | |
| tar -xjf sherpa-onnx-v1.12.10-android.tar.bz2 |
🤖 Prompt for AI Agents
In android/SherpaOnnxAar/README.md around lines 7 to 8, the tar extraction
command uses "tar xvf" which can fail for .tar.bz2 files; update the README to
use a portable extraction flag such as "tar -xjf" (or "tar -xaf" for
auto-detect) so the bzip2-compressed archive is extracted reliably across
systems.
| implementation 'androidx.core:core-ktx:1.7.0' | ||
| // implementation files('/Users/fangjun/open-source/sherpa-onnx/android/SherpaOnnxAar/sherpa_onnx/build/outputs/aar/sherpa_onnx-release.aar') | ||
| implementation 'com.github.k2-fsa:sherpa-onnx:v1.12.9' | ||
| implementation 'com.github.k2-fsa:sherpa-onnx:v1.12.10' |
There was a problem hiding this comment.
💡 Verification agent
🧩 Analysis chain
Verify JitPack artifact v1.12.10 will be available post-tag.
To avoid CI flakes, ensure the tag builds on JitPack and the coordinate resolves.
Run a quick repository check for any stale references and ensure only v1.12.10 is used:
🏁 Script executed:
#!/usr/bin/env bash
set -euo pipefail
echo "Stale JitPack coordinates (should be empty):"
rg -nP "com\.github\.k2-fsa:sherpa-onnx:v1\.12\.9" android || true
echo -e "\nAll referenced JitPack coordinates:"
rg -nP "com\.github\.k2-fsa:sherpa-onnx:v\d+\.\d+\.\d+" android | sort | uniqLength of output: 590
🏁 Script executed:
#!/usr/bin/env bash
# Verify that the JitPack artifact for v1.12.10 is available (build log returns HTTP 200)
set -euo pipefail
echo "Checking JitPack build availability for v1.12.10..."
status=$(curl -I -s https://jitpack.io/com/github/k2-fsa/sherpa-onnx/v1.12.10/build.log | head -n1 | awk '{print $2}')
echo "HTTP status: $status"
if [[ "$status" != "200" ]]; then
echo "❌ JitPack build for v1.12.10 not found."
exit 1
fi
echo "✅ JitPack build for v1.12.10 is available."Length of output: 422
JitPack artifact v1.12.10 is not available
Our verification shows that the JitPack build log for v1.12.10 returns HTTP 404, so the artifact cannot be resolved and will break CI if merged.
• JitPack build log check: HTTP 404 for https://jitpack.io/com/github/k2-fsa/sherpa-onnx/v1.12.10/build.log
• Coordinates in use:
- android/SherpaOnnxJavaDemo/app/build.gradle:37
- android/SherpaOnnxSimulateStreamingAsrWearOs/app/build.gradle.kts:61
Please ensure that the GitHub tag v1.12.10 is pushed and that JitPack has successfully built/published this release before merging.
🤖 Prompt for AI Agents
In android/SherpaOnnxJavaDemo/app/build.gradle around line 37 (and also
android/SherpaOnnxSimulateStreamingAsrWearOs/app/build.gradle.kts around line
61), the dependency implementation 'com.github.k2-fsa:sherpa-onnx:v1.12.10'
references a JitPack artifact that returns HTTP 404; either push the missing
GitHub tag v1.12.10 and wait for JitPack to finish building/publishing (verify
the build log is successful) or change the dependency to a valid released
tag/version that is already available on JitPack and update both build files
accordingly so CI can resolve the artifact.
| publish_to: 'none' | ||
|
|
||
| version: 1.12.9 | ||
| version: 1.12.10 |
There was a problem hiding this comment.
💡 Verification agent
🧩 Analysis chain
Quick sweep for any lingering 1.12.9 references
To avoid skew between docs/samples and the released version, please verify there are no stale 1.12.9 strings left in the repo.
Run this from the repo root:
Also applies to: 34-34
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "Searching for stale 1.12.9 references (excluding common build/vendor dirs)..."
rg -nP '1\.12\.9' \
-g '!**/build/**' -g '!**/.dart_tool/**' -g '!**/node_modules/**' -g '!**/dist/**' -g '!**/.git/**'
echo
echo "Sanity check: ensure all pubspecs depend on ^1.12.10"
rg -nP '^\s*sherpa_onnx:\s*\^1\.12\.10\b' -g '**/pubspec.yaml' -n -S -C2 || trueLength of output: 4945
Update stale version reference in CHANGELOG.md
A lingering “1.12.9” header remains in the changelog. All pubspecs are correctly pinned to ^1.12.10.
• CHANGELOG.md (line 18):
- Current:
## 1.12.9 - Update to:
## 1.12.10and add the corresponding release notes.
🤖 Prompt for AI Agents
In flutter-examples/streaming_asr/pubspec.yaml around line 8 the project version
is 1.12.10 but CHANGELOG.md still has a header for 1.12.9 (line 18); update
CHANGELOG.md line 18 to "## 1.12.10" and add the corresponding release
notes/details for this release under that header so the changelog matches the
pubspec version.
| |[./NonStreamingSpeechRecognition](./NonStreamingSpeechRecognition)|[URL](https://github.com/k2-fsa/sherpa-onnx/releases/download/v1.12.10/sherpa-onnx-non-streaming-asr-x64-v1.12.10.exe)|[URL](https://github.com/k2-fsa/sherpa-onnx/releases/download/v1.12.10/sherpa-onnx-non-streaming-asr-x86-v1.12.10.exe)| Non-streaming speech recognition| | ||
| |[./StreamingSpeechRecognition](./StreamingSpeechRecognition)|[URL](https://github.com/k2-fsa/sherpa-onnx/releases/download/v1.12.10/sherpa-onnx-streaming-asr-x64-v1.12.10.exe)|[URL](https://github.com/k2-fsa/sherpa-onnx/releases/download/v1.12.10/sherpa-onnx-streaming-asr-x86-v1.12.10.exe)| Streaming speech recognition| | ||
| |[./NonStreamingTextToSpeech](./NonStreamingTextToSpeech)|[URL](https://github.com/k2-fsa/sherpa-onnx/releases/download/v1.12.10/sherpa-onnx-non-streaming-tts-x64-v1.12.10.exe)|[URL](https://github.com/k2-fsa/sherpa-onnx/releases/download/v1.12.10/sherpa-onnx-non-streaming-tts-x86-v1.12.10.exe)| Non-streaming text to speech| |
There was a problem hiding this comment.
💡 Verification agent
🧩 Analysis chain
Verify the new URLs resolve (prevent stale/broken links on release day)
Quick check script to ensure each URL returns HTTP 200.
🏁 Script executed:
#!/bin/bash
set -euo pipefail
urls=(
"https://github.com/k2-fsa/sherpa-onnx/releases/download/v1.12.10/sherpa-onnx-non-streaming-asr-x64-v1.12.10.exe"
"https://github.com/k2-fsa/sherpa-onnx/releases/download/v1.12.10/sherpa-onnx-non-streaming-asr-x86-v1.12.10.exe"
"https://github.com/k2-fsa/sherpa-onnx/releases/download/v1.12.10/sherpa-onnx-streaming-asr-x64-v1.12.10.exe"
"https://github.com/k2-fsa/sherpa-onnx/releases/download/v1.12.10/sherpa-onnx-streaming-asr-x86-v1.12.10.exe"
"https://github.com/k2-fsa/sherpa-onnx/releases/download/v1.12.10/sherpa-onnx-non-streaming-tts-x64-v1.12.10.exe"
"https://github.com/k2-fsa/sherpa-onnx/releases/download/v1.12.10/sherpa-onnx-non-streaming-tts-x86-v1.12.10.exe"
)
for u in "${urls[@]}"; do
code=$(curl -s -o /dev/null -w "%{http_code}" -I "$u")
echo "$code $u"
[[ "$code" == "200" ]] || { echo "Broken link: $u" >&2; exit 1; }
done
echo "All links OK"Length of output: 1427
Generating a full link-verification run to see which URLs (beyond the first) are broken:
🏁 Script executed:
#!/bin/bash
set -uo pipefail
urls=(
"https://github.com/k2-fsa/sherpa-onnx/releases/download/v1.12.10/sherpa-onnx-non-streaming-asr-x64-v1.12.10.exe"
"https://github.com/k2-fsa/sherpa-onnx/releases/download/v1.12.10/sherpa-onnx-non-streaming-asr-x86-v1.12.10.exe"
"https://github.com/k2-fsa/sherpa-onnx/releases/download/v1.12.10/sherpa-onnx-streaming-asr-x64-v1.12.10.exe"
"https://github.com/k2-fsa/sherpa-onnx/releases/download/v1.12.10/sherpa-onnx-streaming-asr-x86-v1.12.10.exe"
"https://github.com/k2-fsa/sherpa-onnx/releases/download/v1.12.10/sherpa-onnx-non-streaming-tts-x64-v1.12.10.exe"
"https://github.com/k2-fsa/sherpa-onnx/releases/download/v1.12.10/sherpa-onnx-non-streaming-tts-x86-v1.12.10.exe"
)
for u in "${urls[@]}"; do
code=$(curl -s -o /dev/null -w "%{http_code}" -I "$u")
echo "$code $u"
doneLength of output: 3277
Generating a quick check of existing GitHub release tags to ensure v1.12.10 actually exists:
🏁 Script executed:
#!/usr/bin/env bash
set -euo pipefail
# List all release tag names for sherpa-onnx
curl -s "https://api.github.com/repos/k2-fsa/sherpa-onnx/releases" \
| grep -E '"tag_name":' \
| sed -E 's/.*"([^"]+)".*/\1/' \
| sort -uLength of output: 444
Broken links: Release v1.12.10 doesn’t exist
All six URLs in mfc-examples/README.md (lines 8–10) return HTTP 404 because there’s no v1.12.10 tag in the sherpa-onnx repo—latest is v1.12.9. You’ll need to either:
- Publish a v1.12.10 release before merging, or
- Update the URLs to point to an existing tag (e.g. v1.12.9)
Locations to fix:
- mfc-examples/README.md, lines 8–10 (the download links referencing v1.12.10)
🤖 Prompt for AI Agents
In mfc-examples/README.md around lines 8 to 10, the six download URLs reference
a non-existent release tag v1.12.10 and return 404; update each URL to point to
an existing tag (e.g. replace v1.12.10 with v1.12.9) for all three rows (six
links), or alternatively ensure a v1.12.10 release is published before merging
so the current links resolve.
| py_version = None | ||
| else: | ||
| assert False, f"Unknow python version in {whl}" | ||
| assert False, f"Unknown python version in {whl}" |
There was a problem hiding this comment.
🛠️ Refactor suggestion
Replace assert False with an explicit exception (avoid optimization removing it; Ruff B011)
assert can be stripped with python -O, leading to an unbound py_version later. Raise a clear exception instead.
Apply this diff:
- assert False, f"Unknown python version in {whl}"
+ raise ValueError(f"Unknown Python version tag in wheel filename: {whl.name}")📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| assert False, f"Unknown python version in {whl}" | |
| raise ValueError(f"Unknown Python version tag in wheel filename: {whl.name}") |
🧰 Tools
🪛 Ruff (0.12.2)
50-50: Do not assert False (python -O removes these calls), raise AssertionError()
Replace assert False
(B011)
🤖 Prompt for AI Agents
In scripts/wheel/patch_wheel.py around line 50, the code uses "assert False,
f'Unknown python version in {whl}'" which can be stripped with python -O;
replace this assert with raising an explicit exception (for example: raise
RuntimeError(f"Unknown python version in {whl}") or raise ValueError(...)) so
the error always occurs and includes the whl variable in the message.
| data_files=[("Scripts", bin_files) if is_windows() else ("bin", bin_files)], | ||
| install_requires=[ | ||
| "sherpa-onnx-core==1.12.9", | ||
| "sherpa-onnx-core==1.12.10", |
There was a problem hiding this comment.
💡 Verification agent
🧩 Analysis chain
Pre-publish check: ensure sherpa-onnx-core 1.12.10 is on PyPI before publishing this wheel.
This package hard-pins sherpa-onnx-core==1.12.10. If core isn’t published first, installs will fail.
Run to confirm availability:
🏁 Script executed:
#!/usr/bin/env bash
set -euo pipefail
curl -s https://pypi.org/pypi/sherpa-onnx-core/json | jq -r '.releases | keys[]' | sort -V | tail -n 10Length of output: 193
sherpa-onnx-core v1.12.10 missing on PyPI – publish before wheel release
The wheel’s setup.py hard-pins sherpa-onnx-core==1.12.10, but a PyPI query shows the latest core release is 1.12.9:
0.0.8
…
0.0.18
1.12.9
To avoid installation failures:
- scripts/wheel/sherpa-onnx-bin/setup.py @ line 26 still pins
sherpa-onnx-core==1.12.10. - Publish
sherpa-onnx-corev1.12.10 to PyPI before releasing this wheel. - Alternatively, if v1.12.10 isn’t ready, update the pin to an existing version (e.g., 1.12.9).
🤖 Prompt for AI Agents
In scripts/wheel/sherpa-onnx-bin/setup.py around line 26 the dependency is
hard-pinned to sherpa-onnx-core==1.12.10 which is not available on PyPI; either
publish sherpa-onnx-core v1.12.10 to PyPI before releasing this wheel or change
the pin to an existing released version (e.g., update to 1.12.9) so the wheel
installation does not fail; make the change in setup.py and verify install by
running pip install against the modified setup or running a local build test.
| }, | ||
| license="Apache licensed, as found in the LICENSE file", | ||
| install_requires=["sherpa-onnx-core==1.12.9"] if need_split_package() else None, | ||
| install_requires=["sherpa-onnx-core==1.12.10"] if need_split_package() else None, |
There was a problem hiding this comment.
💡 Verification agent
🧩 Analysis chain
Avoid hard-coding the core package version; derive it from CMake version to prevent drift.
Right now the version "1.12.10" is duplicated here and in CMake. Use get_package_version(), stripping any "+cuda" suffix, so this always stays in sync with SHERPA_ONNX_VERSION.
Apply:
- install_requires=["sherpa-onnx-core==1.12.10"] if need_split_package() else None,
+ install_requires=[f"sherpa-onnx-core=={get_package_version().split('+')[0]}"] if need_split_package() else None,Also confirm the core wheel is published before releasing:
🏁 Script executed:
#!/bin/bash
# Verify sherpa-onnx-core 1.12.10 exists on PyPI
curl -sS https://pypi.org/pypi/sherpa-onnx-core/json | jq -r '.releases | keys[]' | sort -V | tail -n 10Length of output: 174
Critical: Derive core package version and publish sherpa-onnx-core v1.12.10
Please address two blocking concerns before merging:
- File: setup.py (around line 104)
Replace the hard-coded core package version with theget_package_version()helper to keep it in sync with your CMake settings. - Packaging state
The PyPI index currently lists up through 1.12.9—1.12.10 is not yet published, so any install depending on it will fail. Please publishsherpa-onnx-corev1.12.10 before releasing this package.
Suggested refactor in setup.py:
- install_requires=["sherpa-onnx-core==1.12.10"] if need_split_package() else None,
+ install_requires=[f"sherpa-onnx-core=={get_package_version().split('+')[0]}"] if need_split_package() else None,Once the wheel for 1.12.10 is live on PyPI and the code is updated to derive the version dynamically, this package can be released safely.
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| install_requires=["sherpa-onnx-core==1.12.10"] if need_split_package() else None, | |
| install_requires=[f"sherpa-onnx-core=={get_package_version().split('+')[0]}"] if need_split_package() else None, |
🤖 Prompt for AI Agents
In setup.py around line 104, the install_requires currently hard-codes
"sherpa-onnx-core==1.12.10"; replace this literal with a call to
get_package_version() so the core package version is derived from your helper
(e.g., construct "sherpa-onnx-core=={get_package_version()}") to keep it in sync
with CMake settings, and after updating the code ensure sherpa-onnx-core
v1.12.10 is published to PyPI before releasing so installs won't fail.
Summary by CodeRabbit