Releases · groue/GRDB.swift
v7.6.1A new release of the Swift toolkit for SQLite databases.
What's ChangedFull Changelog: v7.6.0...v7.6.1
v7.6.0A 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.
Full Changelog: v7.5.0...v7.6.0
v7.5.0A 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.
Full Changelog: v7.4.1...v7.5.0
v7.4.1A new release of the Swift toolkit for SQLite databases.
What's ChangedFull Changelog: v7.4.0...v7.4.1
v7.4.0A 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.
Full Changelog: v7.3.0...v7.4.0
v7.3.0A new release of the Swift toolkit for SQLite databases.
What's ChangedFull Changelog: v7.2.0...v7.3.0
7.2.0A new release of the Swift toolkit for SQLite databases.
What's ChangedFull Changelog: v7.1.0...v7.2.0
7.1.0A new release of the Swift toolkit for SQLite databases.
What's Changedsqlite3_libversion_number
as Database.sqliteLibVersionNumber
by @groue in #1713Full Changelog: v7.0.0...v7.1.0
7.0.0A new release of the Swift toolkit for SQLite databases.
GRDB 7 is Xcode 16 and Swift 6 ready!
To upgrade, please follow the migration guide.
Raising the Swift concurrency checkings of Swift 6 can create compiler warnings. The new Swift Concurrency and GRDB guide is there to help you use GRDB from your Swift 6 code.
If you are looking for inspiration, the demo app was rewritten from scratch in a brand new Xcode 16 project.
What's Changedfilter(keys:)
and related APIs by @groue in #1617@preconcurrency import
the Dispatch
module to enable building the package on linux by @tayloraswift in #1644DatabaseValueConvertible
tip for JSON columns by @bok- in #1649ucrt
on Windows for strcmp
by @compnerd in #1662Full Changelog: v6.29.3...v7.0.0
v7.0.0-beta.7You can’t perform that action at this time.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4