Repository navigation
v1.2.0
✨ New Features
- Java 21 virtual thread support.
ThreadFactoryProvider(introduced in this release, alongsideExecutorsProvider) detects the running JDK version and creates virtual threads when available (Java 21+), falling back to platform threads otherwise — with no configuration required, and no behavior change for callers on Java 8/11/17.
🔁 Replaced
ListenableFuture's implementation was rewritten, fromListenableFutureRegistry(backed by two independentCompletableFutures — one for success, one for failure, each with a plainwhenCompletecallback) to a newListenableFutureImpl(asynchronized/wait/notifyAll-based state machine with explicitNEW/SUCCESS/FAILUREstates). No public API change — this is an internal implementation swap.- JMX-based instrumentation removed. The
instrumentpackage (AmazonSnsThreadPoolExecutorJmx,RingBufferBlockingQueueJmx, and their MBean interfaces, plusMBeanRegistrar) — which exposed thread pool and queue metrics via JMX MBeans — was deleted in this release. Note: this is a genuine capability gap for this specific release — if you were monitoring this library via JMX, that stops working as of 1.2.0, and there is no replacement in this release. Micrometer-based metrics (covering the same executor/queue instrumentation, and more) were added two releases later, in 1.3.0; between 1.2.0 and 1.3.0 the library ships with no built-in metrics of any kind.
🐛 Fixes
- Fixed a race condition (commit
fix: race condition) touching the consumer/queue concurrency path —RingBufferBlockingQueueandAbstractAmazonSnsConsumerboth received substantial changes in this release.
🛠 Improvements
- New
MaximumAllowedMessageExceptionandAbstractMessageAttributesclasses — early groundwork for what would later become the message-size accounting and poison-message-handling logic refined in subsequent releases. BlockingSubmissionPolicygained additional handling (13 lines).- Broad Javadoc pass across model classes (
RequestEntry,ResponseFailEntry,ResponseSuccessEntry,TopicProperty,PublishRequestBuilder) — no field or behavior changes, documentation only.
📦 Dependency & Build
pom.xmlupdated (41 lines changed) alongside several CI workflow update commits.
Full Changelog: v1.1.0...v1.2.0