diff --git a/README.md b/README.md index bdd19b747..728ee8eb8 100644 --- a/README.md +++ b/README.md @@ -43,41 +43,41 @@ confluent-kafka-dotnet is distributed via NuGet. We provide five packages: To install Confluent.Kafka from within Visual Studio, search for Confluent.Kafka in the NuGet Package Manager UI, or run the following command in the Package Manager Console: ``` -Install-Package Confluent.Kafka -Version 2.3.0-RC3 +Install-Package Confluent.Kafka -Version 2.3.0-RC4 ``` To add a reference to a dotnet core project, execute the following at the command line: ``` -dotnet add package -v 2.3.0-RC3 Confluent.Kafka +dotnet add package -v 2.3.0-RC4 Confluent.Kafka ``` Note: `Confluent.Kafka` depends on the `librdkafka.redist` package which provides a number of different builds of `librdkafka` that are compatible with [common platforms](https://github.com/edenhill/librdkafka/wiki/librdkafka.redist-NuGet-package-runtime-libraries). If you are on one of these platforms this will all work seamlessly (and you don't need to explicitly reference `librdkafka.redist`). If you are on a different platform, you may need to [build librdkafka](https://github.com/edenhill/librdkafka#building) manually (or acquire it via other means) and load it using the [Library.Load](https://docs.confluent.io/current/clients/confluent-kafka-dotnet/api/Confluent.Kafka.Library.html#Confluent_Kafka_Library_Load_System_String_) method. ### Branch builds -Nuget packages corresponding to all commits to release branches are available from the following nuget package source (Note: this is not a web URL - you +Nuget packages corresponding to all commits to release branches are available from the following nuget package source (Note: this is not a web URL - you should specify it in the nuget package manager): -[https://ci.appveyor.com/nuget/confluent-kafka-dotnet](https://ci.appveyor.com/nuget/confluent-kafka-dotnet). The version suffix of these nuget packages -matches the appveyor build number. You can see which commit a particular build number corresponds to by looking at the +[https://ci.appveyor.com/nuget/confluent-kafka-dotnet](https://ci.appveyor.com/nuget/confluent-kafka-dotnet). The version suffix of these nuget packages +matches the appveyor build number. You can see which commit a particular build number corresponds to by looking at the [AppVeyor build history](https://ci.appveyor.com/project/ConfluentClientEngineering/confluent-kafka-dotnet/history) ## Usage -For a step-by-step guide and code samples, see [Getting Started with Apache Kafka and .NET](https://developer.confluent.io/get-started/dotnet/) on [Confluent Developer](https://developer.confluent.io/). +For a step-by-step guide and code samples, see [Getting Started with Apache Kafka and .NET](https://developer.confluent.io/get-started/dotnet/) on [Confluent Developer](https://developer.confluent.io/). -You can also take the free self-paced training course [Apache Kafka for .NET Developers](https://developer.confluent.io/learn-kafka/apache-kafka-for-dotnet/) on [Confluent Developer](https://developer.confluent.io/). +You can also take the free self-paced training course [Apache Kafka for .NET Developers](https://developer.confluent.io/learn-kafka/apache-kafka-for-dotnet/) on [Confluent Developer](https://developer.confluent.io/). -Take a look in the [examples](examples) directory and at the [integration tests](test/Confluent.Kafka.IntegrationTests/Tests) for further examples. +Take a look in the [examples](examples) directory and at the [integration tests](test/Confluent.Kafka.IntegrationTests/Tests) for further examples. -For an overview of configuration properties, refer to the [librdkafka documentation](https://github.com/edenhill/librdkafka/blob/master/CONFIGURATION.md). +For an overview of configuration properties, refer to the [librdkafka documentation](https://github.com/edenhill/librdkafka/blob/master/CONFIGURATION.md). ### Basic Producer Examples You should use the `ProduceAsync` method if you would like to wait for the result of your produce requests before proceeding. You might typically want to do this in highly concurrent scenarios, -for example in the context of handling web requests. Behind the scenes, the client will manage +for example in the context of handling web requests. Behind the scenes, the client will manage optimizing communication with the Kafka brokers for you, batching requests as appropriate. ```csharp @@ -111,8 +111,8 @@ class Program ``` Note that a server round-trip is slow (3ms at a minimum; actual latency depends on many factors). -In highly concurrent scenarios you will achieve high overall throughput out of the producer using -the above approach, but there will be a delay on each `await` call. In stream processing +In highly concurrent scenarios you will achieve high overall throughput out of the producer using +the above approach, but there will be a delay on each `await` call. In stream processing applications, where you would like to process many messages in rapid succession, you would typically use the `Produce` method instead: @@ -126,7 +126,7 @@ class Program { var conf = new ProducerConfig { BootstrapServers = "localhost:9092" }; - Action> handler = r => + Action> handler = r => Console.WriteLine(!r.Error.IsError ? $"Delivered message to {r.TopicPartitionOffset}" : $"Delivery Error: {r.Error.Reason}"); @@ -157,7 +157,7 @@ class Program public static void Main(string[] args) { var conf = new ConsumerConfig - { + { GroupId = "test-consumer-group", BootstrapServers = "localhost:9092", // Note: The AutoOffsetReset property determines the start offset in the event @@ -258,7 +258,7 @@ to integrate with Kafka. For more information, refer to the [3rd Party Libraries ### Confluent Cloud -For a step-by-step guide on using the .NET client with Confluent Cloud see [Getting Started with Apache Kafka and .NET](https://developer.confluent.io/get-started/dotnet/) on [Confluent Developer](https://developer.confluent.io/). +For a step-by-step guide on using the .NET client with Confluent Cloud see [Getting Started with Apache Kafka and .NET](https://developer.confluent.io/get-started/dotnet/) on [Confluent Developer](https://developer.confluent.io/). You can also refer to the [Confluent Cloud example](examples/ConfluentCloud) which demonstrates how to configure the .NET client for use with [Confluent Cloud](https://www.confluent.io/confluent-cloud/). @@ -267,7 +267,7 @@ You can also refer to the [Confluent Cloud example](examples/ConfluentCloud) whi Instructions on building and testing confluent-kafka-dotnet can be found [here](DEVELOPER.md). -Copyright (c) +Copyright (c) 2016-2019 [Confluent Inc.](https://www.confluent.io) 2015-2016 [Andreas Heider](mailto:andreas@heider.io) diff --git a/examples/AdminClient/AdminClient.csproj b/examples/AdminClient/AdminClient.csproj index d9ef7b107..19b08cd9f 100755 --- a/examples/AdminClient/AdminClient.csproj +++ b/examples/AdminClient/AdminClient.csproj @@ -9,7 +9,7 @@ - + diff --git a/examples/AvroBlogExamples/AvroBlogExamples.csproj b/examples/AvroBlogExamples/AvroBlogExamples.csproj index 2fc426275..8a3ece093 100644 --- a/examples/AvroBlogExamples/AvroBlogExamples.csproj +++ b/examples/AvroBlogExamples/AvroBlogExamples.csproj @@ -8,7 +8,7 @@ - + diff --git a/examples/AvroGeneric/AvroGeneric.csproj b/examples/AvroGeneric/AvroGeneric.csproj index 0fbeaa2e4..c8f5b0098 100644 --- a/examples/AvroGeneric/AvroGeneric.csproj +++ b/examples/AvroGeneric/AvroGeneric.csproj @@ -9,7 +9,7 @@ - + diff --git a/examples/AvroSpecific/AvroSpecific.csproj b/examples/AvroSpecific/AvroSpecific.csproj index de2ffa778..3c758f901 100644 --- a/examples/AvroSpecific/AvroSpecific.csproj +++ b/examples/AvroSpecific/AvroSpecific.csproj @@ -9,7 +9,7 @@ - + diff --git a/examples/Configuration/Configuration.csproj b/examples/Configuration/Configuration.csproj index 6bf1f11af..58d5fbf20 100644 --- a/examples/Configuration/Configuration.csproj +++ b/examples/Configuration/Configuration.csproj @@ -8,13 +8,13 @@ - + - + diff --git a/examples/ConfluentCloud/ConfluentCloud.csproj b/examples/ConfluentCloud/ConfluentCloud.csproj index b45d413e1..b813a9ab3 100644 --- a/examples/ConfluentCloud/ConfluentCloud.csproj +++ b/examples/ConfluentCloud/ConfluentCloud.csproj @@ -7,7 +7,7 @@ - + diff --git a/examples/Consumer/Consumer.csproj b/examples/Consumer/Consumer.csproj index 0c3d2f3bc..1e535deca 100755 --- a/examples/Consumer/Consumer.csproj +++ b/examples/Consumer/Consumer.csproj @@ -8,7 +8,7 @@ - + diff --git a/examples/ExactlyOnce/ExactlyOnce.csproj b/examples/ExactlyOnce/ExactlyOnce.csproj index 4415e099b..cbf55ff21 100644 --- a/examples/ExactlyOnce/ExactlyOnce.csproj +++ b/examples/ExactlyOnce/ExactlyOnce.csproj @@ -9,9 +9,9 @@ - + - + diff --git a/examples/ExactlyOnceOldBroker/ExactlyOnceOldBroker.csproj b/examples/ExactlyOnceOldBroker/ExactlyOnceOldBroker.csproj index 64c5a5ac5..d04c428f2 100644 --- a/examples/ExactlyOnceOldBroker/ExactlyOnceOldBroker.csproj +++ b/examples/ExactlyOnceOldBroker/ExactlyOnceOldBroker.csproj @@ -9,7 +9,7 @@ - + diff --git a/examples/JsonSerialization/JsonSerialization.csproj b/examples/JsonSerialization/JsonSerialization.csproj index 75b5d39a7..5dcd12c67 100644 --- a/examples/JsonSerialization/JsonSerialization.csproj +++ b/examples/JsonSerialization/JsonSerialization.csproj @@ -9,7 +9,7 @@ - + diff --git a/examples/JsonWithReferences/JsonWithReferences.csproj b/examples/JsonWithReferences/JsonWithReferences.csproj index 83c4cdbcc..7a7bcb1b9 100644 --- a/examples/JsonWithReferences/JsonWithReferences.csproj +++ b/examples/JsonWithReferences/JsonWithReferences.csproj @@ -9,7 +9,7 @@ - + diff --git a/examples/OAuthConsumer/OAuthConsumer.csproj b/examples/OAuthConsumer/OAuthConsumer.csproj index 36fd1356e..43872598f 100644 --- a/examples/OAuthConsumer/OAuthConsumer.csproj +++ b/examples/OAuthConsumer/OAuthConsumer.csproj @@ -9,12 +9,12 @@ - + - + diff --git a/examples/OAuthOIDC/OAuthOIDC.csproj b/examples/OAuthOIDC/OAuthOIDC.csproj index bad894271..e7ebfb6e7 100644 --- a/examples/OAuthOIDC/OAuthOIDC.csproj +++ b/examples/OAuthOIDC/OAuthOIDC.csproj @@ -9,12 +9,12 @@ - + - + diff --git a/examples/OAuthProducer/OAuthProducer.csproj b/examples/OAuthProducer/OAuthProducer.csproj index aa5a4b140..fc07210c8 100644 --- a/examples/OAuthProducer/OAuthProducer.csproj +++ b/examples/OAuthProducer/OAuthProducer.csproj @@ -9,12 +9,12 @@ - + - + diff --git a/examples/Producer/Producer.csproj b/examples/Producer/Producer.csproj index 239d9112b..d11647c69 100755 --- a/examples/Producer/Producer.csproj +++ b/examples/Producer/Producer.csproj @@ -9,8 +9,8 @@ - + - + diff --git a/examples/Protobuf/Protobuf.csproj b/examples/Protobuf/Protobuf.csproj index 4cca50749..884484d0e 100644 --- a/examples/Protobuf/Protobuf.csproj +++ b/examples/Protobuf/Protobuf.csproj @@ -9,7 +9,7 @@ - + diff --git a/examples/TlsAuth/TlsAuth.csproj b/examples/TlsAuth/TlsAuth.csproj index b65eadced..070c97b4f 100644 --- a/examples/TlsAuth/TlsAuth.csproj +++ b/examples/TlsAuth/TlsAuth.csproj @@ -9,8 +9,8 @@ - + - + diff --git a/src/Confluent.Kafka/Config_gen.cs b/src/Confluent.Kafka/Config_gen.cs index adbcee1f4..8d9111502 100644 --- a/src/Confluent.Kafka/Config_gen.cs +++ b/src/Confluent.Kafka/Config_gen.cs @@ -1,4 +1,4 @@ -// *** Auto-generated from librdkafka v2.3.0-RC3 *** - do not modify manually. +// *** Auto-generated from librdkafka v2.3.0-RC4 *** - do not modify manually. // // Copyright 2018-2022 Confluent Inc. // diff --git a/src/Confluent.Kafka/Confluent.Kafka.csproj b/src/Confluent.Kafka/Confluent.Kafka.csproj index 9bbcf2fce..56729133e 100755 --- a/src/Confluent.Kafka/Confluent.Kafka.csproj +++ b/src/Confluent.Kafka/Confluent.Kafka.csproj @@ -12,7 +12,7 @@ Confluent.Kafka Confluent.Kafka Confluent.Kafka - 2.3.0-RC3 + 2.3.0-RC4 netstandard2.0;netstandard1.3;net462;net6.0 true true @@ -21,7 +21,7 @@ - + None diff --git a/src/Confluent.SchemaRegistry.Serdes.Avro/Confluent.SchemaRegistry.Serdes.Avro.csproj b/src/Confluent.SchemaRegistry.Serdes.Avro/Confluent.SchemaRegistry.Serdes.Avro.csproj index 64cfdde1b..17b6d0696 100644 --- a/src/Confluent.SchemaRegistry.Serdes.Avro/Confluent.SchemaRegistry.Serdes.Avro.csproj +++ b/src/Confluent.SchemaRegistry.Serdes.Avro/Confluent.SchemaRegistry.Serdes.Avro.csproj @@ -13,7 +13,7 @@ Confluent.SchemaRegistry.Serdes.Avro Confluent.SchemaRegistry.Serdes.Avro Confluent.SchemaRegistry.Serdes.Avro - 2.3.0-RC3 + 2.3.0-RC4 netstandard2.0; true true diff --git a/src/Confluent.SchemaRegistry.Serdes.Json/Confluent.SchemaRegistry.Serdes.Json.csproj b/src/Confluent.SchemaRegistry.Serdes.Json/Confluent.SchemaRegistry.Serdes.Json.csproj index d6f19d8a6..20931b586 100644 --- a/src/Confluent.SchemaRegistry.Serdes.Json/Confluent.SchemaRegistry.Serdes.Json.csproj +++ b/src/Confluent.SchemaRegistry.Serdes.Json/Confluent.SchemaRegistry.Serdes.Json.csproj @@ -13,7 +13,7 @@ Confluent.SchemaRegistry.Serdes.Json Confluent.SchemaRegistry.Serdes.Json Confluent.SchemaRegistry.Serdes.Json - 2.3.0-RC3 + 2.3.0-RC4 netstandard2.0; true true diff --git a/src/Confluent.SchemaRegistry.Serdes.Protobuf/Confluent.SchemaRegistry.Serdes.Protobuf.csproj b/src/Confluent.SchemaRegistry.Serdes.Protobuf/Confluent.SchemaRegistry.Serdes.Protobuf.csproj index 38da67939..83f4a80fc 100644 --- a/src/Confluent.SchemaRegistry.Serdes.Protobuf/Confluent.SchemaRegistry.Serdes.Protobuf.csproj +++ b/src/Confluent.SchemaRegistry.Serdes.Protobuf/Confluent.SchemaRegistry.Serdes.Protobuf.csproj @@ -13,7 +13,7 @@ Confluent.SchemaRegistry.Serdes.Protobuf Confluent.SchemaRegistry.Serdes.Protobuf Confluent.SchemaRegistry.Serdes.Protobuf - 2.3.0-RC3 + 2.3.0-RC4 netstandard2.0; true true diff --git a/src/Confluent.SchemaRegistry/Confluent.SchemaRegistry.csproj b/src/Confluent.SchemaRegistry/Confluent.SchemaRegistry.csproj index 7ebdeb0f8..ef386d6d1 100644 --- a/src/Confluent.SchemaRegistry/Confluent.SchemaRegistry.csproj +++ b/src/Confluent.SchemaRegistry/Confluent.SchemaRegistry.csproj @@ -13,7 +13,7 @@ Confluent.SchemaRegistry Confluent.SchemaRegistry Confluent.SchemaRegistry - 2.3.0-RC3 + 2.3.0-RC4 netstandard2.0;netstandard1.4 true true