Ship ReactiveUI 5.0 #219

Merged
merged 427 commits into from Jul 2, 2013
@paulcbetts
ReactiveUI member

This branch is the Master branch for tracking all of the stuff that will eventually become ReactiveUI 5.0

What MUST HAPPEN to Ship

  • Clean up the collection interfaces and classes (tracked in #287, because we can't do it post 5.0)
  • Rewrite ReactiveAsyncCommand to be more like ReactiveCocoa's RACCommand (because we can't do it post 5.0, #288)
  • Document everything that's not documented at the moment (tracked in #316)
  • Fix the Website because it's a train wreck

What WOULD BE AWESOME to Ship

  • Readonly reactive collections (tracked in #267)
  • Fix the XYZPlayground samples, people read them
  • Finish the PowerShell integration with RxUIViewModelGenerator
  • Move Xamarin.* to new unified profile that they're going to release soon (Dubious if they'll actually release them soon)

Notes

  • Preferably, don't commit to this branch directly unless it's something small, do it via a PR
  • Maintenance / Cleanup is definitely more important than New Features right now, since none of the uncompleted New Features require breaking changes. We can always ship them later. Maintenance will involve breaking changes.
  • Don't merge this to master yet until ReactiveUI 5.0 ships
@Martin-Andersen

Integration with FluentValidation would be very nice. Catel has Catel.Extensions.FluentValidation maybe we can get some inspiration from them.

@Martin-Andersen

A reference application that is not to simple to show what's possible with RxUI. It's very importing to always keep this application up to date with new features and best practiced patterns

@wendazhou wendazhou referenced this pull request Mar 27, 2013
Closed

Rxui5 validation #225

@jlaanstra
ReactiveUI member

@xpaulbettsx how about using the CommonServiceLocator from the patterns and practices team For ReactiveUI and make people specify there own DI container?

@shiftkey

@jlaanstra for client applications I'd argue that you can get away with something simple (you don't need to resolve components insanely quickly like you would with a web application serving a non-trivial amount of requests).

There's things that I love from Autofac (readable registration code and being able to use ctor parameters like Func<T>, IEnumerable<T>, Lazy<T> etc without registering components explicitly) that might be able to be added ontop of Paul's proposal.

And with RxUI looking to move to PCL for much of it's core, it may constrain what containers people can use until upstream projects choose to support PCL. And would Mono* devs be able to use existing containers too on their projects?

@paulcbetts
ReactiveUI member

how about using the CommonServiceLocator from the patterns and practices team For ReactiveUI and make people specify there own DI container?

The current design is CSL, in Delegate Form. It was a terrible idea to copy, many containers don't allow Register after initial setup, others don't support multiple registration per type - the design of CSL is just wrong for ReactiveUI.

@Haacked
ReactiveUI member

Correction. The design of CSL is just wrong.

:trollface:

@paulcbetts
ReactiveUI member

@Haacked Well, I was trying to be nice, but yeah :)

@jlaanstra
ReactiveUI member

I'm neutral about CSL. The thing is that it's already used a lot. How about including a DI container with RxUI in a similar fashion as Mvvmlight. We can pick an existing one or create our own. I'm just thinking of the best way to do this in a non-terrible way, without losing the flexibility to use your own DI container if you want to.

We could make DI an implementation detail and not expose it at all, but that means losing extensibility right?

@deavon

Paul,

I'd love to help out with ReactiveUI 5.0. Is there anything you'd like me to focus on?

Here's my work history:
http://www.linkedin.com/in/deavon

Thanks,
D

@wendazhou
ReactiveUI member

I think that in terms of IOC, there are two distinct issues we need to solve.

On one hand, ReactiveUI internally needs a DI container to wire all the extensibility mechanisms up, and personally, I feel that MEF would be a perfect fit in this case. It exists in a portable library, and has a simple attributed model that makes everything very simple. I don't think there is any need that this be replaceable as a DI container, and I think that it is acceptable to force the application to use a given DI framework to extend the framework.

