outcome v2.1.1 Release Notes

Release Date: 2019-09-24 // over 4 years ago
  • ๐Ÿš€ v2.1.1 19th August 2019 (Boost 1.71) [release]

    โœจ Enhancements:

    #184
    ๐Ÿš€ : As per request from Boost release managers, relocated version.hpp and
    revision.hpp into detail, and added the Boost licence boilerplate to the top
    of every source file which was missing one (I think). Also took the opportunity
    to run the licence restamping script over all Outcome, so copyright dates are now
    up to date.

    #185
    ๐Ÿ™‹ : Add FAQ item explaining issue #185, and why we will do nothing to
    ๐Ÿ›  fix it right now.

    #189
    ๐Ÿ”จ : Refactored the OUTCOME_TRY implementation to use more clarified
    ๐Ÿšš customisation points capable of accepting very foreign inputs. Removed the
    std::experimental::expected<T, E> specialisations, as those are no longer
    ๐Ÿ“š necessary. Fixed the documentation for the customisation points which
    previously claimed that they are ADL discovered, which they are not. Added
    ๐Ÿ‘ a recipe describing how to add in support for foreign input types.

    #183
    : Added a separate motivation/plug_error_code specifically for Boost.

    ๐Ÿ› Bug fixes:

    ๐Ÿ”– : OUTCOME_VERSION_MINOR hadn't been updated to 1.

    #181
    : Fix issue #181 where Outcome didn't actually implement the strong swap guarantee,
    despite being documented as doing so.

    #190
    โœ… : Fix issue #190 in Boost edition where unit test suite was not runnable from
    ๐Ÿš€ the Boost release distro.

    #182
    ๐Ÿ‘ป : Fix issue #182 where trait::is_exception_ptr_available<T> was always true,
    ๐Ÿ–จ thus causing much weirdness, like not printing diagnostics and trying to feed
    ๐Ÿ‘ป everything to make_exception_ptr().

    #194
    : Fix issue #192 where the std::basic_outcome_failure_exception_from_error()
    ๐ŸŒ was being defined twice for translation units which combine standalone and
    Boost Outcome's.