Release v1.12.36#3488
Conversation
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (66)
📝 WalkthroughWalkthroughThis PR is a version release bump from 1.12.35 to 1.12.36, updating version metadata, build codes, and version strings consistently across the entire project including CMake configuration, Android applications, iOS framework, Flutter/Dart packages, Rust crates, Python wheels, and Harmony OS packages. Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~5 minutes Possibly related PRs
Poem
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Code Review
This pull request updates the project version from 1.12.35 to 1.12.36 across all supported platforms and documentation, while also updating the changelog with several new features and bug fixes, such as Android arm64 support and Qwen3-ASR model improvements. Feedback suggests improving the release and build process by avoiding hardcoded versions and build metadata in scripts and source files, recommending parameterization and preprocessor definitions instead to ensure a more robust and less error-prone workflow.
| old_version_code=20260403 | ||
| new_version_code=20260408 | ||
|
|
||
| old_version="1\.12\.34" | ||
| new_version="1\.12\.35" | ||
| old_version="1\.12\.35" | ||
| new_version="1\.12\.36" |
There was a problem hiding this comment.
The release script hardcodes old and new versions. This approach is error-prone, as it requires manually editing the script for each release. A small mistake could lead to an inconsistent release.
To make the process more robust, consider parameterizing the script to accept versions as command-line arguments. This avoids modifying the script itself.
| const char *GetGitDate() { | ||
| static const char *date = "Fri Apr 3 11:37:59 2026"; | ||
| static const char *date = "Wed Apr 8 20:41:40 2026"; | ||
| return date; | ||
| } | ||
|
|
||
| const char *GetGitSha1() { | ||
| static const char *sha1 = "3fabf529"; | ||
| static const char *sha1 = "5459ad1f"; | ||
| return sha1; | ||
| } | ||
|
|
||
| const char *GetVersionStr() { | ||
| static const char *version = "1.12.35"; | ||
| static const char *version = "1.12.36"; | ||
| return version; | ||
| } |
There was a problem hiding this comment.
Hardcoding build information like git SHA and date by modifying source files with sed is fragile. This can lead to stale information if the script isn't run, or errors if the file format changes.
A more robust approach is to pass this information at compile time using preprocessor definitions. This ensures the information is always accurate for each build without modifying version-controlled files.
Summary by CodeRabbit