Skip to content

Releases: nonstd-lite/optional-lite

3.6.0

Choose a tag to compare

@martinmoene martinmoene released this 05 Feb 20:48

This release of optional lite contains the following changes:

Additions:

  • Add non-standard value_or_eval() (#67).
  • Add [[nodiscard]] to relational operators.
  • Add GitHub Actions CI and badge for it (nonstd-lite-project issue 55).

Changes:

Fixes:

3.5.0

Choose a tag to compare

@martinmoene martinmoene released this 19 Sep 08:45

This release of optional lite contains the following changes:

Additions:

Changes:

  • Enhance in-place construction (#66, thanks @@fekir).
  • Change to use #if defined(_MSC_VER) to avoid -Wundef warning (#65, thanks @eepp).
  • Change usage of =default with test structures to VS2015 for (#61).
  • Handle lest test framework as system include to prevent warnings.

Fixes:

3.4.0

Choose a tag to compare

@martinmoene martinmoene released this 22 Nov 14:35

This release of optional lite fixes direct initialization of an optional with C++11 and later (issue #59. Thanks to @deadem).

3.3.0

Choose a tag to compare

@martinmoene martinmoene released this 11 Nov 13:33

Release 3.3.0 of optional lite contains the following changes.

Additions:

  • Add tweak header support

Changes:

  • Add .editorconfig.
  • Add TortoiseGit integration with GitHub issues.
  • Add build folder and IDE folders/files to .gitignore (.vs, .vscode, CodeBlocks).
  • Change vcpkg install to use CMake
  • Change badge 'on conan' to refer to conan-center (thanks @jgsogo).
  • Improve section on Conan in Readme.
  • Remove no longer used struct enabler.
  • Special-case usage of ref qualifiers for GNUC 4.8 (#56,thanks to @davidtazy).
  • Update list of known good compilers (Xcode) (#54, thanks to @past-due).
  • Add settings options to conanfile (#46, thanks to @ngrodzitski).
  • Add Visual Studio 2019 to the Appveyor build matrix, nonstd lite project issue 47.
  • Add badge 'on godbolt', nonstd-lite-project issue 36.
  • Improve MSVC version table, nonstd-lite-project issue 38.

Fixes:

3.2.0

Choose a tag to compare

@martinmoene martinmoene released this 25 Apr 19:59

[to be expanded]

This release of optional lite improves support for CMake and Conan and contains numerous other changes and fixes.

See also nonstd lite project Improve coherence between lite projects.

3.1.1

Choose a tag to compare

@martinmoene martinmoene released this 02 Oct 20:58

This bug-fix release prevents a clash of a template parameter with macro I in header complex.h of GNUC 6 (#31, thanks to @gcarleo).

3.1.0

Choose a tag to compare

@martinmoene martinmoene released this 02 Oct 20:45

To be written

  • optional_CPLUSPLUS
  • Add CMake installation target (inspired on PR #30)
  • Use other and value as parameter names; fix in-place type for make_optional()
  • Mention expected-lite
  • Make use of __has_include() more robust
  • Update shared in_place facility
  • Add CMake options to select between std::optional and nonstd::optional
  • Add -Wsign-onversion
  • Handle AppleClang C++17 compiler flag
  • Correct comment
  • Prevent -Wunused-function warning (inspired on PR #29)
  • Prevent -Wconversion message (inspired on PR #27)
  • Add -Wconversion warning
  • Rename to optional_REQUIRES_A()
    SFINAE on
  • .._A(): method argument type
  • .._T(): template argument type
  • .._R(): return type
  • Refine require clauses
  • Add converting construction, assignment (issue #27)
  • Add version to CMakeLists.txt
  • Add script to update version
  • Obviate need for -DNOMINMAX with MSVC (nonstd-lite issue 16)
  • Fix detection of GNUC, update style for if defined()
  • Expand Travis configuration
  • Update lest to version 1.33.2 (issue #26)
  • Change whitespace
  • Getting rid of conversion from ‘long unsigned int’ to ‘unsigned int' may change value-messages (#25)
  • Getting rid of conversion from ‘long unsigned int’ to ‘unsigned int' may change value-messages
  • Update optional.hpp
  • Make some rvalue qualified function to reuse lvalue versions of corresponding functions. (#21)Thanks @ngrodzitski
  • Let C++ standard be specified manually via optional_CPLUSPLUS, issue #20
  • Fix web links in section Notes and References
  • Fix to not require empty optional for emplace
  • Fix issue #18 (thanks to @rwst Ralf Stephan)
  • Add test for issue #18
  • Use CMAKE_CXX_STANDARD, remove c++03 target
  • Add "LANGUAGES CXX" to project
  • Declare stream operator before inclusion of lest test framework
  • Align CMake configuration (add_library)

3.0.0

Choose a tag to compare

@martinmoene martinmoene released this 04 Jun 20:16

optional lite has been re-licensed under the Boost Software License (BSL) (issue #17).

Additions

  • Made v2.3.0 available in conan (thanks to @agauniyal).

Changes

  • Enabled differentiating between MSVC 14.0 (VS2015) and 14.1 (VS2017).
  • Expanded Travis and Appveyor configurations.
  • Renamed optional-lite to optional-main.
  • Suppressed -Wundef for optional.hpp.
  • Updated lest to version 1.33.1.

Fixes

  • Added missing using std::nullopt_t for C++17 std::optional
  • Corrected rhs to other (issue #12, thanks to @TartanLlama)

2.3.0

Choose a tag to compare

@martinmoene martinmoene released this 10 Dec 17:01

This release of optional lite contains the following changes.

Changes

This release lets nonstd::optional use std::optional if it's available. Further in_place_type and in_place_index were added. The readme now has Conan installation instructions and badge (issue #9, thanks to @agauniyal) as well as a section Other implementations of optional.

Fixes

None.

2.2.0

Choose a tag to compare

@martinmoene martinmoene released this 17 Nov 21:56

This release of optional lite contains the following changes.

Changes
Relational operators now support mixed value types as specified in C++17 and are constexpr.

Fixes
The struct/class mismatch for std::hash has been fixed (thanks to Łukasz A.J. Wrona @LAJW).