Skip to content

Update compatible VotingPlugin dependencies - #1737

Open
BenCodez wants to merge 3 commits into
masterfrom
vp-work/dependency-consolidation-20261029
Open

BenCodez wants to merge 3 commits into
masterfrom
vp-work/dependency-consolidation-20261029

Conversation

@BenCodez

@BenCodez BenCodez commented Oct 29, 2026 •

Copy link
Copy Markdown
Owner

Updates Jedis to 8.0.2, SnakeYAML to 2.7, Maven Surefire to 3.6.1 and provided-scope Gson to 2.15.0. This follow-up preserves the Redis producer/consumer compatibility checks and changes only the two build inputs since the previous PR head. Gson remains supplied by the platform and is not bundled in the downloadable JAR.

The AdvancedCore and SimpleAPI producers retain their legacy Jedis API; VotingPlugin filters their embedded copies and selects its own client. Existing package checks cover selected class bytes, legacy constructor linkage, isolated handler construction, TLS configuration, listener linkage and cleanup. All 5,308 packaged classes are byte-identical to the preceding validated artifact.

Validation: clean package passed 3,060 unit tests, one optional diagnostic skipped, and eight packaged-artifact checks. Focused independent review completed with no findings. The downloadable JAR is 11,018,090 bytes, above the advisory 10 MiB target; SHA-256 4c85bc03d0eb7dbae6cb727a38c7609abc78cf1ce20518cea91fc86436f52f10. Hosted checks on the new commit remain separate. No live broker, database or native server acceptance is claimed.

This batch retains the changes superseding #1728, #1729 and #1731 and includes the complete version changes from #1742 and #1744. SQLite #1743 remains separate; the current driver and native-loader pins are retained. Loader #1730 and Velocity #1745 also remain separate pending their platform/API compatibility requirements. The older Velocity #1732 is closed and has been replaced by #1745. SimpleAPI's legacy API contract is preserved rather than forcing equal dependency versions.

Summary by CodeRabbit

  • Chores
    • Updated supporting libraries and test tooling to newer versions.
  • Documentation
    • Clarified Redis dependency and packaging compatibility, including limitations of automated checks and the need for live transport testing.

@coderabbitai

coderabbitai Bot commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review.

Recent review info
Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: f8130649-f145-4851-a956-645d23271641
Commits

Reviewing files that changed from the base of the PR and between b212f5c and 4b83cc0.

Files selected for processing: 1
  • VotingPlugin/pom.xml

Included review availability: This review used your included allowance. Your plan provides up to 2 included reviews per hour; 1 remain after this review.

Recent review details
Context from checks skipped due to timeout: 3
  • GitHub Check: build
  • GitHub Check: Analyze (actions)
  • GitHub Check: Analyze (java-kotlin)
Additional context used
Learnings: 1
Common learnings
Learnt from: CR
Repo: BenCodez/VotingPlugin PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-10-20T09:11:25.910Z
Learning: Source excerpt:
# Maintainer and AI-agent guide

## Build and verification

Keep the downloadable VotingPlugin JAR as small as practical. The 10 MiB size target is advisory:
report a prominent package/build warning when exceeded, never fail a build solely for artifact size.
Keep required-resource, linkage, and packaging-safety checks enforced. Inspect the shaded
artifact when dependencies change, avoid duplicate embedded packages, and update
the package-phase size and runtime checks when a necessary dependency increases
the artifact budget.
Additional comments: 1
VotingPlugin/pom.xml: 1

274-274: LGTM!

Also applies to: 434-434

Walkthrough

The Maven configuration updates Surefire, SnakeYAML, Gson, and Jedis. Packaging tests check Jedis classes in the plugin artifact and Redis handler linkage against plugin and producer artifacts. A new document describes Redis dependency compatibility and the scope of the checks.

Changes: Dependency and Redis Compatibility

Layer / File(s) Summary
Update dependency versions
VotingPlugin/pom.xml
The Maven Surefire plugin changes from 3.5.4 to 3.6.1, SnakeYAML from 2.6 to 2.7, Gson from 2.14.0 to 2.15.0, and Jedis from 8.0.1 to 8.0.2.
Verify packaged Redis compatibility
VotingPlugin/src/test/java/com/bencodez/votingplugin/tests/packaging/PackagedArtifactTest.java, docs/redis-dependency-compatibility.md
Packaging tests compare selected Jedis class bytes and check their uniqueness. They probe Redis handler linkage, constructors, TLS and database configuration, listener creation, and pool closure against the plugin and producer artifacts. The document describes artifact boundaries and the limits of these checks.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Change: Other

Possibly related PRs

  • BenCodez/VotingPlugin#1734: Adds NeoForgeRedisConnection, which uses Jedis. This PR updates Jedis and checks packaged Jedis linkage.
Merge Risk: Minimal · up to 4b83c

The updated dependencies preserve the verified consumer and packaging contracts, with no merge-blocking behavior evidenced.

Pre-merge checks: Passed 4 · Failed 1

Failed Failed checks: 1 warning

Check name Status Explanation Resolution
Docstring Coverage Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentat… Write docstrings for the functions missing them to satisfy the coverage threshold.
Passed Passed checks: 4 passed
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly identifies the main change: updating VotingPlugin dependencies for compatibility. It is concise and related to the dependency updates, packaging checks, and compatibility documentati…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Title check

Explanation

The title clearly identifies the main change: updating VotingPlugin dependencies for compatibility. It is concise and related to the dependency updates, packaging checks, and compatibility documentation.

Full details: Docstring Coverage

Explanation

Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 3 functions across 1 files. (1 skipped: 1 unsupported.)

Resolution

Write docstrings for the functions missing them to satisfy the coverage threshold.

Finishing Touches
Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

@BenCodez
BenCodez marked this pull request as ready for review October 29, 2026 06:11
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 29, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-02T11:42:27.868866Z 4b83cc0 New commits
🔒 Security Review ✅ Completed 2026-10-29T06:13:56.555829Z 2e8cb4b Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

This branch has not been deployed

No deployments
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