On the other hand, we need a way to plug into the existing DI container used by the application, for stuff like ResolveViewFor and other places where we need to instantiate application code in the framework. I think that, in this case, a common facade remains the best way so that people can choose their own DI container. However terrible the design of CSL might be, it would limit its scope to just the interface between RxUI and the client code.

@paulcbetts
ReactiveUI member

I think that in terms of IOC, there are two distinct issues we need to solve.

@wendazhou This is a great point, MEF might certainly be worth looking into as a hard dependency. Though, to be honest, I think that the Gist that I linked above serves all of the purposes of MEF without the configuration ceremony. You can do:

  • Already instantiated singletons: locator.Register(typeof(IFoo), () => myFoo);
  • Lazy instantiations: locator.Register(typeof(IFoo), () => someLazy.Value);
  • Create on-demand: locator.Register(typeof(IFoo), () => new Foo())

You could add Extension methods to do all of these things easily, and the code is straightforward and doesn't involve scanning every type of an assembly like MEF does. On mobile platforms, that scan will be killer for startup performance and memory consumption (on a big'ish desktop app that I once worked on, MEF used ~10MB on startup, right off the bat)

@paulcbetts
ReactiveUI member

I'm just thinking of the best way to do this in a non-terrible way, without losing the flexibility to use your own DI container if you want to.

@jlaanstra You kind of already have one in RxUI 4 (i.e. just call Register and GetService, they both work even if you never set anything up), but I agree - you should never have to set up a container

@paulcbetts
ReactiveUI member

@deavon You don't need to be approved or added to anything before you can help out, no resumé necessary! If you wanted something easy to hack on, there's definitely some janitor-type things that can be done. Specifically, the usage of Code Contracts is pretty lax, and it'd be great if that was filled out for every method.

However, don't feel constrained that you have to work on that, if you have an idea, create a pull request! If you have trouble getting started with Git or GitHub, feel free to send an Email, paul@paulbetts.org.

@deavon

Thanks, Paul! Will do. I don't know if you've met Kyle Neath, but I worked with him at LEVEL Studios a few years ago.

@DamianReeves

I got my wires crossed before. The EF6 model of dependency resolution uses chain of responsibility and seems like an interesting why to solve the question on how a framework can allow integration with DI containers and also manage the need of the framework to create its own objects and services.

I also happen to be a fan of MEF too, but it seems like the average developer has the impression that MEF is too hard to learn.

@wendazhou
ReactiveUI member

@DamianReeves MEF has quite a lot of technical parts, but RxUI can set that all up itself, and then all the user has to do is add a Export(ITheContractInterface)] to their implementation. We could even provide special attribute classes for all the extension points that automatically export the correct type (and eventually metadata if needed).

Personally, I dislike the service locator pattern, because it makes code harder to test (you have to mock the Service Locator, providing the correct implementations etc.), especially compared to something like constructor injection that makes dependencies very obvious. However, it does seem to be the simplest model to abstract away, and this does have some advantages for a framework.

@jlaanstra
ReactiveUI member

I did some work on RxApp in 8b94898 by simplifying unit test and design mode detection. Still a lot of work to do.

@paulcbetts
ReactiveUI member

@jlaanstra That looks good, but if you have a hack at redoing it further, please start a PR first (even a dummy one like the CSS Selectors PR) so that we can discuss it first, that'll be a pretty big change

@jlaanstra
ReactiveUI member

@xpaulbettsx sure! The only thing I need to do for portable is adapt MakeRelease.ps1 to build portable libraries and than all tasks for portable are done. I'll make a new PR for RxApp changes.

@johnnyelwailer

Any thoughts on blendability especially with the new .Bind syntax? There should be done a lot to enable the tooling with design time data (maybe even something like a reactive design time data generator :)).

@DamianReeves

@wendazhou it turns out that MEF has limited portable library support. Try adding System.ComponentModel.Composition and you will quickly find out that you can't include this and target Windows Phone 8 and Windows Store Apps.

I've implemented the type of dependency resolution I spoke of before in a project I hacked at this week. I'm going to give a go at implementing something similar in my reactiveui fork.

