| 27.0.0 | Given there have been some breaking changes to model names, I am cutting a major release for these changes. ## What's Changed * Add OG meta tags to playground and fix stale org references in README by @cjbooms in https://github.com/fabrikt-io/fabrikt/pull/576 * Add CONTRIBUTING, CODE_OF_CONDUCT, and SECURITY docs by @cjbooms in https://github.com/fabrikt-io/fabrikt/pull/577 * Update version of fabrikt-gradle-plugin in README.md to 1.32.0 by @acanda in https://github.com/fabrikt-io/fabrikt/ | High | 4/21/2026 |
| 26.3.0 | ## What's Changed * fix: extend oneOf redundancy check to non-discriminated allOf hierarchies by @thejeff77 in https://github.com/fabrikt-io/fabrikt/pull/574 * Implement tag grouping by @cjbooms in https://github.com/fabrikt-io/fabrikt/pull/575 **Full Changelog**: https://github.com/fabrikt-io/fabrikt/compare/26.2.2...26.3.0 | High | 4/14/2026 |
| 26.2.2 | ## What's Changed * fix: use LF line endings in Quarkus reflection config output by @veliezbm in https://github.com/fabrikt-io/fabrikt/pull/569 * fix: empty enum generation when YAML anchors and aliases are used by @veliezbm in https://github.com/fabrikt-io/fabrikt/pull/568 * fix: handle inline enum parameters in array-typed query params by @thejeff77 in https://github.com/fabrikt-io/fabrikt/pull/570 ## New Contributors * @veliezbm made their first contribution in https://github.com/fabri | Medium | 4/1/2026 |
| 26.2.1 | ## What's Changed * fix: prevent phantom sealed interface for oneOf with shared discriminated parent by @thejeff77 in https://github.com/fabrikt-io/fabrikt/pull/562 * fix: oneOf sealed interface superinterface name ignores --http-model-suffix by @ulrikandersen in https://github.com/fabrikt-io/fabrikt/pull/565 **Full Changelog**: https://github.com/fabrikt-io/fabrikt/compare/26.2.0...26.2.1 | Low | 3/19/2026 |
| 26.2.0 | ## What's Changed * chore: use gradle version catalog by @nickcaballero in https://github.com/fabrikt-io/fabrikt/pull/555 * Minor dependency cleanup by @cjbooms in https://github.com/fabrikt-io/fabrikt/pull/557 * fix: generate proper enum types for inline enum parameters by @thejeff77 in https://github.com/fabrikt-io/fabrikt/pull/558 ## New Contributors * @nickcaballero made their first contribution in https://github.com/fabrikt-io/fabrikt/pull/555 * @thejeff77 made their first contribut | Low | 3/12/2026 |
| 26.1.0 | ## What's Changed * Republish fabrikt under io.fabrikt group id. by @cjbooms in https://github.com/fabrikt-io/fabrikt/pull/552 **Full Changelog**: https://github.com/fabrikt-io/fabrikt/compare/26.0.1...26.1.0 | Low | 3/3/2026 |
| 26.0.1 | ## What's Changed * Fix OAS 3.1 nullable properties with a non-camelCase name being serialized as non-null by @fourls in https://github.com/fabrikt-io/fabrikt/pull/543 * fix(model): preserve leading and trailing underscores in property names by @ulrikandersen in https://github.com/fabrikt-io/fabrikt/pull/546 **Full Changelog**: https://github.com/fabrikt-io/fabrikt/compare/26.0.0...26.0.1 | Low | 3/3/2026 |
| 26.0.0 | ## What's Changed * Write OkHttp Request.Builder() with proper class name by @celloman in https://github.com/fabrikt-io/fabrikt/pull/541 * Jakarta Validation Migration * Changed default validation library from javax.validation to jakarta.validation All validation annotations now use jakarta.validation.constraints.* by default Users requiring javax can override via configuration * Sealed Interfaces for OneOf * Enabled SEALED_INTERFACES_FOR_ONE_OF by default for discriminated | Low | 2/25/2026 |
| 25.9.2 | ## What's Changed * fix(generators): deduplicate @SerialName for multi-parent oneOf in kotlinx by @ulrikandersen in https://github.com/fabrikt-io/fabrikt/pull/537 **Full Changelog**: https://github.com/fabrikt-io/fabrikt/compare/25.9.1...25.9.2 | Low | 2/18/2026 |
| 25.9.1 | ## What's Changed * Docker multi architecture publishing by @ulrikandersen in https://github.com/fabrikt-io/fabrikt/pull/535 **Full Changelog**: https://github.com/fabrikt-io/fabrikt/compare/25.9.0...25.9.1 | Low | 2/17/2026 |
| 25.9.0 | ## What's Changed * Take ownership of kaizen openapi-parser. by @cjbooms in https://github.com/fabrikt-io/fabrikt/pull/527 * fix(generators): add jackson enum default value annotation by @beiertu-mms in https://github.com/fabrikt-io/fabrikt/pull/532 * Implement ApiConfiguration for Ktor client by @vekunz in https://github.com/fabrikt-io/fabrikt/pull/516 * Modify header function to handle generic values by @trevorschadt in https://github.com/fabrikt-io/fabrikt/pull/525 ## New Contributors
| Low | 2/16/2026 |
| 25.8.0 | ## What's Changed * Fix nested oneOf generating Any instead of sealed interfaces by @cjbooms in https://github.com/fabrikt-io/fabrikt/pull/522 * Fix generation bug with classes implementing multiple oneOf. by @cjbooms in https://github.com/fabrikt-io/fabrikt/pull/523 * Feat/spring sse by @nickcaballero in https://github.com/fabrikt-io/fabrikt/pull/524 * Adds support for generating fault tolerant enums. by @cjbooms in https://github.com/fabrikt-io/fabrikt/pull/526 **Full Changelog**: htt | Low | 2/12/2026 |
| 25.7.0 | ## What's Changed * Fix nullable $ref in OpenAPI 3.1 documents being serialized as optional by @fourls in https://github.com/fabrikt-io/fabrikt/pull/518 * Improve handling of multiple successful return types. by @cjbooms in https://github.com/fabrikt-io/fabrikt/pull/519 **Full Changelog**: https://github.com/fabrikt-io/fabrikt/compare/25.6.1...25.7.0 | Low | 2/3/2026 |
| 25.6.1 | ## What's Changed * Ensure Openapi 3.0 downgrade functionality is future-proofed by @cjbooms in https://github.com/fabrikt-io/fabrikt/pull/512 * Guard against similar schema interfaces being added. by @cjbooms in https://github.com/fabrikt-io/fabrikt/pull/515 **Full Changelog**: https://github.com/fabrikt-io/fabrikt/compare/25.6.0...25.6.1 | Low | 1/29/2026 |
| 25.6.0 | ## What's Changed * Fix bug with inlined allOf as Items schema in array by @cjbooms in https://github.com/fabrikt-io/fabrikt/pull/506 * Reduce opinionated validations of OpenApi3 specs. by @cjbooms in https://github.com/fabrikt-io/fabrikt/pull/507 **Full Changelog**: https://github.com/fabrikt-io/fabrikt/compare/25.5.0...25.6.0 | Low | 1/18/2026 |
| 25.5.0 | ## What's Changed * Handle outer required section with allOf declaration. by @cjbooms in https://github.com/fabrikt-io/fabrikt/pull/503 * Install OpenJDK 17 in Dockerfile by @cjbooms in https://github.com/fabrikt-io/fabrikt/pull/504 **Full Changelog**: https://github.com/fabrikt-io/fabrikt/compare/25.4.0...25.5.0 | Low | 1/16/2026 |
| 25.4.0 | ## What's Changed * Generation Bug With OneOf containing allOf by @cjbooms in https://github.com/fabrikt-io/fabrikt/pull/501 * Add option to control @JsonInclude annotations by @fourls in https://github.com/fabrikt-io/fabrikt/pull/502 ## New Contributors * @fourls made their first contribution in https://github.com/fabrikt-io/fabrikt/pull/502 **Full Changelog**: https://github.com/fabrikt-io/fabrikt/compare/25.3.1...25.4.0 | Low | 1/16/2026 |
| 25.3.1 | ## What's Changed * Fix Ktor client operationId with special characters (#498) by @ulrikandersen in https://github.com/fabrikt-io/fabrikt/pull/499 **Full Changelog**: https://github.com/fabrikt-io/fabrikt/compare/25.3.0...25.3.1 | Low | 1/15/2026 |
| 25.3.0 | ## What's Changed * Add required=true to `@JsonProperty` for required primitive fields by @ulrikandersen in https://github.com/fabrikt-io/fabrikt/pull/491 * Add NetworkResult/NetworkError sealed types to Ktor client by @ulrikandersen in https://github.com/fabrikt-io/fabrikt/pull/492 **Full Changelog**: https://github.com/fabrikt-io/fabrikt/compare/25.2.0...25.3.0 | Low | 1/10/2026 |
| 25.2.0 | ## What's Changed * Upgrade to gradle 9.0 by @y-marion in https://github.com/fabrikt-io/fabrikt/pull/481 * Upgrade to latest jackson 2.x variant, use jackson-bom for jackson versions by @y-marion in https://github.com/fabrikt-io/fabrikt/pull/482 * Preserve JSON array input order when `"uniqueItems": true` by @danmanirl in https://github.com/fabrikt-io/fabrikt/pull/483 ## New Contributors * @danmanirl made their first contribution in https://github.com/fabrikt-io/fabrikt/pull/483 **Full | Low | 12/3/2025 |
| 25.1.0 | ## What's Changed * Update readme with docker usage by @ulrikandersen in https://github.com/fabrikt-io/fabrikt/pull/471 * Option to add Serdeable to generated models by @ulrikandersen in https://github.com/fabrikt-io/fabrikt/pull/473 * Make polymorphic allOf detection more targeted. by @cjbooms in https://github.com/fabrikt-io/fabrikt/pull/476 * Support additionalProperties: false by @ulrikandersen in https://github.com/fabrikt-io/fabrikt/pull/478 **Full Changelog**: https://github.com/ | Low | 11/11/2025 |
| 25.0.0 | ## What's Changed * Update version of fabrikt-gradle-plugin in README.md to 1.22.0 by @acanda in https://github.com/fabrikt-io/fabrikt/pull/467 * Docker GitHub packages by @ulrikandersen in https://github.com/fabrikt-io/fabrikt/pull/468 * Add support to okhttp client code generation for getting raw byte content by @averabaq in https://github.com/fabrikt-io/fabrikt/pull/469 * Add Ktor client generator by @ulrikandersen in https://github.com/fabrikt-io/fabrikt/pull/454 **Full Changelog**: | Low | 10/31/2025 |
| 24.2.0 | ## What's Changed * File disclaimer option by @ulrikandersen in https://github.com/fabrikt-io/fabrikt/pull/406 * Clients: Test enum as query param by @ulrikandersen in https://github.com/fabrikt-io/fabrikt/pull/460 * Add output options to Playground by @ulrikandersen in https://github.com/fabrikt-io/fabrikt/pull/464 * Fix enum tostring by @cjbooms in https://github.com/fabrikt-io/fabrikt/pull/466 **Full Changelog**: https://github.com/fabrikt-io/fabrikt/compare/24.1.3...24.2.0 | Low | 10/23/2025 |
| 24.1.3 | ## What's Changed * Expand support for OpenAPI 3.1. by @cjbooms in https://github.com/fabrikt-io/fabrikt/pull/462 **Full Changelog**: https://github.com/fabrikt-io/fabrikt/compare/24.1.2...24.1.3 | Low | 10/9/2025 |
| 24.1.2 | ## What's Changed * Fix kotlinx_serialization to respect datetime type overrides by @ulrikandersen in https://github.com/cjbooms/fabrikt/pull/455 * Add `@Contextual` annotations to array elements for kotlinx_serialization by @ulrikandersen in https://github.com/cjbooms/fabrikt/pull/456 **Full Changelog**: https://github.com/cjbooms/fabrikt/compare/24.1.1...24.1.2 | Low | 10/6/2025 |
| 24.1.1 | ## What's Changed * fix spring http interface path param name by @mirror-kt in https://github.com/cjbooms/fabrikt/pull/429 * Bump kotlin and ktlint versions. by @cjbooms in https://github.com/cjbooms/fabrikt/pull/446 * Add a configuration option to change the Instant type used for kotlinx serialization. by @cjbooms in https://github.com/cjbooms/fabrikt/pull/445 * Minor cleanup by @cjbooms in https://github.com/cjbooms/fabrikt/pull/447 * fix: default value for floating numbers by @cjbooms in | Low | 9/18/2025 |
| 24.0.0 | ## What's Changed * fix: remove property from 'required' if it's a nullable ref by @rvinzent in https://github.com/cjbooms/fabrikt/pull/426 * fix(kdoc): fix error when description contains % sign by @beiertu-mms in https://github.com/cjbooms/fabrikt/pull/428 ## New Contributors * @rvinzent made their first contribution in https://github.com/cjbooms/fabrikt/pull/426 **Full Changelog**: https://github.com/cjbooms/fabrikt/compare/23.0.0...24.0.0 | Low | 7/30/2025 |
| 23.0.0 | ## What's Changed * fix SpringBoot http client parameter names by @mirror-kt in https://github.com/cjbooms/fabrikt/pull/423 * add kdoc to models by @mirror-kt in https://github.com/cjbooms/fabrikt/pull/384 * Rename 'client' variable so it doesn't clash with other params by @davwil00 in https://github.com/cjbooms/fabrikt/pull/421 ## New Contributors * @davwil00 made their first contribution in https://github.com/cjbooms/fabrikt/pull/421 **Full Changelog**: https://github.com/cjbooms/fab | Low | 6/29/2025 |
| 22.5.0 | ## What's Changed * Polymorphic suffixed models bug fix by @lazfilor in https://github.com/cjbooms/fabrikt/pull/418 ## New Contributors * @lazfilor made their first contribution in https://github.com/cjbooms/fabrikt/pull/418 **Full Changelog**: https://github.com/cjbooms/fabrikt/compare/22.4.0...22.5.0 | Low | 6/16/2025 |
| 22.4.0 | ## What's Changed * feat: support http status code ranges by @Stefanqn in https://github.com/cjbooms/fabrikt/pull/416 ## New Contributors * @Stefanqn made their first contribution in https://github.com/cjbooms/fabrikt/pull/416 **Full Changelog**: https://github.com/cjbooms/fabrikt/compare/22.3.0...22.4.0 | Low | 6/5/2025 |
| 22.3.0 | ## What's Changed * Support long enum values by @ulrikandersen in https://github.com/cjbooms/fabrikt/pull/413 **Full Changelog**: https://github.com/cjbooms/fabrikt/compare/22.2.0...22.3.0 | Low | 5/12/2025 |
| 22.2.0 | ## What's Changed * Fix #408 by doing distinct on body parameters by schema by @dscham in https://github.com/cjbooms/fabrikt/pull/409 * Fix oneof mappings issue by @cjbooms in https://github.com/cjbooms/fabrikt/pull/407 ## New Contributors * @dscham made their first contribution in https://github.com/cjbooms/fabrikt/pull/409 **Full Changelog**: https://github.com/cjbooms/fabrikt/compare/22.1.0...22.2.0 | Low | 4/28/2025 |
| 22.1.0 | ## What's Changed * Fix inline handling of aggregations using anyOf allOf under arrays by @cjbooms in https://github.com/cjbooms/fabrikt/pull/403 **Full Changelog**: https://github.com/cjbooms/fabrikt/compare/22.0.1...22.1.0 | Low | 4/24/2025 |
| 22.0.1 | ## What's Changed * BUG: Fix issue with inlined oneOf generation under arrays introduced in v 22.0.0. by @cjbooms in https://github.com/cjbooms/fabrikt/pull/401 **Full Changelog**: https://github.com/cjbooms/fabrikt/compare/22.0.0...22.0.1 | Low | 4/23/2025 |
| 22.0.0 | ## What's Changed * returns Unit when any successful response not exists by @mirror-kt in https://github.com/cjbooms/fabrikt/pull/385 * add springboot's http interface generator by @mirror-kt in https://github.com/cjbooms/fabrikt/pull/383 * Unique items support by @AlexanderKomi in https://github.com/cjbooms/fabrikt/pull/389 * Fix NPE on empty type. by @cjbooms in https://github.com/cjbooms/fabrikt/pull/391 * Improve logging message when something goes wrong with type analysis … by @cjbooms | Low | 4/21/2025 |
| 21.2.0 | ## What's Changed * Fix inheritance of array properties by @mkostrzeba in https://github.com/cjbooms/fabrikt/pull/378 * relocate old guava libs to prevent conflicts by @ethanmdavidson in https://github.com/cjbooms/fabrikt/pull/380 ## New Contributors * @mkostrzeba made their first contribution in https://github.com/cjbooms/fabrikt/pull/378 * @ethanmdavidson made their first contribution in https://github.com/cjbooms/fabrikt/pull/380 **Full Changelog**: https://github.com/cjbooms/fabrik | Low | 3/2/2025 |
| 21.1.0 | ## What's Changed * Update version of fabrikt-gradle-plugin in README.md by @acanda in https://github.com/cjbooms/fabrikt/pull/371 * String format type overrides by @ulrikandersen in https://github.com/cjbooms/fabrikt/pull/368 * Handle query params with non primitive type in Ktor controller by @nsprod in https://github.com/cjbooms/fabrikt/pull/373 * Ktor server: Use DataConversion plugin for non-primitive path param types by @ulrikandersen in https://github.com/cjbooms/fabrikt/pull/375 * Kt | Low | 2/20/2025 |
| 21.0.0 | ## What's Changed * Fixed query parameters with type List<Int> for OkHttp client by @xehmer in https://github.com/cjbooms/fabrikt/pull/361 * Kotlin serialization: Numbers by @ulrikandersen in https://github.com/cjbooms/fabrikt/pull/364 * Fix correctly defined nullable enums causing a NPE by @xehmer in https://github.com/cjbooms/fabrikt/pull/360 * Add option to add spring-cloud-openfeign-starter annotation by @cjbooms in https://github.com/cjbooms/fabrikt/pull/365 ## New Contributors * @x | Low | 2/10/2025 |
| 20.0.0 | ## What's Changed * Fix issue with generation of inlined items schema in arrays. by @cjbooms in https://github.com/cjbooms/fabrikt/pull/353 * Inlined schemas under paths should default to Any. by @cjbooms in https://github.com/cjbooms/fabrikt/pull/354 * Minor improvement to handle String enums as Strings. by @cjbooms in https://github.com/cjbooms/fabrikt/pull/355 **Full Changelog**: https://github.com/cjbooms/fabrikt/compare/19.2.0...20.0.0 | Low | 1/29/2025 |
| 19.2.0 | ## What's Changed * Interactive Playground by @ulrikandersen in https://github.com/cjbooms/fabrikt/pull/348 * Add support for additional properties with simple types. by @cjbooms in https://github.com/cjbooms/fabrikt/pull/350 **Full Changelog**: https://github.com/cjbooms/fabrikt/compare/19.1.0...19.2.0 | Low | 1/27/2025 |
| 19.1.0 | ## What's Changed * Update version of fabrikt-gradle-plugin in README.md by @acanda in https://github.com/cjbooms/fabrikt/pull/339 * Replace values() with entries() with in enums by @Palleas in https://github.com/cjbooms/fabrikt/pull/340 * Omit discriminator property for Kotlin serialization by @ulrikandersen in https://github.com/cjbooms/fabrikt/pull/342 * Kotlin serialization custom discriminator name by @ulrikandersen in https://github.com/cjbooms/fabrikt/pull/343 ## New Contributors | Low | 12/20/2024 |
| 19.0.0 | ## What's Changed * Update version of fabrikt-gradle-plugin in README.md by @acanda in https://github.com/cjbooms/fabrikt/pull/331 * JacksonModelGenerator is now simply ModelGenerator by @ulrikandersen in https://github.com/cjbooms/fabrikt/pull/330 * Add example controllers for model suffix by @ulrikandersen in https://github.com/cjbooms/fabrikt/pull/335 * Add usage tips to README by @ulrikandersen in https://github.com/cjbooms/fabrikt/pull/334 * Upgrade to Kotlin 2.0.20 by @ulrikandersen i | Low | 12/10/2024 |
| 18.0.0 | ## What's Changed * Support for Kotlin Serialization by @ulrikandersen in https://github.com/cjbooms/fabrikt/pull/327 **Full Changelog**: https://github.com/cjbooms/fabrikt/compare/17.4.0...18.0.0 | Low | 11/18/2024 |
| 17.4.0 | ## What's Changed * Fix under-/overflow in min/max validation for controller parameters by @y-marion in https://github.com/cjbooms/fabrikt/pull/324 **Full Changelog**: https://github.com/cjbooms/fabrikt/compare/17.3.0...17.4.0 | Low | 10/9/2024 |
| 17.3.0 | ## What's Changed * Update version of fabrikt-gradle-plugin in README.md by @acanda in https://github.com/cjbooms/fabrikt/pull/320 * Allow having multiple authentication alternatives in Ktor controllers by @lunakoly in https://github.com/cjbooms/fabrikt/pull/321 * Add Ulrik's code improvement suggestion by @cjbooms in https://github.com/cjbooms/fabrikt/pull/322 ## New Contributors * @lunakoly made their first contribution in https://github.com/cjbooms/fabrikt/pull/321 **Full Changelog* | Low | 10/7/2024 |
| 17.2.0 | ## What's Changed * Restructures and refreshes the README by @ulrikandersen in https://github.com/cjbooms/fabrikt/pull/316 * Update version of fabrikt-gradle-plugin in README.md by @acanda in https://github.com/cjbooms/fabrikt/pull/317 * Add option to specify custom model suffix by @shanio in https://github.com/cjbooms/fabrikt/pull/319 ## New Contributors * @shanio made their first contribution in https://github.com/cjbooms/fabrikt/pull/319 **Full Changelog**: https://github.com/cjboom | Low | 10/2/2024 |
| 17.1.0 | ## What's Changed * Add support for InputStream by @ctasada in https://github.com/cjbooms/fabrikt/pull/292 * Add client streaming flag protection by @averabaq in https://github.com/cjbooms/fabrikt/pull/314 * Fix default array issue. by @cjbooms in https://github.com/cjbooms/fabrikt/pull/315 ## New Contributors * @ctasada made their first contribution in https://github.com/cjbooms/fabrikt/pull/292 **Full Changelog**: https://github.com/cjbooms/fabrikt/compare/17.0.0...17.1.0 | Low | 9/19/2024 |
| 17.0.0 | ## What's Changed * Feature: Add dynamic query parameters to client calls by @hyperschwartz in https://github.com/cjbooms/fabrikt/pull/311 ## New Contributors * @hyperschwartz made their first contribution in https://github.com/cjbooms/fabrikt/pull/311 **Full Changelog**: https://github.com/cjbooms/fabrikt/compare/16.9.0...17.0.0 | Low | 9/5/2024 |
| 16.9.0 | ## What's Changed * Fix BigDecimal defaults. by @cjbooms in https://github.com/cjbooms/fabrikt/pull/307 **Full Changelog**: https://github.com/cjbooms/fabrikt/compare/16.8.0...16.9.0 | Low | 8/22/2024 |
| 16.8.0 | ## What's Changed * Add new `x-async-support` extension for generating async controllers by @jeet23 in https://github.com/cjbooms/fabrikt/pull/305 ## New Contributors * @jeet23 made their first contribution in https://github.com/cjbooms/fabrikt/pull/305 **Full Changelog**: https://github.com/cjbooms/fabrikt/compare/16.7.0...16.8.0 | Low | 7/31/2024 |