3.11.0
(feat): Add support for three-state nullable fields in PATCH requests via collapse-optional-nullable config.
When enabled, optional nullable fields use OptionalNullable<T> to distinguish between omitted fields,
explicit null values, and actual values. This enables proper PATCH request semantics for APIs that need
to differentiate between “not specified” and “set to null”.
Generated usage:
3.10.5
(fix): Revert support for three-state nullable fields in PATCH requests introduced in 3.10.0 (PR #10104).
Restores Optional<T> semantics and removes the use-nullable-for-optional-fields config and related Nullable<T> handling.
3.10.4
(fix): Fix compilation errors when using boolean or long query parameters.
3.10.3
(fix): Use Gradle wrapper for Spotless formatting instead of requiring gradle in PATH.
3.10.2
(fix): Fix sync client delegation causing array query parameter compilation errors. Generator was using
incorrect class names, breaking delegation and causing inline HTTP generation.
3.10.1
(fix): Fixed nullable annotation generation in builder setters when use-nullable-annotation is enabled.
Builder setter parameters for nullable fields now correctly use @org.jetbrains.annotations.Nullable
instead of incorrectly attempting to use the Nullable<T> container class as an annotation.
Also removed @Nullable from path parameters as they are always required in REST APIs.
3.10.0
(feat): Add support for three-state nullable fields in PATCH requests via use-nullable-for-optional-fields config.
When enabled, optional fields use Nullable<T> instead of Optional<T> to distinguish between
omitted fields, explicit null values, and actual values.
3.9.4
(chore): Documenting .withRawResponse() in README.md.
3.9.3
(fix): Retries now check Retry-After and X-RateLimit-Reset before defaulting to exponential backoff.
3.9.2
(fix): Fix nullable field serialization in PATCH requests with wrapped request bodies. Explicit null values
(Nullable.ofNull()) are now correctly serialized as {"field": null} instead of being omitted like
Nullable.empty().
3.9.1
(fix): Fix raw client methods to return union types instead of first variant when using response
properties (x-fern-sdk-return-value) with discriminated or undiscriminated unions.
3.9.0
(feat): Add support for README example style configuration via exampleStyle field. When set to “minimal”,
generated README.md files show streamlined code examples with only required parameters, reducing
verbosity for better readability. Defaults to “comprehensive” to maintain backward compatibility.
3.8.12
(fix): Fixed wire test generation for application/x-www-form-urlencoded requests. Wire tests now correctly
validate form-encoded request bodies instead of attempting to parse them as JSON, eliminating
JsonParseException failures in generated test suites.
3.8.11
(fix): Fix Java SDK generator to preserve original environment names for multi-URL environments (e.g., “E2E” instead of “E_2_E”).
Single-URL environments remain unchanged for backward compatibility.
3.8.10
(fix): Fixed inconsistent file placement for resource-based core files. All Java files now use standard
src/main/java/ structure in local generation mode.