Releases: aiven/inkless
Inkless 0.37
Inkless version 0.37
Docker Images
docker pull ghcr.io/aiven/inkless:0.37
docker pull ghcr.io/aiven/inkless:latestKafka Versions
- Kafka 4.0.2:
inkless-4.0.2-0.37 - Kafka 4.1.2:
inkless-4.1.2-0.37
What's Changed
Some important refactoring and bug-fixes where introduced:
- feat(produce): optimize AppendCompleter to complete futures first by @Mwea in #529
- refactor(inkless): cache LogConfig in InklessMetadataView by @jeqo in #474
- refactor(inkless): improve thread pool lifecycle management by @jeqo in #475
- feat(inkless): add bytes limit to cache by @jeqo in #544
- refactor(inkless:consume): replace ByteRange.coalesce with BoundingRangeAlignment strategy by @jeqo in #532
Ongoing development of classic-to-diskless topic switcher feature has been merged:
- feat(storage:inkless): InitDisklessLog Diskless Controller API by @giuseppelillo in #528
- feat(metadata:diskless): implement managed replicas for diskless topics by @jeqo in #492
- feat(metadata:diskless): add controller metrics for diskless topics by @jeqo in #503
- feat(inkless): implement InitDisklessLog Controller API by @giuseppelillo in #531
- feat(inkless): Seal the local log when a topic is migrated from classic to diskless by @giuseppelillo in #533
- feat(diskless): add managed replicas routing to metadata transformer by @jeqo in #504
- feat(inkless): Add metrics for sealed partitions by @giuseppelillo in #534
- feat(storage:inkless): add control plane method for getting the producer states by @giuseppelillo in #530
- refactor(metadata:diskless): preserve leader epoch in metadata by @jeqo in #539
- feat(controller:diskless): enable immediate partition reassignment by @jeqo in #537
- feat(controller:diskless): add partitions support for diskless topics by @jeqo in #540
- feat(inkless): Expose InitDisklessLog controller API by @giuseppelillo in #541
- test(metadata:diskless): add integration tests for managed replicas by @jeqo in #542
- docs(docker:inkless): add managed replicas demo with test procedure by @jeqo in #543
- docs(inkless): add managed replicas documentation by @jeqo in #535
Tooling for our releases and upstream sync procedures have been merged as well:
New Contributors
Full Changelog: inkless-release-0.36...inkless-release-0.37
Release 0.36
What's Changed
- fix(inkless): Fix error message when diskless.enable and remote.stora… by @giuseppelillo in #516
- chore(build): Set Docker API version 1.44 in Gradle config by @giuseppelillo in #519
- fix(inkless:test): Fix KafkaConfigTest for CLASSIC_REMOTE_STORAGE_FORCE_EXCLUDE_TOPIC_REGEXES_CONFIG by @giuseppelillo in #521
- feat(inkless:config): disallow setting diskless.enable if diskless storage system is disabled by @giuseppelillo in #520
Full Changelog: inkless-release-0.35...inkless-release-0.36
Docker Images
docker pull ghcr.io/aiven/inkless:0.36
docker pull ghcr.io/aiven/inkless:latestKafka Versions
- Kafka 4.0.0:
inkless-4.0.0-0.36 - Kafka 4.1.1:
inkless-4.1.1-0.36
Release 0.35
What's Changed
- chore(inkless:release): add gh workflows to release inkless artifacts by @jeqo in #489
- chore(inkless): Update demo and documentation for GHCR images by @jeqo in #497
- chore(inkless:sync): upstream Apache Kafka 2025-11-21 (before 4.3.0-SNAPSHOT) by @jeqo in #499
- chore(ci): replace usage of JDK 23 with 25 by @giuseppelillo in #502
- chore(ci): use Docker API version 1.44 by @giuseppelillo in #509
- Disallow setting remote.storage.enable when diskless.enable is set to true by @giuseppelillo in #513
- feat(metadata): Introduce ClassicTopicRemoteStorageForcePolicy by @giuseppelillo in #514
- storage: add metrics constructor to InMemoryStorage by @jjaakola-aiven in #510
Full Changelog: inkless-release-0.34...inkless-release-0.35
Kafka-base tags
- Kafka 4.0:
inkless-4.0.0-0.35 - Kafka 4.1:
inkless-4.1.1-0.35
Docker images
docker pull ghcr.io/aiven/inkless:4.1.1-0.35
docker pull ghcr.io/aiven/inkless:4.0.0-0.35Release 0.34
What's Changed
- docs(inkless): add az-alignment feature documentation by @jeqo in #481
- docs(inkless): fix relation with kips on client-az awareness by @jeqo in #485
- docs(inkless): fix performance docs by @jeqo in #482
- docs(inkless): update readme with new sections and glossary by @jeqo in #483
- docs(inkless): update architecture diagram by @jeqo in #487
- refactor(metadata:diskless): fail on topic creation with replica assignment by @jeqo in #488
- chore(storage:inkless): add jooq classes by @jeqo in #490
- fix(storage:metrics): eagerly initialize meters with only topicType tag by @jeqo in #493
- Allow switching diskless.enable from false to true by @giuseppelillo in #486
Full Changelog: inkless-release-0.33...inkless-release-0.34
Kafka-base tags
- Kafka 4.0:
inkless-4.0.0-0.34 - Kafka 4.1:
inkless-4.1.1-0.34
Docker images
docker pull ghcr.io/aiven/inkless:4.1.1-0.34
docker pull ghcr.io/aiven/inkless:4.0.0-0.34Release 0.33
What's Changed
- refactor(inkless:metrics): only add topic-type tag on all topic stats by @jeqo in #472
- docs(inkless): add versioning strategy by @jeqo in #479
Full Changelog: inkless-release-0.32...inkless-release-0.33
Kafka-base tags
- Kafka 4.0:
inkless-4.0.0-0.33 - Kafka 4.1:
inkless-4.1.1-0.33
Docker images
docker pull ghcr.io/aiven/inkless:4.1.1-0.33
docker pull ghcr.io/aiven/inkless:4.0.0-0.33Release 0.32
Inkless Release 0.32
This release marks the transition to a new versioning strategy for Inkless. Going forward, versions use a global iteration counter that
is comparable across Kafka base branches. See versioning strategy for details.
Versioning change
Previous format: inkless-<kafka-version>-rc<N> (per-branch counters)
New format: inkless-<kafka-version>-<inkless-version> (global counter)
This makes it clear when different Kafka-based builds contain the same Inkless features.
Kafka-base tags
- Kafka 4.0.0:
inkless-4.0.0-rc32 - Kafka 4.1.1:
inkless-4.1.1-rc1
Changes since inkless-4.0.0-rc31 (636a1ea)
- Rate-limited fetch for lagging consumers (#467)
- Non-blocking fetch completion (#464)
- Remote fetches run only on data executor (#466)
Baseline
Based on commit d6c49967b15c. Subsequent releases will increment from 0.33.
4.0.0-inkless-rc32
inkless-4.0.0-rc32 feat(inkless:consume): add rate-limited fetch for lagging consumers (…
v4.1.0-inkless-SNAPSHOT 2025-06-02 1748876737
fix(inkless): measure commit wait from submission (#311) Instead of measuring the uncovered "wait for upload", start measuring the time since submission, to account for the wait time on the single threaded pool.
4.0.0-inkless
chore(inkless): add jooq classes
v4.1.0-SNAPSHOT 2025-05-07-1741343549
Delay fetch requests in case of no records to fetch [INK-88] (#199)