Skip to content

Releases: vapor/mysql-kit

4.9.0 - Actually support query logging

29 May 18:20
ac03d7c
Compare
Choose a tag to compare

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

29 Apr 12:01
395a6ea
Compare
Choose a tag to compare

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

03 Jan 04:04
a9375f8
Compare
Choose a tag to compare

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

11 Jul 06:24
5904a6f
Compare
Choose a tag to compare
This patch was authored and released by @gwynne.

Implements SQLKit's new SQLDialect.nestedSubpathExpression(in:for:) method. #321

Update min Swift version to 5.6 and make platform versions consistent

14 Apr 01:00
d944fb3
Compare
Choose a tag to compare

Add `hostname` to `MySQLConnection.connect()`

12 Apr 03:20
5c520c5
Compare
Choose a tag to compare
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

09 Nov 20:26
336a922
Compare
Choose a tag to compare
This patch was authored and released by @gwynne.

#314 included a new routine for hex-formatting the hash used for constraint name normalization. This PR fixes a bug in that routine which caused the 4th bit of every byte to be ignored when formatting.

Drop support for Swift 5.4

07 Nov 11:45
cce41a9
Compare
Choose a tag to compare
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

28 Oct 16:25
7d7e6e3
Compare
Choose a tag to compare
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

02 Aug 21:35
faecdf3
Compare
Choose a tag to compare
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.