Skip to content

Releases: martinmoene/optional-lite

3.6.0

05 Feb 20:48
Compare
Choose a tag to compare

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

19 Sep 08:45
Compare
Choose a tag to compare

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

22 Nov 14:35
Compare
Choose a tag to compare

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

3.3.0

11 Nov 13:33
Compare
Choose a tag to compare

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

25 Apr 19:59
Compare
Choose a tag to compare

[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.0

02 Oct 20:45
Compare
Choose a tag to compare

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

04 Jun 20:16
Compare
Choose a tag to compare

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

10 Dec 17:01
Compare
Choose a tag to compare

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

17 Nov 21:56
Compare
Choose a tag to compare

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).

2.1.0

11 Jul 19:33
Compare
Choose a tag to compare

This release of optional lite contains the following changes.

Additions
Tests and examples can now also be build via buck (thanks to Nick La Rooy @njlr). A try it online badge has been added to the Readme.

Fixes
Issue #5 has been fixed by providing std::swap() via header file <functional>. Compiler selection in test/CMakeLists.txt file has been fixed.