Skip to content

Releases: spring-projects/spring-framework

3.2 M2 Release

17 Jan 15:45
Compare
Choose a tag to compare

⭐ New Features

  • MockFilterChain should support Filters and Servlet [SPR-9745] #14379
  • Introduce ConvertingComparator and InstanceComparator [SPR-9730] #14364
  • HttpEntity and ResponseEntity value objects do not implement equals(…)/hashCode() [SPR-9714] #14348
  • Make DeferredResult testable [SPR-9690] #14324
  • DeferredResult/async provides no (obvious) way to handle exceptions [SPR-9689] #14323
  • MockHttpSession does not implement invalidate() properly [SPR-9686] #14320
  • Introduce strategy for BeanInfo creation [SPR-9677] #14311
  • Upgrade to ASM 4.0 and CGLIB 3.0 [SPR-9669] #14303
  • Introduce countRowsInTableWhere() and dropTables() in abstract transactional base classes in the TestContext framework [SPR-9665] #14299
  • XStreamMarshaller + BinaryStreamDriver [SPR-9663] #14297
  • Upgrade to Gradle 1.1 GA [SPR-9660] #14294
  • MVC: Put exception in PageContext before sending error [SPR-9653] #14287
  • Support single, unnamed transaction manager bean in the TestContext framework [SPR-9645] #14279
  • @DateTimeFormat does not work with @Value [SPR-9637] #14271
  • SpEL should support standard operators for logical AND and logical OR [SPR-9614] #14248
  • SpEL should support case-insensitive null literals [SPR-9613] #14247
  • Support TransactionManagementConfigurer for determining the transaction manager in the TestContext framework [SPR-9604] #14238
  • Improve getNamedDispatcher(String) method of MockServletContext [SPR-9587] #14221
  • Support base package inference for @ComponentScan [SPR-9586] #14220
  • org.springframework.web.context.request.async.DeferredResult should have parameter type [SPR-9579] #14213
  • Proper handling of parameterized types for @RequestBody parameters [SPR-9570] #14204
  • Improve SimpleStreamingClientHttpRequest performance [SPR-9530] #14164
  • Update javadoc of HttpMediaTypeException constructor [SPR-9513] #14147
  • Infer return type of parameterized static factory methods [SPR-9493] #14127
  • Introduce MockEnvironment in the spring-test module [SPR-9492] #14126
  • Javadoc for RequestMapping consumes, produces format is misleading, incomplete [SPR-9483] #14118
  • Document correct data sql file name in default scripts of embedded database in reference manual [SPR-9467] #14102
  • Add Servlet 3 async support related config options [SPR-9399] #14035
  • Update documentation with regards to overrid RequestMappingHandlerMapping and RequestMappingHandlerAdapter when using the MVC namespace [SPR-9344] #13982
  • com.sun.syndication.feed.rss.Channel/Feed should be rendered by RssChannelHttpMessageConverter/AtomFeedHttpMessageConverter by default [SPR-9336] #13974
  • DefaultHandlerExceptionResolver doesn't provide a reason when sending error responses [SPR-9312] #13950
  • DefaultHandlerExceptionResolver doesn't handle BindException but does handled other data binding related exceptions [SPR-9310] #13948
  • Improved support for REST API error reporting [SPR-9283] #13921
  • Add extension element to Spring Web MVC @RequestMapping annotation [SPR-9153] #13791
  • Provide bean factory to simplify the customization of Jackson ObjectMapper [SPR-9125] #13764
  • Support @MVC methods that can apply to any @Controller [SPR-9112] #13750
  • Provide support for ApplicationContextInitializers in the TestContext framework [SPR-9011] #13650
  • Provide JdbcTemplate in abstract transactional base classes in the TestContext framework [SPR-8990] #13630
  • Reduce log level to DEBUG when @TestExecutionListeners is not present [SPR-8645] #13287
  • Spring MVC - Ability to use a Converter based on the Path Extension instead of Accep Header. [SPR-8546] #13190
  • Content negotiation improvements [SPR-8410] #13057
  • HttpMessageConverter doesn't support typed collections [SPR-8381] #13028
  • Better description for DispatcherServlet's "No adapter for handler: Does your handler implement a supported interface like Controller?" exception message [SPR-8338] #12986
  • Add support for the HTTP PATCH method [SPR-7985] #12640
  • Use of semicolon delimited lists in REST URIs [SPR-7818] #12474
  • @RequestMapping should support alternative between a header and a url extension [SPR-7722] #12378
  • Introduce request parameter based content negotiation for ResponseBody / HttpMessageConverter approach [SPR-7517] #12175
  • Allow Errors/BindingResult after @RequestBody [SPR-7114] #11774
  • Proper handling of parameterized types in RestTemplate [SPR-7023] #11685
  • Add content-negotiation to RequestBody and ResponseBody processing [SPR-6993] #11658
  • Add Gradle task for building zip with dependencies [SPR-6575] #11241
  • Ability to exclude HandlerInterceptor from specific path with mvc:interceptor [SPR-6570] #11236
  • @RequestMapping should support accept header and url extension [SPR-6497] #11163
  • Use split index for Web documentation [SPR-4984] #9660

