chore(deps): security upgrade for dependencies - #214
Merged
kuny0707 merged 2 commits intoJul 22, 2026
Merged
Conversation
jj5419952-stack
approved these changes
Jun 7, 2026
adamsdevin598-code
approved these changes
Jun 14, 2026
jj5419952-stack
approved these changes
Jun 15, 2026
jj5419952-stack
approved these changes
Jun 15, 2026
0xbigapple
force-pushed
the
feature/dependency-security-upgrade
branch
from
July 21, 2026 10:37
2772981 to
1087095
Compare
- Vert.x 4.5.21 -> 4.5.27 - Netty 4.1.125.Final -> 4.1.135.Final - BouncyCastle bcprov-jdk18on 1.78.1 -> 1.84 - gRPC 1.75.0 -> 1.81.0 (protoc-gen-grpc-java stays 1.60.0 for CentOS 7) - Jackson jackson-core 2.18.9; buildscript log4j 2.25.4, plexus-utils 3.6.1 verification-metadata.xml: trust -sources/-javadoc jars and regenerate checksums for the new dependency graph. README: update dependency snippets; bump version to 1.0.0.
0xbigapple
force-pushed
the
feature/dependency-security-upgrade
branch
from
July 21, 2026 10:43
1087095 to
88f0aa8
Compare
- exclude jackson-core from vertx-core: only io.vertx.core.buffer.Buffer is used, never vertx's JSON codec, so the transitive is dead weight; abi's test-only jackson-databind keeps resolving its own jackson-core - drop the okio force: grpc-okhttp 1.81.0 already requests okio 3.4.0, which contains the CVE-2023-3635 fix the force was added for, so the resolved graph now tracks the versions grpc tests against - remove the unused shadow plugin: it is applied only to the root project, which has no sources and no dependencies, so shadowJar has always produced an empty jar (META-INF only) that nothing in the build, publish workflow or scripts consumes; the four buildscript forces (commons-io, log4j-api/core, plexus-utils) existed solely to lift its vulnerable transitives and are removed with it - comment each surviving force (guava pin, checkstyle's commons-beanutils 1.9.4 CVE-2025-48734, netty alignment) with the reason it exists - verification-metadata.xml: drop the shadow and okio-3.9.0 dependency trees, add okio 3.4.0 / kotlin-stdlib 1.8.0 entries
317787106
approved these changes
Jul 22, 2026
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.
What does this PR do?
Upgrade core dependencies to address known CVEs, and trim the dependency graph so that unused libraries no longer reach the build or downstream consumers. No public API or bytecode-level changes (JDK 8 target unchanged); this is a pure security/maintenance release.
Version upgrades
4.5.21→4.5.274.1.125.Final→4.1.135.Finalbcprov-jdk18on:1.78.1→1.841.75.0→1.81.0(protoc-gen-grpc-javakept at1.60.0per the existing CentOS 7 compatibility comment)Netty dependency declaration refactor
io.netty:netty-all:4.1.125.Finalwithio.netty:netty-buffer:$nettyVersion— the only netty module trident uses directly.netty-allis a 44-module aggregator; dropping it removes dozens of unused codecs (mqtt, smtp, redis, …) from the dependency graph and the published POM.io.nettymodules (from grpc-netty / vertx-core) to$nettyVersionvia aresolutionStrategy.eachDependencyrule (netty-tcnative-*excluded — separate versioning scheme). This replaces the previous per-moduleforce("io.netty:netty-codec*:…")block.Dependency graph trimming
jackson-corefromvertx-core: trident only usesio.vertx.core.buffer.Bufferand never vertx's JSON codec, so the transitive is dead weight. Jackson is now absent from every runtime classpath and from the published POM;abikeeps a test-onlyjackson-databind:2.18.9for its own tests.shadowJarhas always not used in the build, publish workflow or scripts consumes. Its four buildscript forces (commons-io,log4j-api/core,plexus-utils) existed solely to lift the plugin's vulnerable transitives and are removed with it.okioforce: grpc-okhttp1.81.0already requests okio3.4.0, which contains the CVE-2023-3635 fix the force was added for; the resolved graph now tracks the versions gRPC tests against.Housekeeping
-sources/-javadocjars and regenerate checksums for the new dependency graph (removed trees pruned).0.11.0→1.0.0.Why are these changes required?
This PR has been tested by:
Follow up
Extra details