Changelog
Every release of the Sinua packages. All of them share one version.
Every package (npm, Maven Central and SwiftPM) is released together under one version. A -beta.N version is a public prerelease: it is on npm's beta tag, and its API can still change.
0.1.0-beta.5
Fixed
- Android:
sinua-corenow ships consumer R8/ProGuard rules (JNA and the UniFFI bindings). In an app built with R8 (a minified release build), the first engine call threwUnsatisfiedLinkError: Can't obtain peer field ID for class com.sun.jna.Pointer: a plain app crashed on its first SinuaView. Apps no longer need their own rules for Sinua.
No change on iOS or the Web: npm and SwiftPM move to beta.5 in lockstep.
0.1.0-beta.4
Fixed
- Android:
SinuaView's frame loop now runs as an infinite animation (withInfiniteAnimationFrameNanos), so an app's Compose UI tests can go idle while a view animates on screen. Before,ComposeTestRule.waitForIdlefailed withComposeNotIdleExceptionon any screen showing a SinuaView. Drawing is unchanged.
No change on iOS or the Web: npm and SwiftPM move to beta.4 in lockstep.
0.1.0-beta.3
Changed
- iOS: the xcframework's static libraries no longer carry debug info (
strip -Sinpackages/ios/build.sh). The release zip drops from 23 MB to about 4 MB; the size an app gains is unchanged (checked byte for byte against beta.2).
Added
- CONTRIBUTING.md (maintainers only for now), SECURITY.md (private vulnerability reporting), CODEOWNERS.
No runtime or API change from beta.2.
0.1.0-beta.2
Added
- Android:
dev.sinua:sinua-core,sinua-viewand the voice modules on Maven Central, signed. Thedev.sinuanamespace is verified.
Fixed
- Release: a blank signing key (an unset CI secret) now stages unsigned instead of failing.
- The publishing docs: npm gives a package's first version
latestwhatever--tagsays.
No runtime or API change from beta.1: npm and SwiftPM move to beta.2 in lockstep.
0.1.0-beta.1
The first public beta: npm (@sinua/core, @sinua/web, @sinua/voice, beta tag) and
SwiftPM (sinua-swift, -livekit, -openai). The Android packages (dev.sinua:sinua-*
on Maven Central) follow with 0.1.0-beta.2, once the dev.sinua namespace is verified.
Added
- The runtime: one Rust engine (
core_engine) drawn on every platform. On the web it is WebAssembly:@sinua/core, and@sinua/webwith<sinua-view>and typed components. On iOS it is the SwiftUI viewSinuaViewin theSinuaproduct. On Android it issinua-viewfor Compose. - FX Spec 1.8: the file format the Studio exports and every runtime reads. It has 34 patterns, and each supports four voice states (idle, listening, thinking, speaking). 1.8 is the oldest version the runtime reads. A key added in a later minor is an error in a file that declares an older one, and is dropped rather than silently applied.
glowing:depthTone(0..1, default 1). At 0 every dot has the same tone; the sphere keeps its depth through dot size and opacity. At 1 it draws exactly as before.- Voice:
@sinua/voice,SinuaVoiceandsinua-coredrive the four states from an audio source. The adapters for Gemini Live, ElevenLabs, LiveKit and OpenAI Realtime are beta. On iOS the voice types are a separate product, so an app that only draws doesn't link microphone code. - Typed components generated from the parameter catalog on every platform, with the public API frozen by a snapshot.
Deprecated
@sinua/core's three JSON-bridge frame functions, each naming its direct twin.