3.51.0
(feat): Add event-level SSE discrimination support. When an SSE streaming endpoint returns a
discriminated union with discriminatorContext: "protocol", the Stream class injects the
SSE event: field value into the JSON data as the discriminator key before deserialization.
This matches the Go SDK’s approach and supports proper SSE event-level discrimination,
multiline data: concatenation, and blank-line event boundaries per the SSE spec.
Also adds wire test generation support for SSE streaming endpoints.
3.50.0
(feat): Add webhook signature verification helpers to generated SDKs. Define signature
verification via the x-fern-webhook-signature OpenAPI extension on individual webhooks
or as a document-level default, and the generator produces a WebhooksHelper class for
the most common config plus named helpers (e.g. PaymentNotificationWebhooksHelper) for
each unique per-webhook override. Supports HMAC (SHA-1/256/384/512) and asymmetric
(RSA-SHA256, ECDSA-SHA256) verification with configurable encoding, signature prefixes,
payload format composition, timestamp-based replay protection, and JWKS key resolution.
Includes unit tests for the underlying crypto primitives.
3.49.3
(chore): Update oxfmt to 0.35.0, oxlint to 1.50.0, and oxlint-tsgolint to 0.14.2.
3.49.2
(fix): Replace lodash-es template with Eta for template file processing. The lodash
templating engine crashes on backticks (template literals) because it uses
new Function() internally. Eta is a modern, lightweight, zero-dependency
templating engine that properly handles backticks and uses the same <% %>
syntax, requiring no changes to existing template files.
3.49.1
(fix): Change [TIMING] log statements from info to debug level so they are only
printed when debug logging is enabled.