Skip to content

Commit a12b8a9

Browse files
authored
Merge branch 'main' into feat/configurable-compress
2 parents 60ef2f5 + 07a68e9 commit a12b8a9

302 files changed

Lines changed: 6636 additions & 3012 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/ci-macos.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ jobs:
3131
runs-on: macos-latest
3232
steps:
3333
- name: Git Checkout
34-
uses: actions/checkout@v5
34+
uses: actions/checkout@v6
3535
- name: Set up Java
3636
uses: actions/setup-java@v5
3737
with:
@@ -45,7 +45,7 @@ jobs:
4545
4646
- name: Upload logs
4747
if: ${{ !cancelled() }}
48-
uses: actions/upload-artifact@v5
48+
uses: actions/upload-artifact@v6
4949
with:
5050
name: JDK25-macos-latest-logs
5151
path: |

.github/workflows/ci.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ jobs:
5050
runs-on: ${{ matrix.os }}
5151
steps:
5252
- name: Git Checkout
53-
uses: actions/checkout@v5
53+
uses: actions/checkout@v6
5454
- name: Set up Java
5555
uses: actions/setup-java@v5
5656
with:
@@ -60,11 +60,11 @@ jobs:
6060
run: |
6161
ant -noinput echoproperties deploy embed test-nio test-status
6262
env:
63-
ANT_OPTS: -Dtest.openssl.exists=false -Dtest.excludePerformance=true -Dtest.exclude=jakarta/servlet/http/TestHttpServletResponseSendError.java,org/apache/catalina/authenticator/TestFormAuthenticatorA.java,org/apache/catalina/authenticator/TestFormAuthenticatorB.java,org/apache/catalina/authenticator/TestFormAuthenticatorC.java,org/apache/catalina/authenticator/TestSSOnonLoginAndBasicAuthenticator.java,org/apache/catalina/authenticator/TestSSOnonLoginAndDigestAuthenticator.java,org/apache/catalina/core/TestAsyncContextImpl.java,org/apache/catalina/core/TestAsyncContextStateChanges.java,org/apache/catalina/core/TestStandardContextResources.java,org/apache/catalina/core/TestStandardWrapper.java,org/apache/catalina/loader/TestVirtualContext.java,org/apache/catalina/mapper/TestMapperWebapps.java,org/apache/catalina/nonblocking/TestNonBlockingAPI.java,org/apache/catalina/servlets/TestDefaultServletEncodingPassThroughBom.java,org/apache/catalina/servlets/TestDefaultServletEncodingWithBom.java,org/apache/catalina/servlets/TestDefaultServletEncodingWithoutBom.java,org/apache/catalina/servlets/TestDefaultServletIfMatchRequests.java,org/apache/catalina/servlets/TestDefaultServlet.java,org/apache/catalina/servlets/TestDefaultServletOptions.java,org/apache/catalina/servlets/TestWebdavServletOptionsFile.java,org/apache/catalina/startup/TestContextConfig.java,org/apache/catalina/startup/TestHostConfigAutomaticDeploymentA.java,org/apache/catalina/startup/TestHostConfigAutomaticDeploymentB.java,org/apache/catalina/startup/TestHostConfigAutomaticDeploymentC.java,org/apache/catalina/valves/rewrite/TestRewriteValve.java,org/apache/catalina/valves/TestStuckThreadDetectionValve.java,org/apache/coyote/ajp/TestAbstractAjpProcessor.java,org/apache/coyote/http11/filters/TestChunkedInputFilter.java,org/apache/coyote/http11/TestHttp11InputBufferCRLF.java,org/apache/coyote/http11/TestHttp11InputBuffer.java,org/apache/coyote/http11/TestHttp11Processor.java,org/apache/coyote/http2/TestAsync.java,org/apache/coyote/http2/TestHttp2ConnectionTimeouts.java,org/apache/coyote/http2/TestHttp2Limits.java,org/apache/coyote/http2/TestHttp2Section_6_8.java,org/apache/coyote/http2/TestHttp2Timeouts.java,org/apache/coyote/http2/TestStreamQueryString.java,org/apache/el/TestELInJsp.java,org/apache/jasper/compiler/TestCompiler.java,org/apache/jasper/compiler/TestEncodingDetector.java,org/apache/jasper/compiler/TestGenerator.java,org/apache/jasper/compiler/TestJspConfig.java,org/apache/jasper/compiler/TestJspDocumentParser.java,org/apache/jasper/compiler/TestValidator.java,org/apache/jasper/optimizations/TestELInterpreterTagSetters.java,org/apache/jasper/optimizations/TestStringInterpreterTagSetters.java,org/apache/jasper/runtime/TestCustomHttpJspPage.java,org/apache/jasper/runtime/TestJspContextWrapper.java,org/apache/jasper/runtime/TestJspRuntimeLibrary.java,org/apache/jasper/runtime/TestPageContextImpl.java,org/apache/jasper/servlet/TestTldScanner.java,org/apache/naming/resources/TestWarDirContext.java,org/apache/naming/TestEnvEntry.java,org/apache/tomcat/util/net/TestClientCert.java,org/apache/tomcat/util/net/TestCustomSslTrustManager.java,org/apache/tomcat/util/net/TestSSLHostConfigCompat.java,org/apache/tomcat/util/net/TestSsl.java,org/apache/tomcat/websocket/server/TestSlowClient.java,org/apache/tomcat/websocket/server/TestWsRemoteEndpointImplServerDeadlock.java,org/apache/tomcat/websocket/TestWebSocketFrameClientSSL.java,org/apache/tomcat/websocket/TestWsWebSocketContainer.java,org/apache/tomcat/websocket/TestWsWebSocketContainerTimeoutServer.java,org/apache/catalina/tribes/group/interceptors/TestTcpFailureDetector.java,org/apache/catalina/filters/TestRateLimitFilter.java,jakarta/servlet/http/TestHttpServletDoHeadInvalidWrite*.java,jakarta/servlet/http/TestHttpServletDoHeadValidWrite*.java
63+
ANT_OPTS: -Dtest.openssl.exists=false -Dtest.excludePerformance=true -Dtest.profile=smoke
6464

