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
25 changes: 25 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,31 @@ version line is kept in lock-step with the underlying SKaiNET engine
The format roughly follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.28.1] — 2026-06-06

Version-aligned with **SKaiNET 0.28.1**. Skips 0.26.x / 0.27.x —
SKaiNET-transformers tracked the engine internally across that window without a
tagged release.

### Changed

- **`gradle/libs.versions.toml` `skainet` pin: 0.27.0 → 0.28.1.** Picks up the
completed Kotlin DSL → StableHLO → IREE export path. SKaiNET 0.28.0/0.28.1
closed the remaining DAG-DSL export bugs: shape-changing ops now declare their
inferred output type instead of echoing operand-0 — `reshape`/`matmul`/`concatenate`
([SKaiNET #673](https://github.com/SKaiNET-developers/SKaiNET/issues/673)) and
`conv1d`/`gather`/`maxpool2d`/`avgpool2d`/`flatten`
([SKaiNET #675](https://github.com/SKaiNET-developers/SKaiNET/issues/675)) — and
`reduce_window` is emitted in IREE's generic region form. A full gemma3 graph
traced through `GemmaMlirDumpTest` / `GemmaTraceTest` now lowers to StableHLO
that `iree-compile`s to a `vmfb`. No transformers-side API changes; existing
callers compile unchanged.

### Verified

- `:llm-inference:gemma:jvmTest` green against the published SKaiNET 0.28.1
(`GemmaMlirDumpTest` 1/1, `GemmaTraceTest` 1/1).

## [0.25.0] — 2026-05-25

Version-aligned with **SKaiNET 0.25.0**. Skips 0.24.x — SKaiNET-transformers has
Expand Down
35 changes: 26 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,23 +97,28 @@ Honest status — see the project-status note at the top of this README.
before extending scope.
- Verify each generative architecture end-to-end with smoke tests.
- Wire the **StableHLO / native compilation path** for full transformer models.
As of 0.28.1 a full gemma3 graph exports to StableHLO and `iree-compile`s to a
`vmfb` (`GemmaMlirDumpTest`); next is running the compiled module and extending
the same path to the other families.

## Current release

The current release is **0.25.0** — version-aligned with **SKaiNET 0.25.0**.
Skips 0.24.x: the engine bumped 0.23.1 → 0.25.0 in the same release window
without a tagged 0.24.x on either side. Brings the new
[hybrid adaptive DSL with optional dtype constraints](https://github.com/SKaiNET-developers/SKaiNET/pull/616)
(`DTypePolicy.Any | Require | Prefer | OneOf`) to every `*NetworkLoader`,
turns the catalog BOM-only so every internal build now exercises
`sk.ainet:skainet-bom` end-to-end, and locks three reference models
(`@Tag("smoke-reference")`) for the smoke tier.
The current release is **0.28.1** — version-aligned with **SKaiNET 0.28.1**.
Skips 0.26.x / 0.27.x: SKaiNET-transformers tracked the engine internally across
that window without a tagged release. The headline is that the engine's
**Kotlin DSL → StableHLO → IREE export path is now complete** — a full gemma3
graph traces and lowers to StableHLO that `iree-compile`s to a `vmfb`
(`GemmaMlirDumpTest` / `GemmaTraceTest` are green against 0.28.1). SKaiNET
0.28.0/0.28.1 fixed the remaining export bugs: result-type inference for
`reshape`/`matmul`/`concatenate` ([#673](https://github.com/SKaiNET-developers/SKaiNET/issues/673))
and `conv1d`/`gather`/pooling/`flatten` shapes plus the `reduce_window` emission
form ([#675](https://github.com/SKaiNET-developers/SKaiNET/issues/675)).

The recommended way to consume is via the BOM. It pins every published `skainet-transformers-*` artifact and re-exports the upstream `sk.ainet:skainet-bom`, so the engine-side `sk.ainet.core:skainet-*` artifacts get the matching version too — you only need to declare the BOM version in one place.

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

// Versions resolved from the BOM:
implementation("sk.ainet.transformers:skainet-transformers-core")
Expand Down Expand Up @@ -190,6 +195,18 @@ try (KLlamaSession session = KLlamaJava.loadGGUF(modelPath, /* systemPrompt */ n

See `llm-test/llm-test-java/src/test/java/.../KLlamaJavaToolCallingTest.java` for a runnable reference.

## What's new in 0.28.1

- **Engine pin `skainet 0.27.0 → 0.28.1`.** Picks up the completed Kotlin DSL →
StableHLO → IREE export path. Every shape-changing op now declares its inferred
output type (`reshape`/`matmul`/`concatenate`, [#673](https://github.com/SKaiNET-developers/SKaiNET/issues/673);
`conv1d`/`gather`/pooling/`flatten`, [#675](https://github.com/SKaiNET-developers/SKaiNET/issues/675)),
and `reduce_window` is emitted in IREE's generic region form — so a full gemma3
graph traced via `GemmaMlirDumpTest` lowers to StableHLO that `iree-compile`s to
a `vmfb`. No transformers-side API changes; existing callers compile unchanged.
- Verified end-to-end: `:llm-inference:gemma:jvmTest` green against the published
0.28.1 (`GemmaMlirDumpTest`, `GemmaTraceTest` pass).

## What's new in 0.25.0

- **`DTypePolicy` on every `*NetworkLoader.fromGguf` / `.fromSafeTensors`
Expand Down
1 change: 0 additions & 1 deletion docs/modules/ROOT/nav.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@

.How-to Guides
* xref:how-to/add-model.adoc[Add a New Model Architecture]
* xref:how-to/add-compute-backend.adoc[Add a Compute Backend]
* xref:how-to/add-tool.adoc[Add a Custom Tool]
* xref:how-to/run-unified-cli.adoc[Use the Unified CLI]
* xref:how-to/benchmarking.adoc[Run Benchmarks]
Expand Down
239 changes: 0 additions & 239 deletions docs/modules/ROOT/pages/how-to/add-compute-backend.adoc

This file was deleted.

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.25.0"))
implementation(platform("sk.ainet.transformers:skainet-transformers-bom:0.28.1"))

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.25.0</version>
<version>0.28.1</version>
<type>pom</type>
<scope>import</scope>
</dependency>
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.25.0"))
implementation(platform("sk.ainet.transformers:skainet-transformers-bom:0.28.1"))

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.26.0
VERSION_NAME=0.28.1

POM_DESCRIPTION=SKaiNET-transformers

Expand Down
2 changes: 1 addition & 1 deletion gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[versions]
skainet = "0.27.0"
skainet = "0.28.1"
agp = "9.2.1"
jacksonDatabind = "2.22.0"
jsonSchemaValidator = "3.0.3"
Expand Down
Loading