Skip to content

Latest commit

 

History

History
97 lines (70 loc) · 4.55 KB

CHANGELOG.md

File metadata and controls

97 lines (70 loc) · 4.55 KB

Changelog

All notable changes to this project will be documented in this file. See standard-version for commit guidelines.

3.0.0 (2021-12-08)

⚠ 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 an asap based project.
  • hedely was removed from common and was replaced by a much lighter new file compilers.h.
  • nowide was removed from common and will be replaced by the standalone boost nowide library when needed.
  • filesystem footprint is too large to be included by default in asap starter project. It will be provided separately and a mechanism to easily add it into an asap 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

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

Bug Fixes

  • "-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)

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)

1.0.0 (2021-11-03)

Features

  • add support for Conventional Commits and auto Changelog (7b827fa)
  • replace cmake compiler detection with hedley (8bf0a3d)