Skip to content

Releases: problem4j/problem4j-spring

v3.0.0

08 May 18:21
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

Spring Boot

https://central.sonatype.com/namespace/io.github.problem4j

  1. Maven:
    <dependencies>
        <!-- pick one for your project -->
        <dependency>
            <groupId>io.github.problem4j</groupId>
            <artifactId>problem4j-spring-webflux</artifactId>
            <version>3.0.0</version>
        </dependency>
        <dependency>
            <groupId>io.github.problem4j</groupId>
            <artifactId>problem4j-spring-webmvc</artifactId>
            <version>3.0.0</version>
        </dependency>
    </dependencies>
  2. Gradle (Kotlin DSL):
    dependencies {
        // pick one for  your project
        implementation("io.github.problem4j:problem4j-spring-webflux:3.0.0")
        implementation("io.github.problem4j:problem4j-spring-webmvc:3.0.0")
    }

Added

  • Add HttpStatusTitleResolver - a SPI implementation fo StatusTitleResolver using Spring's HttpStatus.
  • Add problem4j.title-override property to configure title field override in DefaultProblemPostProcessor.
  • Make DefaultProblemPostProcessor support any fields from ProblemContext in value interpolation.
  • Add @FunctionalInterface contract to:
    • MethodParameterSupport,
    • MethodValidationResultSupport,
    • BindingResultSupport,
    • ProblemResolverStore,
    • ProblemPostProcessor,
    • TypeNameMapper,
    • AdviceWebFluxInspector,
    • AdviceWebMvcInspector.

Changed

  • Bump problem4j-core to 2.0.0.
  • Bump problem4j-jackson2 to 2.0.0.
  • Bump problem4j-jackson3 to 2.0.0.
  • Change ProblemResolver to contain just resolve method, returning Problem.
  • Hide IdentityProblemFormat and make it available via ProblemFormat.identity().
  • Hide IdentityProblemPostProcessor and make it available via ProblemPostProcessor.identity().
  • Move ProblemSupport into ViolationSupport to mitigate conflicts with ProblemSupport in problem4j-core.
  • Simple tracing now produces 32-character, lowercase-hex string.

Removed

  • Remove problem4j.resolver-caching.max-cache-size and evicting cache for ProblemResolver-s (non-evicting cache is
    still present).
  • Remove ProblemSupport.resolveStatus(HttpStatusCode).
  • Remove ProblemSupport.resolveStatus(Problem).

v3.0.0-RC1

03 May 21:27
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

v3.0.0-RC1 Pre-release
Pre-release

Spring Boot

https://central.sonatype.com/namespace/io.github.problem4j

  1. Maven:
    <dependencies>
        <!-- pick one for your project -->
        <dependency>
            <groupId>io.github.problem4j</groupId>
            <artifactId>problem4j-spring-webflux</artifactId>
            <version>3.0.0-RC1</version>
        </dependency>
        <dependency>
            <groupId>io.github.problem4j</groupId>
            <artifactId>problem4j-spring-webmvc</artifactId>
            <version>3.0.0-RC1</version>
        </dependency>
    </dependencies>
  2. Gradle (Kotlin DSL):
    dependencies {
        // pick one for  your project
        implementation("io.github.problem4j:problem4j-spring-webflux:3.0.0-RC1")
        implementation("io.github.problem4j:problem4j-spring-webmvc:3.0.0-RC1")
    }

Added

  • Add HttpStatusTitleResolver - a SPI implementation fo StatusTitleResolver using Spring's HttpStatus.
  • Add problem4j.title-override property to configure title field override in DefaultProblemPostProcessor.
  • Make DefaultProblemPostProcessor support any fields from ProblemContext in value interpolation.

Changed

  • Bump problem4j-core to 2.0.0-RC1.
  • Bump problem4j-jackson2 to 2.0.0-RC1.
  • Bump problem4j-jackson3 to 2.0.0-RC1.
  • Change ProblemResolver to contain just resolve method, returning Problem.
  • Hide IdentityProblemFormat and make it available via ProblemFormat.identity().
  • Split ProblemSupport into ViolationSupport and ResponseSupport to separate concerns and mitigate conflicts with ProblemSupport in problem4j-core.

Removed

  • Remove problem4j.resolver-caching.max-cache-size and evicting cache for ProblemResolver-s (non-evicting cache is still present).
  • Remove ProblemSupport.resolveStatus(HttpStatusCode).

