Skip to content

v3.0.0

Latest

Choose a tag to compare

@damianmalczewski damianmalczewski released this 08 May 18:21
· 12 commits to main since this release
Immutable release. Only release title and notes can be modified.

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