Skip to content

kubemq-java v3.0.0

Choose a tag to compare

@kubemq kubemq released this 04 Apr 08:33
· 124 commits to main since this release

Added

  • Typed exception hierarchy rooted at KubeMQException with ErrorCode, ErrorCategory, and ErrorClassifier
  • GrpcErrorMapper for automatic gRPC status code to SDK exception mapping
  • RetryPolicy framework with configurable backoff strategies
  • ConnectionStateMachine with DISCONNECTED → CONNECTING → CONNECTED → RECONNECTING lifecycle
  • ReconnectionManager with exponential backoff and MessageBuffer for offline buffering
  • CredentialProvider interface with StaticTokenProvider and CredentialManager
  • mTLS support via tlsCaCertFile builder option
  • OpenTelemetry trace instrumentation with W3C trace context propagation
  • Subscription handle returned from all subscribe methods for lifecycle management
  • Batch sendQueuesMessages(List) API for queue message batching
  • Async API (*Async methods returning CompletableFuture) on all client classes
  • JMH benchmark infrastructure
  • KubeMQVersion class for runtime SDK version access
  • Server compatibility check on connection with version range validation
  • Comprehensive Javadoc on all public API classes and methods
  • CI pipeline (GitHub Actions) with Java 11/17/21 matrix

Changed (BREAKING)

  • All subscribe* methods now return Subscription handle (was void)
  • validate() methods throw ValidationException instead of IllegalArgumentException
  • Logging migrated from @Slf4j to KubeMQLogger abstraction
  • commons-lang3 and grpc-alts dependencies removed; logback moved to test scope

Fixed

  • Race condition in EventStreamHelper during concurrent stream operations
  • Resource leaks in client close() with in-flight request draining

Install:
```xml

io.kubemq.sdk
kubemq-sdk-Java
3.0.0

```