Npgsql v5.0.0 Release Notes
Release Date: 2020-11-15 // almost 4 years ago-
๐ See the release notes.
The full list of changes is available here.
Previous changes from v5.0.0-preview1
-
๐ The preview version contains the following fixes and improvements:
- Timeouts not fully applied when opening connections (#3227)
- Connection state is incorrect after double close (#3209)
- โ Remove the
Npgsql.RawPostgis
plugin (#3201) - โ Mock PostgreSQL for better testing (#3193)
Debug.Assert
failure inNpgsql.NpgsqlReadBuffer.ReadAsync()
(#3192)- Target
netcoreapp3.1
instead ofnetcoreapp3.0
(#3160) - ๐ Handle timeouts for
NpgsqlConnector.DoWaitAsync()
(#3140) - ๐ Make an exception for a timeout of a sync query the same way as for an async one (#3132)
- Annotate for nullability matching
System.Data
(#3120) - โ Add tests to check that some column schema data isn't available without KeyInfo (#3073)
ColumnAttributeNumber
ofNpgsqlDbColumn
doesn't represent the actual attnum (#3068)- Override
SqlState
andIsTransient
fromDbException
(#3058) ColumnName
shouldn't be null in reader schema (#3044)- Missing
NoResetOnClose
behavior in dev (#3030) - ๐ Rewrite pool without lock-free primitives (#3024)
- Introduce async schema APIs on connection and reader (#2976)
- Schema returns only indexes visible according to the current search path (#2958)
- Provide async version of
NpgsqlCommand.Unprepare
(#2943) - ๐ Support Unix-domain sockets on Windows builds โฅ 17093 (#2942)
- ๐ Allow setting runtime configuration parameters in the connection string and via an environment variable (#2938)
- โฌ๏ธ Drop support for non-standard-conforming strings (#2931)
- StatementType is always Select when specifying SchemaOnly (#2873)
- ๐ Make
NpgsqlOperationInProgressException
inherit fromNpgsqlException
(#2864) - โฑ Socket async cancellation and timeout during connection (#2860)
- โ Remove .NET Framework performance counters (#2851)
- ๐ Make it easier to specify root CA, private key, certificate (#2834)
- In type loading, arrays of table composites being loaded although they shouldn't be (#2815)
- Array values aren't logged (#2793)
- Map
ImmutableDictionary<string, string?>
to store (#2775) - ๐ Fixes to NpgsqlConnection.DataSource (#2763)
- Setting to
null
should set to empty string:NpgsqlCommand.CommandText
andNpgsqlParameter.SourceColumn
(#2761) - ๐ Allow any type to be read as binary (#2756)
- Return PG arrays over non-null domains as non-nullable C# arrays (#2720)
- PGPASS should be checked after all other methods (#2695)
- Throw if the connection string specified PGPASS file doesn't exist (#2694)
- ๐ป
NpgsqlDataReader
exception in ExecuteScalar is hidden by exception in Dispose (#2621) - Proposal: change main development branch from dev to main (#2548)
- Implement new
jsonpath
datatype (#2504) GetFieldValue()
should work withStream
/TextReader
(#2446)- Implement async cancellation (#2437)
- ๐ Support range with more than one CLR type (#2436)
- โฌ๏ธ Drop unmapped composite support (#2403)
- โ Add support for
Span<byte>
overloads in binary streams (#2393) - Drop support of deprecated
ssl_renegotiation_limit
(#2388) - Manage oversize buffers with
ArrayPool
(#2326) - ๐ป Executing a command with empty 'CommandText' should raise an exception (#2323)
- ๐ฒ Npgsql logging doesn't log queries duration time (#2282)
- The number of affected rows is not captured/exposed when a
COPY
completes inNpgsqlBinaryImporter
(#2112) - Implement multiplexing (#1982)
- ๐ Portable support for TCP keepalive (#1936)
- Implement PostgreSQL 11 SCRAM channel binding (#1922)
- Legacy PG type names are returned from
GetSchema
(#1886) - Option to close physical connections past a certain age (#1810)
- โฑ Trigger backend cancellation when a (frontend) timeout occurs (#1567)
- Frontend timeouts for async methods (#607)
- ๐ Support for nullable arrays (#443)
- โฌ Decreased memory usage in name translator (#2697)
- ๐ Fix corner case bug in
ArrayHandler.ReadList<TRequestedElement>()
(#2745) - Get PG long version and detect CockroachDB (#2947)
- ๐ Fixed pruning of connections and idlecount in
ConnectorPool
is now kept in sync with correct amount (#3114)\ - โ Added heuristic to detect aliased columns (#3021)