github spring-projects/spring-framework v3.1.0.RC1
3.1 RC1 Release

latest releases: v6.2.0, v6.1.15, v6.2.0-RC3...
5 years ago

⭐ New Features

  • Refactor AnnotationUtils#findAllAnnotationAttributes to accommodate non-default class loader [SPR-8752] #13394
  • Support 'destroy method inference' for @Bean methods [SPR-8751] #13393
  • Allow for setting of custom KeyGenerator in <cache:annotation-driven /> XML namespace [SPR-8730] #13372
  • Expose BEST_MATCHING_PATTERN_ATTRIBUTE with RequestMappingHandlerMapping [SPR-8712] #13354
  • Clarify stereotype and exception translation Javadoc [SPR-8691] #13333
  • Clarify BeanFactory#containsBean Javadoc [SPR-8690] #13332
  • UriTemplate takes wrong approach at encoding substituted template variables [SPR-8662] #13304
  • Throw a more specific exception for a missing part in a multipart request, providing access to the name of the missing part [SPR-8642] #13284
  • Introduce a generic method for invoking any non-public method in ReflectionTestUtils [SPR-8633] #13275
  • ContentNegotiatingViewResolver should be able to follow redirect:views [SPR-8611] #13254
  • Make JDBC namespace more placeholder and SpEL friendly [SPR-8592] #13236
  • Maybe typo in the reference document [SPR-8591] #13235
  • Add generic composite servlet filter [SPR-8585] #13229
  • Typo in Spring Document [SPR-8579] #13223
  • Would be useful to have getContentAsString method in MockPageContext [SPR-8575] #13219
  • Document Lifecycle.stop() method synchronous or asynchronous behaviour [SPR-8570] #13214
  • Spring embedded database fails to execute script after encoding changes [SPR-8562] #13206
  • ContextCache should be keyed by MergedContextConfiguration instead of String [SPR-8549] #13193
  • Introduce ConfigurableEnvironment#addActiveProfile(String) [SPR-8548] #13192
  • Register JndiPropertySource by default in StandardServletEnvironment [SPR-8545] #13189
  • Add support for load time weaving in JBoss AS7 [SPR-8533] #13177
  • Add support for arguments of type javax.servlet.http.Part [SPR-8532] #13176
  • MockHttpServletResponse API is incompatible with Servlet 3.0 HttpServletResponse [SPR-8529] #13173
  • Please allow disabling of Cache in EhCacheFactoryBean [SPR-8504] #13150
  • JavaMailSenderImpl should re-use protocol from mail session when creating transport instance [SPR-8501] #13147
  • Tasks created using task:scheduled-tasks never start if default-lazy-init="true" [SPR-8498] #13144
  • Make BeanFactoryLocator aware of autowiring (and primary flag) [SPR-8489] #13135
  • Allow access to named sections of a multipart request body [SPR-8483] #13129
  • Provide PropertySource implementation for command line arguments [SPR-8482] #13128
  • When a cache can not be found from a @Cacheable annotation, no exception should be thrown to increase flexibility. [SPR-8477] #13123
  • Use 400 Bad request instead of 500 when JSON payload is well formed but has an invalid structure [SPR-8476] #13122
  • CollectionToObjectConverter uses the first element of a collection even when the collection could be assigned to an Object [SPR-8465] #13111
  • Introduce Registration objects in Spring MVC Java-based configuration API [SPR-8454] #13100
  • SpringOXM CastorMarshaller tests [SPR-8453] #13099
  • Expose statusCodes field in SimpleMappingExceptionResolver as a read-only map. [SPR-8452] #13098
  • SimpleUrlHandlerMapping Warning logs on startup [SPR-8449] #13095
  • MVC handler exceptions missing context [SPR-8447] #13093
  • spring:eval tag doesn't support dot(.) operator for accessing map values [SPR-8444] #13090
  • Resolve ${...} placeholders in @PropertySource resource locations [SPR-8442] #13088
  • Allow RedirectView to expose a bookmarkable URL [SPR-8431] #13077
  • LocalContainerEntityManagerFactoryBean#setPackagesToScan should accept String... [SPR-8427] #13073
  • AnnotationConfigContextLoader should not restrict the name of default configuration classes to ContextConfiguration [SPR-8395] #13042
  • Update documentation of TransactionCallback.doInTransaction() [SPR-8390] #13037
  • Introduce a DelegatingSmartContextLoader [SPR-8387] #13034
  • Introduce SmartContextLoader SPI [SPR-8386] #13033
  • Need support for Quartz 2.0 [SPR-8359] #13006
  • Spring OXM CastorMarshaller unmarshalling methods [SPR-8341] #12989
  • Spring OXM schema improvement for CastorMarshaller [SPR-8309] #12958
  • Support Quartz 2.0.x [SPR-8275] #12923
  • Support for better schemaName auto-detection in the TableMetaDataProvider [SPR-8270] #12918
  • Allow default ParameterNameDiscoverer such that works by default for BeanFactory [SPR-8184] #12835
  • Introduce @EnableAspectJAutoProxy (equivalent to aop:aspectj-autoproxy) [SPR-8138] #12789
  • Support Hibernate 4.0.x [SPR-8096] #12751
  • Register JndiPropertySource by default in StandardPortletEnvironment [SPR-8038] #12693
  • Not specifying a multipart resolver for a multipart POST of files results in org.springframework.web.bind.MissingServletRequestParameterException [SPR-8001] #12656
  • HDIV and Spring MVC integration [SPR-7943] #12598
  • Checking for @XmlRootElement annotation should be made optional in Jaxb2Marshaller [SPR-7931] #12586
  • Better handling of 204 No Content in RestTemplate [SPR-7911] #12566
  • Allow custom request mapping conditions [SPR-7812] #12468
  • @PathVariable and @ModelAttribute incompatibility prevent me from having a nice "update" handler [SPR-7608] #12264
  • Support for JDK 7's JDBC 4.1 (JSR-TBD) [SPR-7579] #12235
  • Support for JDK 7's concurrency and collections updates (JSR-166y) [SPR-7578] #12234
  • Improvement to JDBC Named Parameter Replacement Strategy [SPR-7476] #12134
  • Views: setModelKey, setRenderedAttributes should be consistent [SPR-7210] #11869
  • ConfigurableWebBindingInitializer should provide setAutoGrowNestedPaths method [SPR-7038] #11700
  • Authorize @ModelAttribute to play along with @RequestParam/@RequestHeader/... [SPR-6801] #11467
  • Provide precise control over the attributes used in a redirect scenario [SPR-6796] #11462
  • Flash Scope for Spring MVC (Without Spring Web Flow) [SPR-6464] #11130
  • Add additional "query builder" features to UriTemplate [SPR-5973] #10641
  • Support for PUTting form-encoded data [SPR-5628] #10299
  • Support Servlet 3.0 (JSR-315) [SPR-5587] #10258
  • Allow specifying which request attributes are included in RedirectView [SPR-1294] #5995
  • Provide better options to specify attributes on a redirect [SPR-1068] #5775

