Skip to content

v3.4.1

Choose a tag to compare

@github-actions github-actions released this 27 Oct 11:56
· 2 commits to main since this release
Immutable release. Only release title and notes can be modified.
aff1e52

Patch Changes

  • #366 c2ffa90 Thanks @G4brym! - Bump production dependencies: @asteasolutions/zod-to-openapi to v9 (adds z.guid(), z.cidrv4(), z.cidrv6(), z.base64url(), z.iso.time() and z.iso.duration() format support and fixes nested discriminated union mappings), js-yaml to v5, openapi3-ts to 4.6.2 and zod to 4.6.7.

  • #358 2cd8804 Thanks @kwy404! - Use defaultOrderBy as the default order_by value in list endpoints instead of always defaulting to the first entry of orderByFields.

  • #367 b3747f7 Thanks @G4brym! - Improve typings by replacing most internal any usages with precise types or unknown, without changing the public API

    • Router adapters accept OpenAPIRouteClass (any OpenAPIRoute subclass, exported together with an isOpenAPIRouteClass() helper) in place of typeof OpenAPIRoute<any>
    • getRequest() adapter helpers now return Request
    • Parameters of coerceInputs(), jsonResp(), getD1Binding(), Logger and exception path arguments are widened to unknown-based types that accept the same inputs as before
    • Optional properties of RequestTypes, RouteOptions and retryAfter explicitly allow undefined, improving compatibility with exactOptionalPropertyTypes
  • #360 ace6b43 Thanks @RaphaelFakhri! - Keep generated operationIds unique when endpoint classes share a name. A route whose class name is already used by another route now falls back to a path-based operationId, so Swagger UI no longer runs the wrong endpoint.

    Explicit operationId values take precedence: when one matches an id that was generated for an earlier route, the earlier route is given a new path-based id instead. Two explicit operationId values that collide are kept as-is and a warning is logged. Routes from nested routers are checked against the parent router too, so sub-routers reusing a class name no longer produce duplicate ids. Because collisions are resolved as routes are registered, a generated id can depend on registration order.