Skip to content

Conversation

@VirtualAdam
Copy link

@VirtualAdam VirtualAdam commented Nov 18, 2025

PR Description

This PR contributes production-tested improvements made while running Tessera in Azure Kubernetes Service (AKS). The changes modernize the build system and upgrade critical dependencies for security and compatibility.

Fixed Issue(s)

Fixes #1540

Changes

Jetty 12.0.15 Upgrade (Major)

  • Upgraded from Jetty 11.0.x to Jetty 12.0.15 with EE9 support
  • Fixed Unix domain socket support for Jetty 12's new architecture
  • Resolved ServletContextHandler compatibility with Jetty 12 EE9
  • Applied HttpCompliance.LEGACY mode for backward compatibility
  • Fixed header handling (changed from put() to add())
  • Fixed variable shadowing bug in constructor
  • Updated module-info.java files for Jetty 12 modules

Build System Updates

  • Upgraded Gradle from 7.5.1 to 8.10.2
  • Updated build.gradle dependencies for compatibility

Security Fixes

  • Upgraded Logback from 1.4.11 to 1.5.19 (security patches)
  • Upgraded Jetty from 11.0.24 to 11.0.25 (then to 12.0.15)
  • Added net.minidev:json-smart:2.5.0 (security fix)
  • Added com.nimbusds:nimbus-jose-jwt:9.40 (security fix)

Testing

Quorum Acceptance Tests: These changes have been validated with the Quorum acceptance test suite in the Microsoft enterprise environment.

Documentation

  • I thought about documentation and added the doc-change-required label to this PR if updates are required.
  • No documentation changes needed - internal implementation upgrade with backward compatibility

Changelog

  • I thought about adding a changelog entry, and added one if I deemed necessary.
    • Changelog entry should note: Jetty 12.0.15 upgrade, Gradle 8.10.2 upgrade, security dependency updates

Note

Upgrades to Jetty 12.0.15 (EE9) and refactors server/client to new Unix domain socket and servlet APIs, alongside build/security dependency updates and test adjustments.

  • Server/Runtime (Jetty 12 EE9):
    • Replace jetty-unixsocket-* with jetty-unixdomain-server and update connectors in ServerUtils (adds LEGACY Http/URI compliance).
    • Switch to EE9 servlet APIs in Jersey server (ServletContextHandler/ServletHolder) and set handler explicitly.
    • Update module descriptors to new Jetty modules.
  • Client (Unix sockets):
    • Rework JerseyUnixSocketConnector for Jetty 12 dynamic transport (ClientConnector, HttpClientTransportDynamic, per-request Transport) and header handling.
  • Build/Dependencies:
    • Bump plugins/libs (Spotless, Nexus Publish, Javamodularity, Swagger) and versions (Jetty 12.0.15, Logback 1.5.19, commons-io/lang3, Swagger parser).
    • Add json-smart and nimbus-jose-jwt.
    • Modernize OWASP Dependency-Check config: CI skip, NVD settings, analyzers/options, output paths.
  • Tests:
    • Adjust acceptance tests to resolve Location/DELETE URIs correctly for Unix-socket vs HTTP.
    • Minor exception signature formatting in SSL/TLS utilities and tests.

Written by Cursor Bugbot for commit 13d6ed7. This will update automatically on new commits. Configure here.

Alain Lara Rangel and others added 20 commits November 18, 2025 12:24
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.

Upgrade to Jetty 12.0.15, Gradle 8.10.2, and security dependency updates

1 participant