🪲 Bug Fixes

  • UriTemplate doesn't allow for ampersands as values for request parameters [SPR-8918] #13558
  • Need a way to disable behavior added in "Automatically expose @PathVariables in the Model" SPR-7543 [SPR-8749] #13391
  • Incorrect javadoc for AbstractResource.contentLength() -- looks like copy-paste error [SPR-8734] #13376
  • Validator @Bean not initialized when extending from WebMvcConfigurationSupport [SPR-8725] #13367
  • Incorrect link in javadoc to external javadoc [SPR-8720] #13362
  • UriUrils.decode() not properly rejecting invalid escaped URLs [SPR-8706] #13348
  • ResponseEntity now returned as a literal response when used in conjunction with @ResponseBody [SPR-8700] #13342
  • Content negotiation should not take the context path into consideration [SPR-8678] #13320
  • Content-Type on HttpForm Submissions Incorrectly Detected. [SPR-8676] #13318
  • Bug in Cache Abstraction document [SPR-8670] #13312
  • Javadoc of JdbcOperations is incorrect [SPR-8664] #13306
  • Spring 3.1 Cache abstraction - UnsupportedOperationException in AbstractCacheAspect ... [SPR-8653] #13295
  • RedirectView does not URL encode expanded path variable [SPR-8646] #13288
  • LoadTimeWeavingConfiguration does not AUTODETECT aop.xml [SPR-8643] #13285
  • When a controller method redirect to any url, the framework automatically appends all the model attributes in url query string even if those attributes are stored in session. [SPR-8636] #13278
  • Cache Abstraction Documentation: minor typo [SPR-8632] #13274
  • ConcurrentModificationException in InjectionMetadata class [SPR-8598] #13242
  • UrlPathHelper.getOriginatingQueryString incorrectly tests for forwarded request [SPR-8596] #13240
  • ModelAndViewContainer.view is overridden by ModelAndViewContainer.viewName [SPR-8593] #13237
  • Controller method argument without annotations results in 400 error if not provided [SPR-8561] #13205
  • SpringServletContainerInitializer in 3.1.M2 does not seem to work when using JSF 2.0 implementations [SPR-8557] #13201
  • Regression in mvc handler mapping resolution [SPR-8536] #13180
  • Annotation based bean creation fails with GsonBuilder [SPR-8522] #13166
  • 'bold text' referenced in documentation is not actually bold [SPR-8520] #13165
  • FactoryBean-returning @Bean methods short-circuit normal @Autowired lifecycle in @Configuration classes [SPR-8514] #13159
  • FormatHelper formatMethodForMessage outputs each argument type as org.springframework.core.convert.TypeDescriptor rather than its actual type [SPR-8508] #13154
  • SpringServletContainerInitializer raises NullPointerException when no WebApplicationInitializer implementations are present [SPR-8496] #13142
  • @EnableTransactionManagement conflicts with <cache:annotation-driven /> [SPR-8494] #13140
  • Transaction problem with AnnotationSessionFactoryBuilder and @EnableTransactionManagement [SPR-8492] #13138
  • JndiPropertySource getProperty throws Exception [SPR-8490] #13136
  • RequestMappingHandlerAdapter .setInitBinderArgumentResolvers() & .setArgumentResolvers() do provide full control [SPR-8488] #13134
  • RequestMappingHandlerAdapter.initInitBinderArgumentResolvers() does not add custom resolvers [SPR-8487] #13133
  • Exception thrown when updating Hibernate search indexes when SessionFactory is configured using the AnnotationSessionFactoryBuilder [SPR-8469] #13115
  • Proxied controller does not handle @RequestParam properly when using @EnableWebMvc [SPR-8464] #13110
  • URL suffixes such as "/" and ".*" not considered when checking whether to send a 405, 406 or 415 code [SPR-8462] #13108
  • XMLEventStreamReader.getText() fails for COMMENT and ENTITY_REFERENCE events [SPR-8457] #13103
  • Links in JIRA issues are not visible as links [SPR-8451] #13097
  • @PathVariable values sent as query parameters in redirect unexpectedly [SPR-8448] #13094
  • XmlBeanFactoryTests.testFileSystemResourceWithImport fails on Windows if path contains spaces [SPR-8439] #13085
  • Regression in support for property write method return type covariance [SPR-8432] #13078
  • Spring MVC returns 500 Internal Server Error when required HTTP header is missing [SPR-8429] #13075
  • @EnableTransactionManagement does not handle APC escalation [SPR-8411] #13058
  • DirectFieldAccessor fails to preserve shadowed fields [SPR-8398] #13045
  • Reference documentation has incorrect name for Eval tag's "htmlEscape" attribute [SPR-8380] #13027
  • Add [logger.isDebugEnabled] checks to [org.springframework.web.servlet.FrameworkServlet] [SPR-8085] #12740
  • Spring SpEL - behavioural inconsistency when using greater than (>) operator in an expression [SPR-7840] #12496
  • Qualifiers in regular expressions in @RequestMapping do not work [SPR-7787] #12443
  • Non compilable example in section "15.4.1 Intercepting requests - the HandlerInterceptor interface" [SPR-7750] #12406
  • Annotated Groovy controllers don't work properly [SPR-6268] #10935
  • a Uri Value is incorrectly extracted if it contains '.'. [SPR-6164] #10832
  • Errors in EL expressions in User Guide [SPR-5847] #10516
  • AspectJ pointcut advisors are not working with Groovy script beans [SPR-5749] #10419
  • Type pattern with annotation in @DeclareParents does not work [SPR-5307] #9980

📔 Documentation

  • Document TestContext support for @ActiveProfiles in the reference manual [SPR-8401] #13048
  • Document TestContext support for @Configuration classes in the reference manual [SPR-8240] #12888
  • Public email address used in example [SPR-7724] #12380

Don't miss a new spring-framework release

NewReleases is sending notifications on new releases.