Releases: vapor/fluent
Releases · vapor/fluent
Fluent 3.0.0 RC 4.0.2
3.0.0-rc.4.0.2 use fk action
Fluent 3.0.0 RC 4.0.1
Merge pull request #522 from vapor/unique-constraint-name-fix unique constraint name fix
Fluent 3.0.0 RC 4
New:
- Upgraded to
vapor/sql
2.0 protocols. - Standardized
FluentBenchmarker
run method. - Add new Fluent benchmarks for sorting, subset operations, and range.
Fixed:
- Fixed an issue where ranges would not be applied.
- Fixed an issue where ranges would be off-by-one.
Fluent 3.0.0 RC 3.0.3
3.0.0-rc.3.0.3 publicize QueryBuilder CRUD methods
Fluent 3.0.0 RC 3.0.2
Merge pull request #507 from vapor/serialize-migrations serialize migrations + convenience methods
Fluent 3.0.0 RC 3.0.1
Fixed:
- Fixes a typo in
enableReferences
onDatabasesConfig
(#505). - Adds deprecations for
actions:
overload when creating a reference (#506).
See 3.0.0 RC 3 for more information.
Fluent 3.0.0 RC 3
New:
- Generic database queries:
QueryBuilder
andSchemaBuilder
now store query types generic to each specific database. This means you can now do much of what required raw SQL queries with type-safe Swift! Timestampable
&SoftDeletable
are now part of Model: This allows for users to opt in to exactly which timestamps they would like to use. It also removes a lot of type-erasing and casting that needed to happen internally. New lifecycle hooks have been added for soft-deletion as well.- Generic transactions + convenience methods: Transactions now allow for a generic return type. Use the new convenience method on
DatabaseConnectable
to perform a transaction. - Data and KeyPath conversion failures are now assertions. This makes working with Fluent a lot easier (huge reduction in
try
statements) for what really should be develop-time errors. - Aggregates are now generic.
- New
update(data:)
andcreate(data:)
methods onQueryBuilder
allow for easy batch updates. - Joins now support joining additional models to previously joined tables.
Fixed:
- Tons of bug fixes throughout Fluent and all of its drivers.
Breaking changes:
Model
entity now defaults to the model's type name. It no longer attempts to create a lowercased, pluralized string. Implementstatic var entity: String
on your model if you want to define a custom entity (#492).Timestampable
andSoftDeletable
key paths must now be optional. Not-implementing these key paths (or returningnil
) is equivalent to not conforming to the protocol.join
methods have been simplified:join(\Pet.userID, to: \User.id)
- Please report any breaking changes you notice not listed--they may be unintentional
Fluent 3.0.0 RC 2.4.1
Fluent 3.0.0 RC 2.4
Merge pull request #459 from vapor/dbkit-gm dbkit 1.0.0 gm
Fluent 3.0.0 RC 2.3.3
3.0.0-rc.2.3.3 remove extraneous routing slug