How do I go about updating my fork to grab the latest from here (haven't dealt with git in the fork and pull request workflow that much)?

@paulcbetts
ReactiveUI member

@DamianReeves

git remote add upstream https://github.com/reactiveui/ReactiveUI.git
git fetch upstream
git checkout rxui5-master
git merge upstream/rxui5-master
@wendazhou
ReactiveUI member

@DamianReeves you have to use the Microsoft.Composition Nuget package for WinRT, but it is true that it has no WP8 support, so I guess it wouldn't work.

@paulcbetts
ReactiveUI member

Any thoughts on blendability especially with the new .Bind syntax? There should be done a lot to enable the tooling with design time data (maybe even something like a reactive design time data generator :)).

@johnnyelwailer RxUI5 bindings are actually Blendable in a way that's so simple you'll kick yourself, it's so much better than the Microsoft way, in almost every way. When RxUI5 releases, I'll blog about it.

@DamianReeves

So since I'm stuck on .NET 4.0 at work, does this me I can't use 5.x alpha? Whats the plan for those of us who can't upgrade to .NET 4.5 yet?

@paulcbetts
ReactiveUI member

Whats the plan for those of us who can't upgrade to .NET 4.5 yet?

"There was that law of life, so cruel and so just, that one must grow or else pay more for remaining the same." - Norman Mailer

@DamianReeves

It would be great to at least get the RxApp refactorings for ReactiveUI "4.x".
I find the service location setup in 4.5 to be not great when you use a container that doesn't like registering stuff after the container is created (I have a working solution for this, but its no where as elegant as what @jlaanstra added for 5.x).
So yes I'm having feature envy.

@paulcbetts
ReactiveUI member

It would be great to at least get the RxApp refactorings for ReactiveUI "4.x".

That'd be a breaking change for the 4.x folks, that's sadly not possible.

@paulcbetts paulcbetts referenced this pull request in akavache/Akavache May 14, 2013
Merged

Ship Akavache 3.0 #47

4 of 5 tasks complete
paulcbetts and others added some commits May 14, 2013
@paulcbetts paulcbetts Don't double-register ReactiveUI Core b6ce0c9
@paulcbetts paulcbetts RIP old solutions d4a8d30
@paulcbetts paulcbetts Let's set up some project files 23e05f6
@paulcbetts paulcbetts Make ReactiveUI.sln everything non-Xamarin e6da746
@paulcbetts paulcbetts Update to latest Rx built on 3.0.10 57abce4
@paulcbetts paulcbetts Fix up the solution for Xamarin a0099ef
@paulcbetts paulcbetts Make ReactiveUI_XSAll.sln build e96ab2e
@paulcbetts paulcbetts Add sln for projects that can *only* be built in Xamarin Studio (Xama…
…rin.Mac)
39f3d49
@paulcbetts paulcbetts Handle some quirkiness around framework type resolution on MonoDroid f66d855
@paulcbetts paulcbetts Fix inner types cc70adb
@paulcbetts paulcbetts Implement Events for Monodroid 92f3c13
@paulcbetts paulcbetts Add Monotouch ReactiveUI.Events, fix up build paths 135f368
Paul Betts Merge pull request #286 from reactiveui/fixup-xamarin
Fixup Xamarin solution files + Add ReactiveUI.Events for Xamarin.iOS / Xamarin.Android
545ada4
@paulcbetts paulcbetts Merge remote-tracking branch 'origin/master' into rxui5-master
Conflicts:
	NuGet/ReactiveUI-Core/ReactiveUI-Core.nuspec
	NuGet/ReactiveUI-Mobile/ReactiveUI-Mobile.nuspec
	NuGet/ReactiveUI-NLog/ReactiveUI-NLog.nuspec
	NuGet/ReactiveUI-Platforms/ReactiveUI-Platforms.nuspec
	NuGet/ReactiveUI-Testing/ReactiveUI-Testing.nuspec
	NuGet/ReactiveUI/ReactiveUI-Xaml.nuspec
	NuGet/ReactiveUI/ReactiveUI.nuspec
	ReactiveUI.Blend/Properties/AssemblyInfo.cs
	ReactiveUI.Mobile/Properties/AssemblyInfo.cs
	ReactiveUI.NLog/Properties/AssemblyInfo.cs
	ReactiveUI.Platforms/Android/Properties/AssemblyInfo.cs
	ReactiveUI.Platforms/Cocoa/Properties/AssemblyInfo.cs
	ReactiveUI.Platforms/Gtk/Properties/AssemblyInfo.cs
	ReactiveUI.Platforms/Xaml/Properties/AssemblyInfo.cs
	ReactiveUI.Routing/Properties/AssemblyInfo.cs
	ReactiveUI.Testing/Properties/AssemblyInfo.cs
	ReactiveUI/Properties/AssemblyInfo.cs
