Skip to content

Releases: reactiveui/ReactiveUI

ReactiveUI 5.3.0

20 Nov 20:14
Compare
Choose a tag to compare

What's New

Improved iOS Table View / Collection View support

Thanks to @meteficha and @alanpog, ReactiveUI's support for UITableView and UICollectionView is now vastly improved. We now support:

  • Custom Section Headers and Footers
  • Support for UICollectionView via new ReactiveCollectionViewSource class, similar to ReactiveTableViewSource
  • Support for adding / removing sections dynamically in a Reactive way, via the Data property on ReactiveTableViewSource
  • Added several new IViewFor-friendly Cocoa view subclasses, such as ReactiveCollectionViewCell
  • You can now easily detect when the table has finished updating to avoid making changes during a table reshuffle, via DidPerformUpdates

ViewModelViewHost and RoutedViewHost for WinForms

Thanks to @rikbosch, ReactiveUI.WinForms now has support for both RoutedViewHost and ViewModelViewHost, so you can create IViewFor-based Controls. (#396)

Bug Fixes

  • Make FuncDependencyResolver handle GetService correctly via returning the last item (#389), thanks @journeyman!
  • Fix a race condition in ObservableAsyncMRUCache, thanks @npnelson!
  • Create an overload of ObservableForProperty that's a bit more F# friendly, thanks @marklam!
  • Code cleanups to our project files (#387), thanks @pH-minamo!

ReactiveUI 5.2.0

12 Oct 07:24
Compare
Choose a tag to compare

What's New

iOS Improvements

This release adds Reactive versions of a number of common UIKit classes, such as UIImageView. RxUI also now comes with a new class for UITableViewSource, ReactiveTableViewSource. This class will wrap a ReactiveList<ViewModel> class and automatically animate in and out cells from the table view as they change (PR #377)

Android improvements

This release adds basic binding support for common Android controls, thanks to #371. Thanks @oliverw!

Combined Commands

ReactiveCommand now supports combining commands, so it's easy to create a command that invokes one or more "child" commands, check out #382 for more information.

Modern Xamarin support

ReactiveUI is now built against the official Xamarin Rx binaries. This means that on MonoMac, you need to be up-to-date on the latest Mono install.

Bug Fixes

  • Fixes to ViewLocator to be more helpful if registration isn't set up (#359, thanks @terenced!)
  • Move RxUI.Mobile interfaces to the portable library so you can use them from PLibs (#364)
  • Perf improvement when looking up interfaces (#366, thanks @2asoft!)
  • Fixes to Auto Data Template (#367, thanks @ChrisWay!)
  • Fix to AutoPersist (#383, thanks @vevix!)
  • Updates to handle the latest Rx Microsoft release
  • Make sure ReactiveCommand's IsExecuting always comes back on the UI thread (#373)

ReactiveUI 5.1.0

09 Aug 12:28
Compare
Choose a tag to compare

What's New

Windows Forms Support

Thanks to the great work of @rikbosch, ReactiveUI now has initial Windows Forms support. This includes an initial hack at binding to Windows Forms properties, as well as command binding. Grab it by installing the NuGet package:

Install-Package ReactiveUI-Winforms

New APIs

this.WhenAnyValue(x => x.Foo)  // Same as this.WhenAny(x => x.Foo, x => x.Value)

Weird Version Numbers?!

Some things went wrong with NuGet with this release, so the last version number may not match (it will either be "5.1.1" or "5.1.2"). Ignore the man behind this curtain.

Other Stuff

  • Bug fixes to ReactiveList and CreateDerivedCollection
  • Use less internal caching when on mobile platforms (#346)
  • Several fixes to iOS support, especially on-device
  • Allow setting the initial CanExecute state of ReactiveCommand to be false (
  • Bugfixes to OneWayBind (#331)
  • Fix a designer crash in RoutedViewHost (#341)

Greetz

Thanks to @niik, @jlaanstra, @dahlbyk, @ChrisWay, and @sillyotter for their help on this release!

ReactiveUI 5.0.1

02 Jul 22:06
Compare
Choose a tag to compare

After 3 months, 427 commits by 12 different contributors, and 689 total files changed, the stable release of ReactiveUI 5.0 is now live! A huge thanks to the contributors for this release:

  • Markus Olsson
  • Johan Laanstra
  • Oliver Weichhold
  • Phil Haack
  • Christopher Atkins
  • Brad Phelan
  • Georg Rollinger
  • Kent Boogaart
  • Wenda Zhou

Check out the Ship PR

Here's the release highlights:

ReactiveUI is now totally Portable-Friendly

ReactiveUI now is compatible with .NET 4.5 Portable Libraries, you can now write cross-platform ViewModels but still use almost all of the RxUI features.

Unfortunately, to do this, we had to drop support for a number of older platforms. If you are using Silverlight, WP7, or .NET 4.0, you'll have to stick with ReactiveUI 4.x, which will still be maintained in a separate branch.

ReactiveUI 5.x has full support for the following platforms:

  • Xamarin.iOS
  • Xamarin.Android
  • Xamarin.Mac
  • .NET 4.5 (WPF)
  • Windows Phone 8
  • Windows Store Apps (WinRT)

ReactiveUI.Events

ReactiveUI now makes it easy to bind to UI events, without having to use Observable.FromEventPattern. Many UI controls and other objects now have an Events() extension method. For example:

theButton.Events().Clicked.Subscribe(x => /* ... */);

This makes it far cleaner to compose complex UI interactions at the view level.

A much improved API surface

This release is the "Clean up" breaking changes release - many deprecated methods have been removed - I'm proud to say that this release removes over 2x the number of lines that it adds, and only leaves what Should Be There.

Many names have been changed to be more clear, methods have been removed or clarified, and in general, ReactiveUI 5.0 is a more pleasant framework to use. However, this means that moving from RxUI 4.x to 5.x can be a bit of work. Check out the migration guide for more information.

Testable Initialization

ReactiveUI now has much more straightforward initialization - you can initialize ReactiveUI yourself in a test runner, ensure that tests won't register over other tests, and there is a new Service Locator implementation that is much more flexible with regard to object lifetimes than the old built-in service locator. RxApp itself now has much less in it, relying instead on the new RxApp.DependencyResolver property.

ReactiveUI 4.6.4

18 Jun 22:47
Compare
Choose a tag to compare

What's New

Notable Changes Since 4.5.0

  • Improved support for ReactiveUI on iOS and Android, including Suspension Manager support
  • A UINavigationController for iOS that participates in ViewModel-based view location
  • OrderedComparer, a new way to write IComparable implementations using a LINQ'ish syntax
  • Make ReactiveDerivedCollection read-only and fix notification bugs
  • We now generate Symbol packages for ReactiveUI
  • Fixes for BindCommand on WinRT, where EventArgs don't actually have to be derived from System.EventArgs
  • ReactiveAsyncAction now signals completion
  • Fixes bug where WP8 projects would incorrectly be flagged as running in the test runner

ReactiveUI 4.5.0

12 Mar 03:51
Compare
Choose a tag to compare

What's New

Xamarin.iOS and Xamarin.Mac support

This release brings initial support for the latest Xamarin.Mac and Xamarin.iOS. Using ReactiveUI and Xamarin Studio, you can write cross-platform ViewModels and Model classes and bind them to Views using the same RxUI 4.x binding syntax.

  • ReactiveUI knows how to bind to Cocoa objects using Key-Value Observing
  • DeferredScheduler automatically runs code on the Cocoa main runloop
  • Routing and ViewModelViewHost is supported via a class that attaches to NSView
  • Command binding understands Cocoa controls via Cocoa target/action framework, including automatically disabling the control when CanExecute is false
  • Many common controls have implicit binding support

Experimental Xamarin.Android support

This release also includes very basic Xamarin.Android support, including a scheduler that will run code on the Activity's main thread.

What do I need to run this??

You need to run Xamarin Studio and make sure to have the latest updates installed from the Alpha Channel.

What else is New?

  • Bug fixes in UserError Handling
  • Extra documentation (thanks @ArturPhilibin!)
  • Add Debugger support for ReactiveCollection (#204, thanks @distantcam!)

ReactiveUI 4.4.3

04 Mar 22:35
Compare
Choose a tag to compare

What's New

  • Fix a bug with certain service locators on WP7 (#197)
  • Fix a bug related to sorting in CreateDerivedCollection (#195)
  • Allow the connection created in CreateDerivedCollection to be disconnected (#199)
  • Enable Type Conversion and Binding Hooks in BindTo and correct a crashing bug in WinRT (#201)

ReactiveUI 4.4.2

27 Feb 04:17
Compare
Choose a tag to compare

What's New

  • Improve speed of View lookup, get rid of spurious throwing
  • Add documentation for RxUI View Bindings
  • Fix several WinRT-only bugs, especially around the SuspensionHost scenario