[Mono-list] Npgsql 2.1.0-rc1 released!

Francisco Figueiredo Jr. francisco at npgsql.org
Tue Feb 25 18:23:16 UTC 2014

Hi all!

Npgsql development team is proud to announce that Npgsql 2.1.0 Release
Candidate (RC) 1 is out!

You can download it from the following locations:

https://www.nuget.org/packages/Npgsql.EntityFramework/2.1.0-rc1 - EF6 support
- EF 4.x support



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
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
[#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
[#141] AlwaysPrepare does not works in some cases. Thanks @avb1987.
[#153] Fixed wrong comma putting in AddFunctionColumnListSupport().
Thanks @tyler-nguyen.

New features:

Add support for new error fields added in PostgreSQL 9.3. See here for
more information about those fields:
Thanks David Rowley for patch.

Initial support for Entity Framework 6. See
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. 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!


Francisco Figueiredo Jr.
Npgsql Lead Developer

More information about the Mono-list mailing list