Releases: vapor/mysql-kit
4.9.0 - Actually support query logging
What's Changed
Actually support query logging by @gwynne in #326
Now supports query logging with the same semantics as the other drivers. When a query is executed with query logging enabled at or above the logger’s current log level, the actual SQL query and its accompanying array of bound parameters (if any) are logged as structured metadata on the logger using a generic 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=mysql [MySQLKit] SELECT * FROM foo WHERE a=? [["bar"]]
After:
2024-05-29T00:00:00Z debug codes.vapor.fluent : database-id=mysql sql=SELECT * FROM foo WHERE a=? binds=["bar"] [MySQLKit] Executing query
This patch was released by @gwynne
Full Changelog: 4.8.0...4.9.0
4.8.0 - Update for new SQLKit and support more URL string formats
What's Changed
Update for new SQLKit and support more URL string formats by @gwynne in #325
Adds support for several additional
mysql:
URL formats, following in the footsteps of similar support in PostgresKit. Also takes advantage of the recent updates to SQLKit, bumps minimum Swift version to 5.8, and does some general cleanup.Details on new URL formats can be found in the MySQLKit API documentation.
This patch was released by @gwynne
Full Changelog: 4.7.2...4.8.0
4.7.2 - Bump swift-crypto version range
What's Changed
Bump swift-crypto version range by @scottkawai in #323
Bump swift-crypto version range to
1.0.0 ..< 4.0.0
since the current version is 3.1.0.
This patch was released by @gwynne
Full Changelog: 4.7.1...4.7.2
4.7.1 - Add MySQL support for nested subpath (JSON) expressions
Update min Swift version to 5.6 and make platform versions consistent
This patch was authored and released by @gwynne.
Add `hostname` to `MySQLConnection.connect()`
This patch was authored by @programVeins and released by @gwynne.
Prior to this, hostname in MySQLConnection.connect()
was optional and defaulted to nil. This resulted in an error where upon entering url for connection string, apple's swift-nio-ssl threw: NIOSSLExtraError.failedToValidateHostname: Couldn't find <none> in certificate from peer
By adding hostname from user given configuration, this is fixed.
Fixes #311
Fix bug in hex encoding of normalized constraint hashes
Drop support for Swift 5.4
This patch was authored and released by @gwynne.
Also includes:
- Another round of CI improvements
- A huge speed boost for
MySQLDialect.normalizeSQLConstraint(identifier:)
(converting the hash result to hexadecimal no longer relies on the use of printf formatting)
Revise MySQLDataEncoder implementation to better handle various Codable conformances
This patch was authored and released by @gwynne.
This avoids possible incorrect/corrupted output for various legal Encodable uses.
Add locking clause syntax to dialect
This patch was authored and released by @gwynne.
Leverages the new functionality in vapor/sql-kit#154 to provide the correct syntax for both shared and exclusive locking clauses in MySQL.