Skip to content

Releases: npgsql/npgsql

Npgsql 3.0.0

10 Aug 15:57
Compare
Choose a tag to compare

Npgsql 3.0.0 is out and available at nuget.org.

Npgsql 3.0.0 is a near-total rewrite, and represents over a year's effort.

  • Switch to 100% binary communication with PostgreSQL #447. This has the following advantages:
    • Significant speed increase for some types
    • Improves general stability and removed dependency user-defined parameters such as
      DateStyle, extra_float_digits, lc_monetary etc. (see #514, #324, #163, etc.)
    • More consistent behavior between simple and prepared statements
    • Simplified codebase (we previously supported both text and binary codecs for most types)
  • True async support for NpgsqlReader for better scalability. This implements the new .NET 4.5 ADO.NET async methods, except for the async connection methods (these are a major goal for 3.1, see #379.
  • Reworked type handing that greatly reduces memory churn. Except your application to allocate and release much less memory than before.
  • New high-performance import/export API that exposes PostgreSQL COPY. See the docs for more details.
  • Much better support for PostgreSQL asynchronous operations, such as LISTEN/NOTIFY. See the docs for more details.

There are many other changes, see here to get an idea.

Note that Npgsql 3.0 is not a simple drop-in replacement for 2.2: there are some breaking changes involved.
Please consult the migration guide and test extensively before deploying to production.

Major goals for Npgsql 3.1 includes:

  • Complete async support for connections (#379)
  • Fully implement the Entity Framework 7 provider (already in progress, #249)
  • Support .NET Core (#471)
  • Full, native PostGIS support (#529)

Please try it out and let us know immediately of any issues!

Npgsql 2.2.5 Bugfix Release

11 Mar 13:13
Compare
Choose a tag to compare

Npgsql 2.2.5 has just been released and is available via nuget.

This is an important bugfix release, everyone should upgrade. Particularly important is a leak due to an EntityFramework issue (#505), thanks @havard.

This release also includes several changes to make Npgsql work well with Amazon Redshift. Support isn't perfect yet but should be considerably better than before, please report any further issues.

The full list of fixes can be found here.

Note: 2.2.5.0-r2 setups use Npgsql DLL files from official release. 2.2.5.0 doesn't.
Note: 2.2.5.0-r3 setups register Mono.Security.dll to GAC correctly. 2.2.5.0-r2 doesn't.

Npgsql 2.2.4.3 Bugfix Release

13 Feb 22:54
Compare
Choose a tag to compare

This is the same as 2.2.4.1. The only change is the assembly versions which were updated to 2.2.4.3. Previously they had the value of 2.2.4 only.

If 2.2.4.1 is working ok for you, you don't need to install these. Except if you are having problems with EntityFramework wizard as reported here #479 . In this case, get the Setup installer and follow the instructions in the issue.

Npgsql 2.2.4.1 Bugfix Release

03 Feb 13:42
Compare
Choose a tag to compare

Npgsql 2.2.4.1 has just been released and is available via nuget.

This is a small bugfix-only release which corrects an important Entity Framework issue (#461).

Npgsql 2.2.3 Bugfix Release

26 Nov 15:10
Compare
Choose a tag to compare

Npgsql 2.2.3 has just been released and is available via nuget.

This is a bugfix-only release which corrects a critical memory leak issue in 2.2.2. Users of 2.2.2 should upgrade to 2.2.3 immediately. See the fix list here.

Npgsql 2.2.2 Bugfix Release

01 Nov 16:10
Compare
Choose a tag to compare

Npgsql 2.2.2 has just been released and is available via nuget.

This is a bugfix-only release which corrects some issues found since 2.2.1.

Npgsql 2.2.1 Bugfix Release

24 Sep 09:52
Compare
Choose a tag to compare

Npgsql 2.2.1 has just been released and is available via nuget.

This is a bugfix-only release which corrects some issues found since 2.2.0.

Npgsql 2.2.0 Final Release

01 Sep 18:34
Compare
Choose a tag to compare

This is Npgsql 2.2.0 Final Release

UPDATE (2014-09-06): Kenji Uno made an installer available which helps users to setup Npgsql to work with VS.Net Database Designer as well as EntityFramework. You can find more information about this installer here. You can find the installer in the downloads section.

This release contains 249 commits since the last stable release. Includes bug fixes, improvements and new features.

Update notice: If you have been using Npgsql 2.2.0-rc2, you don't need to update to this version. They are the same except for the Assembly version information.

Major highlights

Visual Studio DDEX support

Kenji Uno added support for DDEX. Now you can use Npgsql with Visual Studio data designer. This is a missing feature a lot of our users requested in the past. Kenji added a tutorial about how to use Npgsql with DDEX. You can find it here: https://github.com/npgsql/Npgsql/wiki/Visual-Studio-Design-Time-Support---DDEX-Provider#install-npgsqlddexprovidervsix

Entity Framework

David Karlaš added support for EFMigration and Database creation in EF6+.
Now it is possible to start Code First projects without needing to create a database upfront. EntityFramework and Npgsql will take care of it.
Emil Lenngren added support for a lot of missing features of EntityFramework.

A list containing fixes from David and Emil as well as others for EntityFramework can be seen here: https://github.com/npgsql/Npgsql/issues?direction=desc&labels=entity+framework&milestone=2&page=1&sort=created&state=closed

SSLStream support

In this release, SSLStream is on by default.
If you want to use Mono.Security, you will need to use the following line in your code:

NpgsqlConnection.UseSslStream = false;

Note that in future releases, this option may not be available anymore as we are removing the dependency on Mono.Security assembly. Let us know in the forums if you have any problem with ssl when using SSLStream. This will help us check if we will be able to remove Mono.Security assembly.

Added support for JSON, JSONB and HSTORE datatypes

Shay added support for those datatypes.

Added GSSAPI support on Windows

Brian Crowell added support for GSSAPI on windows. Now it is easier to use Active Directory when authenticating users.

Removed support for protocol v2

Postgresql versions which use only protocol 2 are very old and don't receive support from postgresql group anymore. By removing support for protocol version 2, we removed a lot of code and can focus on functionalities provided by protocol 3.

Removed support for Postgresql 8.4 and below

In this thread, we talked about making Npgsql support the officially supported postgresql versions. we talked about making Npgsql support the officially supported postgresql versions. Postgresql has a table of officially supported versions and we decided to follow this table to guide us which postgresql version we will have support to.

This doesn't necessarily mean that Npgsql won't work on unsupported versions. It may work if we don't add any SQL or unsupported feature. For example, today Npgsql 2.2 works only on Postgresql 8.2 and above because we added server side support for command timeout handling and some other queries which aren't supported on earlier versions.

If you are using earlier postgresql versions, please, use an older version of Npgsql. We are creating a compatibility table to show which Postgresql version Npgsql works with.

Fixed bugs:

[#91] Support for EFMigration and Database creation
[#152] NpgsqlInterval different constructors different ToString
[#158] NpgsqlCommand.Dispose() should execute "DEALLOCATE " for a prepared command
[#177] XML data type doesn't seem to be quoting parameters properly on insert
[#179] NpgsqlCommandBuilder automatic sql commands configuration
[#188] Buffer too small problem in NpgsqlCopySerializer
[#201] Dynamic type parameters: Cannot cast System.Int32 into any valid DbType after upgrading from 2.0.14.3 to 2.1.2.0
[#208] ObjectDisposeException
[#217] Impossible to insert a Double.NaN value
[#219] [#1011005] using 2 NpgsqlCopyIn at the same time
[#223] HasRows property's bug
[#231] NpgsqlParameterCollection.Clear() doesn't reset NpgsqlParameter.Collection
[#225] Handle IEnumerable parameter
[#233] Cannot insert to tables which have only one column
[#246] Take followed by Skip is generated incorrectly in Entity Framework
[#262] FirstOrDefault() on navigation property subquery throws “Not Implemented” Exception
[#264] Mono.Security is outdated
[#269] Fix 's' value mapped to the 'a' byte
[#280] Bad SQL produced when selecting a field that was also used in the orderBy of a let subquery
[#287] Fix operator handling and date functions for EF
[#296] parameter parsing fails (regression) and duplicate [#240] NpgSqlCommand does not substitute parameters when there is a string with escaped apostrophe
[#315] Fix query parameter processing to more correctly match PostgreSQL's lexer

A list of the issues and pull requests merged for this release can be found at github here: https://github.com/npgsql/Npgsql/issues?direction=desc&milestone=2&page=1&sort=created&state=closed

Known Issues

There are some issues we are working for the next maintenance release 2.2.1. You can check which issues we are working on here: https://github.com/npgsql/Npgsql/issues?q=milestone%3A2.2.1

Thanks

I'd like to give a special thanks to Kenji Uno for his excellent work with Npgsql DDEX support. DDEX support was one of the biggest missing features of Npgsql.

I'd like to thank Emil Lenngren for all his work with Entity Framework improvements and insightful comments, David Karlaš for his help with Entity Framework support. Shay Rojansky, Glen Parker and Josh Cooley for all contributions and comments, and a big thanks to all the other contributors who helped us to make this release.

List of contributors for this release

Kenji Uno
Shay Rojansky
Glen Parker
Emil Lenngren
David Karlaš
Brian Crowell
danzel
Tuan Nguyen
windcloud
asgeirh
Frans Bouma
Jaspalsinh Chauhan
Josh Cooley
Martin Willey
Francisco Figueiredo Jr.
shankbond
Javier Torres
Kevin Pullin
Michael de Lang
Oskar Gewalli
Sunny Ahuwanya
Thomas Radioyes
javitonino
mw
samy

Npgsql 2.2.0-rc2

17 Aug 03:34
Compare
Choose a tag to compare
Npgsql 2.2.0-rc2 Pre-release
Pre-release

This is the second release candidate (RC) of Npgsql 2.2

This release contains 9 commits since the last release. Includes the following bug fixes:

[#233] Cannot insert to tables which have only one column
[#315] Fix query parameter processing to more correctly match PostgreSQL's lexer

Npgsql 2.2.0-rc1

05 Aug 17:29
Compare
Choose a tag to compare
Npgsql 2.2.0-rc1 Pre-release
Pre-release

This is the first release candidate (RC) of Npgsql 2.2

This release contains 22 commits since the last release. Includes the following bug fixes:

[#217] Impossible to insert a Double.NaN value
[#179] NpgsqlCommandBuilder automatic sql commands configuration
[#158] NpgsqlCommand.Dispose() should execute "DEALLOCATE " for a prepared command
[#264] Mono.Security is outdated
[#296] parameter parsing fails (regression) and duplicate [#240] NpgSqlCommand does not substitute parameters when there is a string with escaped apostrophe

A complete list of commits for this release can be found here: v2.2.0-beta1...release-2.2.0