RxJava v3.0.0 Release Notes

Release Date: 2019-07-12 // 5 months ago
  • Maven

    🚀 This is an early release for 3.0.0 to allow preparations for the breaking API changes and cleanups.

    Please check out the wiki page What's different in 3.0 from time to time for the details and migration guide.

    API changes

    • 📇 Rename onErrorResumeNext(<source>) to onErrorResumeWith(<source>) to avoid lambda ambiguity with onErrorResumeNext(Function). (#6550)
    • Remove buffer(Supplier) variants (#6564)
    • Remove window(Supplier) variants (#6564)
    • Remove onExceptionResumeNext (#6564)

    Behavior changes

    🚀 No behavior changes in this release.

    🛠 Bugfixes

    • 🛠 Fix NPE when debouncing empty source (#6559)

    📚 Documentation enhancements

    • 🛠 Fix wording in Single javadocs (#6566)

    Other

    • 🛠 Fixing version tag since Schedulers.from(Executor, boolean) has been promoted. (#6544)
    • ✅ Simplify JUnit tests with more appropriate assert methods (#6549)
    • ✂ Remove unnecessary static imports from unit tests (#6550)

Previous changes from v3.0.0-RC0

  • Maven

    🚀 This is an early release for 3.0.0 to verify the release process still works for the new artifact location.

    🚀 This release note does not detail the changes since 2.2.x. Please check out the wiki page What's different in 3.0 from time to time for the details and migration guide.

    API changes

    • Add eager truncation to bounded replay() to avoid item retention (#6532)
    • Add X.fromSupplier() (#6529)
    • Add concatMap with Scheduler guaranteeing where the mapper function runs (#6538)
    • Add startWithItem & startWithIterable (#6530)
    • ConnectableFlowable/ConnetableFlowable redesign (#6519)
    • 🔀 Merge as() into to() (#6514)
    • 🔄 Change Maybe.defaultIfEmpty() to return Single (#6517)
    • Widen functional interface throws, replace Callable with Supplier in operator signatures (#6511)
    • Promote Beta/Experimental operators to Standard (#6537)
    • Remove getValues() from some subjects/processors (#6516)
    • Remove methods from test consumers, make internal versions (#6526)
    • Remove replay(Scheduler) and its overloads (#6539)
    • Remove dematerialize() (#6539)
    • Remove startWith(T|Iterable) (#6530)
    • Remove as() (#6514)
    • Remove Maybe.toSingle(T) (#6517)
    • Remove Flowable.subscribe(4 args) (#6517)
    • Remove Observable.subscribe(4 args) (#6517)
    • Remove Single.toCompletable() (#6517)
    • Remove Completable.blockingGet() (#6517)

    Behavior changes

    • 👉 Make using() resource disposal order consistent with eager-mode (#6534)
    • ConnectableFlowable/ConnetableFlowable redesign (#6519)
    • ➕ Add eager truncation to bounded replay() to avoid item retention (#6532)

    🛠 Bugfixes

    • 🛠 Fix concatMapDelayError not continuing on fused inner source crash (#6523)
    • 🔀 Sync up with 2.2.10 snapshot (#6507)
    • 🔀 Merge in changes from 2.x since the initial branching (#6498)

    📚 Documentation enhancements

    • Clarify create emitters are per consumer (#6535)
    • ➕ Add marbles to X.fromSupplier (#6531)
    • 🔀 Sync up with 2.2.10 snapshot (#6507)
    • 🔀 Merge in changes from 2.x since the initial branching (#6498)

    Other

    • ✂ Remove Changes.md (#6533)
    • ✂ Remove test from testXXX method names, create a validator (#6525)
    • 🔀 Sync up with 2.2.10 snapshot (#6507)
    • 🔀 Merge in changes from 2.x since the initial branching (#6498)