Skip to content

v1.1.1

Choose a tag to compare

@rmkonnur rmkonnur released this 23 Jan 22:49
· 14 commits to main since this release
11e03d8

Note all changes are improvements to the Java SDK usage. No changes to the API or the API schema are included in this version.

  • feat: We now provide endpoint methods for streaming byte array requests in addition to the previous methods accepting
    byte array directly.

  • chore: Bump Jackson version to latest (2.17.2)

  • feat: We no longer enforce non-null constraints for Object type properties in builders.

  • break: The SDK generator is now on major version 2. To take this upgrade without any breaks, please add the below
    configuration to your generators.yml file:

    generators:
      - name: fernapi/fern-java-sdk
        config:
          disable-required-property-builder-checks: true
  • feat: Generated builder methods now enforce non-null checks for required fields, ensuring that all required
    fields are properly validated during object construction:

    @java.lang.Override
    @JsonSetter("name")
    public NameStage name(@NotNull String name) {
        this.name = Objects.requireNonNull(name, "name must not be null");
        return this;
    }
  • chore: Bump Jackson version to latest (2.17.2)

  • feat: Public constructors can now be generated for all model types:

    generators:
      - name: fernapi/fern-java-sdk
        config:
          enable-public-constructors: true # default false
  • 5 additional updates, see more
  • fix: Fixed a bug where optional collections are not handled properly in paginated responses.

  • fix: Fixed a bug where local generation custom config doesn't pick up some values, including exception naming.

  • fix: Fixed a bug where OkHttp responses could be closed prematurely.

  • feat: Generated builder methods for optional fields can now accept null directly.

  • feat: The generator now adds a class-level @JsonInclude(JsonInclude.Include.NON_ABSENT) annotation to
    each generated type in place of the previous @JsonInclude(JsonInclude.Include.NON_EMPTY) by default. This is
    configurable in the generators.yml file:

    generators:
      - name: fernapi/fern-java-sdk
        config:
          json-include: non-empty # default non-absent