Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 15 additions & 8 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [0.62.2] — 2026-10-18

Against engine **0.61.0**, a transformers-only fix: the Android runtime's streaming Moonshine libraries
(`libskainet_moonshine_stream.so`, both ABIs) are rebuilt with the utterance-start fix. The source fix was
merged after 0.62.1 and the prebuilt libraries were not rebuilt with it, so the 0.62.0 and 0.62.1 AARs carry the old
code. Nothing else changes; the BOM re-exports `skainet-bom:0.61.0`.

### Fixed

- **Moonshine streaming: no zero-audio context at the utterance start** (`moonshine_stream_jni.c`). The first
encoder window fed the frontend four frames of zero samples as left context; past the first convolution's bias those
are non-zero features where the model zero-pads, which corrupted the first memory rows and, through attention, whole
transcripts (an empty final for "Fail again, fail better."). The window at frame 0 now starts at sample 0 and keeps
its first 64 frontend frames. Finals on the test clips match the reference model. (#500)

## [0.62.1] — 2026-10-17

Against engine **0.61.0**, a transformers-only fix: the JVM Laya loader overload is a member again
Expand Down Expand Up @@ -112,14 +127,6 @@ aliases errors; the transformers SKEEP-006 schedule moves by one more minor (see
tests here that still imported `sk.ainet.io.tokenizer.SentencePieceTokenizer` use the
`sk.ainet.frontend.tokenizer` home.

### Fixed

- **Moonshine streaming: no zero-audio context at the utterance start** (`moonshine_stream_jni.c`). The first
encoder window fed the frontend four frames of zero samples as left context; past the first convolution's bias those
are non-zero features where the model zero-pads, which corrupted the first memory rows and, through attention, whole
transcripts (an empty final for "Fail again, fail better."). The window at frame 0 now starts at sample 0 and keeps
its first 64 frontend frames. Finals on the test clips match the reference model.

## [0.60.0] — 2026-10-15

**Exact GELU from the engine.** Against engine **0.59.0**, which makes `erf` a first-class op and
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ Honest status — see the project-status note at the top of this README.

## Current release

The current release is **0.62.1**, against **SKaiNET 0.61.0**: a transformers-only fix on 0.62.0, whose JVM `LayaModelLoader.load(directory, …)` had become an extension function that existing callers did not import; it is a member again (`@JvmOverloads`, so Java callers keep the 0.61 signature).
The current release is **0.62.2**, against **SKaiNET 0.61.0**: a transformers-only fix, the Android runtime's streaming Moonshine libraries are rebuilt with the utterance-start fix (#500; 0.62.0 and 0.62.1 packed the old build, which garbles transcripts on device). It builds on **0.62.1**, a transformers-only fix on 0.62.0, whose JVM `LayaModelLoader.load(directory, …)` had become an extension function that existing callers did not import; it is a member again (`@JvmOverloads`, so Java callers keep the 0.61 signature).

It builds on **0.62.0**, against **SKaiNET 0.61.0**:

Expand Down Expand Up @@ -301,7 +301,7 @@ The recommended way to consume is via the BOM. It pins every published `skainet-

```kotlin
dependencies {
implementation(platform("sk.ainet.transformers:skainet-transformers-bom:0.62.1"))
implementation(platform("sk.ainet.transformers:skainet-transformers-bom:0.62.2"))

// Versions resolved from the BOM:
implementation("sk.ainet.transformers:skainet-transformers-core")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ From your own build, resolve the published module and run its main class:
----
val exportTool by configurations.creating
dependencies {
exportTool(platform("sk.ainet.transformers:skainet-transformers-bom:0.62.1"))
exportTool(platform("sk.ainet.transformers:skainet-transformers-bom:0.62.2"))
exportTool("sk.ainet.transformers:skainet-transformers-inference-moonshine")
}
tasks.register<JavaExec>("exportMoonshine") {
Expand Down
2 changes: 1 addition & 1 deletion docs/modules/ROOT/pages/reference/moonshine-encoder.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ a DSL decoder is future work.
[source,kotlin]
----
dependencies {
implementation(platform("sk.ainet.transformers:skainet-transformers-bom:0.62.1"))
implementation(platform("sk.ainet.transformers:skainet-transformers-bom:0.62.2"))
implementation("sk.ainet.transformers:skainet-transformers-inference-moonshine")
}
----
Expand Down
2 changes: 1 addition & 1 deletion docs/modules/ROOT/pages/reference/typed-decisions.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ below put that on the JVM path with the same contract for every model.
[source,kotlin]
----
dependencies {
implementation(platform("sk.ainet.transformers:skainet-transformers-bom:0.62.1"))
implementation(platform("sk.ainet.transformers:skainet-transformers-bom:0.62.2"))
implementation("sk.ainet.transformers:skainet-transformers-decisions-api") // the contract, no engine dependency
implementation("sk.ainet.transformers:skainet-transformers-decisions-runtime") // validation + acceptance policy
implementation("sk.ainet.transformers:skainet-transformers-inference-laya") // Laya as a DecisionAdapter
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ dependencies {
// self-registers it on ART at process start — nothing to call.
runtimeOnly("sk.ainet.core:skainet-backend-jni-cpu")

implementation(platform("sk.ainet.transformers:skainet-transformers-bom:0.62.1"))
implementation(platform("sk.ainet.transformers:skainet-transformers-bom:0.62.2"))
implementation("sk.ainet.transformers:skainet-transformers-core")
implementation("sk.ainet.transformers:skainet-transformers-runtime-kllama")
implementation("sk.ainet.transformers:skainet-transformers-inference-llama")
Expand Down
4 changes: 2 additions & 2 deletions docs/modules/ROOT/pages/tutorials/getting-started-java.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ In your `build.gradle.kts`:
[source,kotlin]
----
dependencies {
implementation(platform("sk.ainet.transformers:skainet-transformers-bom:0.62.1"))
implementation(platform("sk.ainet.transformers:skainet-transformers-bom:0.62.2"))

implementation("sk.ainet.transformers:skainet-transformers-runtime-kllama")
implementation("sk.ainet.transformers:skainet-transformers-agent")
Expand All @@ -41,7 +41,7 @@ Or in Maven (Maven needs the `-jvm` classifier suffix on platform artifacts):
<dependency>
<groupId>sk.ainet.transformers</groupId>
<artifactId>skainet-transformers-bom</artifactId>
<version>0.62.1</version>
<version>0.62.2</version>
<type>pom</type>
<scope>import</scope>
</dependency>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ encoder output to the advertised dimensionality. The runtime applies it automati
[source,kotlin]
----
dependencies {
implementation(platform("sk.ainet.transformers:skainet-transformers-bom:0.62.1"))
implementation(platform("sk.ainet.transformers:skainet-transformers-bom:0.62.2"))
implementation("sk.ainet.transformers:skainet-transformers-providers")
}
----
Expand Down
2 changes: 1 addition & 1 deletion docs/modules/ROOT/pages/tutorials/llama3-tool-calling.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ The pieces you need live in three modules:
[source,kotlin]
----
dependencies {
implementation(platform("sk.ainet.transformers:skainet-transformers-bom:0.62.1"))
implementation(platform("sk.ainet.transformers:skainet-transformers-bom:0.62.2"))

implementation("sk.ainet.transformers:skainet-transformers-runtime-kllama")
implementation("sk.ainet.transformers:skainet-transformers-agent")
Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
GROUP=sk.ainet.transformers
VERSION_NAME=0.62.1
VERSION_NAME=0.62.2

POM_DESCRIPTION=SKaiNET-transformers

Expand Down
Binary file not shown.
Binary file not shown.
Loading