All Versions
267
Latest Version
Avg Release Cycle
15 days
Latest Release
-

Changelog History
Page 11

  • v2.4.2 Changes

    ๐Ÿš€ Released January 6, 2018 • diff

    ๐Ÿ›  Fixed

    • ๐Ÿ›  When using a database pool, the schema introspection methods could return wrong values whenever the database schema was concurrently read and modified. This has been fixed.
    • DatabasePool.readFromCurrentState no longer accepts to spawn a reader when a transaction is currently opened on the writer connection.
  • v2.4.1 Changes

    ๐Ÿš€ Released December 16, 2017 • diff

    ๐Ÿ›  Fixed

    • ๐Ÿ”ง #284: fixes a misuse of the sqlite3_config() function when configuring the global SQLite Error Log
  • v2.4.0 Changes

    ๐Ÿš€ Released December 3, 2017 • diff

    ๐Ÿ†• New

    • #280: It is now possible to add an untyped column to an existing table.

      try db.alter(table: "players") { t in
          t.add(column: "score")
      }
      
    • ๐Ÿ“š #281: The Database.dropFTS4SynchronizationTriggers & Database.dropFTS5SynchronizationTriggers method help cleaning up synchronized full-text table (documentation)

    ๐Ÿ’ฅ Breaking Change

    • ๐Ÿ“š #282: This version comes with a breaking change that affects users who manually embed the GRDBCipher and GRDBCustom frameworks in their projects. This change does not affect users of the GRDB framework, or users of GRDBCipher through CocoaPods. Now, instead of embedding the GRDB.xcodeproj project, you have to embed the GRDBCipher.xcodeproj or GRDBCustom.xcodeproj. Please have a look at the updated Encryption and Custom SQLite Builds documentation chapters.
  • v2.3.1 Changes

    ๐Ÿš€ Released November 8, 2017 • diff

    ๐Ÿ›  Fixed

    • GRDB 2.2.0 has introduced a fix in the way transaction observers are notified of empty deferred transactions (BEGIN; COMMIT;). That fix was incomplete, and inconsistent.

      Now all transactions are notified, without any exception, including:

      try db.execute("BEGIN; COMMIT;")
      try db.execute("SAVEPOINT foo; RELEASE SAVEPOINT foo;")
      

      Rationale

  • v2.3.0 Changes

    ๐Ÿš€ Released November 5, 2017 • diff

    ๐Ÿ†• New

  • v2.2.0 Changes

    ๐Ÿš€ Released October 31, 2017 • diff

    ๐Ÿ†• New

    • Database.viewExists(_:) returns whether a view exists in the database.
    • Database.triggerExists(_:) returns whether a trigger exists in the database.

    ๐Ÿ›  Fixed

    • DROP VIEW statements would not drop views (#267)
    • GRDB used to incorrectly send incomplete transaction notifications to transaction observers in the case of empty deferred transactions. This is no longer the case. Since empty deferred transactions have SQLite consider that no transaction started at all, they are no longer notified to transaction observers:

      -- Nothing happens, and thus no notification is sent
      BEGIN TRANSACTION
      COMMIT
      

      Those empty deferred transactions still count for the afterNextTransactionCommit database method, and the .nextTransaction observation extent.

  • v2.1.0 Changes

    ๐Ÿš€ Released October 24, 2017 • diff

    ๐Ÿ†• New

    • ๐Ÿ— GRDBCipher can now build from command line (groue/sqlcipher/pull/1 by Darren Clark)
    • โฌ†๏ธ Upgrade custom SQLite builds to v3.20.1 (thanks to @swiftlyfalling).
    • The new method Request.asSQLRequest allows to inspect the sql and arguments of any request:

      let request = Player.all()
      let sql = try request.asSQLRequest(db).sql
      print(sql) // Prints "SELECT * FROM players"
      
    • StatementArguments adopts Equatable

    ๐Ÿ›  Fixed

    • DROP TABLE statements would not drop temporary tables.

    ๐Ÿ“š Documentation Diff

    API diff

     extension Request {
    +    func asSQLRequest(_ db: Database, cached: Bool = false) throws -> SQLRequest
    }
    struct SQLRequest {
    +    let sql: String
    +    let arguments: StatementArguments?
    +    let adapter: RowAdapter?
     }
    
  • v2.0.3 Changes

    ๐Ÿš€ Released October 9, 2017 • diff

    ๐Ÿ›  Fixed: Record types that conform to Encodable now encode their null columns.

  • v2.0.2 Changes

    ๐Ÿš€ Released October 5, 2017 • diff

    ๐Ÿ›  Fixed: DROP TABLE statements would not drop tables when run through a prepared statement.

  • v2.0.1 Changes

    ๐Ÿš€ Released September 17, 2017 • diff

    ๐Ÿ›  Fixed: restored support for Swift Package Manager