RxCpp Versions Save

Reactive Extensions for C++

v4.1.1

2 years ago

purpose

This release is going to seed a branch to track this state for those that do not wish to adopt the breaking changes in #562

What's Changed

Full Changelog: https://github.com/ReactiveX/RxCpp/compare/v4.1.0...v4.1.1

4.1.0

5 years ago

the move

The major change this release is that the RxCpp repo moved to the ReactiveX org on Github

changes

Thank you to the generous contributors who reported issues and submitted PR's

Replace commented out noexcept with macro Replace shared_ptr with move ctor Fix exit_recursed_scope_type dtor cleaning requestor early Remove unused variable and captures in doxygen/buffer.cpp @lebdron

Update README.md @kirkshoop

Fix '-Wignored-qualifiers' @besser82

Add: Skip_while operator (#418) … Add rx-merge-delay-error operator (#417) … @nitrram

Fix rxcpp::observable<>::range<T>() when T is unsigned type Fix rxcpp::observable<>::from<T>() when T is non-default constructable @lebdron

remove unused local @kirkshoop

Fix clang-trunk -Wunused-lambda-capture warnings Correct prefix for test executables (#398) @ericniebler

shutdown event loop threads (#394) … @kirkshoop

Add 'include' to the install path of the headers @petoknm

Typo in rx-never documentation … Daniel Rees

std::unexpected has been deprecated @kirkshoop

fix timeout when no items are emitted (#387) @gchudnov

disambiguate onerror from onnext (#383) @kirkshoop

Add get_subscription() for subject (#381) @wutiantong

Update DeveloperManual.md (#380) … @thepont

subscribe in reverse order to observables (#375) @maiermic

fix async lifetime in window_toggle (#372) filterimprovement (#371) … @kirkshoop

reversed subscription order @anatoly-spb

appveyor vs2017 image update (#365) … @gchudnov

v4.0.0

7 years ago

This release of rxcpp is ready to use in production. please try it out and report issues!

rx lite complete!

All the decoupling of existing operators has been completed, thanks almost entirely to @gchudnov. This has also improved the doxygen output by sharing the docs across the observable methods and free function options for each operator.

bug fixes

  • @wutiantong fixed subject thread-safe correctness
  • @kirkshoop fixed iterate() support for rangev3 - reported by @adsharma
  • @polariszz fixed rxcpp::util::any_value_true

breaking changes

repeat(0) and retry(0) erroneously resulted in infinite subscriptions. @elelel contributed fixes and a refactor that makes repeat(0) and retry(0) result in no subscription and repeat() and retry() result in infinite subscriptions.

new stuff

  • @aargor, @gchudnov & @kirkshoop added VC2017 RTM support
  • @kirkshoop added coroutines support
  • @studoot added callback from runloop scheduler
  • @Ravirael added take_while
  • @gchudnov added is_empty
  • @gchudnov added predicate to distinct_until_changed

v3.0.0

7 years ago

A bug fix in group_by changed the way that groups end. see #249 for the explanation. code using group_by might have to add a take or take_until to get the same behavior that it had before.

A bug fix in zip changed the way that it ends. see #236 for the explanation.

Rx Lite!

@gchudnov and @kirkshoop embarked on a journey to change how operators are structured.

The new structure supports Rx Lite. Rx Lite does not include all operators by default. Each cpp file will include just the operators that it needs. There are static asserts to report missing includes.

To opt into Rx Lite

#include <rxcpp/rx-lite.hpp>
#include <rxcpp/operators/rx-filter.hpp>
#include <rxcpp/operators/rx-group_by.hpp>

In clang missing includes look like this

[ 44%] Building CXX object build/test/CMakeFiles/rxcpp_test_window.dir/operators/window.cpp.o
In file included from /Users/kirk/source/rxcpp/Rx/v2/test/operators/window.cpp:1:
In file included from /Users/kirk/source/rxcpp/Rx/v2/test/operators/../test.h:10:
In file included from /Users/kirk/source/rxcpp/Rx/v2/src/rxcpp/rx-lite.hpp:9:
In file included from /Users/kirk/source/rxcpp/Rx/v2/src/rxcpp/operators/../rx-includes.hpp:179:
/Users/kirk/source/rxcpp/Rx/v2/src/rxcpp/rx-operators.hpp:234:9: error: static_assert failed "missing include: please
      #include <rxcpp/operators/rx-reduce.hpp>"
        static_assert(Included::value, "missing include: please #include <rxcpp/operators/rx-reduce.hpp>");
        ^             ~~~~~~~~~~~~~~~

The new structure improves documentation by keeping all the code and documentation for the operator in the file for that operator and referring to the docs from observable<>

The new structure ensures that the observable<>. and operator| overloads for each operator are identical.

Not all operators have been moved to Rx Lite. This means that using Rx Lite in this release might cause build breaks (static asserts for missing includes) when moving to subsequent releases of Rx that have moved more operators to Rx Lite. This can be manually averted by including the needed headers now, but without the static asserts it will be hard to prove that the used operators are included.

thanks to all the contributors!

@gchudnov @alexandrebourlon @marcobusemann @wutiantong @diorcety @xunilrj

@d-led @maiermic @thedillonb @frankinshtein @VorpalBlade @ildarsharafutdinov @helgoboss @srdjantot @sthekepat @hoffis @martinfinke

new operators!

debounce exists contains any timeout with_latest_from all timestamp window_toggle take_last skip_last time_interval switch_if_empty default_if_empty sequence_equal

v2.3.0

8 years ago

This release fixes many bugs and adds more operators.

There were many contributors to this release.

Thanks to:

  • @shivashankarp
  • @stefanfisk
  • @hoffis
  • @MattPD
  • @ksinica
  • @gchudnov
  • @BenPope
  • @martinfinke
  • @hasyimibhar
  • @easysoft2k15

Operators added:

  • delay
  • distinct
  • element_at
  • ignore_elements
  • on_error_resume_next
  • sample_time
  • tap

v2.2.0

8 years ago

Many new time related operators and fixes.

iOS support- uses pthread for thread-local storage when required. doxygen docs run_loop scheduler timer source amb, buffer, replay, window, zip, pairwise operators

Thanks to all these fine contributors! @ValeryKopylov, @shivashankarp, @BenPope, @cirla, @igor-mikushkin, @arBmind