Skip to content

Releases: tguzik/valueclasses

v2.0.2

04 Apr 11:53
Immutable release. Only release title and notes can be modified.
v2.0.2
7b5e03d

Choose a tag to compare

[v2.0.2] - 2026-04-04

Dependencies:

  • Bump com.github.spotbugs:spotbugs-maven-plugin from 4.9.8.2 to 4.9.8.3 (#190)
  • Bump Jackson to from 3.1.0 to 3.1.1 (#189)
  • (gha) Bump softprops/action-gh-release from 2.5.0 to 2.6.1 (#188)
  • (test) Bump com.sun.xml.bind:jaxb-impl from 4.0.6 to 4.0.7 (#187)
  • (test) Bump net.javacrumbs.json-unit:json-unit-assertj from 5.1.0 to 5.1.1 (#186)
  • Bump org.mockito:mockito-core from 5.22.0 to 5.23.0 (#184)
  • Bump org.mockito:mockito-core from 5.21.0 to 5.22.0 (#183)
  • (test) Bump tools.jackson.core:jackson-databind from 3.0.4 to 3.1.0 (#180)
  • (test) Bump tools.jackson.core:jackson-core from 3.0.4 to 3.1.0 in the maven group across 1 directory (#179)
  • Bump org.junit.jupiter:junit-jupiter from 6.0.2 to 6.0.3 (#178)
  • Bump org.apache.maven.plugins:maven-surefire-plugin from 3.5.4 to 3.5.5 (#177)
  • Bump jakarta.xml.bind:jakarta.xml.bind-api from 4.0.4 to 4.0.5 (#176)
  • Bump org.apache.maven.plugins:maven-compiler-plugin from 3.14.1 to 3.15.0 (#175)
  • (test) Bump org.codehaus.mojo:versions-maven-plugin from 2.20.1 to 2.21.0 (#171)
  • (test) Bump tools.jackson.core:jackson-core from 3.0.3 to 3.0.4 (#174)
  • (test) Bump tools.jackson.core:jackson-databind from 3.0.3 to 3.0.4 (#173)
  • (test) Bump com.fasterxml.jackson.core:jackson-annotations from 2.20 to 2.21 (#172)
  • (deps-dev) Bump the maven group across 2 directories with 1 update (#170)

Maintenance:

  • Adjust GHA workflow permissions (#182)
  • Add JDK25 to CI matrix, pin Actions to specific commits (#181)

Other:

  • [maven-release-plugin] prepare release v2.0.2
  • [maven-release-plugin] prepare for next development iteration

v2.0.1

18 Jan 13:22
Immutable release. Only release title and notes can be modified.
v2.0.1
2a35e68

Choose a tag to compare

[v2.0.1] - 2026-01-18

Dependencies:

  • Bump org.sonatype.central:central-publishing-maven-plugin from 0.9.0 to 0.10.0 (#165)
  • Bump org.junit.jupiter:junit-jupiter from 6.0.1 to 6.0.2 (#166)
  • Bump org.apache.maven.plugins:maven-release-plugin from 3.3.0 to 3.3.1 (#164)
  • Bump org.mockito:mockito-core from 5.20.0 to 5.21.0 (#163)
  • (test) Bump tools.jackson.core:jackson-databind from 3.0.2 to 3.0.3 (#162)
  • (test) Bump tools.jackson.core:jackson-core from 3.0.2 to 3.0.3 (#159)
  • Bump org.apache.maven.plugins:maven-release-plugin from 3.1.1 to 3.3.0 (#158)
  • Bump org.codehaus.mojo:versions-maven-plugin from 2.19.1 to 2.20.1 (#157)
  • Bump com.github.spotbugs:spotbugs-maven-plugin from 4.9.8.1 to 4.9.8.2 (#156)
  • Bump org.apache.maven.plugins:maven-source-plugin from 3.3.1 to 3.4.0 (#155)
  • (gha) Bump actions/checkout from 5 to 6 (#160)

Maintenance:

  • Fine-tune changelog generation workflow (#169)
  • Automate changelog generation (#168)
  • Lint Nix files in pre-commit hooks (#167)
  • Sign release tags (#161)

Other:

  • [maven-release-plugin] prepare release v2.0.1
  • [maven-release-plugin] prepare for next development iteration

v2.0.0

19 Nov 00:39
Immutable release. Only release title and notes can be modified.
bb82c3c

Choose a tag to compare

Breaking changes

The previous version of this library (1.0.2) has been released over 8 years ago, so there's a number of changes to adapt to the current ecosystem landscape:

  • The library now requires JDK 17 for consumption, up from JDK 1.7 in the 1.x line
  • Following non-core, auxiliary classes have been moved to a separate artifact (com.tguzik:valueclasses-legacy):
    • c.t.o.MultilineNoAddressStyle
    • c.t.t.Loader
    • c.t.t.Normalize
    • c.t.t.SettableHashCode
    • c.t.v.MutableValue
    • c.t.v.a.JaxbStringValueAdapter (continues to rely on the javax.xml.* namespace)
    • c.t.v.a.JaxbValueAdapter (continues to rely on the javax.xml.* namespace)
    • The functionality of these classes has been preserved, so applications relying on them can simply include the com.tguzik:valueclasses-legacy dependency
  • The c.t.o.BaseObject class no longer exposes the MULTILINE_NO_ADDRESS_STYLE constant
  • The commons-lang3 has been updated from version 3.9 to 3.20, which has changed the order of fields in output of the reflection-based c.t.o.BaseObject#toString()

Changes

  • Significantly improved support for valueclasses backed by Java Records, which is now the preferred style. The changes include, but are not limited to:
    • Added interface c.t.t.HasStringValue that provides several convenience methods, and can be implemented by valueclasses backed both by Java Records and regular Java classes
    • The generic arguments in JaxB adapters have been relaxed to require implementing interface HasValue<> instead of inheriting from classes Value<> and/or StringValue, opening them up to be used with Java Records
  • The library now uses JSpecify annotations to mark nullable arguments
  • The com.tguzik:valueclasses-legacy artifact now offers JakartaJaxbValueAdapter<> that relies on the jakarta.xml.* namespace
  • The footprint and the number of dependencies required to consume this library have been reduced

Full Changelog: valueclasses-1.0.2...v2.0.0