- [OPTIMIZE] Add options to disable TLS usage for this_task and this_coroutine to reduce cache miss on single thread situation.
- [OPTIMIZE] Implement jump_to(...) as static inline to reduce code cache miss.
- [OPTIMIZE] Implement coroutine_context_callback(...) as static local symbol to reduce code cache miss.
- [OPTIMIZE] Add more unit test.Increase coverage to 90%+.
- [OPTIMIZE] Rewrite toolchain detection scripts, support clang-cl now.
- [BOOST] merge boost.context 1.71.0.
- [FIX] Fix a coredump problem when task_ptr is reset when await other tasks.
- [OPTIMIZE] Optimize timer implement, task_manager support modify task timer now.
- [OPTIMIZE] A task can only be added to one task_manager now, and when finish task with task's API, task_manager will also be cleanup.
- [OPTIMIZE] Fix some warning when compiling with gcc 9+ and clang 8+.
- [OPTIMIZE] Use pthread for TLS when both c++11 thead_local and pthread are available. It will reduce the minimal stack size.
- [OPTIMIZE] Fix and add some example codes and documents.
- [OPTIMIZE] add adaptor for vcpkg
- [OPTIMIZE] using GNUInstallDirs for all directories
- [BOOST] merge boost.context 1.67.0
- [OPTIMIZE] add libcopp-config.cmake and libcopp-config-version.cmake for cmake module
- [OPTIMIZE] add then and await API for easier usage
- [OPTIMIZE] add /Zc:__cplusplus for MSVC to make __cplusplus to the standard value.
- [OPTIMIZE] fix a guess to x86_64 environment
- [OPTIMIZE] add more API for statistics
- [FIX] fix the problem that calling compare_exchange_weak failed will lead the cotask to exit
- [OPTIMIZE] merge the latest unit test framework, now we will support more readable output when test failed.
- [CI] We use xenial to build in linux now.
- [BOOST] merge boost.context 1.66.0
- [OPTIMIZE] add support for Intel Transactional Synchronisation Extensions (TSX)
- [OPTIMIZE] fix a warning reported by clang-analyzer.
- [CI] update README.md and automatic documents.(published at https://libcopp.atframe.work)
- [FIX] make sure all the allocated stacks are always greater than the configure value after reloaded when using stack pool.
- [FIX] allow segmented stacks when using clang and llvm.
- [OPTIMIZE] using the new script to run clang-analyzer.
- [OPTIMIZE] optimize the doxygen output and fix some markdown synax not supported by doxygen.
- [OPTIMIZE] optimize cmake files for all target
- [OPTIMIZE] update samples and readme(fix sample for stack pool in README.md)
- [CI] add gcc 7
- [OPTIMIZE] using -std=c++17 for gcc/clang and /std:c++17 for MSVC 15(2015) and upper
- [OPTIMIZE] V2 framework and APIs completed, all reports in clang-analysis and cppcheck are fixed.
- [CI] benchmark and samples enabled in v2 branch
- [CI] add sample code in README.md into CI
- [BOOST] merge boost.context 1.64.0
- [OPTIMIZE] add stack pool manager and unit test
- [OPTIMIZE] reduce memory fragment when allocate coroutine task and task action
- [CI] benchmark and sample will always be run in Travis CI and Appveyor CI
- [BOOST] merge boost.context 1.61.0 and use the new jump progress(see https://owent.net/2016/1270.html for detail)
- [BOOST] enable valgrind support if valgrind/valgrind.h exists
- [CXX] use cmake to detect the function of compiler
- [OPTIMIZE] using pthread key when c++11 TLS not available
- [OPTIMIZE] remove coroutine_context_safe_base.coroutine_context_base is also thread safe now
- [OPTIMIZE] remove all global variables of cotask
- [OPTIMIZE] remove std/thread.h, add noexpect if available
- [CI] CI use build matrix to test more compiler
- [BUILD] use RelWithDebInfo for default
- v0.2.0, this version is used in our server for about one year.
- add support for valgrind
- add ci configure
- merge boost.context 1.60.0
- add -fPIC, fix spin lock
- some environment do not support TLS, make these environment can compile success
v0.1.0