Skip to content

Releases: David-Haim/concurrencpp

Version 0.1.7

15 Jul 11:42
7a88f54
Compare
Choose a tag to compare
  • bug fixes
  • typo fixes
  • lock free shared_result
  • GCC 13 support 🎉
  • thread_started_callback and thread_terminated_callback added to runtime class to allow thread-lifecycle monitoring

Version 0.1.6

21 Mar 11:35
944a65f
Compare
Choose a tag to compare
  • 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

23 Sep 18:26
0c612ae
Compare
Choose a tag to compare
  • async_lock implementation
  • when_any data race fix
  • parallel coroutine to throw std::invalid_argument on null executor
  • tests compilation time optimization
  • result optimizations

version 0.1.4

21 Dec 08:24
580f430
Compare
Choose a tag to compare
  • 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 a lazy_result instead of result.
  • when_any + when_all return a lazy_result instead of result, require resume-executor as their first argument.

version 0.1.3

08 Sep 13:59
93890e3
Compare
Choose a tag to compare
  • resume_on improvements
  • binary_semaphore polyfill for appleclang
  • enable dynamic linking on Windows
  • typo fixes

Version 0.1.2

27 Aug 09:46
cbfc4a1
Compare
Choose a tag to compare
  • deprecation of await_via and resume_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

27 Mar 10:46
c9ae7d0
Compare
Choose a tag to compare
  • 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

24 Feb 12:06
f037e8c
Compare
Choose a tag to compare
  • 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

01 Jan 11:31
0ef82b4
Compare
Choose a tag to compare
  • 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

03 Nov 16:14
547c557
Compare
Choose a tag to compare
  • 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