⭐ New Features
- HibernateTransactionManager.doBegin() is trowing NullPointerException without additional clarification [SPR-8909] #13549
- Add system-properties-mode back into the 3.1 schema for context:property-placeholder/ [SPR-8901] #13541
- useDefaultSuffixPattern in RequestMappingHandlerMapping [SPR-8898] #13539
- Add String constants to MediaType for use in
@RequestMapping
consumes and produces conditions [SPR-8892] #13533 - AspectJ
@Transactional
aspect uses runtime checks [SPR-8890] #13531 - Allow multiple
@Filter
'value' args for concision [SPR-8881] #13522 - Add methods to RequestContext to resolve URLs relative to servlet path [SPR-8863] #13505
- Make MethodInvokingJobDetailFactoryBean compatible with Quartz 2.x [SPR-8741] #13383
- RestTemplate should support Void response types [SPR-8572] #13216
- Add 'mappingLocations' to LocalContainerEntityManagerFactoryBean to scan any JPA mapping files (ORM.xml) in the classpath. [SPR-8440] #13086
- 3.1.0.M2 update of the RestTemplate for Apache HTTP Components will default to sending 2 requests on authentication and doesn't support HttpContext parameters without significant extention/rewrite [SPR-8367] #13014
- Ability to specify ResourceResolver property for SchemaFactory in Jaxb2Marshaller [SPR-8349] #12996
- Allow AnnotationTypeFilter to consider interfaces as well [SPR-8336] #12984
- Support JSF 2.1 (JSR-314) [SPR-8102] #12756
- ValidationUtils: add support for Validation group interfaces [SPR-7847] #12504
- DefaultAnnotationHandlerMapping does not allow for distributing Portlet 2.0 action names across controllers [SPR-7685] #12341
- Support Java-Based Application Configuration [SPR-7420] #12078
- Provide alternatives to using FactoryBean types within
@Bean
methods [SPR-7418] #12076 - please add JMS JsonMessageConverter [SPR-7404] #12062
- RequestMapping header condition should apply for exact match only [SPR-7219] #11878
- Support for validation groups in
@Valid
used by spring MVC [SPR-6373] #11039 - When doing a redirect anything that is not org.springframework.beans.BeanUtils.isSimpleValueType silently gets left off of the redirect query string [SPR-5957] #10625
- ServletRequestDataBinder is not Extensible [SPR-5660] #10331
- Allow developers to introduce custom
@RequestMapping
implementations [SPR-5269] #9942 - Allow locations value in PropertyPlaceholderConfigurer be resolved [SPR-4902] #9578
- Global Errors are clumsy to bind and display in JSP [SPR-3028] #7714
🪲 Bug Fixes
- The DefaultLifecycleProcessor, when starting autostartup beans, should be checking isAutoStartup on dependencies before starting them [SPR-8912] #13552
- org.springframework.orm.hibernate4.HibernateTransactionManager fails with NoSuchMethodError against SessionFactory.getCurrentSession() [SPR-8908] #13548
- org.springframework.web.WebApplicationInitializer's Javadoc missed a semi-colon; [SPR-8897] #13538
- Hibernate Class Level Validators cause IllegalArgument Exception [SPR-8895] #13536
- PortletUtils.getSessionMutex() needs to use APPLICATION_SCOPE [SPR-8888] #13529
- RestTemplate.headForHeaders throws "IllegalArgumentException: No InputStream specified" on server resource which status code are 4xx [SPR-8883] #13524
- Using DataBinder with an auto-growing list is broken [SPR-8828] #13470
- RestTemplate headers not sent when bufferRequestBody is false [SPR-8809] #13451
- NPE when injecting
@Value
into@Configuration
methods [SPR-8762] #13405 @Scheduled
doesn't work with well with proxies [SPR-8651] #13293- ContextLoaderListener overwriting config location set in WebApplicationContext [SPR-8510] #13156
- Multiple
@CacheEvict
meta-annotated annotations not recognized [SPR-8082] #12737 - Response contains twice the Allow header when using
@RequestMapping
(method=RequestMethod.OPTIONS) [SPR-7837] #12493 - CollectionToCollectionConverter does not convert if the source is empty [SPR-7728] #12384
- ResourceHttpRequestHandler shouldn't return 404 when mime-type of existing resource can't be determined (and maybe try harder) [SPR-7713] #12369
@Transactional
with qualifier can't find PlatformTransactionManager defined in parent context [SPR-7679] #12335- CollectionsToCollectionsConverter no longer handles java.util.Collections$EmptyList -> java.util.Collections$EmptyList [SPR-7293] #11952