GRDB.swift v5.0.0-beta.5 Release Notes

  • ๐Ÿš€ 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/GoodPracticesForDesigningRecordTypes.md) Guide.

    • ๐Ÿ™‹ A new [FAQ: Associations](README.md#faq-associations) addresses three frequent questions:

      • [How do I filter records and only keep those that are associated to another record?](README.md#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?](README.md#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?](README.md#how-do-i-select-only-one-column-of-an-associated-record)
    • The guide for [Custom SQLite builds](Documentation/CustomSQLiteBuilds.md) now recommends enabling the SQLITE_ENABLE_SNAPSHOT option.