Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion fern/products/sdks/overview/java/changelog/2025-05-20.mdx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
## 2.36.3
**`(fix):`** Updates the generator to always commit changes, even if there are none, in self-hosted mode. This
**`(fix):`** Updates the generator to always commit changes, even if there are none, in self-hosted mode. This
allows users to make sure that the generator actually ran and attempted to make a commit.


4 changes: 2 additions & 2 deletions fern/products/sdks/overview/java/changelog/2025-06-23.mdx
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
## 2.38.1
**`(fix):`** Fix JavaDoc generation to properly escape dollar signs ($) when using JavaPoet.

When generating JavaDoc comments with JavaPoet, dollar signs need to be escaped as `$$` to prevent
JavaPoet from interpreting them as template variables. This ensures that dollar signs in documentation
When generating JavaDoc comments with JavaPoet, dollar signs need to be escaped as `$$` to prevent
JavaPoet from interpreting them as template variables. This ensures that dollar signs in documentation
are rendered correctly in the final generated code.


Expand Down
6 changes: 3 additions & 3 deletions fern/products/sdks/overview/java/changelog/2025-07-24.mdx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
## 2.39.0
**`(feat):`** Enable builder extensibility for generated SDK clients. Builders are no longer marked as final, allowing users to extend them
and customize client behavior. Added protected buildClientOptions() method for customization hooks and static from() method
to ClientOptions.Builder for copying existing configurations. This enables use cases like environment variable expansion
**`(feat):`** Enable builder extensibility for generated SDK clients. Builders are no longer marked as final, allowing users to extend them
and customize client behavior. Added protected buildClientOptions() method for customization hooks and static from() method
to ClientOptions.Builder for copying existing configurations. This enables use cases like environment variable expansion
in URLs and custom authentication methods.


2 changes: 1 addition & 1 deletion fern/products/sdks/overview/java/changelog/2025-07-25.mdx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
## 2.39.1
**`(fix):`** Refactor builder extension pattern to use Template Method with dynamic generation. Configuration methods
**`(fix):`** Refactor builder extension pattern to use Template Method with dynamic generation. Configuration methods
are only generated based on API spec (auth, headers, variables). All methods are protected for override.


4 changes: 2 additions & 2 deletions fern/products/sdks/overview/java/changelog/2025-08-05.mdx
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
## 2.39.6
**`(feat):`** Add opt-in extensible builder pattern via `enable-extensible-builders` flag. When enabled, builders use the self-type
**`(feat):`** Add opt-in extensible builder pattern via `enable-extensible-builders` flag. When enabled, builders use the self-type
pattern allowing users to extend generated builders while maintaining type safety. Example:

```java
class CustomBuilder extends BaseClientBuilder<CustomBuilder> {
@Override
protected CustomBuilder self() { return this; }

public CustomBuilder workspaceId(String id) {
// custom logic
return this;
Expand Down
4 changes: 2 additions & 2 deletions fern/products/sdks/overview/java/changelog/2025-08-13.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## 2.40.0
**`(feat):`** Add support for client-side default parameter values via `use-default-request-parameter-values` flag.
When enabled, query and header parameters with defaults become Optional types and defaults are automatically
**`(feat):`** Add support for client-side default parameter values via `use-default-request-parameter-values` flag.
When enabled, query and header parameters with defaults become Optional types and defaults are automatically
applied when not provided. Example:

```yaml
Expand Down
2 changes: 1 addition & 1 deletion fern/products/sdks/overview/java/changelog/2025-08-27.mdx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
## 2.42.1
**`(fix):`** Fix nullable fields incorrectly requiring non-null values in staged builders when
**`(fix):`** Fix nullable fields incorrectly requiring non-null values in staged builders when
use-nullable-annotation is enabled.


10 changes: 5 additions & 5 deletions fern/products/sdks/overview/java/changelog/2025-09-09.mdx
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
## 3.0.0
**`(break):`** The SDK generator now defaults to forward-compatible enums, providing resilience against new enum variants
**`(break):`** The SDK generator now defaults to forward-compatible enums, providing resilience against new enum variants
added on the backend. This is a breaking change that affects the structure of generated enum types.

To revert to the previous behavior with traditional Java enums, add the following configuration to your
To revert to the previous behavior with traditional Java enums, add the following configuration to your
`generators.yml` file:
```yaml
generators:
Expand All @@ -12,14 +12,14 @@ generators:
```


**`(feat):`** Forward-compatible enums are now enabled by default. Generated SDKs will no longer throw errors when
encountering unknown enum variants, instead handling them gracefully with an UNKNOWN value. This is
**`(feat):`** Forward-compatible enums are now enabled by default. Generated SDKs will no longer throw errors when
encountering unknown enum variants, instead handling them gracefully with an UNKNOWN value. This is
particularly important for:
- Mobile applications that cannot be easily updated
- Maintaining backward compatibility when backend adds new enum values
- Arrays of enum values where new variants previously caused client failures

With forward-compatible enums, the generated code changes from traditional Java enums to class-based
With forward-compatible enums, the generated code changes from traditional Java enums to class-based
enums that support unknown values through a visitor pattern.


2 changes: 1 addition & 1 deletion fern/products/sdks/overview/java/changelog/2025-09-15.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@


## 3.3.0
**`(feat):`** Wire tests now automatically configure authentication based on the API's auth scheme (Bearer, Basic, Header/Custom,
**`(feat):`** Wire tests now automatically configure authentication based on the API's auth scheme (Bearer, Basic, Header/Custom,
OAuth, or Inferred) instead of using hardcoded tokens. Real authentication values are extracted from IR examples
when available, making tests more accurate and maintainable.

Expand Down
2 changes: 1 addition & 1 deletion fern/products/sdks/overview/java/changelog/2025-09-17.mdx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
## 3.5.3
**`(fix):`** Fixes an issue where the generated usage snippets in the README.md was not prioritizing
**`(fix):`** Fixes an issue where the generated usage snippets in the README.md was not prioritizing
user defined example values over autogenerated example values.


Expand Down
4 changes: 4 additions & 0 deletions fern/products/sdks/overview/java/changelog/2025-10-27.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
## 3.9.3
**`(fix):`** Retries now check `Retry-After` and `X-RateLimit-Reset` before defaulting to exponential backoff.