⭐ New Features
- Cache result of String.getBytes() in ExtendedBeanInfo.PropertyDescriptorComparator #24109
- Avoid substring allocation in StringUtils.replace #24025
- Support for new MySQL 8 error code 3572 #23974
🪲 Bug Fixes
- Unsafe double-checked locking in SpelExpression#compileExpression #24307
- Escape quotes in filename in ContentDisposition.Builder when charset not specified #24230
- SqlRowSet accessor methods should be marked
@Nullable
#24045 - Allow schemaZip Gradle task to execute on MS Windows #23988
- Bean definition override leads to NPE due to inconsistent equality check #23709
- Fix DefaultListableBeanFactory#copyConfigurationFrom #23708
- Synchronized blocks in MethodOverrides are hurting concurrency #23707