Zth (libzth)
CHANGELOG

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Unreleased

1.1.0 - 2022-10-18

Added

  • zth::fiber() as alternative to zth_fiber() and friends with async.
  • Defining async can be prevented by defining ZTH_NO_ASYNC_KEYWORD before including <zth>. zth_async is always defined, with the original behavior of async.
  • Make split zth::fsm::Fsm into a BasicFsm and Fsm, of which the former does not need fiber and timestamps to run. As a result, the BasicFsm can be executed in an interrupt routine.
  • Fix support for builds without exceptions and environmental variables to reduce library size.
  • Change license to MPLv2.

1.0.0 - 2021-12-21

Initial version.

Added

  • Fibers/worker/scheduling and all other required basics.
  • setjmp()/longjmp(), sigaltstack(), ucontext(), WinFiber context switching approaches.
  • FSM (C++14) implementation.
  • Extensible Poller framework.
  • Ubuntu/macOS/Windows/ARM (QEMU) example builds.