Realm 10.20.0
See the version list below for details.
dotnet add package Realm --version 10.20.0
NuGet\Install-Package Realm -Version 10.20.0
<PackageReference Include="Realm" Version="10.20.0" />
paket add Realm --version 10.20.0
#r "nuget: Realm, 10.20.0"
// Install Realm as a Cake Addin #addin nuget:?package=Realm&version=10.20.0 // Install Realm as a Cake Tool #tool nuget:?package=Realm&version=10.20.0
Realm is a mobile database: a replacement for SQLite
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net46 is compatible. net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid is compatible. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios is compatible. |
Xamarin.Mac | xamarinmac is compatible. |
Xamarin.TVOS | xamarintvos is compatible. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Fody (>= 6.6.4)
- Microsoft.CSharp (>= 4.5.0)
- MongoDB.Bson (>= 2.11.3)
- Realm.Fody (>= 10.20.0)
- Realm.SourceGenerator (>= 10.20.0)
- Remotion.Linq (>= 2.2.0)
- System.Buffers (>= 4.4.0)
- System.Dynamic.Runtime (>= 4.3.0)
- System.Runtime.CompilerServices.Unsafe (>= 4.5.3)
-
net6.0
- Fody (>= 6.6.4)
- Microsoft.CSharp (>= 4.5.0)
- MongoDB.Bson (>= 2.11.3)
- Realm.Fody (>= 10.20.0)
- Realm.SourceGenerator (>= 10.20.0)
- Remotion.Linq (>= 2.2.0)
- System.Buffers (>= 4.4.0)
- System.Dynamic.Runtime (>= 4.3.0)
- System.Runtime.CompilerServices.Unsafe (>= 4.5.3)
NuGet packages (39)
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 |
|
ItEnterprise.Common.CoreStandard
ItEnterprise Common.CoreStandard for Xamarin Forms |
|
Arc4u.Standard.Diagnostics.Serilog.Sinks.RealmDb
Package Description |
|
ItEnterprise.WmsStandard
ItEnterprise WmsStandard for Xamarin Forms |
GitHub repositories (7)
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.
|
|
Piotrekol/CollectionManager
An extensive tool for creating, editing, and exporting of osu! collections.
|
|
realm/realm-draw
The official Realm Draw app used in promotional videos
|
Version | Downloads | Last updated | |
---|---|---|---|
20.0.0 | 14,491 | 9/9/2024 | |
12.4.1 | 8,374 | 9/16/2024 | |
12.4.0 | 16,665 | 8/25/2024 | |
12.3.0 | 34,046 | 7/20/2024 | |
12.2.0 | 50,117 | 5/22/2024 | |
12.1.0 | 12,696 | 5/1/2024 | |
12.0.0 | 12,664 | 4/17/2024 | |
11.7.0 | 92,254 | 2/5/2024 | |
11.6.1 | 89,431 | 11/17/2023 | |
11.6.0 | 22,813 | 11/4/2023 | |
11.5.0 | 276,948 | 9/16/2023 | |
11.4.0 | 31,809 | 8/16/2023 | |
11.3.0 | 46,992 | 7/26/2023 | |
11.2.0 | 17,042 | 7/8/2023 | |
11.1.2 | 110,082 | 6/20/2023 | |
11.1.1 | 7,507 | 6/19/2023 | |
11.1.0 | 2,737 | 6/17/2023 | |
11.0.0 | 47,424 | 5/8/2023 | |
10.21.1 | 44,305 | 4/21/2023 | |
10.21.0 | 24,601 | 3/24/2023 | |
10.20.0 | 90,913 | 2/10/2023 | |
10.19.0 | 35,839 | 1/6/2023 | |
10.18.0 | 138,188 | 11/2/2022 | |
10.17.0 | 93,874 | 10/6/2022 | |
10.16.0 | 12,908 | 10/3/2022 | |
10.15.1 | 110,783 | 8/8/2022 | |
10.15.0 | 5,733 | 8/5/2022 | |
10.14.0 | 188,149 | 6/2/2022 | |
10.13.0 | 28,411 | 5/18/2022 | |
10.12.0 | 18,420 | 5/5/2022 | |
10.11.2 | 35,121 | 4/21/2022 | |
10.11.1 | 21,832 | 3/31/2022 | |
10.11.0 | 5,571 | 3/28/2022 | |
10.10.0 | 96,249 | 2/28/2022 | |
10.9.0 | 81,734 | 1/21/2022 | |
10.8.0 | 38,440 | 1/17/2022 | |
10.7.1 | 106,636 | 11/20/2021 | |
10.7.0 | 7,235 | 11/10/2021 | |
10.6.0 | 169,427 | 9/30/2021 | |
10.5.1 | 18,481 | 9/22/2021 | |
10.5.0 | 31,059 | 9/9/2021 | |
10.4.1 | 3,813 | 9/3/2021 | |
10.4.0 | 11,384 | 8/31/2021 | |
10.3.0 | 140,210 | 7/7/2021 | |
10.2.1 | 27,139 | 7/1/2021 | |
10.2.0 | 28,653 | 6/15/2021 | |
10.2.0-beta.2 | 786 | 5/5/2021 | |
10.2.0-beta.1 | 363 | 4/12/2021 | |
10.1.4 | 19,988 | 5/12/2021 | |
10.1.3 | 23,381 | 4/29/2021 | |
10.1.2 | 29,711 | 3/19/2021 | |
10.1.1 | 22,716 | 2/25/2021 | |
10.1.0 | 15,845 | 2/9/2021 | |
10.0.1 | 7,795 | 2/2/2021 | |
10.0.0-beta.6 | 445 | 1/26/2021 | |
10.0.0-beta.5 | 653 | 1/19/2021 | |
10.0.0-beta.3 | 1,167 | 12/10/2020 | |
10.0.0-beta.2 | 1,488 | 11/4/2020 | |
10.0.0-beta.1 | 747 | 10/16/2020 | |
10.0.0-alpha.43 | 374 | 10/9/2020 | |
10.0.0-alpha.34 | 484 | 10/4/2020 | |
5.1.3 | 26,562 | 2/10/2021 | |
5.1.2 | 84,557 | 10/20/2020 | |
5.1.1 | 28,014 | 10/2/2020 | |
5.1.0 | 7,580 | 9/30/2020 | |
5.0.1 | 10,874 | 9/9/2020 | |
4.3.0 | 278,629 | 2/5/2020 | |
4.2.0 | 70,401 | 10/8/2019 | |
4.1.0 | 87,845 | 8/6/2019 | |
4.0.1 | 20,425 | 6/27/2019 | |
4.0.0 | 6,366 | 6/14/2019 | |
3.4.0 | 104,175 | 1/9/2019 | |
3.3.0 | 26,487 | 11/8/2018 | |
3.2.1 | 49,447 | 9/27/2018 | |
3.2.0 | 17,213 | 9/4/2018 | |
3.1.0 | 33,399 | 7/4/2018 | |
3.0.0 | 110,316 | 4/16/2018 | |
2.2.0 | 14,871 | 3/22/2018 | |
2.1.0 | 55,284 | 11/13/2017 | |
2.0.0 | 18,436 | 10/17/2017 | |
2.0.0-rc1 | 2,634 | 10/3/2017 | |
1.6.0 | 35,628 | 8/15/2017 | |
1.5.0 | 18,058 | 6/20/2017 | |
1.4.0 | 14,977 | 5/19/2017 | |
1.3.0 | 3,772 | 5/16/2017 | |
1.2.1 | 8,014 | 5/1/2017 | |
1.2.0 | 6,033 | 4/4/2017 | |
1.1.1 | 7,554 | 3/15/2017 | |
1.1.0 | 3,730 | 3/3/2017 | |
1.0.4 | 4,961 | 2/21/2017 | |
1.0.3 | 17,118 | 2/14/2017 | |
0.82.1 | 18,527 | 1/27/2017 | |
0.82.0 | 3,445 | 1/23/2017 | |
0.81.0 | 5,543 | 12/15/2016 | |
0.80.0 | 11,660 | 10/27/2016 | |
0.78.1 | 20,645 | 9/15/2016 | |
0.78.0 | 2,787 | 9/11/2016 | |
0.77.2 | 5,660 | 8/11/2016 | |
0.77.1 | 3,220 | 7/28/2016 | |
0.76.1 | 6,112 | 6/15/2016 | |
0.76.0 | 3,472 | 6/9/2016 | |
0.75.0 | 3,288 | 6/3/2016 | |
0.74.1 | 5,970 | 5/10/2016 |
## 10.20.0 (2023-02-10)
**File format version bumped. Old files will be automatically upgraded but cannot be downgraded and opened with older versions of the .NET SDK.**
### Breaking Changes
* `User.GetPushClient` has been deprecated as it will be disabled soon on the server. (Issue [#3073](https://github.com/realm/realm-dotnet/issues/3073))
### Enhancements
* The realm file will be shrunk if the larger file size is no longer needed. (Core 13.0.0)
* Most of the file growth caused by version pinning is eliminated. (Core 13.0.0)
* Improve performance of acquiring read locks when a read lock for that version is already held. This speeds up many operations related to change notifications, and particularly refreshing a Realm which has change notifiers registered. (Core 13.2.0)
* Upgrade OpenSSL from 1.1.1n to 3.0.7. (Core 13.2.0)
* Converting flexible sync realms to bundled and local realms is now supported (Core 13.2.0)
* Add support for nested classes for source generated classes. (Issue [#3031](https://github.com/realm/realm-dotnet/issues/3031))
* Enhanced support for nullable reference types in the model definition for source generated classes. This allows to use realm models as usual when nullable context is active, and removes the need to use of the `Required` attribute to indicate required properties, as this information will be inferred directly from the nullability status. There are some considerations regarding the nullability of properties that link to realm object:
- Properties that link to a single realm object are inherently nullable, and thus the type must be defined as nullable.
- List, Sets and Backlinks cannot contain null objects, and thus the type parameter must be non-nullable.
- Dictionaries can contain null values, and thus the type parameter must be nullable.
Defining the properties with a different nullability annotation than what has been outlined here will raise a diagnostic error. For instance:
```cs
public partial class Person: IRealmObject
{
//Single values
public Dog? MyDog { get; set; } //Correct
public Dog MyDog { get; set; } //Error
//List
public IList<Dog> MyDogs { get; } //Correct
public IList<Dog?> MyDogs { get; } //Error
//Set
public ISet<Dog> MyDogs { get; } //Correct
public ISet<Dog?> MyDogs { get; } //Error
//Dictionary
public IDictionary<string, Dog?> MyDogs { get; } //Correct
public IDictionary<string, Dog> MyDogs { get; } //Error
//Backlink
[Realms.Backlink("...")]
public IQueryable<Dog> MyDogs { get; } //Correct
[Realms.Backlink("...")]
public IQueryable<Dog?> MyDogs { get; } //Error
}
```
We realise that some developers would still prefer to have more freedom in the nullability annotation of such properties, and it is possible to do so by setting `realm.ignore_objects_nullability = true` in a global configuration file (more information about global configuration files can be found in the [.NET documentation](https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/configuration-files)). If this is enabled, all the previous properties will be considered valid, and the nullability annotations for properties linking to objects will be ignored.
* Improved performance of `PropertyChanged` and `CollectionChanged` notifications. (Issue [#3112](https://github.com/realm/realm-dotnet/issues/3112))
* Added support for tvOS in Xamarin/MAUI and Unity applications. (Issue [#3161](https://github.com/realm/realm-dotnet/issues/3161))
* Improve the performance of `Realm.Freeze()`. (Core 13.3.0)
### Fixed
* `ISet<RealmValue>` consider string and binary data equivalent. This could cause the client to be inconsistent with the server if a string and some binary data with equivalent content was inserted from Atlas. (Core 13.0.0)
* Fixed wrong assertion on query error that could result in a crash. (Core 13.1.0)
* Fixed an issue preventing opening an encrypted file on a device with a page size bigger than the one on which the file was produced. (Core 13.1.1)
* Fixed possible segfault in sync client where async callback was using object after being deallocated (Core 13.2.0)
* Fixed crash when using client reset with recovery and flexible sync with a single subscription (Core 13.2.0)
* Added a more descriptive error message when a model's property is unsupported. It'll now suggest that the target type may need to inherit from `RealmObject`. (Issue [#3162](https://github.com/realm/realm-dotnet/issues/3162))
* Disposing a Realm instance while an active transaction is running will now correctly roll back the transaction. (Issue [#2924](https://github.com/realm/realm-dotnet/issues/2924))
* Fixed an issue that would cause `PropertyChanged` notifications to be delivered for collection properties when the content of the collection was modified even if the collection itself was not replaced. (Issue [#3112](https://github.com/realm/realm-dotnet/issues/3112))
* Fixed an issue where weaving assemblies on Unity could result in `System.InvalidOperationException`. (Issue [#3199](https://github.com/realm/realm-dotnet/issues/3199))
* `Session.Stop` will now correctly keep the session stopped until `Session.Start` is called. Previously, there were a number of circumstances that could cause the session to be resumed, even if not explicitly requested. (Core 13.3.0)
* When client reset with recovery is used and the recovery does not actually result in any new local commits, the sync client may have gotten stuck in a cycle with a A fatal error occured during client reset: 'A previous 'Recovery' mode reset from <timestamp> did not succeed, giving up on 'Recovery' mode to prevent a cycle' error message. (Core 13.3.0)
* Fixed diverging history in flexible sync if writes occur during bootstrap to objects that just came into view. (Core 13.3.0)
* Fix several data races when opening cached frozen Realms. New frozen Realms were added to the cache and the lock released before they were fully initialized, resulting in races if they were immediately read from the cache on another thread. (Core 13.3.0)
* If a client reset w/recovery or discard local is interrupted while the "fresh" realm is being downloaded, the sync client may crash with a MultpleSyncAgents exception. (Core 13.3.0)
* Changesets from the server sent during FLX bootstrapping that are larger than 16MB can cause the sync client to crash with a LogicError. (Core 13.3.0)
* Sharing Realm files between a Catalyst app and Realm Studio did not properly synchronize access to the Realm file. (Core 13.4.0)
### Compatibility
* Realm Studio: 13.0.0 or later.
### Internal
* Using Core 13.4.0.
* Updated `DynamicRealmObjectHelper.TryGetPrimaryKeyValue` not to use reflection. (Issue [#3166](https://github.com/realm/realm-dotnet/issues/3166))
* Fixed UWP tests workflow when running a debug build. (Issue [#3030](https://github.com/realm/realm-dotnet/issues/3030))