All notable changes to this project will be documented in this file. See standard-version for commit guidelines.
3.0.0 (2021-12-08)
- 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.
-
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
- configure compilation database for clangd when using cmake presets (7493c24)
- hardcode
asap
in places where we should not use the custom project name (7f81298) - match Clang and Apple Clang for compiler options (7e1e123)
- convert unit testing to gtest/gmock (b99c8d0)
2.0.1 (2021-11-06)
- "-Wreserved-identifier" only if not APPLE (05fac12)
- cmake require c++ 14 in all modules (f05c9a6)
- use lower-case name for sphinx (f3005b5)
2.0.0 (2021-11-06)
- 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
- Refactoring of cmake build files.
- Remove additional warnings from code.
- Documenattion.
- 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)