Skip to content

Releases: hey-api/openapi-ts

Apr 28th, 2026

28 Apr 03:33
8982b4f

Choose a tag to compare

Spotlight

A huge thank you to @SukkaW this release! They noticed generation was painfully slow on large OpenAPI specs, traced it to several algorithmic bottlenecks, and fixed them. The result is a 10x-30x performance gain on larger specs, with meaningful improvements on smaller specs as well.

We sent them $100 as a small token of appreciation.

Contribute →


@hey-api/openapi-ts 0.97.0

⚠️ Breaking

This release has 15 breaking changes. Please review the release notes carefully before upgrading.

Updates

  • cli: print file count and generator speed (#3828)
  • ⚠️ Breaking: client: resolve runtimeConfigPath relative to the output folder (#3770)

Changed runtimeConfigPath behavior

This was a known, long-standing issue confusing first-time users. Before, defining client runtimeConfigPath value would paste it verbatim to the generated output. This release changes the behavior to resolve relative to the current working directory the same way output path works.

  • config: remove --apply flag from Biome post-processor commands (#3812)

Plugins

@hey-api/client-angular

  • ⚠️ Breaking: request and response objects might be undefined (#3814)
  • ⚠️ Breaking: respect throwOnError when request validation fails (#3814)

@hey-api/client-fetch

  • ⚠️ Breaking: pass previous result to error interceptors (#3814)
  • ⚠️ Breaking: request and response objects might be undefined (#3814)
  • ⚠️ Breaking: respect throwOnError when request validation fails (#3814)

@hey-api/client-ky

  • ⚠️ Breaking: pass previous result to error interceptors (#3814)
  • ⚠️ Breaking: request and response objects might be undefined (#3814)
  • ⚠️ Breaking: respect throwOnError when request validation fails (#3814)
  • ⚠️ Breaking: respect ky instance defaults (#3806)

Changed Ky client behavior

The Ky client was updated to be more intuitive. Some Ky options now need to be passed via the kyOptions field and you need to pass undefined to unset an option.

@hey-api/client-next

  • ⚠️ Breaking: request and response objects might be undefined (#3814)
  • ⚠️ Breaking: pass previous result to error interceptors (#3814)
  • ⚠️ Breaking: respect throwOnError when request validation fails (#3814)

@hey-api/client-ofetch

  • ⚠️ Breaking: request and response objects might be undefined (#3814)
  • ⚠️ Breaking: respect throwOnError when request validation fails (#3814)

@tanstack/angular-query-experimental

  • add setQueryData option (#3824)

@tanstack/preact-query

  • add useSetQueryData option (#3824)
  • add setQueryData option (#3824)

@tanstack/react-query

  • add useSetQueryData option (#3824)
  • add setQueryData option (#3824)

@tanstack/solid-query

  • add setQueryData option (#3824)

@tanstack/svelte-query

  • add setQueryData option (#3824)

@tanstack/vue-query

  • add setQueryData option (#3824)

zod

  • fallback .discriminatedUnion to .union if members contain intersection (#3813)

@hey-api/codegen-core 0.8.1

Updates

  • planner: speed up identifier conflict detector (#3823)
  • symbol: speed up symbol registry cache (#3823)

@hey-api/shared 0.4.2

Updates

  • graph: speed up graph builder (#3823)
  • utils: speed up deep equality check (#3823)

Sponsors

Partners behind the future of API tooling.

Stainless logo
Best-in-class developer interfaces for your API.
stainless.com

Opencode logo
The open source coding agent.
opencode.ai

Become a sponsor →

Contributors

Built with contributions from @inas-sirhan and @SukkaW.

View full changelog →

Apr 20th, 2026

20 Apr 09:30
aaba2d9

Choose a tag to compare

@hey-api/openapi-ts 0.96.1

Updates

  • config: warn on duplicated plugin configurations (#3753)
  • output: surface postprocess errors (#3683)
  • parser: re-add implicitly-filtered schemas in collectOperations (#3791)
  • parser: avoid encoding url unsafe characters (#3782)

Plugins

@hey-api/client-angular

  • narrow headers to Headers in ResolvedRequestOptions (#3757)

@hey-api/client-fetch

  • narrow headers to Headers in ResolvedRequestOptions (#3757)

@hey-api/client-ky

  • narrow headers to Headers in ResolvedRequestOptions (#3757)

@hey-api/client-next

  • narrow headers to Headers in ResolvedRequestOptions (#3757)

@hey-api/client-ofetch

  • narrow headers to Headers in ResolvedRequestOptions (#3757)

valibot

  • add support for .variant() (#3780)

zod

  • add support for .discriminatedUnion() (#3780)
  • support generating z.input and z.output types (#3759)

@hey-api/json-schema-ref-parser 1.4.1

Updates

  • parser: avoid encoding url unsafe characters (#3782)

@hey-api/shared 0.4.1

Updates

  • output: surface postprocess errors (#3683)
  • parser: avoid encoding url unsafe characters (#3782)
  • parser: re-add implicitly-filtered schemas in collectOperations (#3791)
  • config: warn on duplicated plugin configurations (#3753)

@hey-api/vite-plugin 0.3.1

Updates

  • api: expose vite options (#3776)

Sponsors

Partners behind the future of API tooling.

Stainless logo
Best-in-class developer interfaces for your API.
stainless.com

Opencode logo
The open source coding agent.
opencode.ai

Become a sponsor →

Contributors

Built with contributions from @inas-sirhan and @sbs44.

View full changelog →

2026-04-13

13 Apr 05:41
6e20279

Choose a tag to compare

@hey-api/openapi-ts 0.96.0

⚠️ Breaking

This release has 1 breaking change. Please review the release notes carefully before upgrading.

Updates

  • ⚠️ Breaking: This release bumps the minimum required Node version to 22.13. (#3694)
  • cli: improve error message on invalid input (#3679)
  • parser: keep orphans when explicitly included in filters (#3714)
  • parser: process enum metadata (#3727)

Plugins

@angular/common

  • requests and resources broken default configuration (#3678)

@hey-api/client-angular

  • simplify SSE line endings normalization (#3686)

@hey-api/client-axios

  • simplify SSE line endings normalization (#3686)

@hey-api/client-fetch

  • simplify SSE line endings normalization (#3686)

@hey-api/client-ky

  • simplify SSE line endings normalization (#3686)

@hey-api/client-next

  • simplify SSE line endings normalization (#3686)

@hey-api/client-nuxt

  • simplify SSE line endings normalization (#3686)

@hey-api/client-ofetch

  • simplify SSE line endings normalization (#3686)

@hey-api/transformers

  • return value for primitive array entries (#3733)

@hey-api/codegen-core 0.8.0

⚠️ Breaking

This release has 1 breaking change. Please review the release notes carefully before upgrading.

Updates

  • ⚠️ Breaking: This release bumps the minimum required Node version to 22.13. (#3694)

@hey-api/json-schema-ref-parser 1.4.0

⚠️ Breaking

This release has 1 breaking change. Please review the release notes carefully before upgrading.

Updates

  • ⚠️ Breaking: This release bumps the minimum required Node version to 22.13. (#3694)
  • internal: export errors (#3679)

@hey-api/shared 0.4.0

⚠️ Breaking

This release has 1 breaking change. Please review the release notes carefully before upgrading.

Updates

  • ⚠️ Breaking: This release bumps the minimum required Node version to 22.13. (#3694)
  • parser: keep orphans when explicitly included in filters (#3714)
  • parser: process enum metadata (#3727)
  • error: handle InputError (#3679)

@hey-api/spec-types 0.2.0

⚠️ Breaking

This release has 2 breaking changes. Please review the release notes carefully before upgrading.

Updates

  • ⚠️ Breaking: remove OpenAPI types from JSON Schema documents (#3715)
  • ⚠️ Breaking: rename OpenAPIExtensions to SpecExtensions (#3715)
  • types: add WithSpecExtensions type (#3734)
  • openapi: stricter 2.0 version type (#3715)
  • types: use mutable arrays (#3715)

@hey-api/vite-plugin 0.3.0

⚠️ Breaking

This release has 1 breaking change. Please review the release notes carefully before upgrading.

Updates

  • ⚠️ Breaking: This package is now ESM-only. (#3688)

Sponsors

Partners behind the future of API tooling.

Stainless logo
Best-in-class developer interfaces for your API.
stainless.com

Opencode logo
The open source coding agent.
opencode.ai

Become a sponsor →

Contributors

Be the first to contribute to the next release! Browse open issues →

View full changelog →

@hey-api/shared@0.3.0

02 Apr 13:22
5e1eaea

Choose a tag to compare

Minor Changes

Removed plugin.getSymbol() function

This function has been removed. You can use plugin.querySymbol() instead. It accepts the same arguments and returns the same result.

Patch Changes

@hey-api/openapi-ts@0.95.0

02 Apr 13:22
5e1eaea

Choose a tag to compare

Minor Changes

Validator request schemas

Valibot plugin no longer exports composite request Data schemas. Instead, each layer is exported as a separate schema. If you're using validators with SDKs, you can preserve the composite schema with shouldExtract:

export default {
  input: "hey-api/backend", // sign up at app.heyapi.dev
  output: "src/client",
  plugins: [
    // ...other plugins
    {
      name: "sdk",
      validator: "valibot",
    },
    {
      name: "valibot",
      requests: {
        shouldExtract: true,
      },
    },
  ],
};

Removed plugin.getSymbol() function

This function has been removed. You can use plugin.querySymbol() instead. It accepts the same arguments and returns the same result.

Validator request schemas

Zod plugin no longer exports composite request Data schemas. Instead, each layer is exported as a separate schema. If you're using validators with SDKs, you can preserve the composite schema with shouldExtract:

export default {
  input: "hey-api/backend", // sign up at app.heyapi.dev
  output: "src/client",
  plugins: [
    // ...other plugins
    {
      name: "sdk",
      validator: "zod",
    },
    {
      name: "zod",
      requests: {
        shouldExtract: true,
      },
    },
  ],
};

Patch Changes

Updated Dependencies:

  • @hey-api/shared@0.3.0

@hey-api/openapi-ts@0.94.4

20 Mar 15:51
bcdd174

Choose a tag to compare

Patch Changes

@hey-api/shared@0.2.5

19 Mar 05:05
d61d2b1

Choose a tag to compare

Patch Changes

Updated Dependencies:

  • @hey-api/codegen-core@0.7.4

@hey-api/openapi-ts@0.94.3

19 Mar 05:05
d61d2b1

Choose a tag to compare

Patch Changes

Updated Dependencies:

  • @hey-api/shared@0.2.5
  • @hey-api/codegen-core@0.7.4

@hey-api/codegen-core@0.7.4

19 Mar 05:05
d61d2b1

Choose a tag to compare

Patch Changes

@hey-api/types@0.1.4

16 Mar 07:36
66642e6

Choose a tag to compare

Patch Changes