Skip to content

Releases: npgsql/npgsql

Npgsql 2.1.1

21 Mar 01:38
Compare
Choose a tag to compare

This release contains a single last minute patch to fix HasRows property: Return true from NpgsqlDataReader.HasRows even after all rows have been read #181

If you aren't affected by this bug, you don't need to download this version again.

Npgsql 2.1.0

19 Mar 20:16
Compare
Choose a tag to compare

Summary:

This is a the final release of Npgsql 2.1.0

Thanks

Before talking about the changes in this release, I'd like to thank some people who did an incredible job and that without them this release wouldn't be possible!

Glen Parker has been working in the optimizations tasks since his first git commit. From the changelog you can see his tireless work regarding each part of Npgsql which could be optimized. Thank you very much for your contributions, Glen!

Shay Rojansky has been helping as the mastermind of the project restructuring support. He contributed a lot of changes which made our lives working with Npgsql much better. Thanks to him we can compile Npgsql for different .net platform versions easily. He also got TeamCity build server working as well as github integration. He helped us to get EntityFramework pre-6 and pos-6 verions easily integrated.
Thank you, Shay!

And Dave Page who helped us with the server where the TeamCity is installed. Without his help, I'm sure our TeamCity installation would be much more difficult. Thank you, Dave!

Major highlights

Version numbers

