Releases: pointfreeco/swift-structured-queries
Releases · pointfreeco/swift-structured-queries
0.23.2
What's Changed
- Fixed: Fix macro-generated code for Swift <6.2 (#211).
Full Changelog: 0.23.1...0.23.2
0.23.1
What's Changed
- Fixed: Address issue where an enum
@Selection
macro was generating incorrect query-building code for its nestedTable.Columns
type (#208).
Full Changelog: 0.23.0...0.23.1
0.23.0
What's Changed
Important
This release contains a breaking change (#203) that is necessary to avoid bugs related to subquery comparison operations, as well as bugs in synthesized Equatable
conformances on Table
types. Please start a discussion if this release introduces breaking changes that you need help fixing.
- Added: New APIs for creating temporary triggers that "touch" columns (#202).
The old APIs have been deprecated in favor of these newer, more flexible APIs.
-Reminder.createTemporaryTrigger(afterInsertTouch: { new in +Reminder.createTemporaryTrigger(after: .insert { new in new.position = Reminder .where { $0.remindersListID.eq(new.remindersListID) } .select { $0.position.max() + 1 } ?? 0 }) -Reminder.createTemporaryTrigger(afterUpdateTouch: \.updatedAt) +Reminder.createTemporaryTrigger(after: .update(touch: \.updatedAt))
- Fixed:
Statement
no longer inherits fromHashable
(#203). - Fixed: Generate database functions as
nonisolated
for default main actor support (#205).
Full Changelog: 0.22.3...0.23.0
0.22.3
What's Changed
- Fixed: Add conditional conformances for selection protocol (#204).
- Infrastructure: Add note to draft docs about conformances (#201).
Full Changelog: 0.22.2...0.22.3
0.22.2
What's Changed
- Fixed: Restore default main actor isolation + Swift 6 language mode support, which regressed in 0.22.0 due to newly generated macro code (#200).
- Infrastructure: reduce churn in trigger tests (#197).
Full Changelog: 0.22.1...0.22.2
0.22.1
What's Changed
- Fixed: Improve performance of macro-expanded code to avoid complex expression compilation sluggishness in larger tables (#196).
Full Changelog: 0.22.0...0.22.1
0.22.0
What's Changed
- Added:
@Table
/@Selection
improvements for better composition, including nested column groupings, enums, and more (#184). - Fixed:
@Table
should not fail with comments on properties with defaults (#194). - Infrastructure: documentation improvements (thanks @Narsail, #188).
New Contributors
Full Changelog: 0.21.0...0.22.0
0.21.0
What's Changed
- Added:
createTemporaryView
now supports common table expressions (#176). - Added: Support
INSTEAD OF
triggers (#179). - Added: Support defaults in
@Selection.Columns.init
(#180). - Added:
PrimaryKeyedTable.find([id])
for finding multiple rows by primary keys (#181). - Fixed: Silence warning on Swift 6.0 (#183).
- Fixed: Properly handle SQL comments in
#sql
macro diagnostics (#187). - Infrastructure: Update docs on temporary views (#182).
Full Changelog: 0.20.0...0.21.0
0.20.0
0.19.1
What's Changed
- Fixed: Ensure macro-generated code for multiline
@DatabaseFunction
signature is formatted correctly (#166).
Full Changelog: 0.19.0...0.19.1