Skip to content

v1.2.0

Choose a tag to compare

@github-actions github-actions released this 09 May 23:49
· 149 commits to master since this release

✨ New Features

  • Java 21 virtual thread support. ThreadFactoryProvider (introduced in this release, alongside ExecutorsProvider) 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, from ListenableFutureRegistry (backed by two independent CompletableFutures — one for success, one for failure, each with a plain whenComplete callback) to a new ListenableFutureImpl (a synchronized/wait/notifyAll-based state machine with explicit NEW/SUCCESS/FAILURE states). No public API change — this is an internal implementation swap.
  • JMX-based instrumentation removed. The instrument package (AmazonSnsThreadPoolExecutorJmx, RingBufferBlockingQueueJmx, and their MBean interfaces, plus MBeanRegistrar) — 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 — RingBufferBlockingQueue and AbstractAmazonSnsConsumer both received substantial changes in this release.

🛠 Improvements

  • New MaximumAllowedMessageException and AbstractMessageAttributes classes — early groundwork for what would later become the message-size accounting and poison-message-handling logic refined in subsequent releases.
  • BlockingSubmissionPolicy gained 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.xml updated (41 lines changed) alongside several CI workflow update commits.

Full Changelog: v1.1.0...v1.2.0