6565
- name: Upload logs
6666
if: ${{ !cancelled() }}
67-
uses: actions/upload-artifact@v5
67+
uses: actions/upload-artifact@v6
6868
with:
6969
name: JDK${{ matrix.java }}-${{ matrix.os }}-logs
7070
path: |

.github/workflows/coverity.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424
coverity:
2525
runs-on: ubuntu-latest
2626
steps:
27-
- uses: actions/checkout@v5
27+
- uses: actions/checkout@v6
2828
- uses: actions/setup-java@v5
2929
with:
3030
java-version: 21

.github/workflows/validate.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ jobs:
3434
runs-on: ${{ matrix.os }}
3535
steps:
3636
- name: Git Checkout
37-
uses: actions/checkout@v5
37+
uses: actions/checkout@v6
3838
- name: Set up Java
3939
uses: actions/setup-java@v5
4040
with:

BUILDING.txt

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -293,14 +293,15 @@ in build.xml and the default property values in build.properties.default.
293293
# Location of GPG executable (used only for releases)
294294
gpg.exec=/path/to/gpg
295295

296-
You do not need it if you do not plan to sign the release.
297-
298-
If "gpg.exec" property does not point to an existing file, it will be
299-
ignored and this feature will be deactivated.
300-
301296
You will be prompted for the GPG passphrase when the release build
302297
starts, unless "gpg.passphrase" property is set.
303298

299+
The ant target "verify-release" also uses the property "gpg.exec" to
300+
call the GPG executable. If you want to use "verify-release" but you
301+
do not want to sign the release artefacts, set "gpg.exec" and also
302+
"gpg.sign.files=false".
303+
304+
304305
3. If building the Windows installer on Windows
305306

306307
If running the build in a UAC enabled environment, building the Windows
@@ -529,7 +530,16 @@ as for the property "test.name".
529530
This is configured by setting "test.threads" property. The recommended
530531
value is one thread per core.
531532

