Repository navigation
build(deps): bring build, runtime, and test dependencies up to date for 2.0.0 - #41
Merged
cjbell merged 8 commits intoSep 30, 2026
Conversation
Kotlin 2.4 no longer supports language/API version 1.8, so the SDK now compiles with language and API version 2.0 (still targeting JVM 1.8). Replaces the blanket -nowarn with -Xsuppress-warning=DEPRECATION. Co-authored-by: Chris Bell <chris@cjbell.co>
Language versions below 2.2 are deprecated in Kotlin 2.4. Also replaces the deprecated -Xjvm-default and -Xsuppress-warning flags with their current equivalents and silences the redundant-conversion diagnostic emitted by generated validity() code. Co-authored-by: Chris Bell <chris@cjbell.co>
- Jackson 2.18.2 -> 2.22.3 (jackson-annotations 2.22) - OkHttp 4.12.0 -> 5.5.0 (depend on okhttp-jvm directly) - Apache HttpClient 5.3.1 -> 5.6.4, HttpCore 5.2.4 -> 5.4.4 - error_prone_annotations 2.33.0 -> 2.50.0 Co-authored-by: Chris Bell <chris@cjbell.co>
- JUnit 5.9.3 -> 6.1.3, junit-pioneer 1.9.1 -> 2.3.0 - WireMock 2.35.2 (wiremock-jre8) -> 3.13.2 (wiremock-standalone, which shades its own Jackson so tests keep running against the 2.13.4 floor) - AssertJ 3.25.3 -> 3.27.7, Mockito 5.14.2 -> 5.24.0, mockito-kotlin 4.1.0 -> 6.4.0 These require Java 17, so test sources now compile for 17. Published artifacts still target Java 8. Co-authored-by: Chris Bell <chris@cjbell.co>
- Migrate from the removed Dokka V1 plugin to V2's Javadoc format. V2 can't aggregate Javadoc across modules, so knock-java documents the core and OkHttp sources directly, matching the old collector output. - Pin Dokka's build-only Jackson/jsoup classpath to secure releases. - vanniktech maven-publish 0.37.0 removes SonatypeHost (Central Portal is the default) and in-memory signing properties, so configure signing explicitly from the same GPG_* environment variables. Co-authored-by: Chris Bell <chris@cjbell.co>
Pin ktfmt to 0.61, the version generated code is formatted with, so the upgrade doesn't reformat the codebase. Co-authored-by: Chris Bell <chris@cjbell.co>
- actions/checkout v4 -> v7, actions/setup-java v3/v4 -> v6 - Replace deprecated gradle/gradle-build-action@v2 with gradle/actions/setup-gradle@v6 - Publish with JDK 21 (the build toolchain) instead of 17 Co-authored-by: Chris Bell <chris@cjbell.co>
Co-authored-by: Chris Bell <chris@cjbell.co>
cjbell
marked this pull request as ready for review
September 30, 2026 15:45
cjbell
requested review from
kylemcd and
thomaswhyyou
and removed request for
a team
September 30, 2026 15:45
kylemcd
approved these changes
Sep 30, 2026
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #40. This updates the build toolchain and every runtime and test dependency to current stable versions, so they ship with the 2.0.0 release. Published artifacts still target Java 8 (all classes are version 52).
Runtime dependencies (consumer-facing)
jackson-annotations2.22)Notes:
com.squareup.okhttp3:okhttp-jvm. OkHttp 5'sokhttpartifact is an empty jar for Maven consumers, because Maven can't read Gradle module metadata.force(...)block. I also ran the suite once against 2.22.3 unpinned. Only the fiveObjectMappersTestcases that the test itself documents as 2.13.4-only quirks failed (scalar-to-String coercion that 2.14+ correctly rejects).Build toolchain
-nowarnis gone. Deprecation warnings and the redundanttoInt()diagnostic from generatedvalidity()code are disabled individually, so the build is warning-free. Other warnings now show up.knock-javadocuments the core and OkHttp sources directly. The merged javadoc jar has 1,443 files, like the olddokkaJavadocCollectoroutput. Dokka's build-only Jackson and jsoup are pinned to secure versions, as upstream Stainless SDKs do.SonatypeHost; Central Portal is now the default. It also removes the in-memory signing properties, so signing is configured explicitly from the sameGPG_*env vars. I checkedpublishToMavenLocalwith a throwaway GPG key: every artifact is signed, and the POMs list the versions above.Test dependencies
wiremock-jre82.35.2wiremock-standalone3.13.2These need Java 17, so only the test source sets now compile for 17. They already ran on the JDK 21 toolchain. The standalone WireMock jar bundles its own Jackson, so tests keep running against the 2.13.4 floor.
CI
actions/checkoutv7 andactions/setup-javav6.gradle/actions/setup-gradlev6 replaces the deprecatedgradle/gradle-build-action@v2.Docs
Verification
./scripts/lintpasses with no compiler warnings../scripts/test(Prism): 1,049 tests, 0 failures, 198 skipped, the same as the base branch.One Gradle deprecation remains (
Configuration.setVisible). It comes from inside the Dokka plugin, not our build scripts.