Version 7 -> 8 Roadmap
Author: benleshCreated May 5, 2021Updated Aug 11, 2026
LabelsAGENDA ITEM7.x8.x
NOTE (10/28/2024): RxJS 8 is on hold while observable is being standardized for the web platform. RxJS 8 should match the web platform as much as possible and support it directly. 7.0 is stable, running well, and overall solid.
This issue is outlining what needs to be done in version 7 before we can move to version 8 in earnest.
- Once ALL items in version 7 are complete, we can consider moving the
8.xbranch tomaster, and create a7.x` branch. - Once ALL items in version 8 are finalized and implemented, we can move from
8.x.x-alphato8.x.x-beta.
In Version 7
-
groupByconfig (#5679) -
shareobservable resets (#6169) -
(#3807)splitBy - Add all exports to top level
- More configurable
retry(#6421) - More configurable
repeat(#6640) - Deprecate
MapTovariants (#6399, PR: #6860) - Deprecate
retryWhen/repeatWhen? (#6859) - Deprecate
onErrorResumeNextoperator in favor ofonErrorResumeNextWith(#6755) - Various selectors/arguments should support
ObservableInput-
delayWhen'snotifier(#7049), -
buffer'sclosingNotifier(#7073), -
distinct'sflushes(#7081), -
repeatWhen'snotifier(#7103), -
sample'snotifier(#7104), -
retryWhen'snotifier(#7105), -
sequenceEqual'scompareTo(#7102), -
ShareConfig'sresetOnError,resetOnCompleteandresetOnRefCountZero(#7093), -
skipUntil'snotifier(#7091) and -
window'swindowBoundaries(#7088)
-
Before Version 8 is released
- Remove all deprecated APIs marked to be removed in v8 or marked deprecated ages ago.
- Remove
sourceparameters from predicates. (Deprecating these via the type system effects problems - see #6361.) - Ensure we're publishing only ES2021 or later and CJS. Drop tslib. (#6321)
- Drop all Internet Explorer support into a pit of flames! IE
- Idempotent subscription add (#6401)
- Replace all external uses of
anywithunknown. (This could likely be non-breaking, FWIW.) - productize our internals for creating operators (#6803)
- Implement
[Symbol.asyncIterator]()onObservable(TBD. We should try this out in an alpha, at least. Issue: #6857) - Convert repo to monorepo (#6786)
- Docs app can be a separate project under monorepo
- Operator Decision Tree can also likely be its own project under monorepo
- Keep
rxjsas "whole package". (It's not going away, ever, really) - Publish
@rxjs/observablewith justObservable. - Publish
@rxjs/ajax - Publish
@rxjs/fetch - Publish
@rxjs/testing - Decide on how we'll do other packages: Current thoughts are that we could publish a package for each operator, even. Subjects and multicasting might be trickier, but maybe not. Maybe individual packages is right for all. Needs discussion.
- ??? TBD
During Version 8
- Create new schedulers and deprecate old schedulers.
- Implement
Symbol.asyncIteratoron observable. (https://github.com/ReactiveX/rxjs/discussions/6779)
Source: ReactiveX/rxjs