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:

1generators:
2 - name: fernapi/fern-java-sdk
3 config:
4 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.