Commit Graph
35188 Commits
Author SHA1 Message Date
Sam Brannen 3cf19aabcd Merge branch '7.0.x' 2026-06-27 15:20:15 +02:00
Sam Brannen 78dcdab3fc Polishing
See gh-36972
2026-06-27 15:19:42 +02:00
junhyeong9812 872b1addeb Write native configuration files as UTF-8
Prior to this commit, FileNativeConfigurationWriter wrote native-image
configuration files using a plain FileWriter, which encodes with the
JVM platform default charset. On a non-UTF-8 platform (for example a
Windows JVM, where the default charset is not UTF-8 prior to JDK 18)
non-ASCII characters in resource patterns or bundle names were written
with the wrong encoding, while GraalVM expects the configuration files
to be UTF-8.

This commit specifies StandardCharsets.UTF_8 explicitly so the files
are always written as UTF-8, consistent with the UTF-8 usage already
present in the aot.generate package.

Closes gh-36972

Signed-off-by: junhyeong9812 <pickjog@gmail.com>
2026-06-27 15:10:30 +02:00
Juergen Hoeller fc0ad3d367 Merge branch '7.0.x' 2026-06-26 18:21:51 +02:00
Juergen Hoeller 98d552f15f Add javadoc note on trusted broker setups for Spring JMS 2026-06-26 18:21:00 +02:00
Sam Brannen 69839889c4 Merge branch '7.0.x' 2026-06-26 17:41:35 +02:00
Sam Brannen 4d6e88dc98 Fix off-by-one error in MimeTypeUtils.parseMimeType()
Due to changes made in commit 41cd6879bd, MimeTypeUtils now raises a
StringIndexOutOfBoundsException instead of an InvalidMimeTypeException
when parsing certain invalid mime types -- for example, for a value
wrapped in double quotes which does not contain a ";" character.

To address that minor regression, this commit replaces
`mimeType.charAt(nextIndex - 1) != '\\'` with
`(nextIndex == 0 || mimeType.charAt(nextIndex - 1) != '\\')` to avoid
invoking `String#charAt` with a negative value.

See gh-36730
Closes gh-36971
2026-06-26 17:40:53 +02:00
rstoyanchev 2b7ec43571 Merge branch '7.0.x' 2026-06-25 16:10:55 +01:00
rstoyanchev 0044c4c8a3 Improve remoteAddress check in TransportHandlingSockJsService
Closes gh-36904
2026-06-25 16:10:34 +01:00
Sam Brannen 787f9e1cbb Merge branch '7.0.x' 2026-06-25 13:57:56 +02:00
Sam Brannen b00f691655 Preserve parameter order in DefaultServerRequest's ServletParametersMap
Prior to this commit, DefaultServerRequest's ServletParametersMap lost
the original parameter order when entrySet() was invoked.

To address that, this commit revises ServletParametersMap.entrySet() so
that it stores the results in a LinkedHashSet, thereby retaining the
original order.

Closes gh-36966
2026-06-25 13:57:34 +02:00
rstoyanchev ed0919b92e Merge branch '7.0.x' 2026-06-25 12:50:49 +01:00
rstoyanchev 6ac642e301 Remove closeLock from ConcurrentWebSocketSessionDecorator#checkSessionLimits
Closes gh-36909
2026-06-25 12:50:32 +01:00
rstoyanchev 11bdb43aad Polishing in ConcurrentWebSocketSessionDecorator
See gh-36909
2026-06-25 12:50:32 +01:00
Sam Brannen 7e9da44e18 Merge branch '7.0.x' 2026-06-25 13:33:10 +02:00
Sam Brannen 4074155d76 Polish contribution
See gh-36948
2026-06-25 13:23:49 +02:00
junhyeong9812 1277279527 Ignore DOCTYPE inside a multi-line comment body
XmlValidationModeDetector peeks at the start of an XML document to
choose between DTD- and XSD-based validation, skipping any DOCTYPE that
appears inside an XML comment.

Prior to this commit, consumeCommentTokens() short-circuited a line
with no start or end comment marker by returning it unchanged, even
while already inside a multi-line comment. Such a body line was then
treated as content, so a literal "DOCTYPE" word in the comment body
caused an XSD document to be misdetected as DTD-based.

This commit honors the "in comment" parse state in that early return so
a comment body line is treated as empty content, completing the fix for
gh-27915 which only covered comment markers on the same line.

Closes gh-36948

Signed-off-by: junhyeong9812 <pickjog@gmail.com>
2026-06-25 13:07:57 +02:00
Sam Brannen a077324670 Polish contribution
See gh-36956
2026-06-23 12:19:28 +02:00
Yanming Zhou c35e17b038 Refactor NumberToDataSizeConverter to use DataSize.ofBytes(long) directly
Prior to this commit, a `Number` was converted to a `String` and then
the string was parsed/matched using regular expressions back into a
suitable `long` which was inefficient and also prevented valid data
size values such as 10.0.

To address those issues, this commit refactors
NumberToDataSizeConverter to use DataSize.ofBytes(long) directly, first
checking that the supplied Number does not have a fractional part.

Closes gh-36956

