1.23.3

(fix): Fix wire test generation for exhaustive fixture. This includes several fixes:

  • Fix int vs int64 type mismatch for long types by explicitly casting to int64
  • Fix enum values to use .Ptr() method for pointer types
  • Fix field names to use Go exported names (e.g., FieldString instead of String)
  • Add Bytes helper function for []byte pointer types
  • Skip endpoints returning primitive date types in wire tests (workaround for Go SDK date parsing issue where time.Time expects RFC3339 datetime format)

1.23.2

(fix): Fix undiscriminated union type matching in dynamic snippets and wire tests. Previously, when converting example values to undiscriminated union types, the generator would accept the first type that didn’t throw an error, even if the conversion resulted in a nop (no-op). This caused empty struct literals to be generated instead of properly initialized union variants. The fix now skips types that result in nop conversions and continues to the next type in the union.


1.23.1

(fix): Fix non-deterministic import ordering in generated Go files. Imports are now sorted alphabetically by alias, preventing unnecessary churn in automated seed updates.

1.23.0

(feat): Add RecvRaw method to stream API and improve SSE terminator handling for more robust server-sent event processing


1.22.9

(chore): Update IR version to 61 to support Generation Metadata feature and maintain consistency with seed configuration.



1.22.7

(chore): Update Dockerfile to use the latest generator-cli with improve reference.md generation.

1.22.6

(fix): Update CI workflow to match robust wiremock testing implementation from seed configuration. The GitHub Actions workflow now uses unique project naming, proper port extraction, and reliable cleanup with separate setup/test/teardown steps to prevent Docker Compose conflicts and ensure consistent test execution.


1.22.5

(fix): Fix dynamic snippets for optional aliases to literal types. Previously, the generator would produce invalid Go code like &SortField("DEFAULT") which tries to take the address of a type conversion. Now it correctly uses the primitive’s pointer helper function (e.g., fern.String("DEFAULT")) for optional literal aliases.


1.22.4

(fix): Fix wiremock port collisions when running wire tests in parallel. The docker-compose configuration now uses ephemeral ports (0:8080) instead of fixed port 8080, and the generated test code reads the WIREMOCK_PORT environment variable to discover the dynamically assigned port at runtime.

1.22.3

(fix): Fix OAuth form URL encoding to respect custom MarshalJSON methods. The form URL encoding now marshals the request to JSON first, then converts to form data, ensuring fields like grant_type that are added via custom MarshalJSON are included in the request body.


1.22.2

(fix): Make OAuth wire tests dynamic to support different SDK structures. The OAuth test generator now extracts service information (client accessor path, method names, field names) directly from the IR, enabling wire tests to work across different OAuth configurations without hardcoded assumptions.


1.22.1

(fix): Add ‘v’ prefix to sdkVersion in metadata.json to follow Go module versioning conventions.

1.22.0

(feat): Generate error_codes.go per-namespace for multi-namespace Go SDKs. Each namespace now has its own error_codes.go file containing only the error codes and error types from that namespace, rather than a single global file with all errors.