All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Added support for spring boot 3.4
- Memory visibility issue when taking thread dumps.
- Base91 encoder.
- RoaringBitmap based LargeBitmap with better 64 bits support.
- ThreadUtils to take safe-point free thread dumps. Those thread dumps will be inconsistent, but still suitable in many cases.
- Java 17+ is now required.
- Added support for Spring Boot 3.3.
- Added support for Spring Boot 3.2.
- Eliminating shutdown noise from interruption in schedule tasks executor.
- Stopping a scheduled task does not stop other tasks with the same execution time.
- UuidUtils.add method.
- UuidUtils.add method.
- Improved memory allocations in meter cache by avoiding frequent linkToTargetMethod allocations by lambda executions.
- Fixes issue of DefaultJsonConverter being incorrectly set as a @Component.
- Ported
JsonConverter
interface andDefaultJsonConverter
implementation from old common lib.
- Ported
JavaTimeModuleFactory
from old common lib so that the lib can be removed in the future. It provides consistent millisecond serialisation ofInstant
andZonedDateTime
objects.
- Support for Spring Boot 3.1
- Build against Spring Boot 3.0.6 --> 3.0.7
- Build against Spring Boot 2.7.11 --> 2.7.13
- Build against Spring Boot 2.6.14 --> 2.6.15
- Two Java Validation annotations used in many of our libraries.
- Support for Spring Boot 3.0
- Support for Spring Boot 2.5
@PostConstruct
and@PreDestroy
annotations.
-
ParentAwareConnectionProxy
,ParentAwareDataSourceProxy
andDataSourceProxy
interfaces. -
setTargetConnection
method toConnectionProxy
interface. -
Spring Boot matrix tests
- assertj-core, it makes test compilation slow.
- Upgraded some libraries
ThreadNamingExecutorServiceWrapper
is now setting thread name forexecute
method calls as well.
- If the Callable supplied to TransactionHelper#call throws an exception, there is an attempt to rollback. Thus far, if the rollback also threw an exception, it got thrown and the exception from Callable was lost. Starting in this version, any exception from the rollback is caught and logged, and the exception from Callable gets thrown.
- Build and Publish using GitHub Actions
- Added TestClock#plus(String) method.
- Added ConnectionProxy interface
- Moved from JDK 8 to JDK 11.
- Starting to push to Maven Central again.
- Allowing clearing only specific metrics from meter cache.
- Minor optimization in transactions helper.
- MeterCache to avoid Micrometer's MeterRegistry's inefficiencies.
- Our UUIDs have version 4 identifier now.
generateSecureUuid
was added toUuidUtils
.
- UuidUtils was added. It is expected to be used to generate all UUIDs used in Transferwise.