⭐ New Features
- SimpleTriggerFactoryBean and CronTriggerFactoryBean fail without jobDetail [SPR-13604] #18182
- Prevent Quartz XSD from being fetched from the Internet [SPR-13706] #18281
- Backport MVC config path config options to 3.2.x [SPR-14186] #18757
🪲 Bug Fixes
- Handle RejectedExecutionException in WebAsyncManager [SPR-13836] #18409
- NullPointerException while building error message in InvocableHandlerMethod [SPR-13917] #18491
- ReflectiveMethodResolver chooses parent class over child for static methods [SPR-13918] #18492
- AbstractMarshaller's DocumentBuilderFactory instance may be used by several threads simultaneously [SPR-13935] #18507
- TimerManagerTaskScheduler.TimerScheduledFuture.getDelay is inverted [SPR-13977] #18549
- Scripted beans not updated after a script compilation error in getScriptedObjectType [SPR-14007] #18579
- ModelAndView is replaced when a RedirectView is used [SPR-14045] #18617
@RequestHeader
HttpHeaders fails with NPE against null header value [SPR-14091] #18663- NPE thrown when calling methods with an empty
@Caching
annotation [SPR-14162] #18734 - Deadlock possible with AspectJ aspects and multi-threading [SPR-14241] #18814
- AbstractRequestLoggingFilter appends null query string [SPR-14244] #18817