Releases: David-Haim/concurrencpp
Version 0.1.7
- bug fixes
- typo fixes
- lock free
shared_result
- GCC 13 support 🎉
thread_started_callback
andthread_terminated_callback
added toruntime
class 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_variable
implementation- interrupted_task as a base class for runtime_shutdown and broken_task
- readme improvements
Version 0.1.5
async_lock
implementationwhen_any
data race fix- parallel coroutine to throw
std::invalid_argument
on null executor - tests compilation time optimization
result
optimizations
version 0.1.4
generator
implementation- 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_object
returns alazy_result
instead ofresult
.when_any
+when_all
return alazy_result
instead ofresult
, require resume-executor as their first argument.
version 0.1.3
resume_on
improvementsbinary_semaphore
polyfill for appleclang- enable dynamic linking on Windows
- typo fixes
Version 0.1.2
-
deprecation of
await_via
andresume_via
-
addition of
lazy_result
-
addition of
resume_on
-
when_all
+when_any
rewrite -
shared_result
optimizations -
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