RxJs v7.0.0-beta.3 Release Notes

Release Date: 2020-07-30 // over 3 years ago
  • ๐Ÿ› Bug Fixes

    • perf: Ensure unsubscriptions/teardowns on internal subscribers are idempotent (#5465) (3e39749), closes #5464
    • โฑ timeout: defer error creation until timeout occurs (#5497) (3be9840), closes #5491

    ๐Ÿ”จ Code Refactoring

    • perf: Reduce memory pressure by no longer retaining outer values across the majority of operators. (#5610) (bff1827)
    • Observable: Update property and method types (#5572) (144b626)

    ๐Ÿ”‹ Features

    • โœ… combineLatest: support for observable dictionaries (#5022) (#5363) (f5278aa)

    ๐Ÿ’ฅ BREAKING CHANGES

    • Observable: lift no longer exposed. It was never documented that end users of the library should be creating operators using lift. Lift has a variety of issues and was always an internal implementation detail of rxjs that might have been used by a few power users in the early days when it had the most value. The value of lift, originally, was that subclassed Observables would compose through all operators that implemented lift. The reality is that feature is not widely known, used, or supported, and it was never documented as it was very experimental when it was first added. Until the end of v7, lift will remain on Observable. Standard JavaScript users will notice no difference. However, TypeScript users might see complaints about lift not being a member of observable. To workaround this issue there are two things you can do: 1. Rewrite your operators as outlined in the documentation, such that they return new Observable. or 2. cast your observable as any and access lift that way. It is recommended that operators be implemented in terms of functions that return (sourcc: Observable<T>) => new Observable<R>(...), per the documentation/guide.