Releases: jbaldwin/libcoro
Releases · jbaldwin/libcoro
v0.15.0
Notable features in this release:
- Support
LIBCORO_FEATURE_NETWORKINGon kqueue based operating systems, e.g.coro::io_scheduleris now supported on MacOS. Thank you @tglane coro::thread_poolnow must be created as astd::shared_ptrviacoro::thread_pool::make_shared()- Added
coro:queue<T> - Added
coro::condition_variableThank you @dobord - Added default executors, similar to libuv's
default_loop().
What's Changed
- sync_wait() remove extra move constructor call by @jbaldwin in #302
- std::shared_ptr passed by value instead of by reference by @Sola1Go in #303
- task_self_deleting bugfix in copy assignment operator by @jbaldwin in #305
- Add support for coro::task for coro::when_any by @jbaldwin in #310
- Adds coro::queue by @jbaldwin in #311
- Update mac os ci workflow to use newer version of llvm and mac os by @tglane in #318
- Add cmake options for sanitizers: address, memory, thread, undefined by @dobord in #323
- Add coro::default_executor by @dobord in #321
- Fix when any flakey tests by @jbaldwin in #326
- test ring_buffer hang by @jbaldwin in #327
- Upgrade catch2 to latest by @jbaldwin in #331
- sync_wait does not rethrow user exceptions by @jbaldwin in #333
- Add coro::condition_variable by @jbaldwin in #319
- Semaphore test failure by @jbaldwin in #334
- coro::ring_buffer use coro::mutex instead of std::mutex by @jbaldwin in #336
- coro::thread_pool force usage as std::shared_ptr by @jbaldwin in #338
- Fix for Xcode hang by @VitaliLiashchuk in #341
- coro::queue::try_pop() by @jbaldwin in #342
- Re-fix issue-270 by @jbaldwin in #343
- feat: add kqueue support by @tglane in #317
- MacOS supports LIBCORO_FEATURE_NETWORKING docs update by @jbaldwin in #346
- free(): invalid pointer in when_any tests by @jbaldwin in #349
New Contributors
- @Sola1Go made their first contribution in #303
- @tglane made their first contribution in #318
- @dobord made their first contribution in #323
- @VitaliLiashchuk made their first contribution in #341
Full Changelog: v0.14.1...v0.15.0
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_containerwhen a coroutine would attempt tostarta new task in one of its object's destructors, this was found fromcoro::net::tls::clientdestructor since it schedules a task to cleanup itstlscontext in the future. - #265
coro::io_schedulercan only be created within astd::share_ptrnow, it also inherits fromstd::enabled_shared_from_thisto appropriately ref count. There was a lifetime bug withcoro::io_schedulerand its embeddedcoro::task_containerwhere thecoro::task_containerhad a raw reference instead of astd::shared_ptrand 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_THREADINGby @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