1.33.0

(feat): Add maxRetries custom config option to override the default maximum number of retries for failed requests. The default remains 1 retry (2 total attempts) when not specified.


1.32.2

(fix): Fix doubled major version suffix in import paths when module.path already contains a /vN suffix and packagePath is configured. The /vN suffix is now applied to the module path before appending the packagePath, preventing paths like github.com/owner/repo/v2/pkg/v2.


1.32.1

(fix): Include internal in reserved words so that top level packages named internal are not attempted to be exported which violates go’s rules.

1.32.0-rc1

(fix): Fix SSE event discriminator injection skipping when the discriminator key exists in a nested object. Previously, injectDiscriminator used a naive substring check that matched the key at any nesting depth, causing deserialization failures for payloads like {"event":{"type":"user.created"}} where "type" only appears nested. The check now only considers top-level JSON keys.


1.32.0-rc0

(feat): Add context cancellation support to streams. NewStream now accepts a context.Context so that blocking Recv() calls unblock when the context is cancelled or times out.

(feat): Add RecvEvent() and RecvEventRaw() methods that return SSE metadata (id, event type, retry) alongside the data payload. Also add LastEventID() for tracking the most recent event ID across reconnections.

(fix): Fix SSE comment lines (: heartbeat) crashing the stream. Comment-only events are now silently skipped per the WHATWG SSE specification.

(fix): Fix SSE streams to handle all spec-compliant line endings (LF, CR, CRLF). Previously only LF was supported, causing parse failures with servers that use Windows-style or bare CR line endings.

(fix): Fix SSE id: and retry: fields being parsed but discarded. The id: field now persists across events per spec, and retry: is parsed as an integer milliseconds value.

(feat): Ship core/stream_test.go into generated SDKs so that streaming logic is verified by user CI alongside the rest of the SDK.


1.31.5

(chore): Pretty-print generated wiremock-mappings.json with 2-space indentation to reduce diff sizes on subsequent SDK generations.


1.31.4

(fix): Fix sub-package ErrorCodes maps being empty when errors are declared in a different namespace than the endpoints that reference them. The generator now groups errors by the service namespace that uses them (via endpoint error references) instead of by where they are declared. This ensures that sub-packages like audio/ correctly get populated ErrorCodes with typed errors (e.g. BadRequestError, UnauthorizedError) instead of an empty map that would cause API errors to be returned as generic *core.APIError.


1.31.3

(fix): Fix inferred auth wire test generation for endpoints that require a request parameter. The generator now correctly passes an empty request struct when the test endpoint has query parameters, headers, or a request body.

1.31.2

(fix): Thread endpoint ID through dynamic snippet generator to differentiate generated snippets by endpoint.


1.31.1

(fix): Sort generated Go imports following goimports conventions. Standard library imports are now grouped separately from third-party imports with a blank line separator between them, matching the canonical Go import style.


1.30.3

(fix): Use any instead of interface{} for unknown type schemas. Since Go 1.18+, any is the idiomatic alias for interface{}. This is a purely cosmetic modernization with no behavioral change.

1.30.2

(fix): Fix Basic Auth header not being sent when the username is an empty string. Per RFC 7617, an empty user-id is valid in Basic Auth (e.g., :password). The condition in ToHeader() now uses || instead of &&, so the Authorization header is set whenever either the username or password is non-empty.


1.30.1

(fix): Fix non-deterministic ordering in generated requests.go and requests_test.go. Go maps randomize iteration order, causing type ordering to vary across runs when exportAllRequestsAtRoot is enabled. Map keys are now sorted before iteration to ensure deterministic output.