All Versions
285
Latest Version
Avg Release Cycle
11 days
Latest Release
917 days ago

Changelog History
Page 12

  • v4.4.1 Changes

    April 16, 2020

    ✨ Enhancements

    • ⬆️ Upgrade Xcode 11.4 binaries to Xcode 11.4.1.

    πŸ›  Fixed

    • Fix a "previous <= m_schema_transaction_version_max" assertion failure caused
      by a race condition that could occur after performing a migration. (Since 3.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.4.1.
  • v4.4.0 Changes

    March 26, 2020

    πŸ‘ Swift 4.0 and Xcode 10.3 are now the minimum supported versions.

    ✨ Enhancements

    • πŸ‘ Allow setting the fileUrl for synchronized Realms. An appropriate local path based on the sync URL will still be used if it is not overridden. (PR #6454).
    • βž• Add Xcode 11.4 binaries to the release package.

    πŸ›  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.4.
  • v4.3.2 Changes

    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 Changes

    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 Changes

    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 Changes

    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 Changes

    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 Changes

    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 Changes

    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.
  • v3.21.0 Changes

    November 04, 2019

    ✨ Enhancements

    • βž• Add prebuilt binaries for Xcode 11.2.

    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.