Version 0.15

belgif-rest-problem:

  • Align MismatchedInputException detail message with Bean Validation

  • Fix input path for MismatchedInputException on array properties

belgif-rest-problem-quarkus:

  • Add experimental support for Quarkus in native mode

Version 0.14

belgif-rest-problem:

  • Map Jackson MismatchedInputException (for missing required properties on request body) to BadRequestProblem

Version 0.13

belgif-rest-problem-spring:

  • Extract ProblemResponseErrorHandler and ProblemRestTemplateCustomizer to belgif-rest-problem-spring-boot-2 and belgif-rest-problem-spring-boot-3 to fix NoSuchMethodError compatibility issue

Version 0.12

belgif-rest-problem:

  • Add internationalization support for localized detail messages based on Accept-Language HTTP request header

  • Don’t include null (issue) input values when serializing

  • Replace urn:problem-type:cbss:input-validation:referencedResourceNotFound by standardized urn:problem-type:belgif:input-validation:referencedResourceNotFound

  • Add fluent setter methods:

    • Problem: detail, href, instance, additionalProperties

    • InputValidationProblem: issues

    • RetryAfterProblem: retryAfter, retryAfterSec

  • Improve WWW-Authenticate header for token-related problem types:

    • Support setting the "realm" attribute

    • Add "error_description" and "scope" attributes for missing_scope

belgif-rest-problem-spring:

  • Fix compatibility issue with Spring Boot 3.4

belgif-rest-problem-quarkus:

  • New module for Quarkus support (only in JVM mode)

belgif-rest-problem-bom:

  • Added jakarta classifier artifacts

Version 0.11

belgif-rest-problem:

  • Add in(Input<?>) to InputValidationIssue for a fluent single input setter

belgif-rest-problem-spring:

  • Fix non-deterministic configuration for retrieving parameter names from Spring MVC annotations

Version 0.10

belgif-rest-problem:

  • Remove @ApplicationException annotation on Problem, because it could potentially cause compilation errors when used in combination with annotation processors

  • Disallow creation of InputValidationIssue with inputs[] of size 1

    Potentially breaking:

    • removed InputValidationIssue.setInputs(List<Input<?>> inputs)

    • removed InputValidationIssue.setInputs(Input<?>…​ inputs)

    • removed InputValidationIssue.input(Input<?> input)

belgif-rest-problem-java-ee:

  • Add EJBExceptionMapper that unwraps Problem cause, to address the removed @ApplicationException annotation

belgif-rest-problem-spring:

Version 0.9

belgif-rest-problem-bom:

  • Added Maven BOM (Bill of Materials) for dependency versions of belgif-rest-problem modules

belgif-rest-problem:

belgif-rest-problem-java-ee:

  • Ensure ProblemClientResponseFilter gets registered for JAX-RS clients

Version 0.8

belgif-rest-problem-spring:

  • Map HttpRequestMethodNotSupportedException to HTTP 405 "Method Not Allowed" + Allow HTTP header

  • Map HttpMediaTypeNotAcceptableException to HTTP 406 "Not Acceptable"

  • Map HttpMediaTypeNotSupportedException to HTTP 415 "Unsupported Media Type"

  • Sanitize BadRequestProblem detail message for HttpMessageNotReadableException

Version 0.7

belgif-rest-problem-validator:

  • Make RequestValidator extensible by introducing AbstractRequestValidator base class

belgif-rest-problem-spring:

  • Extract ProblemWebClientCustomizer to belgif-rest-problem-spring-boot-2 and belgif-rest-problem-spring-boot-3 to fix NoSuchMethodError compatibility issue

  • Add AnnotationParameterNameDiscoverer to retrieve parameter names from Spring MVC annotations for bean validation

belgif-rest-problem-java-ee:

  • Add JaxRsParameterNameProvider to retrieve parameter names from JAX-RS annotations for bean validation

Version 0.6

belgif-rest-problem-validator:

  • Fix validation for "overflow" SSINs

belgif-rest-problem-spring:

  • Make RestControllerAdvice components @ConditionalOnWebApplication

Version 0.5

belgif-rest-problem-spring:

Split into belgif-rest-problem-spring-boot-2 and belgif-rest-problem-spring-boot-3. To benefit from Spring Boot 2.x or 3.x specific features, replace dependencies to belgif-rest-problem-spring by the version-specific variant.

belgif-rest-problem-spring-boot-3:

  • Map NoResourceFoundException to 404 urn:problem-type:belgif:resourceNotFound

  • Added support for RestClient API

Version 0.4

belgif-rest-problem:

  • Removed deprecated InvalidParamProblem: use InputValidationProblem, which supports both the legacy invalidParams[] and the new issues[] structure

  • Replace specific urn:problem-type:cbss:input-validation:unknownSsin issue type by generic urn:problem-type:cbss:input-validation:referencedResourceNotFound

  • Added optional replacedByHref property to replacedSsin issue type

belgif-rest-problem-validator:

  • Added requireIfPresent check for validating input(s) that must be present when a given target input is present

Version 0.3

belgif-rest-problem:

  • Removed deprecated "status" and "instance" properties from InputValidationIssue

belgif-rest-problem-spring:

  • Added support for bean validation

  • Added Jakarta EE 9/10 support: use <classifier>jakarta</classifier>

Version 0.2

belgif-rest-problem:

  • Extracted RequestValidator to separate belgif-rest-problem-validator module.

  • Added equals() and hashCode() to all Problem classes

  • Move additionalProperties from DefaultProblem to Problem

belgif-rest-problem-java-ee:

  • Added Jakarta EE 9/10 support: use <classifier>jakarta</classifier>

belgif-rest-problem-spring:

  • Remove be.fgov.kszbcss from default scanned problem type packages

  • Rename io.github.belgif.rest.problem.spring.scan-additional-problem-packages configuration property to io.github.belgif.rest.problem.scan-additional-problem-packages

documentation:

Version 0.1

Initial release under Belgif organization.