2.1.8
Warning! Behavior change regarding handling illegal calls with null
in Processor
s and Subject
s.
The Reactive Streams specification mandates that calling onNext
and onError
with null
should
result in an immediate NullPointerException
thrown from these methods. Unfortunately, this requirement was overlooked (it resulted in calls to onError
with NullPointerException
which meant the Processor/Subject variants entered their terminal state).
If, for some reason, the original behavior is required, one has to call onError
with a NullPointerException
explicitly:
PublishSubject<Integer> ps = PublishSubject.create();
TestObserver<Integer> to = ps.test();
// ps.onNext(null); // doesn't work anymore
ps.onError(new NullPointerException());
to.assertFailure(NullPointerException.class);
API changes
- Pull 5741: API to get distinct
Worker
s from someScheduler
s. - Pull 5734: Add
RxJavaPlugins.unwrapRunnable
to help with RxJava-internal wrappers inScheduler
s. - Pull 5753: Add
retry(times, predicate)
toSingle
&Completable
and verify behavior across them andMaybe
.
Documentation changes
- Pull 5746: Improve wording and links in
package-info
s + remove unused imports. - Pull 5745: Add/update
Observable
marbles 11/28. - Commit 53d5a235: Fix JavaDoc link in observables/package-info.
- Pull 5755: Add marbles for
Observable
(12/06). - Pull 5756: Improve
autoConnect()
JavaDoc + add its marble. - Pull 5758: Add a couple of
@see
toCompletable
. - Pull 5759: Marble additions and updates (12/11)
- Pull 5773: Improve JavaDoc of
retryWhen()
operators. - Pull 5778: Improve
BehaviorProcessor
JavaDoc.
Bugfixes
- Pull 5747: Fix
TrampolineScheduler
not callingRxJavaPlugins.onSchedule()
, add tests for all schedulers. - Pull 5748: Check
runnable == null
in*Scheduler.schedule*()
. - Pull 5761: Fix timed exact
buffer()
calling cancel unnecessarily. - Pull 5760:
Subject
/FlowableProcessor
NPE fixes, addUnicastProcessor
TCK.