Signed-off-by: Yanming Zhou <zhouyanming@gmail.com>
2026-06-23 12:19:27 +02:00
Juergen Hoeller 0cdb0cfae4 Upgrade to Jackson 3.1.4 / 2.21.4, Hibernate ORM 7.4.2, Hibernate Validator 9.1.1 2026-06-23 12:07:35 +02:00
Juergen Hoeller bd405756ab Avoid "NullAway.Init" suppression in favor of explicit field handling
Closes gh-36961
2026-06-23 11:55:58 +02:00
Juergen Hoeller 9130ded96f Resolve against type variable from same declaration if possible
Closes gh-36890
2026-06-22 22:09:52 +02:00
Juergen Hoeller 0dc2d03093 Merge branch '7.0.x'
# Conflicts:
#	spring-context/src/main/java/org/springframework/validation/DataBinder.java
2026-06-22 21:55:43 +02:00
Juergen Hoeller d0331a049a Refine various javadoc notes 2026-06-22 21:52:57 +02:00
Juergen Hoeller 7de9c8d58a Consistently handle input format mismatch 2026-06-22 21:52:18 +02:00
Juergen Hoeller bae022a0fc Perform nextKey within synchronization
Closes gh-36959
2026-06-22 21:51:40 +02:00
Juergen Hoeller 325c3e1ec7 Add support for custom ObjectInputFilter
Closes gh-36958
2026-06-22 21:51:11 +02:00
Juergen Hoeller 67e5ea9509 Revise resource bundle caching for common locales
Closes gh-36957
2026-06-22 21:50:56 +02:00
rstoyanchev 8a2e4a9e0a Merge branch '7.0.x' 2026-06-22 14:08:46 +01:00
rstoyanchev 41b8f13e91 Fix checkStyleNoHttp errors
See gh-36893
2026-06-22 14:08:25 +01:00
rstoyanchev 0fbe714bd1 Merge branch '7.0.x' 2026-06-22 13:50:10 +01:00
rstoyanchev 167afd91be Fix delegation in LifecyclePrintWriter
Closes gh-36885
2026-06-22 13:12:50 +01:00
rstoyanchev 12f9a5c2a5 Apply ResourceHandlerUtils to Groovy markup templates
Closes gh-36902
2026-06-22 11:57:12 +01:00
rstoyanchev 1a89363a5c Restore host header initialization in StompBrokerRelayMessageHandler
Closes gh-36907
2026-06-22 11:35:38 +01:00
rstoyanchev 34a307d4a6 Improve requestUri handling in ReactorUriHelper
Closes gh-36893
2026-06-22 11:12:13 +01:00
rstoyanchev 0e4842062b Polishing in ReactorUriHelper
See gh-36893
2026-06-22 11:06:43 +01:00
rstoyanchev 76089feeb4 Refine error handling in JettyWebSocketSession
Closes gh-36891
2026-06-22 10:42:51 +01:00
rstoyanchev ad5bd67b31 Improve ambiguous preflight checks in AbstractHandlerMethodMapping
Closes gh-36903
2026-06-22 10:42:51 +01:00
rstoyanchev 0ee636af7f Improve Javadoc of UrlFilenameViewController
Closes gh-36906
2026-06-22 10:42:51 +01:00
rstoyanchev c64f2ee104 Disable assignment in DefaultSubscriptionRegistry
Closes gh-36924
2026-06-22 10:42:51 +01:00
rstoyanchev 5059bbd58e Improve parameter-based content negotiation
Closes gh-36925
2026-06-22 10:42:51 +01:00
rstoyanchev cc0ca1b6a5 Polishing in MappingContentNegotiationStrategy hierarchy and tests
See gh-36925
2026-06-22 10:42:51 +01:00
Sam Brannen 9c64be98e4 Merge branch '7.0.x' 2026-06-19 16:32:04 +02:00
Sam Brannen ee81785afc Upgrade to Gradle 9.6
Closes gh-36952
2026-06-19 16:31:38 +02:00
rstoyanchev 8e6b6c5ac3 Refine error handling in MultipartParser
Closes gh-36947
2026-06-17 15:54:48 +01:00
Sam Brannen 7b31e0c2dc Polish contribution
See gh-36938
2026-06-17 15:49:10 +02:00
junhyeong9812 233e7b91f9 Throw ClassNotFoundException for missing class resource in ThrowawayClassLoader
Prior to this commit, ThrowawayClassLoader.loadClass fell back to
loadClassFromResource(), which returns null when no class resource is
available. Returning null from loadClass violates the ClassLoader
contract and leads to a NullPointerException in callers such as
PreComputeFieldFeature.

To address that, this commit rethrows the original
ClassNotFoundException when the resource fallback yields no class.

Closes gh-36938

Signed-off-by: junhyeong9812 <pickjog@gmail.com>
2026-06-17 15:47:27 +02:00
Sam Brannen 077bfaf095 Polish contribution
See gh-36830
2026-06-17 14:15:04 +02:00
YeongJae Min 175f551d91 Add DataSize converters to DefaultConversionService
Spring Boot already provides equivalent converters, and DataSize itself
already exposes parsing support via DataSize.parse(...).

This commit makes that conversion available through Spring Framework's
default conversion service.

- new StringToDataSizeConverter
- new NumberToDataSizeConverter
- both converters are registered with the DefaultConversionService
- new tests for string, number, empty, and invalid inputs

This intentionally does not move Spring Boot's @⁠DataSizeUnit support
into Spring Framework.

See gh-28910
Closes gh-36830

Signed-off-by: YeongJae Min <whereismysejong@naver.com>
2026-06-17 14:15:04 +02:00
rstoyanchev 2bc0ee7ec1 Polishing in PartGenerator 2026-06-17 13:05:10 +01:00