Releases: npgsql/npgsql
Npgsql 3.0.0
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
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
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
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
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
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
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
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
Npgsql 2.2.0-rc1
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