Releases: vapor/fluent-kit
1.50.3 - Enable the MirrorBypass logic in Swift 6
What's Changed
Enable the MirrorBypass logic in Swift 6 by @gwynne in #631
It turns out that the “bypass” for
Mirror
works fine in Swift 6, so let’s use it.
Reviewers
Thanks to the reviewers for their help:
This patch was released by @gwynne
Full Changelog: 1.50.2...1.50.3
1.50.2 - fix: handle nil CompositeIDProperty value during database insert
What's Changed
fix: handle nil CompositeIDProperty value during database insert by @bwdmr in #628
The CompositeIDProperty was force-unwrapping its value during database input, which would crash if the value was nil. This could happen during initial inserts where the composite ID is meant to be set by a database trigger. Now checks if value exists before attempting to input it.
This patch was released by @gwynne
Full Changelog: 1.50.1...1.50.2
1.50.1 - Be more specific about which model's ID property is missing in error message
What's Changed
Be more specific about which model's ID property is missing in error message by @gwynne in #626
If a model’s
id
property is missing or incorrectly declared, thefatalError()
which is triggered now includes the name of the model in question.
This patch was released by @gwynne
Full Changelog: 1.50.0...1.50.1
1.50.0 - Fix Fluent model encoding for SQLKit and several Sendable warnings
What's Changed
Fix Fluent model encoding for SQLKit and several Sendable warnings by @gwynne in #624
Full change list:
- Require Swift 5.9
- Resolve several new
Sendable
-related warnings- Fix an issue which caused unpredictable failures when encoding multiple Fluent models for SQLKit queries due to unstable column ordering.
- Fix NIO API (
EmbeddedEventLoop
) misuse in tests- Disable unfixable flaky test
This patch was released by @gwynne
Full Changelog: 1.49.0...1.50.0
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