Skip to content

Releases: spring-projects/spring-framework

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

3.1 M1 Release

17 Jan 15:46
Compare
Choose a tag to compare

⭐ New Features

  • Ability to specify supported media types on FormHttpMessageConverter [SPR-7929] #12584
  • FormattingConversionServiceFactoryBean enhancements [SPR-7912] #12567
  • Sending large payloads with RestTemplate results in an OutOfMemoryError [SPR-7909] #12564
  • Revise testing chapter based on internal review [SPR-7849] #12506
  • Improve readability and formatting of the Container Extension Points section of the reference manual [SPR-7848] #12505
  • Make it easier to register custom Formatters [SPR-7732] #12388
  • Error handling in scheduled tasks [SPR-7723] #12379
  • Add ETag version of WebRequest.checkNotModified() [SPR-7695] #12351
  • Document how SpEL defaulting syntax differs from PropertyPlaceholder defaulting [SPR-7674] #12330
  • Improve exception handling in PropertyPlaceholderConfigurer [SPR-7510] #12167
  • Add environment abstraction and support bean definition profiles [SPR-7508] #12165
  • Make it easier to add new Message Converters to AnnotationMethodHandlerAdapter [SPR-7504] #12161
  • Introduce interceptors for RestTemplate [SPR-7494] #12152
  • c: (constructor) namespace [SPR-7470] #12128
  • Allow custom WebArgumentResolvers to be configured using the mvc namespace [SPR-7327] #11986
  • Provide high-level cache API in Spring container [SPR-7308] #11967
  • Add @ComponentScan annotation [SPR-7194] #11848
  • @ResponseBody does not work with @ExceptionHandler [SPR-6902] #11567
  • Add human-readable descriptions for statuc codes in HttpStatus [SPR-6614] #11280
  • mvc:annotation-driven should allow overriding all WebBindingInitializer properties [SPR-6506] #11172
  • RestTemplate cannot support OAuth [SPR-6143] #10811
  • LoadTimeWeaver for WebSphere [SPR-4331] #9010
  • update for JMX remote connectors [SPR-977] #5689

🪲 Bug Fixes

  • Unable to configure MappingJacksonHttpMessageConverter created by AnnotationDrivenBeanDefinitionParser [SPR-7924] #12579
  • Returning EmptyHolder from Cache causes ClassCastException [SPR-7736] #12392
  • Unexpected behavior with class-level @RequestMappings [SPR-7707] #12363
  • jUnit 4 and @Rule execution order [SPR-7705] #12361

3.0.5 Release

17 Jan 15:46
Compare
Choose a tag to compare

⭐ New Features

  • Documentation of AnnotationConfigApplicationContext default constructor [SPR-8577] #13221
  • StringToCollectionConverter does not trim parsed collection elements [SPR-7657] #12313
  • XStreamMarshaller - Add support for configuring XStream with aliases by class (type) and also defining multiple attributes for the same class. [SPR-7636] #12292
  • @Bean cannot be used on static factory methods but error message does not inform of you of that [SPR-7628] #12284
  • add Serializer/Deserializer strategy interfaces and default implementation [SPR-7627] #12283
  • SybaseMaxValueIncrementer doesn't work with non-enterprise Sybase db [SPR-7623] #12279
  • Enable ability to specify interface types in Jdbc4NativeJdbcExtractor [SPR-7613] #12269
  • Provide a way to use a native JDBC extractor for metadata processing in SimpleJdbcInsert [SPR-7611] #12267
  • jdbc:datasource lacks 'name' attribute or related mechanism [SPR-7604] #12260
  • Add ability to add to beginning of TestExecutionListener list in TestContextManager [SPR-7595] #12251
  • HttpStatusCodeException should contain response body [SPR-7591] #12247
  • AnnotationSessionFactoryBean postProcessConfiguration() should not be final [SPR-7581] #12237
  • Make it easier to override the TableMetaDataProvider for SimpleJdbcInsert and CallMetaDataProvider for SimpleJdbcCall [SPR-7556] #12213
  • Provide name of errant SQL script when EmbeddedDatabase population fails [SPR-7546] #12203
  • Make UriTemplate Serializable [SPR-7541] #12198
  • Allow Class-relative resource loading in GenericXmlApplicationContext [SPR-7530] #12188
  • Improve log statement "not eligible for getting processed by all BeanPostProcessors" to be more informative [SPR-7524] #12182
  • SpEL cannot project on an non-list collection (seems unnecessarily restrictive) [SPR-7493] #12151
  • Typos, formatting issues, minor wording changes, minor fixes in code samples [SPR-7416] #12074
  • @Async support in spring-aspects with AspectJ [SPR-7369] #12027

