Skip to content

Commit ccc2b2c

Browse files
authored
Release 1.2.7
1 parent e8b6035 commit ccc2b2c

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

CHANGES.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,40 @@
11
# RxJava Releases #
22

3+
### Version 1.2.7 - February 24, 2017 ([Maven](http://search.maven.org/#artifactdetails%7Cio.reactivex%7Crxjava%7C1.2.7%7C))
4+
5+
#### Deprecation of `create(OnSubscribe)`
6+
7+
The method started out in RxJava 0.x as a simple and direct way for implementing custom operators because 0.x had a much simpler protocol requirements. Over the years, as the `Observable` protocol evolved and `create` became a powerful and complicated extension point of RxJava that required users to implement the `Observable` protocol, including cancellation and backpressure manually.
8+
9+
Unfortunately, guides, blogs, StackOverflow answers and mere typical user behavior still leads to this `create` method and lots of confusion, unstoppable sequences and `MissingBackpressureException`. We tried remedying the situation by introducing `fromEmitter` with limited discoverability success.
10+
11+
**Therefore, as of 1.2.7 the `create()` method is now deprecated** (but won't be removed due to binary compatibility requirements). In addition `fromEmitter` has been deprecate-renamed to `create(Action1, BackpressureMode)` and the experimental-marked `fromEmitter` itself will be removed in 1.3.0.
12+
13+
Since the functionality of `create()` was useful for writing (custom) operators inside and outside of RxJava, the new `unsafeCreate(OnSubscribe)` method was introduced as the replacement.
14+
15+
The new `create()` and `unsafeCreate()` methods will be fast-tracked to become standard in 1.3.0.
16+
17+
#### API enhancements
18+
19+
- [Pull 5086](https://github.com/ReactiveX/RxJava/pull/5086): Deprecate `create()`, add alternatives
20+
- [Pull 5092](https://github.com/ReactiveX/RxJava/pull/5092): Add `Single.merge(Observable<Single<T>>)`, `Observable.flatMapSingle()` & `Observable.flatMapCompletable`.
21+
- [Pull 5091](https://github.com/ReactiveX/RxJava/pull/5091): Add `subscribeOn(Scheduler, boolean)` avoid same-pool deadlock.
22+
23+
#### API deprecations
24+
25+
- [Pull 5086](https://github.com/ReactiveX/RxJava/pull/5086):
26+
- Deprecate `Observable.create(OnSubscribe)`,
27+
- Deprecate `fromEmitter` in favor of `Observable.create(Action1, BackpressureMode)`.
28+
29+
#### Bugfixes
30+
31+
- [Pull 5091](https://github.com/ReactiveX/RxJava/pull/5091): `create(Action1, BackpressureMode)`+`subscribeOn` avoid same-pool deadlock.
32+
- [Pull 5123](https://github.com/ReactiveX/RxJava/pull/5123): `throttleFirst` detecting clock-drift backwards to open the gate
33+
34+
#### Other
35+
36+
- [Pull 5125](https://github.com/ReactiveX/RxJava/pull/5125): reduce stack depth with `switchIfEmpty`
37+
338
### Version 1.2.6 - February 3, 2017 ([Maven](http://search.maven.org/#artifactdetails%7Cio.reactivex%7Crxjava%7C1.2.6%7C))
439

540
#### Documentation

0 commit comments

Comments
 (0)