npgsql

Npgsql is the .NET data provider for PostgreSQL.

POSTGRESQL License

Stars
3.3K
Committers
209

Bot releases are visible (Hide)

npgsql - Npgsql 3.1.0-beta1

Published by roji over 8 years ago

The first beta version of Npgsql 3.1.0 is out and available on nuget.org.

This version represents 9 months of work since the release of 3.0.0, and is a significant release touching many areas of Npgsql. It includes some breakage documented in the migration notes and should be tested carefully.

Please try it out and let you know how it works for you! Release highlights are below, the documentation isn't yet up to date on everything.

  • CoreCLR support (netstandard13). Some known issues will be fixed for 3.1.0 but things should already work pretty well.
  • Fixed multi-statement commands issues (#641). You can now send commands with statements that depend on each other, such as "CREATE TABLE X ...; INSERT INTO X..."
  • The connection pool has been rewritten from scratch and many previous performance issues should be gone (#726).
  • NpgsqlConnection's OpenAsync() is now truly async, (#379). and Open() is now fully sync (#709).
  • Native binary support for PostGIS 2D types, thanks @rossini-t (#665).
  • Composite type support (document)
  • Exception behavior has been improved and made more compatible with other ADO.NET providers. It's now easier to catch exceptions Npgsql throws (#897).
  • When mapping enum or composite types, you can now control how field names are mapped to PostgreSQL names (#859).
  • Continued efforts from 3.0 to reduce heap allocations - Npgsql 3.1 should place even less pressure on the garbage collector.

The complete list of issues is here.

npgsql - Npgsql 3.0.7

Published by roji over 8 years ago

Npgsql 3.0.7 is out and available at nuget.org.

This release undoes change #946, which made it illegal to start parameter names with digits. While this fixed an SQL parsing issue, it causes too much breakage for ORMs and existing code which uses parameter names such as @1. An alternative fix, #1056, has been applied instead in 3.0.7 - you can use parameter names with digits as before.

(May 6) Setup_NpgsqlDdexProvider.exe added.

npgsql - Npgsql 3.0.6

Published by roji over 8 years ago

Npgsql 3.0.6 is out and available at nuget.org.

This release fixes numerous bugs, including one that could cause pooled connections to "leak" under certain load conditions (#1019). Thanks to @shortspider for raising and fixing the issue.

An additional issue related to Npgsql's internal query parser was fixed (#946). Note that as a result, parameter names can no longer start with a digit - this could cause breakage if you were using parameter names such as :1.

Is is strongly recommended that everyone upgrade. The full list of changes is available here.

(May 6) Setup_NpgsqlDdexProvider.exe added.

npgsql - Npgsql 3.0.5

Published by roji almost 9 years ago

Npgsql 3.0.5 is out and available at nuget.org.

This release that could affect users setting MinPoolSize > 1. See issue #918.

Also, when closing a pooled connection that had an active transaction, that transaction would not be rolled back immediately. This could cause issues and has been fixed - transactions are rolled back immediately upon close. See issue #927.

Note that NpgsqlConnection's DataSource property now returns a URL (e.g. tcp://localhost:5432). Code that relied on the contents of DataSource is probably now broken. See issue #903.

Npgsql 2.2 had a Windows installer that would set up Npgsql in the GAC and update your machine.config file - this installer has been revived and will now be released with 3.x version (check our releases tab on Github. Note that in most use cases, Npgsql should not be installed into the GAC - use Nuget instead. See the installation page for more details.

Is is strongly recommended that everyone upgrade. The full list of changes is available here.

Happy new year 2016!

(Jan 9) Setup_NpgsqlDdexProvider.exe added.
(Apr 8) Npgsql-3.0.5_20160408.msi added. Fix #963

npgsql - Npgsql 3.0.4

Published by roji almost 9 years ago

Npgsql 3.0.4 is out and available at nuget.org.

This release fixes some important bugs reported since 3.0.3 came out.

In addition, a new SQL Logging feature has been implemented, feel free to read the documentation.

Is is recommended that everyone upgrade.

The full list of changes is available here.

(Dec 30) Setup_NpgsqlDdexProvider.exe added.

npgsql - Npgsql 3.0.3

Published by roji about 9 years ago

Npgsql 3.0.3 is out and available at nuget.org.

This release fixes some important bugs reported since 3.0.2 came out. Is is recommended that everyone upgrade.

The full list of changes is available here.

npgsql - Npgsql 2.2.7

Published by roji about 9 years ago

Npgsql 2.2.7 is out and available at nuget.org.

This is a maintenance release for the 2.x branch which fixes a bug when creating a database with Entity Framework 6. Note that this bug has already been fixed in the 3.x branch.

The 2.x is considered obsolete and will only be maintained to fix critical bugs. You are encouraged to (cautiously!) upgrade to 3.x as soon as possible.

(Dec 30) Setup_Npgsql-2.2.7.0-net40.exe and Setup_Npgsql-2.2.7.0-net45.exe added.

npgsql - Npgsql 3.0.2

Published by roji about 9 years ago

Npgsql 3.0.2 is out and available at nuget.org.

This release fixes some important bugs reported since 3.0.1 came out, and resolves some compatibility issues with Npgsql 2.x. Is is recommended that everyone upgrade.

The full list of changes is available here.

npgsql - Npgsql 2.2.6

Published by roji about 9 years ago

Npgsql 2.2.6 is out and available at nuget.org.

This is a maintenance release for the 2.x branch which fixes some bugs, including a potential SQL injection issue when using citext or other exotic types (see #734). Note that this bug doesn't affect the 3.x branch and there's no need to upgrade.

The 2.x is considered obsolete and will only be maintained to fix critical bugs. You are encouraged to (cautiously!) upgrade to 3.x as soon as possible.

The full list of changes is available here.

npgsql - Npgsql 3.0.1

Published by roji about 9 years ago

Npgsql 3.0.1 is out and available at nuget.org.

This release fixes some bugs reported since 3.0.0 came out, and adds some trivial missing features. Is is recommended that everyone upgrade.

The full list of changes is available here.

npgsql - Npgsql 3.0.0

Published by roji about 9 years ago

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 - Npgsql 2.2.5 Bugfix Release

Published by roji over 9 years ago

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 - Npgsql 2.2.4.3 Bugfix Release

Published by franciscojunior over 9 years ago

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 - Npgsql 2.2.4.1 Bugfix Release

Published by roji over 9 years ago

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 - Npgsql 2.2.3 Bugfix Release

Published by roji almost 10 years ago

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 - Npgsql 2.2.2 Bugfix Release

Published by roji almost 10 years ago

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 - Npgsql 2.2.1 Bugfix Release

Published by roji about 10 years ago

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 - Npgsql 2.2.0 Final Release

Published by franciscojunior about 10 years ago

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 - Npgsql 2.2.0-rc2

Published by franciscojunior about 10 years ago

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 - Npgsql 2.2.0-rc1

Published by franciscojunior about 10 years ago

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: https://github.com/npgsql/Npgsql/compare/v2.2.0-beta1...release-2.2.0

Badges
Extracted from project README
stable next patch daily builds (vnext) build gitter
Related Projects