Skip to content

Releases: vapor/postgres-nio

PostgresNIO 1.18.1

29 Aug 16:13
abca6b3
Compare
Choose a tag to compare

PostgresNIO 1.18.0 introduced an issue that could lead to Segmentation faults when using the Swift 5.8 compiler. This patch works around the underlying Swift compiler bug.

SemVer Patch

  • Fix Segmentation faults in Swift 5.8 (#406)

Other Changes

  • Improve the logo image used by the DocC catalog (#404)

PostgresNIO 1.18.0

28 Aug 08:37
0d9f13b
Compare
Choose a tag to compare

🚀 This PostgresNIO release adds a number of changes that allow users to fully embrace structured concurrency:

  1. Prepared statement async/await support
  2. Notification listen async/await support
  3. 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 and PostgresDynamicTypeEncodable (#365, patch credit to @marius-se)
  • Use EventLoop provided by SwiftNIO's MultiThreadedEventLoopGroup.singleton (#389, patch credit to @tkrajacic)
  • async/await prepared statement API (#390, patch credit to @mariosangiorgio)
  • close() closes immediately; Add new closeGracefully() (#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

  • Fix multiple warnings generated by the documentation build (#378)
  • Typo: Storiage -> Storage (#387)
  • Use README header image compatible with light/dark mode (#393)

PostgresNIO 1.17.0

20 Jul 08:33
aa9273c
Compare
Choose a tag to compare

SemVer Minor

  • Ensure PostgresConnection.Configuration.TLS is concurrency safe by making property disable computed (#376, patch credit to @sidepelican)

New Contributors

PostgresNIO 1.16.0

09 Jun 13:16
061a083
Compare
Choose a tag to compare

Semver Minor

  • Add many, many missing types to PostgresDataType (#371)
  • Add PSQLError debugDescription (#372)

Full Changelog: 1.15.0...1.16.0

PostgresNIO 1.15.0

02 Jun 13:51
f877092
Compare
Choose a tag to compare

SemVer Minor

  • Make PostgresCodable typealias public (#363)
  • Add support for int4range, int8range, int4range[], int8range[] (#330 by @rausnitz)

SemVer Patch

  • Decode .bpchar as String (#368)
  • Rename generic type from B to Bound in PostgresRange (#367)

Other Changes

New Contributors

Full Changelog: 1.14.2...1.15.0

PostgresNIO 1.14.2

04 May 17:24
2df54bc
Compare
Choose a tag to compare

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

03 May 07:44
dbf9c2e
Compare
Choose a tag to compare

SemVer Patch

  • Use #fileID and #filePath instead of #file (#348, #355)
  • Fix crash in row streams that are cancelled and timeout (#347, #351, #353)
  • Add PostgresRow decoding tests, reformat Package.swift (#346)

Other Changes

Full Changelog: 1.14.0...1.14.1

PostgresNIO 1.14.0

20 Apr 12:12
98b8e1b
Compare
Choose a tag to compare

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

13 Mar 16:39
5d93f3e
Compare
Choose a tag to compare

SemVer Minor

  • Add new protocol PostgresNonThrowingEncodable (#322)
  • PostgresQuery and PostgresBindings should be Sendable (#328)
  • Make Decodable autoconformance to PostgresDecodable public (#331 by @jtouzy)

SemVer Patch

  • Use NIOFoundationCompat for UUID <-> ByteBuffer (#319)
  • PostgresCodable should be a typealias (#321)
  • Fix en- and decoding of NULL values in arrays (#324 by @ehpi)

Other Changes

  • Update SPI info to point to our hosted docs (#325)
  • Update API Docs Workflow (#329)

New Contributors

Full Changelog: 1.12.1...1.13.0

PostgresNIO 1.12.1

26 Oct 15:57
7daf026
Compare
Choose a tag to compare

SemVer Patch

  • Use NIOThrowingAsyncSequenceProducer (#316, #317)

Other Changes

  • Link to swiftpackageindex for documentation (#308)
  • CI update for PostgreSQL 15 (#318)

Full Changelog: 1.12.0...1.12.1