532-
6. Optional support is provided for the Cobertura code coverage tool.
533+
6. Test output can be suppressed for cleaner console output, especially useful
534+
when running tests with multiple threads:
535+
536+
ant test -Dtest.silent=true
537+
538+
This suppresses JUnit console output while still saving all test results to
539+
individual log files in output/build/logs. The test-status target will still
540+
display a summary of any failures or skipped tests.
541+
542+
7. Optional support is provided for the Cobertura code coverage tool.
533543

534544
NOTE: Cobertura is licensed under GPL v2 with parts of it being under
535545
Apache License v1.1. See https://cobertura.github.io/cobertura/ for details.

MERGE.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,12 +58,12 @@ Unused classes removed
5858
Sub-tree
5959
src/main/java/org/apache/commons/pool2
6060
The SHA1 ID / tag for the most recent commit to be merged to Tomcat is:
61-
rel/commons-pool-2.12.1 (2025-01-27)
61+
rel/commons-pool-2.13.1 (2025-12-30)
6262

6363
DBCP2
6464
No unused code removed
6565
Sub-tree
6666
src/main/java/org/apache/commons/dbcp2
6767
src/main/resources/org/apache/commons/dbcp2
6868
The SHA1 ID / tag for the most recent commit to be merged to Tomcat is:
69-
rel/commons-dbcp-2.13.0 (2024-12-02)
69+
rel/commons-dbcp-2.14.0 (2025-12-16)

NOTICE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
Apache Tomcat
2-
Copyright 1999-2025 The Apache Software Foundation
2+
Copyright 1999-2026 The Apache Software Foundation
33

