pool-day: version 1.0.0 is out
Yesterday, version 1.0.0 of pool-day was released. For those who don't know what I'm talking about, I already wrote a more comprehensive post about the project. Almost 18 months after its first release, pool-day 1.0.0 includes a number of significant improvements, ranging from memory safety bug fixes to a more stable and flexible API. More details about these changes are listed below:
Library
- API improvements (BREAKING CHANGES ALERT):
- Making
task_tan opaque pointer; - Refactoring the
taskconcept, splitting it into sync and async tasks, resulting two different functions for task creation:create_sync_task: Similar to the oldcreate_taskfunction;create_async_task: Used to create an async task, allowing the usage of callbacks to mark the task beginning and end, as well as retrieve the task's result. It also provides theauto_releaseparameter to enable/disable automatic task release after its execution.
- Splitting the
wait_task_finishfunction into:get_task_result: Blocks the current thread until the task is finished and returns its result;wait_task_finish: Only blocks the current thread until the task is finished.
- Making
- Fixing memory issues.
Samples
- Adding a http-server sample to demonstrate a real-life use case for the library;
- Refactoring the existing samples to follow the new API changes and provide a better demonstration of the library’s sync and async use cases.
CI
- Adding Clang build to
ciandreleaseworkflows to improve the source code portability checking; - Improving the
ciworkflow by adding a static analysis job (using cppcheck, btw) to it.
I think that's it. Please refer to the documentation for more information about the library's usage, and feel free to reach me out by e-mail or open an issue/make a contribution through the GitHub repo.