Skip to content

Releases: pointfreeco/swift-structured-queries

0.23.2

15 Oct 16:57
b4fadef
Compare
Choose a tag to compare

What's Changed

  • Fixed: Fix macro-generated code for Swift <6.2 (#211).

Full Changelog: 0.23.1...0.23.2

0.23.1

10 Oct 21:31
Compare
Choose a tag to compare

What's Changed

  • Fixed: Address issue where an enum @Selection macro was generating incorrect query-building code for its nested Table.Columns type (#208).

Full Changelog: 0.23.0...0.23.1

0.23.0

08 Oct 20:01
edb84b3
Compare
Choose a tag to compare

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).
    -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))
    The old APIs have been deprecated in favor of these newer, more flexible APIs.
  • Fixed: Statement no longer inherits from Hashable (#203).
  • Fixed: Generate database functions as nonisolated for default main actor support (#205).

Full Changelog: 0.22.3...0.23.0

0.22.3

08 Oct 17:49
9bbfc44
Compare
Choose a tag to compare

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

06 Oct 18:22
603bcbf
Compare
Choose a tag to compare

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

03 Oct 18:29
9eaafed
Compare
Choose a tag to compare

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

02 Oct 18:11
49ce85d
Compare
Choose a tag to compare

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

24 Sep 21:44
23cc67c
Compare
Choose a tag to compare

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

17 Sep 19:28
Compare
Choose a tag to compare

What's Changed

  • Added: A new, type-safe API for creating temporary views (#172).
  • Fixed: Make join overload consistent with other joins and omit INNER (#170).
  • Fixed: FTS5: Support outer joins and aliased tables by (#171).
  • Fixed: Swift Syntax 602 Support (#174).

Full Changelog: 0.19.1...0.20.0

0.19.1

10 Sep 21:03
f576582
Compare
Choose a tag to compare

What's Changed

  • Fixed: Ensure macro-generated code for multiline @DatabaseFunction signature is formatted correctly (#166).

Full Changelog: 0.19.0...0.19.1