Skip to content

Releases: vapor/fluent-kit

1.49.0 - Add async APIs for shutting down the databases

11 Aug 08:53
614d3ec
Compare
Choose a tag to compare

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

08 Jul 15:07
cff1c3e
Compare
Choose a tag to compare

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

30 May 14:48
d69efce
Compare
Choose a tag to compare

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, specifying withDeleted: 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

14 May 14:15
cb91bf9
Compare
Choose a tag to compare

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 some Database methods are now present.
  • All SQLDatabase methods are now correctly forwarded when using Database.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

30 Apr 15:15
ed4cfa9
Compare
Choose a tag to compare

What's Changed

Fix accidentally changed module names in exports by @gwynne in #605

The NIO module name on some @_exported imports 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

29 Apr 10:04
0f32c02
Compare
Choose a tag to compare

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

27 Apr 22:27
c4533db
Compare
Choose a tag to compare

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

26 Apr 20:12
4fffbaa
Compare
Choose a tag to compare

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 make Model correctly Sendable due to limitations of how property wrappers work, even though the wrappers themselves are Sendable. Users can get around this by adding @unchecked Sendable to each individual Model 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.10
  • QueryHistory 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

15 Apr 12:11
81db32f
Compare
Choose a tag to compare

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

23 Mar 01:37
5f0938a
Compare
Choose a tag to compare

What's Changed

Skip DB execution when all ids for @OptionalParent are nil by @mtj0928 in #583

OptionalParentEagerLoader doesn’t need to fetch To objects when all ids of the given models are nil, 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