Starting with this release, we are going to number our versions based on the semver schema. (http://semver.org). We may not follow strictly everything though. This is a work in progress.

This version was supposed to be a continuation of the 2.0.13 series as we already have a 2.0.13 beta1 released. But we made so many changes since the 2.0.13 that we decided to jump the version number to 2.1.

Entity Framework

We added initial support for Entity Framework 6.0. We isolated the entity framework code in two other assemblies: Npgsql.LegacyEntityFramework.dll and Npgsql.EntityFramework.dll. The first one is for entity framework pre-6 version and the other one is for entity framework 6.0 and above. This was needed in order to facilitate the deployment and the code organization as the apis and namespaces change a lot depending on the entity framework version.

Support for 6.0 isn't yet complete and is to be considered optional at the moment. We will add better support in upcoming versions. We already have Support for EFMigration and Database creation (#91) and identity insert support (#160) which will be made available in future releases of Npgsql

Entity Framework configuration

App.config and Web.config configuration has been changed. It depends on the EF version you are using. More info about that can be found at:
http://fxjr.blogspot.com.br/2014/02/using-entity-framework-6-with-npgsql-210.html

SSLStream support

In this release, we added support to use SSLStream. But it isn't used by default. To keep backward compatibility, we still use by default Mono.Security for SSL connections. But this may change in the future. We ask that you test your application with SSLStream and check if you get any problems.
in order to use SSLStream, you have to ask Npgsql to use it by using the following line:

NpgsqlConnection.UseSslStream = true

This will make Npgsql use SSLStream for new ssl connections.
Please, give it a try and let us know if it works ok for you.

Project restructuring

Npgsql had its project layout restructured to easy management of different platforms Npgsql targets: .net 2.0, 3.5, 4.0, 4.5, entity framework prior 6.0, entity framework after 6.0. Huge structure changes to our testsuite. Before, our tests depended on an external script to setup database tables, now everything is done inside the tests setup. Thanks Shay Rojansky.

Fixed bugs:

[#176] 2.1 RC SSL and EF6 no work.
[#174] GetResultSchema When current description is null
[#164] Connection state throws error incorrectly
[#181] Return true from NpgsqlDataReader.HasRows even after all rows have been read

[#28] [#1011338] Error in insert statement with new E6 version. Thanks cody82.
[#27] Fixed connecting to Postgresql using client certificates. Check http://fxjr.blogspot.com.br/2013/07/sslstream-support-added-to-npgsql.html for more information. Thanks dreamlax
Added VS2012 project file. Thanks Glen Parker
[#35] Fixed array handling with prepared statements. Thanks Chen Huajun.
[#33] [#1011346] BUGFIX: Thread synchronization inside GetPooledConnector
[#57] Bytea handling optimizations. Thanks Rungee
[#59] Bytea decoder optimizations. Thanks Glen Parker
[#1000515] Prepare() makes command very slow. Thanks Glen Parker for optimizations.
[#61] Async notification optimizations and fixes. Glen Parker
[#63] [#1011334] NpgsqlConnection.GetSchema doesn't dispose connections
[#69] Fix extra-float-digits setup for postgresql below 9.0
[#92] Added InvariantCulture to NpgsqlCopySerializer. Thanks djsubzero
[#86] Rewrite query parameter substitution. Thanks Glen Parker
[#118] Detection of Parameter Direction in DeriveParameters method. Thanks Noé Garcia and Shay Rojansky
[#1011271] NpgsqlSchema: Use InvariantCulture on all return DataTables with schema data. Thanks Oskar Berggren for patch.
[#1011305] Scope without prepared transactions. Thanks Shay Rojansky for the patch.
[#1011310] Command timeouts after the first are not handled. Thanks Evan Martin for the patch.
[#1011316] ConnectionTimeout fix, bypass the 2147 seconds limit of Socket.Poll method. Thanks Tasos Mamaloukos for patch.
[#1011325] Escaped strings don't work with EF. Thanks Andrey Polyakov for patch and tests.
Implements DateTime canonical functions for EntityFramework. Thanks Andrey Polyakov for patch.
[#1011325] Escaped strings don't work with EF. Thanks Andrey Polyakov for patch and tests.
[#1011321] Wrong BitString value. Thanks Jon Hanna for patch and support.
[#1011326] Connection pooling timer (thus thread) is active even if connection pooling is disabled. Thanks Shay Rojansky for the patch.
[#1011001] Bug in NpgsqlConnectionStringBuilder affects on cache and connection pool. Thanks Shay Rojansky for the patch.
[#1011267] Monetary localization bug
[#1011085] Money format is not set in accordance with the system locale format

New features:

Add support for new error fields added in PostgreSQL 9.3. See here for more information about those fields: http://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=991f3e5ab3f8196d18d5b313c81a5f744f3baaea Thanks David Rowley for patch.

Initial support for Entity Framework 6. See http://fxjr.blogspot.com/2013/06/initial-ef-6-support-added-to-npgsql.html for more information about it.

[#30] Improved connection timeout handling. Thanks Glen Parker.

[#41], [#52], [#77], [#72], [#80] Huge internal query handling which added a big performance boost for prepared statements and unprepared statements as well. Binary parameter codec infrastructure has been added, and several data types (currently bytea, text, boolean, integers, and gloats) can now use PG's binary coded support, including arrays of those types, which offers a dramatic performance boost for parameter and result values in prepared statements. Previously we didn't recommend using prepared statements with Npgsql, only for bytea data types. Thanks to Glen Parker, this is now a thing of the past.

[#74] Use new "Discard all" syntax when releasing connection from pool. Thanks Chen Huajun.

New connection string parameter "AlwaysPrepare" to indicate to Npgsql to always prepare statements before executing.

[#110] Added support for Entity Framework before version 6.0 and after 6.0. They are totally different things regarding APIs and namespaces. Thanks Shay Rojansky and Kenji Uno.

Added nuget EFProvider installation. Thanks Shay Rojansky.

Added EF6 ConnectionFactory class. Thanks Shay Rojansky.

[#135] Fix for operators @@, @> and <@. Thanks Glen Parker and jjchiw.

[#117] Command timeout improvements. Thanks Glen Parker.

Npgsql 2.1.0 (release candidate #1)

09 Feb 18:16
Compare
Choose a tag to compare
Pre-release

Summary:

This is a bug fix release for 2.1.0-beta1, and the first 2.1 Release Candidate.

Fixed bugs:

#141 AlwaysPrepare does not works in some cases. Thanks @avb1987.
#153 Fixed wrong comma putting in AddFunctionColumnListSupport(). Thanks @tyler-nguyen.

Npgsql 2.1.0-beta1

26 Dec 21:53
Compare
Choose a tag to compare
Npgsql 2.1.0-beta1 Pre-release
Pre-release

Npgsql 2.1.0 (beta1)

Major highlights

Version numbers

Starting with this release, we are going to number our versions based on the semver schema. (http://semver.org). We may not follow strictly everything though. This is a work in progress.

This version was supposed to be a continuation of the 2.0.13 series as we already have a 2.0.13 beta1 released. But we made so many changes since the 2.0.13 that we decided to jump the version number to 2.1.

Entity Framework

We added initial support for Entity Framework 6.0. We isolated the entity framework code in two other assemblies: Npgsql.LegacyEntityFramework.dll and Npgsql.EntityFramework.dll. The first one is for entity framework pre-6 version and the other one is for entity framework 6.0 and above. This was needed in order to facilitate the deployment and the code organization as the apis and namespaces change a lot depending on the entity framework version.

Support for 6.0 isn't yet complete and is to be considered optional at the moment. We will add better support in upcoming versions.

Fixed bugs:

[#28] [#1011338] Error in insert statement with new E6 version. Thanks cody82.
[#27] Fixed connecting to Postgresql using client certificates. Check http://fxjr.blogspot.com.br/2013/07/sslstream-support-added-to-npgsql.html for more information. Thanks dreamlax
Added VS2012 project file. Thanks Glen Parker
[#35] Fixed array handling with prepared statements. Thanks Chen Huajun.
[#33] [#1011346] BUGFIX: Thread synchronization inside GetPooledConnector
[#57] Bytea handling optimizations. Thanks Rungee
[#59] Bytea decoder optimizations. Thanks Glen Parker
[#1000515] Prepare() makes command very slow. Thanks Glen Parker for optimizations.
[#61] Async notification optimizations and fixes. Glen Parker
[#63] [#1011334] NpgsqlConnection.GetSchema doesn't dispose connections
[#69] Fix extra-float-digits setup for postgresql below 9.0
[#92] Added InvariantCulture to NpgsqlCopySerializer. Thanks djsubzero
[#86] Rewrite query parameter substitution. Thanks Glen Parker
[#118] Detection of Parameter Direction in DeriveParameters method. Thanks Noé Garcia and Shay Rojansky
[#1011271] NpgsqlSchema: Use InvariantCulture on all return DataTables with schema data. Thanks Oskar Berggren for patch.
[#1011305] Scope without prepared transactions. Thanks Shay Rojansky for the patch.
[#1011310] Command timeouts after the first are not handled. Thanks Evan Martin for the patch.
[#1011316] ConnectionTimeout fix, bypass the 2147 seconds limit of Socket.Poll method. Thanks Tasos Mamaloukos for patch.
[#1011325] Escaped strings don't work with EF. Thanks Andrey Polyakov for patch and tests.
Implements DateTime canonical functions for EntityFramework. Thanks Andrey Polyakov for patch.
[#1011325] Escaped strings don't work with EF. Thanks Andrey Polyakov for patch and tests.
[#1011321] Wrong BitString value. Thanks Jon Hanna for patch and support.
[#1011326] Connection pooling timer (thus thread) is active even if connection pooling is disabled. Thanks Shay Rojansky for the patch.
[#1011001] Bug in NpgsqlConnectionStringBuilder affects on cache and connection pool. Thanks Shay Rojansky for the patch.
[#1011267] Monetary localization bug
[#1011085] Money format is not set in accordance with the system locale format

New features:

Add support for new error fields added in PostgreSQL 9.3. See here for more information about those fields: http://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=991f3e5ab3f8196d18d5b313c81a5f744f3baaea Thanks David Rowley for patch.

Initial support for Entity Framework 6. See http://fxjr.blogspot.com/2013/06/initial-ef-6-support-added-to-npgsql.html for more information about it.

[#30] Improved connection timeout handling. Thanks Glen Parker.

[#41], [#52], [#77], [#72], [#80] Huge internal query handling which added a big performance boost for prepared statements and unprepared statements as well. Binary parameter codec infrastructure has been added, and several data types (currently bytea, text, boolean, integers, and gloats) can now use PG's binary coded support, including arrays of those types, which offers a dramatic performance boost for parameter and result values in prepared statements. Previously we didn't recommend using prepared statements with Npgsql, only for bytea data types. Thanks to Glen Parker, this is now a thing of the past.

Huge directory and project structure. Npgsql had its project layout restructured to easy management of different platforms Npgsql targets: .net 2.0, 3.5, 4.0, 4.5, entity framework prior 6.0, entity framework after 6.0. Huge structure changes to our testsuite. Before, our tests depended on an external script to setup database tables, now everything is done inside the tests setup. Thanks Shay Rojansky.

[#74] Use new "Discard all" syntax when releasing connection from pool. Thanks Chen Huajun.

New connection string parameter "AlwaysPrepare" to indicate to Npgsql to always prepare statements before executing.

[#110] Added support for Entity Framework before version 6.0 and after 6.0. They are totally different things regarding APIs and namespaces. Thanks Shay Rojansky and Kenji Uno.

Added nuget EFProvider installation. Thanks Shay Rojansky.

Added EF6 ConnectionFactory class. Thanks Shay Rojansky.

[#135] Fix for operators @@, @> and <@. Thanks Glen Parker and jjchiw.

[#117] Command timeout improvements. Thanks Glen Parker.

Final considerations:

This release wouldn't be possible without the help of two members: Glen Parker and Shay Rojansky.

Glen Parker has been working in the optimizations tasks since his first git commit. He is an optimization machine! From the changelog you can see his tireless work regarding each part of Npgsql which could be optimized. Thank you very much for your contributions, Glen!

Shay Rojansky has been helping as the mastermind of the project restructuring support. He contributed a lot of changes which made our lives working with Npgsql much better. Thanks to him we can compile Npgsql for different .net platform versions easily. He also got TeamCity build server working as well as github integration. He helped us to get EntityFramework pre-6 and pos-6 verions easily integrated. Thank you, Shay!

I also would like to thank Dave Page who helped us with the server where the TeamCity is installed. Without his help, I'm sure our TeamCity installation would be much more difficult. Thank you, Dave!

Npgsql 2.0.14.3

22 Dec 17:42
Compare
Choose a tag to compare

Bugfix: Boolean constants converted to ETRUE and EFALSE instead of TRUE and FALSE.
Thanks sebastian.kotulla@gmail.com. Fix cherry-picked from Master.

Npgsql 2.0.14.2

16 Dec 16:03
Compare
Choose a tag to compare

This is a small bugfix release for 2.0.14 with fix for missing EF provider manifest.

Npgsql 2.0.14

10 Dec 12:47
Compare
Choose a tag to compare

This is a small bugfix release with fix for hangs which could happen when connecting to Postgresql 9.3.

This bug appeared when Postgresql sent an error message. Npgsql had a problem handling some error code fields and then hang while processing it. Whooops! :)

Thanks to Glen Parker, it is fixed on github https://github.com/glenebob/Npgsql2/commit/5800eec287fc72ee4d051750b05253aed8deb46e. If you are having hang problems while using Npgsql after upgrading the server to 9.3 version, this version is for you.

Npgsql 2.0.13-beta1

10 Dec 12:44
Compare
Choose a tag to compare
Npgsql 2.0.13-beta1 Pre-release
Pre-release

This is the 2.0.13-beta1 release