[Don't use!] 10.0.0-beta.5 - Sync SSL fix + Windows multiprocess support
Pre-releaseDon't use this version
This version has a serious regression related to reading and writing date properties. It stores dates in an incorrect format at the database layer, which means that values written in earlier versions will be read incorrectly (typically values very close to 0000-01-01
) and values written with this version will be read incorrectly with future versions.
Description
This is primarily a bug fix release that addresses an SSL regression in beta.3 and fixes a long standing bug with multiprocess support on Windows. There is no public beta.4 release, so beta.5 follows immediately after beta.3.
Breaking Changes
- Removed
RealmObject.FreezeInPlace
. To freeze a realm object use theFreeze
extension method. (Issue #2180)
Fixed
- Worked around an issue with the .NET Native compiler (used in UWP projects) that would result in the following exception being thrown in Release:
Incompatible MarshalAs detected in parameter named 'value'. Please refer to MCG's warning message for more information.
. (Issue #2169) - Fixed a bug that could cause a deadlock in a multiprocess scenario where multiple processes share the same Realm file and listen for notifications from the file. (Core upgrade)
- Fixed an issue where Sync connections would fail on Windows due to
SSL server certificate rejected
. (Core upgrade) - Fixed an issue with deleting and recreating objects with embedded objects. (Core upgrade)
- Fix a race condition which would lead to "uncaught exception in notifier thread: N5realm15InvalidTableRefE: transaction_ended" and a crash when the source Realm was closed or invalidated at a very specific time during the first run of a collection notifier (Core upgrade)
Enhancements
- Replaced the implementation of the string query parser (the one used for
realm.All().Filter("some-string-query")
). This results in ~5% reduction of the size of the native binary while keeping the query execution times on par with the old parser. (PR #2185, Core upgrade)
Unity
Starting with beta.5, we're publishing very early prerelease bundles of a Unity-compatible package. These are in no way supported and we strongly advise against using them in production. That being said, we will respond to and address issues and plan to ship fully-fledged and supported Unity package at a later point.
To install the Unity package, open the Unity Package Manager and select the Add package from tarball option. The two packages we publish are:
realm.unity-*version*.tgz
: this package contains the Realm precompiled .dll as well as all the native binaries for all platforms. It doesn't include any of the managed dependencies, such asMongoDB.Bson
orRemotion.Linq
. It's up to the developer to satisfy those dependencies with versions equal to or newer than the versions listed on NuGet (Note thatFody
andRealm.Fody
are not dependencies of the Unity package and don't need to be installed).realm.unity.bundle-*version*.tgz
: this package contains everything in the first one + all the managed dependencies at their correct versions. This is the easiest package to get started with, but may introduce conflicts in case your project already bundles a dependency that Realm brings in, such asSystem.Buffers
orMongoDB.Bson
.