Skip to content

Commit 1f75b62

Browse files
authored
Update README.md
4.x detail/plans
1 parent cbe9798 commit 1f75b62

1 file changed

Lines changed: 49 additions & 30 deletions

File tree

README.md

Lines changed: 49 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -9,37 +9,26 @@ RxJava is a Java VM implementation of [Reactive Extensions](http://reactivex.io)
99

1010
It extends the [observer pattern](http://en.wikipedia.org/wiki/Observer_pattern) to support sequences of data/events and adds operators that allow you to compose sequences together declaratively while abstracting away concerns about things like low-level threading, synchronization, thread-safety and concurrent data structures.
1111

12-
#### Version 3.x ([Javadoc](http://reactivex.io/RxJava/4.x/javadoc/))
12+
#### Version 4.x ([Javadoc](http://reactivex.io/RxJava/4.x/javadoc/))
13+
14+
- :+1: Native Java 25* implementation. Will go 26 or even 27 depending on how long it takes.
15+
- :+1: No 3rd party library required at runtime.
16+
- :+1: JPMS and :question: OSGi support still intact.
17+
- :+1: `java.util.concurrent.Flow`-based implementation.
18+
- :+1: Virtual Thread support; `virtualCreate()`, `virtualTransform()`, :eye: `Schedulers.virtual()`.
19+
- :information_source: Reactive Streams Test Compatibility Kit usage; [Reactive-Streams](https://github.com/reactive-streams/reactive-streams-jvm).
20+
- :satellite: Rewamp of the javadoc bloat in the base types via `sealed` interfaces.
21+
- :satellite: Reduce overload bloat by using `record`-based configurations.
22+
- :satellite: Internal optimizations now that I have the master :key:.
23+
- :eye: Possible usages for Scoped variables for context and per-item resource management.
24+
- :eye: Possible use for the Java Cleaner API.
25+
- :eye: Possible new monad `Streamable<T>` built around Virtual Threads & virtual blocking. Think `IAsyncEnumerable` for Java.
26+
- :eye: Possible inclusion of 2nd and 3rd party operators.
27+
- :eye: Possible inclusion of the Iterable Extensions (Ix) 2nd party library. ju.Stream is sh|t wrt interfacing and composability.
28+
- :question: Android compatibility depends on your API level and what desugaring is available.
29+
- :lady_beetle: Resolve many anomalies and bugs with operators such as `groupBy`, `window`, `concat`, etc.
30+
- :warning: RxJava 3.x support will be toned down in the coming months, will be offered for +1 year after 4.x official release.
1331

14-
- TBD
15-
16-
#### Version 3.x ([Javadoc](http://reactivex.io/RxJava/3.x/javadoc/))
17-
18-
- Single dependency: [Reactive-Streams](https://github.com/reactive-streams/reactive-streams-jvm).
19-
- Java 8+ or Android API 21+ required.
20-
- Java 8 lambda-friendly API.
21-
- [Android](https://github.com/ReactiveX/RxAndroid) desugar friendly.
22-
- Fixed API mistakes and many limits of RxJava 2.
23-
- Intended to be a replacement for RxJava 2 with relatively few binary incompatible changes.
24-
- Non-opinionated about the source of concurrency (threads, pools, event loops, fibers, actors, etc.).
25-
- Async or synchronous execution.
26-
- Virtual time and schedulers for parameterized concurrency.
27-
- Test and diagnostic support via test schedulers, test consumers and plugin hooks.
28-
- Interop with newer JDK versions via 3rd party libraries, such as
29-
- [Java 9 Flow API](https://github.com/akarnokd/RxJavaJdk9Interop#rxjavajdk9interop)
30-
- [Java 21 Virtual Threads](https://github.com/akarnokd/RxJavaFiberInterop#rxjavafiberinterop)
31-
32-
Learn more about RxJava in general on the <a href="https://github.com/ReactiveX/RxJava/wiki">Wiki Home</a>.
33-
34-
:information_source: Please read the [What's different in 3.0](https://github.com/ReactiveX/RxJava/wiki/What's-different-in-3.0) for details on the changes and migration information when upgrading from 2.x.
35-
36-
#### Version 2.x
37-
38-
The [2.x version](https://github.com/ReactiveX/RxJava/tree/2.x) is end-of-life as of **February 28, 2021**. No further development, support, maintenance, PRs and updates will happen. The [Javadoc]([Javadoc](http://reactivex.io/RxJava/2.x/javadoc/)) of the very last version, **2.2.21**, will remain accessible.
39-
40-
#### Version 1.x
41-
42-
The [1.x version](https://github.com/ReactiveX/RxJava/tree/1.x) is end-of-life as of **March 31, 2018**. No further development, support, maintenance, PRs and updates will happen. The [Javadoc]([Javadoc](http://reactivex.io/RxJava/1.x/javadoc/)) of the very last version, **1.3.8**, will remain accessible.
4332

4433
## Getting started
4534

@@ -604,6 +593,36 @@ Further details on building can be found on the [Getting Started](https://github
604593

605594
For bugs, questions and discussions please use the [Github Issues](https://github.com/ReactiveX/RxJava/issues).
606595

596+
## Prior versions
597+
598+
#### Version 3.x ([Javadoc](http://reactivex.io/RxJava/3.x/javadoc/))
599+
600+
- Single dependency: [Reactive-Streams](https://github.com/reactive-streams/reactive-streams-jvm).
601+
- Java 8+ or Android API 21+ required.
602+
- Java 8 lambda-friendly API.
603+
- [Android](https://github.com/ReactiveX/RxAndroid) desugar friendly.
604+
- Fixed API mistakes and many limits of RxJava 2.
605+
- Intended to be a replacement for RxJava 2 with relatively few binary incompatible changes.
606+
- Non-opinionated about the source of concurrency (threads, pools, event loops, fibers, actors, etc.).
607+
- Async or synchronous execution.
608+
- Virtual time and schedulers for parameterized concurrency.
609+
- Test and diagnostic support via test schedulers, test consumers and plugin hooks.
610+
- Interop with newer JDK versions via 3rd party libraries, such as
611+
- [Java 9 Flow API](https://github.com/akarnokd/RxJavaJdk9Interop#rxjavajdk9interop)
612+
- [Java 21 Virtual Threads](https://github.com/akarnokd/RxJavaFiberInterop#rxjavafiberinterop)
613+
614+
Learn more about RxJava in general on the <a href="https://github.com/ReactiveX/RxJava/wiki">Wiki Home</a>.
615+
616+
:information_source: Please read the [What's different in 3.0](https://github.com/ReactiveX/RxJava/wiki/What's-different-in-3.0) for details on the changes and migration information when upgrading from 2.x.
617+
618+
#### Version 2.x
619+
620+
The [2.x version](https://github.com/ReactiveX/RxJava/tree/2.x) is end-of-life as of **February 28, 2021**. No further development, support, maintenance, PRs and updates will happen. The [Javadoc]([Javadoc](http://reactivex.io/RxJava/2.x/javadoc/)) of the very last version, **2.2.21**, will remain accessible.
621+
622+
#### Version 1.x
623+
624+
The [1.x version](https://github.com/ReactiveX/RxJava/tree/1.x) is end-of-life as of **March 31, 2018**. No further development, support, maintenance, PRs and updates will happen. The [Javadoc]([Javadoc](http://reactivex.io/RxJava/1.x/javadoc/)) of the very last version, **1.3.8**, will remain accessible.
625+
607626

608627
## LICENSE
609628

0 commit comments

Comments
 (0)