Skip to content

Releases: BitWeb/java-core-lib

v5.1.0

Choose a tag to compare

@rammrain rammrain released this 28 Jul 12:04
1b1ea8f

Compatibility release for Spring Boot 4.1 / Spring AMQP 4.1.

Highlights

  • Raises the baseline from Spring Boot 4.0.6 → 4.1.0 (Spring Framework 7.0.7 → 7.0.8)
  • Fixes a context-load failure on Boot 4.1 caused by the relocation of Spring AMQP's ConditionalRejectingErrorHandler (#112)

Fixed

  • AMQP autoconfig on Spring Boot 4.1 — Spring AMQP 4.1 moved ConditionalRejectingErrorHandler and FatalExceptionStrategy from org.springframework.amqp.rabbit.listener to org.springframework.amqp.listener, and the old nested DefaultExceptionStrategy no longer resolves. spring-core built against the old coordinates threw NoClassDefFoundError at context load. Imports now target the new package. (#112)
  • FieldNameResolver — migrated off the hibernate-validator internal NodeImpl / PathImpl / ConstraintViolationImpl types (removed in hibernate-validator 9.1.0, pulled in by Boot 4.1.0) to the public jakarta.validation.Path / Path.Node API. Behavior is unchanged.

Breaking Changes

  • Requires Spring Boot 4.1+. The relocated Spring AMQP package (org.springframework.amqp.listener) does not exist in Spring AMQP 4.0.x, so this release no longer supports Spring Boot 4.0.x. Applications on Boot 4.0.x must stay on spring-core 5.0.0 or upgrade Boot to 4.1.

Dependency Upgrades

Dependency v5.0.0 v5.1.0
Spring Boot 4.0.6 4.1.0
Spring Framework 7.0.7 7.0.8
Spring AMQP 4.0.x 4.1.0

Upgrade note: If your application overrides the AMQP error handler and imports ConditionalRejectingErrorHandler or FatalExceptionStrategy directly, update those imports from org.springframework.amqp.rabbit.listener to org.springframework.amqp.listener.

v5.0.0

Choose a tag to compare

@rammrain rammrain released this 20 Apr 19:42
04f7a33

v5.0.0

Major release upgrading to Spring Boot 4, Spring Framework 7, and Jackson 3.

Highlights

  • Spring Boot 3.5.0 → 4 / Spring Framework 6.2.7 → 7
  • Jackson 2.x → 3.x (tools.jackson package) as primary, with Jackson 2.x retained for Retrofit compatibility
  • OkHttp 4.x → 5.x, Tomcat 10.x → 11.x, Testcontainers 1.x → 2.x
  • Java module name (ee.bitweb.core) added to JAR manifest
  • CI now tests on Java 17, 21, and 25

Breaking Changes

  • Jackson 3 package rename: All internal Jackson usage moved from com.fasterxml.jackson to tools.jackson. Applications directly referencing library Jackson types must update imports.
  • InvalidFormatValidationException now extends RuntimeException instead of InvalidFormatException
  • MDCTaskDecorator removed — use BasicMDCTaskDecorator or SecurityAwareMDCTaskDecorator
  • TrimmedStringDeserializer.addToObjectMapper() removed — use createModule() instead
  • persistenceException log-level property removed — use entityNotFoundException and conflictException separately
  • AMQP: Jackson2JsonMessageConverter replaced by JacksonJsonMessageConverter (Jackson 3)
  • Actuator/Security import paths changed (Spring Boot 4 package reorganization)
  • Test: AutoConfigureMockMvc moved to org.springframework.boot.webmvc.test.autoconfigure
  • ObjectMapper config refactored: Now uses JsonMapperBuilderCustomizer for Jackson 3 and a nested customizer for Jackson 2

New

  • Jackson2TrimmedStringDeserializer — Jackson 2 string trimming for Retrofit compatibility
  • StringUtil.trim() utility method
  • Dual Jackson auto-configuration (Jackson 2 + Jackson 3 configured identically)

Removed

  • MDCTaskDecorator (deprecated since 3.3.0)
  • persistenceException log-level property (deprecated since 3.1.0)
  • OWASP dependency-check Gradle plugin
  • Spring version matrix CI workflow

Full migration guide: Wiki

v5.0.0-RC1

v5.0.0-RC1 Pre-release
Pre-release

Choose a tag to compare

@rammrain rammrain released this 18 Mar 06:31

v5.0.0-RC1

Major release upgrading to Spring Boot 4.0.0, Spring Framework 7.0.0, and Jackson 3.0.x.

Highlights

  • Spring Boot 3.5.0 → 4.0.0 / Spring Framework 6.2.7 → 7.0.0
  • Jackson 2.x → 3.x (tools.jackson package) as primary, with Jackson 2.x retained for Retrofit compatibility
  • OkHttp 4.x → 5.x, Tomcat 10.x → 11.x, Testcontainers 1.x → 2.x
  • Java module name (ee.bitweb.core) added to JAR manifest
  • CI now tests on Java 17, 21, and 25

Breaking Changes

  • Jackson 3 package rename: All internal Jackson usage moved from com.fasterxml.jackson to tools.jackson. Applications directly referencing library Jackson types must update imports.
  • InvalidFormatValidationException now extends RuntimeException instead of InvalidFormatException
  • MDCTaskDecorator removed — use BasicMDCTaskDecorator or SecurityAwareMDCTaskDecorator
  • TrimmedStringDeserializer.addToObjectMapper() removed — use createModule() instead
  • persistenceException log-level property removed — use entityNotFoundException and conflictException separately
  • AMQP: Jackson2JsonMessageConverter replaced by JacksonJsonMessageConverter (Jackson 3)
  • Actuator/Security import paths changed (Spring Boot 4 package reorganization)
  • Test: AutoConfigureMockMvc moved to org.springframework.boot.webmvc.test.autoconfigure
  • ObjectMapper config refactored: Now uses JsonMapperBuilderCustomizer for Jackson 3 and a nested customizer for Jackson 2

New

  • Jackson2TrimmedStringDeserializer — Jackson 2 string trimming for Retrofit compatibility
  • StringUtil.trim() utility method
  • Dual Jackson auto-configuration (Jackson 2 + Jackson 3 configured identically)

Removed

  • MDCTaskDecorator (deprecated since 3.3.0)
  • persistenceException log-level property (deprecated since 3.1.0)
  • OWASP dependency-check Gradle plugin
  • Spring version matrix CI workflow

Full migration guide: Wiki

v4.0.5

Choose a tag to compare

@rammrain rammrain released this 19 Jan 08:38
522dbcd

What's Changed

Full Changelog: v4.0.4...v4.0.5

v4.0.4

Choose a tag to compare

@rammrain rammrain released this 30 Sep 17:26
395c91c

What's Changed

  • Fix StringIndexOutOfBoundsException in retrofit logger request body truncation by @oktaeri in #61

New Contributors

Full Changelog: v4.0.3...v4.0.4

v4.0.3

Choose a tag to compare

@rammrain rammrain released this 29 Jul 12:48

What's Changed

Full Changelog: v4.0.2...v4.0.3

v4.0.2

Choose a tag to compare

@rammrain rammrain released this 17 Jun 06:35
44a041d

What's Changed

  • Retrofit response body mapper fix by @ennoeller in #44
  • Run tests with every supported Spring Boot version by @rammrain in #51
  • Convert suppressed headers to lowercase before comparing by @rammrain in #53

Full Changelog: v4.0.1...v4.0.2

v4.0.1

Choose a tag to compare

@Jorich Jorich released this 26 Mar 08:43

What's Changed

Full Changelog: v4.0.0...v4.0.1

4.0.0

Choose a tag to compare

@Jorich Jorich released this 05 Nov 11:09
29fb286

What's Changed

Breaking changes:

  • Logs are written to a single log entry now. Data from mappers is mostly added to MDC. The new log message looks as follows for every log level: GET https://localhost:3000/api?data=true&test 404 1024bytes 14ms
  • RetrofitApiBuilder.create added a third argument, RetrofitLoggingInterceptor. Builder methods loggingLevel and suppressedHeaders have been removed.

New Contributors

Full Changelog: v3.4.0...v4.0.0

v3.4.0

Choose a tag to compare

@rammrain rammrain released this 05 Sep 06:55
71593d3

What's Changed

  • Constraint validator field improvement by @sohlo in #26

New Contributors

  • @sohlo made their first contribution in #26

Full Changelog: v3.3.0...v3.4.0