ReactiveCocoa/ReactiveCocoa — pull request #618 by jspahrsummers (2013-06-25 06:03:01+00:00)
Title: ReactiveCocoa 2.0

**:warning: NOT READY TO MERGE :warning:**

This release of ReactiveCocoa contains major breaking changes that we were unable to make after freezing the 1.0 API. All changes are focused on eliminating bad code and bad usage patterns, reducing confusion, and increasing flexibility in the framework.

**Performance improvements and critical fixes should continue to be applied to RAC 1.x until this branch is merged.**

## Major changes

- [x] Replace `-rac_signalForSelector:` with a [significantly more powerful version](https://github.com/ReactiveCocoa/ReactiveCocoa/pull/590) that supports a variety of argument and return types
- [x] Replace `-rac_liftSelector:withObjects:` and `-rac_liftBlock:withObjects:` with [more consistent versions](https://github.com/ReactiveCocoa/ReactiveCocoa/pull/609) that only accept signal arguments
- [x] [Add a scheduler parameter](https://github.com/ReactiveCocoa/ReactiveCocoa/pull/588) to timer methods, so delivery is explicit (vs. implicitly on a background queue)
- [x] Refactor `RACCommand` to [work only on the main thread](https://github.com/ReactiveCocoa/ReactiveCocoa/pull/540), to make UI bindings easier and safer
- [x] [Remove NSTask+RACSupport](https://github.com/ReactiveCocoa/ReactiveCocoa/pull/556), because it's super busted
- [x] Replace the various `+[RACSignal start…]` with a single, consistent [+startEagerlyWithScheduler:block:](https://github.com/ReactiveCocoa/ReactiveCocoa/pull/536) method
- [x] Remove [-rac_didDeallocSignal](https://github.com/ReactiveCocoa/ReactiveCocoa/issues/579), in favor of [-rac_willDeallocSignal](https://github.com/ReactiveCocoa/ReactiveCocoa/pull/580)
- [ ] Replace `RACAble` and `RACAbleWithStart` with [RACObserve](https://github.com/ReactiveCocoa/ReactiveCocoa/pull/601), which always [starts with the current value](https://github.com/ReactiveCocoa/ReactiveCocoa/issues/513) and fixes issues with [intermediate objects deallocating](https://github.com/ReactiveCocoa/ReactiveCocoa/issues/159) during KVO
- [ ] [Replace NSObject+RACAppKitBindings](https://github.com/ReactiveCocoa/ReactiveCocoa/issues/361) with a [RACBinding-based API](https://github.com/ReactiveCocoa/ReactiveCocoa/issues/452)
- [ ] [Add RACBindings](https://github.com/ReactiveCocoa/ReactiveCocoa/issues/544) for UIKit

For a complete list of issues, see the [2.0 milestone](https://github.com/ReactiveCocoa/ReactiveCocoa/issues?milestone=3&state=open).

:sparkles: Many thanks to everyone who's been chipping in! :sparkles: