SCM

File Release Notes and Changelog

Release Name: Npgsql 2.1.0

Release Notes

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 (https://github.com/npgsql/Npgsql/pull/91) and identity insert support  
(https://github.com/npgsql/Npgsql/pull/160) which will be made available in future releases of Npgsql

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



[#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
[#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:
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.
Powered By FusionForge