Releases: epam/epam-kafka
Releases · epam/epam-kafka
v2.5.197
What's Changed
Epam.Kafka
Confluent.Kafka
andConfluent.SchemaRegistry
dependency updated tov2.8.0
.Microsoft.Extensions
dependencies updated tov8.0.0
.- Added test mock cluster (localhost listener for testing purposes) use
kafkabuilder.WithTestMockCluster(...)
to be able to use mock cluster inIKafkaFactory
or usepublic sealed class TestMockCluster
directly.
Epam.Kafka.PubSub
- Added subscription that will consume messages from kafka, process them by converting to output messages, and finally publish result of conversion to kafka. In case of kafka internal offsets storage and publishing to same cluster from which data was consumed it is possible to update offsets and publish result in same transaction. Use
kafkabuilder.AddReplication(...)
- Added validation for incorrect consumer group value usage in some cases.
v2.4.162
What's Changed
Epam.Kafka
- Fixed bug for concurrent creation of producer/consumer
- Added log message for schema registry client creation.
- Added default parameter to
public KafkaClusterOptions WithOAuthHandler(Func<string?, OAuthRefreshResult> createToken, bool throwIfAlreadySet = false)
to optionally throw exception if oauth handler already configured in builder. Fixed nullability. - Code analysis fixes and net9.0 for CI pipeline
v2.3.145
What's Changed
Epam.Kafka.PubSub.EntityFramework(Core/6)
DbContextEntityPublicationHandler
default implementation forIsQueued
property changed. Now it take into accountKafkaPubNbf
value forQueued
,Error
,Delivered
statuses. PreviouslyKafkaPubNbf
value was applied forError
andDelivered
statuses only.DbContextPublicationHandler
default implementation forGetEntities
method changed. Now it perform buffering of selected entities to array to avoid potential problems with Multiple Active Result Sets (MARS)
v2.3.140
What's Changed
Epam.Kafka
- The default implementation of
IKafkaFactory.GetOrCreateClient
now uses a producer configuration namedshared
, so its behavior can be customized. - Consumers, producers, and client created by the default
IKafkaFactory
implementation can now be casted toIObservable<Error>
to receive notifications from the error handler and toIObservable<string>
to receive statistics.
Epam.Kafka.HealthChecks
- Added a new package containing the
WithHealthCheck
extension method for registering a cluster health check.
Epam.Kafka.PubSub
- Fixed topic partition pausing and resuming in subscription background service.
- Added commit offsets to Kafka when assigning a partition if external state storage is used and the parameters allow it.
- [Breaking Change] Background subscription service no longer use
auto.offset.reset=earliest
,isolation.level=read_commited
,partition.assignment.strategy=CooperativeSticky
as default values in the consumer config. - Added description to metrics.
Epam.Kafka.PubSub.EntityFramework(Core/6)
- Fixed
DbContextPublicationHandler
not taking batch size into account when selecting queued objects from the database.
v2.2.84
What's Changed
Epam.Kafka
- API to support custom placeholders for
Kafka:Consumers
,Kafka:Producers
, andKafka:Clusters
configuration sections when kafka builder added withuseConfiguration = true
parameter. - New extension methods to get and set
dotnet.cancellation.delay.max.ms
value for ConsumerConfig. - New extension methods to get and set
dotnet.logger.category
value for Config. It is non standard optional key to control logger category for default log handler assigned by default IKafkaFactory implementation. - New extension method to clone Kafka Config and optionally resolve placeholders.
Epam.Kafka.PubSub
- [Breaking Change] Subscription background service don't set
client.id
config value automatically. Previously it was$"{AppDomain.CurrentDomain.FriendlyName}@{Environment.MachineName}:{this.Monitor.Name}"
. - [Breaking Change] Publication background service don't append it's name to
transactional.id
config value automatically. Previously it wasconfig.TransactionalId += $"-{this.Monitor.Name}"
. Added validation to prevent different publication background services use sametransactional.id
config value. - Subscription and Publication background services can resolve special placeholder
<name>
(that reference name of subscription or publication) when it used in ConsumerConfig or ProducerConfig.
v2.1.55
What's Changed
Epam.Kafka
- Confluent.Kafka and Confluent.SchemaRegistry updated to 2.4.0
- Minor fixes for log messages
Epam.Kafka.PubSub
- Separate summary health checks for subscriptions and publications added
- Polly updated to 8.4.0
Epam.Kafka.PubSub.EntityFramework6
- EntityFramework6 implementation for key abstractions defined in Epam.Kafka.PubSub
v2.0.36
Initial release