đ Non-blocking, event-driven Swift client for PostgreSQL.
Use logging metadata when logging queries by @gwynne in #266
When a query is executed, the actual SQL query and its accompanying array of bound parameters (if any) are now logged as structured metadata on the logger using a generic message, rather than the query and bindings being the message. This follows the recommended guidelines for logging in libraries. Credit goes to @MahdiBM for the original suggestion.
Before:
2024-05-29T00:00:00Z debug codes.vapor.fluent : database-id=psql [PostgresKit] SELECT * FROM foo WHERE a=$1 [["bar"]]
After:
2024-05-29T00:00:00Z debug codes.vapor.fluent : database-id=psql sql=SELECT * FROM foo WHERE a=$1 binds=["bar"] [PostgresKit] Executing query
Full Changelog: https://github.com/vapor/postgres-kit/compare/2.13.4...2.13.5
Update required versions of dependencies by @gwynne in #265
Also removes the now unneeded dependency on SwiftAtomics.
Full Changelog: https://github.com/vapor/postgres-kit/compare/2.13.3...2.13.4
Override SQLDataType.blob to BYTEA for SQLKit users by @gwynne in #264
Fluent already does this for users of FluentPostgresDriver, this just adds the same behavior to the equivalent data type at the SQLKit layer.
Full Changelog: https://github.com/vapor/postgres-kit/compare/2.13.2...2.13.3
Fix package manifest by @gwynne in #262
The
Package.swift
for PostgresKit incorrectly specified theExistentialAny
feature with Swift 5.8. Add a 5.9 manifest to specify it for 5.9 and later.
Full Changelog: https://github.com/vapor/postgres-kit/compare/2.13.1...2.13.2
Add missing Sendable annotations by @gwynne in #260
Adds two
Sendable
annotations that were missed in the previous update.
Full Changelog: https://github.com/vapor/postgres-kit/compare/2.13.0...2.13.1
Apply updates for improved interop with SQLKit by @gwynne in #259
These changes bump the minimum Swift version to 5.8 and prepare PostgresKit for SQLKitâs overhaul PR. The SQLKit changes are NOT required by this update.
Thanks to the reviewers for their help:
Full Changelog: https://github.com/vapor/postgres-kit/compare/2.12.3...2.13.0
Fix mishandling of URL by @gwynne in #257
We have for some time now been incorrectly encoding
URL
s in an incorrect format that fails to trivially round-trip back through decoding. This is now fixed. Any previously broken data stored in a database affected by this issue will now be correctly read back and will have the correct format when next written.[!NOTE] This is not related in any way to the recent issues with Vaporâs
URI
type; it is a separate concern affecting theURL
type that comes from Foundation.Also incidentally fixes #255
Thanks to the reviewers for their help:
Full Changelog: https://github.com/vapor/postgres-kit/compare/2.12.2...2.12.3
Enable libpq-compatible "postgresql" URL schemes by @gwynne in #251
For libpq compatibility, the following additional schemes are now accepted in database URLs:
"postgresql"
"postgresql+tcp"
"postgresql+uds"
Thanks to the reviewers for their help:
Full Changelog: https://github.com/vapor/postgres-kit/compare/2.12.1...2.12.2
Remove use of legacy codepath when establishing Postgres connections by @gwynne in #249
Also tidies CI as usual.
Thanks to the reviewers for their help:
Full Changelog: https://github.com/vapor/postgres-kit/compare/2.12.0...2.12.1
Support the sslmode URL query parameter and UDS URLs by @gwynne in #248
Overhauls the URL parser for connection configurations to accept considerably more flexible syntax. See the documentation for details of the new syntax. (A screenshot of the new documentation is included below in case the website doesnât update immediately.)
Thanks to the reviewers for their help:
Full Changelog: https://github.com/vapor/postgres-kit/compare/2.11.4...2.12.0