# fabrikt

> Generates Kotlin Code from OpenAPI 3 Specifications

- **URL**: https://www.freshcrate.ai/projects/fabrikt
- **Author**: fabrikt-io
- **Category**: Uncategorized
- **Latest version**: `27.1.0` (2026-05-11)
- **License**: Apache-2.0
- **Source**: https://github.com/fabrikt-io/fabrikt
- **Homepage**: https://try.fabrikt.io
- **Language**: Kotlin
- **GitHub**: 258 stars, 72 forks
- **Registry**: github (`fabrikt-io/fabrikt`)
- **Tags**: `code-generation`, `graalvm`, `kotlin`, `kotlin-library`, `kotlinx-serialization`, `ktor`, `micronaut`, `okhttp`

## Description

Generates Kotlin Code from OpenAPI 3 Specifications

## Recent releases

| Version | Date | Urgency | Changes |
| --- | --- | --- | --- |
| `27.1.0` | 2026-05-11 | High | ## What's Changed * feat: opt-in Jackson DEDUCTION for discriminator-less inline oneOf by @thejeff77 in https://github.com/fabrikt-io/fabrikt/pull/587 * fix #602 handle requestBody required attribute correctly by @pstorch in https://github.com/fabrikt-io/fabrikt/pull/603   **Full Changelog**: https://github.com/fabrikt-io/fabrikt/compare/27.0.2...27.1.0 |
| `27.0.1` | 2026-05-07 | High | ## What's Changed * Escape reserved word query parameters in ktor clients by @arthurljones in https://github.com/fabrikt-io/fabrikt/pull/598 * Various updates to the playground  ## New Contributors * @arthurljones made their first contribution in https://github.com/fabrikt-io/fabrikt/pull/598  **Full Changelog**: https://github.com/fabrikt-io/fabrikt/compare/27.0.0...27.0.1 |
| `27.0.0` | 2026-04-21 | High | 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/ |
| `26.3.0` | 2026-04-14 | High | ## 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 |
| `26.2.2` | 2026-04-01 | Medium | ## 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 |
| `26.2.1` | 2026-03-19 | Low | ## 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 |
| `26.2.0` | 2026-03-12 | Low | ## 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 |
| `26.1.0` | 2026-03-03 | Low | ## 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 |
| `26.0.1` | 2026-03-03 | Low | ## 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 |
| `26.0.0` | 2026-02-25 | Low | ## 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 |

## Citation

- HTML: https://www.freshcrate.ai/projects/fabrikt
- Markdown: https://www.freshcrate.ai/projects/fabrikt.md
- Dependencies JSON: https://www.freshcrate.ai/api/projects/fabrikt/deps

_Generated by freshcrate.ai. Indexes github releases for AI-agent ecosystem packages._
