Releases: vapor/postgres-nio
PostgresNIO 1.18.1
PostgresNIO 1.18.0
🚀 This PostgresNIO release adds a number of changes that allow users to fully embrace structured concurrency:
- Prepared statement async/await support
- Notification listen async/await support
- Users don't need to provide EventLoops when creating a connection
🚨 This release changes the behavior of PostgresConnection.close()
. Before this release a call to close()
triggered a graceful shutdown of the connection. This means that all previously enqueued queries got executed before the connection was closed. Starting with 1.18.0
close()
leads to a direct connection closure cancelling the running and all queued queries. This change is necessary to get rid of connections to servers where the server stopped responding. The previous behavior can be achieved using the new closeGracefully()
function on PostgresConnection.
SemVer Minor
- Add async listen; Refactor all listen code (#264, #392)
- Add
PostgresDynamicTypeThrowingEncodable
andPostgresDynamicTypeEncodable
(#365, patch credit to @marius-se) - Use
EventLoop
provided by SwiftNIO'sMultiThreadedEventLoopGroup.singleton
(#389, patch credit to @tkrajacic) async
/await
prepared statement API (#390, patch credit to @mariosangiorgio)close()
closes immediately; Add newcloseGracefully()
(#383, #397, #400)
SemVer Patch
- Use variadic generics in Swift 5.9 (#341)
- Crash fix: Multiple bad messages could trigger reentrancy issue (#379)
- Move
PostgresFrontendMessage
to tests (#381, #395, #399) PostgresBackendMessage.ID
should be backed by UInt8 directly (#386)- Remove
PrepareStatementStateMachine
(#391) - Fix a few inaccurate or confusing precondition failure messages (#398)
Other Changes
PostgresNIO 1.17.0
SemVer Minor
- Ensure
PostgresConnection.Configuration.TLS
is concurrency safe by making propertydisable
computed (#376, patch credit to @sidepelican)
New Contributors
- @sidepelican made their first contribution in #376
PostgresNIO 1.16.0
Semver Minor
Full Changelog: 1.15.0...1.16.0
PostgresNIO 1.15.0
SemVer Minor
- Make PostgresCodable typealias public (#363)
- Add support for int4range, int8range, int4range[], int8range[] (#330 by @rausnitz)
SemVer Patch
Other Changes
- Various cleanups to CI (#359, #362, #369)
- Add
testSelectActiveConnection
test (#364) - Add Postgres 15 to docker compose (#366 by @marius-se)
New Contributors
- @marius-se made their first contribution in #366
Full Changelog: 1.14.2...1.15.0
PostgresNIO 1.14.2
Address CVE-2023-31136 - PostgresNIO processes unencrypted bytes from man-in-the-middle. See the CVE-2023-31136 security advisory for details.
Thanks to PostgreSQL's Tom Lane <[email protected]> for reporting this issue!
PostgresNIO 1.14.1
PostgresNIO 1.14.0
SemVer Minor
- Make
PostgresBindings.append(PostgresData)
public (#332) - Drop support for Swift 5.5 (#336)
- Mark
RowDescription.Column
(#338) - Make
PSQLError
public (#342) - Deprecating PostgresDataConvertible, PostgresMessageType (#313)
- Add support for UDS and existing Channels (#335)
SemVer Patch
- Require new swift-nio versions (#343)
Other changes
- Update CI in preparation for bumping to 5.6 min version (#337)
Full Changelog: 1.13.0...1.14.0
PostgresNIO 1.13.0
SemVer Minor
- Add new protocol
PostgresNonThrowingEncodable
(#322) PostgresQuery
andPostgresBindings
should be Sendable (#328)- Make
Decodable
autoconformance toPostgresDecodable
public (#331 by @jtouzy)
SemVer Patch
- Use NIOFoundationCompat for
UUID
<->ByteBuffer
(#319) PostgresCodable
should be atypealias
(#321)- Fix en- and decoding of NULL values in arrays (#324 by @ehpi)
Other Changes
New Contributors
Full Changelog: 1.12.1...1.13.0