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.