Skip to content

Upgrade joda-time 2.10.13 → 2.14.0 - #197

Open
devin-ai-integration[bot] wants to merge 1 commit into
mainfrom
devin/1785171604-upgrade-joda-time-2.14.0
Open

Upgrade joda-time 2.10.13 → 2.14.0#197
devin-ai-integration[bot] wants to merge 1 commit into
mainfrom
devin/1785171604-upgrade-joda-time-2.14.0

Conversation

@devin-ai-integration

Copy link
Copy Markdown

Summary

Version-only bump of joda-time to the latest stable 2.x. No Joda → java.time migration (explicitly out of scope).

Coordinate diff

 // build.gradle
-implementation 'joda-time:joda-time:2.10.13'
+implementation 'joda-time:joda-time:2.14.0'

Also updated the stale version reference in .agents/skills/java-engineering-excellence/SKILL.md (dependency table row for joda-time).

2.14.0 (published 2025-03-29) is the newest non-prerelease release on Maven Central; it targets Java 5+ bytecode, so it is fine on the Java 11 / Spring Boot 2.6.3 ceiling.

BOM / ext override

None needed. The Spring Boot 2.6 dependency-management plugin does not pin joda-time, and nothing else in the graph requests it, so the declared version wins unmodified.

dependencyInsight evidence

$ ./gradlew dependencyInsight --configuration runtimeClasspath --dependency joda-time:joda-time
joda-time:joda-time:2.14.0 (selected by rule)
joda-time:joda-time:2.14.0
\--- runtimeClasspath

$ ./gradlew dependencyInsight --configuration testRuntimeClasspath --dependency joda-time:joda-time
joda-time:joda-time:2.14.0 (selected by rule)
joda-time:joda-time:2.14.0
\--- testRuntimeClasspath

Single version on both classpaths, no conflict-resolution downgrade.

API migration

No source changes needed. grep -rn "org.joda" src/ returns 17 files using only org.joda.time.DateTime, org.joda.time.DateTimeZone, and org.joda.time.format.ISODateTimeFormat — all unchanged across 2.10 → 2.14 (that range is additive: new TZDB data, Instant/Duration conveniences, no removals or renames in the used surface).

Gate

$ JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 ./gradlew clean test spotlessCheck -x jacocoTestCoverageVerification
BUILD SUCCESSFUL
tests failures errors skipped
baseline (main @ 3037fa5) 68 0 0 0
this branch 68 0 0 0

spotlessCheck green; spotlessApply produced no changes.

Pre-existing on base, not addressed here

  • jacocoTestCoverageVerification fails with instructions covered ratio is 0.33, but expected minimum is 0.80. This is identical on untouched main (recorded in the phase-0 baseline) and CI excludes the task (./gradlew clean test -x jacocoTestCoverageVerification). Threshold not lowered, no coverage-padding tests added.
  • Selenium E2E tests (src/test/java/io/spring/selenium) run under the separate seleniumTest TestNG task and are not part of this gate.

Link to Devin session: https://partner-workshops.devinenterprise.com/sessions/e7348497252c43919c18d4746e886242
Requested by: @mbatchelor81

@mbatchelor81 mbatchelor81 self-assigned this Jul 27, 2026
@devin-ai-integration

Copy link
Copy Markdown
Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment, CI, and merge conflict monitoring

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant