⭐ New Features
- Improvement to ConstructorResolver [SPR-5522] #10193
- Spring expression: please improve getValue() in CompositeStringExpression [SPR-5466] #10139
- Add AtomView sample to PetClinic [SPR-5460] #10133
- Spring expression: ReflectionUtils don't respect boolean getters starting with 'is' [SPR-5450] #10123
- ReflectionUtils.findMethod does not find methods for Object.class [SPR-5434] #10108
- RequestParam can't properly parse an optional boolean parameter [SPR-5410] #10083
- TypeUtils.isAssignable should return true for ParametrizedType assignable to Object [SPR-5390] #10063
- MarshallingView should override AbstractView instead of AbstractUrlBasedView [SPR-5380] #10053
- Collection type resolver considering only lower bound of wildcard [SPR-5344] #10017
- ExecutorCompletionService for Spring TaskExecutor [SPR-5341] #10014
- Rationalise ThreadPoolTaskExecutor and ScheduledExecutorFactoryBean [SPR-5337] #10010
- HibernateClinic in PetClinic sample should use constructor-injection instead of field injection [SPR-5326] #9999
- AOP PointCuts: ProceedingJointPoint provides the synthetic(bridge) and not the real method [SPR-5317] #9990
- PropertyValue does not copy the converted semantics of a given pv [SPR-5293] #9966
- Migrate OXM from Spring-WS to Spring Core [SPR-5259] #9933
- Prototype application context event listeners are not notified within the events [SPR-5248] #9922
- Prototype beans that implement ApplicationListener shouldn't be created during container initialization [SPR-5247] #9921
- ApplicationListener notifications to reflect Ordered interface [SPR-5240] #9914
- util:constant can't read static inner enums [SPR-5210] #9883
- #springUrl does not run encodeURL() [SPR-5134] #9807
- Genericize ApplicationListener [SPR-4610] #9287
- Portlet 2.0 (JSR 286) support in Spring MVC [SPR-4259] #8937
- ApplicationListener beans eagerly instantiated even when marked as lazy-init [SPR-4054] #8733
- Asynchronous execution of ApplicationListeners through annotation [SPR-3876] #8556
- AsynchronousExecutionInterceptor [SPR-3528] #8211
- Nicer handling of Java 5 enums by the Spring MVC form taglib. [SPR-3389] #8072
- util:property-path like functionality for the p-namespace [SPR-3360] #8044
- Add JDK 5 Generics support to HibernateTemplate's returned Lists [SPR-3128] #7814
- Improvement for handling checkboxes in web forms (patch included) [SPR-2733] #7421
- Provide out of the box implementation of the thread scope [SPR-2581] #7270
- ApplicationEventMulticaster should efficiently dispatch according to event type and source [SPR-2572] #7261
🪲 Bug Fixes
- RestTemplate should encode the url variables [SPR-5516] #10187
- NPE when passing null as a request to RestTemplate.postForLocation [SPR-5515] #10186
- Buggy reuse of list in prototype, when using shorthand definition in xml. [SPR-5512] #10184
- ModelAndView.getModel method garbages wasCleared state [SPR-5505] #10177
- Alias chaining does not work with
@Qualifier
and@Autowired
[SPR-5501] #10173 - Error in javadoc for org.springframework.web.portlet.mvc.AbstractFormController [SPR-5478] #10151
- AnnotationMetadataReadingVisitor doesn't consider annotation method returning classes [SPR-5477] #10150
- Multi-dimensional array brakes HTTP invokers remoting [SPR-5473] #10146
- Possible NPE in JmsUtils.buildExceptionMessage and JmsException.getMessage [SPR-5470] #10143
- Spring expression: NPE in org.springframework.expression.spel.ast.Ternary [SPR-5441] #10115
- grammatical error in LobHandler javadoc [SPR-5440] #10114
- org.springframework.expression: Bug in TemplateAwareExpressionParser when expressionString contains '}' [SPR-5438] #10112
- JoinPoint and Singature toString, toShortString, and toLongString don't return useful information [SPR-5437] #10111
@RequestMapping
type-level params not taken into account consistently [SPR-5421] #10095- Infinite loop in bean creation when placeholder used for bean name [SPR-5419] #10093
- BridgeMethodResolver is unable to locate bridged method for hibernate Cglib-wrapped class implementing a generic interface [SPR-5414] #10088
- SpringBeanAutowiringInterceptor.autowireBean() has wrong signature [SPR-5412] #10085
- DefaultLobHandler should honour "wrapAsLob" for getting data too [SPR-5376] #10049
- SPEL PropertyOrFieldReference not threadsafe [SPR-5374] #10047
@Qualifier
no longer works in 3.0 [SPR-5355] #10028- AbstractResource.exists() doesn't close connection correctly on a not found http url [SPR-5338] #10011
- manager.sh classpath for petclinic should be updated (patch included) [SPR-5335] #10008
- PropertyPlaceholderConfigurer always tries to replace maps due to incorrect modification check in BeanDefinitionVisitor [SPR-5318] #9991
- StackOverflowError when using MessageListenerAdapter without delegate [SPR-5309] #9982
- spring-test-2.5.6.jar incompatible with junit distribution from SpringSource Enterprise Bundle Repository [SPR-5291] #9964
- spring-context manifest import-package of javax.annotation;version="[1. 0.0, 2.0.0)" conflicts with provided system bundle javax.annotation; version="0.0.0" [SPR-5290] #9963
- WebsphereUowTransactionManager and UOWManager wrap checked exceptions if declared to roll back [SPR-5270] #9943
- PathMatchingResourcePatternResolver(ClassLoader classLoader) [SPR-5264] #9937
📔 Documentation
- Update Pet Clinic to use HSQL as an embedded database [SPR-5429] #10103