Skip to content

Releases: ned14/outcome

All tests passed 5bf34fbf997e5f4f3551cbe8d335964a046c27f4

Fixes to previous commits as found the code didn't link under optimisation.

Use the 'all-sources' tarball below, NOT the github generated one which is missing dependencies:

All tests passed 3519b5a457aaa4b5de355c55ce9570ffbaed1dad

Add missing docs for previous commit.

Use the 'all-sources' tarball below, NOT the github generated one which is missing dependencies:

All tests passed 10eb45ca7d11a35df14e0fa89939a3e3185c0aa9

- Outcome.Experimental has had C representation support since the beginning, however it had
been mainly intended that C++ would originate Results, they would pass through C, and back
into C++. It hadn't really been expected that C would want to do much with Results other than
inspect them for happy or sad path.

 It turns out there is more demand than expected for a more functional Result from within C,
so this release adds the power to create Results in success and two types of failure, semantic
comparison of Results, and printing of Result messages. You can also wrap a C enum into a
quick status code from enum, allowing easy custom C error coding from 100% within C.

 [The documentation for the C support]({{% relref "../experimental/c-api" %}}) has been updated
to reflect the new facilities.

Use the 'all-sources' tarball below, NOT the github generated one which is missing dependencies:

All tests passed 5bcd0f32f28659a0eab62f1d643d878c2220788d


Use the 'all-sources' tarball below, NOT the github generated one which is missing dependencies:

All tests passed f5a45b6909e732174fe98e59548914bcaa67d847

Hopefully fix issue #300 caused by MSVC changing what diagnostic
it prints.

Use the 'all-sources' tarball below, NOT the github generated one which is missing dependencies:

v2.2.9 Boost 1.85 release

14 Mar 14:30
Compare
Choose a tag to compare

v2.2.9 15th April 2024 (Boost 1.85) [release]

Enhancements:

#293

  • Some users wished that Outcome would be clean with -Wpedantic, this is now turned on for
    the test suite.

#294

  • All use of assert() has been replaced with OUTCOME_ASSERT, which can be user overridden
    at compile time.

#295

  • In git commit 12b14e1 (Aug 11 2022) status code had its
    paths changed due to its headers not previously having the right path convention. It was not
    realised at the time that in Boost.Outcome this resulted in
    <boost/outcome/experimental/status-code/status-code/headers.hpp> which is not desirable.
    This has now been remedied to remove the double status-code, which will obviously break
    any Boost.Outcome code which relies on the double status-code. Standalone Outcome is unaffected.

Use the 'all-sources' tarball below, NOT the github generated one which is missing dependencies:

All tests passed 7289e160ee4a27fea50275e7b80cdf8e754110a3

Add missing `BOOST_OUTCOME_ASSERT` macro, clearly I was not thinking
straight on Saturday in those previous commits.

Use the 'all-sources' tarball below, NOT the github generated one which is missing dependencies:

All tests passed 4e228c42890148ea8f6f5a08ba7c6e4e9fc15468


Use the 'all-sources' tarball below, NOT the github generated one which is missing dependencies:

All tests passed 0f6df25eb0f1f383ef3061bdf72007fd5014f759

Try using `BOOST_ASSERT` instead of `assert` in Boost.Outcome, see
what happens.

Use the 'all-sources' tarball below, NOT the github generated one which is missing dependencies:

v2.2.8 Boost 1.84 release

16 Dec 20:24
Compare
Choose a tag to compare

v2.2.8 13th December 2023 (Boost 1.84) [release]

Enhancements:

  • cmake 3.9 is now the minimum required for standalone Outcome. This fixes a long standing
    cmake issue with probing for standard library facilities. cmake 3.9 is what RHEL7 ships with,
    when RHEL7 EOLs we may raise the minimum cmake version at that point.

Bug fixes:

  • There was a bug in the Outcome C++ coroutine awaitables whereby we were over eagerly resuming
    execution of coroutines which return one of our awaitables. It is surprising how many years have
    passed before this was noticed, but it is now fixed. It is believed that this has been fixed
    without affecting ABI stability, however mixing old Outcome and new Outcome in the same binary
    without recompiling all the C++ coroutine code to use new Outcome will not fix the bug.

#291

  • A Result or Outcome with void value type and move-only non-value type was only usable in
    const use cases, due to the lack of provision of non-const member functions in relevant observers
    injection layers for the void specialisation. The missing non-const member functions have now
    been added.

Use the 'all-sources' tarball below, NOT the github generated one which is missing dependencies: