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.
atleon 0.18.0
is a beta release containing updates outlined below
- [#204] - Implemented fluent
Alo
error delegation; Supports use cases such as deadlettering
- Standardized
Config
creation convention(s)
atleon 0.17.1
is a beta release containing updates outlined below
- [#200] - Loading (including auto-loading) of instances can be overridden to empty lists by providing
null
or empty string
atleon 0.17.0
is a beta release containing updates outlined below
- [#191] - Implemented export of metrics concerning
Alo
queueing - [#192] - Refactored Avro and Confluent Schema Registry integration to make serialization with either/both available for all infrastructures
- [#195] - Added new modules and support for Protobuf and JSON (Jackson) serialization
- [#189] - Removed dependency on
io.confluent:kafka-avro-serializer
atleon 0.16.1
is a beta release containing updates outlined below
- [#186] - Removed usage of
Void
type in Kotlin extensions; ReplacesuspendConsume
withsuspendMap
atleon 0.16.0
is a beta release containing updates outlined below
- [#183] - Added
atleon-kotlin
module with extension functions for coroutines and flows
atleon 0.15.3
is a beta release containing updates outlined below
- [#180] -
AloFailureStrategy
is now applied on publishing ofAlo
(i.e. throughconcatMap
,flatMap
, etc.)
atleon 0.15.2
is a beta release containing updates outlined below
- [#104] - Only query presence of span contexts once in Opentracing decoration
- [#177] - Remove
AloFlux
groupBy
methods where cardinality is not explicitly provided
atleon 0.15.1
is a beta release containing updates outlined below
- [#169] - Implement consistent and configurable
AloFailureStrategy
for dealing with errors resulting fromAlo
processing - [#176] - Indicate when
ReceivedRabbitMQMessage
is a redelivery
- [#167] - Make best effort to successfully emit errors when configured to do so in Receivers
- [#171] - Avoid unbounded resource usage in
SqsReceiver
by not marking "not-in-flight" until reception of terminal response - [#172] - Encapsulate config for Kafka resources as
KafkaConfig
atleon 0.15.0
is a beta release containing updates outlined below
- [#152] - Allow subscribing to Kafka topics that match a
Pattern
- [#154] - Provide terminal
consume
operator onAloFlux
- [#156] - Nacknowledger behavior now configurable for Kafka
- [#153] - Avoid nacknowledging if error will be emitted anyway
- [#158] - Close RabbitMQ Receiver after every
AloFlux
termination - [#162] - Always execute queued acknowledgements in order, regardless of positive vs. negative
- [#164] - Remove custom error handling in
AloRabbitMQSender
atleon 0.14.2
is a beta release containing updates outlined below
- [#149] - Extract raw type from parameterized stream config type
atleon 0.14.1
is a beta release containing updates outlined below
- [#149] - Stream auto configuration now works with parameterized stream configs
atleon 0.14.0
is a beta release containing updates outlined below
- [#136], [#146] - Added
AloSignalListenerFactory
and Micrometer instrumentation for Alo pipeline throughput metering
- [#134] - Parameters used only by decorators have moved from consumed messages to configuration
- [#138] - Standardized observation (metrics, tracing) naming
- [#142] - No longer load
noOp
decorators when auto decorators explicitly configured, but none available - [#144] - Upgrade Reactor to v3.5.3
atleon 0.13.0
is a beta release containing updates outlined below
- [#129] - Implemented annotation-based binding of
AloStream
andAloStreamConfig
to Spring applications
- [#131] - Deprecated
BLACKLIST
andWHITELIST
in favor ofBLOCKLIST
andALLOWLIST
- Moved more documentation to GitHub Wiki
atleon 0.12.1
is a beta release containing updates outlined below
- [#124] - Added
atleon-micrometer-auto
to bom
atleon 0.12.0
is a beta release containing updates outlined below
- [#122] -
ReceivedSqsMessage
now indicates the URL of the queue from which it came - [#124] -
AloDecorator
implemented to add metrics forAlo
throughput and processing duration
- [#121] -
AloRabbitMQReceiver
now producesReceivedRabbitMQMessage
which indicates the queue it came from
atleon 0.11.0
is a beta release containing updates outlined below
- [#114] -
AloRabbitMQReceiver
now supportsAcknowledgerFactory
pattern - [#110] - Nullability and Non-Nullability annotation support added; Makes Kotlin experience better
- [#107] -
AloFactory
loading now centralized toAloFactoryConfig
- [#109] - ConfigLoading now avoids unnecessary parsing when config values are already the desired type
- [#112] - Environmentally loaded configs correctly sanitize environment variables
- [#115] - Deduplication concurrency defaults to infinity
- [#117] - Removed unnecessary use of custom Schedulers
atleon 0.10.1
is a beta release containing updates outlined below
- [#104] - Link to active span context when available and its trace ID is equal to the extracted trace ID
atleon 0.10.0
is a beta release containing updates outlined below
- [#86] - Added integration with Opentracing
- [#97] - Default to "auto" loading through ServiceLoader when decorators are not explicitly configured
- [#89] - Make SNS+SQS message publishing instrumentation compatible with asynchronous message emission
atleon 0.9.1
is a beta release containing updates outlined below
- [#91] - Added ability for
Alo
implementations to distinguish fan-in propagation from regular propagation - [#97] - Introduced
Alo
decoration pattern throughAloDecorator
- [#94] - Added
DelegatingAlo
interface and used it to remove unnecessaryAlo::map
fromAloFlux.mapNotNull
andAloFlux.mapPresent
- [#89] - Removed unused/unnecessary
SendInterceptor
patterns in Senders - [#92] - Removed redundant implementations of
Alo
- [#99] - Removed compile dependency on SLF4J from Micrometer module
atleon 0.9.0
is a beta release containing updates outlined below
- [#78] - Added new
Contextual
interface extended byAlo
- [#78] - Add
KafkaSendInterceptor
- [#76] - Replace and deprecate
AloExtendedFlux
withGroupFlux
- [#81] - Isolate rate limiting on blocking-friendly Scheulder
atleon 0.8.3
is a beta release containing updates outlined below
- [#73] - All results produced from
Alo
Senders implementSenderResult
atleon 0.8.2
is a beta release containing updates outlined below
- [#70] -
SqsReceiver::Poller
now simply implementsSubscriber
atleon 0.8.1
is a beta release containing updates outlined below
- [#67] -
AloKafkaReceiver
andAloKafkaSender
no longer publish on custom Schedulers
atleon 0.8.0
is a beta release containing updates outlined below
- [#64] - Removed
AloMono
- Rename
DrainableQueue
toSerialQueue
- Log warning when Alo items emitted in AloFlux are acknowledged by default
atleon 0.7.2
is a beta release containing updates outlined below
- [#59] - All Alo Senders now have single-message sending methods
- [#57] - SQS Message deletion is now non-blocking and synchronization-free
- [#61] - Added missing Javadoc for (most) Alo Senders and Receivers
atleon 0.7.1
is a beta release containing updates outlined below
- [#43] - SqsReceiver uses long polling by default
- [#43] - SqsReceiver.Poller sets onCancel before onRequest
atleon '0.7.0' is a beta release containing updates outlined below
- [#43] - Implemented integration with SQS. Messages can be sent to and received from SQS queues with at-least-once guarantee
- [#44] - Implemented integration with SNS. Messages can be sent to SNS topics with at-least-once guarantee
- [#48] - All AloSender implementations are now
Closeable
- [#50] - Added Spring examples for SNS sending and SQS receiving
- [#45] -
Configurable
interface moved fromrabbitmq
toutil
for reuse among all modules
atleon '0.6.0' is a beta release containing updates outlined below
- [#35] - Added RabbitMQ Route Initialization utilities
- [#36] - Added examples for intended usage of RabbitMQ in Spring applications
- [#34] - Fixed type erasure of FloFlux subscribe methods that take Consumers
- [#37] - AloExtendedFlux no longer extends FluxOperator
atleon '0.5.0' is a beta release containing updates outlined below
- [#31] - Implement
AloFlux::mapNotNull
andAloFlux::mapPresent
atleon '0.4.0' is a beta release containing updated outlined below
- [#23] - Enable management of Streams when used with Spring
- [NO_ISSUE] - Add single-topic convenience methods to AloKafkaReceiver
- [#28] - Add
AloFlux::groupByNumberHash
- [#26] - AloStreamConfigs now have default naming
atleon '0.3.0' is a beta release containing updates outlined below
- Polling module that can be used to reactively define sources of data backed by periodic polling
atleon 0.2.0
is a beta release containing updates outlined below
- Kafka version bumped to 2.8.1
- Confluent version bumped to 6.2.2
atleon 0.0.1
is a beta release. It is the first release of the library.