Releases: abdes/asap
Release 4.0.1
Features
-
overload pattern for variant visitation on the fly (53ea7cc)
-
refactor: trim the project to the bare minimum(8d48a56)
The intention from the asap base project is to be a template starter repo that
can be cloned and used for new projects. The bare minimum is the cmake build
infrastructure, documentation, the common submodule and the contract checking
assertions submodule.Contract checking library is now in a separate submodule to keep the common
module as minimal as possible. Projects that do not intend to use contract
checking will not have to depend on it. -
update the GitHub action for windows build to 2022
Bug Fixes
- use separate sphinx cache dir for each module (03f36fc)
Release 3.1.2
Release 3.1.1
Documentation changes
- minor tweaks to the shpinx config
Release 3.1.0
⚠ BREAKING CHANGES
- The logging
Registry
is now implemented as a singleton class and therefore it needs to be
accessed via its instance() method. All other methods in its interface are not static anymore. - Prefix the build options with
ASAP_
to make them unique and avoid clashing with other projects
that may use the genericOPTION_xxx
names. Additionally, the build presets now always activate
building of tests and examples except in release builds where examples are not built. - The cmake option
OPTION_SELF_CONTAINED
is no longer relevant as we believe that 3rd party
dependencies should be installed using their own projects. In the wrostcase scenario, they should
be explicitly added as install instructions to the project in a visible and documented way.
Features
- add support for .editorconfig (5a7a689)
- provide a way to distinguish between debug and release builds via preprocessor define (bbd84a2)
Bug Fixes
Release 3.0.0
⚠ BREAKING CHANGES
- The project requires C++17 as it is widely available in compilers now. Logical traits such as
conjunction, disjunction and negation are available from the <type_traits> standard include. - major redesign of the cmake build system, many macros and functions have been changed and the
build system overall has been simplified. catch2
has been replaced by Google Test/Mock, which provides more features, less compiler
warnings and is more popular. Catch2 or any other framework can still be easily added to anasap
based project.hedely
was removed fromcommon
and was replaced by a much lighter new filecompilers.h
.nowide
was removed fromcommon
and will be replaced by the standalone boost nowide library
when needed.filesystem
footprint is too large to be included by default inasap
starter project. It will
be provided separately and a mechanism to easily add it into anasap
based project will be
implemented in a future update.
Features
-
add gsl library (9b982f1)
-
add support for CMake presets (bdcfa4d)
-
add contract checking api (assertions) (c691446)
-
convert git submodule to local module (4e32e8a)
-
redesign cmake build system (31ce14a)
-
remove filesystem submodule (e2089ae)
-
remove logical traits backport (5ed0fe6)
-
significantly enhance the documentation, both doxygen based for APIs and sphinx based for the
project docs
Bug Fixes
Release 2.0.1
Release 2.0.0
Features
- Cleanup the code to remove most compiler and linter warnings.
- Refactor cmake build files to have robust support for sanitizers and linters.
- Rationalize the compiler options to strictly stick to those options that won't
conflict with application decisions. - Enhanced the documentation
To be continued
- Refactoring of cmake build files.
- Remove additional warnings from code.
- Documenattion.
⚠ BREAKING CHANGES
- logging is in a new module: asap::logging.
Many modules would want to only get the basic common functionality
without pulling extra 3rd party dependencies such as spdlog, fmt etc...
For this reason, the logging functionality is taken out of the common
submodule and moved to logging submodule.
- move logging functionality to separate module (46f4dd9)
Release 1.0.0
Release 0.10.3
- Fixes to filesystem module implementation
- Support of file permissions on Linux, OS X and Windows
- Update to catch2 1.13.0
- Update to spdlog 1.7.0