All Versions
176
Latest Version
Avg Release Cycle
16 days
Latest Release
42 days ago

Changelog History
Page 1

  • v5.0.0-beta.2

    January 14, 2020

    Based on 4.3.0 and also includes all changes since 4.1.1.

    πŸ›  Fixed

    • πŸ›  Fix compilation when using CocoaPods targeting iOS versions older than 11 (since 5.0.0-alpha).

    Compatibility

    • ⬆️ File format: Generates Realms with format v10 (Reads and upgrades all previous formats)
    • 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-beta.2 to v6.0.0-beta.3
    • ⬆️ Upgraded realm-sync from v5.0.0-beta.1 to v5.0.0-beta.2
  • v5.0.0-beta.1

    December 14, 2019

    ⬇️ 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
  • v5.0.0-alpha.1

    November 18, 2019

    ⬇️ 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. This automatic upgrade process is not yet well tested. Do not open Realm files with data you care about with this alpha version.

    πŸ’₯ 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.

    Compatibility

    • ⬆️ File format: Generates Realms with format v10 (Reads and upgrades v9)
    • Realm Object Server: 3.21.0 or later.
    • πŸš€ Carthage release for Swift is built with Xcode 11.2.

    Internal

    • ⬆️ Upgraded realm-core from 5.23.6 to v6.0.0-alpha.24.
    • ⬆️ Upgraded realm-sync from 4.8.2 to 4.7.1-core6.5.
  • v4.3.2

    February 06, 2020

    ✨ Enhancements

    • πŸš€ Similar to autoreleasepool(), realm.write() now returns the value which the block passed to it returns. Returning Void from the block is still allowed.

    πŸ›  Fixed

    • πŸ›  Fix a memory leak attributed to property_copyAttributeList the first time a Realm is opened when using Realm Swift. (#6409, since 4.0.0).
    • πŸ”€ Connecting to a realms: sync URL would crash at runtime on iOS 11 (and no other iOS versions) inside the SSL validation code. (Since 4.3.1).

    Compatibility

    • ⬆️ File format: Generates Realms with format v9 (Reads and upgrades all previous formats)
    • Realm Object Server: 3.21.0 or later.
    • πŸš€ Carthage release for Swift is built with Xcode 11.3.

    Internal

    • ⬆️ Upgraded realm-sync from 4.9.4 to 4.9.5.
  • v4.3.1

    January 16, 2020

    ✨ Enhancements

    • ⬇️ Reduce the encrypted page reclaimer's impact on battery life when encryption is used. (Core #3461).

    πŸ›  Fixed

    • πŸš€ 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).
    • A NOT query on a List<Object> which happened to have the objects in a different order than the underlying table would sometimes include the object immediately before an object which matches the query. (#6289, since 0.90.0).

    Compatibility

    • ⬆️ File format: Generates Realms with format v9 (Reads and upgrades all previous formats)
    • Realm Object Server: 3.21.0 or later.
    • πŸš€ Carthage release for Swift is built with Xcode 11.3.

    Internal

    • ⬆️ Upgraded realm-core from 5.23.6 to 5.23.8.
    • ⬆️ Upgraded realm-sync from 4.9.0 to 4.9.4.
  • v4.3.0

    December 19, 2019

    ✨ Enhancements

    • βž• Add the ability to set a custom logger function on RLMSyncManager which is called instead of the default NSLog-based logger.
    • πŸ”¦ Expose configuration options for the various types of sync connection timeouts and heartbeat intervals on RLMSyncManager.
    • βž• Add an option to have Realm.asyncOpen() report an error if the connection times out rather than swallowing the error and attempting to reconnect until it succeeds.

    πŸ›  Fixed

    • πŸ›  Fix a crash when using value(forKey:) on a LinkingObjects property (including when doing so indirectly, such as by querying on that property). (#6366, since 4.0.0).
    • Fix a rare crash in ClientHistoryImpl::integrate_server_changesets() which would only happen in Debug builds (since v3.0.0).

    Compatibility

    • ⬆️ File format: Generates Realms with format v9 (Reads and upgrades all previous formats)
    • Realm Object Server: 3.21.0 or later.
    • πŸš€ Carthage release for Swift is built with Xcode 11.3.

    Internal

    • ⬆️ Upgraded realm-sync from 4.8.2 to 4.9.0.
  • v4.2.0

    December 16, 2019

    ✨ Enhancements

    • βž• Add -[RLMRealm fileExistsForConfiguration:]/Realm.fileExists(for:),
      πŸ”§ which checks if a local Realm file exists for the given configuration.
    • βž• Add -[RLMRealm deleteFilesForConfiguration:]/Realm.deleteFiles(for:)
      πŸ”§ to delete the Realm file and all auxiliary files for the given configuration.

    πŸ›  Fixed

    • None.

    Compatibility

    • ⬆️ File format: Generates Realms with format v9 (Reads and upgrades all previous formats)
    • Realm Object Server: 3.21.0 or later.
    • πŸš€ Carthage release for Swift is built with Xcode 11.3.
  • v4.1.1

    November 18, 2019

    πŸ›  Fixed

    • ⚑️ The UpdatePolicy passed to realm.add() or realm.create() was not properly propagated when adding objects within a List, which could result in spurious change notifications when using .modified. (#6321, since v3.16.0)
    • πŸ›  Fix a rare deadlock when a Realm collection or object was observed, then refresh() was explicitly called, and then the NotificationToken from the observation was destroyed on a different thread (since 0.98.0).

    Compatibility

    • ⬆️ File format: Generates Realms with format v9 (Reads and upgrades all previous formats)
    • Realm Object Server: 3.21.0 or later.
    • πŸš€ Carthage release for Swift is built with Xcode 11.2.
  • v4.1.0

    November 13, 2019

    ✨ Enhancements

    • πŸ‘Œ Improve performance of queries over a link where the final target property has an index.
    • βͺ Restore support for storing @objc enum properties on RealmSwift.Object subclasses (broken in 4.0.0), and add support for storing them in RealmOptional properties.

    πŸ›  Fixed

    • πŸ”€ The sync client would fail to reconnect after failing to integrate a changeset. The bug would lead to further corruption of the client’s Realm file. (RSYNC-48, since v3.2.0).
    • ⚑️ The UpdatePolicy passed to realm.add() or realm.create() was not properly propagated when adding objects within a List, which could result in spurious change notifications when using .modified. (#6321, since v3.16.0)
    • πŸ›  Fix a rare deadlock when a Realm collection or object was observed, then refresh() was explicitly called, and then the NotificationToken from the observation was destroyed on a different thread (since 0.98.0).

    Compatibility

    • ⬆️ File format: Generates Realms with format v9 (Reads and upgrades all previous formats)
    • Realm Object Server: 3.21.0 or later.
    • πŸš€ Carthage release for Swift is built with Xcode 11.2.

    Internal

    • ⬆️ Upgraded realm-core from 5.23.5 to 5.23.6.
    • ⬆️ Upgraded realm-sync from 4.7.11 to 4.8.2
  • v4.0.0

    November 08, 2019

    πŸ’₯ Breaking Changes

    • 🚚 All previously deprecated functionality has now been removed entirely.
    • The schema discovery logic for RealmSwift.Object subclasses has been rewritten in Swift. This should not have any effect on valid class definitions, but there may be types of invalid definitions which previously worked by coincidence and no longer do.
    • πŸ”€ SyncSubscription no longer has a generic type parameter, as the type was not actually used for anything.
    • The following Swift types have changed from final class to struct:
      • AnyRealmCollection
      • LinkingObjects
      • ObjectiveCSupport
      • Realm
      • Results
      • SyncSubscription
      • ThreadSafeReference There is no intended change in semantics from this, but certain edge cases may behave differently.
    • The designated initializers defined by RLMObject and Object other than zero-argument init have been replaced with convenience initializers.
    • The implementation of the path-based permissions API has been redesigned to accomodate changes to the server. This should be mostly a transparent change, with two main exceptions:
      1. SyncPermission objects are no longer live Realm objects, and retrieving permissions gives an Array rather than Results. Getting up-to-date permissions now requires calling retrievePermissions() again rather than observing the permissions.
      2. The error codes for permissions functions have changed. Rather than a separate error type and set of error codes, permission functions now produce SyncAuthErrors.

    ✨ Enhancements

    • πŸ‘Œ Improve performance of initializing Realm objects with List properties.

    πŸ›  Fixed

    • None.

    Compatibility

    • ⬆️ File format: Generates Realms with format v9 (Reads and upgrades all previous formats)
    • Realm Object Server: 3.21.0 or later.
    • πŸš€ Carthage release for Swift is built with Xcode 11.2.