3.30.0
(feat): Add offsetSemantics flag, which changes how the step attribute in x-fern-pagination is interpreted.
When offsetSemantics is item-index (the default), offset is understood as an item index that increases by the number of entities fetched.
When offsetSemantics is page-index, offset is understood as a page index that increases by 1 each time.
3.29.2
(fix): Improve SDK generation performance.
3.29.1
(fix): When generating hasNextPage, use Math.Floor to ensure an integer comparison against the number of entities.
3.29.0
(feat): Add parameterNaming configuration option to control how parameter names are generated in the SDK.
The available options are:
originalName: Use the original name from the OpenAPI spec.wireValue: Use the wire value from the OpenAPI spec, falling back to the original name if not present.camelCase: Convert the name to camelCase.snakeCase: Convert the name to snake_case.default: Use the default naming strategy.
3.28.11
(fix): Do not generate a snippet-templates.json file in the generated TypeScript SDK.
3.28.12
(fix): Include more files and folders in .npmignore:
- .mock
- .fern
- dist
- scripts
- jest.config.*
- vitest.config.*
(fix): Only generate .npmignore when useLegacyExports: true.
When useLegacyExports: false, we generate a package.json with "files" field which makes .npmignore redundant.
3.28.10
(fix): Set Accept header for JSON (application/json), text (text/plain), and other (*/*) response types.
This ensures that the Accept header is set consistently across runtimes.
Unlike all other runtimes, Cloudflare Workers and Vercel Edge Runtime do not set a default Accept header in their fetch implementations.
3.28.9
(fix): Fix Error._visit to pass the correct type (core.Fetcher.Error) to the _other callback.
3.28.8
(fix): Clean up imports for requestWithRetries.test.ts.
3.28.7
(fix): Fix circular type alias errors (TS2456) in undiscriminated unions containing self-recursive Record types where the value is a union of itself with null and/or undefined.
3.28.6
(fix): Fix circular type alias errors (TS2456) in undiscriminated unions containing self-recursive Record types.
3.28.5
(fix): Fix issue where logs were logged even when the respective log level was disabled.
(chore): Add tests for logging and the fetcher’s redaction functionality.
(chore): Improve unit test performance and refactor code to reduce duplication.
3.28.4
(fix): Fix a compilation error when a websocket channel has no send or receive messages.
3.28.3
(fix): Fix local GitHub generation to match remote generation.
3.28.2
(fix): Fix inconsistent path parameter casing in the WebSocket connect options.
The casing now follows the same rules as other HTTP path parameters:
retainOriginalCasing: true: use the original casing from the OpenAPI spec, regardless of thenoSerdeLayersetting.noSerdeLayer: true: use the original casing from the OpenAPI spec.noSerdeLayer: false: use camelCase for path parameters.
3.28.1
(fix): Always use vitest.config.mts for consistency across all generated SDKs. This ensures Vitest v3 can load the config as ESM in both CommonJS and ESM packages.
3.27.0
(feat): Add support for variables in wire tests.
3.26.0
(feat): Include "dependencies": {} in package.json when generating a TypeScript SDK without dependencies.
3.28.0
(feat): Added Generation Metadata file to output.
3.25.0
(feat): Add support for logging to the generated SDK.
Users can configure the logger by passing in a logging object to the client options.
The logging object can have the following properties:
level: The log level to use. Defaults tologging.LogLevel.Info.logger: The logger to use. Defaults tologging.ConsoleLogger.silent: Whether to silence the logger. Defaults totrue.
The level property can be one of the following values:
logging.LogLevel.Debuglogging.LogLevel.Infologging.LogLevel.Warnlogging.LogLevel.Error
To provide a custom logger, users can pass in a custom logger implementation that implements the logging.ILogger interface.
3.24.0
(feat): Add support for forward-compatible enums.
To enable forward-compatible enums, add the following configuration to your generators.yml file:
3.23.0
(feat): Add support for bytes download responses.
3.22.0
(feat): Add support for oxfmt as the formatter.
This is a beta feature and not officially supported yet.
3.21.0
(feat): Add support for oxlint as the linter.
This is a beta feature and not officially supported yet.
3.20.0
(feat): Implement base and extend properties in discriminated union examples.
3.19.1
(fix): mergeHeaders() and mergeOnlyDefinedHeaders() are now case-insensitive.
3.19.0
(feat): Add support for application/x-www-form-urlencoded request bodies.
3.18.0
(feat): Users can now pass in a custom fetch function to the client options.