1.40.3
(chore): Bump generator container Node.js base image to node:22.22-alpine3.23 and
apply latest Alpine package security updates at build time.
1.40.2
(chore): Bumped the Node stage of the go-sdk container from
node:22.12-alpine3.20 to node:22.22-alpine3.22 (Node 22.22.2) and
replaced the still-vulnerable copies of ip-address (10.1.0 -> 10.2.0),
brace-expansion (2.0.2 -> 5.0.5), and picomatch (4.0.3 -> 4.0.4)
bundled inside npm’s node_modules to remediate the CVEs flagged by
Grype. No runtime behavior changes.
1.40.1
(fix): Apply canonical “all user-specified examples, else first autogenerated” selection
in the Go v2 SDK snippet output path. Aligns the v2 generator’s snippet.json /
README example selection with the existing v1 behavior so dynamic-IR-driven
snippets are deterministic across runs.
1.40.0
(feat): Generate CONTRIBUTING.md for Go SDKs.
1.39.2
(fix): Fix wire test generator using hard-coded WithToken for bearer auth
instead of deriving the option function name from the IR token name.
APIs that name their bearer token field something other than token
(e.g. authToken) now generate the correct option call (e.g.
option.WithAuthToken) in both wire tests and README snippets.
1.39.1
(fix): Fix OAuth token endpoint to use application/x-www-form-urlencoded content type.
Per RFC 6749 §4.4.2, the OAuth 2.0 client credentials token request must be
form-encoded. The generated raw_client.go now emits the correct Content-Type
header for the token endpoint instead of application/json.
(fix): Fix wire test generation for endpoints with service-level base-path parameters.
The wiremock mapping now includes service and root path parameters alongside
endpoint path parameters, so test verification URLs use actual example values
instead of URL-encoded placeholder syntax.
1.39.0
(feat): Add retryStatusCodes config with "legacy" and "recommended" modes. Legacy (default)
preserves current behavior (408, 429, >= 500). Recommended retries only transient
codes (408, 429, 502, 503, 504), avoiding idempotency issues with 500. A 1.0.0
migration auto-pins legacy for upgrading users.
1.38.3
(chore): Only generate EncodeQueryValues on undiscriminated unions that are reachable from a query parameter position, instead of on every union.
1.38.2
(fix): Generate an EncodeQueryValues method on undiscriminated unions so they are no longer silently dropped when used as query parameters.
1.38.1
(fix): Fix casing bug where a single-letter uppercase word between a lowercase word and a
PascalCase word (e.g. the I in WhoAmIResponseData) was merged into the following
word, producing WhoAmIresponseData. splitWords now matches lodash’s words()
behaviour and tokenizes this as Who|Am|I|Response|Data.
1.38.0
(feat): Use auth scheme placeholder values in README snippets when configured via
placeholder field on auth schemes.
1.37.0
(feat): Add clientDefault support for headers, query parameters, and path
parameters. When a parameter has a clientDefault value (set via the
x-fern-default OpenAPI extension), the generated SDK uses that value
as a fallback when the caller does not provide one. Parameters with
clientDefault become optional in the client constructor and endpoint
signatures.
1.36.0
(feat): Support omitting username or password from basic auth when configured via
usernameOmit/passwordOmit in the IR. When a field is omitted, it is
removed from the SDK’s public API (WithBasicAuth takes fewer arguments)
and an empty string is used internally for the auth header encoding. When
both fields are omitted, the WithBasicAuth call and Authorization header
are skipped entirely.
1.35.1
(chore): Bump @fern-api/generator-cli to 0.9.11. The GitHub pipeline step now creates
signed commits via the GitHub REST API (matching fiddle’s legacy InMemoryGitRepo
push path), restoring verified fern-api[bot] commits on replay-enabled orgs.
1.35.0
(feat): Add offsetSemantics config option. When set to "item-index", offset pagination increments by the number of items returned each page instead of by 1 ("page-index", the default).
1.34.12
(fix): Fix wire test verification for endpoints with multi-value array query parameters.
1.34.11
(chore): Add crash reporting via Sentry to the generator runtime, and classify
thrown errors using the new shared GeneratorError taxonomy so user-facing
failures (config, validation, auth, network, environment) are kept distinct
from internal Fern bugs — only the latter are forwarded to Sentry. No
change to generated output.
1.34.10
(fix): Respect the version that the CLI provides via the IR’s publish config when
generating for output.location: local-file-system. Previously the Go
generator only read the SDK version from its output mode, which is empty
for local-file-system generation — so fern generate --version X.Y.Z --local did not stamp the generated Go SDK with the requested version.
1.34.9
(fix): Fix generated test files importing from the wrong package when identically-named subpackages exist under different parents (e.g., enumerate/ldap vs pentest/ldap).