Skip to content

Releases: realm/realm-dotnet

0.76.0 INotifyPropertyChanged

09 Jun 14:29
Compare
Choose a tag to compare

Major Changes

  • RealmObject classes will now implicitly implement INotifyPropertyChanged 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 in RealmObject 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

03 Jun 14:45
Compare
Choose a tag to compare

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 implements INotifyCollectionChanged. Use the new ToNotifyCollectionChanged method instead.

Major Changes

  • RealmResults<T> can be observed for granular changes via the new SubscribeForNotifications method.
  • Realm gained the WriteAsync 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 new ToNotifyCollectionChanged extension method which produces an ObservableCollection<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 return null
  • 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

22 Apr 02:33
Compare
Choose a tag to compare
v0.74.1 Single NuGet Pre-release
Pre-release

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), and String.EndsWith(String) methods now support variable expressions. Previously they only worked with literal strings.

Minor Changes

  • The two Realm and RealmWeaver NuGet packages have been combined into a single Realm package.
  • RealmResults<T> now implements INotifyCollectionChanged by raising the CollectionChanged event with NotifyCollectionChangedAction.Reset when its underlying table or query result is changed by a write transaction.

v0.74.0 Mostly improving LINQ Searching and Sorting

01 Apr 19:58
Compare
Choose a tag to compare

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<>() and Realm.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 and ThenByDescending clauses. Sorts can be applied to results of a query from a Where clause or sorting the entire class by applying after All<>.
    • The String.Contains(String), String.StartsWith(String), and String.EndsWith(String) methods can now be used in Where clauses.
    • DateTimeOffset properties can be compared in queries.
  • Support for armeabi builds on old ARM V5 and V6 devices has been removed.

Minor Changes

  • Finish RealmList.CopyTo so you can apply ToList 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 realm
  • Realm.Refresh() makes sure the realm is updated with changes from other threads.

v0.73.0 Adding Encryption

26 Feb 18:24
Compare
Choose a tag to compare
Pre-release

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 a PlatformNotSupportedException. Previously threw a TypeInitExepction.
  • Update to Core v0.96.2 and matching ObjectStore (issue #393)

v0.72.1 Adding 64bit Android

15 Feb 09:56
Compare
Choose a tag to compare
Pre-release

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

12 Feb 16:29
Compare
Choose a tag to compare
Pre-release

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

29 Jan 12:25
Compare
Choose a tag to compare
Pre-release

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

25 Jan 15:52
Compare
Choose a tag to compare
Pre-release

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

10 Dec 12:20
Compare
Choose a tag to compare
Pre-release

See installation instructions on the Realm Xamarin page