main
1.3.3
- Version aligned with the Rust core. No React Native API changes.
- The Rust bridge crate (
sdk/react-native/rust) is now a member of theondeCargo workspace and inheritstokio,serde,serde_json, andlogfrom the new[workspace.dependencies]table. Resolved versions are unchanged.
1.3.2
- Version aligned with the Rust core. The new Rust-native
ChatEngine::complete()stateless completion API — which runs a tool turn over a caller-owned conversation without touching the engine's history — is not exposed through React Native. No React Native API changes.
1.3.1
- Fixed a crash in the Rust core when a chat message or reply longer than 100 bytes had a multi-byte character (accented letters, CJK, emoji) at the point where the log preview was cut.
- Version aligned with the Rust core. No React Native API changes.
1.3.0
- Streamed inferences now report Pulse duration, measured time to first token, and accurate success, error, or cancellation status.
- Pulse document mirroring uses app- and edge-scoped identities and records edge recency for reliable liveness reporting.
- Version aligned with the Rust core. The new Rust-native
ChatEngine::with_pulse_country()builder is not exposed through React Native; hosts that explicitly configure the SDK can useONDE_PULSE_COUNTRY.
1.2.5
- Version aligned with the Rust crate. The 1.2.5 tool-calling additions
(
ChatEngine::tool_calling_support,ChatEngine::record_tool_results) are Rust-only and are not yet exposed through this package.
1.2.4
- Dependency updates across the Rust tree
- onde-tqdm is retired: the mistral.rs fork now depends on upstream tqdm 0.8.1 directly, which carries the merged crossterm 0.29 bump
- Release workflow fixes for the Dart and Kotlin SDK jobs (Flutter pub get no longer fails the publish on a dirty tree; the Kotlin job installs the pinned Rust toolchain before adding Android targets)
1.2.3
- UQFF model support:
uqffModelConfig(...)builds a config for a pre-quantised UQFF export, andOndeChatEngine.loadUqffModel(...)loads it. UQFF weights are quantised ahead of time, so loading skips the memory spike of in-situ quantisation - Dependency updates
1.2.2
- Moved onto the published onde-mistralrs 0.9.3 crates
- Dropped the mio visionOS patch — the cfg gating it worked around now ships upstream, so the Apple XCFramework builds without it
1.2.1
- Fixed the Android build: gated the 10 GiB UQFF chunk-size constant so it no longer overflows
usizeon 32-bit targets (armv7) - Moved onto the published onde-mistralrs 0.9.2 crates (fork synced with upstream 0.9.x)
1.2.0
- Full Qwen 3 model family support: 0.6B, 1.7B, 4B, 8B, 14B, 32B, plus the 4B Instruct/Thinking 2507 refreshes and the 30B-A3B MoE variant, each with a matching config free function
- Synced the mistral.rs fork with upstream 0.8.23, pulling in Metal compile fixes
- Refreshed branding and legal wording across generated docs
- Dependency updates
1.1.4
- Bump smbCloud GresIQ SDK to 0.4.7 and dual-write pulse telemetry to the GresIQ document gateway (ADR-0003 M2); telemetry events now carry an optional
onde_app_id
1.1.3
- Bump smbCloud GresIQ SDK to 0.4.6 (telemetry transport now tracks the latest smbCloud platform SDK line)
1.1.2
- tvOS support: 0.5B model default, memory-optimized model builder, snapshot cache repair
- New
configure_cache_dirFFI function for sandboxed platforms - New
qwen25_0_5b_config()free function
1.0.0
This is the first stable release. Onde has already been running in real App Store apps for a while, so it felt like time to leave 0.x behind.
Assigned model loading
There is a new loadAssignedModel(appId, appSecret) method on OndeChatEngine. You register your app at ondeinference.com, pick a model in the dashboard, and the SDK loads it at runtime. If nothing has been assigned yet, it falls back to the platform default. loadDefaultModel still works fine if you just want to get started quickly.
The example app includes ONDE_APP_ID and ONDE_APP_SECRET constants near the top. Fill those in and it will switch to the assigned-model flow automatically.
New models
- Qwen 3 8B, 14B, and 1.7B (GGUF Q4_K_M)
- Qwen 2.5 Coder 7B (GGUF Q4_K_M)
- DeepSeek Coder 6.7B (GGUF Q4_K_M) with bundled chat template
Type changes
GgufModelConfignow has an optionalchatTemplatefield. This is for models that do not ship with a built-in template, like DeepSeek Coder.InferenceResultnow includes atoolCallsarray (ToolCallInfo[]). It will usually be empty, but when a model asks for a tool call, you now get structured data instead of raw markup intext.- Added a
ToolCallInfotype export.
Engine
- Old model weights are now dropped outside the lock during model swaps, so status queries do not get stuck while memory is being freed.
Dependencies
- Switched from the git-based
mistralrsdependency to the publishedonde-mistralrs 0.8.2crates on crates.io.
Cross-platform
- Linux and Windows CPU inference builds now work properly too, thanks to a
TokenSourcefix for non-Darwin platforms.
0.1.7
- CI: No user-facing changes here. This was an internal release to keep version numbers aligned across the SDKs.
0.1.6
- Fix: Replaced the composite
LICENSEfile with the standard MIT license text so package registries correctly recognise the OSI-approved license.
0.1.5
- Engine: Added
loadAssignedModel(). It fetches the model config assigned to your app from the Onde SDK backend using app credentials, with no user JWT required. If no model has been assigned yet, it falls back to the platform default. - Telemetry: Added the GresIQ pulse telemetry client. The engine now reports usage events to the GresIQ dashboard. Configure it with the
GRESIQ_ENVIRONMENTandONDE_EDGE_IDenvironment variables before the engine starts. - Build: GresIQ API credentials (
GRESIQ_API_KEY,GRESIQ_API_SECRET,GRESIQ_APP_ID) are now embedded at build time throughdotenvy, so CI can inject secrets through environment variables without changing source files.
0.1.4
- Added the Qwen 3 4B GGUF model (
bartowski/Qwen_Qwen3-4B-GGUF) with full OpenAI-compatible tool calling support. - Added the
qwen3_4b()model config and registered it in the supported model list.
0.1.3
- First release of the React Native Expo module.
- Multi-turn chat inference with Qwen 2.5 1.5B and 3B GGUF models.
- Metal acceleration on iOS (Apple silicon).
- CPU inference on Android.
- Platform-aware default model selection, with 1.5B on iOS and Android.
- Conversation history management through
history(),clearHistory(), andpushHistory(). - A one-shot
generate()API that does not change conversation history. - Configurable sampling, including temperature, top-p, top-k, min-p, max tokens, and penalties.
- Built-in sampling presets:
defaultSamplingConfig(),deterministicSamplingConfig(), andmobileSamplingConfig(). - Engine status through
info(), including status, loaded model name, memory, and history length.