diff --git a/conceptual/Npgsql/release-notes/10.0.md b/conceptual/Npgsql/release-notes/10.0.md index f9891b6b..11903b8b 100644 --- a/conceptual/Npgsql/release-notes/10.0.md +++ b/conceptual/Npgsql/release-notes/10.0.md @@ -62,6 +62,13 @@ Thanks to [@kirkbrauer](https://github.com/kirkbrauer) for contributing this fea * The built-in geometry types (e.g. `NpgsqlBox`) can now be deconstructed. Thanks [@ddas09](https://github.com/ddas09) for contributing! * The new `IDbTypeResolver` now allows remapping DbType values to arbitrary PostgreSQL types. +## Replication fixes in 10.0.4 + +Npgsql 10.0.4 fixes how the replication APIs send names and option values. This changes behavior that existing code may depend on: + +* Npgsql now quotes slot and output plugin names, and escapes quotes in option names, option values and publication names, so all valid names work (e.g. slot names starting with a digit) and no name can change the replication command. Slot and plugin names are still folded to lower case, as before. If you escaped quotes in option values or publication names yourself, stop doing so. +* The low-level `StartLogicalReplication()` now throws `ArgumentException` if pgoutput's `proto_version` or `publication_names` option is given without a value, which crashes the walsender and with it every other session of the server (PostgreSQL bug #19795). + ## Breaking changes ### .NET 6 is no longer supported