v2.2.4

29 Mar 12:45
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

Spring Boot

https://central.sonatype.com/namespace/io.github.problem4j

  1. Maven:
    <dependencies>
        <!-- pick one for your project -->
        <dependency>
            <groupId>io.github.problem4j</groupId>
            <artifactId>problem4j-spring-webflux</artifactId>
            <version>2.2.4</version>
        </dependency>
        <dependency>
            <groupId>io.github.problem4j</groupId>
            <artifactId>problem4j-spring-webmvc</artifactId>
            <version>2.2.4</version>
        </dependency>
    </dependencies>
  2. Gradle (Kotlin DSL):
    dependencies {
        // pick one for  your project
        implementation("io.github.problem4j:problem4j-spring-webflux:2.2.4")
        implementation("io.github.problem4j:problem4j-spring-webmvc:2.2.4")
    }

Fixed

  • Fix formatting of detailFormat for resolving cause exceptions.
  • Drop transitive dependency to kotlin-stdlib (added accidentally by Kotlin plugin, used in tests only).

v1.2.9

29 Mar 12:43
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

Spring Boot

https://central.sonatype.com/namespace/io.github.problem4j

  1. Maven:
    <dependencies>
        <!-- pick one for your project -->
        <dependency>
            <groupId>io.github.problem4j</groupId>
            <artifactId>problem4j-spring-webflux</artifactId>
            <version>1.2.9</version>
        </dependency>
        <dependency>
            <groupId>io.github.problem4j</groupId>
            <artifactId>problem4j-spring-webmvc</artifactId>
            <version>1.2.9</version>
        </dependency>
    </dependencies>
  2. Gradle (Kotlin DSL):
    dependencies {
        // pick one for  your project
        implementation("io.github.problem4j:problem4j-spring-webflux:1.2.9")
        implementation("io.github.problem4j:problem4j-spring-webmvc:1.2.9")
    }

Fixed

  • Fix formatting of detailFormat for resolving cause exceptions.

v2.2.3

26 Mar 21:39
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

Spring Boot

https://central.sonatype.com/namespace/io.github.problem4j

  1. Maven:
    <dependencies>
        <!-- pick one for your project -->
        <dependency>
            <groupId>io.github.problem4j</groupId>
            <artifactId>problem4j-spring-webflux</artifactId>
            <version>2.2.3</version>
        </dependency>
        <dependency>
            <groupId>io.github.problem4j</groupId>
            <artifactId>problem4j-spring-webmvc</artifactId>
            <version>2.2.3</version>
        </dependency>
    </dependencies>
  2. Gradle (Kotlin DSL):
    dependencies {
        // pick one for  your project
        implementation("io.github.problem4j:problem4j-spring-webflux:2.2.3")
        implementation("io.github.problem4j:problem4j-spring-webmvc:2.2.3")
    }

Fixed

  • Fix detail about enum deserialization errors to correctly say "enum" instead of "string".

v1.2.8

26 Mar 21:38
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

Spring Boot

https://central.sonatype.com/namespace/io.github.problem4j

  1. Maven:
    <dependencies>
        <!-- pick one for your project -->
        <dependency>
            <groupId>io.github.problem4j</groupId>
            <artifactId>problem4j-spring-webflux</artifactId>
            <version>1.2.8</version>
        </dependency>
        <dependency>
            <groupId>io.github.problem4j</groupId>
            <artifactId>problem4j-spring-webmvc</artifactId>
            <version>1.2.8</version>
        </dependency>
    </dependencies>
  2. Gradle (Kotlin DSL):
    dependencies {
        // pick one for  your project
        implementation("io.github.problem4j:problem4j-spring-webflux:1.2.8")
        implementation("io.github.problem4j:problem4j-spring-webmvc:1.2.8")
    }

Fixed

  • Fix detail about enum deserialization errors to correctly say "enum" instead of "string".

v2.2.2

16 Mar 00:03
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

Spring Boot

