Swift ORM (queries, models, and relations) for NoSQL and SQL databases

What's New

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, 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


Documentation Team Chat MIT License Continuous Integration Swift 5.8+

An Object-Relational Mapper (ORM) for Swift. It allows you to write type safe, database agnostic models and queries. It takes advantage of Swift's type system to provide a powerful, yet easy to use API.

An example query looks like:

let planets = try await Planet.query(on: database)
    .filter(\.$type == .gasGiant)

For more information, see the Fluent documentation.


  • Swift Tools 5.9.0
View More Packages from this Author


Last updated: Mon Jun 17 2024 04:09:40 GMT-0900 (Hawaii-Aleutian Daylight Time)