@ -158,6 +158,13 @@ In addition to Servlet request parameters, multiparts, and path variables, data
@@ -158,6 +158,13 @@ In addition to Servlet request parameters, multiparts, and path variables, data
See [Data binding support from HTTP request headers](https://github.com/spring-projects/spring-framework/issues/32676).
### Fragment Rendering
Spring MVC and WebFlux support rendering multiple views in one request, or to create a stream of rendered views. This helps to support HTML-over-the-wire libraries such as htmx.org and @hotwired/turbo.
See [HTML Fragments](https://docs.spring.io/spring-framework/reference/6.2-SNAPSHOT/web/webmvc-view/mvc-fragments.html) in the reference documentation.
### Content negotiation for `@ExceptionHandler` methods
`@ExceptionHandler` methods now [support content negotiation during error handling](https://github.com/spring-projects/spring-framework/issues/31936). It allows selecting a content type for error responses depending on what the client requested.
@ -180,13 +187,6 @@ public String handle(IllegalArgumentException exc, Model model) {
@@ -180,13 +187,6 @@ public String handle(IllegalArgumentException exc, Model model) {
Here, automated clients will get a JSON response, while browsers will display an HTML error page with custom messages.
### Fragment Rendering
Spring MVC and WebFlux support rendering multiple views in one request, or to create a stream of rendered views. This helps to support HTML-over-the-wire libraries such as htmx.org and @hotwired/turbo.
See [HTML Fragments](https://docs.spring.io/spring-framework/reference/6.2-SNAPSHOT/web/webmvc-view/mvc-fragments.html) in the reference documentation.
### URL Parsing
Two new URL parser implementations replace the regular expression based parsing that led to vulnerability reports such as [CVE-2024-22262](https://spring.io/security/cve-2024-22262) and others after it. The parser implementation used by default follows closely RFC 3986 syntax, in effect expecting URL's to be well formed. The other parser follows the [URL Living URL standard](https://url.spec.whatwg.org), and provides lenient handling of a wide range of user typed URL's, which allows parsing URL's in the same way that browsers do, and is important in scenarios where a server application parses a user provided URL that is then returned to and may be used by a browser (e.g. redirect or as a link in HTML). See [URI Parsing](https://docs.spring.io/spring-framework/reference/6.2-SNAPSHOT/web/webmvc/mvc-uri-building.html#uri-parsing) in the reference documentation.
@ -214,7 +214,7 @@ We have significantly improved the developer experience of registering reflectio
@@ -214,7 +214,7 @@ We have significantly improved the developer experience of registering reflectio
and `@ReflectionScan` lets you opt-in for scanning of any reflection hints on arbitrary classes, not only Spring beans.
See [the reference documentation section for this](https://docs.spring.io/spring-framework/reference/6.2/core/aot.html#aot.hints.reflective).
### Miscellaneous
### Other
Apart from the changes listed above, there have also been a lot of minor tweaks, improvements, and bug fixes including: