Realm 10.14.0

.NET 6.0 .NET Standard 2.0 .NET Framework 4.6
Install-Package Realm -Version 10.14.0
dotnet add package Realm --version 10.14.0
<PackageReference Include="Realm" Version="10.14.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Realm --version 10.14.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Realm, 10.14.0"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install Realm as a Cake Addin
#addin nuget:?package=Realm&version=10.14.0

// Install Realm as a Cake Tool
#tool nuget:?package=Realm&version=10.14.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Realm is a mobile database: a replacement for SQLite

Product Versions
.NET net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows
.NET Core netcoreapp2.0 netcoreapp2.1 netcoreapp2.2 netcoreapp3.0 netcoreapp3.1
.NET Standard netstandard2.0 netstandard2.1
.NET Framework net46 net461 net462 net463 net47 net471 net472 net48
MonoAndroid monoandroid
MonoMac monomac
MonoTouch monotouch
Tizen tizen40 tizen60
Xamarin.iOS xamarinios
Xamarin.Mac xamarinmac
Xamarin.TVOS xamarintvos
Xamarin.WatchOS xamarinwatchos
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (24)

Showing the top 5 NuGet packages that depend on Realm:

Package Downloads
ppy.osu.Game

Package Description

Iridium360.Connect.Framework

This framework allows you to bind your Android or iOS device with i360RockSTAR tracker

Hangfire.Realm

This Hangfire extension adds support for using the lightweight embeddable Realm object database.

ItEnterprise.WmsStandard

ItEnterprise WmsStandard for Xamarin Forms

ItEnterprise.Common.CoreStandard

ItEnterprise Common.CoreStandard for Xamarin Forms

GitHub repositories (5)

Showing the top 5 popular GitHub repositories that depend on Realm:

Repository Stars
ppy/osu
rhythm is just a *click* away!
realm/realm-dotnet
Realm is a mobile database: a replacement for SQLite & ORMs
sgermosen/xReader
XML, NEWS, RSS & Scrapping Reader maked in Xamarin, for educational purpose.
realm/realm-draw
The official Realm Draw app used in promotional videos
dsa28s/windows-hangul-clock
Hangul Clock for Windows Desktop Widget
Version Downloads Last updated
10.14.0 26,419 6/2/2022
10.13.0 5,664 5/18/2022
10.12.0 10,027 5/5/2022
10.11.2 19,421 4/21/2022
10.11.1 9,108 3/31/2022
10.11.0 2,173 3/28/2022
10.10.0 52,126 2/28/2022
10.9.0 33,325 1/21/2022
10.8.0 20,397 1/17/2022
10.7.1 54,075 11/20/2021
10.7.0 2,906 11/10/2021
10.6.0 85,327 9/30/2021
10.5.1 5,993 9/22/2021
10.5.0 19,726 9/9/2021
10.4.1 900 9/3/2021
10.4.0 5,713 8/31/2021
10.3.0 95,064 7/7/2021
10.2.1 18,331 7/1/2021
10.2.0 17,389 6/15/2021
10.2.0-beta.2 598 5/5/2021
10.2.0-beta.1 275 4/12/2021
10.1.4 12,775 5/12/2021
10.1.3 10,792 4/29/2021
10.1.2 19,267 3/19/2021
10.1.1 16,013 2/25/2021
10.1.0 7,129 2/9/2021
10.0.1 4,101 2/2/2021
10.0.0-beta.6 355 1/26/2021
10.0.0-beta.5 550 1/19/2021
10.0.0-beta.3 1,067 12/10/2020
10.0.0-beta.2 1,358 11/4/2020
10.0.0-beta.1 640 10/16/2020
10.0.0-alpha.43 274 10/9/2020
10.0.0-alpha.34 396 10/4/2020
5.1.3 6,237 2/10/2021
5.1.2 59,995 10/20/2020
5.1.1 19,638 10/2/2020
5.1.0 3,548 9/30/2020
5.0.1 8,974 9/9/2020
4.3.0 191,443 2/5/2020
4.2.0 57,391 10/8/2019
4.1.0 64,365 8/6/2019
4.0.1 14,845 6/27/2019
4.0.0 4,426 6/14/2019
3.4.0 89,319 1/9/2019
3.3.0 21,902 11/8/2018
3.2.1 32,411 9/27/2018
3.2.0 11,120 9/4/2018
3.1.0 27,747 7/4/2018
3.0.0 104,087 4/16/2018
2.2.0 10,797 3/22/2018
2.1.0 49,720 11/13/2017
2.0.0 16,532 10/17/2017
2.0.0-rc1 1,168 10/3/2017
1.6.0 33,186 8/15/2017
1.5.0 16,286 6/20/2017
1.4.0 13,417 5/19/2017
1.3.0 2,395 5/16/2017
1.2.1 6,570 5/1/2017
1.2.0 4,587 4/4/2017
1.1.1 5,727 3/15/2017
1.1.0 2,379 3/3/2017
1.0.4 3,706 2/21/2017
1.0.3 15,748 2/14/2017
0.82.1 17,331 1/27/2017
0.82.0 1,908 1/23/2017
0.81.0 4,040 12/15/2016
0.80.0 7,839 10/27/2016
0.78.1 19,470 9/15/2016
0.78.0 1,635 9/11/2016
0.77.2 4,336 8/11/2016
0.77.1 2,189 7/28/2016
0.76.1 4,942 6/15/2016
0.76.0 1,811 6/9/2016
0.75.0 1,731 6/3/2016
0.74.1 4,107 5/10/2016

