Releases: vapor/fluent-kit
1.49.0 - Add async APIs for shutting down the databases
What's Changed
Add async APIs for shutting down the databases by @0xTim in #614
To enable removing calls to
.wait()
in the connection pools when in an async context
This patch was released by @gwynne
Full Changelog: 1.48.6...1.49.0
1.48.6 - Fix error message
What's Changed
Fix error message by @97mik in #613
Fixes typo in a fatal error message for empty database configurations
This patch was released by @0xTim
Full Changelog: 1.48.5...1.48.6
1.48.5 - Miscellaneous bug fixes
What's Changed
Miscellaneous bug fixes by @gwynne in #610
This update contains the following fixes and changes:
- Logging (especially of Fluent queries) is now done in structured fashion using metadata, as recommended for logging in libraries.
- Several superfluous
Sendable
workarounds have been removed (they were never needed).- Resolved several DocC warnings.
- When using eager loading with
@CompositeChildren
properties, specifyingwithDeleted: true
now works (previously the flag was ignored).query.aggregate(.custom(.sql(...)))
now works correctly (previously only plain strings were handled for custom aggregates)- Fixed a
FluentBenchmarks
test so that it actually tests what it claims to.- Fixed numerous
FluentBenchmarks
tests so they no longer crash if something goes wrong during migrations.ISO8601TimestampFormat
now correctly respects the milliseconds setting on a case-by-case basis when used in both modes in the same application (the behavior was previously nondeterministic).
This patch was released by @gwynne
Full Changelog: 1.48.4...1.48.5
1.48.4 - Tidy up FluentKit
What's Changed
Tidy up FluentKit by @gwynne in #609
A few changes that were missed in previous cleanup and update passes:
- Previously missing
async
versions of someDatabase
methods are now present.- All
SQLDatabase
methods are now correctly forwarded when usingDatabase.logging(to:)
.- All versions of the
.sql(raw:)
utility for directly embedding raw SQL into Fluent queries have been renamed to.sql(unsafeRaw:)
to better emphasize the inadvisability of their use. The old name still works but is now deprecated.SQLSchemaConverter
is now very infinitesimally faster.- Fluent’s tests now include the appropriate tests from SQLKit as well.
- Removed some unneeded
Sendable
warning workarounds, should slightly improve performance.
This patch was released by @gwynne
Full Changelog: 1.48.3...1.48.4
1.48.3 - Fix accidentally changed module names in exports
What's Changed
Fix accidentally changed module names in exports by @gwynne in #605
The NIO module name on some
@_exported import
s was incorrectly changed. Since we’re stuck with@_exported
, we need to fix this for source compatibility.
This patch was released by @gwynne
Full Changelog: 1.48.2...1.48.3
1.48.2 - Update minimum required versions for dependencies
What's Changed
Update minimum required versions for dependencies by @gwynne in #604
In the last minor version bump to this package, the minimum version requirement for SQLKit was accidentally not updated. We now require the version we actually need.
This patch was released by @gwynne
Full Changelog: 1.48.1...1.48.2
1.48.1 - Restore support for pre-Concurrency migrations
What's Changed
Restore support for pre-Concurrency migrations by @gwynne in #603
Reverts and tweaks a few of the changes in the recent
Sendable
update in order to (hopefully) restore functionality for users still using legacy (pre-Concurrency) app entry points.Fixes #602. (Hopefully.)
This patch was released by @gwynne
Full Changelog: 1.48.0...1.48.1
1.48.0 - Primary Sendable support for Fluent
What's Changed
Primary Sendable support for Fluent by @gwynne in #601
Adds as much
Sendable
correctness to FluentKit as it is possible to add.[!IMPORTANT]
It was not possible to makeModel
correctlySendable
due to limitations of how property wrappers work, even though the wrappers themselves areSendable
. Users can get around this by adding@unchecked Sendable
to each individualModel
class, but this of course does not confer actual safety; it just disables the compiler’s warnings.Also adds some missing APIs to
FluentSQL
to allow encoding Fluent models to SQLKit queries. The existing APIs for decoding Fluent models from SQLKit queries have been renamed, and the old names deprecated.Other changes:
- The performance improvements for
Mirror
are now used in Swift 5.10QueryHistory
is no longer thread-unsafe for reading- The minimum supported Swift version is now 5.8
SomeCodingKey
is now an alias for SQLKit’s version
This patch was released by @gwynne
Full Changelog: 1.47.3...1.48.0
1.47.3 - Fix up FluentKit tests after SQLKit update
What's Changed
Fix up FluentKit tests after SQLKit update by @gwynne in #599
Also bumps Swift minimum to 5.7 and adds
ExistentialAny
compliance.
This patch was released by @gwynne
Full Changelog: 1.47.2...1.47.3
1.47.2 - Skip DB execution when all ids for @OptionalParent are nil
What's Changed
Skip DB execution when all ids for @OptionalParent are nil by @mtj0928 in #583
OptionalParentEagerLoader
doesn’t need to fetchTo
objects when all ids of the given models arenil
, because the results of the DB execution will always be empty.Therefore, I’ve modified the logic to skip the DB execution in such cases to improve performance.
New Contributor
This patch was released by @gwynne
Full Changelog: 1.47.1...1.47.2