Npgsql 3.1.0 has been released and is available on nuget.org.
This version represents 9 months of work since the release of 3.0.0, and is a significant release
touching many areas of Npgsql. This version hasn’t received an extensive beta testing period and
should be used with care, it’s recommended to wait for 3.1.1 for critical applications.
It includes some breakage documented in the migration notes.
In addition, with Microsoft’s release of rc2 Npgsql’s Entity Framework Core has been released as well -
look for Npgsql.EntityFrameworkCore.PostgreSQL 1.0.0-rc2-release1 on nuget.org. For more details see
Npgsql release highlights are below, the documentation isn’t yet up to date on everything.
Please try both Npgsql and the EFCore provider and let you know how they works for you!
- CoreCLR support (rc2, netstandard13).
Some known issues will be fixed for 3.1.0 but things should already work pretty well.
- Fixed multi-statement commands issues (#641).
You can now send commands with statements that depend on each other, such as “CREATE TABLE X …; INSERT INTO X…”
- The connection pool has been rewritten from scratch and many previous performance issues should be gone
- NpgsqlConnection’s OpenAsync() is now truly async, (#379).
and Open() is now fully sync (#709).
- Native binary support for PostGIS 2D types, thanks @rossini-t (#665).
- Composite type support (#441), see
the PostgreSQL docs and the
the Npgsql docs.
- Exception behavior has been improved and made more compatible with other ADO.NET providers. It’s now easier to
catch exceptions Npgsql throws (#897).
- When mapping enum or composite types, you can now control how field names are mapped to PostgreSQL names
- Continued efforts from 3.0 to reduce heap allocations - Npgsql 3.1 should place even less pressure on the garbage collector.
The complete list of issues is here.
Note that the Entity Framework 6/5 providers, the GAC installer and the DDEX provider will be released later.