## 10.14.0 (2022-06-02)

### Enhancements
* Added a more efficient replacement for `Realm.WriteAsync`. The previous API would start a background thread, open the Realm there and run a synchronous write transaction on the background thread. The new API will asynchronously acquire the write lock (begin transaction) and asynchronously commit the transaction, but the actual write block will execute on the original thread. This means that objects/queries captured before the block can be used inside the block without relying on threadsafe references. Importantly, you can mix and match async and sync calls. And when calling any `Realm.WriteAsync` on a background thread the call is just run synchronously, so you should use `Realm.Write` for readability sake. The new API is made of `Realm.WriteAsync<T>(Func<T> function, CancellationToken cancellationToken)`, `Realm.WriteAsync(Action action, CancellationToken cancellationToken)`, `Realm.BeginWriteAsync(CancellationToken cancellationToken)` and `Transaction.CommitAsync(CancellationToken cancellationToken)`. While the `Transaction.Rollback()` doesn't need an async counterpart. The deprecated API calls are `Realm.WriteAsync(Action<Realm> action)`, `Real.WriteAsync<T>(Func<Realm, IQueryable<T>> function)`, `Realm.WriteAsync<T>(Func<Realm, IList<T>> function)` and `Realm.WriteAsync<T>(Func<Realm, T> function)`. Here is an example of usage:
 ```csharp
 using Realms;

 var person = await _realm.WriteAsync(() =>
 {
   return _realm.Add(
     new Person
     {
       FirstName = "Marco"
     });
 });

 // you can use/modify person now
 // without the need of using ThreadSafeReference
 ```
 (PR [#2899](https://github.com/realm/realm-dotnet/pull/2899))
* Added the method `App.DeleteUserFromServerAsync` to delete a user from the server. It will also invalidate the user locally as well as remove all their local data. It will not remove any data the user has uploaded from the server. (Issue [#2675](https://github.com/realm/realm-dotnet/issues/2675))
* Added boolean property `ChangeSet.IsCleared` that is true when the collection gets cleared. Also Realm collections now raise `CollectionChanged` event with action `Reset` instead of `Remove` when the collections is cleared. Please note that this will work only with collection properties, such as `IList` and `ISet`. (Issue [#2856](https://github.com/realm/realm-dotnet/issues/2856))
* Added `PopulateInitialSubscriptions` to `FlexibleSyncConfiguration` - this is a callback that will be invoked the first time a Realm is opened. It allows you to create the initial subscriptions that will be added to the Realm before it is opened. (Issue [#2913](https://github.com/realm/realm-dotnet/issues/2913))
* Bump the SharedInfo version to 12. This requires update of any app accessing the file in a multiprocess scenario, including Realm Studio.
* The sync client will gracefully handle compensating write error messages from the server and pass detailed info to the SDK's sync error handler about which objects caused the compensating write to occur. ([#5528](https://github.com/realm/realm-core/pull/5528))

### Fixed
* Adding an object to a Set, deleting the parent object, and then deleting the previously mentioned object causes crash ([#5387](https://github.com/realm/realm-core/issues/5387))
* Flexible sync would not correctly resume syncing if a bootstrap was interrupted ([#5466](https://github.com/realm/realm-core/pull/5466))
* Flexible sync will now ensure that a bootstrap from the server will only be applied if the entire bootstrap is received - ensuring there are no orphaned objects as a result of changing the read snapshot on the server ([#5331](https://github.com/realm/realm-core/pull/5331))
* Partially fix a performance regression in write performance on Apple platforms. Committing an empty write transaction is ~10x faster than 10.13.0, but still slower than pre-10.7.1 due to using more crash-safe file synchronization (since v10.7.1). (Swift issue [#7740](https://github.com/realm/realm-swift/issues/7740)).

### Compatibility
* Realm Studio: 11.0.0 or later.

### Internal
* Using Core 12.1.0.