You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by ji...@apache.org on 2026/08/26 14:43:31 UTC

(geode) branch support/2.0 updated: Backport develop commits to support/2.0 for the 2.0.3 release (#8039)

This is an automated email from the ASF dual-hosted git repository.

JinwooHwang pushed a commit to branch support/2.0
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/support/2.0 by this push:
     new 8b4a2ad334 Backport develop commits to support/2.0 for the 2.0.3 release (#8039)
8b4a2ad334 is described below

commit 8b4a2ad334c397346f8f15b8c5a9e9381993f326
Author: Jinwoo Hwang <92...@users.noreply.github.com>
AuthorDate: Wed Aug 26 10:43:25 2026 -0400

    Backport develop commits to support/2.0 for the 2.0.3 release (#8039)
---
 .github/workflows/gradle.yml                       |  74 +++++++-------
 README.md                                          |   1 -
 .../src/test/resources/expected-pom.xml            |  22 ++---
 .../gradle/plugins/DependencyConstraints.groovy    |  22 +++--
 .../gradle-test-projects/management/build.gradle   |   2 +-
 .../session/tests/GenericAppServerInstall.java     |   2 +-
 .../integrationTest/resources/assembly_content.txt |  94 +++++++++---------
 .../integrationTest/resources/expected_jars.txt    |   2 +
 .../resources/gfsh_dependency_classpath.txt        | 104 ++++++++++----------
 .../geode/management/internal/ManagementAgent.java |   9 +-
 geode-gfsh/build.gradle                            |   3 +
 .../internal/web/shell/HttpOperationInvoker.java   |  10 +-
 geode-gfsh/src/test/resources/expected-pom.xml     |  30 ++++++
 .../resources/dependency_classpath.txt             | 106 +++++++++++----------
 .../web/controllers/ShellCommandsController.java   |  24 +++--
 .../src/main/webapp/WEB-INF/geode-mgmt-servlet.xml |   1 -
 .../controllers/QueryExpDeserializationTest.java   |  44 +++++++++
 17 files changed, 330 insertions(+), 220 deletions(-)

diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml
index 00e80b387e..be35375c01 100644
--- a/.github/workflows/gradle.yml
+++ b/.github/workflows/gradle.yml
@@ -32,14 +32,14 @@ jobs:
     env:
       DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
     steps:
-    - uses: actions/checkout@v3
+    - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
     - name: Set up JDK 17
-      uses: actions/setup-java@v3
+      uses: actions/setup-java@03ad4de0992f5dab5e18fcb136590ce7c4a0ac95 # v5.6.0
       with:
         java-version: '17'
         distribution: 'liberica'
     - name: Setup Gradle
-      uses: gradle/actions/setup-gradle@v5
+      uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c
       with:
         gradle-version: wrapper
     - name: Run 'build install javadoc spotlessCheck rat checkPom resolveDependencies pmdMain' with Gradle
@@ -57,9 +57,9 @@ jobs:
      env:
        DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
      steps:
-     - uses: actions/checkout@v3
+     - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
      - name: Set up JDK
-       uses: actions/setup-java@v3
+       uses: actions/setup-java@03ad4de0992f5dab5e18fcb136590ce7c4a0ac95 # v5.6.0
        with:
          distribution: ${{ matrix.distribution }}
          java-version: |
@@ -96,15 +96,15 @@ jobs:
    env:
      DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
    steps:
-   - uses: actions/checkout@v3
+   - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
    - name: Set up JDK (include all 3 JDKs in env)
-     uses: actions/setup-java@v3
+     uses: actions/setup-java@03ad4de0992f5dab5e18fcb136590ce7c4a0ac95 # v5.6.0
      with:
        distribution: ${{ matrix.distribution }}
        java-version: |
          17
    - name: Setup Gradle
-     uses: gradle/actions/setup-gradle@v5
+     uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c
      with:
        gradle-version: wrapper
    - name: Set JAVA_TEST_PATH to 17
@@ -127,7 +127,7 @@ jobs:
          -PtestJVMVer=${JAVA_TEST_VERSION} \
          -PtestJava17Home=${JAVA_HOME_17_X64} \
          test --console=plain --no-daemon
-   - uses: actions/upload-artifact@v4
+   - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
      if: failure()
      with:
        name: unit-test-reports-${{ matrix.os }}-${{ matrix.java }}
@@ -145,15 +145,15 @@ jobs:
      env:
        DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
      steps:
-     - uses: actions/checkout@v3
+     - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
      - name: Set up JDK
-       uses: actions/setup-java@v3
+       uses: actions/setup-java@03ad4de0992f5dab5e18fcb136590ce7c4a0ac95 # v5.6.0
        with:
          distribution: ${{ matrix.distribution }}
          java-version: |
            17
      - name: Setup Gradle
-       uses: gradle/actions/setup-gradle@v5
+       uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c
        with:
          gradle-version: wrapper
      - name: Run integration tests
@@ -174,7 +174,7 @@ jobs:
            -PtestJVMVer=${JAVA_TEST_VERSION} \
            -PtestJava17Home=${JAVA_HOME_17_X64} \
            integrationTest --console=plain --no-daemon
-     - uses: actions/upload-artifact@v4
+     - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
        if: failure()
        with:
          name: integration-test-reports-${{ matrix.os }}-${{ matrix.java }}
@@ -192,14 +192,14 @@ jobs:
     env:
       DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
     steps:
-      - uses: actions/checkout@v3
+      - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
       - name: Set up JDK
-        uses: actions/setup-java@v3
+        uses: actions/setup-java@03ad4de0992f5dab5e18fcb136590ce7c4a0ac95 # v5.6.0
         with:
           distribution: ${{ matrix.distribution }}
           java-version: ${{ matrix.java }}
       - name: Setup Gradle
-        uses: gradle/actions/setup-gradle@v5
+        uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c
         with:
           gradle-version: wrapper
       - name: Run acceptance tests
@@ -218,7 +218,7 @@ jobs:
             -PtestJVMVer=${JAVA_TEST_VERSION} \
             -PtestJava17Home=${JAVA_HOME_17_X64} \
             acceptanceTest --console=plain --no-daemon
-      - uses: actions/upload-artifact@v4
+      - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
         if: failure()
         with:
           name: acceptance-test-reports-${{ matrix.os }}-${{ matrix.java }}
@@ -236,14 +236,14 @@ jobs:
     env:
       DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
     steps:
-      - uses: actions/checkout@v3
+      - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
       - name: Set up JDK
-        uses: actions/setup-java@v3
+        uses: actions/setup-java@03ad4de0992f5dab5e18fcb136590ce7c4a0ac95 # v5.6.0
         with:
           distribution: ${{ matrix.distribution }}
           java-version: ${{ matrix.java }}
       - name: Setup Gradle
-        uses: gradle/actions/setup-gradle@v5
+        uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c
         with:
           gradle-version: wrapper
       - name: Run wan distributed tests
@@ -264,7 +264,7 @@ jobs:
             -PtestJVMVer=${JAVA_TEST_VERSION} \
             -PtestJava17Home=${JAVA_HOME_17_X64} \
             geode-wan:distributedTest --console=plain --no-daemon
-      - uses: actions/upload-artifact@v4
+      - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
         if: failure()
         with:
           name: wan-distributed-test-reports-${{ matrix.os }}-${{ matrix.java }}
@@ -282,14 +282,14 @@ jobs:
     env:
       DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
     steps:
-      - uses: actions/checkout@v3
+      - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
       - name: Set up JDK
-        uses: actions/setup-java@v3
+        uses: actions/setup-java@03ad4de0992f5dab5e18fcb136590ce7c4a0ac95 # v5.6.0
         with:
           distribution: ${{ matrix.distribution }}
           java-version: ${{ matrix.java }}
       - name: Setup Gradle
-        uses: gradle/actions/setup-gradle@v5
+        uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c
         with:
           gradle-version: wrapper
       - name: Run cq distributed tests
@@ -308,7 +308,7 @@ jobs:
             -PtestJVMVer=${JAVA_TEST_VERSION} \
             -PtestJava17Home=${JAVA_HOME_17_X64} \
             geode-cq:distributedTest --console=plain --no-daemon
-      - uses: actions/upload-artifact@v4
+      - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
         if: failure()
         with:
           name: cq-distributed-test-reports-${{ matrix.os }}-${{ matrix.java }}
@@ -326,14 +326,14 @@ jobs:
     env:
       DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
     steps:
-      - uses: actions/checkout@v3
+      - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
       - name: Set up JDK
-        uses: actions/setup-java@v3
+        uses: actions/setup-java@03ad4de0992f5dab5e18fcb136590ce7c4a0ac95 # v5.6.0
         with:
           distribution: ${{ matrix.distribution }}
           java-version: ${{ matrix.java }}
       - name: Setup Gradle
-        uses: gradle/actions/setup-gradle@v5
+        uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c
         with:
           gradle-version: wrapper
       - name: Run lucene distributed tests
@@ -354,7 +354,7 @@ jobs:
             -PtestJVMVer=${JAVA_TEST_VERSION} \
             -PtestJava17Home=${JAVA_HOME_17_X64} \
             geode-lucene:distributedTest --console=plain --no-daemon
-      - uses: actions/upload-artifact@v4
+      - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
         if: failure()
         with:
           name: lucene-distributed-test-reports-${{ matrix.os }}-${{ matrix.java }}
@@ -372,14 +372,14 @@ jobs:
     env:
       DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
     steps:
-      - uses: actions/checkout@v3
+      - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
       - name: Set up JDK
-        uses: actions/setup-java@v3
+        uses: actions/setup-java@03ad4de0992f5dab5e18fcb136590ce7c4a0ac95 # v5.6.0
         with:
           distribution: ${{ matrix.distribution }}
           java-version: ${{ matrix.java }}
       - name: Setup Gradle
-        uses: gradle/actions/setup-gradle@v5
+        uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c
         with:
           gradle-version: wrapper
       - name: Run gfsh, web-mgmt, web distributed tests
@@ -401,7 +401,7 @@ jobs:
             geode-gfsh:distributedTest \
             geode-web:distributedTest \
             geode-web-management:distributedTest --console=plain --no-daemon
-      - uses: actions/upload-artifact@v4
+      - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
         if: failure()
         with:
           name: mgmt-distributed-test-reports-${{ matrix.os }}-${{ matrix.java }}
@@ -420,14 +420,14 @@ jobs:
     env:
       DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
     steps:
-      - uses: actions/checkout@v3
+      - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
       - name: Set up JDK
-        uses: actions/setup-java@v3
+        uses: actions/setup-java@03ad4de0992f5dab5e18fcb136590ce7c4a0ac95 # v5.6.0
         with:
           distribution: ${{ matrix.distribution }}
           java-version: ${{ matrix.java }}
       - name: Setup Gradle
-        uses: gradle/actions/setup-gradle@v5
+        uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c
         with:
           gradle-version: wrapper
       - name: Run assembly, connectors, old-client, extensions distributed tests
@@ -452,7 +452,7 @@ jobs:
             geode-old-client:distributedTest \
             extensions:geode-modules:distributedTest \
             extensions:geode-modules-tomcat10:distributedTest --console=plain --no-daemon
-      - uses: actions/upload-artifact@v4
+      - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
         if: failure()
         with:
           name: assembly-distributed-test-reports-${{ matrix.os }}-${{ matrix.java }}
diff --git a/README.md b/README.md
index 4dd74940bb..c74236bb49 100644
--- a/README.md
+++ b/README.md
@@ -3,7 +3,6 @@
 [![Apache Geode logo](https://geode.apache.org/img/Apache_Geode_logo.png)](http://geode.apache.org)
 
 [![Build Status](https://concourse.apachegeode-ci.info/api/v1/teams/main/pipelines/apache-develop-main/badge)](https://concourse.apachegeode-ci.info/teams/main/pipelines/apache-develop-main) [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://www.apache.org/licenses/LICENSE-2.0) [![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.apache.geode/geode-core/badge.svg)](http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.apache.geode%22) [![ho [...]
-
 </div>
 
 ## Contents
diff --git a/boms/geode-all-bom/src/test/resources/expected-pom.xml b/boms/geode-all-bom/src/test/resources/expected-pom.xml
index 65f6a24015..ca41c043f5 100644
--- a/boms/geode-all-bom/src/test/resources/expected-pom.xml
+++ b/boms/geode-all-bom/src/test/resources/expected-pom.xml
@@ -195,7 +195,7 @@
       <dependency>
         <groupId>io.micrometer</groupId>
         <artifactId>micrometer-core</artifactId>
-        <version>1.14.0</version>
+        <version>1.15.12</version>
       </dependency>
       <dependency>
         <groupId>io.swagger.core.v3</groupId>
@@ -415,7 +415,7 @@
       <dependency>
         <groupId>org.slf4j</groupId>
         <artifactId>slf4j-api</artifactId>
-        <version>2.0.17</version>
+        <version>2.0.18</version>
       </dependency>
       <dependency>
         <groupId>org.springframework.hateoas</groupId>
@@ -475,22 +475,22 @@
       <dependency>
         <groupId>com.fasterxml.jackson.core</groupId>
         <artifactId>jackson-core</artifactId>
-        <version>2.21.2</version>
+        <version>2.21.5</version>
       </dependency>
       <dependency>
         <groupId>com.fasterxml.jackson.core</groupId>
         <artifactId>jackson-databind</artifactId>
-        <version>2.21.2</version>
+        <version>2.21.5</version>
       </dependency>
       <dependency>
         <groupId>com.fasterxml.jackson.datatype</groupId>
         <artifactId>jackson-datatype-joda</artifactId>
-        <version>2.21.2</version>
+        <version>2.21.5</version>
       </dependency>
       <dependency>
         <groupId>com.fasterxml.jackson.datatype</groupId>
         <artifactId>jackson-datatype-jsr310</artifactId>
-        <version>2.21.2</version>
+        <version>2.21.5</version>
       </dependency>
       <dependency>
         <groupId>com.jayway.jsonpath</groupId>
@@ -530,27 +530,27 @@
       <dependency>
         <groupId>org.apache.logging.log4j</groupId>
         <artifactId>log4j-api</artifactId>
-        <version>2.25.4</version>
+        <version>2.25.5</version>
       </dependency>
       <dependency>
         <groupId>org.apache.logging.log4j</groupId>
         <artifactId>log4j-core</artifactId>
-        <version>2.25.4</version>
+        <version>2.25.5</version>
       </dependency>
       <dependency>
         <groupId>org.apache.logging.log4j</groupId>
         <artifactId>log4j-jcl</artifactId>
-        <version>2.25.4</version>
+        <version>2.25.5</version>
       </dependency>
       <dependency>
         <groupId>org.apache.logging.log4j</groupId>
         <artifactId>log4j-jul</artifactId>
-        <version>2.25.4</version>
+        <version>2.25.5</version>
       </dependency>
       <dependency>
         <groupId>org.apache.logging.log4j</groupId>
         <artifactId>log4j-slf4j-impl</artifactId>
-        <version>2.25.4</version>
+        <version>2.25.5</version>
       </dependency>
       <dependency>
         <groupId>org.apache.lucene</groupId>
diff --git a/build-tools/geode-dependency-management/src/main/groovy/org/apache/geode/gradle/plugins/DependencyConstraints.groovy b/build-tools/geode-dependency-management/src/main/groovy/org/apache/geode/gradle/plugins/DependencyConstraints.groovy
index d71e6717ba..29e0d699c2 100644
--- a/build-tools/geode-dependency-management/src/main/groovy/org/apache/geode/gradle/plugins/DependencyConstraints.groovy
+++ b/build-tools/geode-dependency-management/src/main/groovy/org/apache/geode/gradle/plugins/DependencyConstraints.groovy
@@ -46,18 +46,18 @@ class DependencyConstraints {
     deps.put("jakarta.annotation.version", "2.1.1")
     deps.put("jakarta.ejb.version", "4.0.1")
     deps.put("jgroups.version", "3.6.20.Final")
-    deps.put("log4j.version", "2.25.4")
+    deps.put("log4j.version", "2.25.5")
     deps.put("log4j-slf4j2-impl.version", "2.23.1")
-    deps.put("micrometer.version", "1.14.0")
-    deps.put("shiro.version", "2.1.0")
+    deps.put("micrometer.version", "1.15.12")
+    deps.put("shiro.version", "3.0.0")
     // GEODE-10583: Pin Bouncy Castle (transitive via shiro-crypto-hash) to a fixed version
-    deps.put("bouncycastle.version", "1.84")
-    deps.put("slf4j-api.version", "2.0.17")
+    deps.put("bouncycastle.version", "1.85")
+    deps.put("slf4j-api.version", "2.0.18")
     deps.put("jakarta.transaction-api.version", "2.0.1")
     deps.put("jboss-modules.version", "1.11.0.Final")
-    deps.put("jackson.version", "2.21.2")
+    deps.put("jackson.version", "2.21.5")
     deps.put("jackson.annotations.version", "2.21")
-    deps.put("jackson.databind.version", "2.21.2")
+    deps.put("jackson.databind.version", "2.21.5")
     // Spring Framework 6.x Migration
     deps.put("springshell.version", "3.3.3")
     deps.put("springframework.version", "6.1.21")
@@ -85,7 +85,7 @@ class DependencyConstraints {
     // at o.a.g.sessions.tests.GenericAppServerInstall.java
     // Jetty 12.0.x for Jakarta EE 10 (Servlet 6.0) compatibility
     // Jetty 12 reorganized modules under ee10, ee9, ee8 packages
-    deps.put("jetty.version", "12.0.33")
+    deps.put("jetty.version", "12.0.37")
 
     // These versions are referenced in test.gradle, which is aggressively injected into all projects.
     deps.put("junit.version", "4.13.2")
@@ -108,6 +108,8 @@ class DependencyConstraints {
 
     project.dependencies {
       constraints {
+        api('org.jline:jline-terminal-jni:3.26.3')
+        api('org.jline:jline-terminal-ffm:3.26.3')   
         // informal, inter-group dependencySet
         api(group: 'antlr', name: 'antlr', version: get('antlr.version'))
         api(group: 'cglib', name: 'cglib', version: get('cglib.version'))
@@ -175,8 +177,8 @@ class DependencyConstraints {
         api(group: 'org.apache.derby', name: 'derby', version: '10.14.2.0')
         // Apache HttpComponents 5.x - Modern HTTP client with HTTP/2 support
         api(group: 'org.apache.httpcomponents.client5', name: 'httpclient5', version: '5.4.4')
-        api(group: 'org.apache.httpcomponents.core5', name: 'httpcore5', version: '5.3.6')
-        api(group: 'org.apache.httpcomponents.core5', name: 'httpcore5-h2', version: '5.3.6')
+        api(group: 'org.apache.httpcomponents.core5', name: 'httpcore5', version: '5.4.3')
+        api(group: 'org.apache.httpcomponents.core5', name: 'httpcore5-h2', version: '5.4.3')
         // Legacy HttpComponents 4.x (keep temporarily during migration, remove after complete)
         api(group: 'org.apache.httpcomponents', name: 'httpclient', version: '4.5.13')
         api(group: 'org.apache.httpcomponents', name: 'httpcore', version: '4.4.15')
diff --git a/geode-assembly/src/acceptanceTest/resources/gradle-test-projects/management/build.gradle b/geode-assembly/src/acceptanceTest/resources/gradle-test-projects/management/build.gradle
index a4e0645a45..7c0ca6a2a8 100644
--- a/geode-assembly/src/acceptanceTest/resources/gradle-test-projects/management/build.gradle
+++ b/geode-assembly/src/acceptanceTest/resources/gradle-test-projects/management/build.gradle
@@ -25,7 +25,7 @@ repositories {
 
 dependencies {
   implementation("${project.group}:geode-core:${project.version}")
-  runtimeOnly('org.apache.logging.log4j:log4j-slf4j-impl:2.25.4')
+  runtimeOnly('org.apache.logging.log4j:log4j-slf4j-impl:2.25.5')
 }
 
 application {
diff --git a/geode-assembly/src/distributedTest/java/org/apache/geode/session/tests/GenericAppServerInstall.java b/geode-assembly/src/distributedTest/java/org/apache/geode/session/tests/GenericAppServerInstall.java
index b2fc46e851..59edba3821 100644
--- a/geode-assembly/src/distributedTest/java/org/apache/geode/session/tests/GenericAppServerInstall.java
+++ b/geode-assembly/src/distributedTest/java/org/apache/geode/session/tests/GenericAppServerInstall.java
@@ -34,7 +34,7 @@ import java.util.function.IntSupplier;
  * specific code outside of the {@link GenericAppServerVersion}.
  */
 public class GenericAppServerInstall extends ContainerInstall {
-  private static final String JETTY_VERSION = "12.0.33";
+  private static final String JETTY_VERSION = "12.0.37";
 
   /**
    * Get the version number, download URL, and container name of a generic app server using
diff --git a/geode-assembly/src/integrationTest/resources/assembly_content.txt b/geode-assembly/src/integrationTest/resources/assembly_content.txt
index c769db89d0..862f8c53a3 100644
--- a/geode-assembly/src/integrationTest/resources/assembly_content.txt
+++ b/geode-assembly/src/integrationTest/resources/assembly_content.txt
@@ -920,10 +920,10 @@ lib/ST4-4.3.3.jar
 lib/angus-activation-2.0.0.jar
 lib/antlr-2.7.7.jar
 lib/antlr-runtime-3.5.2.jar
-lib/asm-9.9.1.jar
-lib/asm-commons-9.9.1.jar
-lib/asm-tree-9.9.1.jar
-lib/bcprov-jdk18on-1.84.jar
+lib/asm-9.10.1.jar
+lib/asm-commons-9.10.1.jar
+lib/asm-tree-9.10.1.jar
+lib/bcprov-jdk18on-1.85.jar
 lib/classgraph-4.8.147.jar
 lib/classmate-1.5.1.jar
 lib/commons-beanutils-1.11.0.jar
@@ -961,15 +961,15 @@ lib/geode-wan-0.0.0.jar
 lib/gfsh-dependencies.jar
 lib/hibernate-validator-8.0.2.Final.jar
 lib/httpclient5-5.4.4.jar
-lib/httpcore5-5.3.6.jar
-lib/httpcore5-h2-5.3.6.jar
+lib/httpcore5-5.4.3.jar
+lib/httpcore5-h2-5.4.3.jar
 lib/istack-commons-runtime-4.1.1.jar
 lib/jackson-annotations-2.21.jar
-lib/jackson-core-2.21.2.jar
-lib/jackson-databind-2.21.2.jar
-lib/jackson-dataformat-yaml-2.21.2.jar
-lib/jackson-datatype-joda-2.21.2.jar
-lib/jackson-datatype-jsr310-2.21.2.jar
+lib/jackson-core-2.21.5.jar
+lib/jackson-databind-2.21.5.jar
+lib/jackson-dataformat-yaml-2.21.5.jar
+lib/jackson-datatype-joda-2.21.5.jar
+lib/jackson-datatype-jsr310-2.21.5.jar
 lib/jakarta.activation-api-2.1.3.jar
 lib/jakarta.annotation-api-2.1.1.jar
 lib/jakarta.el-api-5.0.0.jar
@@ -986,20 +986,20 @@ lib/jakarta.xml.bind-api-4.0.2.jar
 lib/jaxb-core-4.0.2.jar
 lib/jaxb-runtime-4.0.2.jar
 lib/jboss-logging-3.4.3.Final.jar
-lib/jetty-ee-12.0.33.jar
-lib/jetty-ee10-annotations-12.0.33.jar
-lib/jetty-ee10-plus-12.0.33.jar
-lib/jetty-ee10-servlet-12.0.33.jar
-lib/jetty-ee10-webapp-12.0.33.jar
-lib/jetty-http-12.0.33.jar
-lib/jetty-io-12.0.33.jar
-lib/jetty-jndi-12.0.33.jar
-lib/jetty-plus-12.0.33.jar
-lib/jetty-security-12.0.33.jar
-lib/jetty-server-12.0.33.jar
-lib/jetty-session-12.0.33.jar
-lib/jetty-util-12.0.33.jar
-lib/jetty-xml-12.0.33.jar
+lib/jetty-ee-12.0.37.jar
+lib/jetty-ee10-annotations-12.0.37.jar
+lib/jetty-ee10-plus-12.0.37.jar
+lib/jetty-ee10-servlet-12.0.37.jar
+lib/jetty-ee10-webapp-12.0.37.jar
+lib/jetty-http-12.0.37.jar
+lib/jetty-io-12.0.37.jar
+lib/jetty-jndi-12.0.37.jar
+lib/jetty-plus-12.0.37.jar
+lib/jetty-security-12.0.37.jar
+lib/jetty-server-12.0.37.jar
+lib/jetty-session-12.0.37.jar
+lib/jetty-util-12.0.37.jar
+lib/jetty-xml-12.0.37.jar
 lib/jgroups-3.6.20.Final.jar
 lib/jline-builtins-3.26.3.jar
 lib/jline-console-3.26.3.jar
@@ -1007,24 +1007,26 @@ lib/jline-native-3.26.3.jar
 lib/jline-reader-3.26.3.jar
 lib/jline-style-3.26.3.jar
 lib/jline-terminal-3.26.3.jar
+lib/jline-terminal-ffm-3.26.3.jar
+lib/jline-terminal-jni-3.26.3.jar
 lib/jna-5.11.0.jar
 lib/jna-platform-5.11.0.jar
 lib/joda-time-2.12.7.jar
 lib/jopt-simple-5.0.4.jar
 lib/jul-to-slf4j-2.0.17.jar
-lib/log4j-api-2.25.4.jar
-lib/log4j-core-2.25.4.jar
-lib/log4j-jcl-2.25.4.jar
-lib/log4j-jul-2.25.4.jar
-lib/log4j-slf4j-impl-2.25.4.jar
+lib/log4j-api-2.25.5.jar
+lib/log4j-core-2.25.5.jar
+lib/log4j-jcl-2.25.5.jar
+lib/log4j-jul-2.25.5.jar
+lib/log4j-slf4j-impl-2.25.5.jar
 lib/lucene-analysis-common-9.12.3.jar
 lib/lucene-analysis-phonetic-9.12.3.jar
 lib/lucene-core-9.12.3.jar
 lib/lucene-queries-9.12.3.jar
 lib/lucene-queryparser-9.12.3.jar
-lib/micrometer-commons-1.14.0.jar
-lib/micrometer-core-1.14.0.jar
-lib/micrometer-observation-1.14.0.jar
+lib/micrometer-commons-1.15.12.jar
+lib/micrometer-core-1.15.12.jar
+lib/micrometer-observation-1.15.12.jar
 lib/mx4j-3.0.2.jar
 lib/mx4j-remote-3.0.2.jar
 lib/mx4j-tools-3.0.1.jar
@@ -1032,19 +1034,19 @@ lib/ra.jar
 lib/reactive-streams-1.0.4.jar
 lib/reactor-core-3.6.10.jar
 lib/rmiio-2.1.2.jar
-lib/shiro-cache-2.1.0.jar
-lib/shiro-config-core-2.1.0.jar
-lib/shiro-config-ogdl-2.1.0.jar
-lib/shiro-core-2.1.0.jar
-lib/shiro-crypto-cipher-2.1.0.jar
-lib/shiro-crypto-core-2.1.0.jar
-lib/shiro-crypto-hash-2.1.0.jar
-lib/shiro-event-2.1.0.jar
-lib/shiro-hashes-argon2-2.1.0.jar
-lib/shiro-hashes-bcrypt-2.1.0.jar
-lib/shiro-lang-2.1.0.jar
-lib/slf4j-api-2.0.17.jar
-lib/snakeyaml-2.3.jar
+lib/shiro-cache-3.0.0.jar
+lib/shiro-config-core-3.0.0.jar
+lib/shiro-config-ogdl-3.0.0.jar
+lib/shiro-core-3.0.0.jar
+lib/shiro-crypto-cipher-3.0.0.jar
+lib/shiro-crypto-core-3.0.0.jar
+lib/shiro-crypto-hash-3.0.0.jar
+lib/shiro-event-3.0.0.jar
+lib/shiro-hashes-argon2-3.0.0.jar
+lib/shiro-hashes-bcrypt-3.0.0.jar
+lib/shiro-lang-3.0.0.jar
+lib/slf4j-api-2.0.18.jar
+lib/snakeyaml-2.5.jar
 lib/snappy-0.5.jar
 lib/spring-aop-6.1.21.jar
 lib/spring-beans-6.1.21.jar
diff --git a/geode-assembly/src/integrationTest/resources/expected_jars.txt b/geode-assembly/src/integrationTest/resources/expected_jars.txt
index 7d0c0f2722..facbde0d7f 100644
--- a/geode-assembly/src/integrationTest/resources/expected_jars.txt
+++ b/geode-assembly/src/integrationTest/resources/expected_jars.txt
@@ -71,6 +71,8 @@ jline-native
 jline-reader
 jline-style
 jline-terminal
+jline-terminal-ffm
+jline-terminal-jni
 jna
 jna-platform
 joda-time
diff --git a/geode-assembly/src/integrationTest/resources/gfsh_dependency_classpath.txt b/geode-assembly/src/integrationTest/resources/gfsh_dependency_classpath.txt
index b39d44afd5..68a5913622 100644
--- a/geode-assembly/src/integrationTest/resources/gfsh_dependency_classpath.txt
+++ b/geode-assembly/src/integrationTest/resources/gfsh_dependency_classpath.txt
@@ -21,22 +21,21 @@ spring-shell-starter-3.3.3.jar
 spring-web-6.1.21.jar
 commons-lang3-3.18.0.jar
 rmiio-2.1.2.jar
-jackson-datatype-joda-2.21.2.jar
-jackson-annotations-2.21.jar
-jackson-dataformat-yaml-2.21.2.jar
-jackson-core-2.21.2.jar
-jackson-datatype-jsr310-2.21.2.jar
-jackson-databind-2.21.2.jar
+jackson-datatype-jsr310-2.21.5.jar
+jackson-datatype-joda-2.21.5.jar
+jackson-core-2.21.5.jar
+jackson-dataformat-yaml-2.21.5.jar
+jackson-databind-2.21.5.jar
 swagger-annotations-2.2.22.jar
 jaxb-runtime-4.0.2.jar
 jaxb-core-4.0.2.jar
 jakarta.xml.bind-api-4.0.2.jar
 jopt-simple-5.0.4.jar
-log4j-slf4j-impl-2.25.4.jar
-log4j-core-2.25.4.jar
-log4j-jcl-2.25.4.jar
-log4j-jul-2.25.4.jar
-log4j-api-2.25.4.jar
+log4j-slf4j-impl-2.25.5.jar
+log4j-core-2.25.5.jar
+log4j-jcl-2.25.5.jar
+log4j-jul-2.25.5.jar
+log4j-api-2.25.5.jar
 spring-aop-6.1.21.jar
 spring-shell-autoconfigure-3.3.3.jar
 spring-shell-standard-commands-3.3.3.jar
@@ -52,6 +51,8 @@ spring-context-6.1.21.jar
 spring-beans-6.1.21.jar
 spring-expression-6.1.21.jar
 spring-core-6.1.21.jar
+jline-terminal-jni-3.26.3.jar
+jline-terminal-ffm-3.26.3.jar
 angus-activation-2.0.0.jar
 jakarta.activation-api-2.1.3.jar
 lucene-analysis-phonetic-9.12.3.jar
@@ -60,14 +61,14 @@ lucene-queryparser-9.12.3.jar
 lucene-queries-9.12.3.jar
 lucene-core-9.12.3.jar
 httpclient5-5.4.4.jar
-httpcore5-h2-5.3.6.jar
-httpcore5-5.3.6.jar
+httpcore5-h2-5.4.3.jar
+httpcore5-5.4.3.jar
 HikariCP-4.0.3.jar
 antlr-2.7.7.jar
 istack-commons-runtime-4.1.1.jar
 commons-validator-1.7.jar
-shiro-core-2.1.0.jar
-shiro-config-ogdl-2.1.0.jar
+shiro-core-3.0.0.jar
+shiro-config-ogdl-3.0.0.jar
 commons-beanutils-1.11.0.jar
 commons-codec-1.15.jar
 commons-collections-3.2.2.jar
@@ -75,64 +76,66 @@ commons-digester-2.1.jar
 commons-io-2.19.0.jar
 commons-logging-1.3.5.jar
 classgraph-4.8.147.jar
-micrometer-core-1.14.0.jar
+micrometer-core-1.15.12.jar
 HdrHistogram-2.2.2.jar
 fastutil-8.5.8.jar
 jakarta.resource-api-2.1.0.jar
-jetty-ee10-annotations-12.0.33.jar
-jetty-ee10-plus-12.0.33.jar
+jetty-ee10-annotations-12.0.37.jar
+jetty-ee10-plus-12.0.37.jar
 jakarta.enterprise.cdi-api-4.0.1.jar
 jakarta.interceptor-api-2.1.0.jar
 jakarta.annotation-api-2.1.1.jar
-jetty-ee10-webapp-12.0.33.jar
-jetty-ee10-servlet-12.0.33.jar
+jetty-ee10-webapp-12.0.37.jar
+jetty-ee10-servlet-12.0.37.jar
 jakarta.servlet-api-6.0.0.jar
 jakarta.transaction-api-2.0.1.jar
 joda-time-2.12.7.jar
 jna-platform-5.11.0.jar
 jna-5.11.0.jar
-jetty-ee-12.0.33.jar
-jetty-session-12.0.33.jar
-jetty-plus-12.0.33.jar
-jetty-security-12.0.33.jar
-jetty-server-12.0.33.jar
+shiro-hashes-argon2-3.0.0.jar
+shiro-hashes-bcrypt-3.0.0.jar
+shiro-crypto-hash-3.0.0.jar
+bcprov-jdk18on-1.85.jar
+jetty-ee-12.0.37.jar
+jetty-session-12.0.37.jar
+jetty-plus-12.0.37.jar
+jetty-security-12.0.37.jar
+jetty-server-12.0.37.jar
 snappy-0.5.jar
 jgroups-3.6.20.Final.jar
-shiro-cache-2.1.0.jar
-shiro-crypto-hash-2.1.0.jar
-shiro-crypto-cipher-2.1.0.jar
-shiro-config-core-2.1.0.jar
-shiro-event-2.1.0.jar
-shiro-crypto-core-2.1.0.jar
-shiro-lang-2.1.0.jar
-shiro-hashes-argon2-2.1.0.jar
-shiro-hashes-bcrypt-2.1.0.jar
-jetty-xml-12.0.33.jar
-jetty-http-12.0.33.jar
-jetty-io-12.0.33.jar
+shiro-cache-3.0.0.jar
+shiro-crypto-cipher-3.0.0.jar
+shiro-config-core-3.0.0.jar
+shiro-event-3.0.0.jar
+shiro-crypto-core-3.0.0.jar
+shiro-lang-3.0.0.jar
+jetty-xml-12.0.37.jar
+jetty-http-12.0.37.jar
+jetty-io-12.0.37.jar
 spring-boot-starter-logging-3.3.13.jar
 jul-to-slf4j-2.0.17.jar
-jetty-jndi-12.0.33.jar
-jetty-util-12.0.33.jar
-slf4j-api-2.0.17.jar
-micrometer-observation-1.14.0.jar
-spring-jcl-6.1.21.jar
-micrometer-commons-1.14.0.jar
-LatencyUtils-2.0.3.jar
-reactor-core-3.6.10.jar
+jetty-jndi-12.0.37.jar
+jetty-util-12.0.37.jar
+slf4j-api-2.0.18.jar
+jackson-annotations-2.21.jar
 jline-console-3.26.3.jar
 jline-builtins-3.26.3.jar
 jline-reader-3.26.3.jar
 jline-style-3.26.3.jar
 jline-terminal-3.26.3.jar
+jline-native-3.26.3.jar
+micrometer-observation-1.15.12.jar
+spring-jcl-6.1.21.jar
+micrometer-commons-1.15.12.jar
+LatencyUtils-2.0.3.jar
+snakeyaml-2.5.jar
+reactor-core-3.6.10.jar
 ST4-4.3.3.jar
 txw2-4.0.2.jar
-snakeyaml-2.3.jar
-asm-commons-9.9.1.jar
-asm-tree-9.9.1.jar
-asm-9.9.1.jar
+asm-commons-9.10.1.jar
+asm-tree-9.10.1.jar
+asm-9.10.1.jar
 reactive-streams-1.0.4.jar
-jline-native-3.26.3.jar
 antlr-runtime-3.5.2.jar
 tomcat-embed-el-10.1.42.jar
 hibernate-validator-8.0.2.Final.jar
@@ -142,4 +145,3 @@ jboss-logging-3.4.3.Final.jar
 classmate-1.5.1.jar
 jakarta.el-api-5.0.0.jar
 jakarta.inject-api-2.0.1.jar
-bcprov-jdk18on-1.84.jar
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/ManagementAgent.java b/geode-core/src/main/java/org/apache/geode/management/internal/ManagementAgent.java
index 89ebe3bf84..82f908459f 100755
--- a/geode-core/src/main/java/org/apache/geode/management/internal/ManagementAgent.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/ManagementAgent.java
@@ -296,7 +296,14 @@ public class ManagementAgent {
         // we need to pass in the sllConfig to pulse because it needs it to make jmx connection
         if (agentUtil.isAnyWarFileAvailable(pulseWar)) {
           System.setProperty(PULSE_EMBEDDED_PROP, "true");
-          System.setProperty(PULSE_HOST_PROP, "" + config.getJmxManagerBindAddress());
+          // When JmxManagerBindAddress is empty (bind all interfaces), Pulse must connect to
+          // localhost rather than the empty string. An empty host in the JMX URL resolves to
+          // InetAddress.getLocalHost(), which on Linux/Docker gives the container's bridge IP
+          // (e.g. 172.17.0.2) instead of 127.0.0.1. The embedded keystore only contains
+          // IPAddress:127.0.0.1 as a SAN, so the SSL handshake fails on any non-loopback IP.
+          String jmxBindAddress = config.getJmxManagerBindAddress();
+          System.setProperty(PULSE_HOST_PROP,
+              jmxBindAddress.isEmpty() ? "localhost" : jmxBindAddress);
           System.setProperty(PULSE_PORT_PROP, "" + config.getJmxManagerPort());
 
           final SocketCreator jmxSocketCreator =
diff --git a/geode-gfsh/build.gradle b/geode-gfsh/build.gradle
index 3c814b10e0..f731cfff12 100644
--- a/geode-gfsh/build.gradle
+++ b/geode-gfsh/build.gradle
@@ -40,6 +40,9 @@ dependencies {
   implementation('com.fasterxml.jackson.core:jackson-databind')
   implementation('io.swagger.core.v3:swagger-annotations')
 
+  runtimeOnly('org.jline:jline-terminal-jni')
+  runtimeOnly('org.jline:jline-terminal-ffm')
+
   // JAXB dependencies needed for Java 11+
   implementation('jakarta.xml.bind:jakarta.xml.bind-api')
   runtimeOnly('org.glassfish.jaxb:jaxb-runtime')
diff --git a/geode-gfsh/src/main/java/org/apache/geode/management/internal/web/shell/HttpOperationInvoker.java b/geode-gfsh/src/main/java/org/apache/geode/management/internal/web/shell/HttpOperationInvoker.java
index bc70f5f4be..c81202f1f8 100644
--- a/geode-gfsh/src/main/java/org/apache/geode/management/internal/web/shell/HttpOperationInvoker.java
+++ b/geode-gfsh/src/main/java/org/apache/geode/management/internal/web/shell/HttpOperationInvoker.java
@@ -17,6 +17,7 @@ package org.apache.geode.management.internal.web.shell;
 import java.io.File;
 import java.io.IOException;
 import java.net.URI;
+import java.util.Base64;
 import java.util.Properties;
 import java.util.Set;
 import java.util.concurrent.Executors;
@@ -40,7 +41,6 @@ import org.apache.geode.management.internal.ManagementConstants;
 import org.apache.geode.management.internal.cli.CommandRequest;
 import org.apache.geode.management.internal.cli.shell.Gfsh;
 import org.apache.geode.management.internal.cli.shell.OperationInvoker;
-import org.apache.geode.management.internal.web.domain.QueryParameterSource;
 import org.apache.geode.management.internal.web.http.support.HttpRequester;
 import org.apache.geode.management.internal.web.shell.support.HttpMBeanProxyFactory;
 
@@ -383,8 +383,14 @@ public class HttpOperationInvoker implements OperationInvoker {
   public Set<ObjectName> queryNames(final ObjectName objectName, final QueryExp queryExpression) {
     final URI link = HttpRequester.createURI(baseUrl, "/mbean/query");
 
-    Object content = new QueryParameterSource(objectName, queryExpression);
     try {
+      final MultiValueMap<String, Object> content = new LinkedMultiValueMap<String, Object>();
+      content.add("objectName", objectName.toString());
+      if (queryExpression != null) {
+        content.add("queryExpression",
+            Base64.getEncoder().encodeToString(IOUtils.serializeObject(queryExpression)));
+      }
+
       return (Set<ObjectName>) IOUtils
           .deserializeObject(httpRequester.post(link, content, byte[].class));
     } catch (Exception e) {
diff --git a/geode-gfsh/src/test/resources/expected-pom.xml b/geode-gfsh/src/test/resources/expected-pom.xml
index 45903f4904..579bdc6578 100644
--- a/geode-gfsh/src/test/resources/expected-pom.xml
+++ b/geode-gfsh/src/test/resources/expected-pom.xml
@@ -349,6 +349,36 @@
         </exclusion>
       </exclusions>
     </dependency>
+    <dependency>
+      <groupId>org.jline</groupId>
+      <artifactId>jline-terminal-jni</artifactId>
+      <scope>runtime</scope>
+      <exclusions>
+        <exclusion>
+          <artifactId>log4j-to-slf4j</artifactId>
+          <groupId>org.apache.logging.log4j</groupId>
+        </exclusion>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>ch.qos.logback</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.jline</groupId>
+      <artifactId>jline-terminal-ffm</artifactId>
+      <scope>runtime</scope>
+      <exclusions>
+        <exclusion>
+          <artifactId>log4j-to-slf4j</artifactId>
+          <groupId>org.apache.logging.log4j</groupId>
+        </exclusion>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>ch.qos.logback</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
     <dependency>
       <groupId>org.glassfish.jaxb</groupId>
       <artifactId>jaxb-runtime</artifactId>
diff --git a/geode-server-all/src/integrationTest/resources/dependency_classpath.txt b/geode-server-all/src/integrationTest/resources/dependency_classpath.txt
index 6b665995a6..8ba910109e 100644
--- a/geode-server-all/src/integrationTest/resources/dependency_classpath.txt
+++ b/geode-server-all/src/integrationTest/resources/dependency_classpath.txt
@@ -19,25 +19,24 @@ geode-unsafe-0.0.0.jar
 geode-deployment-legacy-0.0.0.jar
 snappy-0.5.jar
 swagger-annotations-2.2.22.jar
-jackson-datatype-jsr310-2.21.2.jar
-jackson-annotations-2.21.jar
-jackson-dataformat-yaml-2.21.2.jar
-jackson-core-2.21.2.jar
-jackson-datatype-joda-2.21.2.jar
-jackson-databind-2.21.2.jar
+jackson-datatype-jsr310-2.21.5.jar
+jackson-dataformat-yaml-2.21.5.jar
+jackson-core-2.21.5.jar
+jackson-datatype-joda-2.21.5.jar
+jackson-databind-2.21.5.jar
 httpclient5-5.4.4.jar
-httpcore5-h2-5.3.6.jar
-httpcore5-5.3.6.jar
+httpcore5-h2-5.4.3.jar
+httpcore5-5.4.3.jar
 HikariCP-4.0.3.jar
 commons-lang3-3.18.0.jar
 jaxb-runtime-4.0.2.jar
 jaxb-core-4.0.2.jar
 jakarta.xml.bind-api-4.0.2.jar
-log4j-slf4j-impl-2.25.4.jar
-log4j-core-2.25.4.jar
-log4j-jcl-2.25.4.jar
-log4j-jul-2.25.4.jar
-log4j-api-2.25.4.jar
+log4j-slf4j-impl-2.25.5.jar
+log4j-core-2.25.5.jar
+log4j-jcl-2.25.5.jar
+log4j-jul-2.25.5.jar
+log4j-api-2.25.5.jar
 spring-shell-starter-3.3.3.jar
 rmiio-2.1.2.jar
 antlr-2.7.7.jar
@@ -46,18 +45,19 @@ spring-shell-standard-commands-3.3.3.jar
 spring-shell-standard-3.3.3.jar
 spring-shell-core-3.3.3.jar
 commons-io-2.19.0.jar
-micrometer-core-1.14.0.jar
+micrometer-core-1.15.12.jar
 jakarta.resource-api-2.1.0.jar
-jetty-ee10-annotations-12.0.33.jar
+jetty-ee10-annotations-12.0.37.jar
 spring-boot-starter-validation-3.3.13.jar
 spring-boot-starter-3.3.13.jar
-jetty-ee10-plus-12.0.33.jar
+jetty-ee10-plus-12.0.37.jar
 jakarta.enterprise.cdi-api-4.0.1.jar
 jakarta.interceptor-api-2.1.0.jar
 jakarta.annotation-api-2.1.1.jar
 jakarta.transaction-api-2.0.1.jar
-shiro-core-2.1.0.jar
+shiro-core-3.0.0.jar
 jgroups-3.6.20.Final.jar
+jackson-annotations-2.21.jar
 commons-validator-1.7.jar
 fastutil-8.5.8.jar
 jna-platform-5.11.0.jar
@@ -77,64 +77,66 @@ spring-context-6.1.21.jar
 spring-beans-6.1.21.jar
 spring-expression-6.1.21.jar
 spring-core-6.1.21.jar
+jline-terminal-jni-3.26.3.jar
+jline-terminal-ffm-3.26.3.jar
 lucene-analysis-phonetic-9.12.3.jar
 lucene-analysis-common-9.12.3.jar
 lucene-queryparser-9.12.3.jar
 lucene-queries-9.12.3.jar
 lucene-core-9.12.3.jar
-shiro-config-ogdl-2.1.0.jar
+shiro-config-ogdl-3.0.0.jar
 commons-beanutils-1.11.0.jar
 commons-codec-1.15.jar
 commons-collections-3.2.2.jar
 commons-digester-2.1.jar
 commons-logging-1.3.5.jar
 HdrHistogram-2.2.2.jar
-jetty-ee10-webapp-12.0.33.jar
-jetty-ee10-servlet-12.0.33.jar
+jetty-ee10-webapp-12.0.37.jar
+jetty-ee10-servlet-12.0.37.jar
 jakarta.servlet-api-6.0.0.jar
 joda-time-2.12.7.jar
-jetty-ee-12.0.33.jar
-jetty-session-12.0.33.jar
-jetty-plus-12.0.33.jar
-jetty-security-12.0.33.jar
-jetty-server-12.0.33.jar
-shiro-cache-2.1.0.jar
-shiro-hashes-argon2-2.1.0.jar
-shiro-hashes-bcrypt-2.1.0.jar
-shiro-crypto-hash-2.1.0.jar
-shiro-crypto-cipher-2.1.0.jar
-shiro-config-core-2.1.0.jar
-shiro-event-2.1.0.jar
-shiro-crypto-core-2.1.0.jar
-shiro-lang-2.1.0.jar
-jetty-xml-12.0.33.jar
-jetty-http-12.0.33.jar
-jetty-io-12.0.33.jar
-jetty-jndi-12.0.33.jar
-jetty-util-12.0.33.jar
+shiro-hashes-argon2-3.0.0.jar
+shiro-hashes-bcrypt-3.0.0.jar
+shiro-crypto-hash-3.0.0.jar
+bcprov-jdk18on-1.85.jar
+jetty-ee-12.0.37.jar
+jetty-session-12.0.37.jar
+jetty-plus-12.0.37.jar
+jetty-security-12.0.37.jar
+jetty-server-12.0.37.jar
+shiro-cache-3.0.0.jar
+shiro-crypto-cipher-3.0.0.jar
+shiro-config-core-3.0.0.jar
+shiro-event-3.0.0.jar
+shiro-crypto-core-3.0.0.jar
+shiro-lang-3.0.0.jar
+jetty-xml-12.0.37.jar
+jetty-http-12.0.37.jar
+jetty-io-12.0.37.jar
+jetty-jndi-12.0.37.jar
+jetty-util-12.0.37.jar
 spring-boot-starter-logging-3.3.13.jar
 jul-to-slf4j-2.0.17.jar
-slf4j-api-2.0.17.jar
-micrometer-observation-1.14.0.jar
-micrometer-commons-1.14.0.jar
-LatencyUtils-2.0.3.jar
-snakeyaml-2.3.jar
-spring-jcl-6.1.21.jar
-asm-commons-9.9.1.jar
-asm-tree-9.9.1.jar
-asm-9.9.1.jar
-txw2-4.0.2.jar
-bcprov-jdk18on-1.84.jar
-reactor-core-3.6.10.jar
+slf4j-api-2.0.18.jar
 jline-console-3.26.3.jar
 jline-builtins-3.26.3.jar
 jline-reader-3.26.3.jar
 jline-style-3.26.3.jar
 jline-terminal-3.26.3.jar
+jline-native-3.26.3.jar
+micrometer-observation-1.15.12.jar
+micrometer-commons-1.15.12.jar
+LatencyUtils-2.0.3.jar
+snakeyaml-2.5.jar
+spring-jcl-6.1.21.jar
+asm-commons-9.10.1.jar
+asm-tree-9.10.1.jar
+asm-9.10.1.jar
+txw2-4.0.2.jar
+reactor-core-3.6.10.jar
 ST4-4.3.3.jar
 jakarta.enterprise.lang-model-4.0.1.jar
 reactive-streams-1.0.4.jar
-jline-native-3.26.3.jar
 antlr-runtime-3.5.2.jar
 tomcat-embed-el-10.1.42.jar
 hibernate-validator-8.0.2.Final.jar
diff --git a/geode-web/src/main/java/org/apache/geode/management/internal/web/controllers/ShellCommandsController.java b/geode-web/src/main/java/org/apache/geode/management/internal/web/controllers/ShellCommandsController.java
index 3bc43a48e8..5e194b1908 100644
--- a/geode-web/src/main/java/org/apache/geode/management/internal/web/controllers/ShellCommandsController.java
+++ b/geode-web/src/main/java/org/apache/geode/management/internal/web/controllers/ShellCommandsController.java
@@ -17,9 +17,11 @@ package org.apache.geode.management.internal.web.controllers;
 import static org.apache.commons.io.IOUtils.toInputStream;
 import static org.apache.geode.management.internal.web.util.UriUtils.decode;
 
+import java.io.ByteArrayInputStream;
 import java.io.FileInputStream;
 import java.io.IOException;
 import java.nio.file.Path;
+import java.util.Base64;
 import java.util.Optional;
 import java.util.Set;
 
@@ -29,9 +31,11 @@ import javax.management.MBeanException;
 import javax.management.MBeanServer;
 import javax.management.MalformedObjectNameException;
 import javax.management.ObjectName;
+import javax.management.QueryExp;
 import javax.management.ReflectionException;
 
 import org.apache.commons.io.FileUtils;
+import org.apache.commons.io.serialization.ValidatingObjectInputStream;
 import org.apache.commons.lang3.ArrayUtils;
 import org.springframework.core.io.InputStreamResource;
 import org.springframework.http.HttpHeaders;
@@ -39,7 +43,6 @@ import org.springframework.http.HttpStatus;
 import org.springframework.http.MediaType;
 import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RequestParam;
@@ -55,7 +58,6 @@ import org.apache.geode.management.cli.Result;
 import org.apache.geode.management.internal.cli.result.model.ResultModel;
 import org.apache.geode.management.internal.cli.util.CommandStringBuilder;
 import org.apache.geode.management.internal.i18n.CliStrings;
-import org.apache.geode.management.internal.web.domain.QueryParameterSource;
 import org.apache.geode.util.internal.GeodeConverter;
 
 /**
@@ -162,11 +164,21 @@ public class ShellCommandsController extends AbstractCommandsController {
   }
 
   @RequestMapping(method = RequestMethod.POST, value = "/mbean/query")
-  public ResponseEntity<?> queryNames(@RequestBody final QueryParameterSource query)
-      throws IOException {
+  public ResponseEntity<?> queryNames(@RequestParam("objectName") final String objectName,
+      @RequestParam(value = "queryExpression", required = false) final String queryExpressionBase64)
+      throws Exception {
     // Exceptions are caught by the @ExceptionHandler AbstractCommandsController.handleAppException
-    final Set<ObjectName> objectNames =
-        getMBeanServer().queryNames(query.getObjectName(), query.getQueryExpression());
+    ObjectName name = ObjectName.getInstance(decode(objectName));
+    QueryExp query = null;
+    if (queryExpressionBase64 != null) {
+      byte[] decodedBytes = Base64.getDecoder().decode(queryExpressionBase64);
+      try (ValidatingObjectInputStream ois =
+          new ValidatingObjectInputStream(new ByteArrayInputStream(decodedBytes))) {
+        ois.accept("javax.management.*", "java.lang.*", "java.util.*");
+        query = (QueryExp) ois.readObject();
+      }
+    }
+    final Set<ObjectName> objectNames = getMBeanServer().queryNames(name, query);
     return new ResponseEntity<>(IOUtils.serializeObject(objectNames), HttpStatus.OK);
   }
 
diff --git a/geode-web/src/main/webapp/WEB-INF/geode-mgmt-servlet.xml b/geode-web/src/main/webapp/WEB-INF/geode-mgmt-servlet.xml
index 0ea3261d60..e3c417a459 100644
--- a/geode-web/src/main/webapp/WEB-INF/geode-mgmt-servlet.xml
+++ b/geode-web/src/main/webapp/WEB-INF/geode-mgmt-servlet.xml
@@ -48,7 +48,6 @@ limitations under the License.
       <bean class="org.springframework.http.converter.xml.Jaxb2RootElementHttpMessageConverter"/>
       <bean class="org.springframework.http.converter.xml.SourceHttpMessageConverter"/>
       <bean class="org.springframework.http.converter.support.AllEncompassingFormHttpMessageConverter"/>
-      <bean class="org.apache.geode.management.internal.web.http.converter.ServerSerializableObjectHttpMessageConverter"/>
     </mvc:message-converters>
   </mvc:annotation-driven>
 
diff --git a/geode-web/src/test/java/org/apache/geode/management/internal/web/controllers/QueryExpDeserializationTest.java b/geode-web/src/test/java/org/apache/geode/management/internal/web/controllers/QueryExpDeserializationTest.java
new file mode 100644
index 0000000000..763e45e6bf
--- /dev/null
+++ b/geode-web/src/test/java/org/apache/geode/management/internal/web/controllers/QueryExpDeserializationTest.java
@@ -0,0 +1,44 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.management.internal.web.controllers;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.ObjectOutputStream;
+
+import javax.management.Query;
+import javax.management.QueryExp;
+
+import org.apache.commons.io.serialization.ValidatingObjectInputStream;
+import org.junit.Test;
+
+public class QueryExpDeserializationTest {
+  @Test
+  public void testQueryExp() throws Exception {
+    QueryExp query = Query.eq(Query.attr("Name"), Query.value("mock"));
+    ByteArrayOutputStream baos = new ByteArrayOutputStream();
+    ObjectOutputStream oos = new ObjectOutputStream(baos);
+    oos.writeObject(query);
+    oos.close();
+
+    byte[] decoded = baos.toByteArray();
+    ValidatingObjectInputStream ois =
+        new ValidatingObjectInputStream(new ByteArrayInputStream(decoded));
+    ois.accept("javax.management.*", "java.lang.*", "java.util.*");
+
+    QueryExp q = (QueryExp) ois.readObject();
+    System.out.println(q);
+  }
+}