Releases: David-Haim/concurrencpp
Version 0.1.7
- bug fixes
- typo fixes
- lock free
shared_result - GCC 13 support 🎉
thread_started_callbackandthread_terminated_callbackadded toruntimeclass to allow thread-lifecycle monitoring
Version 0.1.6
- memory leak fixes
- CI/CD overhaul
- use stdlibc++ on linux by default
- library to properly export symbols when used from a shared-library
async_condition_variableimplementation- interrupted_task as a base class for runtime_shutdown and broken_task
- readme improvements
Version 0.1.5
async_lockimplementationwhen_anydata race fix- parallel coroutine to throw
std::invalid_argumenton null executor - tests compilation time optimization
resultoptimizations
version 0.1.4
generatorimplementation- delay object , when_any, when_all api changes
- more refined exception guarantees
- CI/CD now uses clang 12
Note: this version breaks API
make_delay_objectreturns alazy_resultinstead ofresult.when_any+when_allreturn alazy_resultinstead ofresult, require resume-executor as their first argument.
version 0.1.3
resume_onimprovementsbinary_semaphorepolyfill for appleclang- enable dynamic linking on Windows
- typo fixes
Version 0.1.2
-
deprecation of
await_viaandresume_via -
addition of
lazy_result -
addition of
resume_on -
when_all+when_anyrewrite -
shared_resultoptimizations -
examples rewrite
note: CI/CD still fail on TSAN tests because of google/sanitizers#1259 . In the next release, the library CI/CD might move to clang-12, which is supposed to fix the issue.
note: This version breaks ABI: await_via and resume_via are deprecated. use resume_on instead.
Version 0.1.1
- full move to ctest
- timer queue idling mechanism
- unified shutdown exception
- test folder cleaning up
- clang format changes
- optimizations
This version breaks ABI: executors and the timer queue throw runtime_shutdown exception when accessed after the runtime object is destroyed. executor_shutdown and timer_queue_shutdown are deprecated.
Note: the CICD fails because of a regression in Clang's thread sanitizer. the bug is detailed in google/sanitizers#1259
Version 0.1.0
- Addition of shared_result.
- Thread-sanitizer tests were re-written.
- result_coro_promise is now merged with result_state (every eager task allocates just one memory chunk instead of two, no refcount).
- various bug fixes and improvements.
Tests were run locally, as Github actions still doesn't support clang-11.
Version 0.0.9
- addition of task objects
- result refactor
- executor refactor + optimizations
- tests were completly re-written
- move to MSVC 18.6.2 and clang 11
- move to standard coroutines on MSVC
- awaitables are uncopiable and unmovable
- when timer is cancelled/destructed, spawned tasks that are not yet executed are cancelled.
Note: CI/CD fail as Clang 11 is still not supported on Github Actions. Tests were run locally on Window, Linux and Mac.
Note: This version breaks ABI if applications implemented their own executors.
v.0.0.8
- project structure refactor - all header files go to include/concurrencpp directory, TSAN tests to test directory
- sources were formatted using clang-format
- move to modern cmake
- partial move to ctest
- CI/CD pipeline with github actions on Windows, Linux and macOS (uses xcode 12.2, clang fails with ICE)
- readme improvements