1.28.3
(fix): Fix wire test generation crash for endpoints with bytes request bodies.
The wire test generator now skips bytes endpoints, consistent with the
wiremock mapping generation which also excludes them. Previously, the
generator would throw “No wiremock mapping found” when an API contained
file upload endpoints using application/octet-stream.
1.28.1
(fix): Resolve datetime aliases in marshal/unmarshal code generation. Fields typed as
aliases of datetime or date (e.g. DatetimeAlias: type: datetime) now
correctly use the custom internal.DateTime / internal.Date serialization
helpers instead of falling back to default time.Time JSON handling. Also
relaxes DateTime.UnmarshalJSON to accept ISO 8601 timestamps without a
timezone suffix (e.g. 2024-01-15T09:30:00), falling back from RFC 3339
when the timezone is absent.
1.28.0
(feat): Improve DateTime deserialization to handle multiple timestamp formats instead of
only strict RFC3339. The UnmarshalJSON method now tries RFC3339Nano first (which
is a superset of RFC3339 and supports fractional seconds), then falls back to
ISO 8601 without timezone (assuming UTC), then date-only format, and finally
Unix epoch seconds (integer). This matches the flexibility of other Fern SDK
generators (Java, Python, TypeScript, C#) and prevents deserialization failures
when APIs return timestamps in slightly different ISO 8601 variants.
1.27.0
(feat): Add golangci-lint to seed tests for generated Go SDK code; adjust various
internal files to comply with golangci-lint. (The upshot of this is that
golangci-lint run should now pass for any Fern-generated Go SDKs.)