Skip to content

Release 1.3.5: fix the 32-bit Android build and the Swift script - #33

Merged
setoelkahfi merged 4 commits into
mainfrom
feature/release-1.3.5
Oct 31, 2026
Merged

setoelkahfi merged 4 commits into
mainfrom
feature/release-1.3.5

Conversation

@setoelkahfi

@setoelkahfi setoelkahfi commented Oct 31, 2026 •

Copy link
Copy Markdown
Collaborator

Release 1.3.5. It fixes the two things that stopped 1.3.3 and 1.3.4 from reaching Maven Central and onde-swift.

Kotlin / Maven Central. onde-mistralrs-core 0.9.5 failed to compile for armv7-linux-androideabi. memory_plan.rs has const MAX_UNIFIED_RESERVE: usize = 16 * GIB, which overflows a 32-bit usize (E0080). The fork fix is published as onde-mistralrs-core 0.9.6 and this PR depends on it.

Swift / onde-swift. build-swift-xcframework.sh looked for uniffi-bindgen/target/release/uniffi-bindgen. Since onde became a Cargo workspace the binary is built into the root target/release/, so the script failed at the first generate call. 1.3.3 and 1.3.4 both died there, and onde-swift is still on 1.3.2. sdk/kotlin/scripts/generate-bindings.sh had the same stale path, so I fixed it too before it became the next Kotlin failure. The docs that repeat the path are updated.

CI. check-android now also runs cargo check --target armv7-linux-androideabi, so a 32-bit break shows up on the PR.

Checked locally: cargo fmt --check, cargo clippy -- -D warnings, cargo test inference::, cargo check for armv7 and i686 Android against the published 0.9.6, uniffi-bindgen building to target/release/, and scripts/sync-release-version.py --check.

The version bump is a separate commit. No public API changes.

Workspace fallout. The same workspace change broke other things that assumed per-crate target/ and Cargo.lock files, so two more commits clean those up:

  • sdk/react-native/scripts/build-rust.sh, the Dart iOS and macOS podspec script phases, and the Dart Linux and Windows CMakeLists.txt looked in rust/target/. They now ask cargo metadata for target_directory, which also works if the crate is ever built standalone. CMake goes to 3.19 for string(JSON).
  • sdk/dart/rust/Cargo.lock and sdk/react-native/rust/Cargo.lock were ignored by cargo and still pinned core 0.9.3. They are removed, sync-release-version.py and make relock only touch the root lock, and rust/Cargo.lock is out of the npm files.
  • The sdk-releases skill, the preflight comment, the sdk-dart and sdk-react-native notes, and the AGENTS.md layout are updated. The layout no longer lists sdk/gem and sdk/python, which don't exist.

Checked locally: make verify, cargo fmt --check, npm pack --dry-run, build-rust.sh ios producing the xcframework from the root target/, and the Dart macOS build copying from it. I did not run the Linux or Windows CMake builds; I only ran the cargo metadata and string(JSON) lookup, which returned the root target/. Those two are unverified until someone builds them.

setoelkahfi and others added 2 commits October 31, 2026 07:37
onde-mistralrs-core 0.9.5 did not compile on armv7: a 16 GiB const
overflows a 32-bit usize (E0080). 0.9.6 fixes it, so depend on that.

Since onde became a Cargo workspace, uniffi-bindgen builds into the root
target/release/. The Swift XCFramework script and the Kotlin
generate-bindings script still looked in uniffi-bindgen/target/release/,
which is why onde-swift is stuck on 1.3.2. Point both at the workspace
path and update the docs that repeat it.

CI now also runs cargo check for armv7-linux-androideabi so a 32-bit
break shows up on the pull request instead of in the release.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

@sigit-code-review sigit-code-review 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.

This release (1.3.5) addresses two main build issues that blocked previous releases from reaching Maven Central and onde-swift. The first is a 32-bit Android build failure due to a constant overflow in onde-mistralrs-core 0.9.5, now fixed by upgrading to 0.9.6 across all relevant targets in Cargo.toml. The second is a path error in scripts and documentation for locating the uniffi-bindgen binary after the move to a Cargo workspace; all references now use the correct workspace target directory. CI is updated to check the 32-bit Android target to catch similar issues early. All version numbers are bumped to 1.3.5 and changelogs are updated to reflect these fixes. No public API changes are introduced. Previous findings about the bindgen path and 32-bit build are addressed in this diff. Reviewers should focus on the dependency updates, script path corrections, and the new CI check for armv7.


Automated review by siGit Code Review · commit 6f8583c · see the review dashboard

setoelkahfi and others added 2 commits October 31, 2026 08:27
When the repo became a Cargo workspace, the Dart and React Native bridge
crates started writing to the root target/ and resolving against the root
Cargo.lock. Several files still assumed the old per-crate layout:

- build-rust.sh (React Native), the Dart iOS and macOS podspec script
  phases, and the Dart Linux and Windows CMakeLists.txt looked for
  rust/target/, so the copy and link steps missed the build output.
  They now ask `cargo metadata` for target_directory, which is right
  inside the workspace and for a standalone build. CMake needs 3.19 for
  string(JSON).
- sdk/dart/rust/Cargo.lock and sdk/react-native/rust/Cargo.lock were
  ignored by cargo and still pinned core 0.9.3. Remove them, stop
  patching them in sync-release-version.py, drop rust/Cargo.lock from
  the npm package files, and trim `make relock` to the root lock.

Checked: the React Native iOS build produces the xcframework from the
root target/, the Dart macOS build copies from it, and the CMake
metadata lookup returns the same path. The Linux and Windows builds
themselves were not run.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
The sdk-releases checklist and pitfalls, the release-preflight comment,
the sdk-dart and sdk-react-native skill notes, and the AGENTS.md layout
described per-SDK lockfiles and rust/target/. They now describe the
workspace: one Cargo.lock and one root target/. The layout also listed
sdk/gem and sdk/python, which do not exist, so those are gone.

Adds the build fix to the 1.3.5 entries in the root, Dart and React
Native changelogs.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

@sigit-code-review sigit-code-review 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.

This re-review addresses fallout from the workspace migration and fixes build and packaging issues for the Dart and React Native SDKs. The main changes are: (1) all scripts and build files that previously assumed per-crate target/ and Cargo.lock files now use cargo metadata to find the workspace target directory, ensuring correct artifact locations; (2) the now-unused per-SDK Cargo.lock files are removed, and all lockfile operations are consolidated to the root; (3) documentation, Makefile, and packaging ignore lists are updated to reflect the new layout and build process. The changes are focused and correct, and all open threads from the previous review appear addressed. No new correctness or security issues are introduced in these diffs. The CMake minimum version is bumped to 3.19 for string(JSON) support, which is required for the new cargo metadata parsing logic.


Automated review by siGit Code Review · commit 3028b72 · changes since 6f8583c · see the review dashboard

@setoelkahfi setoelkahfi self-assigned this Oct 31, 2026
@setoelkahfi
setoelkahfi merged commit 1a73460 into main Oct 31, 2026
38 checks passed
@setoelkahfi
setoelkahfi deleted the feature/release-1.3.5 branch October 31, 2026 09:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants