diff --git a/fern/products/sdks/overview/java/changelog/2025-09-09.mdx b/fern/products/sdks/overview/java/changelog/2025-09-09.mdx new file mode 100644 index 000000000..9b8ac3f59 --- /dev/null +++ b/fern/products/sdks/overview/java/changelog/2025-09-09.mdx @@ -0,0 +1,25 @@ +## 3.0.0 +**`(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 +`generators.yml` file: +```yaml +generators: + - name: fernapi/fern-java-sdk + config: + enable-forward-compatible-enums: false +``` + + +**`(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 +enums that support unknown values through a visitor pattern. + +