@ondeinference / onde / commits / 19bca72

Release 1.3.0

Co-Authored-By: siGit Code <noreply@sigit.si>

Seto Elkahfi committed Sep 26, 2026 at 10:37 UTC 19bca72ae7646061dbc4763b5be5b87b273bb3b2
12 files changed +50 -12
CHANGELOG.md
+18 -1
@@ -1,3 +1,20 @@
1 +## 1.3.0
2 +
3 +### Pulse document telemetry
4 +
5 +* Added opt-in dual-write to the GresIQ document gateway for attributed model-load and inference events. Documents are scoped by Onde app and edge identities so retries remain idempotent and separate installations cannot overwrite one another.
6 +* Streaming inference now reports Pulse events, including measured time to first token. Setup and mid-stream failures report `error`, dropped receivers report `cancelled`, and unmeasured TTFT stays absent instead of becoming a misleading zero.
7 +* Edge documents now carry a last-seen timestamp so readers can derive liveness from recency instead of a durable `online` value.
8 +
9 +### Privacy-preserving geography
10 +
11 +* Added `ChatEngine::with_pulse_country()` and the `ONDE_PULSE_COUNTRY` host setting for an optional, device-declared ISO 3166-1 alpha-2 country.
12 +* Country observations are limited to one app-scoped edge document per UTC day. Invalid or user-assigned codes are ignored, no network-derived location is used, and `ONDE_DISABLE_PULSE_GEOGRAPHY` disables geography without stopping other telemetry.
13 +
14 +### Packaging
15 +
16 +* Release metadata is aligned for Rust, Swift, Kotlin, Flutter/Dart, and React Native SDKs under version `1.3.0`.
17 +
18 ## 1.2.5
19
20 ### Tool calling (Rust-native only)
@@ -132,4 +149,4 @@ Onde has already been running in real Splitfire AB apps on the App Store for mon
149 * Conversation history management.
150 * One-shot `generate()` API.
151 * Configurable sampling with presets.
135 -* UniFFI bindings for Swift/Kotlin.
\ No newline at end of file
152 +* UniFFI bindings for Swift/Kotlin.
Cargo.lock
+1 -1
@@ -3508,7 +3508,7 @@ checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe"
3508
3509 [[package]]
3510 name = "onde"
3511 -version = "1.2.5"
3511 +version = "1.3.0"
3512 dependencies = [
3513 "anyhow",
3514 "cc",
Cargo.toml
+1 -1
@@ -1,6 +1,6 @@
1 [package]
2 name = "onde"
3 -version = "1.2.5"
3 +version = "1.3.0"
4 edition = "2021"
5 description = "On-device inference engine for Apple silicon."
6 license = "MIT OR Apache-2.0"
sdk/dart/CHANGELOG.md
+10
@@ -1,3 +1,13 @@
1 +## 1.3.0
2 +
3 +- Streamed inferences now report Pulse duration, measured time to first token,
4 + and accurate success, error, or cancellation status.
5 +- Pulse document mirroring uses app- and edge-scoped identities and records
6 + edge recency for reliable liveness reporting.
7 +- Version aligned with the Rust core. The new Rust-native
8 + `ChatEngine::with_pulse_country()` builder is not exposed through Dart; hosts
9 + that explicitly configure the SDK can use `ONDE_PULSE_COUNTRY`.
10 +
11 ## 1.2.5
12
13 - Version aligned with the Rust crate. The 1.2.5 tool-calling additions
sdk/dart/pubspec.yaml
+1 -1
@@ -2,7 +2,7 @@ name: onde_inference
2 description: >-
3 On-device LLM inference for Flutter & Dart. Run Qwen 2.5 models locally
4 with Metal on iOS and macOS, CPU on Android and desktop. No cloud, no API key.
5 -version: 1.2.5
5 +version: 1.3.0
6 repository: https://github.com/ondeinference/onde
7 homepage: https://ondeinference.com
8 documentation: https://ondeinference.com/sdk/dart
sdk/dart/rust/Cargo.lock
+1 -1
@@ -3604,7 +3604,7 @@ checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe"
3604
3605 [[package]]
3606 name = "onde"
3607 -version = "1.2.5"
3607 +version = "1.3.0"
3608 dependencies = [
3609 "anyhow",
3610 "cc",
sdk/kotlin/gradle.properties
+1 -1
@@ -10,7 +10,7 @@ kotlin.code.style=official
10 # Maven publishing coordinates — keep in sync with Cargo.toml [package] version
11 GROUP=com.ondeinference
12 POM_ARTIFACT_ID=onde-inference
13 -VERSION_NAME=1.2.5
13 +VERSION_NAME=1.3.0
14
15
16
sdk/react-native/CHANGELOG.md
+11
@@ -1,3 +1,14 @@
1 +## 1.3.0
2 +
3 +- Streamed inferences now report Pulse duration, measured time to first token,
4 + and accurate success, error, or cancellation status.
5 +- Pulse document mirroring uses app- and edge-scoped identities and records
6 + edge recency for reliable liveness reporting.
7 +- Version aligned with the Rust core. The new Rust-native
8 + `ChatEngine::with_pulse_country()` builder is not exposed through React
9 + Native; hosts that explicitly configure the SDK can use
10 + `ONDE_PULSE_COUNTRY`.
11 +
12 ## 1.2.5
13
14 - Version aligned with the Rust crate. The 1.2.5 tool-calling additions
sdk/react-native/package-lock.json
+2 -2
@@ -1,12 +1,12 @@
1 {
2 "name": "@ondeinference/react-native",
3 - "version": "1.2.5",
3 + "version": "1.3.0",
4 "lockfileVersion": 3,
5 "requires": true,
6 "packages": {
7 "": {
8 "name": "@ondeinference/react-native",
9 - "version": "1.2.5",
9 + "version": "1.3.0",
10 "license": "MIT OR Apache-2.0",
11 "devDependencies": {
12 "expo-modules-core": "^2.0.0",
sdk/react-native/package.json
+1 -1
@@ -1,6 +1,6 @@
1 {
2 "name": "@ondeinference/react-native",
3 - "version": "1.2.5",
3 + "version": "1.3.0",
4 "description": "On-device LLM inference for React Native. Run Qwen 2.5 models locally with Metal on iOS, CPU on Android. No cloud, no API key.",
5 "main": "build/index.js",
6 "types": "build/index.d.ts",
sdk/react-native/rust/Cargo.lock
+2 -2
@@ -3420,7 +3420,7 @@ checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe"
3420
3421 [[package]]
3422 name = "onde"
3423 -version = "1.2.5"
3423 +version = "1.3.0"
3424 dependencies = [
3425 "anyhow",
3426 "cc",
@@ -3777,7 +3777,7 @@ dependencies = [
3777
3778 [[package]]
3779 name = "onde-react-native"
3780 -version = "1.2.5"
3780 +version = "1.3.0"
3781 dependencies = [
3782 "jni",
3783 "log",
sdk/react-native/rust/Cargo.toml
+1 -1
@@ -1,6 +1,6 @@
1 [package]
2 name = "onde-react-native"
3 -version = "1.2.5"
3 +version = "1.3.0"
4 edition = "2021"
5 publish = false
6