jacoco/jacoco (org.jacoco:jacoco-maven-plugin)
### [`v0.8.12`](https://togithub.com/jacoco/jacoco/releases/tag/v0.8.12): 0.8.12
[Compare Source](https://togithub.com/jacoco/jacoco/compare/v0.8.11...v0.8.12)
#### New Features
- JaCoCo now officially supports Java 22 (GitHub [#1596](https://togithub.com/jacoco/jacoco/issues/1596)).
- Experimental support for Java 23 class files (GitHub [#1553](https://togithub.com/jacoco/jacoco/issues/1553)).
#### Fixed bugs
- Branches added by the Kotlin compiler for functions with default arguments and having more than 32 parameters are filtered out during generation of report (GitHub [#1556](https://togithub.com/jacoco/jacoco/issues/1556)).
- Branch added by the Kotlin compiler version 1.5.0 and above for reading from lateinit property is filtered out during generation of report (GitHub [#1568](https://togithub.com/jacoco/jacoco/issues/1568)).
#### Non-functional Changes
- JaCoCo now depends on ASM 9.7 (GitHub [#1600](https://togithub.com/jacoco/jacoco/issues/1600)).
### [`v0.8.11`](https://togithub.com/jacoco/jacoco/releases/tag/v0.8.11): 0.8.11
[Compare Source](https://togithub.com/jacoco/jacoco/compare/v0.8.10...v0.8.11)
#### New Features
- JaCoCo now officially supports Java 21 (GitHub [#1520](https://togithub.com/jacoco/jacoco/issues/1520)).
- Experimental support for Java 22 class files (GitHub [#1479](https://togithub.com/jacoco/jacoco/issues/1479)).
- Part of bytecode generated by the Java compilers for exhaustive switch expressions is filtered out during generation of report (GitHub [#1472](https://togithub.com/jacoco/jacoco/issues/1472)).
- Part of bytecode generated by the Java compilers for record patterns is filtered out during generation of report (GitHub [#1473](https://togithub.com/jacoco/jacoco/issues/1473)).
#### Fixed bugs
- Instrumentation should not cause `VerifyError` when the last local variable of method parameters is overridden in the method body to store a value of type long or double (GitHub [#893](https://togithub.com/jacoco/jacoco/issues/893)).
- Restore exec file compatibility with versions from 0.7.5 to 0.8.8 in case of class files with zero line numbers (GitHub [#1492](https://togithub.com/jacoco/jacoco/issues/1492)).
#### Non-functional Changes
- jacoco-maven-plugin now requires at least Java 8 (GitHub [#1466](https://togithub.com/jacoco/jacoco/issues/1466), [#1468](https://togithub.com/jacoco/jacoco/issues/1468)).
- JaCoCo build now requires at least Maven 3.5.4 (GitHub [#1467](https://togithub.com/jacoco/jacoco/issues/1467)).
- Maven 3.9.2 should not produce warnings for jacoco-maven-plugin (GitHub [#1468](https://togithub.com/jacoco/jacoco/issues/1468)).
- JaCoCo build now requires JDK 17 (GitHub [#1482](https://togithub.com/jacoco/jacoco/issues/1482)).
- JaCoCo now depends on ASM 9.6 (GitHub [#1518](https://togithub.com/jacoco/jacoco/issues/1518)).
### [`v0.8.10`](https://togithub.com/jacoco/jacoco/releases/tag/v0.8.10): 0.8.10
[Compare Source](https://togithub.com/jacoco/jacoco/compare/v0.8.9...v0.8.10)
#### Fixed bugs
- Agent should not require configuration of permissions for `SecurityManager` outside of its `codeBase` (GitHub [#1425](https://togithub.com/jacoco/jacoco/issues/1425)).
### [`v0.8.9`](https://togithub.com/jacoco/jacoco/releases/tag/v0.8.9): 0.8.9
[Compare Source](https://togithub.com/jacoco/jacoco/compare/v0.8.8...v0.8.9)
#### New Features
- JaCoCo now officially supports Java 19 and 20 (GitHub [#1371](https://togithub.com/jacoco/jacoco/issues/1371), [#1386](https://togithub.com/jacoco/jacoco/issues/1386)).
- Experimental support for Java 21 class files (GitHub [#1386](https://togithub.com/jacoco/jacoco/issues/1386)).
- Add parameter to include the current project in the `report-aggregate` Maven goal (GitHub [#1007](https://togithub.com/jacoco/jacoco/issues/1007)).
- Component accessors generated by the Java compilers for records are filtered out during generation of report. Contributed by Tesla Zhang (GitHub [#1393](https://togithub.com/jacoco/jacoco/issues/1393)).
#### Fixed bugs
- Agent should not open `java.lang` package to unnamed module of the application class loader (GitHub [#1334](https://togithub.com/jacoco/jacoco/issues/1334)).
#### Non-functional Changes
- JaCoCo now depends on ASM 9.5 (GitHub [#1299](https://togithub.com/jacoco/jacoco/issues/1299), [#1368](https://togithub.com/jacoco/jacoco/issues/1368), [#1416](https://togithub.com/jacoco/jacoco/issues/1416)).
- JaCoCo build now requires JDK 11 (GitHub [#1413](https://togithub.com/jacoco/jacoco/issues/1413)).
### [`v0.8.8`](https://togithub.com/jacoco/jacoco/releases/tag/v0.8.8): 0.8.8
[Compare Source](https://togithub.com/jacoco/jacoco/compare/v0.8.7...v0.8.8)
#### New Features
- JaCoCo now officially supports Java 17 and 18 (GitHub [#1282](https://togithub.com/jacoco/jacoco/issues/1282), [#1198](https://togithub.com/jacoco/jacoco/issues/1198)).
- Experimental support for Java 19 class files (GitHub [#1264](https://togithub.com/jacoco/jacoco/issues/1264)).
- Part of bytecode generated by the Java compilers for assert statement is filtered out during generation of report (GitHub [#1196](https://togithub.com/jacoco/jacoco/issues/1196)).
- Branch added by the Kotlin compiler version 1.6.0 and above for "unsafe" cast operator is filtered out during generation of report (GitHub [#1266](https://togithub.com/jacoco/jacoco/issues/1266)).
- Improved support for multiple JaCoCo runtimes in the same VM (GitHub [#1057](https://togithub.com/jacoco/jacoco/issues/1057)).
#### Fixed bugs
- Fixed `NullPointerException` during filtering (GitHub [#1189](https://togithub.com/jacoco/jacoco/issues/1189)).
- Fix range for debug symbols of method parameters (GitHub [#1246](https://togithub.com/jacoco/jacoco/issues/1246)).
#### Non-functional Changes
- JaCoCo now depends on ASM 9.2 (GitHub [#1206](https://togithub.com/jacoco/jacoco/issues/1206)).
- Messages of exceptions occurring during analysis or instrumentation now include JaCoCo version (GitHub [#1217](https://togithub.com/jacoco/jacoco/issues/1217)).
### [`v0.8.7`](https://togithub.com/jacoco/jacoco/releases/tag/v0.8.7): 0.8.7
[Compare Source](https://togithub.com/jacoco/jacoco/compare/v0.8.6...v0.8.7)
#### New Features
- JaCoCo now officially supports Java 15 and 16 (GitHub [#1094](https://togithub.com/jacoco/jacoco/issues/1094), [#1097](https://togithub.com/jacoco/jacoco/issues/1097), [#1176](https://togithub.com/jacoco/jacoco/issues/1176)).
- Experimental support for Java 17 class files (GitHub [#1132](https://togithub.com/jacoco/jacoco/issues/1132)).
- New `formats` parameter for Maven report goals to specify the generated report formats. Contributed by troosan. (GitHub [#1175](https://togithub.com/jacoco/jacoco/issues/1175)).
- Branch added by the Kotlin compiler version 1.4.0 and above for "unsafe" cast operator is filtered out during generation of report (GitHub [#1143](https://togithub.com/jacoco/jacoco/issues/1143), [#1178](https://togithub.com/jacoco/jacoco/issues/1178)).
- `synthetic` methods added by the Kotlin compiler version 1.5.0 and above for `private` suspending functions are filtered out (GitHub [#1174](https://togithub.com/jacoco/jacoco/issues/1174)).
- Branches added by the Kotlin compiler version 1.4.20 and above for suspending lambdas are filtered out during generation of report (GitHub [#1149](https://togithub.com/jacoco/jacoco/issues/1149)).
- Branches added by the Kotlin compiler version 1.5.0 and above for functions with default arguments are filtered out during generation of report (GitHub [#1162](https://togithub.com/jacoco/jacoco/issues/1162)).
- Branch added by the Kotlin compiler version 1.5.0 and above for reading from `lateinit` property is filtered out during generation of report (GitHub [#1166](https://togithub.com/jacoco/jacoco/issues/1166)).
- Additional bytecode generated by the Kotlin compiler version 1.5.0 and above for when expressions on `kotlin.String` values is filtered out during generation of report (GitHub [#1172](https://togithub.com/jacoco/jacoco/issues/1172)).
- Improved filtering of bytecode generated by Kotlin compiler versions below 1.5.0 for when expressions on `kotlin.String` values (GitHub [#1156](https://togithub.com/jacoco/jacoco/issues/1156)).
#### Fixed bugs
- Fixed parsing of SMAP generated by Kotlin compiler version 1.5.0 and above (GitHub [#1164](https://togithub.com/jacoco/jacoco/issues/1164)).
#### Non-functional Changes
- JaCoCo now depends on ASM 9.1 (GitHub [#1094](https://togithub.com/jacoco/jacoco/issues/1094), [#1097](https://togithub.com/jacoco/jacoco/issues/1097), [#1153](https://togithub.com/jacoco/jacoco/issues/1153)).
- Maven plug-in has no dependency on `maven-reporting-impl` any more (GitHub [#1121](https://togithub.com/jacoco/jacoco/issues/1121)).
### [`v0.8.6`](https://togithub.com/jacoco/jacoco/releases/tag/v0.8.6): 0.8.6
[Compare Source](https://togithub.com/jacoco/jacoco/compare/v0.8.5...v0.8.6)
#### New Features
- JaCoCo now officially supports Java 14.
- Experimental support for Java 15 class files (GitHub [#992](https://togithub.com/jacoco/jacoco/issues/992)).
- Experimental support for Java 16 class files (GitHub [#1059](https://togithub.com/jacoco/jacoco/issues/1059)).
- Methods `toString`, `hashCode` and `equals` generated by compiler for records are filtered out during generation of report (GitHub [#990](https://togithub.com/jacoco/jacoco/issues/990)).
- Bridge methods are filtered out during generation of report (GitHub [#1010](https://togithub.com/jacoco/jacoco/issues/1010)).
- Methods generated by Kotlin compiler for non-overridden non-abstract methods of interfaces are filtered out during generation of report (GitHub [#1012](https://togithub.com/jacoco/jacoco/issues/1012)).
- Branches added by the Kotlin compiler version 1.3.60 for suspending functions with tail call optimization are filtered out during generation of report (GitHub [#1016](https://togithub.com/jacoco/jacoco/issues/1016)).
#### Fixed bugs
- Compression method of zip entries is now preserved when instrumenting archives. This allows to use JaCoCo with frameworks that expect uncompressed entries (GitHub [#1018](https://togithub.com/jacoco/jacoco/issues/1018)).
#### Non-functional Changes
- Support for Pack200 was removed in JDK 14. JaCoCo will now throw a detailed exception when Pack200 archives are processed with the latest JDKs (GitHub [#984](https://togithub.com/jacoco/jacoco/issues/984)).
- JaCoCo now depends on ASM 8.0.1 (GitHub [#1032](https://togithub.com/jacoco/jacoco/issues/1032), [#1043](https://togithub.com/jacoco/jacoco/issues/1043)).
#### API Changes
- `URLStreamHandlerRuntime` removed (GitHub [#471](https://togithub.com/jacoco/jacoco/issues/471)).
[All Resolved Issues](https://togithub.com/jacoco/jacoco/issues?q=milestone%3A0.8.6)
### [`v0.8.5`](https://togithub.com/jacoco/jacoco/releases/tag/v0.8.5): 0.8.5
[Compare Source](https://togithub.com/jacoco/jacoco/compare/v0.8.4...v0.8.5)
#### New Features
- JaCoCo now officially supports Java 13
- Experimental support for Java 14 class files (GitHub [#897](https://togithub.com/jacoco/jacoco/issues/897)).
- Branches added by the Kotlin compiler for open functions with default arguments are filtered out during generation of report (GitHub [#887](https://togithub.com/jacoco/jacoco/issues/887)).
#### Fixed bugs
- `synthetic` constructors that contain values of default arguments in Kotlin should not be ignored (GitHub [#888](https://togithub.com/jacoco/jacoco/issues/888)).
- Instrumentation should update indexes of local variables in annotations (GitHub [#894](https://togithub.com/jacoco/jacoco/issues/894)).
- Branches added by the Kotlin compiler for functions with default arguments and containing arguments of type `long` or `double` should be filtered out during generation of report (GitHub [#908](https://togithub.com/jacoco/jacoco/issues/908)).
- `synthetic` methods that contain bodies of anonymous functions in Scala should not be ignored (GitHub [#912](https://togithub.com/jacoco/jacoco/issues/912)).
- To avoid failures with invalid class files report generation now checks that source references are actually files (GitHub [#941](https://togithub.com/jacoco/jacoco/issues/941)).
- `NullPointerException` during filtering (GitHub [#942](https://togithub.com/jacoco/jacoco/issues/942), [#944](https://togithub.com/jacoco/jacoco/issues/944)).
#### Non-functional Changes
- JaCoCo now distributed under the terms and conditions of the Eclipse Public License Version 2.0 (GitHub [#943](https://togithub.com/jacoco/jacoco/issues/943)).
- Prevent startup when JaCoCo runtime cannot be initialized to avoid subsequent faults (GitHub [#910](https://togithub.com/jacoco/jacoco/issues/910)).
- JaCoCo now depends on ASM 7.2 (GitHub [#947](https://togithub.com/jacoco/jacoco/issues/947)).
#### API Changes
- The coverage check API and tools (Ant, Maven) now report an error, when a coverage ratio limit is configured outside the range \[0,1] to avoid common configuration mistakes (GitHub [#783](https://togithub.com/jacoco/jacoco/issues/783)).
- Unsupported class file versions are now consistently reported as exceptions by all methods of `Analyzer` and `Instrumenter` and thus also during report generation and offline instrumentation (GitHub [#952](https://togithub.com/jacoco/jacoco/issues/952)).
[All Resolved Issues](https://togithub.com/jacoco/jacoco/issues?q=milestone%3A0.8.5)
spring-projects/spring-framework (org.springframework:spring-webmvc)
### [`v4.3.30.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/tag/v4.3.30.RELEASE)
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.3.29.RELEASE...v4.3.30.RELEASE)
#### :star: New Features
- ContentCachingResponseWrapper should not add “Content-Length” when “Transfer-Encoding” is present [#26194](https://togithub.com/spring-projects/spring-framework/issues/26194)
- Inefficient request handling inside ServletRequestDataBinder [#26007](https://togithub.com/spring-projects/spring-framework/issues/26007)
- Avoid creation of unused logger instance in AbstractMediaTypeExpression [#25904](https://togithub.com/spring-projects/spring-framework/issues/25904)
#### :beetle: Bug Fixes
- Remove duplicate "property" in PropertyCacheKey.toString() [#26245](https://togithub.com/spring-projects/spring-framework/issues/26245)
- UrlPathHelper#removeJsessionid doesn't remove the jsessionid from the URL [#26086](https://togithub.com/spring-projects/spring-framework/issues/26086)
- jsessionid breaks request mappings when removeSemicolonContent is turned off [#25869](https://togithub.com/spring-projects/spring-framework/issues/25869)
#### :notebook_with_decorative_cover: Documentation
- DateTimeFormat ISO.DATE_TIME javadoc contains misleading default note [#26138](https://togithub.com/spring-projects/spring-framework/issues/26138)
### [`v4.3.29.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/tag/v4.3.29.RELEASE)
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.3.28.RELEASE...v4.3.29.RELEASE)
#### :star: New Features
- PropertiesLoaderSupport should ignore socket/connect exceptions as well [#25722](https://togithub.com/spring-projects/spring-framework/issues/25722)
- Refine use of substring operations [#25515](https://togithub.com/spring-projects/spring-framework/issues/25515)
#### :beetle: Bug Fixes
- VerifyErrors when using SpEL compilation with Thymeleaf when invoking a default method defined in an interface [#25713](https://togithub.com/spring-projects/spring-framework/issues/25713)
- SQLErrorCodesFactory.getErrorCodes(DataSource) returns empty error codes if access to transactional connection fails [#25694](https://togithub.com/spring-projects/spring-framework/issues/25694)
- Potential integer overflow in AbstractResourceBasedMessageSource.setCacheSeconds(int) [#25644](https://togithub.com/spring-projects/spring-framework/issues/25644)
- Lazy dependency proxy does not populate bean dependencies [#25565](https://togithub.com/spring-projects/spring-framework/issues/25565)
- Synchronized blocks in MethodOverrides are hurting concurrency [#25549](https://togithub.com/spring-projects/spring-framework/issues/25549)
- StaticListableBeanFactory.isSingleton() returns false for singleton beans [#25525](https://togithub.com/spring-projects/spring-framework/issues/25525)
- MockHttpServletResponse reset() does not reset charset field [#25512](https://togithub.com/spring-projects/spring-framework/issues/25512)
#### :notebook_with_decorative_cover: Documentation
- Prevent confusion about build(boolean) method in UriComponentsBuilder [#25703](https://togithub.com/spring-projects/spring-framework/issues/25703)
### [`v4.3.28.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/tag/v4.3.28.RELEASE)
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.3.27.RELEASE...v4.3.28.RELEASE)
#### :star: New Features
- Defer creating logger in StandardWebSocketHandlerAdapter [#25435](https://togithub.com/spring-projects/spring-framework/issues/25435)
- Alignment of CORS default values with 5.x [#25414](https://togithub.com/spring-projects/spring-framework/issues/25414)
- Missing null checks in AbstractMessageChannel.addInterceptor/setInterceptors [#25221](https://togithub.com/spring-projects/spring-framework/issues/25221)
- Avoid full synchronization in AbstractRefreshableApplicationContext.getBeanFactory() since it can lead to massive thread blocking [#25219](https://togithub.com/spring-projects/spring-framework/issues/25219)
#### :beetle: Bug fixes
- UriComponentsBuilder.cloneBuilder() cause sharing query parameters between builders [#25426](https://togithub.com/spring-projects/spring-framework/issues/25426)
- Oracle LOB segments holding TEMP space after executing SP using SimpleJdbcCall with SqlParameterSource [#25419](https://togithub.com/spring-projects/spring-framework/issues/25419)
- NoRollbackFor rule causes TransactionAspectSupport to log unwarranted "exception overridden" error on WebSphere [#25269](https://togithub.com/spring-projects/spring-framework/issues/25269)
- The AbstractTemplateViewResolver class is not abstract [#25243](https://togithub.com/spring-projects/spring-framework/issues/25243)
- MultiValueMapAdapter.getFirst fails with IndexOutOfBoundsException in case of empty List [#25227](https://togithub.com/spring-projects/spring-framework/issues/25227)
- WebSphereUowTransactionManager causes exception for PROPAGATION_SUPPORTS when timeout is specified [#25225](https://togithub.com/spring-projects/spring-framework/issues/25225)
- Avoid ClassCastException on IllegalArgumentException when invoking sync get cache method [#25223](https://togithub.com/spring-projects/spring-framework/issues/25223)
#### :notebook_with_decorative_cover: Documentation
- Clarify enforceInitMethod/enforceDestroyMethod default values in AbstractBeanDefinition [#25405](https://togithub.com/spring-projects/spring-framework/issues/25405)
- Document exception handling limitations in TaskDecorator implementations (specifically for ThreadPoolTaskExecutor#submit) [#25235](https://togithub.com/spring-projects/spring-framework/issues/25235)
### [`v4.3.27.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/tag/v4.3.27.RELEASE)
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.3.26.RELEASE...v4.3.27.RELEASE)
#### :star: New Features
- Backport of ContentDisposition fixes to HttpHeaders [#24580](https://togithub.com/spring-projects/spring-framework/issues/24580)
- Consistent ROLE_INFRASTRUCTURE declarations for internal configuration classes [#24516](https://togithub.com/spring-projects/spring-framework/issues/24516)
#### :beetle: Bug Fixes
- MockHttpServletRequest should not strip brackets from IPV6 address supplied via Host header [#24919](https://togithub.com/spring-projects/spring-framework/issues/24919)
- Connection created by SingleConnectionDataSource with suppressClose=true always returns isClosed=false even if the target connection is closed [#24860](https://togithub.com/spring-projects/spring-framework/issues/24860)
- DefaultListableBeanFactory.getBean(Class) throws NoSuchBeanDefinitionException on existing bean if getBean(Class) previously tried before registration [#24857](https://togithub.com/spring-projects/spring-framework/issues/24857)
### [`v4.3.26.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/tag/v4.3.26.RELEASE)
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.3.25.RELEASE...v4.3.26.RELEASE)
#### :star: New Features
- Avoid substring allocation in StringUtils.replace [#24026](https://togithub.com/spring-projects/spring-framework/issues/24026)
- Support for new MySQL 8 error code 3572 [#23975](https://togithub.com/spring-projects/spring-framework/issues/23975)
#### :beetle: Bug Fixes
- Unsafe double-checked locking in SpelExpression#compileExpression [#24308](https://togithub.com/spring-projects/spring-framework/issues/24308)
- Allow schemaZip Gradle task to execute on MS Windows [#23989](https://togithub.com/spring-projects/spring-framework/issues/23989)
- AbstractRequestLoggingFilter.isIncludeHeaders() declared as protected [#23814](https://togithub.com/spring-projects/spring-framework/pull/23814)
- Bean definition override leads to NPE due to inconsistent equality check [#23711](https://togithub.com/spring-projects/spring-framework/issues/23711)
- Fix DefaultListableBeanFactory#copyConfigurationFrom [#23710](https://togithub.com/spring-projects/spring-framework/issues/23710)
#### :notebook_with_decorative_cover: Documentation
- TypeDescriptor#getElementTypeDescriptor does not throw IllegalStateException anymore [#24001](https://togithub.com/spring-projects/spring-framework/issues/24001)
#### :heart: Contributors
We'd like to thank all the contributors who worked on this release!
- [@endtak](https://togithub.com/endtak)
### [`v4.3.25.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/tag/v4.3.25.RELEASE)
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.3.24.RELEASE...v4.3.25.RELEASE)
#### :star: New Features
- Javadoc missing on some public BeanDefinitionParserDelegate methods [#23399](https://togithub.com/spring-projects/spring-framework/issues/23399)
- Avoid expensive assertions in web resource resolution [#22965](https://togithub.com/spring-projects/spring-framework/issues/22965)
#### :beetle: Bug Fixes
- Session.close() accidentally triggers creation of TransactionAwareDataSourceProxy Connection [#23397](https://togithub.com/spring-projects/spring-framework/issues/23397)
- MethodParameter.equals is too coarse-grained for its use in HandlerMethodArgumentResolverComposite [#23387](https://togithub.com/spring-projects/spring-framework/issues/23387)
- FlashMapManager throws StringIndexOutOfBoundsException for empty target URL path [#23246](https://togithub.com/spring-projects/spring-framework/issues/23246)
- Fix ScriptUtils for MS Windows line ending [#23026](https://togithub.com/spring-projects/spring-framework/issues/23026)
#### :notebook_with_decorative_cover: Documentation
- Improve documentation for `@Autowired` constructors [#23308](https://togithub.com/spring-projects/spring-framework/issues/23308)
- Document that Ordered is not supported for `@ControllerAdvice` beans [#23174](https://togithub.com/spring-projects/spring-framework/issues/23174)
- spring-mvc.xsd stale-if-error attribute documentation incorrect [#23001](https://togithub.com/spring-projects/spring-framework/issues/23001)
- AbstractBeanDefinition.getBeanClass() javadoc misleads about returning null [#22967](https://togithub.com/spring-projects/spring-framework/issues/22967)
### [`v4.3.24.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/tag/v4.3.24.RELEASE)
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.3.23.RELEASE...v4.3.24.RELEASE)
#### :star: New Features
- Avoid expensive assertions in HttpRange [#22746](https://togithub.com/spring-projects/spring-framework/issues/22746)
#### :beetle: Bug Fixes
- Consistent handling of empty List entries in LinkedMultiValueMap [#22913](https://togithub.com/spring-projects/spring-framework/issues/22913)
- EL1072E when evaluating compiled comparison expression [#22879](https://togithub.com/spring-projects/spring-framework/issues/22879)
- ResourceUrlEncodingFilter throws StringIndexOutOfBoundsException when %ED%B6 is in the URL path [#22863](https://togithub.com/spring-projects/spring-framework/issues/22863)
- Jackson2ObjectMapperBuilder prevents the registration of multiple modules with a null typeId [#22763](https://togithub.com/spring-projects/spring-framework/issues/22763)
### [`v4.3.23.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/tag/v4.3.23.RELEASE)
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.3.22.RELEASE...v4.3.23.RELEASE)
#### :star: New Features
- ResourceUrlEncodingFilter versioning breaks when URL contains fragment \[SPR-17535] [#22552](https://togithub.com/spring-projects/spring-framework/issues/22552)
- Revisit XML schema handling for consistent local vs external resolution [#22530](https://togithub.com/spring-projects/spring-framework/issues/22530)
- JdbcTemplate.extractOutputParameters should preserve order of parameters [#22494](https://togithub.com/spring-projects/spring-framework/issues/22494)
- HandlerInterceptorAdapter should honor ordering [#22434](https://togithub.com/spring-projects/spring-framework/issues/22434)
- Avoid duplicate call to findAnnotations in DefaultListableBeanFactory.findAnnotationOnBean [#22356](https://togithub.com/spring-projects/spring-framework/issues/22356)
#### :beetle: Bug Fixes
- Avoid duplicate registration of `@ControllerAdvice` implementing both RequestBodyAdvice and ResponseBodyAdvice [#22686](https://togithub.com/spring-projects/spring-framework/issues/22686)
- Jackson2ObjectMapperBuilder's modulesToInstall function does not eventually override the default configuration [#22624](https://togithub.com/spring-projects/spring-framework/issues/22624)
- Events extending from PayloadApplicationEvent and implementing an interface fail to match `@EventListener` argument [#22471](https://togithub.com/spring-projects/spring-framework/issues/22471)
- DefaultConversionService fails to properly convert an Object\[] to a int\[] [#22415](https://togithub.com/spring-projects/spring-framework/issues/22415)
- `@Transactional` beans not getting proxied when being initialized during failed circular reference attempt [#22376](https://togithub.com/spring-projects/spring-framework/issues/22376)
- ApplicationListenerMethodAdapter does not find `@Ordered` annotation for dynamic proxies [#22352](https://togithub.com/spring-projects/spring-framework/issues/22352)
- RestTemplate adds duplicate accept header information [#22320](https://togithub.com/spring-projects/spring-framework/pull/22320)
#### :heart: Contributors
We'd like to thank all the contributors who worked on this release!
- [@geminiKim](https://togithub.com/geminiKim)
### [`v4.3.22.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/tag/v4.3.22.RELEASE): 4.3.22 Release
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.3.21.RELEASE...v4.3.22.RELEASE)
#### :beetle: Bug Fixes
- 'default-lazy-init' attribute is not processed when XSD validation is disabled \[SPR-8335] [#12983](https://togithub.com/spring-projects/spring-framework/issues/12983)
- Spring JavaMailSenderImpl does not show proper message when recipient list is empty \[SPR-17540] [#22072](https://togithub.com/spring-projects/spring-framework/issues/22072)
- Potential resource leak in DataSourceUtils.doGetConnection \[SPR-17559] [#22091](https://togithub.com/spring-projects/spring-framework/issues/22091)
- SpEL, error parsing big InlineMap \[SPR-17605] [#22137](https://togithub.com/spring-projects/spring-framework/issues/22137)
- `@Value` Optional<...> field injection fails in case of registered ConversionService \[SPR-17607] [#22139](https://togithub.com/spring-projects/spring-framework/issues/22139)
- Cannot convert from Collection to RegularEnumSet \[SPR-17619] [#22151](https://togithub.com/spring-projects/spring-framework/issues/22151)
#### :notebook_with_decorative_cover: Documentation
- Error in reference documentation sentence in part 1.8.1. Customizing Beans by Using a BeanPostProcessor \[SPR-17556] [#22088](https://togithub.com/spring-projects/spring-framework/issues/22088)
- Typo in SpEL Evaluation Context Sample \[SPR-17581] [#22113](https://togithub.com/spring-projects/spring-framework/issues/22113)
### [`v4.3.21.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/tag/v4.3.21.RELEASE): 4.3.21 Release
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.3.20.RELEASE...v4.3.21.RELEASE)
#### :star: New Features
- SpringFactoriesLoader should tolerate whitespace \[SPR-17413] [#21946](https://togithub.com/spring-projects/spring-framework/issues/21946)
- Expose mapped handler as request attribute in spring-webmvc \[SPR-17518] [#22050](https://togithub.com/spring-projects/spring-framework/issues/22050)
#### :beetle: Bug Fixes
- ExceptionHandlerExceptionResolver started to log on WARN level \[SPR-17383] [#21916](https://togithub.com/spring-projects/spring-framework/issues/21916)
- MethodValidationPostProcessor still validates FactoryBean methods on CGLIB proxies \[SPR-17386] [#21919](https://togithub.com/spring-projects/spring-framework/issues/21919)
- Spring logs a nasty looking stack trace for unhandled classpath URL \[SPR-17417] [#21950](https://togithub.com/spring-projects/spring-framework/issues/21950)
- ResourceUrlEncodingFilter does not work with HttpServletRequestWrapper \[SPR-17421] [#21954](https://togithub.com/spring-projects/spring-framework/issues/21954)
- RestTemplate does not throw exception for custom error codes \[SPR-17439] [#21971](https://togithub.com/spring-projects/spring-framework/issues/21971)
- NamedParameterJdbcTemplate batchUpdate returns an array of size 1 when the batchArgs passed is an empty array \[SPR-17476] [#22008](https://togithub.com/spring-projects/spring-framework/issues/22008)
- FastByteArrayInputStream.read() wrong return value \[SPR-17492] [#22024](https://togithub.com/spring-projects/spring-framework/issues/22024)
- Reserializing a lenient fallback DefaultListableBeanFactory causes an error \[SPR-17508] [#22040](https://togithub.com/spring-projects/spring-framework/issues/22040)
- getBeanNamesForType(ResolvableType) doesn't work for raw singleton instance from `@Bean` method with generic return type \[SPR-17524] [#22056](https://togithub.com/spring-projects/spring-framework/issues/22056)
#### :notebook_with_decorative_cover: Documentation
- Misleading alias definition example in reference documentation, part 1.3.1 \[SPR-17536] [#22068](https://togithub.com/spring-projects/spring-framework/issues/22068)
### [`v4.3.20.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/tag/v4.3.20.RELEASE): 4.3.20 Release
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.3.19.RELEASE...v4.3.20.RELEASE)
#### :star: New Features
- Support for removeHeader in MockHttpServletRequest \[SPR-17295] [#21828](https://togithub.com/spring-projects/spring-framework/issues/21828)
- Sanity checks for HTTP range requests \[SPR-17318] [#21851](https://togithub.com/spring-projects/spring-framework/issues/21851)
#### :beetle: Bug Fixes
- HTTP 404 for static resources with last modified = 0L (breaks Docker images build with Jib) \[SPR-17320] [#21853](https://togithub.com/spring-projects/spring-framework/issues/21853)
- MockAsyncContext not found. Did request wrapper not delegate startAsync? \[SPR-17353] [#21887](https://togithub.com/spring-projects/spring-framework/issues/21887)
- MethodValidationPostProcessor validates FactoryBean methods for which validation is not applicable \[SPR-17374] [#21907](https://togithub.com/spring-projects/spring-framework/issues/21907)
#### :notebook_with_decorative_cover: Documentation
- Typo on ServletUriComponentsBuilder javadoc comments \[SPR-17255] [#21788](https://togithub.com/spring-projects/spring-framework/issues/21788)
- Javadoc for BufferingClientHttpRequestFactory is missing the end of a sentence \[SPR-17261] [#21794](https://togithub.com/spring-projects/spring-framework/issues/21794)
- Misleading description in Autowired javadoc \[SPR-17299] [#21832](https://togithub.com/spring-projects/spring-framework/issues/21832)
### [`v4.3.19.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/tag/v4.3.19.RELEASE): 4.3.19 Release
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.3.18.RELEASE...v4.3.19.RELEASE)
#### :star: New Features
- Consistent warn logging for handled exceptions \[SPR-17178] [#21714](https://togithub.com/spring-projects/spring-framework/issues/21714)
- Support both filters and views in AbstractJackson2HttpMessageConverter \[SPR-17209] [#21742](https://togithub.com/spring-projects/spring-framework/issues/21742)
#### :beetle: Bug Fixes
- AbstractJackson2HttpMessageConverter incorrectly logs at WARN level after upgrading to Jackson 2.9 \[SPR-16947] [#21486](https://togithub.com/spring-projects/spring-framework/issues/21486)
- ConcurrentReferenceHashMap does not enforce visibility of cached EntrySet \[SPR-16994] [#21532](https://togithub.com/spring-projects/spring-framework/issues/21532)
- Map injection fails to find bean produced with `@Bean` when additional method with same name exists \[SPR-16999] [#21537](https://togithub.com/spring-projects/spring-framework/issues/21537)
- AOP and use of redirect view can lead to unbounded caching in AbstractAutoProxyCreator \[SPR-17045] [#21583](https://togithub.com/spring-projects/spring-framework/issues/21583)
- Classification of ClassCastExceptions doesn't work in JDK 11 (OpenJDK) \[SPR-17093] [#21630](https://togithub.com/spring-projects/spring-framework/issues/21630)
- SchedulerAccessor needs to catch primary key violation on reschedule (due to Quartz race condition) \[SPR-17114] [#21651](https://togithub.com/spring-projects/spring-framework/issues/21651)
- CheckboxTag incorrectly processing hidden field through RequestDataValueProcessor \[SPR-17147] [#21684](https://togithub.com/spring-projects/spring-framework/issues/21684)
- `@Scheduled` task runs twice on bean with target-class scoped proxy (when injected) \[SPR-17166] [#21702](https://togithub.com/spring-projects/spring-framework/issues/21702)
- SimpleAliasRegistry.hasAlias does not properly resolve multiple chained aliases \[SPR-17191] [#21726](https://togithub.com/spring-projects/spring-framework/issues/21726)
- Compiled elvis operator does not work correctly when default value is a complex expression \[SPR-17214] [#21747](https://togithub.com/spring-projects/spring-framework/issues/21747)
- EL1072 when evaluating compiled expression using method SpelExpression.getValue(Object rootObject, Class expectedResultType) \[SPR-17229] [#21762](https://togithub.com/spring-projects/spring-framework/issues/21762)
#### :notebook_with_decorative_cover: Documentation
- Doc: AsyncConfigurer causes dependencies to be created early \[SPR-16945] [#21484](https://togithub.com/spring-projects/spring-framework/issues/21484)
- Update documentation references to Number/Currency/PercentStyleFormatter \[SPR-17022] [#21560](https://togithub.com/spring-projects/spring-framework/issues/21560)
- Incorrect Class reference in documentation \[SPR-17042] [#21580](https://togithub.com/spring-projects/spring-framework/issues/21580)
- Revise BeanFactory vs ApplicationContext section in reference docs \[SPR-17095] [#21632](https://togithub.com/spring-projects/spring-framework/issues/21632)
- Removed Jackson view property "renderedAttributes" still mentioned in Spring Framework docs \[SPR-17182] [#21718](https://togithub.com/spring-projects/spring-framework/issues/21718)
### [`v4.3.18.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/tag/v4.3.18.RELEASE): 4.3.18 Release
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.3.17.RELEASE...v4.3.18.RELEASE)
#### :star: New Features
- Deprecate JSONP support and update MappingJackson2JsonView defaults \[SPR-16798] [#21338](https://togithub.com/spring-projects/spring-framework/issues/21338)
- Restrict allowed HTTP methods in HiddenHttpMethodFilter \[SPR-16836] [#21376](https://togithub.com/spring-projects/spring-framework/issues/21376)
- ReflectivePropertyAccessor should cache sorted methods \[SPR-16882] [#21421](https://togithub.com/spring-projects/spring-framework/issues/21421)
#### :beetle: Bug Fixes
- Process cannot exit when the SchedulerFactoryBean fails to initialize \[SPR-16816] [#21356](https://togithub.com/spring-projects/spring-framework/issues/21356)
- Connection acquired while calling a stored procedure via JPA is not released \[SPR-16826] [#21366](https://togithub.com/spring-projects/spring-framework/issues/21366)
- AbstractRequestLoggingFilter.isIncludeHeaders() is accidentally public \[SPR-16881] [#21420](https://togithub.com/spring-projects/spring-framework/issues/21420)
- Fix faulty BeanPostProcessorChecker logs with `@EnableCaching` \[SPR-16896] [#21435](https://togithub.com/spring-projects/spring-framework/issues/21435)
- AbstractMethodMessageHandler does not rethrow Errors \[SPR-16912] [#21451](https://togithub.com/spring-projects/spring-framework/issues/21451)
#### :notebook_with_decorative_cover: Documentation
- Incorrect Java Syntax in Spring Framework Documentation \[SPR-16811] [#21351](https://togithub.com/spring-projects/spring-framework/issues/21351)
- Document JUnit Jupiter options in Spring 4.3.x \[SPR-16446] [#20991](https://togithub.com/spring-projects/spring-framework/issues/20991)
### [`v4.3.17.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/tag/v4.3.17.RELEASE): 4.3.17 Release
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.3.16.RELEASE...v4.3.17.RELEASE)
#### :star: New Features
- Proper exception for controller method return types that do not work with MvcUriComponentsBuilder (e.g. final classes) \[SPR-16710] [#21251](https://togithub.com/spring-projects/spring-framework/issues/21251)
- Revise cache safety check to avoid performance regression in EAR packaged applications on WildFly \[SPR-16714] [#21255](https://togithub.com/spring-projects/spring-framework/issues/21255)
- Revise JCA MessageEndpoint exception logging and propagation \[SPR-16717] [#21258](https://togithub.com/spring-projects/spring-framework/issues/21258)
- Flag misguided evaluation attempts in OperatorMatches \[SPR-16731] [#21272](https://togithub.com/spring-projects/spring-framework/issues/21272)
- Expose configuration options for "selector" header \[SPR-16732] [#21273](https://togithub.com/spring-projects/spring-framework/issues/21273)
- Validate contextPath in RedirectView \[SPR-16752] [#21293](https://togithub.com/spring-projects/spring-framework/issues/21293)
#### :beetle: Bug Fixes
- SpringFailOnTimeout loses original exception when triggering timeout in finally block \[SPR-16716] [#21257](https://togithub.com/spring-projects/spring-framework/issues/21257)
- Inconsistent getTypeForFactoryMethod results for parameterized factory method \[SPR-16720] [#21261](https://togithub.com/spring-projects/spring-framework/issues/21261)
- Generic constructor argument (e.g. ObjectProvider) fails to resolve for inner class \[SPR-16734] [#21275](https://togithub.com/spring-projects/spring-framework/issues/21275)
- AnnotationAwareOrderComparator uses Order instead of Priority for DecoratingProxy \[SPR-16739] [#21280](https://togithub.com/spring-projects/spring-framework/issues/21280)
- Exception swallowed in ResponseEntityExceptionHandler \[SPR-16743] [#21284](https://togithub.com/spring-projects/spring-framework/issues/21284)
- ConfigurationClassBeanDefinitionReader registers duplicate BeanDefinition for nested scoped component \[SPR-16756] [#21297](https://togithub.com/spring-projects/spring-framework/issues/21297)
- Misleading error message when evaluating T operator \[SPR-16762] [#21303](https://togithub.com/spring-projects/spring-framework/issues/21303)
- NPE in SimpleClient-HttpURLConnection with errorstream-buffering \[SPR-16773] [#21313](https://togithub.com/spring-projects/spring-framework/issues/21313)
- Singleton from a FactoryBean may be post-processed twice if the first post-processing triggers a second attempt to get the bean \[SPR-16783] [#21323](https://togithub.com/spring-projects/spring-framework/issues/21323)
### [`v4.3.16.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/tag/v4.3.16.RELEASE): 4.3.16 Release
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.3.15.RELEASE...v4.3.16.RELEASE)
#### :beetle: Bug Fixes
- EL1072E when evaluating compiled null-safe expression \[SPR-16489] [#21032](https://togithub.com/spring-projects/spring-framework/issues/21032)
- ClassCastException in TestDispatcherServlet \[SPR-16695] [#21236](https://togithub.com/spring-projects/spring-framework/issues/21236)
### [`v4.3.15.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/tag/v4.3.15.RELEASE): 4.3.15 Release
[Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.3.14.RELEASE...v4.3.15.RELEASE)
#### :star: New Features
- Spring Websockets Broker relay supporting a cluster of STOMP endpoint addresses \[SPR-12452] [#17057](https://togithub.com/spring-projects/spring-framework/issues/17057)
- Quartz Scheduler - configurable SchedulerFactory \[SPR-16439] [#20985](https://togithub.com/spring-projects/spring-framework/issues/20985)
- Avoid String concatenation for not-null assertion in BeanProperty/DirectFieldBindingResult \[SPR-16455] [#21000](https://togithub.com/spring-projects/spring-framework/issues/21000)
- AcceptHeaderLocaleResolver should match country locales against supported language locales \[SPR-16457] [#21002](https://togithub.com/spring-projects/spring-framework/issues/21002)
- Support for ResolvableType.getType().getTypeName() on Java 8 \[SPR-16535] [#21078](https://togithub.com/spring-projects/spring-framework/issues/21078)
- Consistent incrementer arrangement for PostgreSQL, DB2 and SAP HANA \[SPR-16558] [#21101](https://togithub.com/spring-projects/spring-framework/issues/21101)
- MockMvcResultMatchers.jsonPath(String).value() should have a matching method to declare the expected type \[SPR-16587] [#21129](https://togithub.com/spring-projects/spring-framework/issues/21129)
- Support for SimpleEvaluationContext in SpEL \[SPR-16588] [#21130](https://togithub.com/spring-projects/spring-framework/issues/21130)
- Consistent volatile access to running flag in Lifecycle implementations \[SPR-16596] [#21137](https://togithub.com/spring-projects/spring-framework/issues/21137)
- When `@DependsOn` throws a NoSuchBeanDefinitionException it should include the dependent bean for clarity \[SPR-16628] [#21169](https://togithub.com/spring-projects/spring-framework/issues/21169)
- Generate multipart boundary using SecureRandom \[SPR-16635] [#21176](https://togithub.com/spring-projects/spring-framework/issues/21176)
- Reduce ClassUtils.forName overhead (in particular for annotation introspection purposes) \[SPR-16667] [#21208](https://togithub.com/spring-projects/spring-framework/issues/21208)
- Add cpp to mime.types as text/plain \[SPR-16678] [#21219](https://togithub.com/spring-projects/spring-framework/issues/21219)
#### :beetle: Bug Fixes
- Precondition failed for PUT methods on ResponseEntity return types \[SPR-15780] [#20335](https://togithub.com/spring-projects/spring-framework/issues/20335)
- SubProtocolWebSocketHandler should not log ERROR on "No messages received after ..." \[SPR-16409] [#20955](https://togithub.com/spring-projects/spring-framework/issues/20955)
- ServletServerHttpRequest.getURI() may throw a java.net.URISyntaxException \[SPR-16414] [#20960](https://togithub.com/spring-projects/spring-framework/issues/20960)
- AbstractClientSockJsSession.close call does not propagate IOException from disconnect \[SPR-16415] [#20961](https://togithub.com/spring-projects/spring-framework/issues/20961)
- Spurious WARNINGs when XML declared TransactionProxyFactoryBean's target bean depends on an annotation declared bean that depends on another bean \[SPR-16427] [#20973](https://togithub.com/spring-projects/spring-framework/issues/20973)
- Lambda error detection might not work on JDK 9 \[SPR-16435] [#20981](https://togithub.com/spring-projects/spring-framework/issues/20981)
- CachingConnectionFactory - Invalid session in session cache \[SPR-16450] [#20995](https://togithub.com/spring-projects/spring-framework/issues/20995)
- MockMvcRequestBuilder does not decode pathInfo \[SPR-16453] [#20998](https://togithub.com/spring-projects/spring-framework/issues/20998)
- MimeType compareTo implementation is not compatible with equals \[SPR-16458] [#21003](https://togithub.com/spring-projects/spring-framework/issues/21003)
- GSON converter only serialises fields of controller method return type, ignoring subclass fields of response object \[SPR-16461] [#21006](https://togithub.com/spring-projects/spring-framework/issues/21006)
- SimpleJdbcCall can't access synonyms in Oracle database \[SPR-16478] [#21022](https://togithub.com/spring-projects/spring-framework/issues/21022)
- Set thread interrupt flag on InterruptedException \[SPR-16479] [#21023](https://togithub.com/spring-projects/spring-framework/issues/21023)
- JsonMappingException when trying to instantiate org.springframework.messaging.Message \[SPR-16486] [#21029](https://togithub.com/spring-projects/spring-framework/issues/21029)
- Deadlock in SubProtocolWebSocketHandler on shutdown with Undertow \[SPR-16488] [#21031](https://togithub.com/spring-projects/spring-framework/issues/21031)
- NPE in Spring-JDBC with Oracle and SimpleJdbcInsert \[SPR-16495] [#21038](https://togithub.com/spring-projects/spring-framework/issues/21038)
- ExceptionHandlerExceptionResolver advice applicability check may fail against interface-based controller proxy \[SPR-16496] [#21039](https://togithub.com/spring-projects/spring-framework/issues/21039)
- FormTag renders empty
tag \[SPR-16498] [#21041](https://togithub.com/spring-projects/spring-framework/issues/21041)
- ForwardedHeaderFilter garbles query params during sendRedirect() \[SPR-16506] [#21049](https://togithub.com/spring-projects/spring-framework/issues/21049)
- StringIndexOutOfBoundsException when rewriting links in CSS resources \[SPR-16526] [#21069](https://togithub.com/spring-projects/spring-framework/issues/21069)
- Spurious ERROR-level logging when using SSEEmitter \[SPR-16528] [#21071](https://togithub.com/spring-projects/spring-framework/issues/21071)
- GsonHttpMessageConverter cannot be used in an SseEmitter because it closes the response stream \[SPR-16529] [#21072](https://togithub.com/spring-projects/spring-framework/issues/21072)
- testBindInstantFromJavaUtilDate fails on systems in the Pacific/Auckland time zone \[SPR-16534] [#21077](https://togithub.com/spring-projects/spring-framework/issues/21077)
- WebApplicationContextFacesELResolver#isReadOnly always return false \[SPR-16543] [#21086](https://togithub.com/spring-projects/spring-framework/issues/21086)
- PostgresTableMetaDataProvider.isGetGeneratedKeysSimulated() does not detect Postgres 10 \[SPR-16556] [#21099](https://togithub.com/spring-projects/spring-framework/issues/21099)
- Missing PersistenceException cause message in refresh failure warn log \[SPR-16559] [#21102](https://togithub.com/spring-projects/spring-framework/issues/21102)
- Reading annotations in ConfigurationClassParser does not fall back to ASM on Google App Engine \[SPR-16564] [#21106](https://togithub.com/spring-projects/spring-framework/issues/21106)
- Inconsistent synchronization in AbstractBeanFactoryBasedTargetSource and JdbcAccessor \[SPR-16570] [#21112](https://togithub.com/spring-projects/spring-framework/issues/21112)
- WebAsyncManager concurrentResult should be volatile \[SPR-16571] [#21113](https://togithub.com/spring-projects/spring-framework/issues/21113)
- TransactionTemplate inherits equals()/hashCode() from DefaultTransactionDefinition \[SPR-16572] [#21114](https://togithub.com/spring-projects/spring-framework/issues/21114)
- SimpleAliasRegistry registerAlias not atomic \[SPR-16577] [#21119](https://togithub.com/spring-projects/spring-framework/issues/21119)
- URIEditor should not double escape classpath: URIs \[SPR-16581] [#21123](https://togithub.com/spring-projects/spring-framework/issues/21123)
- RestTemplate with HttpComponentsClientHttpRequestFactory and no buffering with an interceptor throws UnsupportedOperationException \[SPR-165
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
[ ] If you want to rebase/retry this PR, check this box
This PR contains the following updates:
0.8.4
->0.8.12
3.3.2
->3.4.0
2.10.1
->2.11.0
2.4
->2.16.1
1.3.1
->1.5
1.1.3
->1.5.6
4.10
->4.13.2
4.2.1.RELEASE
->4.3.30.RELEASE
4.2.1.RELEASE
->4.3.30.RELEASE
Release Notes
jacoco/jacoco (org.jacoco:jacoco-maven-plugin)
### [`v0.8.12`](https://togithub.com/jacoco/jacoco/releases/tag/v0.8.12): 0.8.12 [Compare Source](https://togithub.com/jacoco/jacoco/compare/v0.8.11...v0.8.12) #### New Features - JaCoCo now officially supports Java 22 (GitHub [#1596](https://togithub.com/jacoco/jacoco/issues/1596)). - Experimental support for Java 23 class files (GitHub [#1553](https://togithub.com/jacoco/jacoco/issues/1553)). #### Fixed bugs - Branches added by the Kotlin compiler for functions with default arguments and having more than 32 parameters are filtered out during generation of report (GitHub [#1556](https://togithub.com/jacoco/jacoco/issues/1556)). - Branch added by the Kotlin compiler version 1.5.0 and above for reading from lateinit property is filtered out during generation of report (GitHub [#1568](https://togithub.com/jacoco/jacoco/issues/1568)). #### Non-functional Changes - JaCoCo now depends on ASM 9.7 (GitHub [#1600](https://togithub.com/jacoco/jacoco/issues/1600)). ### [`v0.8.11`](https://togithub.com/jacoco/jacoco/releases/tag/v0.8.11): 0.8.11 [Compare Source](https://togithub.com/jacoco/jacoco/compare/v0.8.10...v0.8.11) #### New Features - JaCoCo now officially supports Java 21 (GitHub [#1520](https://togithub.com/jacoco/jacoco/issues/1520)). - Experimental support for Java 22 class files (GitHub [#1479](https://togithub.com/jacoco/jacoco/issues/1479)). - Part of bytecode generated by the Java compilers for exhaustive switch expressions is filtered out during generation of report (GitHub [#1472](https://togithub.com/jacoco/jacoco/issues/1472)). - Part of bytecode generated by the Java compilers for record patterns is filtered out during generation of report (GitHub [#1473](https://togithub.com/jacoco/jacoco/issues/1473)). #### Fixed bugs - Instrumentation should not cause `VerifyError` when the last local variable of method parameters is overridden in the method body to store a value of type long or double (GitHub [#893](https://togithub.com/jacoco/jacoco/issues/893)). - Restore exec file compatibility with versions from 0.7.5 to 0.8.8 in case of class files with zero line numbers (GitHub [#1492](https://togithub.com/jacoco/jacoco/issues/1492)). #### Non-functional Changes - jacoco-maven-plugin now requires at least Java 8 (GitHub [#1466](https://togithub.com/jacoco/jacoco/issues/1466), [#1468](https://togithub.com/jacoco/jacoco/issues/1468)). - JaCoCo build now requires at least Maven 3.5.4 (GitHub [#1467](https://togithub.com/jacoco/jacoco/issues/1467)). - Maven 3.9.2 should not produce warnings for jacoco-maven-plugin (GitHub [#1468](https://togithub.com/jacoco/jacoco/issues/1468)). - JaCoCo build now requires JDK 17 (GitHub [#1482](https://togithub.com/jacoco/jacoco/issues/1482)). - JaCoCo now depends on ASM 9.6 (GitHub [#1518](https://togithub.com/jacoco/jacoco/issues/1518)). ### [`v0.8.10`](https://togithub.com/jacoco/jacoco/releases/tag/v0.8.10): 0.8.10 [Compare Source](https://togithub.com/jacoco/jacoco/compare/v0.8.9...v0.8.10) #### Fixed bugs - Agent should not require configuration of permissions for `SecurityManager` outside of its `codeBase` (GitHub [#1425](https://togithub.com/jacoco/jacoco/issues/1425)). ### [`v0.8.9`](https://togithub.com/jacoco/jacoco/releases/tag/v0.8.9): 0.8.9 [Compare Source](https://togithub.com/jacoco/jacoco/compare/v0.8.8...v0.8.9) #### New Features - JaCoCo now officially supports Java 19 and 20 (GitHub [#1371](https://togithub.com/jacoco/jacoco/issues/1371), [#1386](https://togithub.com/jacoco/jacoco/issues/1386)). - Experimental support for Java 21 class files (GitHub [#1386](https://togithub.com/jacoco/jacoco/issues/1386)). - Add parameter to include the current project in the `report-aggregate` Maven goal (GitHub [#1007](https://togithub.com/jacoco/jacoco/issues/1007)). - Component accessors generated by the Java compilers for records are filtered out during generation of report. Contributed by Tesla Zhang (GitHub [#1393](https://togithub.com/jacoco/jacoco/issues/1393)). #### Fixed bugs - Agent should not open `java.lang` package to unnamed module of the application class loader (GitHub [#1334](https://togithub.com/jacoco/jacoco/issues/1334)). #### Non-functional Changes - JaCoCo now depends on ASM 9.5 (GitHub [#1299](https://togithub.com/jacoco/jacoco/issues/1299), [#1368](https://togithub.com/jacoco/jacoco/issues/1368), [#1416](https://togithub.com/jacoco/jacoco/issues/1416)). - JaCoCo build now requires JDK 11 (GitHub [#1413](https://togithub.com/jacoco/jacoco/issues/1413)). ### [`v0.8.8`](https://togithub.com/jacoco/jacoco/releases/tag/v0.8.8): 0.8.8 [Compare Source](https://togithub.com/jacoco/jacoco/compare/v0.8.7...v0.8.8) #### New Features - JaCoCo now officially supports Java 17 and 18 (GitHub [#1282](https://togithub.com/jacoco/jacoco/issues/1282), [#1198](https://togithub.com/jacoco/jacoco/issues/1198)). - Experimental support for Java 19 class files (GitHub [#1264](https://togithub.com/jacoco/jacoco/issues/1264)). - Part of bytecode generated by the Java compilers for assert statement is filtered out during generation of report (GitHub [#1196](https://togithub.com/jacoco/jacoco/issues/1196)). - Branch added by the Kotlin compiler version 1.6.0 and above for "unsafe" cast operator is filtered out during generation of report (GitHub [#1266](https://togithub.com/jacoco/jacoco/issues/1266)). - Improved support for multiple JaCoCo runtimes in the same VM (GitHub [#1057](https://togithub.com/jacoco/jacoco/issues/1057)). #### Fixed bugs - Fixed `NullPointerException` during filtering (GitHub [#1189](https://togithub.com/jacoco/jacoco/issues/1189)). - Fix range for debug symbols of method parameters (GitHub [#1246](https://togithub.com/jacoco/jacoco/issues/1246)). #### Non-functional Changes - JaCoCo now depends on ASM 9.2 (GitHub [#1206](https://togithub.com/jacoco/jacoco/issues/1206)). - Messages of exceptions occurring during analysis or instrumentation now include JaCoCo version (GitHub [#1217](https://togithub.com/jacoco/jacoco/issues/1217)). ### [`v0.8.7`](https://togithub.com/jacoco/jacoco/releases/tag/v0.8.7): 0.8.7 [Compare Source](https://togithub.com/jacoco/jacoco/compare/v0.8.6...v0.8.7) #### New Features - JaCoCo now officially supports Java 15 and 16 (GitHub [#1094](https://togithub.com/jacoco/jacoco/issues/1094), [#1097](https://togithub.com/jacoco/jacoco/issues/1097), [#1176](https://togithub.com/jacoco/jacoco/issues/1176)). - Experimental support for Java 17 class files (GitHub [#1132](https://togithub.com/jacoco/jacoco/issues/1132)). - New `formats` parameter for Maven report goals to specify the generated report formats. Contributed by troosan. (GitHub [#1175](https://togithub.com/jacoco/jacoco/issues/1175)). - Branch added by the Kotlin compiler version 1.4.0 and above for "unsafe" cast operator is filtered out during generation of report (GitHub [#1143](https://togithub.com/jacoco/jacoco/issues/1143), [#1178](https://togithub.com/jacoco/jacoco/issues/1178)). - `synthetic` methods added by the Kotlin compiler version 1.5.0 and above for `private` suspending functions are filtered out (GitHub [#1174](https://togithub.com/jacoco/jacoco/issues/1174)). - Branches added by the Kotlin compiler version 1.4.20 and above for suspending lambdas are filtered out during generation of report (GitHub [#1149](https://togithub.com/jacoco/jacoco/issues/1149)). - Branches added by the Kotlin compiler version 1.5.0 and above for functions with default arguments are filtered out during generation of report (GitHub [#1162](https://togithub.com/jacoco/jacoco/issues/1162)). - Branch added by the Kotlin compiler version 1.5.0 and above for reading from `lateinit` property is filtered out during generation of report (GitHub [#1166](https://togithub.com/jacoco/jacoco/issues/1166)). - Additional bytecode generated by the Kotlin compiler version 1.5.0 and above for when expressions on `kotlin.String` values is filtered out during generation of report (GitHub [#1172](https://togithub.com/jacoco/jacoco/issues/1172)). - Improved filtering of bytecode generated by Kotlin compiler versions below 1.5.0 for when expressions on `kotlin.String` values (GitHub [#1156](https://togithub.com/jacoco/jacoco/issues/1156)). #### Fixed bugs - Fixed parsing of SMAP generated by Kotlin compiler version 1.5.0 and above (GitHub [#1164](https://togithub.com/jacoco/jacoco/issues/1164)). #### Non-functional Changes - JaCoCo now depends on ASM 9.1 (GitHub [#1094](https://togithub.com/jacoco/jacoco/issues/1094), [#1097](https://togithub.com/jacoco/jacoco/issues/1097), [#1153](https://togithub.com/jacoco/jacoco/issues/1153)). - Maven plug-in has no dependency on `maven-reporting-impl` any more (GitHub [#1121](https://togithub.com/jacoco/jacoco/issues/1121)). ### [`v0.8.6`](https://togithub.com/jacoco/jacoco/releases/tag/v0.8.6): 0.8.6 [Compare Source](https://togithub.com/jacoco/jacoco/compare/v0.8.5...v0.8.6) #### New Features - JaCoCo now officially supports Java 14. - Experimental support for Java 15 class files (GitHub [#992](https://togithub.com/jacoco/jacoco/issues/992)). - Experimental support for Java 16 class files (GitHub [#1059](https://togithub.com/jacoco/jacoco/issues/1059)). - Methods `toString`, `hashCode` and `equals` generated by compiler for records are filtered out during generation of report (GitHub [#990](https://togithub.com/jacoco/jacoco/issues/990)). - Bridge methods are filtered out during generation of report (GitHub [#1010](https://togithub.com/jacoco/jacoco/issues/1010)). - Methods generated by Kotlin compiler for non-overridden non-abstract methods of interfaces are filtered out during generation of report (GitHub [#1012](https://togithub.com/jacoco/jacoco/issues/1012)). - Branches added by the Kotlin compiler version 1.3.60 for suspending functions with tail call optimization are filtered out during generation of report (GitHub [#1016](https://togithub.com/jacoco/jacoco/issues/1016)). #### Fixed bugs - Compression method of zip entries is now preserved when instrumenting archives. This allows to use JaCoCo with frameworks that expect uncompressed entries (GitHub [#1018](https://togithub.com/jacoco/jacoco/issues/1018)). #### Non-functional Changes - Support for Pack200 was removed in JDK 14. JaCoCo will now throw a detailed exception when Pack200 archives are processed with the latest JDKs (GitHub [#984](https://togithub.com/jacoco/jacoco/issues/984)). - JaCoCo now depends on ASM 8.0.1 (GitHub [#1032](https://togithub.com/jacoco/jacoco/issues/1032), [#1043](https://togithub.com/jacoco/jacoco/issues/1043)). #### API Changes - `URLStreamHandlerRuntime` removed (GitHub [#471](https://togithub.com/jacoco/jacoco/issues/471)). [All Resolved Issues](https://togithub.com/jacoco/jacoco/issues?q=milestone%3A0.8.6) ### [`v0.8.5`](https://togithub.com/jacoco/jacoco/releases/tag/v0.8.5): 0.8.5 [Compare Source](https://togithub.com/jacoco/jacoco/compare/v0.8.4...v0.8.5) #### New Features - JaCoCo now officially supports Java 13 - Experimental support for Java 14 class files (GitHub [#897](https://togithub.com/jacoco/jacoco/issues/897)). - Branches added by the Kotlin compiler for open functions with default arguments are filtered out during generation of report (GitHub [#887](https://togithub.com/jacoco/jacoco/issues/887)). #### Fixed bugs - `synthetic` constructors that contain values of default arguments in Kotlin should not be ignored (GitHub [#888](https://togithub.com/jacoco/jacoco/issues/888)). - Instrumentation should update indexes of local variables in annotations (GitHub [#894](https://togithub.com/jacoco/jacoco/issues/894)). - Branches added by the Kotlin compiler for functions with default arguments and containing arguments of type `long` or `double` should be filtered out during generation of report (GitHub [#908](https://togithub.com/jacoco/jacoco/issues/908)). - `synthetic` methods that contain bodies of anonymous functions in Scala should not be ignored (GitHub [#912](https://togithub.com/jacoco/jacoco/issues/912)). - To avoid failures with invalid class files report generation now checks that source references are actually files (GitHub [#941](https://togithub.com/jacoco/jacoco/issues/941)). - `NullPointerException` during filtering (GitHub [#942](https://togithub.com/jacoco/jacoco/issues/942), [#944](https://togithub.com/jacoco/jacoco/issues/944)). #### Non-functional Changes - JaCoCo now distributed under the terms and conditions of the Eclipse Public License Version 2.0 (GitHub [#943](https://togithub.com/jacoco/jacoco/issues/943)). - Prevent startup when JaCoCo runtime cannot be initialized to avoid subsequent faults (GitHub [#910](https://togithub.com/jacoco/jacoco/issues/910)). - JaCoCo now depends on ASM 7.2 (GitHub [#947](https://togithub.com/jacoco/jacoco/issues/947)). #### API Changes - The coverage check API and tools (Ant, Maven) now report an error, when a coverage ratio limit is configured outside the range \[0,1] to avoid common configuration mistakes (GitHub [#783](https://togithub.com/jacoco/jacoco/issues/783)). - Unsupported class file versions are now consistently reported as exceptions by all methods of `Analyzer` and `Instrumenter` and thus also during report generation and offline instrumentation (GitHub [#952](https://togithub.com/jacoco/jacoco/issues/952)). [All Resolved Issues](https://togithub.com/jacoco/jacoco/issues?q=milestone%3A0.8.5)spring-projects/spring-framework (org.springframework:spring-webmvc)
### [`v4.3.30.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/tag/v4.3.30.RELEASE) [Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.3.29.RELEASE...v4.3.30.RELEASE) #### :star: New Features - ContentCachingResponseWrapper should not add “Content-Length” when “Transfer-Encoding” is present [#26194](https://togithub.com/spring-projects/spring-framework/issues/26194) - Inefficient request handling inside ServletRequestDataBinder [#26007](https://togithub.com/spring-projects/spring-framework/issues/26007) - Avoid creation of unused logger instance in AbstractMediaTypeExpression [#25904](https://togithub.com/spring-projects/spring-framework/issues/25904) #### :beetle: Bug Fixes - Remove duplicate "property" in PropertyCacheKey.toString() [#26245](https://togithub.com/spring-projects/spring-framework/issues/26245) - UrlPathHelper#removeJsessionid doesn't remove the jsessionid from the URL [#26086](https://togithub.com/spring-projects/spring-framework/issues/26086) - jsessionid breaks request mappings when removeSemicolonContent is turned off [#25869](https://togithub.com/spring-projects/spring-framework/issues/25869) #### :notebook_with_decorative_cover: Documentation - DateTimeFormat ISO.DATE_TIME javadoc contains misleading default note [#26138](https://togithub.com/spring-projects/spring-framework/issues/26138) ### [`v4.3.29.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/tag/v4.3.29.RELEASE) [Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.3.28.RELEASE...v4.3.29.RELEASE) #### :star: New Features - PropertiesLoaderSupport should ignore socket/connect exceptions as well [#25722](https://togithub.com/spring-projects/spring-framework/issues/25722) - Refine use of substring operations [#25515](https://togithub.com/spring-projects/spring-framework/issues/25515) #### :beetle: Bug Fixes - VerifyErrors when using SpEL compilation with Thymeleaf when invoking a default method defined in an interface [#25713](https://togithub.com/spring-projects/spring-framework/issues/25713) - SQLErrorCodesFactory.getErrorCodes(DataSource) returns empty error codes if access to transactional connection fails [#25694](https://togithub.com/spring-projects/spring-framework/issues/25694) - Potential integer overflow in AbstractResourceBasedMessageSource.setCacheSeconds(int) [#25644](https://togithub.com/spring-projects/spring-framework/issues/25644) - Lazy dependency proxy does not populate bean dependencies [#25565](https://togithub.com/spring-projects/spring-framework/issues/25565) - Synchronized blocks in MethodOverrides are hurting concurrency [#25549](https://togithub.com/spring-projects/spring-framework/issues/25549) - StaticListableBeanFactory.isSingleton() returns false for singleton beans [#25525](https://togithub.com/spring-projects/spring-framework/issues/25525) - MockHttpServletResponse reset() does not reset charset field [#25512](https://togithub.com/spring-projects/spring-framework/issues/25512) #### :notebook_with_decorative_cover: Documentation - Prevent confusion about build(boolean) method in UriComponentsBuilder [#25703](https://togithub.com/spring-projects/spring-framework/issues/25703) ### [`v4.3.28.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/tag/v4.3.28.RELEASE) [Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.3.27.RELEASE...v4.3.28.RELEASE) #### :star: New Features - Defer creating logger in StandardWebSocketHandlerAdapter [#25435](https://togithub.com/spring-projects/spring-framework/issues/25435) - Alignment of CORS default values with 5.x [#25414](https://togithub.com/spring-projects/spring-framework/issues/25414) - Missing null checks in AbstractMessageChannel.addInterceptor/setInterceptors [#25221](https://togithub.com/spring-projects/spring-framework/issues/25221) - Avoid full synchronization in AbstractRefreshableApplicationContext.getBeanFactory() since it can lead to massive thread blocking [#25219](https://togithub.com/spring-projects/spring-framework/issues/25219) #### :beetle: Bug fixes - UriComponentsBuilder.cloneBuilder() cause sharing query parameters between builders [#25426](https://togithub.com/spring-projects/spring-framework/issues/25426) - Oracle LOB segments holding TEMP space after executing SP using SimpleJdbcCall with SqlParameterSource [#25419](https://togithub.com/spring-projects/spring-framework/issues/25419) - NoRollbackFor rule causes TransactionAspectSupport to log unwarranted "exception overridden" error on WebSphere [#25269](https://togithub.com/spring-projects/spring-framework/issues/25269) - The AbstractTemplateViewResolver class is not abstract [#25243](https://togithub.com/spring-projects/spring-framework/issues/25243) - MultiValueMapAdapter.getFirst fails with IndexOutOfBoundsException in case of empty List [#25227](https://togithub.com/spring-projects/spring-framework/issues/25227) - WebSphereUowTransactionManager causes exception for PROPAGATION_SUPPORTS when timeout is specified [#25225](https://togithub.com/spring-projects/spring-framework/issues/25225) - Avoid ClassCastException on IllegalArgumentException when invoking sync get cache method [#25223](https://togithub.com/spring-projects/spring-framework/issues/25223) #### :notebook_with_decorative_cover: Documentation - Clarify enforceInitMethod/enforceDestroyMethod default values in AbstractBeanDefinition [#25405](https://togithub.com/spring-projects/spring-framework/issues/25405) - Document exception handling limitations in TaskDecorator implementations (specifically for ThreadPoolTaskExecutor#submit) [#25235](https://togithub.com/spring-projects/spring-framework/issues/25235) ### [`v4.3.27.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/tag/v4.3.27.RELEASE) [Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.3.26.RELEASE...v4.3.27.RELEASE) #### :star: New Features - Backport of ContentDisposition fixes to HttpHeaders [#24580](https://togithub.com/spring-projects/spring-framework/issues/24580) - Consistent ROLE_INFRASTRUCTURE declarations for internal configuration classes [#24516](https://togithub.com/spring-projects/spring-framework/issues/24516) #### :beetle: Bug Fixes - MockHttpServletRequest should not strip brackets from IPV6 address supplied via Host header [#24919](https://togithub.com/spring-projects/spring-framework/issues/24919) - Connection created by SingleConnectionDataSource with suppressClose=true always returns isClosed=false even if the target connection is closed [#24860](https://togithub.com/spring-projects/spring-framework/issues/24860) - DefaultListableBeanFactory.getBean(Class) throws NoSuchBeanDefinitionException on existing bean if getBean(Class) previously tried before registration [#24857](https://togithub.com/spring-projects/spring-framework/issues/24857) ### [`v4.3.26.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/tag/v4.3.26.RELEASE) [Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.3.25.RELEASE...v4.3.26.RELEASE) #### :star: New Features - Avoid substring allocation in StringUtils.replace [#24026](https://togithub.com/spring-projects/spring-framework/issues/24026) - Support for new MySQL 8 error code 3572 [#23975](https://togithub.com/spring-projects/spring-framework/issues/23975) #### :beetle: Bug Fixes - Unsafe double-checked locking in SpelExpression#compileExpression [#24308](https://togithub.com/spring-projects/spring-framework/issues/24308) - Allow schemaZip Gradle task to execute on MS Windows [#23989](https://togithub.com/spring-projects/spring-framework/issues/23989) - AbstractRequestLoggingFilter.isIncludeHeaders() declared as protected [#23814](https://togithub.com/spring-projects/spring-framework/pull/23814) - Bean definition override leads to NPE due to inconsistent equality check [#23711](https://togithub.com/spring-projects/spring-framework/issues/23711) - Fix DefaultListableBeanFactory#copyConfigurationFrom [#23710](https://togithub.com/spring-projects/spring-framework/issues/23710) #### :notebook_with_decorative_cover: Documentation - TypeDescriptor#getElementTypeDescriptor does not throw IllegalStateException anymore [#24001](https://togithub.com/spring-projects/spring-framework/issues/24001) #### :heart: Contributors We'd like to thank all the contributors who worked on this release! - [@endtak](https://togithub.com/endtak) ### [`v4.3.25.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/tag/v4.3.25.RELEASE) [Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.3.24.RELEASE...v4.3.25.RELEASE) #### :star: New Features - Javadoc missing on some public BeanDefinitionParserDelegate methods [#23399](https://togithub.com/spring-projects/spring-framework/issues/23399) - Avoid expensive assertions in web resource resolution [#22965](https://togithub.com/spring-projects/spring-framework/issues/22965) #### :beetle: Bug Fixes - Session.close() accidentally triggers creation of TransactionAwareDataSourceProxy Connection [#23397](https://togithub.com/spring-projects/spring-framework/issues/23397) - MethodParameter.equals is too coarse-grained for its use in HandlerMethodArgumentResolverComposite [#23387](https://togithub.com/spring-projects/spring-framework/issues/23387) - FlashMapManager throws StringIndexOutOfBoundsException for empty target URL path [#23246](https://togithub.com/spring-projects/spring-framework/issues/23246) - Fix ScriptUtils for MS Windows line ending [#23026](https://togithub.com/spring-projects/spring-framework/issues/23026) #### :notebook_with_decorative_cover: Documentation - Improve documentation for `@Autowired` constructors [#23308](https://togithub.com/spring-projects/spring-framework/issues/23308) - Document that Ordered is not supported for `@ControllerAdvice` beans [#23174](https://togithub.com/spring-projects/spring-framework/issues/23174) - spring-mvc.xsd stale-if-error attribute documentation incorrect [#23001](https://togithub.com/spring-projects/spring-framework/issues/23001) - AbstractBeanDefinition.getBeanClass() javadoc misleads about returning null [#22967](https://togithub.com/spring-projects/spring-framework/issues/22967) ### [`v4.3.24.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/tag/v4.3.24.RELEASE) [Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.3.23.RELEASE...v4.3.24.RELEASE) #### :star: New Features - Avoid expensive assertions in HttpRange [#22746](https://togithub.com/spring-projects/spring-framework/issues/22746) #### :beetle: Bug Fixes - Consistent handling of empty List entries in LinkedMultiValueMap [#22913](https://togithub.com/spring-projects/spring-framework/issues/22913) - EL1072E when evaluating compiled comparison expression [#22879](https://togithub.com/spring-projects/spring-framework/issues/22879) - ResourceUrlEncodingFilter throws StringIndexOutOfBoundsException when %ED%B6 is in the URL path [#22863](https://togithub.com/spring-projects/spring-framework/issues/22863) - Jackson2ObjectMapperBuilder prevents the registration of multiple modules with a null typeId [#22763](https://togithub.com/spring-projects/spring-framework/issues/22763) ### [`v4.3.23.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/tag/v4.3.23.RELEASE) [Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.3.22.RELEASE...v4.3.23.RELEASE) #### :star: New Features - ResourceUrlEncodingFilter versioning breaks when URL contains fragment \[SPR-17535] [#22552](https://togithub.com/spring-projects/spring-framework/issues/22552) - Revisit XML schema handling for consistent local vs external resolution [#22530](https://togithub.com/spring-projects/spring-framework/issues/22530) - JdbcTemplate.extractOutputParameters should preserve order of parameters [#22494](https://togithub.com/spring-projects/spring-framework/issues/22494) - HandlerInterceptorAdapter should honor ordering [#22434](https://togithub.com/spring-projects/spring-framework/issues/22434) - Avoid duplicate call to findAnnotations in DefaultListableBeanFactory.findAnnotationOnBean [#22356](https://togithub.com/spring-projects/spring-framework/issues/22356) #### :beetle: Bug Fixes - Avoid duplicate registration of `@ControllerAdvice` implementing both RequestBodyAdvice and ResponseBodyAdvice [#22686](https://togithub.com/spring-projects/spring-framework/issues/22686) - Jackson2ObjectMapperBuilder's modulesToInstall function does not eventually override the default configuration [#22624](https://togithub.com/spring-projects/spring-framework/issues/22624) - Events extending from PayloadApplicationEvent and implementing an interface fail to match `@EventListener` argument [#22471](https://togithub.com/spring-projects/spring-framework/issues/22471) - DefaultConversionService fails to properly convert an Object\[] to a int\[] [#22415](https://togithub.com/spring-projects/spring-framework/issues/22415) - `@Transactional` beans not getting proxied when being initialized during failed circular reference attempt [#22376](https://togithub.com/spring-projects/spring-framework/issues/22376) - ApplicationListenerMethodAdapter does not find `@Ordered` annotation for dynamic proxies [#22352](https://togithub.com/spring-projects/spring-framework/issues/22352) - RestTemplate adds duplicate accept header information [#22320](https://togithub.com/spring-projects/spring-framework/pull/22320) #### :heart: Contributors We'd like to thank all the contributors who worked on this release! - [@geminiKim](https://togithub.com/geminiKim) ### [`v4.3.22.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/tag/v4.3.22.RELEASE): 4.3.22 Release [Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.3.21.RELEASE...v4.3.22.RELEASE) #### :beetle: Bug Fixes - 'default-lazy-init' attribute is not processed when XSD validation is disabled \[SPR-8335] [#12983](https://togithub.com/spring-projects/spring-framework/issues/12983) - Spring JavaMailSenderImpl does not show proper message when recipient list is empty \[SPR-17540] [#22072](https://togithub.com/spring-projects/spring-framework/issues/22072) - Potential resource leak in DataSourceUtils.doGetConnection \[SPR-17559] [#22091](https://togithub.com/spring-projects/spring-framework/issues/22091) - SpEL, error parsing big InlineMap \[SPR-17605] [#22137](https://togithub.com/spring-projects/spring-framework/issues/22137) - `@Value` Optional<...> field injection fails in case of registered ConversionService \[SPR-17607] [#22139](https://togithub.com/spring-projects/spring-framework/issues/22139) - Cannot convert from Collection to RegularEnumSet \[SPR-17619] [#22151](https://togithub.com/spring-projects/spring-framework/issues/22151) #### :notebook_with_decorative_cover: Documentation - Error in reference documentation sentence in part 1.8.1. Customizing Beans by Using a BeanPostProcessor \[SPR-17556] [#22088](https://togithub.com/spring-projects/spring-framework/issues/22088) - Typo in SpEL Evaluation Context Sample \[SPR-17581] [#22113](https://togithub.com/spring-projects/spring-framework/issues/22113) ### [`v4.3.21.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/tag/v4.3.21.RELEASE): 4.3.21 Release [Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.3.20.RELEASE...v4.3.21.RELEASE) #### :star: New Features - SpringFactoriesLoader should tolerate whitespace \[SPR-17413] [#21946](https://togithub.com/spring-projects/spring-framework/issues/21946) - Expose mapped handler as request attribute in spring-webmvc \[SPR-17518] [#22050](https://togithub.com/spring-projects/spring-framework/issues/22050) #### :beetle: Bug Fixes - ExceptionHandlerExceptionResolver started to log on WARN level \[SPR-17383] [#21916](https://togithub.com/spring-projects/spring-framework/issues/21916) - MethodValidationPostProcessor still validates FactoryBean methods on CGLIB proxies \[SPR-17386] [#21919](https://togithub.com/spring-projects/spring-framework/issues/21919) - Spring logs a nasty looking stack trace for unhandled classpath URL \[SPR-17417] [#21950](https://togithub.com/spring-projects/spring-framework/issues/21950) - ResourceUrlEncodingFilter does not work with HttpServletRequestWrapper \[SPR-17421] [#21954](https://togithub.com/spring-projects/spring-framework/issues/21954) - RestTemplate does not throw exception for custom error codes \[SPR-17439] [#21971](https://togithub.com/spring-projects/spring-framework/issues/21971) - NamedParameterJdbcTemplate batchUpdate returns an array of size 1 when the batchArgs passed is an empty array \[SPR-17476] [#22008](https://togithub.com/spring-projects/spring-framework/issues/22008) - FastByteArrayInputStream.read() wrong return value \[SPR-17492] [#22024](https://togithub.com/spring-projects/spring-framework/issues/22024) - Reserializing a lenient fallback DefaultListableBeanFactory causes an error \[SPR-17508] [#22040](https://togithub.com/spring-projects/spring-framework/issues/22040) - getBeanNamesForType(ResolvableType) doesn't work for raw singleton instance from `@Bean` method with generic return type \[SPR-17524] [#22056](https://togithub.com/spring-projects/spring-framework/issues/22056) #### :notebook_with_decorative_cover: Documentation - Misleading alias definition example in reference documentation, part 1.3.1 \[SPR-17536] [#22068](https://togithub.com/spring-projects/spring-framework/issues/22068) ### [`v4.3.20.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/tag/v4.3.20.RELEASE): 4.3.20 Release [Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.3.19.RELEASE...v4.3.20.RELEASE) #### :star: New Features - Support for removeHeader in MockHttpServletRequest \[SPR-17295] [#21828](https://togithub.com/spring-projects/spring-framework/issues/21828) - Sanity checks for HTTP range requests \[SPR-17318] [#21851](https://togithub.com/spring-projects/spring-framework/issues/21851) #### :beetle: Bug Fixes - HTTP 404 for static resources with last modified = 0L (breaks Docker images build with Jib) \[SPR-17320] [#21853](https://togithub.com/spring-projects/spring-framework/issues/21853) - MockAsyncContext not found. Did request wrapper not delegate startAsync? \[SPR-17353] [#21887](https://togithub.com/spring-projects/spring-framework/issues/21887) - MethodValidationPostProcessor validates FactoryBean methods for which validation is not applicable \[SPR-17374] [#21907](https://togithub.com/spring-projects/spring-framework/issues/21907) #### :notebook_with_decorative_cover: Documentation - Typo on ServletUriComponentsBuilder javadoc comments \[SPR-17255] [#21788](https://togithub.com/spring-projects/spring-framework/issues/21788) - Javadoc for BufferingClientHttpRequestFactory is missing the end of a sentence \[SPR-17261] [#21794](https://togithub.com/spring-projects/spring-framework/issues/21794) - Misleading description in Autowired javadoc \[SPR-17299] [#21832](https://togithub.com/spring-projects/spring-framework/issues/21832) ### [`v4.3.19.RELEASE`](https://togithub.com/spring-projects/spring-framework/releases/tag/v4.3.19.RELEASE): 4.3.19 Release [Compare Source](https://togithub.com/spring-projects/spring-framework/compare/v4.3.18.RELEASE...v4.3.19.RELEASE) #### :star: New Features - Consistent warn logging for handled exceptions \[SPR-17178] [#21714](https://togithub.com/spring-projects/spring-framework/issues/21714) - Support both filters and views in AbstractJackson2HttpMessageConverter \[SPR-17209] [#21742](https://togithub.com/spring-projects/spring-framework/issues/21742) #### :beetle: Bug Fixes - AbstractJackson2HttpMessageConverter incorrectly logs at WARN level after upgrading to Jackson 2.9 \[SPR-16947] [#21486](https://togithub.com/spring-projects/spring-framework/issues/21486) - ConcurrentReferenceHashMap does not enforce visibility of cached EntrySet \[SPR-16994] [#21532](https://togithub.com/spring-projects/spring-framework/issues/21532) - Map injection fails to find bean produced with `@Bean` when additional method with same name exists \[SPR-16999] [#21537](https://togithub.com/spring-projects/spring-framework/issues/21537) - AOP and use of redirect view can lead to unbounded caching in AbstractAutoProxyCreator \[SPR-17045] [#21583](https://togithub.com/spring-projects/spring-framework/issues/21583) - Classification of ClassCastExceptions doesn't work in JDK 11 (OpenJDK) \[SPR-17093] [#21630](https://togithub.com/spring-projects/spring-framework/issues/21630) - SchedulerAccessor needs to catch primary key violation on reschedule (due to Quartz race condition) \[SPR-17114] [#21651](https://togithub.com/spring-projects/spring-framework/issues/21651) - CheckboxTag incorrectly processing hidden field through RequestDataValueProcessor \[SPR-17147] [#21684](https://togithub.com/spring-projects/spring-framework/issues/21684) - `@Scheduled` task runs twice on bean with target-class scoped proxy (when injected) \[SPR-17166] [#21702](https://togithub.com/spring-projects/spring-framework/issues/21702) - SimpleAliasRegistry.hasAlias does not properly resolve multiple chained aliases \[SPR-17191] [#21726](https://togithub.com/spring-projects/spring-framework/issues/21726) - Compiled elvis operator does not work correctly when default value is a complex expression \[SPR-17214] [#21747](https://togithub.com/spring-projects/spring-framework/issues/21747) - EL1072 when evaluating compiled expression using method SpelExpression.getValue(Object rootObject, ClassConfiguration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.