All Versions
Latest Version
Avg Release Cycle
15 days
Latest Release

Changelog History
Page 1

  • v5.0.0

    ๐Ÿš€ Released September 20, 2020 • diff

    • ๐Ÿ›  Fixed: #838: Have indexed colums inherit the ifNotExists flag from table creation.
  • v5.0.0-beta.9

    ๐Ÿš€ Released July 23, 2020 • diff

    • ๐Ÿ†• New: #813: Expose SQLite 3.31.1 APIs to iOS, macOS, tvOS, watchOS
    • ๐Ÿ›  Fixed: #814: Fix regression with views
  • v5.0.0-beta.8

    ๐Ÿš€ Released July 19, 2020 • diff

    • ๐Ÿ†• New: #811: Introduce RenameColumnAdapter
  • v5.0.0-beta.7

    ๐Ÿš€ Released July 14, 2020 • diff

    • ๐Ÿ†• New: #802 by @GetToSet: Add tokenchars support for ascii tokenizer in FTS5
    • ๐Ÿ†• New: fetchSet has joined fetchCursor, fetchAll and fetchOne in the group of universal fetching methods.
    • ๐Ÿ’ฅ Breaking Change: #803: Remove FetchedRecordsController
    • ๐Ÿ’ฅ Breaking Change: Removed TableRecord.primaryKey and selectPrimaryKey(as:) introduced in 5.0.0-beta.5
    • ๐Ÿ’ฅ Breaking Change: Many types and methods that support the query builder used to be publicly exposed and flagged as experimental. They are now private, or renamed with an underscore prefix, which means they are not for public use.
    • ๐Ÿ’ฅ Breaking Change: Defining custom FetchRequest types is no longer supported.
    • ๐Ÿ’ฅ Breaking Change: Defining custom RowAdapter types is no longer supported.
    • ๐Ÿ›  Fixed: Fix rare occurences of an SQLITE_BUSY error when opening a DatabaseSnapshot.
    • ๐Ÿ›  Fixed: Work around an SQLite bug which prevents rollbacking a transaction with sqlite3_commit_hook.
    • โšก๏ธ The [How do I filter records and only keep those that are NOT associated to another record?]( FAQ has been updated.
  • v5.0.0-beta.6

    ๐Ÿš€ Released June 29, 2020 • diff

    • ๐Ÿ†• New: #798: Debugging operators for ValueObservation
    • ๐Ÿ†• New: #800: Xcode 12 support
    • ๐Ÿ†• New: #801: Combine support
    • ๐Ÿ†• New: Faster decoding of Date and DateComponents

    ๐Ÿ“š Documentation Diff

    • ๐Ÿ–จ The [ValueObservation Operators]( chapter was extended with a description of the two new debugging operators handleEvents and print.

    • ๐Ÿ“š A new [GRDB โค๏ธ Combine](Documentation/ guide describes the various Combine publishers that read, write, and observe the database.

    • ๐Ÿ“š [GRDBCombineDemo](Documentation/DemoApps/GRDBCombineDemo/ is a new Combine + SwiftUI demo application.

  • v5.0.0-beta.5

    ๐Ÿš€ Released June 15, 2020 • diff

    • ๐Ÿ’ฅ Breaking Change #795: Enhanced support for WAL Checkpoints
    • ๐Ÿ†• New: Database.maximumStatementArgumentCount returns the maximum number of arguments accepted by an SQLite statement.
    • ๐Ÿ†• New: Optimize DatabasePool handling of ValueObservation when SQLite is compiled with the SQLITE_ENABLE_SNAPSHOT option. We are now able to avoid fetching the observed value when we can prove that the database wasn't changed between the initial fetch and the beginning of transaction tracking. This optimization avoids duplicate notifications.
    • ๐Ÿ†• New: The query interface now exposes the primary key through TableRecord.primaryKey, as well as the selectPrimaryKey(as:) method.

    ๐Ÿ“š Documentation Diff

    • ๐Ÿ“š The [Demo Application](Documentation/DemoApps/GRDBDemoiOS) was updated for better conformance with the [Good Practices for Designing Record Types](Documentation/ Guide.

    • ๐Ÿ™‹ A new [FAQ: Associations]( addresses three frequent questions:

      • [How do I filter records and only keep those that are associated to another record?](
      • [How do I filter records and only keep those that are NOT associated to another record?](
      • [How do I select only one column of an associated record?](
    • The guide for [Custom SQLite builds](Documentation/ now recommends enabling the SQLITE_ENABLE_SNAPSHOT option.

  • v5.0.0-beta.4

    ๐Ÿš€ Released June 6, 2020 • diff

    ๐Ÿ“š Documentation Diff

    • ๐Ÿ“š [Migrating From GRDB 4 to GRDB 5](Documentation/ was updated for RxGRDB and GRDBCombine 1.0 beta 2, which haved change their way to configure how ValueObservation schedules fresh database values.
    • โšก๏ธ The [SQL Functions]( chapter was updated for the new julianDay and dateTime functions.

    ๐Ÿ†• New

    • #794: Name of Database Connections
    • โž• Add the julianDay and dateTime functions
  • v5.0.0-beta.3

    ๐Ÿš€ Released June 1, 2020 • diff

    ๐Ÿ“š Documentation Diff

    • โšก๏ธ Updated FAQ: [How do I print a request as SQL?](
    • ๐Ÿ†• New FAQ: [How do I monitor the duration of database statements execution?](

    ๐Ÿ›  Fixed

    • #784: Fix observation of eager-loaded to-many associations

    ๐Ÿ’ฅ Breaking Changes

    • #790: Bump required iOS version to 10.0
    • #791: Extend tracing of statement execution
  • v5.0.0-beta.2

    ๐Ÿš€ Released May 11, 2020 • diff

    ๐Ÿ“š Documentation Diff

    • ๐Ÿ“š [Migrating From GRDB 4 to GRDB 5](Documentation/ describes the sunsetting of custom FetchRequest types.
    • ๐Ÿ“š The [Sharing a Database](Documentation/ guide has an updated recommendation for opening writer connections to a shared database.

    ๐Ÿ†• New

    • โšก๏ธ #772: Update the Database Sharing Guide with mention of the persistent WAL mode
    • #775: DatabaseMigrator can check if it has been superseded

    ๐Ÿ’ฅ Breaking Changes

    • #774: All requests are usable as SQL expressions and collections

    ๐Ÿ›  Fixed

    • #773: Allow subqueries to refer to outer tables
  • v5.0.0-beta.11

    ๐Ÿš€ Released September 7, 2020 • diff

    • ๐Ÿ’ฅ Breaking Change: #831: Improve Configuration.prepareDatabase