Skip to content

3.1 GA Release

Compare
Choose a tag to compare
@spring-projects-issues spring-projects-issues released this 17 Jan 15:46
· 25042 commits to main since this release

⭐ 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

📔 Documentation

  • Add package-info.java where missing [SPR-8768] #13411
  • Chapter 7.2.1 of the ref manual still refers to the Spring-with-dependencies distribution [SPR-7788] #12444