diff --git a/CHANGELOG.md b/CHANGELOG.md index 92ff3cc9..ec655296 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,19 +13,26 @@ The `Unreleased` section name is replaced by the expected version of next releas ### Removed ### Fixed - -## [2.5.1] - 2019-05-14 + +## [2.5.2] - 2020-05-16 + +### Fixed + +- `Kafka`: Targets `FsKafka`/`FsKafka0` v `1.5.0-beta.2` to resolve `TypeLoadException` + + +## [2.5.1] - 2020-05-14 ### Fixed - `EventStoreSource`: Fixed `obj` -> `int` type discrepancy re [#63](https://github.com/jet/propulsion/pull/63) -## [2.5.0] - 2019-05-13 +## [2.5.0] - 2020-05-13 ### Changed -- `Kafka`: Targets [`FsKafka`/`FsKafka0` v `1.4.2`](https://github.com/jet/FsKafka/blob/master/CHANGELOG.md#1.4.2) [#64](https://github.com/jet/propulsion/pull/64) +- `Kafka`: Targets [`FsKafka`/`FsKafka0` v `1.5.0-beta.2`](https://github.com/jet/FsKafka/blob/master/CHANGELOG.md#1.4.2) [#64](https://github.com/jet/propulsion/pull/64) ### Removed @@ -37,28 +44,28 @@ The `Unreleased` section name is replaced by the expected version of next releas - `Kafka`: Change buffer grouping to include `Topic` alongside `PartitionId` - existing implementation did not guarantee marking progress where consuming from more than one Topic concurrently [#63](https://github.com/jet/propulsion/pull/63) -## [2.4.3] - 2019-04-27 +## [2.4.3] - 2020-04-27 ### Changed - Revised `handle` function signatures in `Propulsion.Sync.StreamsSync` and `Propulsion.Streams.StreamsProjector` to use `Propulsion.Streams.SpanResult` representing Write Position updates [#62](https://github.com/jet/propulsion/pull/62) -## [2.4.2] - 2019-04-27 +## [2.4.2] - 2020-04-27 ### Changed - Mark `Scheduler.Stats` abstract, reorder/name `statsInterval` arguments [#61](https://github.com/jet/propulsion/pull/61) -## [2.4.1] - 2019-04-25 +## [2.4.1] - 2020-04-25 ### Changed - Added abstract `HandleExn` method to `type Stats`; removed defaulting of `stats` arguments in almost all cases [#60](https://github.com/jet/propulsion/pull/60) -## [2.4.0] - 2019-04-24 +## [2.4.0] - 2020-04-24 ### Added @@ -70,7 +77,7 @@ The `Unreleased` section name is replaced by the expected version of next releas - Renamed `Streams.Sync.StreamsSyncStats` and `Streams.Scheduling.StreamSchedulerStats` to `Stats` for consistency [#59](https://github.com/jet/propulsion/pull/59) -## [2.3.0] - 2019-04-22 +## [2.3.0] - 2020-04-22 ### Added @@ -84,7 +91,7 @@ The `Unreleased` section name is replaced by the expected version of next releas - BREAKING: `Propulsion.Kafka.Core.StreamKeyEventSequencer.ToStreamEvent` becomes `Propulsion.Kafka.StreamNameSequenceGenerator.KeyValueToStreamEvent` [#56](https://github.com/jet/propulsion/pull/56) -## [2.2.0] - 2019-04-18 +## [2.2.0] - 2020-04-18 ### Added @@ -99,14 +106,14 @@ The `Unreleased` section name is replaced by the expected version of next releas - `EventStore`: Updated `CheckpointSeries` to adhere more closely to naming per [standardized naming](https://github.com/jet/dotnet-templates/pull/54) [#51](https://github.com/jet/propulsion/pull/51) -## [2.1.1] - 2019-03-11 +## [2.1.1] - 2020-03-11 ### Added - `StreamsSyncStats`: Added missing `HandleOk` -## 2.1.0 - 2019-03-11 +## 2.1.0 - 2020-03-11 ### Added @@ -119,28 +126,28 @@ The `Unreleased` section name is replaced by the expected version of next releas - Retarget `netcoreapp2.1` apps to `netcoreapp3.1` (not least to make tool traverse proxies on Windows) -## [2.0.0] - 2019-02-19 +## [2.0.0] - 2020-02-19 ### Changed - Target `FsCodec`.* v `2.0.0`, `Equinox`.* v `2.0.0` -## [2.0.0-rc3] - 2019-02-08 +## [2.0.0-rc3] - 2020-02-08 ### Changed - Extend `StreamsProjector` overloads to enable simplified overriding of Write Position -## [2.0.0-rc2] - 2019-02-04 +## [2.0.0-rc2] - 2020-02-04 ### Fixed - `Kafka0`: Change `"compression.type"` to `"compression.codec"` to correctly support `Confluent.Kafka` v `0.11.3` -## [2.0.0-rc1] - 2019-01-31 +## [2.0.0-rc1] - 2020-01-31 ### Changed @@ -395,7 +402,8 @@ The `Unreleased` section name is replaced by the expected version of next releas ## squashed prior to initial relevant commit -[Unreleased]: https://github.com/jet/propulsion/compare/2.5.1...HEAD +[Unreleased]: https://github.com/jet/propulsion/compare/2.5.2...HEAD +[2.5.2]: https://github.com/jet/propulsion/compare/2.5.1...2.5.2 [2.5.1]: https://github.com/jet/propulsion/compare/2.5.0...2.5.1 [2.5.0]: https://github.com/jet/propulsion/compare/2.4.3...2.5.0 [2.4.3]: https://github.com/jet/propulsion/compare/2.4.2...2.4.3 diff --git a/README.md b/README.md index 2f1d9256..4743ae01 100644 --- a/README.md +++ b/README.md @@ -11,8 +11,8 @@ The components within this repository are delivered as a multi-targeted Nuget pa - `Propulsion` [![NuGet](https://img.shields.io/nuget/v/Propulsion.svg)](https://www.nuget.org/packages/Propulsion/) Implements core functionality in a channel-independent fashion including `ParallelProjector`, `StreamsProjector`. [Depends](https://www.fuget.org/packages/Propulsion) on `MathNet.Numerics`, `Serilog` - `Propulsion.Cosmos` [![NuGet](https://img.shields.io/nuget/v/Propulsion.Cosmos.svg)](https://www.nuget.org/packages/Propulsion.Cosmos/) Provides bindings to Azure CosmosDb a) writing to `Equinox.Cosmos` :- `CosmosSink` b) reading from CosmosDb's changefeed by wrapping the [`dotnet-changefeedprocessor` library](https://github.com/Azure/azure-documentdb-changefeedprocessor-dotnet) :- `CosmosSource`. [Depends](https://www.fuget.org/packages/Propulsion.Cosmos) on `Equinox.Cosmos`, `Microsoft.Azure.DocumentDB.ChangeFeedProcessor`, `Serilog` - `Propulsion.EventStore` [![NuGet](https://img.shields.io/nuget/v/Propulsion.EventStore.svg)](https://www.nuget.org/packages/Propulsion.EventStore/). Provides bindings to [EventStore](https://www.eventstore.org), writing via `Propulsion.EventStore.EventStoreSink` [Depends](https://www.fuget.org/packages/Propulsion.EventStore) on `Equinox.EventStore`, `Serilog` -- `Propulsion.Kafka` [![NuGet](https://img.shields.io/nuget/v/Propulsion.Kafka.svg)](https://www.nuget.org/packages/Propulsion.Kafka/) Provides bindings for producing and consuming both streamwise and in parallel. Includes a standard codec for use with streamwise projection and consumption, `Propulsion.Kafka.Codec.NewtonsoftJson.RenderedSpan`. [Depends](https://www.fuget.org/packages/Propulsion.Kafka) on `FsKafka` v ` = 1.4.2`, `Serilog` -- `Propulsion.Kafka0` [![NuGet](https://img.shields.io/nuget/v/Propulsion.Kafka0.svg)](https://www.nuget.org/packages/Propulsion.Kafka0/). Same functionality/purpose as `Propulsion.Kafka` but uses `FsKafka0` instead of `FsKafka` in order to target an older `Confluent.Kafka`/`librdkafka` version pairing for interoperability with systems that have a hard dependency on that. [Depends](https://www.fuget.org/packages/Propulsion.Kafka0) on `FsKafka0` v `1.4.2` (which depends on Confluent.Kafka [0.11.3]`, `librdkafka.redist [0.11.4]`), `Serilog` +- `Propulsion.Kafka` [![NuGet](https://img.shields.io/nuget/v/Propulsion.Kafka.svg)](https://www.nuget.org/packages/Propulsion.Kafka/) Provides bindings for producing and consuming both streamwise and in parallel. Includes a standard codec for use with streamwise projection and consumption, `Propulsion.Kafka.Codec.NewtonsoftJson.RenderedSpan`. [Depends](https://www.fuget.org/packages/Propulsion.Kafka) on `FsKafka` v `1.5.0-beta.2`, `Serilog` +- `Propulsion.Kafka0` [![NuGet](https://img.shields.io/nuget/v/Propulsion.Kafka0.svg)](https://www.nuget.org/packages/Propulsion.Kafka0/). Same functionality/purpose as `Propulsion.Kafka` but uses `FsKafka0` instead of `FsKafka` in order to target an older `Confluent.Kafka`/`librdkafka` version pairing for interoperability with systems that have a hard dependency on that. [Depends](https://www.fuget.org/packages/Propulsion.Kafka0) on `FsKafka0` v `1.5.0-beta.2` (which depends on Confluent.Kafka [0.11.3]`, `librdkafka.redist [0.11.4]`), `Serilog` The ubiquitous `Serilog` dependency is solely on the core module, not any sinks, i.e. you configure to emit to `NLog` etc. diff --git a/src/Propulsion.Kafka/Propulsion.Kafka.fsproj b/src/Propulsion.Kafka/Propulsion.Kafka.fsproj index afbbf73f..30b1ff8d 100644 --- a/src/Propulsion.Kafka/Propulsion.Kafka.fsproj +++ b/src/Propulsion.Kafka/Propulsion.Kafka.fsproj @@ -26,7 +26,7 @@ - + diff --git a/src/Propulsion.Kafka0/Binding.fs b/src/Propulsion.Kafka0/Binding.fs index d6329eb5..8939d678 100644 --- a/src/Propulsion.Kafka0/Binding.fs +++ b/src/Propulsion.Kafka0/Binding.fs @@ -6,9 +6,6 @@ open Serilog open System open System.Collections.Generic -type IConsumer<'K,'V> = Consumer<'K,'V> -type ConsumeResult<'K,'V> = Message<'K,'V> - module Binding = let mapConsumeResult (x : ConsumeResult) = KeyValuePair(x.Key,x.Value) let inline makeTopicPartition (topic : string) (partition : int) = TopicPartition(topic, partition) diff --git a/src/Propulsion.Kafka0/Propulsion.Kafka0.fsproj b/src/Propulsion.Kafka0/Propulsion.Kafka0.fsproj index 45338709..1465da54 100644 --- a/src/Propulsion.Kafka0/Propulsion.Kafka0.fsproj +++ b/src/Propulsion.Kafka0/Propulsion.Kafka0.fsproj @@ -28,7 +28,7 @@ - +