Skip to content

Releases: abdes/asap

Release 4.0.1

17 Feb 18:02
Compare
Choose a tag to compare

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

19 Dec 12:28
Compare
Choose a tag to compare

Features

  • doxygen snippets from test or examples source directories (85b8000)

Bug Fixes

  • doc: wrong chapter title in logging module page (5966912)
  • doxygen doc generation uses wrong module info (8833474)
  • need to hardcode asap when linking common (e038a70)

Release 3.1.1

19 Dec 05:28
Compare
Choose a tag to compare

Documentation changes

  • minor tweaks to the shpinx config

Release 3.1.0

19 Dec 05:15
Compare
Choose a tag to compare

⚠ 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 generic OPTION_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

  • adjust doc target names to work in renamed projects (60acc65)
  • cmake option was placed in the wrong command (b634b15)
  • clean the logging API implementation (25535c7)

Release 3.0.0

08 Dec 11:07
Compare
Choose a tag to compare

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

Release 2.0.1

06 Nov 18:43
Compare
Choose a tag to compare

Bug fixes for the build on Mac OS.

Bug Fixes

  • "-Wreserved-identifier" only if not APPLE (05fac12)
  • cmake require c++ 14 in all modules (f05c9a6)
  • use lower-case name for sphinx (f3005b5)

Release 2.0.0

06 Nov 13:39
Compare
Choose a tag to compare

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

03 Nov 11:11
Compare
Choose a tag to compare

Features

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

Documentation

  • enhance documentation and automatically publish to github pages

Release 0.10.3

18 Jul 14:56
Compare
Choose a tag to compare
  • 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

0.10.1

01 Nov 18:17
Compare
Choose a tag to compare
  • Hotfix to add the DELETE access right when granting/denying permissions on files/directories under Windows.