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