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 @@
-
+