Release 0.3.0 including non-param-options behavior change
Release 0.3.0:
This release uses (nearly everywhere) the same interfaces (as in 0.2.5) but changed the implementation under the hood. These changes are a preparation for future features of libClaPP (where options and parameters can be combined logically and grouped together).
One of these exceptions where the behavior changed are non-param-options (i.e. basic_option_t
), which were modified slightly. Just search for basic_option_t
in the changes below.
Release 0.3.0 contains the following changes:
- added support for leak sanitzier.
- new Gitlab-CI-pipelines (added the following new architectures and OSs):
- includes amd64 (debian 10, ubuntu 20.04, ubuntu 21.04)
- includes arm64 (debian 10, ubuntu 20.04, ubuntu 21.04)
- includes armhf (debian 10)
- added support for clang- and gcc-compilers up to version 12 (however, C++17 is still a mandatory requirement).
- moved clang-tidy build-options to
cmake/clang_tidy.cmake
(including a transition to clang-tidy-12 and several code-fixes newer clang-tidy-versions complained about). - moved compiler build-options to
cmake/compiler_flags.cmake
. - bump clang-format-7 to clang-format-11 (as clang-format-7 formatted code leads to
compound-token-split-by-space
warning in clang-12). - bump submodule
third_party/googletest
to version 1.11.0. - bump submodule
third_party/GSL
to version 3.1.0. - fixed documentation.
- fixed and added new tests.
- renamed test-names from snake-case to camel-case. (as suggested by google-test framework documentation)
- updated help text generation.
- type of
basic_option_t::_value
changed fromstd::optional<T>
toT
. -
operator bool()
of anbasic_option_t
now returns_value != default_value
instead of the value returned byhas_value()
.
Edited by Martin Wölzer