From c7b1a0fdc6563aad1ac993e9a8d710ab9b1da223 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Nicoll?= Date: Tue, 6 Oct 2026 14:28:47 +0200 Subject: [PATCH 01/21] Upgrade to Build Helper Maven Plugin 3.6.2 Closes gh-51984 --- platform/spring-boot-dependencies/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/spring-boot-dependencies/build.gradle b/platform/spring-boot-dependencies/build.gradle index e57f243525c..c5550ba3698 100644 --- a/platform/spring-boot-dependencies/build.gradle +++ b/platform/spring-boot-dependencies/build.gradle @@ -148,7 +148,7 @@ bom { releaseNotes("https://github.com/openzipkin/brave/releases/tag/{version}") } } - library("Build Helper Maven Plugin", "3.6.1") { + library("Build Helper Maven Plugin", "3.6.2") { group("org.codehaus.mojo") { plugins = [ "build-helper-maven-plugin" From e4dd01c4db0d33d6712a9a7f4c21ec1c614f7c16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Nicoll?= Date: Tue, 6 Oct 2026 14:28:51 +0200 Subject: [PATCH 02/21] Upgrade to Couchbase Client 3.9.3 Closes gh-51985 --- platform/spring-boot-dependencies/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/spring-boot-dependencies/build.gradle b/platform/spring-boot-dependencies/build.gradle index c5550ba3698..70e232ccad8 100644 --- a/platform/spring-boot-dependencies/build.gradle +++ b/platform/spring-boot-dependencies/build.gradle @@ -286,7 +286,7 @@ bom { site("https://commons.apache.org/proper/commons-pool") } } - library("Couchbase Client", "3.9.2") { + library("Couchbase Client", "3.9.3") { group("com.couchbase.client") { modules = [ "java-client" From 6e2ff62ee86979684438d5b7ffffb0c11765f41b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Nicoll?= Date: Tue, 6 Oct 2026 14:28:55 +0200 Subject: [PATCH 03/21] Upgrade to FreeMarker 2.3.35 Closes gh-51986 --- platform/spring-boot-dependencies/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/spring-boot-dependencies/build.gradle b/platform/spring-boot-dependencies/build.gradle index 70e232ccad8..e2635bdb646 100644 --- a/platform/spring-boot-dependencies/build.gradle +++ b/platform/spring-boot-dependencies/build.gradle @@ -432,7 +432,7 @@ bom { releaseNotes("https://documentation.red-gate.com/flyway/release-notes-and-older-versions/release-notes-for-flyway-engine") } } - library("FreeMarker", "2.3.34") { + library("FreeMarker", "2.3.35") { group("org.freemarker") { modules = [ "freemarker" From 71887906e1bfec1f0e6cd98317565a906593c93e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Nicoll?= Date: Tue, 6 Oct 2026 14:28:59 +0200 Subject: [PATCH 04/21] Upgrade to Hibernate 7.2.25.Final Closes gh-51987 --- platform/spring-boot-dependencies/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/spring-boot-dependencies/build.gradle b/platform/spring-boot-dependencies/build.gradle index e2635bdb646..f30ce161f3b 100644 --- a/platform/spring-boot-dependencies/build.gradle +++ b/platform/spring-boot-dependencies/build.gradle @@ -585,7 +585,7 @@ bom { releaseNotes("https://github.com/hazelcast/hazelcast/releases/tag/v{version}") } } - library("Hibernate", "7.2.24.Final") { + library("Hibernate", "7.2.25.Final") { group("org.hibernate.orm") { modules = [ "hibernate-agroal", From 0ca1b5dcd8579c70e4d1ef2757616c94b0ae7153 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Nicoll?= Date: Tue, 6 Oct 2026 14:29:03 +0200 Subject: [PATCH 05/21] Upgrade to Jackson 2 Bom 2.21.7 Closes gh-51988 --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index dbdc05f49cb..a249943ae19 100644 --- a/gradle.properties +++ b/gradle.properties @@ -11,7 +11,7 @@ checkstyleToolVersion=10.12.4 commonsCodecVersion=1.19.0 graalVersion=25 hamcrestVersion=3.0 -jackson2Version=2.21.5 +jackson2Version=2.21.7 jacksonVersion=3.1.5 javaFormatVersion=0.0.48 junitJupiterVersion=6.0.3 From 1a6afb4118bf78dab082a2f17023ba66841f6a52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Nicoll?= Date: Tue, 6 Oct 2026 14:29:07 +0200 Subject: [PATCH 06/21] Upgrade to Jackson Bom 3.1.7 Closes gh-51989 --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index a249943ae19..b53ea936117 100644 --- a/gradle.properties +++ b/gradle.properties @@ -12,7 +12,7 @@ commonsCodecVersion=1.19.0 graalVersion=25 hamcrestVersion=3.0 jackson2Version=2.21.7 -jacksonVersion=3.1.5 +jacksonVersion=3.1.7 javaFormatVersion=0.0.48 junitJupiterVersion=6.0.3 kotlinVersion=2.2.21 From 2b4b51fe8ca41ff0b0dd61e4f9ed748205598b55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Nicoll?= Date: Tue, 6 Oct 2026 14:29:12 +0200 Subject: [PATCH 07/21] Upgrade to Jakarta Json Bind 3.0.3 Closes gh-51990 --- platform/spring-boot-dependencies/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/spring-boot-dependencies/build.gradle b/platform/spring-boot-dependencies/build.gradle index f30ce161f3b..a5d9add0cea 100644 --- a/platform/spring-boot-dependencies/build.gradle +++ b/platform/spring-boot-dependencies/build.gradle @@ -826,7 +826,7 @@ bom { releaseNotes("https://github.com/jakartaee/jsonp-api/releases/tag/{version}-RELEASE") } } - library("Jakarta Json Bind", "3.0.2") { + library("Jakarta Json Bind", "3.0.3") { group("jakarta.json.bind") { modules = [ "jakarta.json.bind-api" From e2bb30030847034f23f266b86f44345e54a3dc77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Nicoll?= Date: Tue, 6 Oct 2026 14:29:16 +0200 Subject: [PATCH 08/21] Upgrade to Jaybird 6.0.6 Closes gh-51991 --- platform/spring-boot-dependencies/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/spring-boot-dependencies/build.gradle b/platform/spring-boot-dependencies/build.gradle index a5d9add0cea..b6b107a9ecb 100644 --- a/platform/spring-boot-dependencies/build.gradle +++ b/platform/spring-boot-dependencies/build.gradle @@ -1021,7 +1021,7 @@ bom { releaseNotes("https://github.com/jaxen-xpath/jaxen/releases/tag/v{version}") } } - library("Jaybird", "6.0.5") { + library("Jaybird", "6.0.6") { prohibit { endsWith ".java8" because "we use the .java11 version" From 3c8a29040ed2eda20cb12356afd681de1805fb3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Nicoll?= Date: Tue, 6 Oct 2026 14:29:20 +0200 Subject: [PATCH 09/21] Upgrade to Jersey 4.0.3 Closes gh-51992 --- platform/spring-boot-dependencies/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/spring-boot-dependencies/build.gradle b/platform/spring-boot-dependencies/build.gradle index b6b107a9ecb..ba1a8007436 100644 --- a/platform/spring-boot-dependencies/build.gradle +++ b/platform/spring-boot-dependencies/build.gradle @@ -1074,7 +1074,7 @@ bom { releaseNotes("https://github.com/redis/jedis/releases/tag/v{version}") } } - library("Jersey", "4.0.2") { + library("Jersey", "4.0.3") { group("org.glassfish.jersey") { bom("jersey-bom") } From f120a456a3f9c245c515cdaa7dfe53fb8650142a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Nicoll?= Date: Tue, 6 Oct 2026 14:29:25 +0200 Subject: [PATCH 10/21] Upgrade to Jetty 12.1.14 Closes gh-51993 --- platform/spring-boot-dependencies/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/spring-boot-dependencies/build.gradle b/platform/spring-boot-dependencies/build.gradle index ba1a8007436..09f7d8ce1b4 100644 --- a/platform/spring-boot-dependencies/build.gradle +++ b/platform/spring-boot-dependencies/build.gradle @@ -1090,7 +1090,7 @@ bom { ] } } - library("Jetty", "12.1.12") { + library("Jetty", "12.1.14") { prohibit { contains ".alpha" because "we don't want alpha dependencies" From 2878526c62576c96b4826d40374bb4b1650c7733 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Nicoll?= Date: Tue, 6 Oct 2026 14:29:29 +0200 Subject: [PATCH 11/21] Upgrade to jOOQ 3.19.39 Closes gh-51994 --- platform/spring-boot-dependencies/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/spring-boot-dependencies/build.gradle b/platform/spring-boot-dependencies/build.gradle index 09f7d8ce1b4..3520ccc59e4 100644 --- a/platform/spring-boot-dependencies/build.gradle +++ b/platform/spring-boot-dependencies/build.gradle @@ -1118,7 +1118,7 @@ bom { javadoc("https://javadoc.io/doc/com.samskivert/jmustache/{version}", "com.samskivert.mustache") } } - library("jOOQ", "3.19.37") { + library("jOOQ", "3.19.39") { prohibit { versionRange "[3.20.0,)" because "it requires Java 21" From 8389be5fd330cd74d95851344d89fba0aee83120 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Nicoll?= Date: Tue, 6 Oct 2026 14:29:33 +0200 Subject: [PATCH 12/21] Upgrade to Liquibase 5.0.4 Closes gh-51995 --- platform/spring-boot-dependencies/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/spring-boot-dependencies/build.gradle b/platform/spring-boot-dependencies/build.gradle index 3520ccc59e4..398a580f9e1 100644 --- a/platform/spring-boot-dependencies/build.gradle +++ b/platform/spring-boot-dependencies/build.gradle @@ -1321,7 +1321,7 @@ bom { releaseNotes("https://github.com/redis/lettuce/releases/tag/{version}") } } - library("Liquibase", "5.0.3") { + library("Liquibase", "5.0.4") { group("org.liquibase") { modules = [ "liquibase-cdi", From 422e26f04732548c8f6ebe7683be4c2411546b3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Nicoll?= Date: Tue, 6 Oct 2026 14:29:37 +0200 Subject: [PATCH 13/21] Upgrade to Lombok 1.18.48 Closes gh-51996 --- platform/spring-boot-dependencies/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/spring-boot-dependencies/build.gradle b/platform/spring-boot-dependencies/build.gradle index 398a580f9e1..398e399329c 100644 --- a/platform/spring-boot-dependencies/build.gradle +++ b/platform/spring-boot-dependencies/build.gradle @@ -1370,7 +1370,7 @@ bom { javadoc("https://logback.qos.ch/apidocs/ch.qos.logback.core", "ch.qos.logback") } } - library("Lombok", "1.18.46") { + library("Lombok", "1.18.48") { group("org.projectlombok") { modules = [ "lombok" From cbdcb15273c6944cc2108e5856598c865111d9b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Nicoll?= Date: Tue, 6 Oct 2026 14:29:42 +0200 Subject: [PATCH 14/21] Upgrade to Netty 4.2.19.Final Closes gh-51997 --- platform/spring-boot-dependencies/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/spring-boot-dependencies/build.gradle b/platform/spring-boot-dependencies/build.gradle index 398e399329c..f53e7c57e03 100644 --- a/platform/spring-boot-dependencies/build.gradle +++ b/platform/spring-boot-dependencies/build.gradle @@ -1776,7 +1776,7 @@ bom { releaseNotes("https://github.com/neo4j/neo4j-java-driver/releases/tag/{version}") } } - library("Netty", "4.2.17.Final") { + library("Netty", "4.2.19.Final") { prohibit { contains ".Alpha" contains ".Beta" From f010708df3e3a6b9ab134b059eb70ec00d83da0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Nicoll?= Date: Tue, 6 Oct 2026 14:29:46 +0200 Subject: [PATCH 15/21] Upgrade to R2DBC MariaDB 1.3.2 Closes gh-51998 --- platform/spring-boot-dependencies/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/spring-boot-dependencies/build.gradle b/platform/spring-boot-dependencies/build.gradle index f53e7c57e03..e41c7b93f83 100644 --- a/platform/spring-boot-dependencies/build.gradle +++ b/platform/spring-boot-dependencies/build.gradle @@ -1970,7 +1970,7 @@ bom { releaseNotes("https://github.com/r2dbc/r2dbc-h2/releases/tag/v{version}") } } - library("R2DBC MariaDB", "1.3.1") { + library("R2DBC MariaDB", "1.3.2") { group("org.mariadb") { modules = [ "r2dbc-mariadb" From 9c47c4ee0c0ef4638e3a22bc61e0d235f0310d57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Nicoll?= Date: Tue, 6 Oct 2026 14:29:50 +0200 Subject: [PATCH 16/21] Upgrade to R2DBC MSSQL 1.0.7.RELEASE Closes gh-51999 --- platform/spring-boot-dependencies/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/spring-boot-dependencies/build.gradle b/platform/spring-boot-dependencies/build.gradle index e41c7b93f83..b712504c11c 100644 --- a/platform/spring-boot-dependencies/build.gradle +++ b/platform/spring-boot-dependencies/build.gradle @@ -1980,7 +1980,7 @@ bom { releaseNotes("https://github.com/mariadb-corporation/mariadb-connector-r2dbc/releases/tag/{version}") } } - library("R2DBC MSSQL", "1.0.5.RELEASE") { + library("R2DBC MSSQL", "1.0.7.RELEASE") { group ("io.r2dbc") { modules = [ "r2dbc-mssql" From 1e0a207dbf5fa915966ab689f6ea475d5b5c2972 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Nicoll?= Date: Tue, 6 Oct 2026 14:29:54 +0200 Subject: [PATCH 17/21] Upgrade to R2DBC Postgresql 1.1.3.RELEASE Closes gh-52000 --- platform/spring-boot-dependencies/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/spring-boot-dependencies/build.gradle b/platform/spring-boot-dependencies/build.gradle index b712504c11c..c93cdde679c 100644 --- a/platform/spring-boot-dependencies/build.gradle +++ b/platform/spring-boot-dependencies/build.gradle @@ -2013,7 +2013,7 @@ bom { javadoc("https://javadoc.io/doc/io.r2dbc/r2dbc-pool/{version}") } } - library("R2DBC Postgresql", "1.1.2.RELEASE") { + library("R2DBC Postgresql", "1.1.3.RELEASE") { firstParty() group("org.postgresql") { modules = [ From ddb4fb72446b0f3f4d7387be305715462e205cfc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Nicoll?= Date: Tue, 6 Oct 2026 14:29:58 +0200 Subject: [PATCH 18/21] Upgrade to SLF4J 2.0.20 Closes gh-52001 --- ...ticCommonSchemaStructuredLogFormatter.java | 1 + .../LogstashStructuredLogFormatter.java | 1 + ...mmonSchemaStructuredLogFormatterTests.java | 13 +++++++++++++ .../LogstashStructuredLogFormatterTests.java | 19 ++++++++++++++++++- .../spring-boot-dependencies/build.gradle | 2 +- 5 files changed, 34 insertions(+), 2 deletions(-) diff --git a/core/spring-boot/src/main/java/org/springframework/boot/logging/logback/ElasticCommonSchemaStructuredLogFormatter.java b/core/spring-boot/src/main/java/org/springframework/boot/logging/logback/ElasticCommonSchemaStructuredLogFormatter.java index 0aa703ed98b..aa4fb77379e 100644 --- a/core/spring-boot/src/main/java/org/springframework/boot/logging/logback/ElasticCommonSchemaStructuredLogFormatter.java +++ b/core/spring-boot/src/main/java/org/springframework/boot/logging/logback/ElasticCommonSchemaStructuredLogFormatter.java @@ -100,6 +100,7 @@ class ElasticCommonSchemaStructuredLogFormatter extends JsonWriterStructuredLogF return result; } + @SuppressWarnings("deprecation") private static void addMarkers(Set result, Iterator iterator) { while (iterator.hasNext()) { Marker marker = iterator.next(); diff --git a/core/spring-boot/src/main/java/org/springframework/boot/logging/logback/LogstashStructuredLogFormatter.java b/core/spring-boot/src/main/java/org/springframework/boot/logging/logback/LogstashStructuredLogFormatter.java index d4927b0c4a8..9ff822d3673 100644 --- a/core/spring-boot/src/main/java/org/springframework/boot/logging/logback/LogstashStructuredLogFormatter.java +++ b/core/spring-boot/src/main/java/org/springframework/boot/logging/logback/LogstashStructuredLogFormatter.java @@ -93,6 +93,7 @@ class LogstashStructuredLogFormatter extends JsonWriterStructuredLogFormatter result, Iterator iterator) { while (iterator.hasNext()) { Marker marker = iterator.next(); diff --git a/core/spring-boot/src/test/java/org/springframework/boot/logging/logback/ElasticCommonSchemaStructuredLogFormatterTests.java b/core/spring-boot/src/test/java/org/springframework/boot/logging/logback/ElasticCommonSchemaStructuredLogFormatterTests.java index 529e3606d88..2264c12ff62 100644 --- a/core/spring-boot/src/test/java/org/springframework/boot/logging/logback/ElasticCommonSchemaStructuredLogFormatterTests.java +++ b/core/spring-boot/src/test/java/org/springframework/boot/logging/logback/ElasticCommonSchemaStructuredLogFormatterTests.java @@ -134,6 +134,19 @@ class ElasticCommonSchemaStructuredLogFormatterTests extends AbstractStructuredL @Test void shouldFormatMarkersAsTags() { + LoggingEvent event = createEvent(); + event.setMDCPropertyMap(Collections.emptyMap()); + event.addMarker(MarkerFactory.getDetachedMarker("marker-1")); + event.addMarker(MarkerFactory.getDetachedMarker("marker-2")); + event.addMarker(MarkerFactory.getDetachedMarker("marker-3")); + String json = this.formatter.format(event); + Map deserialized = deserialize(json); + assertThat(deserialized.get("tags")).isEqualTo(List.of("marker-1", "marker-2", "marker-3")); + } + + @Test + @SuppressWarnings("deprecation") + void shouldFormatNestedMarkersAsTags() { LoggingEvent event = createEvent(); event.setMDCPropertyMap(Collections.emptyMap()); Marker parent = MarkerFactory.getDetachedMarker("parent"); diff --git a/core/spring-boot/src/test/java/org/springframework/boot/logging/logback/LogstashStructuredLogFormatterTests.java b/core/spring-boot/src/test/java/org/springframework/boot/logging/logback/LogstashStructuredLogFormatterTests.java index 835b1ad07a4..dd74b366128 100644 --- a/core/spring-boot/src/test/java/org/springframework/boot/logging/logback/LogstashStructuredLogFormatterTests.java +++ b/core/spring-boot/src/test/java/org/springframework/boot/logging/logback/LogstashStructuredLogFormatterTests.java @@ -62,6 +62,23 @@ class LogstashStructuredLogFormatterTests extends AbstractStructuredLoggingTests LoggingEvent event = createEvent(); event.setMDCPropertyMap(Map.of("mdc-1", "mdc-v-1")); event.setKeyValuePairs(keyValuePairs("kv-1", "kv-v-1")); + event.addMarker(getMarker("marker-1")); + event.addMarker(getMarker("marker-2")); + String json = this.formatter.format(event); + assertThat(json).endsWith("\n"); + Map deserialized = deserialize(json); + String timestamp = DateTimeFormatter.ISO_OFFSET_DATE_TIME + .format(OffsetDateTime.ofInstant(EVENT_TIME, ZoneId.systemDefault())); + assertThat(deserialized).containsExactlyInAnyOrderEntriesOf(map("@timestamp", timestamp, "@version", "1", + "message", "message", "logger_name", "org.example.Test", "thread_name", "main", "level", "INFO", + "level_value", 20000, "mdc-1", "mdc-v-1", "kv-1", "kv-v-1", "tags", List.of("marker-1", "marker-2"))); + } + + @Test + @SuppressWarnings("deprecation") + void shouldFormatWithNestedMarker() { + LoggingEvent event = createEvent(); + event.setMDCPropertyMap(Map.of("mdc-1", "mdc-v-1")); Marker marker1 = getMarker("marker-1"); marker1.add(getMarker("marker-2")); event.addMarker(marker1); @@ -72,7 +89,7 @@ class LogstashStructuredLogFormatterTests extends AbstractStructuredLoggingTests .format(OffsetDateTime.ofInstant(EVENT_TIME, ZoneId.systemDefault())); assertThat(deserialized).containsExactlyInAnyOrderEntriesOf(map("@timestamp", timestamp, "@version", "1", "message", "message", "logger_name", "org.example.Test", "thread_name", "main", "level", "INFO", - "level_value", 20000, "mdc-1", "mdc-v-1", "kv-1", "kv-v-1", "tags", List.of("marker-1", "marker-2"))); + "level_value", 20000, "mdc-1", "mdc-v-1", "tags", List.of("marker-1", "marker-2"))); } @Test diff --git a/platform/spring-boot-dependencies/build.gradle b/platform/spring-boot-dependencies/build.gradle index c93cdde679c..7c5a2082382 100644 --- a/platform/spring-boot-dependencies/build.gradle +++ b/platform/spring-boot-dependencies/build.gradle @@ -2479,7 +2479,7 @@ bom { releaseNotes("https://github.com/sendgrid/sendgrid-java/releases/tag/{version}") } } - library("SLF4J", "2.0.18") { + library("SLF4J", "2.0.20") { prohibit { contains "-alpha" because "we don't want alphas" From e0189c53559bb1b4496524fec2e83fb57d0862c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Nicoll?= Date: Tue, 6 Oct 2026 14:30:03 +0200 Subject: [PATCH 19/21] Upgrade to Tomcat 11.0.26 Closes gh-52002 --- gradle.properties | 2 +- ...JerseyAutoConfigurationServletContainerTests.java | 2 +- .../tomcat/autoconfigure/TomcatServerProperties.java | 4 ++-- .../reactive/TomcatReactiveWebServerFactory.java | 2 +- .../servlet/TomcatServletWebServerFactory.java | 6 +++--- .../TomcatWebServerFactoryCustomizerTests.java | 12 ++---------- 6 files changed, 10 insertions(+), 18 deletions(-) diff --git a/gradle.properties b/gradle.properties index b53ea936117..8d9d6a39d00 100644 --- a/gradle.properties +++ b/gradle.properties @@ -23,6 +23,6 @@ nullabilityPluginVersion=0.0.15 snakeYamlVersion=2.5 springFrameworkVersion=7.0.10-SNAPSHOT springFramework60xVersion=6.0.23 -tomcatVersion=11.0.24 +tomcatVersion=11.0.26 kotlin.stdlib.default.dependency=false diff --git a/module/spring-boot-jersey/src/test/java/org/springframework/boot/jersey/autoconfigure/JerseyAutoConfigurationServletContainerTests.java b/module/spring-boot-jersey/src/test/java/org/springframework/boot/jersey/autoconfigure/JerseyAutoConfigurationServletContainerTests.java index 5eeab6d9945..215a883df1e 100644 --- a/module/spring-boot-jersey/src/test/java/org/springframework/boot/jersey/autoconfigure/JerseyAutoConfigurationServletContainerTests.java +++ b/module/spring-boot-jersey/src/test/java/org/springframework/boot/jersey/autoconfigure/JerseyAutoConfigurationServletContainerTests.java @@ -100,7 +100,7 @@ class JerseyAutoConfigurationServletContainerTests { jerseyServlet.setOverridable(false); context.addChild(jerseyServlet); String pattern = UDecoder.URLDecode("/*", StandardCharsets.UTF_8); - context.addServletMappingDecoded(pattern, servletName); + context.addServletMapping(pattern, servletName); } }; diff --git a/module/spring-boot-tomcat/src/main/java/org/springframework/boot/tomcat/autoconfigure/TomcatServerProperties.java b/module/spring-boot-tomcat/src/main/java/org/springframework/boot/tomcat/autoconfigure/TomcatServerProperties.java index 90c6e551820..882194189a2 100644 --- a/module/spring-boot-tomcat/src/main/java/org/springframework/boot/tomcat/autoconfigure/TomcatServerProperties.java +++ b/module/spring-boot-tomcat/src/main/java/org/springframework/boot/tomcat/autoconfigure/TomcatServerProperties.java @@ -753,8 +753,8 @@ public class TomcatServerProperties { * Internal proxies that are to be trusted. Can be set as a comma separate list of * CIDR or as a regular expression. */ - private String internalProxies = "192.168.0.0/16, 172.16.0.0/12, 169.254.0.0/16, fc00::/7, " - + "10.0.0.0/8, 100.64.0.0/10, 127.0.0.0/8, fe80::/10, ::1/128"; + private String internalProxies = "10.0.0.0/8, 192.168.0.0/16, 169.254.0.0/16, 100.64.0.0/10, " + + "fc00::/7, 172.16.0.0/12, ::1/128, 127.0.0.0/8, fe80::/10"; /** * Header that holds the incoming protocol, usually named "X-Forwarded-Proto". diff --git a/module/spring-boot-tomcat/src/main/java/org/springframework/boot/tomcat/reactive/TomcatReactiveWebServerFactory.java b/module/spring-boot-tomcat/src/main/java/org/springframework/boot/tomcat/reactive/TomcatReactiveWebServerFactory.java index 0d52aa95c49..0de918ff58d 100644 --- a/module/spring-boot-tomcat/src/main/java/org/springframework/boot/tomcat/reactive/TomcatReactiveWebServerFactory.java +++ b/module/spring-boot-tomcat/src/main/java/org/springframework/boot/tomcat/reactive/TomcatReactiveWebServerFactory.java @@ -91,7 +91,7 @@ public class TomcatReactiveWebServerFactory extends TomcatWebServerFactory loader.setDelegate(true); context.setLoader(loader); Tomcat.addServlet(context, "httpHandlerServlet", servlet).setAsyncSupported(true); - context.addServletMappingDecoded("/", "httpHandlerServlet"); + context.addServletMapping("/", "httpHandlerServlet"); host.addChild(context); configureContext(context); } diff --git a/module/spring-boot-tomcat/src/main/java/org/springframework/boot/tomcat/servlet/TomcatServletWebServerFactory.java b/module/spring-boot-tomcat/src/main/java/org/springframework/boot/tomcat/servlet/TomcatServletWebServerFactory.java index 5297b1fb096..38dcd7d1210 100644 --- a/module/spring-boot-tomcat/src/main/java/org/springframework/boot/tomcat/servlet/TomcatServletWebServerFactory.java +++ b/module/spring-boot-tomcat/src/main/java/org/springframework/boot/tomcat/servlet/TomcatServletWebServerFactory.java @@ -255,7 +255,7 @@ public class TomcatServletWebServerFactory extends TomcatWebServerFactory // Otherwise the default location of a Spring DispatcherServlet cannot be set defaultServlet.setOverridable(true); context.addChild(defaultServlet); - context.addServletMappingDecoded("/", "default"); + context.addServletMapping("/", "default"); } private void addJspServlet(Context context) { @@ -266,8 +266,8 @@ public class TomcatServletWebServerFactory extends TomcatWebServerFactory this.settings.getJsp().getInitParameters().forEach(jspServlet::addInitParameter); jspServlet.setLoadOnStartup(3); context.addChild(jspServlet); - context.addServletMappingDecoded("*.jsp", "jsp"); - context.addServletMappingDecoded("*.jspx", "jsp"); + context.addServletMapping("*.jsp", "jsp"); + context.addServletMapping("*.jspx", "jsp"); } private void addJasperInitializer(TomcatEmbeddedContext context) { diff --git a/module/spring-boot-tomcat/src/test/java/org/springframework/boot/tomcat/autoconfigure/TomcatWebServerFactoryCustomizerTests.java b/module/spring-boot-tomcat/src/test/java/org/springframework/boot/tomcat/autoconfigure/TomcatWebServerFactoryCustomizerTests.java index 22490800481..3ce86476fe6 100644 --- a/module/spring-boot-tomcat/src/test/java/org/springframework/boot/tomcat/autoconfigure/TomcatWebServerFactoryCustomizerTests.java +++ b/module/spring-boot-tomcat/src/test/java/org/springframework/boot/tomcat/autoconfigure/TomcatWebServerFactoryCustomizerTests.java @@ -38,7 +38,6 @@ import org.springframework.boot.autoconfigure.web.WebProperties; import org.springframework.boot.context.properties.bind.Bindable; import org.springframework.boot.context.properties.bind.Binder; import org.springframework.boot.context.properties.source.ConfigurationPropertySources; -import org.springframework.boot.testsupport.classpath.ClassPathOverrides; import org.springframework.boot.testsupport.web.servlet.DirtiesUrlFactories; import org.springframework.boot.tomcat.TomcatWebServer; import org.springframework.boot.tomcat.servlet.TomcatServletWebServerFactory; @@ -50,7 +49,6 @@ import org.springframework.test.context.support.TestPropertySourceUtils; import org.springframework.util.unit.DataSize; import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.assertThatNoException; /** * Tests for {@link TomcatWebServerFactoryCustomizer} @@ -212,12 +210,6 @@ class TomcatWebServerFactoryCustomizerTests { (server) -> assertThat(server.getTomcat().getConnector().getMaxPartHeaderSize()).isEqualTo(4096)); } - @Test - @ClassPathOverrides("org.apache.tomcat.embed:tomcat-embed-core:11.0.7") - void customizerIsCompatibleWithTomcatVersionsWithoutMaxPartCountAndMaxPartHeaderSize() { - assertThatNoException().isThrownBy(this::customizeAndRunServer); - } - @Test void defaultMaxHttpRequestHeaderSize() { customizeAndRunServer((server) -> assertThat( @@ -440,8 +432,8 @@ class TomcatWebServerFactoryCustomizerTests { assertThat(remoteIpValve.getRemoteIpHeader()).isEqualTo("X-Forwarded-For"); assertThat(remoteIpValve.getHostHeader()).isEqualTo("X-Forwarded-Host"); assertThat(remoteIpValve.getPortHeader()).isEqualTo("X-Forwarded-Port"); - String expectedInternalProxies = "192.168.0.0/16, 172.16.0.0/12, 169.254.0.0/16, fc00::/7, 10.0.0.0/8, " - + "100.64.0.0/10, 127.0.0.0/8, fe80::/10, ::1/128"; + String expectedInternalProxies = "10.0.0.0/8, 192.168.0.0/16, 169.254.0.0/16, 100.64.0.0/10, fc00::/7, " + + "172.16.0.0/12, ::1/128, 127.0.0.0/8, fe80::/10"; assertThat(remoteIpValve.getInternalProxies()).isEqualTo(expectedInternalProxies); } From 2018d0aac681fbab7d96eaf6dc145b7e35598485 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Nicoll?= Date: Tue, 6 Oct 2026 14:30:07 +0200 Subject: [PATCH 20/21] Upgrade to WebJars Locator Lite 1.1.5 Closes gh-52003 --- platform/spring-boot-dependencies/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/spring-boot-dependencies/build.gradle b/platform/spring-boot-dependencies/build.gradle index 7c5a2082382..f2cd7ca13f8 100644 --- a/platform/spring-boot-dependencies/build.gradle +++ b/platform/spring-boot-dependencies/build.gradle @@ -3037,7 +3037,7 @@ bom { ] } } - library("WebJars Locator Lite", "1.1.4") { + library("WebJars Locator Lite", "1.1.5") { group("org.webjars") { modules = [ "webjars-locator-lite" From 7544df33a793667db09f50b8699cec7e018455b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Nicoll?= Date: Tue, 6 Oct 2026 14:30:11 +0200 Subject: [PATCH 21/21] Upgrade to XML Maven Plugin 1.2.2 Closes gh-52004 --- platform/spring-boot-dependencies/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/spring-boot-dependencies/build.gradle b/platform/spring-boot-dependencies/build.gradle index f2cd7ca13f8..9c542c1c2f7 100644 --- a/platform/spring-boot-dependencies/build.gradle +++ b/platform/spring-boot-dependencies/build.gradle @@ -3051,7 +3051,7 @@ bom { ] } } - library("XML Maven Plugin", "1.2.1") { + library("XML Maven Plugin", "1.2.2") { group("org.codehaus.mojo") { plugins = [ "xml-maven-plugin"