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

Changelog History
Page 10

  • v5.3.6 Changes

    September 02, 2020

    ๐Ÿ›  Fixed

    • โ†ช Work around iOS 14 no longer allowing the use of file locks in shared containers, which resulted in the OS killing an app which entered the background while a Realm was open (#6671).
    • โฌ†๏ธ If an attempt to upgrade a realm has ended with a crash with "migrate_links()" in the call stack, the realm was left in an invalid state. The migration logic now handles this state and can complete upgrading files which were incompletely upgraded by pre-5.3.4 versions.
    • ๐Ÿ›  Fix deadlocks when writing to a Realm file on an exFAT partition from macOS. (#6691).

    Compatibility

    • โฌ†๏ธ File format: Generates Realms with format v10 (Reads and upgrades all previous formats)
    • Realm Object Server: 3.21.0 or later.
    • Realm Studio: 3.11 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.6.

    Internal

    • โฌ†๏ธ Upgraded realm-core from v6.0.19 to v6.0.23
    • โฌ†๏ธ Upgraded realm-sync from v5.0.16 to v5.0.20
  • v5.3.5 Changes

    August 20, 2020

    ๐Ÿ›  Fixed

    • Opening Realms on background threads could produce spurious Incorrect Thread exceptions when a cached Realm existed for a previously existing thread with the same thread ID as the current thread. (#6659, #6689, #6712, since 5.0.0).
    • โฌ†๏ธ Upgrading a table with incoming links but no properties would crash. This was probably not possible to hit in practice as we reject object types with no properties.
    • โฌ†๏ธ Upgrading a non-nullable List which nonetheless contained null values would crash. This was possible due to missing error-checking in some older versions of Realm.

    Compatibility

    • โฌ†๏ธ File format: Generates Realms with format v10 (Reads and upgrades all previous formats)
    • Realm Object Server: 3.21.0 or later.
    • Realm Studio: 3.11 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.6.

    Internal

    • โฌ†๏ธ Upgraded realm-core from v6.0.18 to v6.0.19
    • โฌ†๏ธ Upgraded realm-sync from v5.0.15 to v5.0.16
  • v5.3.4 Changes

    August 17, 2020

    ๐Ÿ›  Fixed

    • Accessing a Realm after calling deleteAll() would sometimes throw an exception with the reason 'ConstIterator copy failed'. (#6597, since 5.0.0).
    • ๐Ÿ›  Fix an assertion failure inside the migrate_links() function when upgrading a pre-5.0 Realm file.
    • ๐Ÿ›  Fix a bug in memory mapping management. This bug could result in multiple different asserts as well as segfaults. In many cases stack backtraces would include members of the EncyptedFileMapping near the top - even if encryption was not used at all. In other cases asserts or crashes would be in methods reading an array header or array element. In all cases the application would terminate immediately. (Core #3838, since v5.0.0).

    Compatibility

    • โฌ†๏ธ File format: Generates Realms with format v10 (Reads and upgrades all previous formats)
    • Realm Object Server: 3.21.0 or later.
    • Realm Studio: 3.11 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.6.

    Internal

    • โฌ†๏ธ Upgraded realm-core from v6.0.14 to v6.0.18
    • โฌ†๏ธ Upgraded realm-sync from v5.0.14 to v5.0.15
  • v5.3.3 Changes

    July 30, 2020

    โœจ Enhancements

    • โž• Add support for the x86_64 watchOS simulator added in Xcode 12.

    ๐Ÿ›  Fixed

    • ๐Ÿ“Œ (RLM)Results objects would incorrectly pin old read transaction versions
      until they were accessed after a Realm was refreshed, resulting in the Realm
      file growing to large sizes if a Results was retained but not accessed after
      every write. (#6677, since 5.0.0).
    • ๐Ÿ›  Fix linker errors when using SwiftUI previews with Xcode 12 when Realm was
      ๐Ÿ“ฆ installed via Swift Package Manager. (#6625)

    Compatibility

    • โฌ†๏ธ File format: Generates Realms with format v10 (Reads and upgrades all previous formats)
    • Realm Object Server: 3.21.0 or later.
    • Realm Studio: 3.11 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.6.

    Internal

    • โฌ†๏ธ Upgraded realm-core from v6.0.12 to v6.0.14
    • โฌ†๏ธ Upgraded realm-sync from v5.0.12 to v5.0.14
  • v5.3.2 Changes

    July 21, 2020

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fix a file format upgrade bug when opening older Realm files. Could cause assertions like "Assertion failed: ref != 0" during opning of a Realm. (Core #6644, since 5.2.0)
    • ๐Ÿ†“ A use-after-free would occur if a Realm was compacted, opened on multiple threads prior to the first write, then written to while reads were happening on other threads. This could result in a variety of crashes, often inside realm::util::EncryptedFileMapping::read_barrier. (Since v5.0.0, #6626, #6628, #6652, #6655, #6656).

    Compatibility

    • โฌ†๏ธ File format: Generates Realms with format v10 (Reads and upgrades all previous formats)
    • Realm Object Server: 3.21.0 or later.
    • Realm Studio: 3.11 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.6.

    Internal

    • โฌ†๏ธ Upgraded realm-core from v6.0.11 to v6.0.12
    • โฌ†๏ธ Upgraded realm-sync from v5.0.11 to v5.0.12
  • v5.3.1 Changes

    July 17, 2020

    โœจ Enhancements

    • โž• Add prebuilt binary for Xcode 11.6 to the release package.

    ๐Ÿ›  Fixed

    • Creating an object inside migration which changed that object type's primary key would hit an assertion failure mentioning primary_key_col (#6613, since 5.0.0).
    • Modifying the value of a string primary key property inside a migration with a Realm file which was upgraded from pre-5.0 would corrupt the property's index, typically resulting in crashes. (Core #3765, since 5.0.0).
    • โฌ†๏ธ Some Realm files which hit assertion failures when upgrading from the pre-5.0 file format should now upgrade correctly (Since 5.0.0).

    Compatibility

    • โฌ†๏ธ File format: Generates Realms with format v10 (Reads and upgrades all previous formats)
    • Realm Object Server: 3.21.0 or later.
    • Realm Studio: 3.11 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.6.

    Internal

    • โฌ†๏ธ Upgraded realm-core from v6.0.9 to v6.0.11
    • โฌ†๏ธ Upgraded realm-sync from v5.0.8 to v5.0.11
  • v5.3.0 Changes

    July 14, 2020

    โœจ Enhancements

    • โž• Add Realm.objectWillChange, which is a Combine publisher that will emit a notification each time the Realm is refreshed or a write transaction is commited.

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fix the spelling of ObjectKeyIdentifiable. The old spelling is available and deprecated for compatiblity.
    • ๐Ÿ“‡ Rename RealmCollection.publisher to RealmCollection.collectionPublisher. The old name interacted with the publisher defined by Sequence in very confusing ways, so we need to use a different name. The publisher name is still available for compatiblity. (#6516)
    • โ†ช Work around "xcodebuild timed out while trying to read SwiftPackageManagerExample.xcodeproj" errors when installing Realm via Carthage. (#6549).
    • ๐Ÿ›  Fix a performance regression when using change notifications. (Since 5.0.0, #6629).

    Compatibility

    • โฌ†๏ธ File format: Generates Realms with format v10 (Reads and upgrades all previous formats)
    • Realm Object Server: 3.21.0 or later.
    • Realm Studio: 3.11 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.5.

    Internal

    • โฌ†๏ธ Upgraded realm-core from v6.0.8 to v6.0.9
    • โฌ†๏ธ Upgraded realm-sync from v5.0.7 to v5.0.8
  • v5.2.0 Changes

    June 30, 2020

    ๐Ÿ›  Fixed

    • ๐Ÿš€ Opening a SyncSession with LOCAL app deployments would not use the correct endpoints. ๐Ÿš€ This release also contains all changes from 5.0.3 and 5.1.0.

    ๐Ÿ’ฅ Breaking Changes

    • The following classes & aliases have been renamed to align Cocoa with the other Realm SDKs:
    Old API New API
    RLMSyncUser RLMUser
    ๐Ÿ”€ SyncUser
    RLMAppCredential RLMCredential
    AppCredential Credential
    RealmApp App
    RLMUserAPIKeyProviderClient RLMAPIKeyAuth
    RLMUsernamePasswordProviderClient RLMEmailPasswordAuth
    UsernamePasswordProviderClient EmailPasswordAuth
    UserAPIKeyProviderClient APIKeyAuth
    • ๐Ÿšš The following functionality has also moved to the User:
    Old API New API
    [RLMApp callFunctionNamed:] [RLMUser callFunctionNamed:]
    App.functions User.functions
    [RLMApp mongoClientWithServiceName:] [RLMUser mongoClientWithServiceName:]
    App.mongoClient(serviceName) User.mongoClient(serviceName)
    [RLMApp userAPIKeyProviderClient] [RLMUser apiKeyAuth]
    App.userAPIKeyProviderClient App.apiKeyAuth()
    [RLMApp logOut:] [RLMUser logOut]
    App.logOut(user) User.logOut()
    ๐Ÿšš [RLMApp removeUser:]
    ๐Ÿšš App.remove(user)
    [RLMApp linkUser:credentials:] [RLMUser linkWithCredentials:]
    App.linkUser(user, credentials) User.link(credentials)
    • The argument labels in Swift have changed for several methods: | Old API | New API | |:-------------------------------------------------------------|:--------------------------------------------------------------| | APIKeyAuth.createApiKey(withName:completion:) | APIKeyAuth.createApiKey(named:completion:) | | App.login(withCredential:completion:) |App.login(credentials:completion:)| |App.pushClient(withServiceName:)|App.pushClient(serviceName:)| |MongoClient.database(withName:)|MongoClient.database(named:)` |

    • refreshCustomData() on User now returns void and passes the custom data to the callback on success.

    Compatibility

    • ๐Ÿš€ This release introduces breaking changes w.r.t some sync classes and MongoDB Realm Cloud functionality. (See the breaking changes section for the full list)
    • โฌ†๏ธ File format: Generates Realms with format v11 (Reads and upgrades all previous formats)
    • MongoDB Realm: 84893c5 or later.
    • ๐Ÿš€ APIs are backwards compatible with all previous releases in the 10.0.0-alpha series.
    • Realm Studio: 10.0.0 or later.
    • ๐Ÿš€ Carthage release for Swift is built with Xcode 11.5.

    Internal

    • โฌ†๏ธ Upgraded realm-core from v6.0.3 to v10.0.0-beta.1
    • โฌ†๏ธ Upgraded realm-sync from v5.0.1 to v10.0.0-beta.2
  • v5.1.0 Changes

    June 22, 2020

    โœจ Enhancements

    • ๐Ÿ‘ Allow opening full-sync Realms in read-only mode. This disables local schema
      ๐ŸŽ‰ initialization, which makes it possible to open a Realm which the user does
      not have write access to without using asyncOpen. In addition, it will report
      errors immediately when an operation would require writing to the Realm
      ๐Ÿ”€ rather than reporting it via the sync error handler only after the server
      rejects the write.

    ๐Ÿ›  Fixed

    • ๐Ÿ”ง Opening a Realm using a configuration object read from an existing Realm
      would incorrectly bind the new Realm to the original Realm's thread/queue,
      resulting in "Realm accessed from incorrect thread." exceptions.
      (#6574,
      #6559, since 5.0.0).

    Compatibility

    • โฌ†๏ธ File format: Generates Realms with format v10 (Reads and upgrades all previous formats)
    • Realm Object Server: 3.21.0 or later.
    • Realm Studio: 3.11 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.5.
  • v5.0.3 Changes

    June 10, 2020

    ๐Ÿ›  Fixed

    • -[RLMObject isFrozen] always returned false. (#6568, since 5.0.0).
    • ๐Ÿ‘ป Freezing an object within the write transaction that the object was created in now throws an exception rather than crashing when the object is first used.
    • The schema for frozen Realms was not properly initialized, leading to crashes when accessing a RLMLinkingObjects property. (#6568, since 5.0.0).
    • โš  Observing Object.isInvalidated via a keypath literal would produce a warning in Swift 5.2 due to the property not being marked as @objc. (#6554)

    Compatibility

    • โฌ†๏ธ File format: Generates Realms with format v10 (Reads and upgrades all previous formats)
    • Realm Object Server: 3.21.0 or later.
    • Realm Studio: 3.11 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.5.