GRDB.swift breaking changes

cocoapods

17 curated breaking changes across major versions of GRDB.swift. Use this as a migration checklist before bumping dependencies.

17
changes
Breaking changes by transition
  • v7.8.0 \u2192 v7.9.0breaking

    **BREAKING CHANGE**: Accept multiple SQLCipher libraries by @groue in https://github.com/groue/GRDB.swift/pull/1819 This change aims at easing building GRDB against various SQLCipher flavors. **The compiler flag that enables new GRDB APIs for SQLCipher is now `SQLITE_HAS_CODEC`.**

  • v7.8.0 \u2192 v7.9.0breaking

    Fix cancellation of async tasks that use the FTS5 full-text engine. by @groue in https://github.com/groue/GRDB.swift/pull/1839 This workarounds an [SQLite bug](https://sqlite.org/forum/forumpost/137c7662b389fa18) that would trigger a GRDB crash, and improves the robustness of the library regarding cancellation and interruption of database accesses.

  • v7.8.0 \u2192 v7.9.0breaking

    Improve the ergonomics of [`DatabaseMigrator.registerMigration(_:foreignKeyChecks:merging:migrate)`](https://swiftpackageindex.com/groue/grdb.swift/documentation/grdb/databasemigrator/registermigration(_:foreignkeychecks:merging:migrate:)) by accepting that the name of the merged migration is included in the set of merged migrations: ```swift // Used to fail, now OK: migrator.registerMigration("v3", merging: ["v1", "v2", "v3"]) { ... } // ~~~~ ~~~~ // The above code is equivalent to: migrator.re

  • v7.4.1 \u2192 v7.5.0breaking

    enum Columns { ... }

  • v7.4.1 \u2192 v7.5.0breaking

    `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.

  • v7.4.1 \u2192 v7.5.0breaking

    public enum Columns { ... } } ```

  • v7.4.1 \u2192 v7.5.0breaking

    If you define a `public` record type with a nested `Columns` enum, you have to make this enum `public` as well. ```diff public struct Player: FetchableRecord, PersistableRecord {

  • v6.29.3 \u2192 v7.0.0-beta.2breaking

    **Breaking Change**: Coding strategies depend on the column by [@groue](https://github.com/groue) in [#1606](https://github.com/groue/GRDB.swift/pull/1606)

  • v6.29.3 \u2192 v7.0.0-beta.2breaking

    **Breaking Change**: Enhance ergonomics of record methods that insert/save/upsert and fetch by [@groue](https://github.com/groue) in [#1599](https://github.com/groue/GRDB.swift/pull/1599)

  • v6.29.3 \u2192 v7.0.0-beta.2breaking

    **Breaking Change**: Rename the CSQLite module to GRDBSQLite, and stop exporting the C SQLite functions by [@groue](https://github.com/groue) in [#1600](https://github.com/groue/GRDB.swift/pull/1600)

  • v6.29.3 \u2192 v7.0.0-beta.2breaking

    **Breaking Change**: Perform all writes with immediate transactions by default by [@groue](https://github.com/groue) in [#1602](https://github.com/groue/GRDB.swift/pull/1602)

  • v6.29.3 \u2192 v7.0.0-beta.2breaking

    **Breaking Change**: Remove DatabasePool.concurrentRead by [@groue](https://github.com/groue) in [#1603](https://github.com/groue/GRDB.swift/pull/1603)

  • v7.0.0-beta.7 \u2192 v7.0.0breaking

    **Breaking Change**: enhance ergonomics of record methods that insert/save/upsert and fetch by @groue in https://github.com/groue/GRDB.swift/pull/1599

  • v7.0.0-beta.7 \u2192 v7.0.0breaking

    **Breaking Change**: Rename the CSQLite module to GRDBSQLite, and stop exporting the C SQLite functions. by @groue in https://github.com/groue/GRDB.swift/pull/1600

  • v7.0.0-beta.7 \u2192 v7.0.0breaking

    **Breaking Change**: Perform all writes with immediate transactions by default by @groue in https://github.com/groue/GRDB.swift/pull/1602

  • v7.0.0-beta.7 \u2192 v7.0.0breaking

    **Breaking Change**: Remove DatabasePool.concurrentRead by @groue in https://github.com/groue/GRDB.swift/pull/1603

  • v7.0.0-beta.7 \u2192 v7.0.0breaking

    **Breaking Change**: Coding strategies depend on the column by @groue in https://github.com/groue/GRDB.swift/pull/1606

API access

Get this data programmatically \u2014 free, no authentication.

curl https://depscope.dev/api/breaking/cocoapods/GRDB.swift
GRDB.swift breaking changes — CocoaPods migration guide | DepScope