Releases: jbaldwin/libcoro
v0.14.1
v0.14.0
v0.13.0
This release contains a major bug fix in coro::task_container
that would destroy the user task before it would start.
What's Changed
- Upgrade emscripten build by @jbaldwin in #282
- Add test for when_all throwing on individual tasks. by @jbaldwin in #281
- Disable mac ci builds by @jbaldwin in #290
- coro::task_container gc fix not completing coroutines by @jbaldwin in #288
Full Changelog: v0.12.1...v0.13.0
v0.12.1
v0.12
What's Changed
- #265 Removed deadlock in
coro::task_container
when a coroutine would attempt tostart
a new task in one of its object's destructors, this was found fromcoro::net::tls::client
destructor since it schedules a task to cleanup itstls
context in the future. - #265
coro::io_scheduler
can only be created within astd::share_ptr
now, it also inherits fromstd::enabled_shared_from_this
to appropriately ref count. There was a lifetime bug withcoro::io_scheduler
and its embeddedcoro::task_container
where thecoro::task_container
had a raw reference instead of astd::shared_ptr
and could cause a use after free bug. - Added missing header '' when compiling with clang and c++23 by @bruno-j-nicoletti in #254
- CI explicitly run CMAKE_CXX_STANDARD=20|23 by @jbaldwin in #257
- Include Conan into CI by @uilianries in #259
- Update when_all.hpp to fix msvc compiler warning by @mscppppppppp in #260
- Pin macos ci to 12 by @jbaldwin in #267
- Fix unintended shallow copying when used with std::views::take (issue 261) by @mikucionisaau in #263
- coro::thread_pool high cpu usage when tasks < threads by @jbaldwin in #265
New Contributors
- @mscppppppppp made their first contribution in #260
- @mikucionisaau made their first contribution in #263
Full Changelog: v0.11.1...v0.12
v0.11.1
v0.11
What's Changed
- Re-work networking layout by @jbaldwin in #216
- Re-org ci by platform and add matrix for LIBCORO_FEATURE_* by @jbaldwin in #228
- Add test to verify dup'ed sockets can poll on read/write by @jbaldwin in #226
- Update readme by @jbaldwin in #229
- pkg-config fixes by @chausner in #230
- Re-work tls client to match openssl requirements by @jbaldwin in #231
- Update readme with new examples and contributing by @jbaldwin in #232
- CMake: Keep git hooks as optional by @uilianries in #234
- Introduce concepts::io_executor by @jbaldwin in #238
- Add shared library option by @uilianries in #236
- Fix use after free in coro::task_container by @ripose-jp in #240
- Upgrade tl::expected to 1.1 by @jbaldwin in #243
- Creating a CI workflow for macos, by @bruno-j-nicoletti in #249
- Fix for higher version of C++ usage, Clang support, and some build policy change. by @stripe2933 in #246
- Calling coro::sync_wait with coro::ring_buffer::consume returns defau… by @jbaldwin in #244
- Release v0.11 by @jbaldwin in #250
New Contributors
- @uilianries made their first contribution in #234
- @stripe2933 made their first contribution in #246
Full Changelog: v0.10...v0.11
v0.10
What's Changed
- Switch from inc/ to include/ by @jbaldwin in #168
- Add missing include files (based on MSVC errors). by @bjones1 in #169
- Mention vcpkg in README.md by @chausner in #177
- Fix: Make MSVC and XCode happy. by @bjones1 in #176
- Fix: Define macros for attribute. by @bjones1 in #178
- Fix rvalue reference instantiation of coro::task by @a858438680 in #181
- Minor fix for compatibility with OpenSSL < 1.1.0 by @Harvey-Liu in #179
- Fix: Move platform-agnostic files outside of
LIBCORO_FEATURE_THREADING
by @bjones1 in #175 - Clean: Remove a few warnings. by @bjones1 in #186
- Fix awaitable concepts and remove unnecessary virtual destructor and support clang by @a858438680 in #187
- Fix wrong library naming in pkg-config file by @oleksandrkozlov in #190
- Better MSVC support by @bjones1 in #184
- Fix: Get examples building on compilers that don't support threading. by @bjones1 in #185
- Add: CI for MSVC. by @bjones1 in #188
- Clean: Fix MSVC compiler warning. by @bjones1 in #192
- Optimize coro::task by @a858438680 in #194
- Make ci workflow dispatchable by @jbaldwin in #195
- Add coro::when_all test inside coroutine. by @jbaldwin in #197
- Use std::expected when __cpp_lib_expected is defined by @jbaldwin in #174
- Rename THREADING feature to PLATFORM by @jbaldwin in #198
- Switch pull_request to pull for ci.yml by @jbaldwin in #199
- task promise use std::variant by @jbaldwin in #200
- Removing pull_request trigger broke external PRs by @jbaldwin in #203
- Use std::shared_ptr for coro::net::ssl_context by @jbaldwin in #205
- PR CI revert by @jbaldwin in #210
- Test "benchmark tcp_server echo server thread pool" is flakey by @jbaldwin in #207
- Fix coro::when_all not compiling when passing the output of std::views by @ripose-jp in #209
- Add std::ranges::view test for coro::when_all by @jbaldwin in #212
- Fix the coverage status badge in the readme by @jbaldwin in #214
- Make clock using statements public for users by @jbaldwin in #218
- Use std::thread for coro::thread_pool by @jbaldwin in #221
- Changes to be able to build to webassembly with emscripten. by @bruno-j-nicoletti in #201
- Release v0.10.0 by @jbaldwin in #223
New Contributors
- @bjones1 made their first contribution in #169
- @a858438680 made their first contribution in #181
- @Harvey-Liu made their first contribution in #179
- @oleksandrkozlov made their first contribution in #190
- @ripose-jp made their first contribution in #209
Full Changelog: v0.9...v0.10
v0.9
What's Changed
- tl::expected didn't respect LIBCORO_BUILD_TESTS=OFF by @jbaldwin in #147
- Fixed the broken links within README.md by @LEAVING-7 in #148
- OpenSSL only if feature networking is set. by @dok-net in #142
- Allow to disable OpenSSL separately if networking is included. by @dok-net in #149
- Extended tasks so they can return references and not just values. by @bruno-j-nicoletti in #154
- Fix #154 that broke task.hpp by using optional without adding #include by @dok-net in #156
- Fix wrong version number by @MichaelLettrich in #159
- task doesn't require default ctor by @jbaldwin in #164
- Release v0.9 by @jbaldwin in #165
New Contributors
- @LEAVING-7 made their first contribution in #148
- @dok-net made their first contribution in #142
- @bruno-j-nicoletti made their first contribution in #154
- @MichaelLettrich made their first contribution in #159
Full Changelog: v0.8...v0.9
v0.8
#141 Add a LIBCORO_FEATURE_NETWORKING option, this is the start of conditional compilation for features in the library.
#140 Compilation fails with g++13, added additional CI test runs against the new compiler and rework CI to be less verbose.
#137 Destroy coroutine frames in the coro::task_container gc function. This was a catch22 problem when having lots of open sockets where coroutines were finishing but not closing file descriptors so additional requests were unable to be accept
ed.
#135 Mention that this project can be included via Conan
#133 Removed erroneous extra lib
prefix for CMake target
#134 Allow to resolve external dependencies (expected, c-ares, openssl)
#132 Use GNUInstallDirs and CMAKE_INSTALL_LIBDIR