reactivex/rxphp
Reactive extensions for php.
2.1.0
3.4M downloads/mo
#3403 most downloaded on Packagist
ReactiveX/RxPHP
What this package is like to depend on
Last release 10 months ago
27 Oct 2025
Release timing varies
gaps range from 2 weeks to 2.7 years
Most releases are documented
notes for 24 of 31 stable releases
Nothing withdrawn
no release was ever pulled
13 years old
31 releases · first in 2013
1 release in the last 12 months
see the full history below
Release timeline
31 releases · Jun 2013 to Oct 2025Releases
latest 31-
2.1.027 Oct 2025Release notes
Open source →Update
- Implement inclusive takeWhile by @mbonneau in https://github.com/ReactiveX/RxPHP/pull/223
- PHP 8.4 by @makomweb in https://github.com/ReactiveX/RxPHP/pull/225
-
2.0.1321 Sep 2024Release notes
Open source →- Fix
pluckto correctly handle null values when an index or property exists but is null. #216 - Updated testing to work with PHP 8.3
Release notes
Open source →- Fix
pluckto correctly handle null values when an index or property exists but is null. #216 - Updated testing to work with PHP 8.3
- Fix
-
2.0.1227 Nov 2023 -
2.0.1110 Sep 2022 -
2.0.1010 Dec 2021 -
2.0.905 Mar 2021 -
2.0.813 Dec 2020 -
2.0.718 Apr 2018Release notes
Open source →Update
- Forward compatibility with react/event-loop 1.0 and 0.5 while still supporting 0.4 (5f91a62)
-
2.0.602 Nov 2017 -
2.0.519 Oct 2017 -
2.0.405 Sep 2017Release notes
Open source →Bug Fixes
- Fixed issue where EventLoopScheduler did not cancel timers in certain circumstances (c915843)
Features
- Added
singleInstanceoperator (4f77d38)
-
2.0.316 Aug 2017Release notes
Open source →Bug Fixes
- Fixed order of subscriptions in
takeUntil(1838ede) - Fixed issue where disposed of scheduled item would not cancel timer in some instances (bb2c5a0)
- Removed throttle.expect to get rid of non-determinate test failures (97a980c)
Features
- Updated PHPUnit to 5.7 (b1b37ab)
- Fixed order of subscriptions in
-
2.0.221 May 2017Release notes
Open source →Bug Fixes
- Make scheduler optional for
ReplaySubject(a8d1c50) - EventLoop will only ever scheduler 1 timer now #167 #165 (bccbce9)
- Canceled items are now removed from
PriorityQueue#168 (6a4f9e7) - Fix memory leak and refactor
groupBy*operators (7e4dc3c)
Features
- Added
withLatestFromoperator (273df81)
- Make scheduler optional for
-
2.0.101 Apr 2017 -
2.0.021 Mar 2017Release notes
Open source →Changes and Additions
- Added global static
Schedulerclass that allows setting scheduler factory callables - Schedulers are now passed in during
Observableconstruction or into operators as needed - Static Observable constructors and operators will get scheduler from global static
Schedulerif not specified - PHP 7 is required
- HHVM support was removed
- All files now
declare(strict_types=1) ObserverInterface::onErrornow takes aThrowableparameter instead ofExceptionsubscribeCallbackhas been deprecated in favor ofsubscribewhich now takes callables or anObserverInterfaceimplementationdoOnNextanddoOnEachhave been deprecated in favor ofdoand follows the same syntax assubscribecatchErrorhas been deprecated in favor ofcatchjusthas been deprecated in favor ofofemptyObservablehas been deprecated in favor ofemptyswitchLatesthas been deprecated in favor ofswitchObservableis now abstract and requires subclasses to define_subscribe- Added
toPromiseandfromPromiseoperators - Marble tests are now supported
timeoutnow throwsTimeoutExceptionto allow detection of timeouts down stream- Parameter and return types have been added
- Added global static
-
1.5.314 Mar 2017 -
1.5.207 Feb 2017Release notes
Open source →Bug Fixes
- Fix interface mismatch on subscribe type hints (b817619)
- Fix
IteratorObservableto check if the key is valid instead of null (dafb14b)
Features
-
1.5.128 Dec 2016 -
1.5.026 Dec 2016Release notes
Open source →Bug Fixes
- Fixed throttle.php demo (cee42e2)
- Fixed Promise::fromObservable() to allow selecting the scheduler (de88548)
- Fixed VirtualTimeScheduler to use now() method (d5afdde)
- Fixed
deferswallowing errors (#85) - Fixed phpunit deprecation warnings (b7f754c)
- Fixed scheduler disposable on delay dispose (#87)
Features
- Added custom operators (c7d351d)
- Added output values for failed demos in tests (c2b4a56)
- Added
throttleoperator (b93d296) - Added support for cancellable promises (a5602ab)
- Added
switchFirstoperator (620c70f) (a98c65f) (fc039fb) (b254d06) (1f13650) - Added
DoObserver(4807ab1) - Added coveralls (7ed1a86)
-
1.4.123 Aug 2016 -
1.4.002 Aug 2016 -
1.3.018 May 2016Release notes
Open source →Bug Fixes
- Fixed
combineLatestwhen using the EventLoopScheduler (12fce12) - Fixed argument ordering issue with
combineLatest(c5a8e5a) - Fixed
shareReplay, so arguments are optional (e38e8a4) - Fixed double subscription issue with
concatAll(4c64a82) - Fixed
delaynow usesmaterializeandtimestamp, so that it has consistent behavior between all supported schedulers (#51) - Fixed EventLoopScheduler, which is now based off of the VirtualTimeScheduler (#50)
Features
- Fixed
-
1.2.001 Apr 2016Release notes
Open source →Bug Fixes
- Fixed uninitialized disposable in
skipUntil(2b5ea0b) - Fixed
asObservableoperator was not passing through the scheduler (d805cfd) - Fixed uninitialized disposable in
retry(ca4da7e) - Fixed #23 - changing yield behavior in hhvm (da2737c)
- Fixed #33 - For Rx\React\Promise::toObservable, wrap non-exceptions on reject (ed852de)
Features
- Added ability to record and validate output of demo files (883ad4b)
- Added
catchErroroperator (cd4fc03) - Added
takeWhileandtakeWhileWithIndexoperators (177835e) - Added
startWithandstartWithArrayoperators (585f893) - Added
retryWhenoperator (19b36fc) - Added utility to generate documentation for reactivex.io (a62d46b)
- Added
concatAllandconcatMapoperators (c794cf3) - Added
skipWhileandskipWhileWithIndexoperators (80c997f) - Added
maxoperator (1a841fa)
- Fixed uninitialized disposable in
-
1.1.007 Feb 2016Release notes
Open source →Bug fixes
- Fixed bug where the
mapoperator calledonNextafter it was disposed (8a1d68c) - Minor fixes to
groupByUntil(f6f56e3) - Minor fixes to
delay(2613f36)
Features
- Fixed bug where the
-
1.0.023 Jan 2016Nothing published for this version
-
0.5.023 Jan 2016Nothing published for this version
-
0.4.009 Nov 2015Nothing published for this version
-
0.3.006 Aug 2015Nothing published for this version
-
0.2.107 Apr 2014Nothing published for this version
-
0.2.027 Aug 2013Nothing published for this version
-
0.1.025 Jun 2013Nothing published for this version