Releases: owent/libcopp
Releases · owent/libcopp
1.3.2
CHANGELOG
- [FIX] #16 : document of
LIBCOPP_DISABLE_ATOMIC_LOCK
andLIBCOPP_DISABLE_THIS_MT
. - [FIX] #18 :
'xx' is not a member of 'xxx {aka xxx}'
. - [OPTIMIZE]
cotask::task
can capture all integer type of return value now. - [FIX] Remove warning of c++20 coroutine options when project use both languages of cxx and not cxx.
1.3.1
1.3.0
CHANGELOG
- [OPTIMIZE] Using cmake export to generate module files
- [OPTIMIZE] Change default visibility of symbols to hidden, we support dll on windows now.
- [FIX] Rename
task::await
intotask::await_task
, Some compile don't allowawait_task
as function name. - [BOOST] Merge boost.context 1.73.0
- [FEATURE] Implement context of windows fiber and
SetUnhandledExceptionFilter
is available to catchunhandled exception in coroutine action - [OPTIMIZE] Catch and rethrow unhandle exception after coroutine resumed when using C++11 or upper, most APIs are exception safe now.
- [OPTIMIZE] Remove TTASK_MACRO in cotask::task, task id now is always set
uint64_t
and use the id allocator with thread cache. - [OPTIMIZE] Fix
Warning: client switching stacks?
in unit test when enable valgrind support. - [FEATURE] Enable
-DLIBCOPP_FCONTEXT_USE_TSX=ON
for default. - Using sphinx and reStructuredText to rewrite https://libcopp.atframe.work/
BREAK CHANGES & UPGRADE GUIDE FROM 1.2.X
- Rename
cotask::task::await
intocotask::task::await_task
- Replace
cotask::task<TCO_MACRO, TTASK_MACRO>
withcotask::task<TCO_MACRO>
, we don't allow to custom id allocator now. - Replace
cotask::core::standard_int_id_allocator<uint64_t>
withcopp::util::uint64_id_allocator
, we don't allow to custom id allocator now. - Require gcc 4.7+, MSVC 14+(Visual Studio 2015)>)
- Require cmake 3.12.0 or upper
1.2.1
CHANGELOG
- [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.
1.2.0
CHANGELOG
- [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.