Skip to content

Release v0.2.0#279

Open
theGlenn wants to merge 13 commits into
masterfrom
release/v0.2.0
Open

Release v0.2.0#279
theGlenn wants to merge 13 commits into
masterfrom
release/v0.2.0

Conversation

@theGlenn

Copy link
Copy Markdown
Contributor

Release v0.2.0.

Artifacts are staged in a draft release.

When this PR merges, the Release Publish workflow will:

  • Tag the merge commit v0.2.0
  • Publish the draft release (asset URLs become public)
  • Publish to crates.io, pub.dev, and Maven Central
  • Update the swift branch

Close this PR (without merging) to abort. The draft release will
be cleaned up by the next release-prep run.

theGlenn and others added 11 commits June 18, 2026 02:16
Vision release. Bump all crates + binding manifests (Flutter, Unity,
Kotlin, Swift, flutter-rust) from 0.1.2 to 0.2.0 and regenerate
Cargo.lock.

Also fix stale internal path-dep version pins that version-sync.sh does
not touch (xybrid-sdk/xybrid-core/xybrid-macros at 0.1.0-rc3, llama
crates at 0.1.2), which otherwise fail lockfile regen under ^0.1.x.

Update the root and Flutter CHANGELOGs with the 0.2.0 entry: on-device
vision/VLM, real-time camera primitives + streaming cancellation,
streaming TTS, speculative cloud loader, and the UniFFI -> BoltFFI
binding migration (breaking for binding consumers).
useLocalNatives = false so external SPM consumers resolve the published
XybridFFI xcframework release asset rather than the uncommitted local
build. Per the file's own header, remote mode is the committed state.
The Android build runs tools/scripts/build-android-bolt.sh, which calls
`boltffi pack android`. release-prep.yml installed cargo-ndk but not the
boltffi CLI (unlike build-android.yml / test-ci.yml), so the job failed
with 'boltffi: command not found'. Add the same cached install pinned to
0.25.3 to match the runtime crate.
The 'Compile Swift binding wrapper' step runs xcodebuild
-resolvePackageDependencies. With the committed useLocalNatives=false
(correct for SPM consumers), it would resolve the REMOTE xcframework asset
— which 404s on a release PR while the v<version> release is still a draft.
Flip to local mode at CI runtime (set-natives-mode.sh --set-local) before
resolving, and correct the stale comment that assumed useLocalNatives=true.
The native vision (mtmd/ggml) backend added in 0.2.0 does not compile for
i686-linux-android, failing `boltffi pack android` (and thus the whole
release). x86 is emulator-only, was already ORT-less/non-first-class, and
— critically — the Kotlin AAR already filters to armeabi-v7a/arm64-v8a/
x86_64 (build.gradle.kts abiFilters), so x86 was compiled but never
shipped. Restrict boltffi to architectures = [arm64, armv7, x86_64] and
trim the now-dead x86 paths in build-android-bolt.sh. No consumer-facing
change.
cargo xtask build-xcframework shells out to `boltffi pack apple`, but the
Build XCFramework job never installed the CLI (only the Android job did).
It passed before only when the macOS runner happened to have boltffi
cached — non-deterministic. Add the same Cache + Install (pinned 0.25.3)
steps before the build, matching the Android job.
@theGlenn theGlenn added the release Release PRs opened by the release-prep workflow label Jun 19, 2026
@vercel

vercel Bot commented Jun 19, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
xybrid Ignored Ignored Preview Jun 19, 2026 6:29pm

Request Review

@gemini-code-assist gemini-code-assist 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.

Code Review

This pull request bumps the project version to 0.2.0 (the vision release) across all workspace crates, bindings (Flutter, Kotlin, Unity, Swift), and package manifests. It updates the changelogs to document the new on-device multimodal stack, FFI migration to BoltFFI, and various fixes. Additionally, 32-bit x86 (i686) support is removed from the Android build configuration in boltffi.toml and build-android-bolt.sh because the new native vision backend does not compile for 32-bit x86. There are no review comments, so I have no feedback to provide.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

theGlenn and others added 2 commits June 20, 2026 03:06
# Conflicts:
#	CHANGELOG.md
#	Cargo.lock
#	Cargo.toml
#	Package.swift
#	bindings/flutter/CHANGELOG.md
#	bindings/flutter/pubspec.yaml
#	bindings/flutter/rust/Cargo.toml
#	bindings/kotlin/build.gradle.kts
#	bindings/unity/package.json
#	crates/xybrid-core/Cargo.toml
#	crates/xybrid-llama/Cargo.toml
#	crates/xybrid-sdk/Cargo.toml
#	crates/xybrid/Cargo.toml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release Release PRs opened by the release-prep workflow

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant