Releases: vapor/fluent-mysql-driver
4.5.0 - Update package for Sendable and 100% test coverage
What's Changed
Update package for Sendable and 100% test coverage by @gwynne in #223
Adds
Sendable
correctness andExistentialAny
compliance, bumps min Swift version to 5.8, leverages the new SQLKit functionality, throws errors instead of crashes, updates CI, modernizes README, and achieves 100% test and documentation coverage.
This patch was released by @gwynne
Full Changelog: 4.4.0...4.5.0
4.4.0 - Update for the nested subpath changes in FluentKit
This patch was authored and released by @gwynne.
vapor/fluent-kit#572 takes advantage of the new support added to SQLKit in vapor/sql-kit#169, so remove the obsolete legacy support here.
Also does some minor tidying.
(Note: Since we now depend on a version of FluentKit that is multiple minor versions newer than before, this must also be semver-minor.) #218
Update min Swift version to 5.6 and make platform versions consistent
This patch was authored and released by @gwynne.
Drop support for Swift 5.4
This patch was authored and released by @gwynne.
Also incudes a round of CI modernizations.
There are no API or functional changes in this version, but the minimum Swift version bump nonetheless requires this to be a semver-minor release.
Explicitly handle a custom ID key set to the empty string
This patch was authored and released by @gwynne.
Treat it as meaning not to retrieve an inserted ID value. This is in support of upcoming FluentKit feature work.
Support the models-with-spaces FluentKit work
This patch was authored and released by @gwynne.
Improved error reporting via `DatabaseError`
This patch was authored and released by @gwynne.
DatabaseError
's isSyntaxError
and isConnectionClosed
properties now correctly respect MySQLError.invalidSyntax
and MySQLError.closed
errors. A unit tests for these behaviors is included.
Also avoids double-running the FluentBenchmark tests (same change as fluent-sqlite-driver#75).
Fix deprecation warnings for TLSConfiguration
This patch was authored and released by @gwynne.
A bit of simple cleanup for the deprecations in NIOSSL.
FluentMySQLDriver 4.0.0
This patch was authored and released by @tanner0101.
Docs:
https://docs.vapor.codes/4.0/fluent/overview/
https://docs.vapor.codes/4.0/fluent/model/
https://docs.vapor.codes/4.0/fluent/relations/
https://docs.vapor.codes/4.0/fluent/migration/
https://docs.vapor.codes/4.0/fluent/query/
https://docs.vapor.codes/4.0/fluent/schema/
https://docs.vapor.codes/4.0/fluent/advanced/
More information on Vapor 4 official release:
https://forums.swift.org/t/vapor-4-official-release-begins/34802
Fix .references field constraint
This patch was authored and released by @tanner0101.
Adds a fix for a MySQL syntax quirk that caused .references
constraints to be ignored (#191, fixes #170).
MySQL does not allow the REFERENCES foreign_table (column_name)
syntax like Fluent's other drivers do. When it sees this syntax, it simply ignores it with no warning. The only supported method for declaring for keys is to declare them as "table level" constraints. In other words, as a separate item in the create list.
This change causes MySQL's SQLSchemaConverter
to automatically translate field-level foreign key constraints (.references
) to their table-level counterparts.