- Allow the use of Npgsql 8 and 9
- Drop Npgsql 6 support
- Remove Ply dependency
- Remove synchronous and
async
commands - only tasks are supported - Remove the
ReuseProvidedTypes
static parameter - all provided record types are reused from now on - Fix a potential
InvalidCastException
in a multi-statement command in combination withSingleRow = true
- Make
BinaryImport
returnTask<uint64>
instead ofuint64
, and requireCancellationToken
CreateCommand
now requiresNpgsqlDataSource
instead of a connection string- Read about
NpgsqlDataSource
here
- Read about
- Run-time optimizations
- Use background tasks
- Refactor internal locking and caching
- Remove allocations connected to command parameters
- Remove code verifying that result sets returned at run time match the design-time schema
- Allow the use of Npgsql 7
- Require Npgsql 6 and use the new raw mode when a command consists of a single statement
- Rows for
ResultType.Record
are now erased to a tuple instead ofobj[]
. This results in faster property access and makes it possible to read value types from Npgsql with fewer allocations. - Users of PostGIS are now required to set up a global type mapper for NetTopologySuite in their startup code.
open type Npgsql.NpgsqlNetTopologySuiteExtensions Npgsql.NpgsqlConnection.GlobalTypeMapper.UseNetTopologySuite () |> ignore
- Minor performance optimizations
- Fixed SingleRow for multiple result sets