Release History
What changed in each version of Higher-Kinded-J, and what to do when you move to it. Each release has notes, most with a link from each change to the issue or pull request behind it.
- Upgrading? Upgrading lists, release by release, what can stop a build that compiled or change what a program does. It also lists every API due for removal in 0.5.0.
- Following
main? Unreleased: 0.5.0 collects the changes since 0.4.11. - Looking for a feature? Since which version? names the release that first shipped it.
- Searching every release at once? The book's search reads every page of this chapter.
Releases at a glance
| Version | Released | Headline | Upgrade notes |
|---|---|---|---|
| 0.4.11 | 3 October 2026 | Generated client models map as generated, and the processor stops more shapes at the declaration | To 0.4.11 |
| 0.4.10 | 30 August 2026 | Standard codecs, generic optics that compile, one answer from the Focus DSL | To 0.4.10 |
| 0.4.9 | 31 July 2026 | The record mapper: every wire shape, both PATCH styles, one rule for null | To 0.4.9 |
| 0.4.8 | 17 July 2026 | Async typed errors, path-native resilience, accumulating validation and record mapping | None |
| 0.4.7 | 26 June 2026 | Declarative Spring HTTP clients and type-safety improvements | To 0.4.1 through 0.4.8 |
| 0.4.6 | 7 June 2026 | Optic-driven request batching, guardrails, and n-ary coupled lenses | Removals in 0.5.0 |
| 0.4.5 | 22 May 2026 | The Instances facade, more compile-time checks, and hardened migration recipes | To 0.4.1 through 0.4.8 |
| 0.4.4 | 16 May 2026 | The hkj-test module, PCollections integration, and type class enrichments | Removals in 0.5.0 |
| 0.4.3 | 7 May 2026 | Pluggable HTTP error status, header carriers, and a documentation refresh | To 0.4.1 through 0.4.8 |
| 0.4.2 | 18 April 2026 | EffectBoundary, Claude Code skills, and Spring HTTP ergonomics | To 0.4.1 through 0.4.8 |
| 0.4.1 | 8 April 2026 | Effect handlers, Spring observability, and monad transformer enhancements | To 0.4.1 through 0.4.8 |
| 0.4.0 | 22 March 2026 | SPI-aware path widening, an expanded generator plugin ecosystem, and a Focus DSL restructure | None |
| 0.3.7 | 15 March 2026 | WriterT, MTL capabilities, smarter comprehensions, and one-line build setup | None |
| 0.3.6 | 6 March 2026 | VStream lazy streaming, resilience patterns, and ForState comprehensions | None |
| 0.3.5 | 15 February 2026 | Extended for-comprehensions, a VTask API refinement, and a documentation restructure | To 0.3.5 |
| 0.3.4 | 31 January 2026 | External type optics and the examples gallery | None |
| 0.3.3 | 24 January 2026 | Structured concurrency, atomic optics, and enhanced examples | None |
| 0.3.2 | 17 January 2026 | Virtual thread concurrency with VTask | None |
| 0.3.1 | 15 January 2026 | Static analysis utilities | None |
| 0.3.0 | 4 January 2026 | The Effect Path API with Focus DSL integration | To 0.3.0 |
| 0.1.0 to 0.2.8 | May to December 2025 | The HKT core types, optics, the Free monad, and the first Effect Path API and Focus DSL | v0.1.4 notes |
Since which version?
The release that first shipped each feature, with the page that teaches it.
Types and effects
| Feature | Since | Read about it |
|---|---|---|
Either, Try, IO, Lazy, Reader, State, Writer and EitherT | 0.1.0 | Monads |
| For comprehensions | 0.1.5 | For Comprehension |
| The Free monad and Trampoline | 0.2.0 | Free Monad |
| The Effect Path API | 0.2.6 | Effect Path Overview |
ForPath comprehensions | 0.2.8 | ForPath Comprehension |
WriterT and the MTL capability interfaces | 0.3.7 | WriterT |
Effect handlers: @EffectAlgebra and @ComposeEffects | 0.4.1 | Effect Handlers |
The Instances facade | 0.4.5 | Obtaining Instances |
VResultPath | 0.4.8 | VResultPath |
NonEmptyList and EitherOrBoth | 0.4.8 | NonEmptyList, EitherOrBoth |
Optics
| Feature | Since | Read about it |
|---|---|---|
| Lens, Iso, Prism and Traversal, generated from annotations | 0.1.6 | Optics |
| The Focus DSL | 0.2.5 | Focus DSL |
Coupled fields: Lens.paired | 0.3.3 | Coupled Fields |
Optics for types you cannot change: @ImportOptics | 0.3.4 | Importing Optics |
| Traversal generator plugins | 0.1.6 | Generator Plugins |
| SPI path widening, and generators for Guava, Vavr, Eclipse Collections and Apache Commons | 0.4.0 | Generator Plugins |
| Optic-driven request batching | 0.4.6 | Optic-Driven Batching |
Validation and mapping
| Feature | Since | Read about it |
|---|---|---|
Accumulating assembly: fields(), accumulate() and @GenerateAssembly | 0.4.8 | Validated Assembly |
@GenerateMapping and @GenerateMerge | 0.4.8 | Mapping at the Boundary |
Bean-shaped wires and sparse PATCH with UpdateSpec | 0.4.9 | Bean-Shaped Wires, Sparse PATCH |
| Standard codecs | 0.4.10 | Standard codecs |
| protobuf-java messages and openapi-generator models | 0.4.11 | Bean-Shaped Wires |
One-directional beans and @ReadOnly properties | 0.4.11 | One-directional beans, Properties you only read |
JsonNullable properties in a sparse PATCH | 0.4.11 | What each JSON state does |
@Flatten: a nested record on a flat wire | 0.4.11 | Flattening a nested component |
| Specs that nest, dispatch and merge across modules | 0.4.11 | Across modules |
Concurrency and resilience
| Feature | Since | Read about it |
|---|---|---|
VTask on virtual threads | 0.3.2 | VTask |
Structured concurrency with Scope | 0.3.3 | Structured Concurrency |
VStream lazy streaming | 0.3.6 | VStream |
| Retry policies | 0.2.6 | Retry |
| Circuit breaker, bulkhead and saga | 0.3.6 | Resilience |
One with* resilience vocabulary across every Path | 0.4.8 | Resilience |
Spring
| Feature | Since | Read about it |
|---|---|---|
EffectBoundary for Free programs | 0.4.2 | EffectBoundary Integration |
Pluggable error status: ErrorStatusCodeStrategy | 0.4.3 | Spring Boot Integration |
Declarative HTTP clients: @HkjHttpClient | 0.4.7 | Declarative HTTP Clients |
| The 422 response for every bad field | 0.4.9 | The 422 leg |
Tooling
| Feature | Since | Read about it |
|---|---|---|
Build plugins, hkj-bom and compile-time checks | 0.3.7 | Build Plugins, Compile-Time Checks |
| Claude Code skills | 0.4.2 | Claude Code Skills |
hkj-test assertions | 0.4.4 | Testing With hkj-test |
| PCollections integration | 0.4.4 | PCollections Integration |
Migration recipes on Maven Central: hkj-openrewrite | 0.4.11 | Migration Recipes |
- GitHub Releases: Full changelogs and assets
- Contributing: How to contribute to Higher-Kinded-J
Previous: Concurrency & Resilience Next: Upgrading