- Fix
pluck
to correctly handle null values when an index or property exists but is null. #216 - Updated testing to work with PHP 8.3
- Add support for react/promise v3
- Small fixes for and test on PHP 8.2
- Suppress warnings from php 8.1
- ObservableFactoryWrapper should convert promise to observable (b24ec82)
- Promise should support low level Throwable (c48c168)
- Allow PHP 8
- Update PHPUnit
- Forward compatibility with react/event-loop 1.0 and 0.5 while still supporting 0.4 (5f91a62)
- Reroute exceptions in onNext to onError by default (b7ba556)
- Immediately complete if the iterator is no longer valid (af6765a)
- Dispose inner observable when promise is cancelled (4855812)
- Fixed issue where EventLoopScheduler did not cancel timers in certain circumstances (c915843)
- Added
singleInstance
operator (4f77d38)
- 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)
- Updated PHPUnit to 5.7 (b1b37ab)
- 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)
- Added
withLatestFrom
operator (273df81)
- Fix
concat
to dispose of current observable (1eadb7b)
- Added global static
Scheduler
class that allows setting scheduler factory callables - Schedulers are now passed in during
Observable
construction or into operators as needed - Static Observable constructors and operators will get scheduler from global static
Scheduler
if not specified - PHP 7 is required
- HHVM support was removed
- All files now
declare(strict_types=1)
ObserverInterface::onError
now takes aThrowable
parameter instead ofException
subscribeCallback
has been deprecated in favor ofsubscribe
which now takes callables or anObserverInterface
implementationdoOnNext
anddoOnEach
have been deprecated in favor ofdo
and follows the same syntax assubscribe
catchError
has been deprecated in favor ofcatch
just
has been deprecated in favor ofof
emptyObservable
has been deprecated in favor ofempty
switchLatest
has been deprecated in favor ofswitch
Observable
is now abstract and requires subclasses to define_subscribe
- Added
toPromise
andfromPromise
operators - Marble tests are now supported
timeout
now throwsTimeoutException
to allow detection of timeouts down stream- Parameter and return types have been added
- Added
compose
operator (140e21a) - Added plucking for multiple items at once (11b86c9)
- Added custom operators in nested namespace (897b747)
- Fix interface mismatch on subscribe type hints (b817619)
- Fix
IteratorObservable
to check if the key is valid instead of null (dafb14b)
- Optimized
distinct
operator (462d433) - Added
finally
operator (e2cfdb2) - Added
isEmpty
operator (2429fb7) - Added
forkJoin
operator (9fb9197) - Refactored
mergeAll
to be consistent with RxJS andswitchLatest
(7aeb8ce)
- Fixed non-strict search in CompositeDisposable (c17fb6c)
- Fixed missing array type hint on Observable::__call (1672dc1)
- Fixed throttle.php demo (cee42e2)
- Fixed Promise::fromObservable() to allow selecting the scheduler (de88548)
- Fixed VirtualTimeScheduler to use now() method (d5afdde)
- Fixed
defer
swallowing errors (#85) - Fixed phpunit deprecation warnings (b7f754c)
- Fixed scheduler disposable on delay dispose (#87)
- Added custom operators (c7d351d)
- Added output values for failed demos in tests (c2b4a56)
- Added
throttle
operator (b93d296) - Added support for cancellable promises (a5602ab)
- Added
switchFirst
operator (620c70f) (a98c65f) (fc039fb) (b254d06) (1f13650) - Added
DoObserver
(4807ab1) - Added coveralls (7ed1a86)
- Fixed EventLoopScheduler (f0302d2)
- Fixed doc block, demo updates (7090947) (306ead9) (8c4e9ab) (a21b8fd)
- Fixed
reduce
operator issue with falsy seed (#71) - Fixed skipped tests (26c2476)
- Fixed
retryWhen
(#59)
- Added
flatMapTo
operator (a8c6967) - Added
pluck
operator (ec1fce1) - Added
average
operator (da591a6) - Added
sum
operator (2f44168) - Added CONTRIBUTING.md (e45210c)
- Added
min
operator (f458564) - Added
repeatWhen
operator (d0fc1f8) - Added
race
operator (amb) (81b70e7) - Added
takeLast
operator (8759ca4)
- Fixed
combineLatest
when 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
delay
now usesmaterialize
andtimestamp
, so that it has consistent behavior between all supported schedulers (#51) - Fixed EventLoopScheduler, which is now based off of the VirtualTimeScheduler (#50)
- Added
materialize
anddematerialize
operators (6d6bba4) - Added
timestamp
operator (4109934) - Added
switchLatest
operator (58c95b0) - Added
partition
operator (ca95144) - Added
flatMapLatest
operator (c0d15ff)
- Fixed uninitialized disposable in
skipUntil
(2b5ea0b) - Fixed
asObservable
operator 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)
- Added ability to record and validate output of demo files (883ad4b)
- Added
catchError
operator (cd4fc03) - Added
takeWhile
andtakeWhileWithIndex
operators (177835e) - Added
startWith
andstartWithArray
operators (585f893) - Added
retryWhen
operator (19b36fc) - Added utility to generate documentation for reactivex.io (a62d46b)
- Added
concatAll
andconcatMap
operators (c794cf3) - Added
skipWhile
andskipWhileWithIndex
operators (80c997f) - Added
max
operator (1a841fa)