🪲 Bug Fixes

  • RestTemplate API is misleading when it comes to url variable passing [SPR-7667] #12323
  • SqlParameter name lower case conversion in CallMetaDataContext causes error. [SPR-7658] #12314
  • 'default-merge' attribute value does not propagate to collection elements [SPR-7656] #12312
  • Thread safety issue in InjectionMetaData affecting setter methods annotated with @Resource tags [SPR-7642] #12298
  • Spring EL method resolver fails on vararg calls [SPR-7633] #12289
  • SpEL: Conversion of collection method parameters fails [SPR-7631] #12287
  • Major performance slowdown in AnnotationUtils.findAnnotation [SPR-7630] #12286
  • NullPointerException in error path of ConstructorResolver when constructing a @Bean from a factory method [SPR-7629] #12285
  • AbstractStaxContentHandler sets NamespaceContext on every start/end element [SPR-7621] #12277
  • StaxEventContentHandler does not set Location for StartDocument event [SPR-7620] #12276
  • SpEL: Resolving values from Map works different after PropertyAccessor is cached [SPR-7614] #12270
  • ClassUtils.isAssignable should be commutative for wrapper and primitive types [SPR-7610] #12266
  • Embedded database support in trouble shutting down Derby [SPR-7602] #12258
  • View returned from @ExceptionHandler does not take into account response content type [SPR-7586] #12242
  • PropertyPlaceholderHelper#findPlaceholderEndIndex does not work for custom placeholderPrefix [SPR-7574] #12231
  • AspectJExpressionPointcut does not use the right classloader when initializing the pointcut parser [SPR-7570] #12227
  • ResourceHttpRequestHandlerTests.modified() fails on Windows due to millisecond precision [SPR-7565] #12222
  • Inconsistent behaviour in AbstractApplicationEventMulticaster listener caching [SPR-7563] #12220
  • Changes in resource loading for 3.0.4 breaks for zipped files [SPR-7559] #12216
  • JMS integration with Tibco causes deadlock due to commitIfNecessary in AbstractPollingMessageListenerContainer [SPR-7558] #12215
  • MockHttpSession throws ConcurrentModificationException when removing attributes in a loop [SPR-7557] #12214
  • DefaultServletHttpRequestHandler fails on Google App Engine [SPR-7553] #12210
  • PropertiesLoaderSupport assumes file-based Resources [SPR-7547] #12204
  • DispatcherPortlet should not throw a permanent UnavailableException when no handlermapping can be found [SPR-7542] #12199
  • End user access to files in WEB-INF directory through DispatcherPortlet [SPR-7540] #12197
  • EmbeddedDatabaseFactory fails to shutdown database if population fails [SPR-7536] #12193
  • Possible regression in "redirect" views between Spring 3.0.2 and Spring 3.0.4 [SPR-7532] #12190
  • Synchronization in AnnotationMethodHandlerAdapter [SPR-7525] #12183
  • Registering null singleton results in BNFE on context refresh [SPR-7523] #12181
  • SpEL regression with ArrayList to int array conversion [SPR-7519] #12177
  • DefaultMessageListenerContainer may hang on shutdown [SPR-7511] #12168
  • JdbcTemplate failed to get data from StoredProc by using column alias [SPR-7506] #12163
  • JaxWsPortClientInterceptor gets an incorrect PortName [SPR-7505] #12162
  • Memory leak in serializable bean factory management [SPR-7502] #12159
  • SQLErrorCodesFactory classloader issues [SPR-7497] #12155
  • Problem with URL encoding in org.springframework.web.servlet.view.RedirectView.RedirectView(String url) [SPR-7490] #12148
  • StackOverflowError, ClassCastException and other issues with ConversionService [SPR-7488] #12146
  • CLOB handling does not work with PostgreSQL [SPR-7487] #12145
  • Optional @RequestParam with required=false no longer works in Spring 3.0.4 (compared to 3.0.2) when Controller extends interface [SPR-7483] #12141
  • Exception (SpelEvaluationException: EL1021E) when using spring:eval with Jetty [SPR-7482] #12140
  • Setup of JMS message listener invoker failed for destination when upgrading from 3.0.2 to 3.0.4 [SPR-7478] [#12136](https://githu...
Read more

3.0.4 Release

17 Jan 15:46
Compare
Choose a tag to compare

⭐ New Features

  • SpringTemplateLoader returns -1 for lastModified which breaks caching [SPR-7454] #12112
  • The PortletWrappingController in spring-mvc-portlet is not supporting EventHandling for JSR268 wrapped portlets [SPR-7430] #12088
  • Reason to break PropertiesFactoryBean contract from 2.5 to 3.0 [SPR-7428] #12086
  • JaxWsPortProxyFactoryBean should autodetect properties from @WebService annotation [SPR-7412] #12070
  • AutodetectCapableMBeanInfoAssembler still refers to raw java.lang.Class type [SPR-7405] #12063
  • PropertyResourceConfigurer.convertPropertyValue should also include propertyName in the method signature for better handling of property value conversion [SPR-7386] #12044
  • JDBC data source initializer should ignore empty strings [SPR-7363] #12021
  • SpEL: support for inline list expressions [SPR-7335] #11994
  • HandlerExceptionResolvers should prevent caching of response [SPR-7334] #11993
  • Transaction names should use the concrete class name [SPR-7317] #11975
  • RestTemplate does not handle null uri template parameters [SPR-7314] #11972
  • Improve spring:eval to use beans [SPR-7312] #11971
  • Expose MessageSource through Hibernate Validator 4.1's ResourceBundleLocator [SPR-7307] #11966
  • o.s.http.client.SimpleClientHttpRequestFactory does not allow to specify a java.net.Proxy [SPR-7305] #11964
  • Upgrade the net.sf.ehcache restriction to [1.3,3.0) in the MANIFEST.MF [SPR-7302] #11961
  • Marshaller properties - cast needed [SPR-7292] #11951
  • @CookieValue values are not URL decoded [SPR-7286] #11945
  • Map properties do not auto-grow like Lists do when binding [SPR-7285] #11944
  • Add ResourceHttpRequestHandler for efficiently serving static resouces [SPR-7116] #11776
  • Access JSR-303 validation contraint attributes in localized messages [SPR-6730] #11396
  • UrlResource should support lastModified() for http URLs [SPR-5465] #10138
  • Support MultipartFile-array property [SPR-2784] #7471

🪲 Bug Fixes

  • CronTrigger causes StackOverflowError [SPR-7807] #12463
  • @RequestParam fails when ConfigurableWebBindingInitializer has both messageCodesResolver and conversionService [SPR-7590] #12246
  • AbstractXmlStreamReader getAttributeValue(String, String) does not handle null namespaceURI properly [SPR-7474] #12132
  • Regression in redirect URL encoding [SPR-7471] #12129
  • Dirty writes and SimpleThreadScope leaking across contexts [SPR-7463] #12121
  • spring:eval displays 'null' when expression evaluates to null [SPR-7459] #12117
  • Problems with URL handling to scoped controllers [SPR-7456] #12114
  • Spring can't find lower visibility constructor if a public default constructor exits [SPR-7453] #12111
  • Regression in ResourceDatabasePopulator: no longer supports newlines within statement properly [SPR-7449] #12107
  • Transactional attribute is not resolved on CgLib proxies created by FactoryBeans [SPR-7448] #12106
  • AopProxyUtils.ultimateTargetClass returns null if candidate parameter is not a TargetClassAware [SPR-7447] #12105
  • PropertyPlaceHolderConfigurer valueSeparator is not a configurable property and breaks compatibility with older configuration [SPR-7429] #12087
  • Concurrent prototype creation causes NullPointerException [SPR-7423] #12081
  • SpEL evaluator cannot convert method parameters even if the TypeConverter can [SPR-7410] #12068
  • Portlet EventRequest - An attribute added into the model inside an EventHandling method is not avilable in render method [SPR-7407] #12065
  • @Autowired does not pick up <task:executor ... /> [SPR-7403] #12061
  • Random ClassCastException when creating prototype-bean with nested map property [SPR-7398] #12056
  • HibernateException is thrown during borrow connection after any query execution in RowMapper [SPR-7393] #12051
  • GenericTypeResolver returns Object for parameterized parameters [SPR-7389] #12047
  • Cron expressions use months based at 0-11 (should be 1-12) [SPR-7384] #12042
  • HTTP headers returned as part of ResponseEntity(MultiValueMap<String, String> headers, HttpStatus statusCode) are ignored when using this constructor [SPR-7381] #12039
  • WeakReferenceMonitor has race condition [SPR-7373] #12031
  • DefaultMessageListenerContainer transacted session race condition if no messages for a while when using shared/cached sessions [SPR-7366] #12024
  • JmsResourceHolder.commit should not ignores IllegalStateException [SPR-7360] #12018
  • BeanWrapper Binding with ConversionService: Annotation-driven type conversion rules not applied to List elements [SPR-7348] #12007
  • HTTP 405 (Method not supported) returned when 404 Status (Not Found) was expected [SPR-7345] #12004
  • SpEL: concurrency issue with StandardEvaluationContext initialization [SPR-7343] #12002
  • @ExceptionHandler doesn't work on CGLib-proxied controller in Portlet MVC [SPR-7337] #11996
  • Error message formatting fails if a JSR 303 @Pattern definition contains special characters [SPR-7329] #11988
  • SpEL: 'select last' operator for maps has inconsistent behavior [SPR-7323] #11981
  • remove "Accept-Charset" header from response, generated by @ResponseBody [SPR-7316] #11974
  • GenericConversionService tries to convert equal types [SPR-7304] #11963
  • @ExceptionHandler did not take RequestToViewNameTranslator into resolution process [SPR-7298] #11957
  • AnnotationMethodHandlerAdapter does not inject MultipartHttpServletRequest when wrapped by HiddenHttpMethodFilter [SPR-7296] #11955
  • ConversionService fails to convert String to Resource List values within Map structures in 3.0.3 [SPR-7295] #11954
  • mvc:annotation-driven's checks for JSR-303 and JAXB2 fail in an OSGi environment [SPR-7291] #11950
  • StackOverflowError when converting nested Lists [SPR-7289] #11948
  • SimpleApplicationEventMulticaster does not filter ApplicationEvents correctly [SPR-5974] #10642

📔 Documentation

  • Split IoC chapter DocBook XML into multiple files [SPR-7467] [#12125](https://g...
Read more

3.0.3 Release

17 Jan 15:46
Compare
Choose a tag to compare

⭐ New Features

  • Conversion from String to MediaType should not fail with default ConversionService [SPR-7282] #11941
  • Logging performance bottleneck in DispatcherServlet / UrlPathHelper [SPR-7269] #11928
  • TypeMismatchException instead of IllegalArgumentException: argument type mismatch for wrong RequestBody [SPR-7263] #11922
  • Consider add to "aspectj-autoproxy" tag attribute "exposeProxy" [SPR-7261] #11920
  • Improve JavaDoc of TaskScheduler interface [SPR-7253] #11912
  • form:hidden tag should allow most (All?) of the same HTML attributes as form:input [SPR-7249] #11908
  • JavaMailSenderImpl should report failedMessages in the event of a network error [SPR-7245] #11904
  • DataSourceUtils does not respect c3p0 TimeoutException [SPR-7226] #11885
  • Introduce convenient boolean configuration attribute for enabling auto-refresh of Tiles definitions [SPR-7225] #11884
  • Avoid EntityManager close() exception through isOpen() check [SPR-7215] #11874
  • Extend HttpMessage interface to expose requestURL [SPR-7211] #11870
  • Spring cannot load xml files from jars when wildcards used [SPR-7198] #11857
  • Spring 3 classpath scanning fails on JBoss AS 6.0.0.M3 [SPR-7197] #11856
  • Add configuration option to control creation of new consumers in DefaultMessageListenerContainer [SPR-7189] #11849
  • MockHttpServletResponse remembers only one include URL. [SPR-7188] #11847
  • DataSourceUtils.prepareConnectionForTransaction can throw SQLException when calls con.setTransactionIsolation(definition.getIsolationLevel()) [SPR-7184] #11843
  • Radiobutton/Checkboxes tag doesn't utilize ConversionService for label rendering [SPR-7174] #11833
  • SpEL: bean references in expressions [SPR-7173] #11832
  • Add getLastTask() method to o.sf.util.StopWatch (and fix a couple of typos) [SPR-7134] #11793
  • Filter out non-autowire candidates for calls to getBean(Class<?>) [SPR-7120] #11780
  • Refactor InternalResourceView to expose getRequestDispatcher for overriding [SPR-7118] #11778
  • Add ability for CNVR to search view names that use file extensions [SPR-7117] #11777
  • Cache results of Converter lookup in GenericConversionService to improve performance [SPR-7110] #11770
  • Optimize ObjectToStringConverter to ensure copies are not made when source is already a String [SPR-7109] #11769
  • AbstractApplicationContext.close() could be more forgiving of exceptions [SPR-7106] #11766
  • Improve conversion system logging [SPR-7105] #11765
  • Cache the annotation-driven converters created from a AnnotationFormatterFactory to improve performance [SPR-7104] #11764
  • SpEL: extend set of characters allowed for an identifier [SPR-7100] #11760
  • Make formatter value configurable through Spring EL/Property PlaceHolder [SPR-7087] #11747
  • Add ignoreJafMediaTypes to ContentNegotiatingViewResolver [SPR-7081] #11741
  • ConversionService cannot override existing Resource editors [SPR-7079] #11739
  • Add support in AopUtils for obtaining target class transitively when target is an AopProxy [SPR-7074] #11734
  • MappingJacksonJsonView.renderedAttributes to be made visible to subclasses [SPR-7070] #11730
  • Need the Ability to Determine if a JMS Listener has Created a Consumer for a Destination [SPR-7065] #11725
  • Allows for on-the-fly persistence units merge without using hardcoded jar urls [SPR-7055] #11689
  • More expected exception tweaks for SpEL expression method invocations [SPR-6941] #11606
  • Add support for WebServiceFeature's to JaxWsPortProxyFactoryBean [SPR-5712] #10382

🪲 Bug Fixes

  • Spring aspects depends on javax.persistence/persistence-api 1.0. Conflicts with ROO including hibernate-jpa-2.0-api [SPR-7284] #11943
  • Conversion service is attempting to convert types that should not be converted [SPR-7283] #11942
  • GenericConversionService canConvert() throws NPE for void.class [SPR-7281] #11940
  • SimpleAliasRegistry.canonicalName can produce an endless loop [SPR-7274] #11933
  • Spring failed to start Circular SmartLifecycle dependencies [SPR-7266] #11925
  • AutowireUtils requires ObjectFactory to be Serializable [SPR-7264] #11923
  • ResponseStatus.reason() ignored for @ExceptionHandler methods [SPR-7259] #11918
  • <form:errors path="*"/> generates span with incorrect id: [SPR-7258] #11917
  • AbstractMarshaller incorrectly expects DOMResult to already have a node [SPR-7257] #11916
  • spring context wrongly created when using aliases [SPR-7254] #11913
  • Tiles 2.2.1 EL AttributeEvaluator not being setup correctly. EL doesn't work in Tiles definitions [SPR-7251] #11910
  • Spring ORM with JPA 2.0 and Eclipselink throws ClassCastException. [SPR-7247] #11906
  • EL expressions with chained map indexes in some cases fail to evaluate [SPR-7244] #11903
  • CronSequenceGenerator should fail to parse invlid ranges of hours etc (e.g. months 11-13) [SPR-7239] #11898
  • NamedParameterJdbcTemplate has the potential to leak memory [SPR-7237] #11896
  • @Transactional can't resolve by @Qualifier PlatformTransactionManager created in @Configuration classes [SPR-7232] #11891
  • Tomcat does not shutdown correctly when using @Scheduled [SPR-7231] #11890
  • Db2CallMetaDataProvider.metaDataSchemaNameToUse throws NPE if the DatabaseMetaData has no username [SPR-7228] #11887
  • GC problem when having Spring jars in a higher ClassLoader without using clearClassLoader [SPR-7227] #11886
  • mvc:annotation-driven intends to autodetect JodaTime 1.3 but accidentally includes earlier versions as well [SPR-7222] #11881
  • Spring XML bean definition parser interprets tags that are not in the beans namespace [SPR-7218] #11877
  • SpEL: Elvis operator throwing NPE in case of an empty base expression [SPR-7209] #11868
  • Ref Doc still contains a section about ServerSessionMessageListenerContainer [SPR-7207] #11866
  • AbstractApplicationEventMulticaster returns multiple instances of same listener for getApplicationListeners() [SPR-7204] [#11863](https://github.c...
Read more

3.0.2 Release

17 Jan 15:46
Compare
Choose a tag to compare

⭐ New Features

  • MappingJacksonJsonView should add headers for no-caching [SPR-7031] #11693
  • Support for HttpEntity<?> in @MVC [SPR-7018] #11680
  • RestTemplate fails to convert properly for Generic Type Container with MappingJacksonHttpMessageConverter [SPR-7002] #11667
  • Performance improvement for TransactionSynchronizationManager.getSynchronizations() [SPR-6999] #11664
  • Provide mechanism for injecting a Serializable Provider or ObjectFactory via XML [SPR-6998] #11663
  • Auto-growing of collections should be implemented for collection writing as well as reading [SPR-6984] #11649
  • org.springframework.core.TypeDescriptor.getAnnotations() should return the method annotation when it wraps the return parameter of the Method [SPR-6979] #11644
  • GenericTypeResolver does not properly handle array parameter types [SPR-6977] #11642
  • Add debug log for HttpMessageConverter usage [SPR-6976] #11641
  • JaxWsPortClientInterceptor gives errors with wsdl service names, not actual endpoints [SPR-6971] #11636
  • Introduce HttpEntity [SPR-6969] #11634
  • SpEL support for bean property access via square brackets [SPR-6968] #11633
  • SimpleJdbcCall.returningResultSet() should accept RowMapper instead of ParameterizedRowMapper [SPR-6963] #11628
  • RestTemplate should not encode fragments (#'s) [SPR-6946] #11611
  • @ResponseBody with method that return void throws "Could not resolve view exception". [SPR-6935] #11600
  • Making org.springframework.scheduling.support.CronSequenceGenerator a public class [SPR-6920] #11585
  • WebContentInterceptor restricting HTTP request methods by default [SPR-6919] #11584
  • JibxMarshaller - provide access to jibx's writeDocType [SPR-6907] #11572
  • HibernateJpaDialect does not allow ConnectionManager to eagerly release Connection for long-running Session [SPR-6895] #11560
  • Improve documentation for JavaConfig's use of CGLIB for all @Configuration annotated classes [SPR-6885] #11551
  • Portlet pom states dependency to spring-asm twice [SPR-6881] #11547
  • form:error tag generates HTML id which contains [ and ], when bound to indexed property [SPR-6862] #11528
  • HiddenHttpMethodFilter does not support multipart requests [SPR-6594] #11260
  • Allow for using MultiValueMap in GET request for mapping multiple request params [SPR-6021] #10690
  • Multipart/mixed requests using RestTemplate [SPR-5904] #10573
  • RestTemplate - access to Request Headers [SPR-5866] #10535
  • Improve error messaging when factory-method is not found [SPR-5475] #10148
  • Add LocalSessionFactoryBean.validateDatabaseSchema() [SPR-3212] #7898

🪲 Bug Fixes

  • @DateTimeFormat causes exception when used with Direct Field Access bean binding [SPR-7809] #12465
  • GenericConversionService ignores converters for arrays [SPR-7462] #12120
  • @Value annotation in Validator triggers Exception when resolving. [SPR-7196] #11855
  • @ResponseStatus: The reason value is not used. [SPR-7060] #11720
  • [doc][spel] Documentation refers to TemplatedParserContext. Class is TemplateParserContext [SPR-7059] #11719
  • Constructor injection is not working properly for collections unless the type of collection is specified [SPR-7058] #11718
  • MVC 3 not forwarding "/" path in WebSphere 7 [SPR-7052] #11713
  • InputStream never closed when using JasperReports 3.x [SPR-7048] #11709
  • XML MarshallingView assumes non-null value for object to be marshalled. [SPR-7047] #11708
  • ContextLoader requires servlet-api 2.5 [SPR-7044] #11706
  • Spring Form Tags cause AccessControlException on Google App Engine [SPR-7042] #11704
  • XmlBeans UnMarshalling - does not work with RequestBody annotation [SPR-7034] #11696
  • Strange MANIFEST.MF and extra jar file inside org.springframework.web.struts jar artifact [SPR-7033] #11695
  • NPE in RuntimeTestWalker [SPR-7032] #11694
  • OptionWriter.renderFromMap fails when map key is null [SPR-7024] #11686
  • Validation for nested properties is buggy [SPR-7019] #11681
  • NPE when attempting to expose JaxWs Port Proxy via mbean exporter [SPR-7011] #11676
  • Spring ignores @Transaction due to double proxying [SPR-7009] #11674
  • AnnotationMethodHandlerAdapter gives priority to media type order over quality when selecting a method [SPR-7000] #11665
  • Memory leak using TransactionDelegate and transaction.commit() [SPR-6991] #11656
  • Spring web's tag library removes "[" and "]" in the path attribute for input (and possibly others). [SPR-6989] #11654
  • Incorrect OSGi dependencies in 3.0.1 RELEASE [SPR-6985] #11650
  • Dispatcher fails to invoke handler method when request method conflicts with request path [SPR-6978] #11643
  • JPA 2.0 support not enabled for OpenJPA (and others?) [SPR-6975] #11640
  • Proxy created for intercept-methods doesn't respect autowire-candidate attribute [SPR-6974] #11639
  • AbstractHttpMessageConverter canWrite logic the wrong way round?? [SPR-6970] #11635
  • Problem with Spring 3.0 when DispatcherServlet is decladed as a Spring bean itself [SPR-6964] #11629
  • Exceptions thrown from an ActionRequest are not handled via @ExceptionHandler [SPR-6959] #11624
  • when combining mvc:annotation-driven and DataBinder.initdirectfieldaccess, conversion problems cause ConversionFailedException instead of being handled by the DataBinder [SPR-6953] #11618
  • Conversion creates collection with invalid elements for @Controller bind target [SPR-6950] #11615
  • NullPointerException from DefaultListableBeanFactory caused by BeanConfigurerSupport [SPR-6947] #11612
  • XStreamMarshaller + JsonHierarchicalStreamDriver + JsonWriter.DROP_ROOT_MODE produce empty output [SPR-6939] #11604
  • AnnotationMethodHandlerAdapter should take into account request accept header ordering [SPR-6934] #11599
  • NPE if BeanPostProcessor returns null [SPR-6926] #11591
  • Spring 3.0.1 cannot concatenate Spring with SpEL ...
Read more