# September 9, 2025

## 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.