d35c681
@paulcbetts paulcbetts AsyncOneWayBind is unnecessary, use BindTo 52e1f44
@paulcbetts paulcbetts Add more unit tests to ReactiveCollection f35bb1c
@paulcbetts paulcbetts Ignore packages folder e4c8ea7
@paulcbetts paulcbetts Merge remote-tracking branch 'origin/rxui5-master' into IAppliedBindi…
…ngInfo

Conflicts:
	ReactiveUI/PropertyBinding.cs
d1eb852
@paulcbetts
ReactiveUI member

Alright friends, we are now in...

Ship It Mode

Which means, less adding features, more finishing things up so we can :shipit: ReactiveUI 5.0. If you've got a PR outstanding, please work on wrapping it up.

What else needs to be done?

Check out the PR above, the description is (or will!) change to the plan for getting this out the door. For posterity, here's what was in the PR description


This branch is the Master branch for tracking all of the stuff that will eventually become ReactiveUI 5.0

What's (Going To / Possibly Be) New?

New Features

  • Replace Service Locator with something not terrible (tracked in #235)
  • Observable Mixins for common frameworks (tracking in #240)
  • Automatic persistence of changed objects (tracking in #268)
  • Scaffolding framework via Roslyn / NRefactory - Prototype Here
  • Readonly reactive collections (tracked in #267)

Maintenance / Cleanup

  • Move to Portable Libraries / .NET 4.5 only (tracked in #217)
  • Remove the cruft and compatibility shims that have built up over time from old platforms (tracked in #233)
  • Kill RxApp with 🔥, replace with a more granular solution (tracked in #235)
  • Rename DeferredScheduler and clean up initialization (tracked in #275)
  • Rewrite ReactiveAsyncCommand to be more like ReactiveCocoa's RACCommand (tracked in #288)
  • Document everything that's left
  • Move Xamarin.* to new unified profile that they're going to release soon
  • Clean up the collection interfaces and classes (tracked in #266)

Punted to v5.(>= 0)

  • Port of ReactiveCocoaLayout, especially important on Android
  • CSS Selector framework (tracking in #220)
  • Project and File Templates for Xamarin Studio and VS2012 (Perhaps via Xamarin Addin system?)

Notes

  • Preferably, don't commit to this branch directly unless it's something small, do it via a PR
  • Maintenance / Cleanup is definitely more important than New Features right now, since none of the uncompleted New Features require breaking changes. We can always ship them later. Maintenance will involve breaking changes.
  • Don't merge this to master yet until ReactiveUI 5.0 ships
@jlaanstra

Shouldn't this be .Finally(() => { lock(inflight) { inflight.OnNext(false); } }) ?

ReactiveUI member

Yep, took me a lot of debugging time to find that out too :-/

jlaanstra and others added some commits May 18, 2013
@jlaanstra jlaanstra Add Changed observable to expose binding changes on IReactiveBinding. d0f6386
@jlaanstra jlaanstra Returning null seems like a reasonable solution. 9ef4269
@jlaanstra jlaanstra Rename RealUnitTestDetector to PlatformUnitTestDetector.
Added some comments.
Changed the static constructor to a static Initialize method.
ba904ba
@jlaanstra jlaanstra Add clear exception message when RxUI is not properly initialized. a2206f0
@paulcbetts paulcbetts Add tests for AllowConcurrentExecution 31c253c
@paulcbetts paulcbetts DistinctUntilChanged + First = kablooey 5824a64
Paul Betts Merge pull request #288 from reactiveui/rewrite-reactiveasynccommand
Rewrite ReactiveCommand
0969cb6
@paulcbetts paulcbetts Merge remote-tracking branch 'origin/rxui5-master' into IAppliedBindi…
…ngInfo
1c67ecc
@Haacked Haacked Add read only interfaces for reactive collections
fixes #267
580af48
@paulcbetts paulcbetts Shuffle some stuff around, make default view locator not static 2a56ea4
@paulcbetts paulcbetts Add a static class that just proxies to service location 40df2c8
@paulcbetts paulcbetts Always take the newest one when GetService is called and there are mu…
…ltiple options
741e044
@paulcbetts paulcbetts Warn people if their IoC is jacked 6bb4b9a
@paulcbetts paulcbetts Update RxUI.Xaml to use new routing 8857dc6
@paulcbetts paulcbetts Register the default IViewLocator 70a366e
@paulcbetts paulcbetts Allow passing a contract name into view resolution f52daa0
@paulcbetts paulcbetts Add a new property to ViewModelViewHost and RoutedViewHost to represe…
…nt the contract
41e6f87
@paulcbetts paulcbetts Fix the one lame test for the default view resolver b49893d
@paulcbetts paulcbetts Add a default for WinRT that follows around the snapped/unsnapped state 6a8df45
@paulcbetts paulcbetts Refactor Interfaces.cs since it's getting too gigantic 02c6ef4
@paulcbetts paulcbetts Add Platform operations interface 0d054a1
@paulcbetts paulcbetts Nuke this WinRT-only nonsense 6068291
Paul Betts Merge pull request #290 from reactiveui/readonly-collections
Add read only interfaces for reactive collections
bb39ea3
@paulcbetts paulcbetts Update the csproj files 0ac68aa
@paulcbetts paulcbetts Get Cocoa compiling again 795f9cb
@paulcbetts paulcbetts Get Android building ac1b238
Paul Betts Merge pull request #293 from reactiveui/fix-xamarin
Update the Xamarin build for recent changes
26404a2
@paulcbetts paulcbetts Merge branch 'the-great-collection-rename' into rxui5-master
Conflicts:
	ReactiveUI.Tests/ReactiveCommandTest.cs
c68eeab
@paulcbetts paulcbetts Merge branch 'rxui5-master' of https://github.com/reactiveui/ReactiveUI
… into rxui5-master
b22b5f6
Paul Betts Merge pull request #246 from reactiveui/IAppliedBindingInfo
Return rich IAppliedBindingInfo object when using View Bindings.
cd95ff8
@oliverw

Ok Paul, but then we should probably register at least one logger :)

Nevermind ™️

ReactiveUI member

@oliverw The previous commit does this :)

@paulcbetts
ReactiveUI member

This is 👍, but in the future, Always Be Pull Requesting :)

@xpaulbettsx Don't worry Paul. I wouldn't have done this for anything other than simple solution addition.

casnap and others added some commits May 30, 2013
@casnap casnap changed name of scaffolding function and gave it an alias 38b023a
Paul Betts Merge pull request #309 from casnap/rxui5-master
added PS script to ReactiveUI-Core\tools for scaffolding
42932d5
@paulcbetts paulcbetts Version bump to 5.0.0.20130531 7c6beed
@paulcbetts paulcbetts This is causing no end to grief da96f40
@paulcbetts paulcbetts Null exception on platforms that don't support orientation e82358b
@oliverw oliverw Added support for UIRefreshControl Command-Binding 3090c19
@paulcbetts paulcbetts Document all the methods in ReactiveUI.dll 691f21f
@oliverw oliverw Fixed crash when a KVOObservableForProperty based binding was disposed f3ce8fd
@oliverw oliverw Implement event based command bindings in a data-driven fashion 17ba9d7
@oliverw oliverw - Consolidated TargetActionComandBinder functionality into UIKitComma…
…ndBinders

- FlexibleCommandBinder and UIKitObservableForPropertyBase now support derived types as well (Bug)
f33907c
@oliverw oliverw Affinity handling improvements for FlexibleCommandBinder and UIKitObs…
…ervableForPropertyBase
0eae0fe
@jlaanstra jlaanstra Fix design mode detection on Windows Phone, where DependencyObject is…
… an abstract type.
1cb439a
@oliverw oliverw Fixed crash caused by unnecessary cast in FlexibleCommandBinder 55dbd70
Paul Betts Merge pull request #318 from reactiveui/designmodedetector-fixes
Fix design mode detection on Windows Phone, where DependencyObject is an...
a78a4b9
@paulcbetts paulcbetts Merge remote-tracking branch 'origin/binding-enhancements' into rxui5…
…-master
9a2d6b7
@paulcbetts paulcbetts Merge remote-tracking branch 'origin/rxui5-master' into doc-all-the-t…
…hings
0065845
@paulcbetts paulcbetts Document all of ReactiveUI.Cocoa 18ef513
@paulcbetts paulcbetts Add docs for XAML-specific stuff cc67e67
@paulcbetts paulcbetts Doc all of RxUI.Mobile on Cocoa 55b9eb0
Paul Betts Merge pull request #316 from reactiveui/doc-all-the-things
Document all the methods with missing VSDocs
3619659
@paulcbetts paulcbetts Fixups to get app initially working dfe8d02
@paulcbetts paulcbetts hwhoops 38cc62d
@paulcbetts paulcbetts Fix creating the Page from resume 783cbe9
@paulcbetts paulcbetts If during resolution, we add to the resolver, we die 4c948fa
@paulcbetts paulcbetts Remove the rxObjectsSetup now that JSON.NET is fixed 70ad357
@paulcbetts paulcbetts Update to RxUI 5.0 a34684b
@paulcbetts paulcbetts Initialize ViewContractObservable on startup like we do in Xaml 4307f54
@paulcbetts paulcbetts We must guarantee that CanExecute always comes back on the UI 899fcdc
@paulcbetts paulcbetts Merge remote-tracking branch 'mac/fix-xamarin-mac-sample' into rxui5-…
…master
ec3f30d
@paulcbetts paulcbetts Fix up tests that used the INPCHelper test fixture 692c296
@paulcbetts paulcbetts Make 'CanExecute always on UI thread' work in unit tests too eb2c164
@paulcbetts paulcbetts Nuke dead test code 3b7c804
@paulcbetts paulcbetts Remove Scheduler from ReactiveList ef49cca
@paulcbetts paulcbetts Move Windows-specific tests to Xaml folder 8b393f4
@paulcbetts paulcbetts Add iOS unit test project 412bf10
@paulcbetts paulcbetts Add an iOS version of Microsoft.Reactive.Testing 5b19b5f
@paulcbetts paulcbetts Get tests mostly running on iOS 450e7b2
@paulcbetts paulcbetts Clean up EventBuilder build products after we're done with them 7717767
@paulcbetts paulcbetts Nuke Contains<T> bcaf087
@paulcbetts paulcbetts We don't *actually* use XUnit in this test on 8ec2051
@paulcbetts paulcbetts Remove some redundant properties before we start hacking stuff 3c9494f
@paulcbetts paulcbetts Create ReactiveObject clones for NSView and NSViewController. Grumble…
… Grumble Need Real Mixins Grumble
0fc48f3
@paulcbetts paulcbetts Clean up ReactiveObject a bit 81ce888
@paulcbetts paulcbetts Fix PropertyBindingTests for iOS 712fd7c
@paulcbetts paulcbetts Fix incorrect default property values for UIKit 635027d
@paulcbetts paulcbetts Compile ReactiveUI.Testing for Monodroid bc407e9
@paulcbetts paulcbetts Fix build for device 63338fc
@paulcbetts paulcbetts Reimplement Throws because Android's NUnit doesn't do it the same 89c0b04
@paulcbetts paulcbetts Update to a non-busted version of Mono.Reactive.Testing for Android db4d407
@paulcbetts paulcbetts Add MonoDroid test project bd4a941
@paulcbetts paulcbetts Create ReactiveActivity and ReactiveFragment classes 7ab172f
@paulcbetts paulcbetts Enable the Android version of the Prop binding tests c849402
@paulcbetts paulcbetts Add a Default Property binder for Android 7cc5cf0
@paulcbetts paulcbetts Add a hacky hack to make WhenAny work with certain Android controls 5d0c4da
@paulcbetts paulcbetts Fix the Windows build f6121b3
@paulcbetts paulcbetts Merge remote-tracking branch 'mac/rxui5-master' into rxui5-master bdec610
@slodge slodge Plural of Assembly is Assemblies
Sorry - couldn't resist practising during your talk.
990dbbf
@Haacked Haacked Merge pull request #322 from slodge/patch-1
Plural of Assembly is Assemblies
214ee15
@paulcbetts paulcbetts Merge remote-tracking branch 'origin/master' into rxui5-master ae8cc77
@paulcbetts paulcbetts Remove Playground projects 9a65948
@paulcbetts paulcbetts git keeps stomping on +x for generate_events.rb ca6fba6
@paulcbetts paulcbetts Fix the build on Release 612b2b2
@jlaanstra jlaanstra Reference the correct versions of System.Windows.Interactivity. b6fa2a3
@paulcbetts

Would it be better to just nuke the Version altogether?

ReactiveUI member

Not sure what will happen in that case. SO to be on the safe side, I think it's fine to keep the version since these things are only updated for newer platforms.

paulcbetts and others added some commits Jun 20, 2013
@paulcbetts paulcbetts Why would anyone not want to generate debug symbols. AM I TAKING CRAZ…
…Y PILLS OR SOMETHING
36bda14
@paulcbetts paulcbetts Version bump to 5.0.0.20130620 d2c5412
@paulcbetts paulcbetts Why does this keep getting renamed e2f93e1
@paulcbetts paulcbetts Package Testing + some PDBs 4dfe719
@paulcbetts paulcbetts Rename ReactiveNSView* to ReactiveView* to save iOS developers' sanity d6aa4f1
@paulcbetts paulcbetts Grumble Monotouch grumble 660b9af
@paulcbetts paulcbetts Merge remote-tracking branch 'origin/rxui5-master' into rxui5-master 0ef6a77
@paulcbetts paulcbetts Merge branch 'master' into rxui5-master
Conflicts:
	ReactiveUI/ReactiveList.cs
ca08cde
@paulcbetts paulcbetts Merge branch 'master' into rxui5-master cb7bb22
@jlaanstra jlaanstra Fix for #278.
Adds protected virtual void methods to raise events and comply with .NET best practices around events through all of ReactiveUI.
b016e94
@jlaanstra jlaanstra Rename some namespace references, so we build succesfully. 073267a
@paulcbetts paulcbetts Merge remote-tracking branch 'origin/rxui5-master' into events-virtua…
…l-methods
cc61b6a
@paulcbetts paulcbetts Style Fixups 0afa770
@paulcbetts paulcbetts Clean up the View Locator code a bit 04a723e
@paulcbetts paulcbetts Fall back to the view that doesn't specify an orientation
If the developer doesn't want to use orientation-specifc views, try to
resolve the non-orientation specific view
e9f8930
Paul Betts Merge pull request #335 from reactiveui/view-locator-fallback
Fall back to non orientation-specific views
11bb11f
@niik niik Reintroduce read-only interfaces
Have CreateDerivedCollection return interface for maximum
flexibility going forward in RxUI5.

Makes IObservedChange and IReactiveNotifyPropertyChanged
covariant.
113cd14
@niik niik Add xml docs for new interfaces 8980396
@niik niik Including move notifications in interfaces 25842a6
@niik niik Make RDC implementation internal 5cb784d
@paulcbetts paulcbetts merged commit a475965 into master Jul 2, 2013

1 check passed

Details default TeamCity Build rxui :: rxui-5.x finished: Running
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment