1.69.1
(fix): Enum-typed attributes and text on XML (TwiML) types are open on the wire: FromXml keeps a value the enum does
not declare (e.g. a voice added after the SDK was generated) instead of returning an error, and it round-trips
through ToXml. This matches how the same enums already behave in JSON.
1.69.0
(feat): Add opt-in userAgentOnly config. When enabled, generated clients send the User-Agent
header (including the structured form from includePlatformHeaders) but omit the
X-Fern-Language, X-Fern-SDK-Name, and X-Fern-SDK-Version headers. Disabled by default,
so existing generated output is unchanged. omitFernHeaders still takes precedence and drops
the User-Agent too.
1.68.0
(feat): The generated WebhooksHelper HMAC verifier now accepts a per-call algorithm override via a VerifySignatureWithAlgorithm(...) method (VerifySignature keeps the configured default),
one of sha1, sha256, sha384 or sha512. When omitted, the algorithm configured in
webhook-signature is used, so existing callers are unchanged. This lets one endpoint verify both
legacy HMAC-SHA1 (auth-token) and HMAC-SHA256 (shared-key) signed webhooks.
The verifier also logs a warning distinguishing an early failure (missing signature header) from a
failed verification (signature mismatch); it still returns false and never throws.
1.67.0
(feat): XML (TwiML) types keep text segments, typed child elements and raw core.XmlElement children in a
single ordered Content slice, so ToXml() emits them in the order they were added
(response.Say(a).AddChild(custom).Say(b) yields <Say>a</Say><Custom /><Say>b</Say>) and
FromXml() preserves document order, including the position of unknown elements and repeated
wrapper elements. Adds AddText(string) to XML types and core.XmlElement for mixed content such
as <Say>Hi <break strength="weak" /> world</Say>. Typed child properties and ExtraChildren
remain available and are reconciled into Content on serialization.
1.66.0
(feat): Support SDK variables (variables in api.yml / x-fern-sdk-variables in OpenAPI). Path
parameters bound to a variable via x-fern-sdk-variable are removed from endpoint
signatures and request wrappers and are configured once on the client with the generated
option.With<Variable>(...) helper (also accepted per request). Variables that declare an
env fall back to that environment variable, and a string variable that is still unset
fails with a clear error before the request is sent.