https://central.sonatype.com/namespace/io.github.problem4j

  1. Maven:
    <dependencies>
        <!-- pick one for your project -->
        <dependency>
            <groupId>io.github.problem4j</groupId>
            <artifactId>problem4j-spring-webflux</artifactId>
            <version>2.2.2</version>
        </dependency>
        <dependency>
            <groupId>io.github.problem4j</groupId>
            <artifactId>problem4j-spring-webmvc</artifactId>
            <version>2.2.2</version>
        </dependency>
    </dependencies>
  2. Gradle (Kotlin DSL):
    dependencies {
        // pick one for  your project
        implementation("io.github.problem4j:problem4j-spring-webflux:2.2.2")
        implementation("io.github.problem4j:problem4j-spring-webmvc:2.2.2")
    }

Changed

  • Deprecate ProblemSupport.resolveProblem.
  • Bump problem4j-core to 1.4.3.
  • Bump problem4j-jackson2 to 1.4.3.
  • Bump problem4j-jackson3 to 1.4.3.

Fixed

  • Fix missing details about primitive types deserialization errors. It will include "detail": "Type mismatch" with "property" and "kind" extensions containing type property and its expected type. This also include kotlin non-null fields.
  • Document configuration properties via JavaDocs and hints in additional-spring-configuration-metadata.json for annotation processor to generate an improved.

v1.2.7

16 Mar 00:00
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

Spring Boot

https://central.sonatype.com/namespace/io.github.problem4j

  1. Maven:
    <dependencies>
        <!-- pick one for your project -->
        <dependency>
            <groupId>io.github.problem4j</groupId>
            <artifactId>problem4j-spring-webflux</artifactId>
            <version>1.2.7</version>
        </dependency>
        <dependency>
            <groupId>io.github.problem4j</groupId>
            <artifactId>problem4j-spring-webmvc</artifactId>
            <version>1.2.7</version>
        </dependency>
    </dependencies>
  2. Gradle (Kotlin DSL):
    dependencies {
        // pick one for  your project
        implementation("io.github.problem4j:problem4j-spring-webflux:1.2.7")
        implementation("io.github.problem4j:problem4j-spring-webmvc:1.2.7")
    }

Changed

  • Deprecate ProblemSupport.resolveProblem.
  • Bump problem4j-core to 1.4.3.
  • Bump problem4j-jackson2 to 1.4.3.

Fixed

  • Fix missing details about primitive types deserialization errors. It will include "detail": "Type mismatch" with "property" and "kind" extensions containing type property and its expected type.
  • Document configuration properties via JavaDocs and hints in additional-spring-configuration-metadata.json for annotation processor to generate an improved.

v2.2.1

26 Feb 20:02
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

Spring Boot

https://central.sonatype.com/namespace/io.github.problem4j

  1. Maven:
    <dependencies>
        <!-- pick one for your project -->
        <dependency>
            <groupId>io.github.problem4j</groupId>
            <artifactId>problem4j-spring-webflux</artifactId>
            <version>2.2.1</version>
        </dependency>
        <dependency>
            <groupId>io.github.problem4j</groupId>
            <artifactId>problem4j-spring-webmvc</artifactId>
            <version>2.2.1</version>
        </dependency>
    </dependencies>
  2. Gradle (Kotlin DSL):
    dependencies {
        // pick one for  your project
        implementation("io.github.problem4j:problem4j-spring-webflux:2.2.1")
        implementation("io.github.problem4j:problem4j-spring-webmvc:2.2.1")
    }

Changed

  • Bump problem4j-core to 1.4.2.
  • Bump problem4j-jackson2 to 1.4.2.
  • Bump problem4j-jackson3 to 1.4.2.

v1.2.6

26 Feb 19:56
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

Spring Boot

https://central.sonatype.com/namespace/io.github.problem4j

  1. Maven:
    <dependencies>
        <!-- pick one for your project -->
        <dependency>
            <groupId>io.github.problem4j</groupId>
            <artifactId>problem4j-spring-webflux</artifactId>
            <version>1.2.6</version>
        </dependency>
        <dependency>
            <groupId>io.github.problem4j</groupId>
            <artifactId>problem4j-spring-webmvc</artifactId>
            <version>1.2.6</version>
        </dependency>
    </dependencies>
  2. Gradle (Kotlin DSL):
    dependencies {
        // pick one for  your project
        implementation("io.github.problem4j:problem4j-spring-webflux:1.2.6")
        implementation("io.github.problem4j:problem4j-spring-webmvc:1.2.6")
    }

Changed

  • Bump problem4j-core to 1.4.2.
  • Bump problem4j-jackson2 to 1.4.2.