Realm v5.0.0-beta.1 Release Notes

Release Date: 2019-12-14 // over 4 years ago
  • โฌ‡๏ธ NOTE: This version bumps the Realm file format to version 10. It is not possible to downgrade version 9 or earlier. Files created with older versions of Realm will be automatically upgraded. Be sure to back up any data you care about before opening it with this version of Realm as it is still in beta.

    โœจ Enhancements

    • ๐ŸŽ String primary keys no longer require a separate index, improving insertion and deletion performance without hurting lookup performance.
    • โฌ‡๏ธ Reduce the encrypted page reclaimer's impact on battery life when encryption is used. (Core #3461).
    • Storing large binary blobs in Realm files no longer forces the file to be at least 8x the size of the largest blob.
    • โฌ‡๏ธ Reduce the size of transaction logs stored inside the Realm file, reducing file size growth from large transactions.

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fix an error when a table-backed Results was accessed immediately after deleting the object previously at the index being accessed (since 5.0.0-alpha.1).
    • ๐Ÿš€ macOS binaries were built with the incorrect deployment target (10.14 rather than 10.9), resulting in linker warnings. (#6299, since 3.18.0).
    • An internal datastructure for List properties could be double-deleted if the last reference was released from a thread other than the one which the List was created on at the wrong time. This would typically manifest as "pthread_mutex_destroy() failed", but could also result in other kinds of crashes. (#6333).
    • Sorting on float or double properties containing NaN values had inconsistent results and would sometimes crash due to out-of-bounds memory accesses. (#6357).

    ๐Ÿ’ฅ Breaking Changes

    • Files containing Date properties written by version of Realm prior to 1.0 can no longer be opened.
    • ๐Ÿ—„ Files containing Any properties can no longer be opened. This property type was never documented and was deprecated in 1.0.

    Known Issues

    • Changing which property of an object is the primary key in a migration will break incoming links to objects of that type.
    • Changing the primary key of an object with Data properties in a migration will crash.
    • Results notifications after deleting all objects of a type (i.e. realm.delete(realm.objects(MyType.self)) with no filter) will sometimes be incorrect.

    Compatibility

    • โฌ†๏ธ File format: Generates Realms with format v10 (Reads and upgrades v9)
    • Realm Object Server: 3.21.0 or later.
    • ๐Ÿš€ APIs are backwards compatible with all previous releases in the 5.x.y series.
    • ๐Ÿš€ Carthage release for Swift is built with Xcode 11.3.

    Internal

    • โฌ†๏ธ Upgraded realm-core from v6.0.0-alpha.24 to v6.0.0-beta.2
    • โฌ†๏ธ Upgraded realm-sync from 4.7.1-core6.5 to v5.0.0-beta.1