Skip to content

Releases: vapor/fluent-kit

1.50.3 - Enable the MirrorBypass logic in Swift 6

18 Feb 04:00
4f886eb
Compare
Choose a tag to compare

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

07 Feb 05:00
dd5a92d
Compare
Choose a tag to compare

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

29 Jan 13:00
153c495
Compare
Choose a tag to compare

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, the fatalError() 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

16 Jan 11:15
260eff9
Compare
Choose a tag to compare

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

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