Skip to content

0.3.0

Choose a tag to compare

@jwcarman jwcarman released this 24 Aug 13:49
· 196 commits to main since this release

Breaking changes

Unused dependencies were removed from the published compile surface. The parent pom declared slf4j-api in <dependencies>, so it landed on every artifact including codec-bom. codec-core additionally carried spring-boot-autoconfigure, left over from before auto-configuration moved into codec-autoconfigure.

Neither was used: nothing in the codebase logs, and codec-core has no Spring imports.

codec-core now publishes with zero transitive dependencies.

If your build was relying on either of these arriving transitively through Codec, declare it directly:

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>2.0.17</version>
</dependency>

Nothing in Codec's own API changed. This affects only what lands on your classpath.

Changed

  • codec-jackson2 declares jackson-core explicitly rather than inheriting it transitively from jackson-databind.
  • codec-autoconfigure declares spring-context and spring-beans, which it compiles against, plus the four engine jars it references for @ConditionalOnClass as optional dependencies. It previously relied on transitives of optional dependencies.
  • protobuf.version moved to the parent pom alongside every other version property.

Added

  • CI-only dependency hygiene gates in the ci profile: dependency:analyze-only with failOnWarning, and maven-enforcer-plugin with dependencyConvergence, requireUpperBoundDeps, banDuplicatePomDependencyVersions, and banDynamicVersions. The default build is unaffected, so contributors do not hit these locally.

Requirements

  • Spring Boot 4.1.1 (from 4.0.5)
  • protobuf-java 4.36.0 (from 4.35.0)

Documentation

  • MkDocs Material documentation site deployed to GitHub Pages, linked from the README.