GRDB.swift v5.9.0 Release Notes

  • ๐Ÿš€ Released August 15, 2021 • diff

    • ๐Ÿ›  Fixed: #980 by @jroselightricks: Fix spelling
    • ๐Ÿ›  Fixed: #989 by @pp5x: FTS: add support of ifNotExists in synchronize()
    • ๐Ÿ›  Fixed: #999: request(for: association) no longer crashes when the foreign key contains a NULL value.
    • ๐Ÿ›  Fixed: #1025 by @mattgallagher: Fix ValueObservation crash
    • ๐Ÿ›  Fixed: Fix thread unsafety in ValueObservation.print()
    • ๐Ÿ†• New: The selectID() method is now available for [Identifiable Records](README.md#identifiable-records)
    • ๐Ÿ†• New: Cached prepared statements can profit from [SQL Interpolation](Documentation/SQLInterpolation.md):

      let updateStatement = try db.cachedStatement(literal: "INSERT ...")
      //                                           ~~~~~~~
      
    • ๐Ÿ†• New: #993 by @groue: QueryInterfaceRequest builder with dynamic table/view name

    • ๐Ÿ†• New: Types that adopt both DatabaseValueConvertible and Codable now profit from automatic JSON encoding and decoding.

    • ๐Ÿ†• New: #1010 by @tternes: Add VACUUM INTO Support

    • ๐Ÿ†• New: #1012 by @ZevEisenberg: Add brackets to urls in doc comments to make them clickable

    • ๐Ÿ†• New: #1019 by @groue: Merge prepared statement types, and introduce statement cursor

    • ๐Ÿ“š Documentation Update: The [Requests](README.md#requests) chapter was updated for the new Table type that can build requests without any record type.

    • ๐Ÿ“š Documentation Update: The [Custom Value Types](README.md#custom-value-types) chapter was extended about the new support for codable value types encoded as JSON arrays or objects.

    • ๐Ÿ“š Documentation Update: The [Fetching Methods](README.md#fetching-methods) and [Prepared Statements](README.md#prepared-statements) chapters have been updated for the unique Statement class, and the new Database.allStatements() method.