v1.1.7 ChangesDecember 22, 2019
🔌 Plugs a memory leak (watchers were not always being de-registered when returning REMOVE), and other minor bug-fixes and documentation updates.
👀 A chat server example has been added (see examples/ folder).
v1.1.6 ChangesMay 23, 2019
📚 This release includes a critical bug-fix for OpenBSD. In addition, there have been some minor documentation improvements.
v1.1.5 ChangesSeptember 14, 2018
🚀 This release just removes some constructs which technically provoke undefined behaviour, includes a tiny performance/memory use optimisation, and a little bit of refactoring.
v1.1.4 ChangesApril 02, 2018
This is a minor release with some fixes/updates to documentation, and the lambda-based "add_timer" function (previously undocumented) now takes
const timespec &arguments (which allows using
- document the pre-existing "add_timer() with lambda" function
- 🔄 change "add_timer()" (with lambda) to accept
const timespec &arguments (previously the parameter types were non-const).
- 🛠 fix broken timer example in introduction (USAGE.md)
- various internal changes.
v1.1.3 ChangesMarch 08, 2018
🛠 This is primarily a bugfix release, but includes CMake support files (installed alongside the library with "make install"). Note that CMake is not required to build.
- 🛠 fix timers not working on non-Linux systems
- Includes CMake files (makes it easier for projects using CMake to use Dasynq)
- 🏗 build fixes for platforms without kqueue or epoll
- 🛠 install fixes for BSDs
v1.1.2 ChangesFebruary 09, 2018
🚀 Unfortunately the previous release had build issues, hence this immediate re-release.
v1.1.1 ChangesFebruary 09, 2018
🚀 This release fixes a bug which prevented "emulated" fd watches from working properly. It also includes a workaround for a MacOS kernel bug which prevented signals from being reliably detected using the kqueue backend on that platform.
v1.1.0 ChangesJanuary 30, 2018
🚀 This release includes bug fixes for multi-thread event loops using the kqueue backend, and also adds a new backend which uses pselect(2). Since pselect is mandated by POSIX this means Dasynq should work on nearly all mostly-POSIX-compliant systems.
🐎 (Note however that pselect is probably not going to be great performance wise, and suffers from an inherent inability to deal with file descriptors beyond a certain number).
v1.0.4 ChangesJanuary 16, 2018
🚀 This release fixes a silly bug with subtraction of time values which gives the wrong result for times with exactly equal nanoseconds. While this probably would strike only rarely, it's a bug best squashed as early as possible, and so I'm drafting this release.
v1.0.3 ChangesDecember 23, 2017
🚀 This is a bug-fix for an issue that crept into v1.0.2, the previous bug-fix release.