Skip to content

[ci] release - #1

Open
github-actions[bot] wants to merge 1 commit into
mainfrom
changeset-release/main
Open

github-actions[bot] wants to merge 1 commit into
mainfrom
changeset-release/main

Conversation

@github-actions

@github-actions github-actions Bot commented Sep 12, 2026 •

Copy link
Copy Markdown

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

openapi-typescript@8.0.0

Major Changes

  • 699ab08 Thanks @darkbasic! - feat: generate TypeScript with raw string templates and drop the TypeScript dependency

    openapi-typescript no longer uses the TypeScript compiler API (ts.factory,
    createPrinter, createSourceFile) at runtime. Generation now builds the
    .d.ts source with string templates, so the package

    • works with TypeScript 7 (the native compiler), which ships no classic
      compiler API — this fixes the Cannot read properties of undefined (reading 'createKeywordTypeNode') crash,
    • has no runtime TypeScript dependency: typescript is no longer a peer
      dependency and is not resolved at all when generating,
    • preserves the fork's read/write helper and required-only allOf semantics,
      including callable and readonly collection handling.

    Output fixes include:

    • tsUnion() / tsIntersection() no longer emit a redundant single-member
      union, so (string)[][] is now string[][]. Semantically identical.
    • A multi-line x-enum-descriptions entry no longer leaks a bare token into the
      enum body (it used to produce invalid TypeScript); line breaks become spaces.
    • With pathParamsAsTypes, a URL containing a backtick or ${ no longer breaks
      out of the generated template literal type.
    • Nested immutable arrays retain their parentheses, and arrays of composed
      item types retain their outer array dimension.
    • CommonJS declarations now match the actual default and named exports, and
      the published package includes the type dependencies needed by Redocly's
      public declarations for consumers with skipLibCheck: false.

    Breaking changes

    • openapiTS() now resolves to a string (the generated file body, without the
      comment header) instead of an array of AST nodes. The body ends with a newline.
    • The transform hooks exchange plain strings instead of AST nodes:
      • transform returns string | { schema: string; questionToken: boolean }
      • postTransform receives and returns string
      • transformProperty receives and returns { name, optional, readonly, type, comment?, indent };
        use the new tsComment() helper to attach JSDoc from that hook
      • GlobalContext.injectFooter is now a FooterDeclaration[] (generated strings,
        plus a deferred OperationsDeclaration for the operations interface)
    • Callbacks that used to build AST nodes with a separately installed typescript
      must return the equivalent type text instead, e.g.
      ts.factory.createTypeReferenceNode("Date") becomes "Date". typescript is
      no longer required to use this package at all.
    • The AST-oriented helpers stringToAST(), tsModifiers() and QUESTION_TOKEN
      were removed and are replaced by string builders: typeLiteral(),
      tupleType(), propertySignature(), indexSignature(), typeAlias(),
      interfaceDecl(), enumDecl(), INDENT and tsComment().
    • The inject option is now emitted verbatim instead of being re-printed by the
      TypeScript printer.
    • astToString() now joins source strings and ensures a trailing newline. AST
      nodes and the former printer options argument are no longer supported;
      passing options throws instead of silently ignoring them.
    • With postTransform configured, nonempty object-shaped $defs roots use type
      aliases so custom mapped types are valid. Root detection accepts surrounding
      comments and inline formatting while retaining the empty-root fallback.

Minor Changes

Patch Changes

  • e2e830e Thanks @darkbasic! - Generate required composed properties from required-only allOf members, including typed object constraints when custom transforms are configured.

  • #2415 f55fb72 Thanks @remy90! - Support additionalProperties: true on string enums by generating a loose autocomplete union ((enum literals) | (string & {})), preserving editor suggestions while still accepting arbitrary string values.

  • f1321d4 Thanks @darkbasic! - Fix enumValues making shared WithRequiredObject helper reuse depend on the
    order of unrelated schemas. Preserve collision protection for injected source,
    generated enums, and unprefixed root types.

  • f6960fe Thanks @darkbasic! - Pin Redocly OpenAPI core to a release that uses patched YAML and glob dependencies and avoids the vulnerable URI parser.

  • 219be04 Thanks @darkbasic! - Support TypeScript 6 alongside TypeScript 5.

    Fix Readable<T> and Writable<T> to preserve function signatures, including methods on Date and RegExp, while continuing to filter read-only and write-only properties. This fixes a pre-existing issue under both TypeScript versions, in the helpers package and in the helper types generated with --read-write-markers.

    Fix readonly-array methods and iteration to expose resolved elements, including schemas generated with --immutable, while preserving readonly positional properties, length, and additional data properties. Keep the existing mutable-tuple projection and support recursive arrays and tuples. Excluded elements in readonly collections now follow the same never element rule as mutable arrays. Callable types remain unchanged, including their parameters, return types, and attached properties.

openapi-fetch@0.17.1

Patch Changes

  • #2605 b775891 Thanks @kaigritun! - fix(openapi-fetch): handle empty error responses when Content-Length header is stripped

  • Updated dependencies [219be04]:

    • openapi-typescript-helpers@0.1.1

openapi-react-query@0.5.5

Patch Changes

  • #1950 ac9d082 Thanks @freshgiammi! - Tag generated querykeys with DataTag, allowing us to infer the return type (data/error) associated with a given queryKey, making methods like queryClient.setQueryData() type-safe.

  • Updated dependencies [b775891, 219be04]:

    • openapi-fetch@0.17.1
    • openapi-typescript-helpers@0.1.1

openapi-typescript-helpers@0.1.1

Patch Changes

  • 219be04 Thanks @darkbasic! - Support TypeScript 6 alongside TypeScript 5.

    Fix Readable<T> and Writable<T> to preserve function signatures, including methods on Date and RegExp, while continuing to filter read-only and write-only properties. This fixes a pre-existing issue under both TypeScript versions, in the helpers package and in the helper types generated with --read-write-markers.

    Fix readonly-array methods and iteration to expose resolved elements, including schemas generated with --immutable, while preserving readonly positional properties, length, and additional data properties. Keep the existing mutable-tuple projection and support recursive arrays and tuples. Excluded elements in readonly collections now follow the same never element rule as mutable arrays. Callable types remain unchanged, including their parameters, return types, and attached properties.

@github-actions
github-actions Bot force-pushed the changeset-release/main branch from 77070cb to 3a8b497 Compare September 12, 2026 13:17
@github-actions
github-actions Bot force-pushed the changeset-release/main branch from 3a8b497 to 5cb9658 Compare September 14, 2026 15:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants