diff --git a/CHANGELOG.md b/CHANGELOG.md index 1436693fb..e1dce0a1b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,12 @@ ## [Unreleased] +## [0.22.1] - 2026-04-30 + +### Added + +- **`StreamingShardedSafeTensorsReader.loadTensorStorageMapped`** — by-name and by-`ShardedTensorInfo` overloads that mirror the existing single-file `StreamingSafeTensorsReader.loadTensorStorageMapped(tensor, filePath)`. Both return a `TensorStorage` whose `BufferHandle.FileBacked` references the resolved shard file's tensor byte range, enabling zero-copy / memory-mapped reads of tensors that exceed the 2 GB JVM `ByteArray` limit. The new methods delegate internally to the per-shard reader; callers don't need to know which physical shard contains a given tensor. Unblocks downstream consumers (e.g. SKaiNET-transformers' Gemma 4 PLE token-embedding table at ~4.7 GB BF16 on E2B) that previously rolled their own `FileChannel.map`. (PR #582) + ## [0.22.0] - 2026-04-30 ### Added diff --git a/README.md b/README.md index 4c79dd6e2..200e1f1c0 100644 --- a/README.md +++ b/README.md @@ -19,8 +19,8 @@ Add the core dependencies (Gradle Kotlin DSL): ```kotlin dependencies { - implementation("sk.ainet.core:SKaiNET-lang-core:0.22.0") - implementation("sk.ainet.core:SKaiNET-backend-cpu:0.22.0") + implementation("sk.ainet.core:SKaiNET-lang-core:0.22.1") + implementation("sk.ainet.core:SKaiNET-backend-cpu:0.22.1") } ``` diff --git a/gradle.properties b/gradle.properties index 33f2e3604..7d9588a25 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,5 @@ GROUP=sk.ainet.core -VERSION_NAME=0.22.0 +VERSION_NAME=0.22.1 POM_DESCRIPTION=SKaiNET POM_URL=https://github.com/SKaiNET-developers/skainet/