All Versions
Latest Version
Avg Release Cycle
73 days
Latest Release
1303 days ago

Changelog History

  • v1.75.0.beta1

    November 03, 2020
  • v0.3.0 Changes

    June 19, 2020

    🚀 This release incorporates the feedback of the Boost Review, changes to improve potential integration with Boost, simplified asynchronous API. Changes:

    • The is_e_type trait is deleted. Any value type can be used as an error type.
    • 🖐 Error handlers can now be captured in a tuple and used with try_handle_some, try_handle_all or try_catch. The remote_ prefixed error handling functions are removed.
    • 🔀 preload, defer, and accumulate are all merged into a single API called on_error.
    • match is now compatible with std::error_code, e.g. match<std::error_code, 42>.
    • 👻 Error handlers that take arguments of exception types will automatically catch exceptions; catch_ is now optional, primarily used to catch more than one exception type.
    • Error handlers can now take mutable reference (and mutable pointer) arguments.
    • augment_id is renamed to error_monitor.
    • All LEAF_XXXX macros are renamed to BOOST_LEAF_XXXX.
  • v0.2.5 Changes

    November 24, 2019

    This release includes automatic detection for LEAF_NO_EXCEPTIONS and new benchmark program.

  • v0.2.4 Changes

    November 07, 2019

    🚀 This release includes minor optimizations, adds a unit test for the error_id generation logic, and increased Travis CI coverage on Apple platforms.

  • v0.2.3 Changes

    November 03, 2019

    This release improves the support for -fno-exceptions and adds support for LEAF_NO_THREADS, which disables all multi-thread code.

  • v0.2.2 Changes

    August 02, 2019


    • No guard variables generated by the compiler for static/thread_local objects.
    • Simpler, more optimal result<T> implementation.
  • v0.2.1 Changes

    June 25, 2019

    📚 Patch release for better documentation, Travis and AppVeyor tweaks.

  • v0.2.0 Changes

    April 24, 2019

    🚀 In this release:

    • ➕ Added operator-> support to result<T>;
    • ➕ Added a new example to demonstrate using LEAF with outcome::result<T> instead of leaf::result<T>;
    • LEAF_AUTO uses .value() instead of operator* to access the value of a result<T> type;
    • 🛠 Fixed a bug in the single header generation script, now headers are included only once;
    • 📚 Documentation fixes and refinements.
  • v0.1.0

    April 03, 2019