github spring-projects/spring-framework v5.2.6.RELEASE

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

⭐ New Features

  • Cache meta-annotations for stereotype check in AnnotationBeanNameGenerator #24980
  • Use WebsocketServerSpec in ReactorNettyRequestUpgradeStrategy #24959
  • Warn about unsupported "/path/**/other" patterns with WebFlux PathPatternParser #24958
  • Allow override of data binding in ModelAttributeMethodArgumentResolver #24947
  • Rid pointless wrapping with BufferedInputStream from class reading #24946
  • ResponseStatusExceptionResolver ignores ResponseStatusException headers #24944
  • Caching of autowire candidate metadata for lazy beans #24904
  • Put a limit on the size of DefaultSingletonBeanRegistry#suppressedExceptions #24902
  • Prevent setting parent bean factory to self #24900
  • Honor overridden AcceptHeaderLocaleContextResolver.getDefaultLocale() #24871
  • Improve performance of StringUtils.deleteAny() #24870
  • 'args' argument of 'JdbcTemplate#query(String, Object[], RowCallbackHandler)' method should be marked @Nullable #24839
  • Improve usage of ByteArrayOutputStream/ByteArrayInputStream #24805
  • Simplify conversion of ByteArrayOutputStream to String #24785
  • Optimize sortPostProcessors() in PostProcessorRegistrationDelegate #24776
  • Reduce byte array allocations in StompEncoder #24694

🪲 Bug Fixes

  • ConflictingBeanDefinitionException on repeated index evaluation #24978
  • Reintroduce synthesized annotation attribute value caching #24970
  • MockHttpServletRequest should not strip brackets from IPV6 address supplied via Host header #24916
  • Memory leak in MimeTypeUtils LRUCache #24886
  • Annotation searches potentially synthesize annotations unnecessarily #24861
  • Connection created by SingleConnectionDataSource with suppressClose=true always returns isClosed=false even if the target connection is closed #24853
  • DefaultListableBeanFactory.getBean(Class) throws NoSuchBeanDefinitionException on existing bean if getBean(Class) previously tried before registration #24852
  • Cannot dispatch without an AsyncContext when an expected error is thrown #24835
  • Duplicate Vary headers after enabling CORS filter #24829
  • Make it possible to run Spring MVC without kotlin-reflect #24828
  • Recursively copy directory with symbolic link #24823
  • Connection leak with WebClient retrieve().toBodilessEntity() #24788
  • Using UriComponentsBuilder.cloneBuilder does not copy uriVariables #24782
  • Fix empty domain handling in ResponseCookie #24758
  • Illegal reflective access warning for interface-based lookup method injection #24657
  • Annotation retrieval performance degradation after 5.2 #23905

📔 Documentation

  • HttpHeaders#getETagValuesAsList(String) does not document IAE #24950
  • Describe that bean disposal is unsupported for the beans created by FactoryBean #24948
  • Deprecate AnnotationFilter.NONE (since MergedAnnotations always filters java.lang.* annotations) #24932
  • Improve Javadoc #24908
  • Fix Javadoc in PathPattern #24841
  • Document default constructor as fallback for multiple non-@Autowired constructors #24838
  • Document precedence for @DynamicPropertySource #24837
  • Documentation: AbstractBeanDefinition.getBeanClass() vs BeanFactory.getType #24816
  • Fix typos and improve readability in Webflux documentation #24781
  • Document role of views within Spring application #24777
  • Clarify how to avoid favoring path extensions as well as deprecation warnings #24642

🔨 Dependency Upgrades

  • Upgrade to RSocket 1.0 RC7 #24934
  • Upgrade to Reactor Dysprosium-SR7 #24892

❤️ Contributors

We'd like to thank all the contributors who worked on this release!

Don't miss a new spring-framework release

NewReleases is sending notifications on new releases.