RxJs v7.0.0-beta.11 Release Notes

Release Date: 2021-02-24 // about 3 years ago
  • 🐛 Bug Fixes

    • ajax: now errors on forced abort (#6041) (d950921), closes #4251
    • buffer: closingNotifier completion does not complete resulting observable (358ae84)
    • buffer: Remaining buffer will correctly be emitted on source close. (0c667d5), closes #3990 #6035
    • debounceTime: improves performance on quick succession of emits (#6049) (9b70861)
    • distinctUntilChanged: Ensure reentrant code is compared properly (#6014) (0ebcf17)
    • share: Ensure proper memory clean up (1aa400a)
    • window: final window stays open until source complete (e8b05ef)
    • 🔀 concat/merge: operators will finalize inners before moving to the next (#6010) (5249a23), closes #3338
    • predicates that return any will now behave property in TS (#5987) (f5ae97d), closes #5986
    • publish variants returning ConnectableObservable not properly utilizing lift (#6003) (9acb950)
    • 🔀 Resolve issues with deprecated synchronous error handling and chained operators (#5980) (0ad2802), closes #5979
    • 🔀 useDeprecatedSynchronousErrorThrowing honored for flattened sync sources (#5984) (abd95ce), closes #5983

    🔋 Features

    💥 BREAKING CHANGES

    • window: The windowBoundaries observable no longer completes the result. It was only ever meant to notify of the window boundary. To get the same behavior as the old behavior, you would need to add an endWith and a skipLast(1) like so: source$.pipe(window(notifier$.pipe(endWith(true))), skipLast(1)).
    • buffer: Final buffered values will now always be emitted. To get the same behavior as the previous release, you can use endWith and skipLast(1), like so: source$.pipe(buffer(notifier$.pipe(endWith(true))), skipLast(1))
    • buffer: closingNotifier completion no longer completes the result of buffer. If that is truly a desired behavior, then you should use takeUntil. Something like: source$.pipe(buffer(notifier$), takeUntil(notifier$.pipe(ignoreElements(), endWith(true)))), where notifier$ is multicast, although there are many ways to compose this behavior.