Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Releases: groue/GRDB.swift

v7.8.0

02 Oct 15:52

Choose a tag to compare

A new release of the Swift toolkit for SQLite databases.

What's Changed

Full Changelog: v7.7.1...v7.8.0

v7.7.1

29 Sep 19:16

Choose a tag to compare

A new release of the Swift toolkit for SQLite databases.

What's Changed

  • Fix a regression introduced by v7.7.0 with the save() method on record types with attached triggers by @groue in #1822

Full Changelog: v7.7.0...v7.7.1

v7.7.0

23 Sep 18:18

Choose a tag to compare

A new release of the Swift toolkit for SQLite databases.

What's Changed

New Contributors

Full Changelog: v7.6.1...v7.7.0

v7.6.1

23 Jul 11:29

Choose a tag to compare

A new release of the Swift toolkit for SQLite databases.

What's Changed

  • Fix race condition regarding Task cancellation by @groue in #1797

Full Changelog: v7.6.0...v7.6.1

v7.6.0

20 Jul 16:13

Choose a tag to compare

A new release of the Swift toolkit for SQLite databases.

Caution

this release has a race condition regarding cancelled async database accesses. Please upgrade to v7.6.1.

What's Changed

  • All closures that accept DatabaseComponents can throw by @groue in #1768
  • Add Sendable conformance to DatabasePreUpdateEvent.Kind, matching DatabaseEvent.Kind by @Jason-Abbott in #1773
  • Add custom build instruction for hardened runtime by @Jason-Abbott in #1776
  • Access task locals from asynchronous database accesses by @groue in #1794
  • Throwing row accessors by @groue in #1796

Full Changelog: v7.5.0...v7.6.0

v7.5.0

11 May 12:44

Choose a tag to compare

A new release of the Swift toolkit for SQLite databases.

GRDB 7.5.0 brings a new way to write database requests

// GRDB 7.4
let count = try Player.filter(Column("score") >= 1000).fetchCount(db)
let players = try Player.order(Column("score")).fetchAll(db)

// NEW with GRDB 7.5.0
let count = try Player.filter { $0.score >= 1000 }.fetchCount(db)
let players = try Player.order(\.score).fetchAll(db)

Record types profit from this new syntax if they define a nested Columns enum. If you follow the Recommended Practices for Designing Record Types, this Columns enum is already defined, and you can profit from the new syntax right away.

With Swift 6.1+, Table Aliases have learned to use the Columns enum:

// GRDB 7.4
let authorAlias = TableAlias()
let request = Book
    .joining(required: Book.author.aliased(authorAlias))
    .order(authorAlias[Column("name")], Column("publishDate"))

// NEW with GRDB 7.5.0 and Swift 6.1
let authorAlias = TableAlias<Author>()
let request = Book
    .joining(required: Book.author.aliased(authorAlias))
    .order { [authorAlias.name, $0.publishDate] }

Breaking Changes

The benefits of this release are so important that two breaking changes were shipped:

  • If you define a public record type with a nested Columns enum, you have to make this enum public as well.

     public struct Player: FetchableRecord, PersistableRecord {
    -  enum Columns { ... }
    +  public enum Columns { ... }
     }
  • TableAlias is now a generic type. This will break existing code that accepts a TableAlias as an argument. You will have to make those methods generic as well.

What's Changed

  • Make it possible to create a raw FTS5Pattern without any database connection by @groue in #1764
  • Build request with closures by @groue in #1759

Full Changelog: v7.4.1...v7.5.0

v7.4.1

28 Mar 07:20

Choose a tag to compare

A new release of the Swift toolkit for SQLite databases.

What's Changed

  • Removed a compiler warning.

Full Changelog: v7.4.0...v7.4.1

v7.4.0

22 Mar 14:04

Choose a tag to compare

A new release of the Swift toolkit for SQLite databases.

This release is a recommended upgrade: it fixes unexpected ValueObservation failures in applications that perform asynchronous writes from a Task that gets cancelled.

What's Changed

  • Add the MIN and MAX multi-argument SQL functions to the query interface by @groue in #1745
  • Transaction observers are not impacted by Task Cancellation by @groue in #1747

Full Changelog: v7.3.0...v7.4.0

v7.3.0

23 Feb 18:57

Choose a tag to compare

A new release of the Swift toolkit for SQLite databases.

What's Changed

Full Changelog: v7.2.0...v7.3.0

7.2.0

12 Feb 13:32

Choose a tag to compare

A new release of the Swift toolkit for SQLite databases.

What's Changed

Full Changelog: v7.1.0...v7.2.0

Morty Proxy This is a proxified and sanitized view of the page, visit original site.