GRDB.swift v0.12.0 Release Notes

  • ๐Ÿš€ Released September 6, 2015

    ๐Ÿ†• New

    • RowConvertible and DatabaseTableMapping protocols grant any type the fetching methods that used to be a privilege of RowModel.
    • Row.columnNames returns the names of columns in the row.
    • Row.databaseValues returns the database values in the row.
    • Blob.init(bytes:length:) is a new initializer.
    • DatabaseValueConvertible can now be adopted by non-final classes.
    • NSData, NSDate, NSNull, NSNumber and NSString adopt DatabaseValueConvertible and can natively be stored and fetched from a database.

    ๐Ÿ’ฅ Breaking changes

    • ๐Ÿšš DatabaseDate has been removed (replaced by built-in NSDate support).
    • DatabaseValueConvertible: init?(dbValue:) has been replaced by static func fromDatabaseValue(_:) -> Self?
    • Blob.init(_:) has been replaced with Blob.init(data:) and Blob.init(dataNoCopy:).
    • ๐Ÿ‘€ RowModel.edited has been renamed RowModel.databaseEdited.
    • RowModel.databaseTable has been replaced with RowModel.databaseTableName() which returns a String.
    • โšก๏ธ RowModel.setDatabaseValue(_:forColumn:) has been removed. Use and override RowModel.updateFromRow(_:) instead.
    • RowModel.didFetch() has been renamed RowModel.awakeFromFetch()