Releases: realm/realm-dotnet
0.76.0 INotifyPropertyChanged
Major Changes
RealmObject
classes will now implicitly implementINotifyPropertyChanged
if you specify the interface on your class. Thanks to Joe Brock for this contribution!
Minor Changes
long
is supported in queries- Linker error looking for
System.String System.String::Format(System.IFormatProvider,System.String,System.Object)
fixed - Second-level descendants of
RealmObject
and static properties inRealmObject
classes now cause the weaver to properly report errors as we don't (yet) support those. - Calling
.Equals()
on standalone objects no longer throws.
0.75.0 Updated file format
Breaking Changes
- File format of Realm files is changed. Files will be automatically upgraded but opening a Realm file with older versions of Realm is not possible.
RealmResults<T>
no longer implicitly implementsINotifyCollectionChanged
. Use the newToNotifyCollectionChanged
method instead.
Major Changes
RealmResults<T>
can be observed for granular changes via the newSubscribeForNotifications
method.Realm
gained theWriteAsync
method which allows a write transaction to be executed on a background thread.- Realm models can now use
byte[]
properties to store binary data. RealmResults<T>
received a newToNotifyCollectionChanged
extension method which produces anObservableCollection<T>
-like wrapper suitable for MVVM data binding.
Minor Fixes
- Nullable
DateTimeOffset
properties are supported now. - Setting
null
to a string property will now correctly returnnull
- Failure to install Fody will now cause an exception like "Realms.RealmException: Fody not properly installed. RDB2_with_full_Realm.Dog is a RealmObject but has not been woven." instead of a
NullReferenceException
- The PCL
RealmConfiguration
was missing some members. - The Fody weaver is now discoverable at non-default nuget repository paths.
v0.74.1 Single NuGet
Minor Fixes
- Realms now refresh properly on Android when modified in other threads/processes.
- Fixes crashes under heavy combinations of threaded reads and writes.
- The
String.Contains(String)
,String.StartsWith(String)
, andString.EndsWith(String)
methods now support variable expressions. Previously they only worked with literal strings.
Minor Changes
- The two
Realm
andRealmWeaver
NuGet packages have been combined into a singleRealm
package. RealmResults<T>
now implementsINotifyCollectionChanged
by raising theCollectionChanged
event withNotifyCollectionChangedAction.Reset
when its underlying table or query result is changed by a write transaction.
v0.74.0 Mostly improving LINQ Searching and Sorting
Major Changes
- The Realm assembly weaver now submits anonymous usage data during each build, so we can track statistics for unique builders, as done with the Java, Swift and Objective-C products (issue #182)
Realm.RemoveRange<>()
andRealm.RemoveAll<>()
methods added to allow you to delete objects from a realm.Realm.Write()
method added for executing code within an implicitly committed transaction- You can now restrict the classes allowed in a given Realm using
RealmConfiguration.ObjectClasses
. - LINQ improvements:
- Simple bool searches work without having to use
== true
(issue #362) - ! operator works to negate either simple bool properties or complex expressions (issue #77)
- Count, Single and First can now be used after a Where expression, (#369) eg
realm.All<Owner>().Where(p => p.Name == "Dani").First();
as well as with a lambda expression
realm.All<Owner>().Single( p => p.Name == "Tim");
- Sorting is now provided using the
OrderBy
,OrderByDescending
,ThenBy
andThenByDescending
clauses. Sorts can be applied to results of a query from aWhere
clause or sorting the entire class by applying afterAll<>
. - The
String.Contains(String)
,String.StartsWith(String)
, andString.EndsWith(String)
methods can now be used in Where clauses. - DateTimeOffset properties can be compared in queries.
- Simple bool searches work without having to use
- Support for
armeabi
builds on old ARM V5 and V6 devices has been removed.
Minor Changes
- Finish
RealmList.CopyTo
so you can applyToList
to related lists (issue #299) - NuGet now inserts
libwrappers.so
for Android targets using$(SolutionDir)packages
so it copes with the different relative paths in cross-platform (Xamarin Forms) app templates vs pure Android templates. Realm.RealmChanged
event notifies you of changes made to the realmRealm.Refresh()
makes sure the realm is updated with changes from other threads.
v0.73.0 Adding Encryption
Major Changes
RealmConfiguration.EncryptionKey
added so files can be encrypted and existing encrypted files from other Realm sources opened (assuming you have the key).
Minor Fixes
- For PCL users, if you use
RealmConfiguration.DefaultConfiguration
without having linked a platform-specific dll, you will now get the warning message with aPlatformNotSupportedException
. Previously threw aTypeInitExepction
. - Update to Core v0.96.2 and matching ObjectStore (issue #393)
v0.72.1 Adding 64bit Android
This minor release only adds changes for Android users, adding the ABIs arm64-v8a
and x86_64
for 64 bit devices.
See the Xamarin Android CPU page for more details on the meanings of these ABI codes.
No functional changes were made, just recompilation and packaging with the core binaries added.
v0.72.0 PCL now supported
The main purpose of this release is supporting PCL projects. You need to add the Realm NuGet to both your PCL projects and your ultimate platform .IOS
and .Android
projects.
If you only add the Realm NuGet to your PCL project you will get a runtime exception saying something like:
The PCL build of Realm is being linked which probably means you need to use NuGet or otherwise link a platform-specific Realm.dll to your main application.
v0.71.1 minor IOS Simulator build fix
Minor fix for IOS only, includes Android libs bumped in version number but not functionally changed.
IOS simulator builds may have failed with a warning:
Error MT5209: Native linking error...building for iOS simulator,
but linking in object file built for OSX, for architecture i386 (MT5209)
This was triggered by the inclusion of a redundant IOS Simulator build of Realm.
Realm for Xamarin Private Beta 0.71.0
See installation instructions on the Realm Xamarin Page
Adds Android support, LINQ improvements and configurations.
See changelog.md for ful details.
Realm for Xamarin Private Beta
See installation instructions on the Realm Xamarin page