All Versions
83
Latest Version
Avg Release Cycle
22 days
Latest Release
567 days ago

Changelog History
Page 3

  • v10.4.0 Changes

    August 31, 2021

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fixed an issue that would cause Logger.Default on Unity to always revert to Debug.Log, even when a custom logger was set. (Issue #2481)
    • ๐Ÿ›  Fixed an issue where Logger.Console on Unity would still use Console.WriteLine instead of Debug.Log. (Issue #2481)
    • โž• Added serialization annotations to RealmObjectBase to prevent Newtonsoft.Json and similar serializers from attempting to serialize the base properties. (Issue #2579)
    • ๐Ÿ›  Fixed an issue that would cause an InvalidOperationException when removing an element from an UI-bound collection in WPF. (Issue #1903)
    • โฌ†๏ธ User profile now correctly persists between runs. (Core upgrade)
    • ๐Ÿ›  Fixed a crash when delivering notifications over a nested hierarchy of lists of RealmValue that contain RealmObject inheritors. (Core upgrade)
    • ๐Ÿ›  Fixed a crash when an object which is linked to by a RealmValue property is invalidated (sync only). (Core upgrade)
    • ๐Ÿ›  Fixes prior_size history corruption when replacing an embedded object in a list. (Core upgrade)
    • ๐Ÿ›  Fixed an assertion failure in the sync client when applying an AddColumn instruction for a RealmValue property when that property already exists locally. (Core upgrade)
    • ๐Ÿ›  Fixed an Invalid data type assertion failure in the sync client when applying an AddColumn instruction for a RealmValue property when that property already exists locally. (Core upgrade)

    โœจ Enhancements

    • โž• Added two extension methods on IList to get an IQueryable collection wrapping the list:
      • list.AsRealmQueryable() allows you to get a IQueryable<T> from IList<T> that can be then treated as a regular queryable collection and filtered/ordered with LINQ or Filter(string).
      • list.Filter(query, arguments) will filter the list and return the filtered collection. It is roughly equivalent to list.AsRealmQueryable().Filter(query, arguments).

    The resulting queryable collection will behave identically to the results obtained by calling realm.All<T>(), i.e. it will emit notifications when it changes and automatically update itself. (Issue #1499)

    • โž• Added a cache for the Realm schema. This will speed up Realm.GetInstance invocations where RealmConfiguration.ObjectClasses is explicitly set. The speed gains will depend on the number and complexity of your model classes. A reference benchmark that tests a schema containing all valid Realm property types showed a 25% speed increase of Realm.GetInstance. (Issue #2194)
    • ๐Ÿ‘Œ Improve performance of creating collection notifiers for Realms with a complex schema. In the SDKs this means that the first run of a synchronous query, first call to subscribe for notifications will do significantly less work on the calling thread.
    • ๐Ÿ‘Œ Improve performance of calculating changesets for notifications, particularly for deeply nested object graphs and objects which have List or Set properties with small numbers of objects in the collection.
    • โฌ†๏ธ Query parser now accepts BETWEEN operator. Can be used like realm.All<Person>().Filter("Age BETWEEN {20, 60}") which means "'Age' must be in the open interval ]20;60[". (Core upgrade)

    Compatibility

    • Realm Studio: 11.0.0 or later.

    Internal

    • Using Core 11.3.1.
    • Removed the RealmStates dictionary that used to hold a threadlocal dictionary of all the states for the opened Realms. It was only used for detecting open Realms during deletion and that is now handled by the native delete_realm_files method. (PR #2251)
    • ๐Ÿ“ˆ Stopped sending analytics to mixpanel.
    • Started uploading benchmark results to MongoDB Charts. (Issue #2226)
    • โœ‚ Removed the dedicated benchmark workflows from GHA. (Issue #2562)
    • ๐Ÿ Use the Win81 SDK when building the Windows wrappers on Github Actions. (Issue #2530)
    • โž• Added CodeQL workflow. (Issue #2155)
    • ๐Ÿ“ฆ Started tracking package and wrapper sizes over time. (Issue #2225)
    • โœ‚ Removed the [Serializable] attribute from RealmObjectBase as BinarySerializer is now obsolete. (PR #2578)
    • โž• Added code coverage job to Github Actions. (PR #2581)
    • โž• Added CI tests running on Windows 8.1 . (PR #2580)
  • v10.3.0 Changes

    July 07, 2021

    Note: This release uses xcframework and enables bitcode for the iOS native libraries. This significantly increases the package size and may appear to increase the .ipa size when compiling for iOS. However, the bitcode portion, as well as the unnecessary architectures, will be trimmed by the App Store, so the size of the actual download sent to users will be unchanged or smaller than before.

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fixed an issue that would prevent realm-wrappers.dll from being loaded on Windows 8.1. (Issue #2298)
    • ๐Ÿ›  Fixed an assertion failure when listening for changes to a list of primitive Mixed which contains links. (Core upgrade)
    • ๐Ÿ›  Fixed an assertion failure when listening for changes to a dictionary or set which contains an invalidated link. (Core upgrade)
    • ๐Ÿ›  Fixed an endless recursive loop that could cause a stack overflow when computing changes on a set of objects which contained cycles. (Core upgrade)
    • โž• Add collision handling to Dictionary implementation. (Core upgrade)
    • ๐Ÿ›  Fixed a crash after clearing a list or set of Mixed containing links to objects. (Core upgrade)
    • ๐Ÿ›  Fixed a recursive loop which would eventually crash trying to refresh a user app token when it had been revoked by an admin. Now this situation logs the user out and reports an error. (Core upgrade)
    • ๐Ÿ›  Fixed a race between calling Realm.DeleteRealm and concurrent opening of the realm file. (Core upgrade)
    • [Unity] Added code to preserve the constructors of several base serializers to ensure that most of the basic serialization/deserialization workloads work out of the box. (PR #2489)

    โœจ Enhancements

    • ๐Ÿ”„ Changed the native iOS library to use xcframework. This means that running in the simulator on M1 macs is now supported. (Issue #2240)
    • โž• Added bitcode to the native iOS library. This has no effect on Xamarin.iOS, but allows Unity applications to take advantage of optimizations performed by the App Store servers and eventually support new architectures as they are released. (Issue #2240)

    Compatibility

    • Realm Studio: 11.0.0 or later.
    • ๐Ÿš€ This release uses xcframework for the iOS native libraries, which requires Xamarin.iOS 14.14.2.5 or later.

    Internal

    • Using Core 11.0.4.
  • v10.2.1 Changes

    June 30, 2021

    ๐Ÿš€ This release changes the way Unity binaries are packaged and obviates the need to have an extra Unity package that contains the dependencies as standalone modules. If you were using the io.realm.unity-bundled package, please remove it and add the newly released io.realm.unity one.

    ๐Ÿ›  Fixed

    • ๐Ÿ”Š [Unity] Fixed an issue where failing to weave an assembly due to modeling errors, would only show an error in the logs once and then fail opening a Realm with No RealmObjects. Has linker stripped them?. Now, the weaving errors will show up on every code change/weave attempt and the runtime error will explicitly suggest manually re-running the weaver. (Issue #2310)
    • ๐Ÿ”€ [Unity] Fixed an issue that would cause the app to hang on exit when using Sync. (PR #2467)
    • ๐ŸŽ [Unity] Fixed an issue that would cause the Unity editor on macOS to hang after assembly reload if the app uses Sync. (Issue #2482)
    • ๐Ÿ›  Fixed an issue where a crash could happen on Android x86 due to converting UInt32 into TableKey and Int64 into ObjKey incorrectly. (Issue #2456)

    โœจ Enhancements

    • None

    Compatibility

    • Realm Studio: 11.0.0 or later.

    Internal

    • Using Core 11.0.3.
    • GetHashCode() on objects now uses the table key in addition to the object key. (Issue #2473)
  • v10.2.0 Changes

    June 15, 2021

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fixed a bug where applying multiple OrderBy clauses on a query would result in the clauses being appended to each other as if they were .ThenBy rather than the last clause replacing the preceding ones. (PR #2255)
    • ๐Ÿ”€ When explicitly specifying SyncConfiguration.ObjectTypes, added a check to validate the schema and ensure all EmbeddedObject classes are reachable from a class inheriting from RealmObject. More info about this subject can be found ๐Ÿ“„ here. (PR #2259)
    • Fixed a bug that would result in an error similar to Undefined symbols for architecture xxx: "_realm_thread_safe_reference_destroy" ๐Ÿ— when building a Unity project for iOS. (Issue #2318)
    • ๐Ÿ‘ The weaver will now emit an error if you try to define a collection of RealmInteger values. This has never been supported, but previously it would fail silently whereas now it'll be a compile time error. (Issue #2308)
    • ๐Ÿ›  Fixed an issue where using collections of managed objects (lists or results) in a Unity project would result in an invalid compiled binary. (PR #2340)
    • ๐Ÿ›  Fixed a memory leak when a migration callback is defined, but the Realm didn't actually need to run it (PR #2331)
    • โž• Added back 32bit support for iOS builds. (Issue #2429)
    • โœ‚ Removed redundant warnings when building a Unity project for device that mentioned that the schema for Realm and Realm.UnityUtils is empty. (Issue #2320)
    • ๐Ÿ›  Fixed an issue that could cause NullReferenceException to be thrown if you set SyncConfiguration.OnProgress to null shortly ๐Ÿ”€ after calling Realm.GetInstanceAsync(syncConfig). (Issue #2400)
    • ๐Ÿ”€ When replacing an embedded object, emit a sync instruction that sets the link to the embedded object to null so that it is properly cleared. This resolves an issue that would have manifested itself as Failed to parse, or apply received changeset: ERROR: ArrayInsert: Invalid prior_size (list size = 4, prior_size = 0) (#4740
    • ๐Ÿง Made Linux implementation of ExternalCommitHelper work with new versions of Linux that ๐Ÿง changed epoll behavior, including Android 12 (Issue #4666)
    • The file format is changed in the way that we now - again - have search indexes on primary key columns. This is required as we now stop deriving the ObjKeys from the primary key values, but just use an increasing counter value. This has the effect that all new objects will be created in the same โฌ†๏ธ cluster and not be spread out as they would have been before. It also means that upgrading from file format version 11 and earlier formats will be much faster. (Core upgrade)

    โœจ Enhancements

    • โž• Add support for the Guid data type. It can be used as primary key and is indexable. (PR #2120)
    • โž• Add support for dictionaries. Currently only string keys are supported, while the value type may be any of the supported types (the primitive types, RealmValue, or custom types that inherit from RealmObject/EmbeddedObject). Lists, sets, or other dictionaries may not be used as the value type. To add a dictionary to your model, define a getter-only property of type IDictionary<string, T>:
      public class MyObject : RealmObject
      {
          public IDictionary<string, decimal> Denominations { get; }
      }
    
      // Realm will automatically manage the underlying dictionary, so there's no need
      // to define a constructor  or assign it to some value.
    
      var obj = new MyObject();
      obj.Denominations.Add("quarter", 0.25d);
    
    • โž• Add support for RealmValue data type. This new type can represent any valid Realm data type, including objects. Collections ๐Ÿ‘ (lists, sets and dictionaries) of RealmValue are also supported, but RealmValue itself cannot contain collections. Please note that a property of type RealmValue cannot be nullable, but can contain null, represented by the value RealmValue.Null. (PR #2252)
      public class MyObject : RealmObject
      {
          public RealmValue MyValue { get; set; }
    
          public IList<RealmValue> ValuesList { get; }
    
          public ISet<RealmValue> ValuesSet { get; }
    
          public IDictionary<string, RealmValue> ValuesDict { get; }
      }
    
      var obj = new MyObject();
      obj.MyValue = RealmValue.Null;
      obj.MyValue = 1;
      obj.MyValue = "abc";
    
      if (obj.MyValue.Type == RealmValueType.String)
      {
          var myString = obj.MyValue.AsString();
      }
    
    • โž• Add support for sets of objects or primitive values. Sets are unordered collections that ensure uniqueness of their elements. Realm uses its internal equality comparer and it is not possible to customize its behavior by overriding Equals or GetHashCode on your custom classes. Objects will always be compared by db reference - i.e. two distinct objects in the database will always be different, even if their contents are identical, and multiple references to the same database object will always be equal. ```csharp public class MyObject : RealmObject { public ISet UniqueStrings { get; } }

    // Realm will automatically manage the underlying set, so there's no need // to define a constructor or assign it to some value.

    var obj = new MyObject(); var didAdd = obj.UniqueStrings.Add("foo"); // true didAdd = obj.UniqueStrings.Add("foo"); // false

    * โž• Added support for value substitution in string based queries. This enables expressions following
    ๐Ÿ“„ [this syntax](https://github.com/realm/realm-js/blob/master/docs/tutorials/query-language.md): `realm.All<T>().Filter("field1 = $0 && field2 = $1", 123, "some-string-value")`.
    (Issue [#1822](https://github.com/realm/realm-dotnet/issues/1822))
    * โฌ‡๏ธ Reduced the size of the native binaries by ~5%. (PR [#2239](https://github.com/realm/realm-dotnet/pull/2239))
    * โž• Added a new class - `Logger`, which allows you to override the default logger implementation (previously writing to `stdout` or `stderr`) with a custom one by setting
    ๐Ÿš€ `Logger.Default`. This replaces `AppConfiguration.CustomLogger` and `AppConfiguration.LogLevel` which will be removed in a future release. The built-in implementations are:
      * `Console` - uses the `System.Console` for most projects and `UnityEngine.Debug` for Unity projects: `Logger.Default = Logger.Console;`
      * `Null` - ignores all messages: `Logger.Default = Logger.Null;`
      * `Function` - proxies calls to a supplied function: `Logger.Default = Logger.Function(message => myExternalLogger.Log(message));`
    
      Custom loggers can derive from the `Logger` class and provide their own implementation for the `Log` method or use `Function` and provide an `Action<string>`. (PR [#2276](https://github.com/realm/realm-dotnet/pull/2276))
    * `RealmObjectBase` now correctly overrides and implements `GetHashCode()`. (Issue [#1650](https://github.com/realm/realm-dotnet/issues/1650))
    * โž• Added an override of `RealmObject.ToString()` to output more meaningful information about the object content. It will output
    the type of the object, the primary key (if one is defined), as well as information whether the object is managed or deleted.
    (Issue [#2347](https://github.com/realm/realm-dotnet/pull/2347))
    * โž• Added new API for dynamically accessing object properties. These are designed to support
    ahead-of-time compiled platforms, such as Xamarin.iOS and Unity with IL2CPP compilation. The
    0๏ธโƒฃ intention is to eventually make these the default API, while also supporting the legacy DLR-based
    API. Example:
      ```csharp
      // Make sure to cast away the dynamic immediately on AOT platforms.
      var people = (IQueryable<RealmObject>)realm.DynamicApi.All("Person");
      foreach (var person in people)
      {
          var firstName = person.DynamicApi.Get<string>("FirstName");
          var address = person.DynamicApi.Get<EmbeddedObject>("Address");
          var city = address.DynamicApi.Get<string>("City");
      }
    
      // When casting a dynamic object, always cast first to object and then
      // to the actual object type to remove any callsites being generated.
      var newPerson = (RealmObject)(object)realm.DynamicApi.Create("Person", 123);
      newPerson.DynamicApi.Set("FirstName", "Peter");
    
    • โž• Added a Unity Editor option to enable weaving editor assemblies. This should be "off" unless your project has Editor assemblies โœ… that reference Realm - for example, an EditMode test assembly that tests Realm-related functionality. Keeping it "on" may slow down ๐Ÿ— builds a little as more assemblies will need to be evaluated for weaving. (Issue #2346)
    • โฌ†๏ธ We now make a backup of the realm file prior to any file format upgrade. The backup is retained for 3 months. โฌ†๏ธ Backups from before a file format upgrade allows for better analysis of any upgrade failure. We also restore a backup, if a) an attempt is made to open a realm file whith a "future" file format and b) a backup file exist that fits the current file format. (#4166)

    Compatibility

    • Realm Studio: 11.0.0-alpha.0 or later.

    Internal

    • Using Core 11.0.3.
    • ๐Ÿ— Enabled LTO builds for all platforms except Android. (PR #2239)
    • โšก๏ธ Test projects updated to dotnetcore 3.1. This means that tests are no longer executed against dotnetcore 2.0.
    • โœ‚ Removed Lambda compilation in ResultsVisitor when we encounter a conversion operator. This is needed because IL2CPP cannot comiple lambdas dynamically. Instead, we're now using Operator.Convert<TTarget>(object) which is slightly less efficient than Operator.Convert<TSource, TTarget> but still quite a bit faster than Convert.ChangeType and also doesn't suffer from the deficiencies around Decimal128 conversion. The main downside is that we'll no longer support queries with an argument that is a custom user type with an implicit conversion operator defined.
  • v10.2.0-beta.2 Changes

    May 05, 2021

    ๐Ÿ›  Fixed

    • Fixed a bug that would result in an error similar to Undefined symbols for architecture xxx: "_realm_thread_safe_reference_destroy" when building a Unity project for iOS. (Issue #2318)
    • ๐Ÿ‘ The weaver will now emit an error if you try to define a collection of RealmInteger values. This has never been supported, but previously it would fail silently whereas now it'll be a compile time error. (Issue #2308)
    • ๐Ÿ›  Fixed an issue where using collections of managed objects (lists or results) in a Unity project would result in an invalid compiled binary. (PR #2340)
    • ๐Ÿ›  Fixed a memory leak when a migration callback is defined, but the Realm didn't actually need to run it (PR #2331)

    โœจ Enhancements

    • โž• Added an override of RealmObject.ToString() to output more meaningful information about the object content. It will output the type of the object, the primary key (if one is defined), as well as information whether the object is managed or deleted. (Issue #2347)

    Compatibility

    • Realm Studio: 10.0.0 or later.

    Internal

    • Using Core 11.x.y. (it's in flux)
    • โœ‚ Removed Lambda compilation in ResultsVisitor when we encounter a conversion operator. This is needed because IL2CPP cannot comiple lambdas dynamically. Instead, we're now using Operator.Convert<TTarget>(object) which is slightly less efficient than Operator.Convert<TSource, TTarget> but still quite a bit faster than Convert.ChangeType and also doesn't suffer from the deficiencies around Decimal128 conversion. The main downside is that we'll no longer support queries with an argument that is a custom user type with an implicit conversion operator defined.
  • v10.2.0-beta.1 Changes

    April 12, 2021

    ๐Ÿ›  Fixed

    • Fixed an issue that would result in UWP apps being rejected from the Microsoft Store due to an unsupported API (__C_specific_handler) being used. (Issue #2235)
    • ๐Ÿ›  Fixed a bug where applying multiple OrderBy clauses on a query would result in the clauses being appended to each other as if they were .ThenBy rather than the last clause replacing the preceding ones. (PR #2255)
    • ๐Ÿ”€ When explicitly specifying SyncConfiguration.ObjectTypes, added a check to validate the schema and ensure all EmbeddedObject classes are reachable from a class inheriting from RealmObject. More info about this subject can be found here. (PR #2259)

    โœจ Enhancements

    • โž• Add support for the Guid data type. It can be used as primary key and is indexable. (PR #2120)
    • โž• Add support for dictionaries. Currently only string keys are supported, while the value type may be any of the supported types (the primitive types or custom types that inherit from RealmObject/EmbeddedObject). Lists, sets, or other dictionaries may not be used as the value type. To add a dictionary to your model, define a getter-only property of type IDictionary<string, T>:
      public class MyObject : RealmObject
      {
          public IDictionary<string, decimal> Denominations { get; }
      }
    
      // Realm will automatically manage the underlying dictionary, so there's no need
      // to define a constructor  or assign it to some value.
    
      var obj = new MyObject();
      obj.Denominations.Add("quarter", 0.25d);
    
    • โž• Add support for RealmValue data type. This new type can represent any valid Realm data type, including objects. Collections (lists, sets and dictionaries) of RealmValue are also supported, but 'RealmValue' cannot contain collections. Please note that a property of type RealmValue cannot be nullable, but can contain null, represented by the value RealmValue.Null. (PR #2252)
      public class MyObject : RealmObject
      {
          public RealmValue MyValue { get; set; }
    
          public IList<RealmValue> ValuesList { get; }
    
          public ISet<RealmValue> ValuesSet { get; }
    
          public IDictionary<string, RealmValue> ValuesDict { get; }
      }
    
      var obj = new MyObject();
      obj.MyValue = RealmValue.Null;
      obj.MyValue = 1;
      obj.MyValue = "abc";
    
      if (obj.MyValue.Type == RealmValueType.String)
      {
          var myString = obj.MyValue.AsString();
      }
    
    • โž• Add support for sets of objects or primitive values. Sets are unordered collections that ensure uniqueness of their elements. Realm uses its internal equality comparer and it is not possible to customize its behavior by overriding Equals or GetHashCode on your custom classes. Objects will always be compared by db reference - i.e. two distinct objects in the database will always be different, even if their contents are identical, and multiple references to the same database object will always be equal. ```csharp public class MyObject : RealmObject { public ISet UniqueStrings { get; } }

    // Realm will automatically manage the underlying set, so there's no need // to define a constructor or assign it to some value.

    var obj = new MyObject(); var didAdd = obj.UniqueStrings.Add("foo"); // true didAdd = obj.UniqueStrings.Add("foo"); // false

    * โž• Added support for value substitution in string based queries. This enables expressions following [this syntax](https://github.com/realm/realm-js/blob/master/docs/tutorials/query-language.md): `realm.All<T>().Filter("field1 = $0 && field2 = $1", 123, "some-string-value")`. (Issue [#1822](https://github.com/realm/realm-dotnet/issues/1822))
    * โฌ‡๏ธ Reduced the size of the native binaries by ~5%. (PR [#2239](https://github.com/realm/realm-dotnet/pull/2239))
    * โž• Added a new class - `Logger`, which allows you to override the default logger implementation (previously writing to `stdout` or `stderr`) with a custom one by setting
    ๐Ÿš€ `Logger.Default`. This replaces `AppConfiguration.CustomLogger` and `AppConfiguration.LogLevel` which will be removed in a future release. The built-in implementations are:
      * `Console` - uses the `System.Console` for most projects and `UnityEngine.Debug` for Unity projects: `Logger.Default = Logger.Console;`
      * `Null` - ignores all messages: `Logger.Default = Logger.Null;`
      * `Function` - proxies calls to a supplied function: `Logger.Default = Logger.Function(message => myExternalLogger.Log(message));`
    
      Custom loggers can derive from the `Logger` class and provide their own implementation for the `Log` method or use `Function` and provide an `Action<string>`. (PR [#2276](https://github.com/realm/realm-dotnet/pull/2276))
    * `RealmObjectBase` now correctly overrides and implements `GetHashCode()`. (Issue [#1650](https://github.com/realm/realm-dotnet/issues/1650))
    
    ### Compatibility
    * Realm Studio: 10.0.0 or later.
    
    ### Internal
    * Using Core 11.x.y. (it's in flux)
    * ๐Ÿ— Enabled LTO builds for all platforms except Android. (PR [#2239](https://github.com/realm/realm-dotnet/pull/2239))
    * โšก๏ธ Test projects updated to dotnetcore 3.1. This means that tests are no longer executed against dotnetcore 2.0.
    
  • v10.1.4 Changes

    May 12, 2021

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fixed a bug that could lead to crashes with a message similar to Invalid ref translation entry [0, 78187493520]. (Core upgrade)
    • Fix assertion failures such as !m_notifier_skip_version.version or m_notifier_sg->get_version() + 1 == new_version.version when performing writes inside change notification callbacks. (Core upgrade)
    • ๐Ÿ›  Fix collection notification reporting for modifications. This could be observed by receiving the wrong indices of modifications on sorted or distinct results, or notification blocks sometimes not being called when only modifications have occured. (Core upgrade)
    • โฌ†๏ธ Proactively check the expiry time on the access token and refresh it before attempting to initiate a sync session. This prevents some error logs from appearing on the client such as: ERROR: Connection[1]: Websocket: Expected HTTP response 101 Switching Protocols, but received: HTTP/1.1 401 Unauthorized. (Core upgrade)
    • โฌ†๏ธ Destruction of the TableRecycler at exit was unordered compared to other threads running. This could lead to crashes, some with the TableRecycler at the top of the stack. (Core upgrade)
    • ๐Ÿ›  Fixed errors related to uncaught exception in notifier thread: N5realm11KeyNotFoundE: No such object. This could happen in a synchronized app when a linked object was deleted by another client. (Core upgrade)
    • ๐Ÿ“‡ Opening a metadata realm with the wrong encryption key or different encryption configuration will remove that metadata realm and create a new metadata realm using the new key or configuration. (Core upgrade)
    • โฌ†๏ธ Creting a ThreadSafeReference to a readonly Realm would result in a crash. (Core upgrade)

    Compatibility

    • Realm Studio: 10.0.0 or later.

    Internal

    • Using Core 10.7.2.
  • v10.1.3 Changes

    April 29, 2021

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fixed a compiler bug that would result in an "Access violation" error being thrown when using sync on Windows.

    Compatibility

    • Realm Studio: 10.0.0 or later.

    Internal

    • Using Core 10.5.6.
  • v10.1.2 Changes

    March 19, 2021

    ๐Ÿ›  Fixed

    • โฌ†๏ธ On 32bit devices you may get exception with "No such object" when upgrading to v10. (Core upgrade)
    • โฌ†๏ธ The notification worker thread would rerun queries after every commit rather than only commits which modified tables which could affect the query results if the table had any outgoing links to tables not used in the query. (Core upgrade)
    • ๐Ÿ›  Fix "Invalid ref translation entry [16045690984833335023, 78187493520]" assertion failure which could occur when using sync or multiple processes writing to a single Realm file. (Core upgrade)
    • During integration of a large amount of data from the server, you may get "Assertion failed: !fields.has_missing_parent_update()". (Core upgrade)
    • โฌ†๏ธ Syncing large Decimal128 values will cause "Assertion failed: cx.w[1] == 0". (Core upgrade)
    • โฌ†๏ธ Avoid race condition leading to possible hangs on windows. (Core upgrade)

    โœจ Enhancements

    • None

    ๐Ÿ›  Fixed

    • None

    Compatibility

    • Realm Studio: 10.0.0 or later.

    Internal

    • Using Core 10.5.6.
  • v10.1.1 Changes

    February 25, 2021

    ๐Ÿ›  Fixed

    • Fixed an issue that would result in UWP apps being rejected from the Microsoft Store due to an unsupported API (__C_specific_handler) being used. (Issue #2235)
    • โฌ†๏ธ The Realm notification listener thread could sometimes hit the assertion failure "!skip_version.version" if a write transaction was committed at a very specific time. (Core upgrade)

    โœจ Enhancements

    • None

    ๐Ÿ›  Fixed

    • None

    Compatibility

    • Realm Studio: 10.0.0 or later.

    Internal

    • Using Core 10.5.3.