🪲 Bug Fixes

  • Sometimes throws Classcast exception for cglib [SPR-10086] #14719
  • Package org.springframework.asm split across core and asm JARs [SPR-9988] #14622
  • isFormContentType in org.springframework.web.filter.HttpPutFormContentFilter should return false on an illegal argument exception [SPR-9769] #14403
  • Sort candidate @AspectJ methods deterministically [SPR-9729] #14363
  • Unable to build spring-framework on Windows platform [SPR-9717] #14351
  • spring-orm dependency on spring-web should be optional [SPR-9632] #14266
  • SpEL MethodFilter registration fails if custom method resolvers have been set [SPR-9621] #14255
  • SpEL fails to parse nested double quotes in expressions [SPR-9620] #14254
  • SpEL fails to parse method invocation on an Integer literal [SPR-9612] #14246
  • A forward before startAsync is called results in incorrect async request processing [SPR-9611] [#14245](https://githu...
Read more

3.1.2 Release

17 Jan 15:46
Compare
Choose a tag to compare

⭐ New Features

  • Setting default charset in StringHttpMessageConverter [SPR-7904] #12559
  • XStreamMarshaller should convert XStream StreamException to Spring exception in case of unmarshalling an empty stream [SPR-9536] #14170
  • Use BufferedInputStream in SimpleMetaDataReader to double performance [SPR-9528] #14162
  • Quartz 2.x scheduler support (SimpleTriggerFactoryBean) ignores repeatCount attribute [SPR-9521] #14155
  • Backport constructor accepting Charset in StringHttpMessageConverter, from Spring for Android to Spring Web. [SPR-9487] #14122
  • Hibernate 4 smart flushing does not work unless CMTTransactionFactory is being specified [SPR-9480] #14115
  • Resolve nested ${..} placeholders via PropertyResolver/Environment [SPR-9473] #14108
  • Add missing section ids in reference documentation [SPR-9346] #13984
  • Use Jackson 2.0 for Jackson based json processing such as MappingJacksonJsonView [SPR-9302] #13940
  • Clarify @EnableScheduling javadoc re ExecutorService shutdown [SPR-9280] #13918
  • Reduce log level for message re: missing annotation [SPR-9233] #13871
  • HttpClientErrorException should provide access to response headers [SPR-7938] #12593
  • Invalid MIME-type causes a 500 error [SPR-7712] #12368
  • Cache by-type lookups in DefaultListableBeanFactory [SPR-6870] #11536
  • Enable Executor qualification with @Async [SPR-6847] #11513

🪲 Bug Fixes

  • Documentation for AbstractResource.getFilename() says 'throws IllegalAccessException' when in fact it returns null [SPR-9561] #14195
  • DatabasePopulatorUtils uses non-transactional connection [SPR-9457] #14092
  • ApplicationContext environment inheritance may causes child context environment property sources to be lost [SPR-9444] #14080
  • Fix package cycle established by @EnableSpringConfigured [SPR-9441] #14077
  • Fix regression in ClassPathResource descriptions [SPR-9413] #14049
  • Unknown status codes (i.e. not in HttpStatus enum) prevent HttpClientErrorException and HttpServerErrorExceptions from being raised [SPR-9406] #14042
  • Exposure of setStatisticsEnabled/setSampledStatisticsEnabled causes cache not initialized exception when chaches are defined as spring beans. [SPR-9392] #14028
  • Reinstate check for a type-level @RequestMapping annotation to decide if a bean contains @RequestMapping methods [SPR-9374] #14010
  • Cannot amend properties in RequestMappingHandlerMapping (e.g. useSuffixPatternMatch) using a bean post processor as ApplicationContextAwareProcessor always fires first initialising RequestMappingHandlerMapping [SPR-9371] #14007
  • Regression: Incorrect behavior if a @PathVariable has the same name as a @ModelAttribute's object property [SPR-9349] #13987
  • @PathVariable drops extension [SPR-9333] #13971
  • UriComponentsBuilder.fromUri brakes url encoded query param [SPR-9317] #13955
  • org.springframework.web.multipart.support.StandardServletMultipartResolver.cleanupMultipart causes an IOException on Resin [SPR-9299] #13937
  • DispatcherPortlet shouldn't call exposeActionException during event processing [SPR-9287] #13925
  • MutablePropertySources#get throws when it should return null [SPR-9179] #13817
  • Scoped-proxy memory leak w/ @Resource injection [SPR-9176] #13814
  • org.springframework.context misses Import-Package on javax.inject [SPR-9173] #13811
  • Avoid infinite loop in AbstractResource#contentLength [SPR-9161] #13799
  • AbstractMessageConverterMethodProcessor ignores quality parameter when selecting a MediaType [SPR-9160] #13798
  • "Content-Disposition" in class StandardMultipartHttpServletRequest should be case insensitive [SPR-9149] #13787
  • Invalid MIME-type causes a 500 error [SPR-9142] #13781
  • Race condition in AnnotationMethodHandlerExceptionResolver [SPR-9138] #13777
  • Custom condition in request mapping handler does not work as an exclusion filter [SPR-9134] #13773
  • Fix regression in @PropertySource placeholder resolution [SPR-9133] #13772
  • ServletContextResource getFile should not rely on getRealPath (for WebLogic 10 compatibility) [SPR-8461] #13107

📔 Documentation

  • Backport "Add missing section ids in reference documentation" [SPR-9410] #14046
  • INDEX.LIST uses incorrect jar names [SPR-6383] #11049

3.2 M1 Release

17 Jan 15:46
Compare
Choose a tag to compare

⭐ New Features

  • Improve documentation for @Bean 'lite' mode and annotated class support in the TestContext Framework [SPR-9401] #14037
  • java.sql.SQLTimeoutException not translated to org.springframework.dao.QueryTimeoutException [SPR-9376] #14012
  • Possibility of creating multiple custom @RequestConditions [SPR-9350] #13988
  • Documentation Typo [SPR-9321] #13959
  • Add convenient WebApplicationInitializer base classes [SPR-9300] #13938
  • Support binding @PathVariable(s) to a Map [SPR-9289] #13927
  • Confusion around binding request parameters to Maps using Spring MVC [SPR-9265] #13903
  • Small memory improvements to InjectionMetadata and InitDestroyAnnotationBeanPostProcessor.LifecycleMetadata [SPR-9264] #13902
  • Improve Support for Maps of Mixed Types [SPR-9249] #13887
  • @RequestBody should have a required parameter to allow a request body to be optional [SPR-9239] #13877
  • Allow configuration of a custom MessageCodesResolver in WebMvcConfigurer [SPR-9223] #13861
  • SpEL: support references to arrays in the T() construct [SPR-9203] #13841
  • ResourceHttpRequestHandler should check that locations is not null [SPR-9186] #13824
  • Map Oracle's ORA-30006 to Spring's CannotAcquireLockException [SPR-9141] #13780
  • Decode URI variable values when UrlPathHelper.setUrlDecode() is set to false [SPR-9098] #13736
  • Improve dependency management for the spring-test module [SPR-8861] #13503
  • Missing syntax in the 3.0.0 reference documentation [SPR-8856] #13498
  • Support for JCache (JSR-107) [SPR-8774] #13417
  • Support not (!) operator for profile selection [SPR-8728] #13370
  • Support for Servlet 3.0/3.1 asynchronous request processing [SPR-8517] #13162
  • spring-expression: OpPlus should convert operand values to String using registered convertors [SPR-8308] #12957
  • Improve build system and source control infrastructure [SPR-8120] #12773
  • HttpStatus deprecations/links [SPR-7942] #12597
  • Update documentation regarding scoped-proxy and singleton beans [SPR-7940] #12595
  • Hibernate LocalSessionFactoryBean schemaUpdate incompatible with automatic dialect detection [SPR-7936] #12591
  • Predict specific object type in EhCacheFactoryBean [SPR-7843] #12499
  • support pretty printing in MappingJacksonHttpMessageConverter [SPR-7201] #11860
  • Support initial delay attribute for @Scheduled and task:scheduled [SPR-7022] #11684
  • <form:form /> : propose a limited number of values for the method attribute [SPR-6945] #11610
  • Some implementation of HandlerExceptionResolver should allow for a list of Exceptions to be ignored [SPR-5193] #9866

🪲 Bug Fixes

  • StringUtils.parseLocaleString incorrectly parses when language and country are the same and lowercase "de_de" parses to "de_DE_de" [SPR-9420] #14056
  • Log4jWebConfigurer: wrong config location URL with some property substitutions [SPR-9417] #14053
  • JavaBeanInfo Link broken [SPR-9408] #14044
  • ContentNegotiationViewResolver should not decode Request-URI while fetching requested Media-Types [SPR-9390] #14026
  • Broken external link in AbstractWireFeedHttpMessageConverter API [SPR-9379] #14015
  • AnnotationUtils.findAnnotation(Method, Class) fails to find annotation under specific conditions [SPR-9342] #13980
  • HttpStatusCodeException cannot be serialized [SPR-9273] #13911
  • incorrect message in BeanCreationException [SPR-9260] #13898
  • JSON (jackson) @RequestBody marshalling throws java.io.EOFException when body is missing [SPR-9238] #13876
  • Reference documentation has incorrect attribute name for Spring url tag [SPR-9188] #13826
  • [SpEL] Problem with uppercase property names [SPR-9123] #13761
  • Multiple javadoc issues [SPR-9113] #13751
  • Encoding issue causes javadoc generation to fail [SPR-9097] #13735
  • JibxMarshallerTests causes build failure on Windows [SPR-8360] #13007
  • Constants.toCode throws NPE when namePrefix is null [SPR-8278] #12926
  • Wrong path mapping combination between type-level and method-level @RequestMapping on @Controller [SPR-7970] #12625
  • org.springframework.web.servlet.view.json.MappingJacksonJsonView does not set the Content-Length response header. [SPR-7866] #12523
  • JibxMarshaller doesn't use configured encoding property when unmarshalling documents [SPR-7865] #12522
  • Using array syntax generates invalid id in freemarker [SPR-7710] #12366
  • Invalid reference to spring version in MultipartResolver javadocs [SPR-5984] #10652

📔 Documentation

  • Change green JavaDocs API to standard JavaDoc colors with SpringSource logo [SPR-6787] #11453

3.1.1 Release

17 Jan 15:46
Compare
Choose a tag to compare

⭐ New Features

  • Add receive-timeout option to jms:listener-container or jms:listener definition [SPR-9114] #13752
  • Synchronization issues occur on a form which heavily uses [SPR-9084] #13722
  • UriComponentsBuilder.pathSegments(...) should drop empty segments [SPR-9077] #13715
  • ServletUriComponentsBuilder should allow normalizing URIs created [SPR-9076] #13714
  • ServletUriComponentsBuilder should provide static method to create URI from request without query parameters [SPR-9075] #13713
  • SessionAttributes defined in the controller are not populated from the HttpSession object when the web session fails over to a new server in the cluster [SPR-9047] #13686
  • org.springframework.dao.EmptyResultDataAccessException doesn't provide cause Throwable [SPR-9041] #13681
  • Provide a way to override the ReflectiveMethodResolver so that subclasses can provide thier own static methods [SPR-9038] #13677
  • SimpleMessageListenerContainer creates the consumers in the afterPropertySet instead of the start [SPR-9009] #13648
  • Couple of ExtendedBeanInfoTests failing on Java 7 [SPR-9007] #13646
  • ORM PersistenceExceptionTranslation does not convert Hibernate3 unique ids error to spring DuplicateKeyException [SPR-8996] #13636
  • Initialize property sources before invoking ApplicationContextInitializer [SPR-8991] #13631
  • Add the ability to Scan Packages for JAXB Marshalling (java example provided) [SPR-8986] #13626
  • Add FlashAttributes to Model for view controllers [SPR-8976] #13616
  • Flash attributes with RedirectView [SPR-8968] #13608
  • Regression: please expose Configuration object in Hibernate 4 LocalSessionFactoryBean [SPR-8961] #13601
  • Spring JDBC does not support JBoss 7 Native JDBC connection [SPR-8957] #13597
  • How can Spring 3.1 support hibernate 4 such as support Hibernate 3? [SPR-8940] #13580
  • Allow SELECT statements in ResourceDatabasePopulator [SPR-8932] #13572
  • Please include block in project pom's. [SPR-8927] #13567
  • form:errors tag: include object errors in the documentation [SPR-7799] #12455
  • Add QueryTimeoutException to the DataAccessException hierarchy [SPR-7680] #12336
  • Allow more flexibility for SQLException translation based on state [SPR-7675] #12331

🪲 Bug Fixes

  • PDF documentation still missing images (even in 3.1 final) [SPR-9267] #13905
  • @PropertySource annotation with multiple values and a name fails to register all property sources [SPR-9127] #13766
  • BeanNameGenerator strategy provided to AnnotationConfig(Web)ApplicationContext does not apply to nested and imported @Configuration classes [SPR-9124] #13762
  • ResourceHttpRequestHandler OSGiBundleResource contentLength [cannot be resolved to absolute file path] [SPR-9118] #13756
  • StringHttpMessageConverter should use HttpServletRequest encoding for POST body [SPR-9096] #13734
  • org.springframework.web.util.UriTemplate not throwing IllegalArgumentException when URIVariables map missing values [SPR-9093] #13731
  • Incorrect name in documentation for ByteArrayHttpMessageConverter class [SPR-9085] #13723
  • JobDetailFactoryBean missing properties to set description and durability on JobDetail [SPR-9080] #13718
  • RequestParamMethodArgumentResolver does not resolve multiparts using HTTP PUT [SPR-9079] #13717
  • ServletContextResource.isReadable() returns "true" for directories [SPR-9067] #13706
  • After upgrade to 3.1.0 from 3.0.5 we've get "Unexpected ClassLoader type" exception during startup of our application under jboss 5.1 [SPR-9065] #13704
  • Spring MVC 3.1.GA 405 problem, can not create two mappings with a same url when using 2 methods (GET, POST) and a PathVariable [SPR-9062] #13701
  • IllegalStateException when saving flash attributes if the session does not exist [SPR-9060] #13699
  • Make spring-test dependency on spring-aspects optional [SPR-9048] #13687
  • PropertiesLoaderSupport no longer works with XML-formatted property files when they're loaded as a FileSystemResource. [SPR-9043] #13683
  • @ComponentScan with includeFilters on @Import-ed context does not work [SPR-9031] #13670
  • javax.Provider Spring support doesn't work for collections [SPR-9030] #13669
  • Beanname of @Configuration instance is null when Configuration is imported via @Import [SPR-9023] #13662
  • Two matching produces conditions compared incorrectly if media type in 'Accept' header contains a quality parameter [SPR-9021] #13660
  • Provide property in RedirectView to disable treating the redirect URL as a URI template [SPR-9016] #13655
  • AbstractEnvironment should not call overridable method from constructor [SPR-9013] #13652
  • NPE in Spring-JDBC with sqlite [SPR-9006] #13645
  • Javadoc error in AbstractRequestCondition subclasses [SPR-9001] #13641
  • @ActiveProfiles are not cascaded down to contexts loaded via @ImportResource [SPR-8992] #13632
  • NullPointerException when @InitBinder method has an HttpServletResponse argument [SPR-8983] #13623
  • UriUtils query parser broken from 3.0.7 to 3.1.0 [SPR-8974] #13614
  • spring-context missing optional Import-Package directive for javax.validation.spi [SPR-8973] #13613
  • JDBC XML schema refers to a non-existing class EmbeddedDataSourceFactoryBean [SPR-8972] #13612
  • Property wrongly converted if field and setter do not match [SPR-8964] #13604
  • Bean configuration behaviour in detecting Locale values changed [SPR-8962] #13602
  • Regression: SpringValidatorAdapter generates invalid error codes for class-level constraints [SPR-8958] #13598
  • Got stackoverflow when scanning for @Configuration [SPR-8955] #13595
  • BeanFactory does not return FactoryBeans in case the are looked up by type and type prediction is used [SPR-8954] #13594
  • The class org.springframework.orm.hibernate4.LocalSessionFactoryBean does not implement the interface PersistenceExceptionTranslator [SPR-8952] #13592
  • PropertyPathFactoryBean requires a bean setter in version 3.1.0.RELEASE. It didn't in 3.0.6.RELEASE [SPR-8949] #13589
  • TypeConverterDelegate no longer processes ConversionService ParseException when converting to String [SPR-8944] [#135...
Read more

3.0.7 Release

17 Jan 15:46
Compare
Choose a tag to compare

⭐ New Features

  • TransactionSynchronizationManager should remove ThreadLocal if removal of void ResourceHolder leaves resources map empty [SPR-8845] #13487
  • Add support for setting an MBeanServerForwarder to ConnectorServerFactoryBean [SPR-8820] #13462
  • Support JDO 3.x [SPR-8655] #13297
  • MappingJacksonHttpMessageConverter should have getObjectMapper() method [SPR-8605] #13248
  • AbstractCachingViewResolver does not cache negative lookups [SPR-8524] #13168
  • SpEL: Unnecessary conversion of Map arguments [SPR-8518] #13163
  • Update SQL error code mapping for H2 1.3.154 [SPR-8235] #12883
  • GenericTypeResolver's getTypeVariableMap(...) and resolveType(...) should be public [SPR-8005] #12660
  • Poor multithread performance in AbstractAutowireCapableBeanFactory.filterPropertyDescriptorsForDependencyCheck method [SPR-7863] #12520
  • org.h2.jdbc.JdbcSQLException: NULL nicht zulässig für Feld "xyz" gets translated to org.springframework.jdbc.UncategorizedSQLException [SPR-7480] #12138

🪲 Bug Fixes

  • CollectionsToCollectionsConverter no longer handles java.util.Collections$EmptyList -> java.util.Collections$EmptyList [SPR-7293] #11952
  • @Transactional with qualifier can't find PlatformTransactionManager defined in parent context [SPR-7679] #12335
  • ResourceHttpRequestHandler shouldn't return 404 when mime-type of existing resource can't be determined (and maybe try harder) [SPR-7713] #12369
  • CollectionToCollectionConverter does not convert if the source is empty [SPR-7728] #12384
  • Setting "file-encoding" attribute in a "context:property-placeholder" element in spring xml configuration doesn't work [SPR-8024] #12679
  • Exception during SpringSessionSynchronization.aftercompletion() results in IllegalStateException/SessionHolder never unbound from thread [SPR-8757] #13399
  • Using DataBinder with an auto-growing list is broken [SPR-8828] #13470
  • PortletUtils.getSessionMutex() needs to use APPLICATION_SCOPE [SPR-8888] #13529
  • Autowire of overriden setters with generic parameter regression [SPR-8905] #13545
  • SimpleJdbcTestUtils.executeSqlScript doesn't close script InputStream [SPR-8872] #13513
  • @RequestMapping(headers="foo!=bar") does not work for non media type headers [SPR-8862] #13504
  • JDO PersistenceManager should not be closed until after transaction completion [SPR-8846] #13488
  • TransactionSynchronizationManager should not return void ResourceHolder when unbinding [SPR-8844] #13486
  • AbstractAsyncExecutionAspect setExecutor wrong assignment [SPR-8772] #13415
  • ClassCastException possible when converting to a target type that is a subtype of T for a Converter<S, T> convertible type. [SPR-8718] #13360
  • 3.0.6 Map to Map conversion shallow copying maps causing unexpected results on upgrade from 3.0.5 [SPR-8714] #13356
  • DefaultResponseErrorHandler IOException Bug [SPR-8713] #13355
  • contentLength method is not correctly implemented for all Resource subclasses [SPR-8709] #13351
  • GenericTypeResolver can throw null pointer exception when types cannot be resolved [SPR-8698] #13340
  • Media type such as "*/xml" should not be accepted [SPR-8697] #13339
  • wrong getBody() implementation in ServletServerHttpRequest [SPR-8688] #13330
  • Collection Binding broken - TypeConverterDelegate does bind Collection Elements to Collection type instead of the collection elements Type [SPR-8674] #13316
  • Bridged method detection leads to false positive detection of autowired annotations [SPR-8660] #13302
  • Incorrect output of big numbers when using NamedParameterJdbcTemplate.queryForLong [SPR-8652] #13294
  • StringUtils.parseLocaleString incorrectly constrains the characters of the variant parts of a locale String [SPR-8637] #13279
  • RmiClientInterceptorUtils.isConnectFailure() fails to detect java.rmi.MarshalException caused by java.net.SocketException [SPR-8628] #13271
  • pdf documentation doesn't contain images [SPR-8512] #13158
  • StandardEvaluationContext.setRootObject should test parameter rather than private for null [SPR-8241] #12889
  • AbstractCachingViewResolver does not query cache correctly [SPR-8173] #12824
  • LinkedCaseInsensitiveMap does not correctly implement putAll() [SPR-7969] #12624
  • EntityManagerFactoryUtils fails to apply transaction timeout for EclipseLink update and delete queries [SPR-7947] #12602
  • CurrencyEditor#getAsText() documents wrong return value [SPR-7890] #12546
  • AbstractFileResolvingResource.exists() method incorrectly returns 'true' for non-existent HTTP resources [SPR-7881] #12537
  • formMultiSelect macro in spring.ftl causes freemarker.template.TemplateException [SPR-7721] #12377

3.1 GA Release

17 Jan 15:46
Compare
Choose a tag to compare

⭐ 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

3.1 RC2 Release

17 Jan 15:46
Compare
Choose a tag to compare

⭐ New Features

  • Support by-type lookup/injection of primitive types [SPR-8874] #13515
  • Introduce SystemEnvironmentPropertySource [SPR-8869] #13510
  • LocalSessionFactoryBean in Spring 3.1.0.RC1 unable to set NamingStrategy [SPR-8864] #13506
  • EhCacheFactoryBean does not support setting setStatisticsEnabled field. [SPR-8855] #13497
  • change log level on AbstractWebArgumentResolverAdapter.supportsParameter [SPR-8851] #13493
  • Javadoc for ResourceHolder.isVoid contains misspelling [SPR-8843] #13485
  • reconsider ValueWrapperImpl name [SPR-8833] #13475
  • introduce meta annotation for declaring multiple @Cache annotations [SPR-8830] #13472
  • Add ServletUriComponentsBuilder [SPR-8823] #13465
  • Allow @Configuration classes to self-@ComponentScan [SPR-8808] #13450
  • UriComponentsBuilder should also contain subtractive methods [SPR-8803] #13445
  • Add a way to easily reverse 'ignoreDefaultModelOnRedirect' default when using mvc:annotation-driven [SPR-8801] #13443
  • Improve documentation on options for configuring Spring MVC [SPR-8784] #13427
  • Button Tag [SPR-8755] #13397
  • RequestMappingHandlerMapping lacks detectHandlersInAncestorContexts [SPR-8753] #13395
  • MockServletRequest and MockServletResponse Ignore Content-Type [SPR-8750] #13392
  • Implement new method from ClassLoadHelper to make Spring work with Quartz 2.1 [SPR-8727] #13369
  • Allow for a more flexible @CacheEvict annotation [SPR-8629] #13272
  • UriTemplate doesn't encode query parameters [SPR-8403] #13050
  • Provide @Configuration support for annotation-based caching [SPR-8312] #12960
  • Ease creating Location headers in REST controllers [SPR-8020] #12675
  • Improve documentation of the context caching mechanism in the TestContext framework [SPR-7996] #12651
  • Introduce @EnableSpringConfigured [SPR-7888] #12544
  • Add updateOnly option to @Cacheable annotation [SPR-7833] #12489

🪲 Bug Fixes

  • [Documentation] Wrong namespace declaration in c-namespace example in reference guide. [SPR-8879] #13520
  • Truncated HTTP responses [SPR-8867] #13509
  • @InitBinder and @ModelAttribute caches in RequestMappingHandlerAdapter ignore "prototype" controllers [SPR-8859] #13501
  • Path variable in class-level @RequestMapping not working properly [SPR-8858] #13500
  • JUnit Dependency not in Central [SPR-8852] #13494
  • Spring 3.1 RC1 includes stale duplicate of spring-cache XSD [SPR-8850] #13492
  • Misplaced "foo bar" in Reference Documentation under "Classpath scanning and managed components" [SPR-8842] #13484
  • DateTimeFormat javdoc mistake [SPR-8838] #13480
  • @Configuration class enhancement is not idempotent [SPR-8824] #13466
  • Unguarded access to first iterator element in RequestMappingInfoHandlerMapping [SPR-8819] #13461
  • org.springframework.orm.hibernate4.LocalSessionFactoryBean fails if 'packagesToScan' is not set [SPR-8812] #13454
  • ExtendedBeanInfo raises 'type mismatch' error with covariant property types [SPR-8806] #13448
  • Regression: HibernateJpaDialect adding SessionFactory as txResource not getting cleaned up [SPR-8800] #13442
  • DefaultFlashMapManager does not support URLs with multiple parameter values [SPR-8798] #13440
  • New non-optional dependencies in org.springframework.web-3.1.0.RC1.jar [SPR-8788] #13431
  • Update and improve AnnotationDrivenBeanDefinitionParser javadoc [SPR-8783] #13426
  • RedirectAttributes parameter results in IllegalArgumentException if using DefaultAnnotationHandlerMapping or AnnotationMethodHandlerAdapter [SPR-8782] #13425
  • 3.1 RC1 does not work on Google App Engine because direct InitialContext usage (which is restricted) [SPR-8781] #13424
  • Transaction synchronization resources are not properly cleaned-up [SPR-8778] #13421
  • java.lang.NoSuchMethodError: org.hibernate.SessionFactory.openSession()Lorg/hibernate/classic/Session; [SPR-8776] #13419
  • MethodInvokingJobDetailFactoryBean doesn't actually return the JobDetail if Quartz 2.0 in use [SPR-8775] #13418
  • Jpa transaction manager transaction suspension ignores dialect resources [SPR-8771] #13414
  • RequestDataValueProcessor not called in RedirectView [SPR-8770] #13413
  • Spring tries to instantiate nested annotation with a @Component annotation [SPR-8761] #13404
  • SimpleMappingExceptionResolver: setStatusCodes getter return not same as setter. Makes override impossible [SPR-8759] #13402
  • Code example bug in Cache Abstraction document [SPR-8708] #13350
  • Duplicate "type" attribute rendered in JSP InputTag [SPR-8694] #13336
  • form:hidden disabled attribute is created regardless if value is true or false [SPR-8661] #13303
  • NumberFormatException caused by property paths from JSR-303 based validation with no index into a collection [SPR-8634] #13276
  • Formatter subsystem's ParserConverter skips Parser invocation if input string is empty [SPR-8321] #12969
  • NotificationListenerBean constructor accepts null NotificationListener [SPR-8091] #12746

3.1 RC1 Release

17 Jan 15:46
Compare
Choose a tag to compare

⭐ 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] [#1170...
Read more

3.0.6 Release

17 Jan 15:46
Compare
Choose a tag to compare

⭐ New Features

  • Invalid MIME-type causes a 500 error [SPR-7712] #12368
  • Required annotation processing can't be skipped by using bean definition meta element [SPR-8617] #13260
  • Allow read and connect timeouts and request headers to be set on SimpleHttpInvokerRequestExecutor [SPR-8615] #13258
  • Allow the read and connect timeout to be set on SimpleClientHttpRequestFactory [SPR-8614] #13257
  • ExposeInvocationInterceptor should always be highest precedence [SPR-8544] #13188
  • Add setInstanceName and setInstanceId methods into LocalTaskExecutorThreadPool [SPR-8542] #13186
  • CollectionToObjectConverter uses the first element of a collection even when the collection could be assigned to an Object [SPR-8538] #13182
  • ResourceHttpRequestHandler should check for directory traversal [SPR-8515] #13160
  • Type conversion not applied on @Resource annotation [SPR-8480] #13126
  • Javadocs on CustomDateEditor misleading [SPR-7759] #12415
  • ConcurrentModificationException in DefaultListableBeanFactory when using your own bean factory to register beans [SPR-7757] #12413
  • improve the process of finding actual methods for servlet and portlet handlers [SPR-7703] #12359
  • Reduce footprint due to BeanDefinitions [SPR-7491] #12149
  • Double EL expression evaluation in JSP MessageTag [SPR-5308] #9981

🪲 Bug Fixes

  • Problem using SpringBeanAutowiringInterceptor with @Value annotation in a Stateless Session Bean [SPR-8621] #13264
  • RedirectView always sends 302s in HTTP/1.0 (default) mode [SPR-8612] #13255
  • PersistenceAnnotationBeanPostProcessor does not operate on the most specific persistence annotation declaration [SPR-8594] #13238
  • Can not inject primitive values from property file using @Value annotation into servlet [SPR-8574] #13218
  • subelement in throws BeanDefinitionParsingException [SPR-8563] #13207
  • Synchronisation during performance tests - TypeDescriptor [SPR-8559] #13203
  • MapToMapConverter invalidly returns source map for empty maps [SPR-8554] #13198
  • @PathVariable incorrect matching [SPR-8543] #13187
  • Backport JUnit 4 and @Rule execution order change to 3.0.x [SPR-8537] #13181
  • ConfigurationClassPostProcessor throws IllegalStateException when its postProcessBeanDefinitionRegistry is called with different registries [SPR-8527] #13171
  • org.springframework.transaction bundle is missing import of org.jboss.resource.work [SPR-8505] #13151
  • Non-fatal exception thrown/logged by TypeConverterDelegate [SPR-8499] #13145
  • GenericConverter specifies Set getConvertibleTypes(), but ConvertiblePair doesn't override hashCode and equals. [SPR-8459] #13105
  • CachingConnectionFactory too eagerly Session.commit [SPR-8437] #13083
  • Concurrency problem in CachingConnectionFactory on closing Session [SPR-8436] #13082
  • By default, there is broken conversion String -> ContextResource [SPR-8383] #13030
  • RmiInvocationWrapper methods must not be declared as idempotent for Weblogic cluster [SPR-8369] #13016
  • Debug logging forces instantiation of scoped beans [SPR-8297] #12945
  • ExceptionDepthComparator handle comparison of exact object is incorrect [SPR-8231] #12880
  • Spring ORM 3_0_5 does not set the JPA timeout in milliseconds [SPR-8086] #12741
  • ConcurrentModificationException at Autowired [SPR-7956] #12611
  • BeanDefinitionVisitor does not actually visit factory method names [SPR-7953] #12608
  • Annotation based injection into non public base classes does not work [SPR-7900] #12555
  • Problem with FormattingConversionService [SPR-7875] #12532
  • Accept-Charset header with '*' results in java.nio.charset.IllegalCharsetNameException [SPR-7869] #12526
  • FormHttpMessageConverter.read() always ignores post data when processing request (from Tomcat) [SPR-7845] #12502
  • DataBinder should be able to define a different strategy for BeanWrapperImpl how autogrowing should handle gaps in collection properties [SPR-7842] #12498
  • HttpHeaders.getEtag() mangles the value [SPR-7834] #12490
  • StringUtils incorrectly interprets UNIX-style hidden directories as file extensions [SPR-7828] #12484
  • ConversionService broken since 3.0.4 [SPR-7816] #12472
  • EhCacheManagerFactoryBean should close stream obtained from configLocation [SPR-7813] #12469
  • ServletRequestDataBinder does not bind MultipartFile with HiddenHttpMethodFilter and Multipart Request [SPR-7795] #12451
  • FormHttpMessageConverter does not honor the charset in the content type when writing a form and uses a wrong default charset [SPR-7789] #12445
  • @RequestParam - wanting List getting List [SPR-7781] #12437
  • Vulnerability in LocaleChangeInterceptor [SPR-7779] #12435
  • Wrong data-type resolution using custom Converter [SPR-7766] #12422
  • MediaType incorrectly calls the toString() method instead of name() method causing RestTemplate on Android to fail [SPR-7729] #12385
  • 304 responses should not have non-0 Content-Length [SPR-7706] #12362
  • Missing package imprts in bundle org.springframework.aspects [SPR-7702] #12358
  • Problem by invoking method NamedParameterJdbcTemplate.query() if parameter contains a array [SPR-7699] #12355
  • NullPointerException in InjectionMetadata [SPR-7686] #12342
  • AbstractBindingResult.hashCode() throws NullPointerException [SPR-7682] #12338
  • Unresolved thread safety issue in AutowiredAnnotationBeanPostProcessor.AutowiredMethodElement [SPR-7635] #12291
  • ThreadLocal leaking in AbstractBeanFactory and XmlBeanDefinitionReader [SPR-7441] #12099

3.1 M2 Release

17 Jan 15:46
Compare
Choose a tag to compare

⭐ New Features

  • @ExceptionHandler should be able to return ResponseEntity [SPR-8839] #13481
  • Reference Documentation, Chapter 15 - WebMVC, minor issues [SPR-8391] #13038
  • Allow convenient addition of custom Converter types against ConfigurableEnvironment / ConfigurablePropertyResolver [SPR-8389] #13036
  • Support "contextInitializerClasses" init-param for FrameworkServlet [SPR-8366] #13013
  • Support introspection of nested classes with ClassMetadata [SPR-8358] #13005
  • Introduce AbstractEnvironment#customizePropertySources [SPR-8354] #13001
  • Consolidate support for HandlerInterceptor and MappedInterceptor types in AbstractHandlerMapping [SPR-8352] #12999
  • When using Java-based configuration, nested ViewResolvers in ContentNegotiatingViewResolver may require bean initialization [SPR-8350] #12997
  • Introduce ResourcePropertySource [SPR-8328] #12977
  • Documentation for @BeanAge [SPR-8327] #12976
  • Add Environment.getProperty(String name, Class targetType, T defaultValue); [SPR-8322] #12971
  • Add option to register configuration classes via Class<?> in AnnotationConfigWebApplicationContext [SPR-8320] #12968
  • Provide @Configuration support for enabling load-time weaving (@EnableLoadTimeWeaving) [SPR-8317] #12965
  • Provide @Configuration support for PropertySource registration (@PropertySource) [SPR-8314] #12962
  • Provide @Configuration support for annotation-based transaction management [SPR-8313] #12961
  • Provide @Configuration support for async method execution [SPR-8311] #12959
  • Allow recursive use of @ComponentScan [SPR-8307] #12956
  • ConversionServiceFactory.addDefaultConverters() should add symetric converters [SPR-8306] #12955
  • Provide @Configuration support for configuring Spring @MVC [SPR-8310] #12953
  • cache mutable operations should not return values [SPR-8298] #12946
  • Extension for CastorMarshaller - additional unmarshaller properties [SPR-8296] #12944
  • Extension for CastorMarshaller - additional marshaller properties [SPR-8295] #12943
  • Provide @Configuration support for scheduled tasks [SPR-8262] #12910
  • Introduce @Role annotation [SPR-8260] #12908
  • Allow ref= as well as for mvc:interceptor/ [SPR-8252] #12900
  • Provide HandlerMethod-based implementations of HandlerMapping, HandlerAdapter, and HandlerExceptionResolver [SPR-8214] #12864
  • Relax requirement for transaction manager name/reference in EnableTransactionManagement [SPR-8207] #12857
  • Scheduled tasks should allow a reference to a Trigger bean in XSD [SPR-8205] #12855
  • Introduce a reserved default profile name [SPR-8203] #12852
  • Automatically detect and register nested @Configuration classes [SPR-8186] #12837
  • Allow child ApplicationContext to inherit parent Environment [SPR-8185] #12836
  • Support automatic detection of close methods [SPR-8114] #12768
  • MapPropertySource constructor should have public visibility [SPR-8107] #12761
  • Support Hibernate 3.6.x [SPR-8100] #12755
  • Support injection against setter methods with non-void return types [SPR-8079] #12734
  • Introduce HibernateExceptionTranslator [SPR-8076] #12731
  • BindException method signatures still use raw types [SPR-8062] #12717
  • Allow other delimiters in profile XML attribute [SPR-8033] #12688
  • Cache support - extend key features [SPR-8007] #12662
  • Support Quartz 1.8.x or better [SPR-7987] #12642
  • Process @ImportResource with current ResourceLoader [SPR-7973] #12628
  • Cache KeyGenerator.extract() should allow to use the bean identity [SPR-7971] #12626
  • TestContext framework should support declarative configuration of bean definition profiles [SPR-7960] #12615
  • SessionFactoryUtils.convertHibernateAccessException() improperly swallows underlying HibernateException [SPR-7933] #12588
  • Allow target access in Cache Key SpEL [SPR-7832] #12488
  • Add support for package binding in the JibxMashaller [SPR-7805] #12461
  • JibxMarshaller supports method returns true for classes not in the configured binding [SPR-7804] #12460
  • Make it easier to customize or extend the HandlerAdapter for annotated methods [SPR-7792] #12448
  • Support configuring Servlet container in Spring using Servlet 3.0 programmatic config [SPR-7672] #12328
  • ExceptinHandler method behaves differently than request handler [SPR-7637] #12293
  • Construct org.springframework.core.convert.TypeDescriptor programatically for collections [SPR-7597] #12253
  • GeneratedKeyHolder.getKey returns NULL with postgres [SPR-7564] #12221
  • Automatically expose @PathVariables in the Model [SPR-7543] #12200
  • Support lazy initialization for jee:jndi-lookup [SPR-7477] #12135
  • CastorMarshaller should have suppressXMLDeclaration [SPR-7442] #12100
  • JSON (jackson) @RequestBody marshalling throws awkward exception [SPR-7439] #12097
  • HandlerInterceptor improvement - insufficient context (no handler method) information [SPR-7408] #12066
  • TypeDescriptor.forElementType() does not work for TypeDescriptor obtained via TypeDescriptor.valueOf() [SPR-7390] #12048
  • JDBC data source initializer should be able to execute PL/SQL with embedded statements [SPR-7364] #12022
  • Add equivalent of JAX-RS @Consumes to Spring MVC [SPR-7354] #12013
  • Add equivalent of JAX-RS @Produces to Spring MVC [SPR-7353] #12012
  • @RequestHeader negation expressions (e.g. !Accept=text/plain) are not applied [SPR-7346] #12005
  • TestContext should generate cache keys based on all metadata that uniquely identify ApplicationContext configuration [SPR-7326] #11984
  • Extend JdbcTemplate to allow larger batch updates [SPR-7290] #11949
  • Per-Controller MessageConverter [SPR-7213] [#11872](https://github.com/spring-projects/spring-framework/...
Read more