44
This product includes software developed at
55
The Apache Software Foundation (https://www.apache.org/).

README.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,7 @@ Please see [LICENSE](LICENSE) for more info.
5757
### Support and Mailing List Information
5858

5959
* Free community support is available through the
60-
[tomcat-users](https://tomcat.apache.org/lists.html#tomcat-users) email list and
61-
a dedicated [IRC channel](https://tomcat.apache.org/irc.html) (#tomcat on
62-
Freenode).
60+
[tomcat-users](https://tomcat.apache.org/lists.html#tomcat-users) email list.
6361

6462
* If you want freely available support for running Apache Tomcat, please see the
6563
resources page [here](https://tomcat.apache.org/findhelp.html).

build.properties.default

Lines changed: 31 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,8 @@ test.haltonfailure=false
7575
test.accesslog=false
7676
# Display the tests output on the console
7777
test.verbose=true
78+
# Suppress JUnit console output (useful for parallel testing)
79+
test.silent=false
7880

7981
# Number of parallel threads to use for testing. The recommended value is one
8082
# thread per core.
@@ -99,6 +101,8 @@ openssl.ffm.3=-DNoop3
99101
# ----- Release build settings -----
100102
# Location of GPG executable
101103
gpg.exec=/path/to/gpg
104+
# Release artefact signing with gpg
105+
gpg.sign.files=true
102106

103107
# Code signing of Windows installer
104108
# See https://infra.apache.org/digicert-use.html for setup instructions
@@ -140,30 +144,30 @@ base-maven.loc=https://repo.maven.apache.org/maven2
140144
# ----- Eclipse JDT, version 4.7 or later -----#
141145
# See https://cwiki.apache.org/confluence/display/TOMCAT/Managing+Tomcat%27s+Dependency+on+the+Eclipse+JDT+Core+Batch+Compiler
142146
#
143-
# Checksum is from "SHA512 Checksums for 4.36" link at
144-
# https://download.eclipse.org/eclipse/downloads/drops4/R-4.36-202505281830/
145-
# https://download.eclipse.org/eclipse/downloads/drops4/R-4.36-202505281830/checksum/eclipse-4.36-SUMSSHA512
147+
# Checksum is from "SHA512 Checksums for 4.38" link at
148+
# https://download.eclipse.org/eclipse/downloads/drops4/R-4.38-202512010920/
149+
# https://download.eclipse.org/eclipse/downloads/drops4/R-4.38-202512010920/checksum/eclipse-4.38-SUMSSHA512
146150
#
147-
jdt.version=4.37
148-
jdt.release=R-4.37-202509050730
151+
jdt.version=4.38
152+
jdt.release=R-4.38-202512010920
149153
jdt.checksum.enabled=true
150154
jdt.checksum.algorithm=SHA-512
151-
jdt.checksum.value=06d8974af46d81f7a03c257b54fb5854a9b9ba8ab2733db4946745142e07e7dc3e69ea864d4b011230ffb8f92243503d7ffb6ac2ddf9b747c1bbc155c55fb583
155+
jdt.checksum.value=41d5cea69f9bdc75eee3b5e89bf29ae9cbfe8de9f1ccdc94ea9364c182463bc4003fdee19b23c17b9ddc7c8950f4d196bb4cf3d8a5c2d1af56a769905385e906
152156
jdt.home=${base.path}/ecj-${jdt.version}
153157
jdt.jar=${jdt.home}/ecj-${jdt.version}.jar
154158
# The download will be moved to the archive area eventually. We are taking care of that in advance.
155159
jdt.loc.1=https://archive.eclipse.org/eclipse/downloads/drops4/${jdt.release}/ecj-${jdt.version}.jar
156160
jdt.loc.2=https://download.eclipse.org/eclipse/downloads/drops4/${jdt.release}/ecj-${jdt.version}.jar
157161

158162
# ----- Tomcat native library -----
159-
tomcat-native.version=2.0.9
160-
tomcat-native-openssl.version=3.5.0
163+
tomcat-native.version=2.0.12
164+
tomcat-native-openssl.version=3.5.4
161165
tomcat-native.src.checksum.enabled=true
162166
tomcat-native.src.checksum.algorithm=SHA-512
163-
tomcat-native.src.checksum.value=c8eb81de1cf7316174c36038c2133b013fd18ba11df09c41edb927ff33fef46863ef706b6193487ecde1eed7055d4c47fa23fc29d5a8d53f0c4b6d69b0ce9b33
167+
tomcat-native.src.checksum.value=d937e04f7c9f0fa6ef82b32928fa2d59dbdac45cb58c7ba8eff4338fbd942297b1c9512a0a8ff80cf758d9b6ca5cc5cba8cefdc91507318b72afc56888aa1f3c
164168
tomcat-native.win.checksum.enabled=true
165169
tomcat-native.win.checksum.algorithm=SHA-512
166-
tomcat-native.win.checksum.value=8e8a580425671025913259659b61c497354d682735481663730e800c8f8b4d16d3322d9c75037146f901af22341a903fa9700d18d8d2cd874745a18563cde0d5
170+
tomcat-native.win.checksum.value=f743c151a1d48a1967c08f01986b1a30176cc8a388ad760cb8aac19e6956e5630d7ddff54782c2e136e8f247809d573fd48a31ed1a756923a3ad0954e2d4a3fe
167171
tomcat-native.home=${base.path}/tomcat-native-${tomcat-native.version}
168172
tomcat-native.tar.gz=${tomcat-native.home}/tomcat-native.tar.gz
169173
tomcat-native.loc.1=${base-tomcat.loc.1}/tomcat-connectors/native/${tomcat-native.version}/source/tomcat-native-${tomcat-native.version}-src.tar.gz
@@ -185,20 +189,20 @@ nsis.src.home=${base.path}/nsis-${nsis.version}-src
185189
nsis.src.loc=${base-sf.loc}/nsis/nsis-${nsis.version}-src.tar.bz2
186190

187191
# ----- Commons Daemon, version 1.2.0 or later -----
188-
commons-daemon.version=1.4.1
192+
commons-daemon.version=1.5.1
189193

190-
# checksum for commons-daemon-1.4.1-bin.tar.gz
194+
# checksum for commons-daemon-1.5.1-bin.tar.gz
191195
commons-daemon.bin.checksum.enabled=true
192196
commons-daemon.bin.checksum.algorithm=SHA-512
193-
commons-daemon.bin.checksum.value=6e1e590d1b25b1c543b7e149748b25b7a200a20a70d490b1f2628ce808dd9da170d33c62b57421bdf7db0a9e0ac1df7f67de5e9ea4e70d500ec97ff7e6662e6a
197+
commons-daemon.bin.checksum.value=740b832b8a7b5df8f2aa8029cf6ee88b8be6f4f5e42e34587a70bbf2cbe5b7e7dd75da375d2f3f1f7f2e6a5d89b5ceba5433499773852df67e8bbeb88b466786
194198

195-
# checksums for commons-daemon-1.4.1-native-src.tar.gz, commons-daemon-1.4.1-bin-windows.zip
199+
# checksums for commons-daemon-1.5.1-native-src.tar.gz, commons-daemon-1.5.1-bin-windows.zip
196200
commons-daemon.native.src.checksum.enabled=true
197201
commons-daemon.native.src.checksum.algorithm=SHA-512
198-
commons-daemon.native.src.checksum.value=578002ddd6d1a63488b9920b848d839cab39fca58c1e208b929b5c327590ca63c5878cd5280d2a2006191a8e81d93e5ca07414f6f6f4a72669352df72a5977b1
202+
commons-daemon.native.src.checksum.value=ced2238b4fb47a208e7c9aa435e7981b5d42fd9e07d11d7f72da2b7239c388a3b7d6b7ce3424624aecfbe7a8471ee316cdd46a040fadb129096705fa3325129b
199203
commons-daemon.native.win.checksum.enabled=true
200204
commons-daemon.native.win.checksum.algorithm=SHA-512
201-
commons-daemon.native.win.checksum.value=b8eeea01dbca495780e61db26776eab1561990d54499202bcb5d97c9f49e194ebc40002fabbaf74b5334481a2f42f80df5132efd0671632074df83759e04484a
205+
commons-daemon.native.win.checksum.value=26cef55a0237aab449d2133e56815393729c3965c6fd063326bccdb569be91ddfe500b247ba3df3e9baac511452825d3d0333d165abd24932717a372a294a463
202206

203207
commons-daemon.home=${base.path}/commons-daemon-${commons-daemon.version}
204208
commons-daemon.jar=${commons-daemon.home}/commons-daemon-${commons-daemon.version}.jar
@@ -250,28 +254,28 @@ objenesis.jar=${objenesis.home}/objenesis-${objenesis.version}.jar
250254
objenesis.loc=${base-maven.loc}/org/objenesis/objenesis/${objenesis.version}/objenesis-${objenesis.version}.jar
251255

252256
# ----- byte-buddy, used by EasyMock, version 1.12.18 or later -----
253-
bytebuddy.version=1.17.8
257+
bytebuddy.version=1.18.3
254258
bytebuddy.checksum.enabled=true
255259
bytebuddy.checksum.algorithm=SHA-512
256-
bytebuddy.checksum.value=dd7f3f6aaf3dbf9df763e558706c82ad05add934d57e4872603da20fe8ba29647411b2456ec33c5cf07cf9d11e53f41aedbcb0ea4ca140c42ca632891cd826bf
260+
bytebuddy.checksum.value=8f35c806a25d9089a08d12a7aaf22c5bea2f356c432a21655f30a7935918b6385e1e080180b6ef5ad3638796fc3a7243220dfec08c31c1195416e6790fd797af
257261
bytebuddy.home=${base.path}/byte-buddy-${bytebuddy.version}
258262
bytebuddy.jar=${bytebuddy.home}/byte-buddy-${bytebuddy.version}.jar
259263
bytebuddy.loc=${base-maven.loc}/net/bytebuddy/byte-buddy/${bytebuddy.version}/byte-buddy-${bytebuddy.version}.jar
260264

261265
# ----- UnboundID, used by unit tests, version 5.1.4 or later -----
262-
unboundid.version=7.0.3
266+
unboundid.version=7.0.4
263267
unboundid.checksum.enabled=true
264-
unboundid.checksum.algorithm=SHA-512
265-
unboundid.checksum.value=25fef7f28e06bedfa54672370e0e4cfb5ef8041f1bd5abf2826ad022e5131bf1d3791314888a939f3fe25edbc28d28afffdd7125cfae16876ead0bf50c68351a
268+
unboundid.checksum.algorithm=MD5|SHA-1
269+
unboundid.checksum.value=7006a217741934517b1cdd6aa12c6d9f|2fe2d5461a87a58aee97f836e3af63ef8ce7b29e
266270
unboundid.home=${base.path}/unboundid-${unboundid.version}
267271
unboundid.jar=${unboundid.home}/unboundid-ldapsdk-${unboundid.version}.jar
268272
unboundid.loc=${base-maven.loc}/com/unboundid/unboundid-ldapsdk/${unboundid.version}/unboundid-ldapsdk-${unboundid.version}.jar
269273

270274
# ----- Checkstyle, version 6.16 or later -----
271-
checkstyle.version=12.1.1
275+
checkstyle.version=13.0.0
272276
checkstyle.checksum.enabled=true
273277
checkstyle.checksum.algorithm=SHA-512
274-
checkstyle.checksum.value=ebdb306a9ffadbb319053e950020b2f251199fad11b74ae14ae6a162219f542f851885c73abfaf565bacaa9ff1322280d522cda4cd66e7052a263d453a7307df
278+
checkstyle.checksum.value=95e2955274996a9f0811014bdf1e50f3f2496d2f398ef1674015286a8abcfb1c0d540406695b5a3af6b7b5dce02dafa50d854f021401ae0d78287233ba8afa3d
275279
checkstyle.home=${base.path}/checkstyle-${checkstyle.version}
276280
checkstyle.jar=${checkstyle.home}/checkstyle-${checkstyle.version}-all.jar
277281
checkstyle.loc=${base-gh.loc}/checkstyle/checkstyle/releases/download/checkstyle-${checkstyle.version}/checkstyle-${checkstyle.version}-all.jar
@@ -296,20 +300,20 @@ spotbugs.loc=${base-maven.loc}/com/github/spotbugs/spotbugs/${spotbugs.version}/
296300

297301
# ----- bnd, version 6.3.0 or later -----
298302
# ----- provides OSGI metadata for JARs -----
299-
bnd.version=7.1.0
303+
bnd.version=7.2.0
300304
bnd.checksum.enabled=true
301305
bnd.checksum.algorithm=MD5|SHA-1
302-
bnd.checksum.value=9cee533d5f3973d6135e557934160180|49e4ebe633c608c498cbfc7d7a4e9dda5fefa2fc
306+
bnd.checksum.value=dea22b7afa9de21e1adb27d2e835a94c|af26ddc466eb178963d4eb800d2824f488037aec
303307

304308
bnd.home=${base.path}/bnd-${bnd.version}
305309
bnd.jar=${bnd.home}/biz.aQute.bnd-${bnd.version}.jar
306310
bnd.loc=${base-maven.loc}/biz/aQute/bnd/biz.aQute.bnd/${bnd.version}/biz.aQute.bnd-${bnd.version}.jar
307311

308312
# ----- Tomcat Migration Tool for Jakarta EE -----
309-
migration-lib.version=1.0.9
313+
migration-lib.version=1.0.10
310314
migration-lib.checksum.enabled=true
311315
migration-lib.checksum.algorithm=MD5|SHA-1
312-
migration-lib.checksum.value=0c41a2032c09d943211be5d41aed3f8f|fe5473b73441e664842086b8496b940cd2c3c054
316+
migration-lib.checksum.value=264a836032d45f600e01a95b3d5925e3|c86a0981ae313658222fb576595c0546542c4911
313317

314318
migration-lib.home=${base.path}/migration-${migration-lib.version}
315319
migration-lib.jar=${migration-lib.home}/jakartaee-migration-${migration-lib.version}-shaded.jar

0 commit comments

Comments
 (0)