1.31.0

(feat): Add support for inferred auth. When an API definition includes an inferred auth scheme, the generated Go SDK will automatically fetch tokens from the designated token endpoint and inject Authorization: Bearer <token> headers on all authenticated requests. Tokens are cached with automatic refresh based on expires_in from the token response (defaults to 1 hour when omitted).

The generator produces WithXxx() client options for each credential parameter defined on the token endpoint (e.g., WithClientId, WithClientSecret, WithXApiKey), environment variable fallbacks when configured, and a core/token_provider.go with thread-safe caching.

To use inferred auth, define an inferred auth scheme in your Fern API definition:

1auth:
2 scheme: inferred
3 token-endpoint:
4 endpoint: auth.getToken
5 response-properties:
6 access-token: access_token
7 expires-in: expires_in

Wire tests are also generated when enableWireTests: true is set in custom config, validating automatic token fetch, caching, and custom header passthrough.

1.29.3

(chore): Add concurrency configuration to generated CI workflow with cancel-in-progress: false to prevent stacked runs from being cancelled when a newer run starts.

1.29.2

(fix): Fix datetime query parameter serialization to always include milliseconds. The valueString function in internal/query.go now formats time.Time values with "2006-01-02T15:04:05.000Z07:00" instead of time.RFC3339, ensuring the Go SDK sends timestamps with millisecond precision (e.g., 2024-07-01T15:30:00.000Z) that match the WireMock stub mappings.