Skip to content

Fluent 3.0.0 RC 2

Pre-release
Pre-release
Compare
Choose a tag to compare
@tanner0101 tanner0101 released this 21 Mar 21:29
· 388 commits to main since this release

New:

  • Vapor is now running on Swift NIO!
  • Fluent can now decode multiple distinct model types from a query.
let all = try A.query(on: conn)
    .join(B.self, field: \.colb, to: \.cola)
    .alsoDecode(B.self)
    .join(C.self, field: \.colc, to: \.cola)
    .alsoDecode(C.self)
    .all()
print(all) // [(A, B) C)]
  • improves flexility of QuerySupporting protocol. Drivers now declare custom data types and transmit those instead of generic codable packets.
  • query.data is now [QueryField: <Driver>Data]
  • query.update(["foo": "bar", "baz": 3.14]) to update multiple rows at once
  • Support for fetching more than one model from a query.
  • Support for transforming a QueryBuilder's result stream. Query builder is now generic on two parameters: Model and Result.
  • Support for decoding multiple models as nested tuples.
  • Improved support for ~=, ~~, =~ operators.
  • Improved Timestampable date precision.

Fixed:

  • not in/in support.
  • Fixed an issue where AND groups would use OR relation.

Milestone