# Change & release log

Releases in reverse chronological order.

Please check
[GitHub](https://github.com/micro-os-plus/micro-test-plus-xpack/issues/)
and close existing issues and pull requests.

## 2026-05-12

* v4.1.1 published on npmjs.com
* v4.1.1 prepared
* 2442265 Revert "fix clang16 linux build"
* dac3a9e fix clang16 linux build

## 2026-05-11

* d070711 fix clang16 linux build
* 1817181 website update
* 3c10916 website posts fixes
* bb42b96 website: blog post release 4.1.0 published
* a836b29 4.1.0
* 45b61e6 CHANGELOG: publish npm v4.1.0
* v4.1.0 published on npmjs.com
* 353d2a1 CmakeLists.txt add CXX
* 68c840b CMake cosmetics in comments
* 6ba1ac4 CMakeLists.txt duplicate fix
* 4ea4a84 website doxygen update
* 5810287 prepare v4.1.0
* 496bf98 re-generate website commons
* 4f3a2b9 use local cmake-format & reformat

## 2026-05-10

* fe8d5ac use local clang-format & reformat
* 9239eca #31: move the top default suite name to initialise()
* 478a667 website/package*.json update
* d69a6be re-generate website commons
* 7e0d3f9 config.doxyfile: add EXCLUDE_PATTERNS
* 86596a2 update .dox files to remove repetitions
* dded41a copilot-instructions.md update
* fbe0cd9 detail.h: add @details

## 2026-05-09

* 597515f website update
* 88dd73c detail::indent_t
* a835441 doxygen update
* a903306 cleanups for includes
* 8a6ab9f cmake: disable coverage
* d4216c5 #28: fix circular dependency
* 8004f37 #28: more includes reworks

## 2026-05-08

* 5b55e3f #28: more inlines fixed, only test-inlines.h remaining
* 9dd8012 fix illegal character
* 26675c5 #30: Move internal classes to details namespace
* cbf8e4c extract exceptions-inline.h
* fbca56c remove nodiscard from definitions
* 4ed019a #29: Extract expression formatting code from reporter
* 9b1369d Merge branch 'xpack-development' of https://github.com/micro-os-plus/micro-test-plus-xpack into xpack-development
* 4ef8a04 #29: Extract expression formatting code from reporter
* c9bf9b1 #29: Extract expression formatting code from reporter

## 2026-05-07

* d25e887 #28: Re-organise inlines

## 2026-05-06

* 5c2c832 tests: use add_compile_common_private_options
* 404fdd2 test-inlines.h: silence warning
* ee30572 re-generate commons
* ab9c415 re-generate top commons
* e8f23ee #27: Split definitions from declarations
* f6aaa8a tests: use add_compile_common_private_options

## 2026-05-04

* 536e327 website update

## 2026-04-30

* aca5767 platforms/native: remove -stdlib=libc++ from non clang
* 0cef14e more guards & guard cosmetics
* e15b6d7 guard include diag/trace.h
* 0ad8f72 tests: include platform.h
* 8775c7f website user update
* 953cc21 includes: add guard to prevent direct includes

## 2026-04-29

* 8f330f5 re-generate tests commons
* 7c3b63d fix again blog autoformat
* e2ddd82 website updates
* f9a1b1a website: update last blog posts
* 730a42c website: add link to TAP
* 08aeb97 website: fix blog posts code block
* 88273bf .vscode/settings.json: do not reformat mdx
* 88107e3 re-generate website commons
* 14309a9 website: blog post release 4.0.0 published
* 07f01d3 blog posts cosmetics
* 6e72885 4.0.0
* cfd4b34 CHANGELOG: publish npm v4.0.0
* v4.0.0 published on npmjs.com
* 1105af3 re-format
* ac64933 CHANGELOG update for v4.0.0
* bdb8f37 workflow update
* v4.0.0 prepared
* 1bec407 website update
* 4015c5b remove website/static/.gitignore
* 4219430 #26: remove variables templates, use concepts

## 2026-04-27

* febd39a more doxygen comments

## 2026-04-25

* 5b35a79 website update

## 2026-04-24

* 0772248 remove code-review.md
* a983f70 fix doxygen. remove @defgroup micro-test-plus-config

## 2026-04-21

* 5456f4d reporter.h: fix verbosity() return type
* c848bad add comments with explanations
* 5280cf8 doxygen updates
* 5981d7c detail.h: auto get()
* e7016eb math.h: add more noexcept
* d7ac669 math-inlines.h: add static_asserts
* a1584b5 operators.h: heterogenous container operators
* b7498d4 reporter.h: remove verbosity_t
* 47e497b deferred-reporter-inlines.h: static_assert buffer size
* cc5e566 deferred-reporter: reference to location
* 4d0d7f4 micro-test-plus.h: add Doxygen config section
* 5db7865 runner.cpp: copy argvs
* ddfe9f1 type-traits.h: more cosmetics
* 29c2c82 type-traits.h: value_base_ used consistently
* d34ce29 type-traits.h reorder concepts
* 52b9c16 add type_traits::printable
* 5189513 add is_op and checkable concepts
* aaadf34 add type_traits::any_op
* 1d0a231 detail.h: extract common binary_op_ & co

## 2026-04-20

* 3ba1539 README update
* f1cd9c7 runner.cpp: validate reporter initialised
* 5fafa76 website update - no concepts ref yet

## 2026-04-17

* 98e0f4d website/doxygen updates
* 2edb5bb doxygen examples update
* 7434174 split exceptions.h and utility.h
* d3646d6 sample-test update ts
* 9897a58 doxygen comments updated
* f641190 copilot-instructions.md update

## 2026-04-16

* d1c27e2 tests: update platforms without exceptions
* fc71cf6 cortex-a72: noexcept
* 505edd2 compare-files.sh: reverse diff order
* aacfa73 reporter: confirm written output file.
* acc8fb1 platforms: add compare to qemu tests
* 17e52a5 compare-files.sh exit if missing files
* b41c0c1 cortex-m0: add compare test
* 9fb3604 reporter.cpp: fix double link on mingw
* 7e5f9b4 compare-files.sh update sed
* 6ce71a8 reporter-inlines.h print long double on mingw
* 95474b7 reporter-inlines.h print long double on mingw
* 0a9376e reporter-inlines.h print long double on mingw
* 57194e3 reporter-inlines.h print long double via snprintf
* 0405cb6 platforms cmake objects explanations
* 027fe7c top CMakeLists.txt re-work OBJECTS
* 83a0dc9 cmake rename xpack_global_common_options
* ca04d0f platforms compile options for micro-test-plus-objects
* f79e4eb adjust timings for testing

## 2026-04-15

* b87ae24 add clang coverage to native
* b646da4 unit-tests: add more tests
* 7eaa090 CMakeLists.txt: add micro-test-plus-objects
* 111067e project-functions.cmake: use micro-test-plus-objects
* e40981e common-functions.cmake: add coverage functions
* 840eba3 timings.h: add has_begin and has_end

## 2026-04-14

* 5c59ecb reporter-tap.cpp: fix suite summary
* 2a705db compare-files.sh update
* 7bbcf79 more #if defined(__GNUC__)
* d69cffc rename compare-files.sh
* 8f3ea5e compare-tap-files.sh updates
* 6a01d04 #25: implement --output-file for the human reporter
* 75074d8 reporter-tap.cpp cosmetise messages \n
* b28b3eb #25: implement --output-file for the human reporter
* 71215d3 fix own_index after sort
* e768f02 utility.cpp: avoid unsafe buffer
* 3c0efcd utility: add extract_file_name()
* 6ffb82b runner.cpp: rework sort without aggregate return
* 9a6e461 more #if defined(__GNUC__)
* 205a0e4 silence warnings
* ff4d28c reorder pragmas
* 4858d46 sort suites
* caef2b0 sort suites
* 43898b5 sort suites

## 2026-04-13

* 3536099 split unit-test

## 2026-04-12

* 88c6837 fix cmake a72 syntax
* 82a5dc9 tests-ci add a72
* 3a4abb7 tests TRACE buffer 512

## 2026-04-11

* 120d6c6 use -Og for aarch64 debug
* c1c8563 unit-test fix float tests
* 1dbc1fb tests/pacakge.json: bump deps
* e79e520 remove commented out pragmas
* 1f15f59 compare-tap-files.sh: support mingw pointers without 0x
* b615252 reporter-human.cpp: fix missing subtest begin
* 97a9cfd utility-inlines.h silence warning
* 6f8c883 rename utility-inlines.h
* 58d8b60 move doxygen to test-inlines.h
* aba22eb move  exception functions to function-comparators-inlines.h

## 2026-04-10

* e654cd7 add more unit tests
* 05591ee add more unit tests
* 7485915 code-review.md update
* d1a6efd reporter-tap.cpp: use trace::printf
* 2b6c39a reporter-human.cpp: cleanup
* f5822a6 reporter-tap.cpp: use trace::printf
* 0f895d8 runner.h: do not include ctime
* 4ac2eed test.cpp: explain that subtests do not record the time.
* 2f206b5 test-inlines.h: explain why nullptr passed
* 25847e9 deferred-reporter-inlines.h: clear includes
* 97e63b2 reporter-inlines.h: fix explnation (nil) on linux
* 52233c8 test.cpp: clarify emplanation
* ea345bb runner.cpp: cosmetics (british english)
* b0cca8a reporter: simplify constructor verbosity_
* f839318 fix trace::puts
* c724549 timings.cpp: add precondition assert
* aff7d92 tests/assets/tap update
* ffe7cbd compare-tap-files.sh update sed time
* ebce825 use stderr for warnings and errors
* fd109c2 use trace::printf
* 50f4d20 #if defined(MICRO_OS_PLUS_TRACE)
* 4f70a41 test-inlines.h: rename child_subtest
* de6a36e runner-inlines.h: rename child_suite
* a132531 remove commented out includes
* e531413 rename protected append_number_
* 5f72b25 runner.h: remove useless suite_index_
* 3112ede runner.cpp: avoid shadow exit_code
* a603afb rename parameters suffixed with underscore
* d8b721f remove tests code-review.md
* 2cb079b end protected with underscore
* ea4b203 test-inlines.h initialise unsed callable to nullptr
* c384d80 reporters flush before abort
* 49f5e2f utility.cpp: explain complexity
* cc4e200 runner.cpp: name ot "runner"
* d805891 reporter.h: remove unused verbosity_t
* dab4c34 include c++ headers
* 2661a41 reporter: explain why write_buffer_to_stdout is public
* 3300421 runner-totals += noexcept
* d0f8e85 reporter-human.cpp: write warning on stderr
* a924f5d argvs vector constructor with cast
* 142ef0d deferred-reporter.h apply the rule of five
* dd97f1d flush() also the output file
* 5942653 test abort() calls runner abort
* dee289c reporter.h: make flush() public
* 49c3c25 detail.h: ne_ fix >= lhs_.epsilon
* 36ad478 comment out includes
* 39b739b test.cpp re-enable pragmas
* 0e86cdb split reflection.cpp and utility.cpp
* 859f4e2 comment out more pragmas
* a8c8629 cmake: show size for native

## 2026-04-09

* d23c1af enable tracing in native minimal test
* c1d824f add noexcept where needed
* 59a3c26 add time back to file tap reports
* 8642897 reporter: bring version back to info
* 670cda9 timings: rework with optional and uint32_t
* 5a51a06 move timings to suite & runner
* 16a35e2 compare-tap-files.sh: sed hex pointers
* 0360ddc unit-test: add missing description
* 0387ab1 move static_children_suites_ to static_runner
* 0b12359 commented out cmake unit-test verbose
* da23740 fix printing long double
* 91d49a9 #24: reporter-human.cpp: use colour only if a tty
* 94fa902 Null pointers should be rendered as 0x0

## 2026-04-08

* c43dbff #23: add test code to compare tap files
* 971b706 tests cosmetics
* 3ca668a more consistent totals
* d61fdc1 #22: argvs as vector of string_view
* fa54491 platform README update
* 3f22c35 cosmetics "error:"
* 3e4c10e use --reporter human for unit-tests

## 2026-04-07

* b973f93 make totals & timings protected
* c7bf95c rename runner_ to avoid -Wshadow
* 6084289 reporter operator<< forwarding reference
* b23e68b replace strncmp with string_view.starts_with
* a5db50b reporter-inlines.h cleanups
* 754bc05 type-traits.h more const
* 195f102 container_like requires const
* a04cfa9 remove redundant reporter::operator<<(char* s)
* 1d1196e fix reporter::operator<<(const T& t) recursion
* a19af57 deferred-reporter-inlines.h silence warning
* 799dc0d improve deferred_reporter_base::operator<<
* 56a4831 detail.h replace get_impl. with concept
* a6369fb implement iterative math::pow
* d43e039 type-traits.himprove has_npos
* 8c2669d re-enable operator<< (const T& t)
* 3894fda type-traits.h cleanup value<T, Opt>
* 0c2a67c fix deferred_reporter_b char
* 8ec9b23 `requires_` / `requires_t` replaced with c++20 requires
* a913784 use std::is_base_of_v
* e6182a6 use std::is_convertible_v
* 9516a88 use concept container_like & other
* 7785b9a detail.h private members
* 6a28693 rename not_.operand()
* 7bfee0e reporter operators consistently use append_number
* 6226989 silence warning in reporter
* 82fbfc0 detail.h cosmetics
* 8207330 remove more constexpr
* 241275c replace strrchr with string_view
* 1d510cb avoid problematic strncat in reporter
* 5c0e7c2 fix reflection::type_name()
* 4f720d2 use consteval in math
* 4e618fb use std::declval
* 321dc0d use c++ loops in runner
* ceeb3c6 fix redundant has_static_suites_ guard
* 5892cba inline was_successful ()
* 722c9d4 use std::to_chars in reporter operators
* a967e64 non static epsilon
* 759017e add [[likely]]
* d58e613 switch sfinae to concepts
* 17448ba using verbosity_t
* a6711bd buffer_.reserve(128)
* 04f20e5 optimise to std::to_chars
* f3c772c disable timestamps for subtests
* 5f7f8a1 remove duplicate name_ = name;
* 5ece91a inline constexpr colors
* 469f7e3 #21: fix abort location
* d8a1599 #21: add location to runner.abort()
* af580c1 remove some unused methods
* 9503e4d change some methods to protected
* 137a487 add more const to methods
* 7b48b60 micro-test-plus.h remove top expect & assume
* 2453113 remove useless constexpr specifiers from methods
* e41e2c8 remove redundant name() from runner
* cf57e92 #17 fix more warnings
* e67e3e2 #17 fix more warnings
* 98e5c2b #17 fix more warnings
* 609bf05 #17 fix more warnings
* a9d34d4 #17: add --output-file

## 2026-04-06

* bcb18cf move verbosity processing to reporter
* e38f299 rename add_empty_line_
* edf3097 config.h cosmetics
* 53f1a7e Merge branch 'xpack-development' of https://github.com/micro-os-plus/micro-test-plus-xpack into xpack-development
* 15cc731 cosmetics
* 33e4753 MICRO_OS_PLUS_TRACE_MICRO_TEST_PLUS_CONSTRUCTORS
* 554c5bb update trace messages

## 2026-04-05

* 0df2ed3 update trace messages
* 143e563 use smart pointers in timings
* b6df491 store smart pointers inside children_subtests_
* 6629734 use smart pointers inside children_suites_
* 1d87188 runner.h: fix constexpr
* f2db8e2 make children_suites_ an object, no pointer
* 06909b0 make reporter_ a smart pointer
* 3c47909 make top_suite an object, no pointer
* 7d27fe5 make top_suite_ a unique pointer
* 78338ca #19: re-work test objects hierarchy

## 2026-04-04

* 2ac0dce unit-test updated to new objects
* e5c13ec suite-test cosmetics
* 44425f7 cosmetics
* c867188 #20: rename human reporter

## 2026-04-03

* 0c8d363 suite-test silence warning
* 13e75fc reporter-basic.cpp cosmetics
* 6e921f8 #19 unify suites with tests

## 2026-03-31

* 3fb45b3 reporter: rename begin/end_session
* 03bfb73 rename runner & static_runner
* 0008c25 test: silence diagnostics
* c2d8356 disable trace in native
* 86ed61b warnings silenced
* cee7519 rename *2 namespace back to micro_test_plus
* e35b654 remove the initial micro_test_plus namespace
* 1b0e26b major re-work, separate mt2 namespace

## 2026-03-24

* 26317ce website re-generate commons
* 75e93ab website: blog post release 3.3.1 published

## 2026-03-23

* e08c550 3.3.1
* 3e6dadf CHANGELOG: publish npm v3.3.1
* 5573d85 prepare v3.3.1
* f1be263 tests: add suite-test
* df22b28 #16: fix static inits
* 511f8cf re-generate website commons
* c700756 tests meson update usage
* 759051f move tests to sources

## 2026-03-22

* fd91598 website: blog post release 3.3.0 published
* a116185 3.3.0
* c412e55 CHANGELOG: publish npm v3.3.0
* 394c679 prepare v3.3.0
* 8d33c3e website update for tap
* 181b428 website/doxygen rewrites
* 14bea0a cli.dox update to tap
* 4a4f840 #9: fix empty line
* ae54b12 cmake cosmetics
* 3cb5a08 #10: fix not ok messages
* 2fda6fc #10: fix rounding

## 2026-03-21

* 1e2c980 empty .npmignore in tests
* 2242fd0 test-reporter-tap.cpp cosmetics
* a3ecec4 try timespec_get only on win32
* 7ba0701 try timespec_get
* 9ead310 #if defined(CLOCK_MONOTONIC)
* 4e9478c Revert "try -lwinpthread on windows"
* 951742a try -lwinpthread on windows
* 5bce849 #10: fix long long warning

## 2026-03-20

* f9c0293 Revert "#10: use defined(__linux__)"
* 574ff65 #10: fix duplicate struct timespec
* cbdc8ed #10: use defined(__linux__)
* 15a191d #10: show total time
* 3bae621 make runner default_test_suite public
* e25dbf3 #10: add elapsed time to suites
* 0139c5e test-reporter-*.cpp plurals

## 2026-03-19

* 9258c55 cli.dox update
* 022cbed test-reporter: fix syntax
* cc95083 website update
* e4c6be1 #9: default tap
* 84b34d3 native cmake with explicit --reporter
* e35ad6a #9: functional test-reporter-tap
* 7aa70ac test-runner: add totals
* f6a2bc1 add begin/end_test
* 7d6f684 test-suite.h: size_t analytics
* 1e7a54c detail.h: reformat

## 2026-03-18

* 7bae711 add suite index
* 6619d3b default basic
* 5465c38 rename test_suites_
* c60d2b5 rename test_cases_count
* 459d10c #9: process --reporter=tap or basic
* 2c8cc51 #9: add a test-reporter-tap as a duplicate of base
* 122c76a #11: make the test_reporter_basic class final to avoid warnings
* d84d2b8 #11: extract test_runner_basic in separate files
* 75b8fb1 #11: move operator implementations back to the base class
* 096d136 #11: make the test_reporter an abstract class
* 8f20d22 #13: access the reporter via a pointer

## 2026-03-17

* 42e0810 website: blog post release 3.2.3 published
* b84b446 3.2.3
* aeda731 CHANGELOG: publish npm v3.2.3
* 7d877be prepare v3.2.3
* 7943290 package.json update
* d40573b settings.json update
* 6eaed82 re-generate website
* 6c53c08 re-generate tests commons

## 2026-03-15

* f785a0d re-generate tests commons with define-executables
* 28700b7 re-generate tests commons; xpacks_enable_*
* 87c04ad settings.json update cmake defaultFormatter
* fa4719e tests: update to simplified platform aliases

## 2026-03-13

* 1df6029 package-lovk.json update
* c94b7cf re-generate tests commons
* b3ec2a9 tests meson cosmetics
* 4045da4 tests cmake reformat
* 42e6f65 tests add DO NOT EDIT
* 0c2c517 ad and use project-functions.cmake

## 2026-03-12

* 9f3eba2 tests infrastructure update
* 9270993 dependencies-folders use project folders
* a3d23f4 tests: project-definitions
* b080e20 *-test: fix message > dependency
* acf22f4 cmake: move CMAKE_EXPORT_COMPILE_COMMANDS up

## 2026-03-11

* 861b4ca move xcdl-build.json
* 8e0540a re-generate top commons

## 2026-03-10

* f16de5e README update
* f68a8d9 package*.json updates
* 3a0bd1a workflows update to 0.23.2

## 2026-03-09

* 85aca94 tests/package*.json bump deps
* 9a7ccbf tests/package.json: explicit dependencies specifier & platforms
* fd40e7b try xpm install -dd
* e29a752 try xpm install -dd
* 3641e20 re-generate top commons
* a42b3d8 package*.json update
* fc922bf test-ci.yml: bump deps
* 250ddb4 test-ci.yml: bump deps

## 2026-03-08

* 9356141 package.json cosmetics
* 4ffc072 website copyright 2026 update
* 6060eb9 tests/package.json: bump deps
* 42a0eaf silence warnings

## 2026-01-19

* 27d753f package.json update ctest --test-dir

## 2026-01-18

* 7f5dd8c package.json: group deps releases
* 8ac2c5b package.json compute latest release

## 2026-01-17

* 2ac5ca4 package.json update with templates

## 2026-01-16

* efd0b74 package.json: update inherits
* a5ad31e package.json: update toochain names
* a6e7fb6 package.json template actions

## 2026-01-15

* 92a7d78 settings.json: configure meson false

## 2026-01-06

* 489d204 workflows update
* c149bda package.json 3.2.3-pre
* 5f2f0cc CHANGELOG update
* dafef2a copyright reformat following cmake
* c1bb7e4 Copyright 2026
* 9543dc5 package*.json bump deps
* cdb7c12 CMakeLists.txt reformat
* 55d1500 add .cmake-format.yaml
* b127ac5 settings.json update
* 578d545 include: fix doxygen
* 710c8ff tests rework & reformat cmake

## 2025-11-20

* c1459d7 npm --prefix
* 414f4da npm --prefix
* 5460362 silence warnings
* d2032d5 replace auto -> source_location

## 2025-10-07

* f099ea9 update copyright notices

## 2025-08-23

* 6e09fe5 tests/package.json disable clang 15
* caba436 tests native rework
* 1ba174e tests top meson.build
* e6ce35c tests global-definitions add minimal test
* db8a14b no need for top config.h
* 1c926ff move tests to folders
* 858b92d move code from test-main.cmake to top

## 2025-08-22

* 8dbfa79 fix typo

## 2025-08-08

* ab3b7ab website update Generated via
* 7d69688 website update Generated via links

## 2025-07-30

* 31ed4de add doxygen back to git

## 2025-07-29

* 621040d website update sidebar
* 53124cc website update without The ... Reference

## 2025-07-14

* b878ad9 website update for tree tables

## 2025-07-10

* 38442a1 website/package.json update d2d config
* fb828ce website package.json update link-helpers
* e9132f8 website update for doxygen2docusaurus

## 2025-07-06

* 897d07e website reorder index without ~
* f571fce website rework index files
* 9da3278 website update with treeEntryName
* ea87f50 fix broken links in test/md
* be89733 publish-github-pages.yml update
* 48f427d website update
* b016885 website/doxygen update
* 25fddfa reflection-inlines.h update doxy metadata

## 2025-06-19

* afa713d publish-github-pages without doxygen
* a65e1f8 website package.json cleanup
* d0fbaf3 website re-generate as html

## 2025-06-16

* 4593547 website docs api update
* 99e639a website doxygen xml update
* b8132ed website doxygen update

## 2025-06-11

* c2f2863 website update

## 2025-06-06

* c9ae57b website docusaurus.config.ts comment out faster
* 3e913cb website docusaurus.config.ts enable faster
* e8e05e4 website package*.json add faster
* b518e57 website docusaurus.config.ts revert to using preset
* c43d1a9 website package*.json 3.8.1
* 2a5c0f3 website regenerate
* e66973e move @mainpage to doxygen folder

## 2025-06-05

* 4154858 update package*.json
* 3c7a543 website package*.json update
* 16888c7 website add doxygen/xml
* e37c3fb website update config and docs/api

## 2025-05-26

* 1ede877 website re-generate commons 1.14.0
* a6be438 package*.json update
* 35df5ab re-generate commons doxygen 1.14.0

## 2025-05-24

* d29b5dc website doxygen cosmetics
* 8f90d06 website re-generate docs api
* efe9e95 website re-generate commons
* a1f8d68 website re-generate docs api
* 1b170fd package*.json bump deps
* c8c0efd add Docs wrapper

## 2025-05-23

* bebad3d website re-generate commons runOnStart
* 9861c51 re-generate top commons (no generate-doxygen)
* 3bfb114 fix topics.h H1

## 2025-05-22

* f0fa84f website re-generate docs api
* 22af156 type-traits.h fix warning
* 6ca4410 website re-generate docs api
* 054114e code fix doxygen errors
* ee4beec website re-generate docs
* dd2d262 code update doxygen for files & folders
* 8f4a2ad cosmetics
* 2db30dc move *-inlines.h to separate folder
* 08065b2 code split inlines into separate files

## 2025-05-21

* 6ace7d6 move throws & nothrow to inlines
* 00a29fb move function comparators to inlines
* 8b05ae6 test-suite-inlines.h fixes
* 38399a7 move expect & assume to inlines.h
* cf74ace move include inlines to test-reporter.h
* 62f00e7 move test_suite::test_suite to separate inline
* af7231f doxygen cosmetics
* a0aba61 website re-generate commons
* 8278aec re-generate commons
* 746e991 website cosmetics licenses/mit

## 2025-05-20

* 2209a6d website package-lock.json update
* 13daa54 website re-generate commons, bump deps
* 9b80736 website re-generate doxygen docs
* 44ee8dc doxygen updates

## 2025-05-18

* b4716ec re-generate top commons
* e897e3c tests re-generate commons
* 2a2d633 detail.h: fix doxygen
* 52c5636 website package.json bump deps
* 925e2c7 publish-github-pages.yml update
* 867fb72 website package.json bump deps
* dbed476 website package-lock.json update
* 7425379 website package.json use github deps
* 64825e3 website package.json bump deps
* 387961f publish-github-pages.yml update GITHUB_PATH
* 0fc37eb publish-github-pages.yml update build
* 590a68b website update
* 664e2a6 doxygen topics add ##Description
* 526405d literals.h replace @deprecated with @par
* 06b1ac9 website reorder @details
* fd2f81c sources move @details at the end

## 2025-05-17

* 987479c website updates
* 329fcc9 explicit void and cosmetics
* e1d4b86 website namespaces with full name
* 500f2e0 website docs api update with full doxygen metadata
* 64d1b71 website doxygen configuration split into separate files
* 44b464a source code full doxygen

## 2025-05-16

* 4199543 use @code/@endcode
* 42e258b website update with fully documented detail.h
* 2822be3 detail.h fully documented
* c75d146 website update doxygen
* 499b31f doxygen rephrase in british english
* 1639668 website faq update
* b70fef2 website update for moved headers; add documentation for folders
* 88a3163 move headers to include/micro-os-plus/micro-test-plus
* 6f6144a website rename doxygen topics files as .h

## 2025-05-15

* d2b8232 website @file @namespace updates
* 8706045 doxygen @file @namespace updates
* 142c64e website update
* 68c26b1 website rephrase all project files
* 20d2371 website api update topics
* 16fdd97 website update docusaurus config, sidebar and menu
* 8503518 website update topics and user's guide

## 2025-05-14

* ef6cb40 website re-generate commons
* ea4ed37 doxygen REPEAT_BRIEF = NO
* 3d93c1d website re-generate commons
* e884791 website move docusaurus jsons to top

## 2025-05-12

* 835d5e5 website fix index template parameters
* c6f4b98 website sort members
* 03ba6ee website update () for functions & Constructors sections
* f5050c0 website rename top topics
* 3ffd64a website update indices

## 2025-05-11

* bf33de1 website: add docusaurus-config-api-menu-dropdown.json
* 02f9451 website move folders index to files
* c903886 doxygen fix @par empty line

## 2025-05-10

* 80283a5 website update for default constructors & destructor
* c4c31b3 website: add redirectsOutputFolderPath to plugin
* 4350132 website update for @par Example
* b394f2b add an empty line after @par Example
* 99967a3 website update pages h1
* b7470b3 website namespaces add fqn

## 2025-05-09

* f42a5bf website update EnumerationListItem & Reference

## 2025-05-08

* a692dc5 website update enumeration
* 654a4ae website update docs/api

## 2025-04-30

* e54b9b8 add website api pages
* f302a91 update doxygen metadata

## 2025-04-25

* 75cfaa6 website re-generate commons

## 2025-03-16

* e9f4d19 website: re-generate commons
* b80ae62 website: blog post update

## 2025-03-15

* ed2ee93 website: blog post release 3.2.2 published
* 32950dc 3.2.2
* 10cf3b9 CHANGELOG: publish npm v3.2.2
* 234724a prepare v3.2.2
* 771e589 re-generate commons

## 2025-03-14

* 1475002 re-generate top commons
* 464a485 re-generate top commons
* 632bcc8 publish-github-pages update
* d89c851 website: blog post release 3.2.1 published
* c70d3e0 3.2.1
* 60103cd prepare v3.2.1
* 8daa820 website: update post
* 703dcf9 website: re-generate commons & blog posts
* 564f37f tests: re-generate commons

## 2025-03-12

* a7dc192 re-generate commons with long description
* ae24148 website: re-generate commons
* 0c97d4e website: re-generate commons
* 7c01414 website: re-generate commons
* 31d25ac website: re-generate commons

## 2025-03-11

* e0db831 website: re-generate commons
* e31417b website: re-generate commons
* 0350fa2 website: re-generate with longer descriptiveName

## 2025-03-10

* f514bf6 website: re-generate commons
* 3ba95c6 website: re-generate commons major

## 2025-03-05

* 30197db website: green

## 2025-03-04

* 57afe72 website: fix pathname:// links
* 24e28c1 website: getting-started rework
* 73abd63 config.doxyfile: disable XML for now
* af1383f docusaurus*: use pathname:///
* d963f3d docusaurus*: accept broken links
* ba6a4e9 *redirect.ts remove '/reference'
* d71fa22 re-generate commons
* 2cc8dd6 website docusaurus test

## 2025-03-03

* 17fc2c5 doxygen/.gitignore

## 2025-03-02

* e233776 website: move doxygen files to separate folder
* 32ff366 tests/package-lock.json update

## 2025-02-28

* 435d61f copyright notices cosmetics
* c228aef tests: re-generate commons
* d178ebe re-generate workflows
* 5f78801 test-all: fix clear cache syntax

## 2025-02-27

* 9a6ecf5 test-all: fix clear cache syntax
* 5a78a81 test-all: fix clear cache syntax
* df341b9 test-all: fix clear cache syntax
* 4c56913 test-all: clean xPack cache
* 76606cb re-generate workflows
* 6472bc0 tests/native/meson -rtlib=compiler-rt
* e5bed09 tests/native/cmake remove duplicate -stdlib=libc++
* 5425929 tests/package.json: add native-meson-clang to test-ci
* 9babed3 tests/native meson -stdlib=libc++
* 1fe540d reflection.h: unsigned int line

## 2025-02-26

* 4d46b66 package.json fix action test
* c76db36 package.json add git-pull-helper
* cac8c46 tests/package.json: bump helper
* 8274320 tests/package-lock.json update
* db0f79a re-generate commons
* 052057d workflows: update

## 2025-02-25

* 808db36 workflows cosmetics
* 6531845 meson/common-options: fix link_args
* 241c368 workflows: npm -C
* b867523 workflows: &&
* 2636562 workflows: remove windows 2019
* 8aca778 tests/package-local.json
* 9650766 re-generate commons
* 34695b1 xcdl.json update

## 2025-02-24

* cca99a3 package.json: update topConfig
* 6b926ad package.json update
* 66412e3 package.json: add topConfig
* eab469f re-generate workflows
* 5fc7f95 test-ci.yml: fix install-ci
* de675ce test-ci.yml: fix install-ci
* cf02869 rename test-ci.yml
* 8a8431d ci.yml update
* 94d8603 tests/package*.json: bump deps
* 05e42b2 platforms/native: update RPATH
* 00c2a30 publish-github-pages.yml: update from npm helper
* 5a1770c website: update for node_modules
* 328857c re-generate commons
* a8a661e package*.json: use npm & extract xcdl.json
* d3c7750 silence documentation warnings

## 2024-11-21

* c3847f1 rename xpack-development
* e7b1d9b rename MICRO_OS_PLUS_TRACE_MICRO_TEST_PLUS
* 459143c package.json: add cdlComponents
* ffaf7b1 tests/package.json CMAKE_MAKE_PROGRAM only on windows
* 5cf103a update copyright notice

## 2024-02-14

* a1b201a tests/package.json: add short win path to meson
* 3269a0e tests/package.json: explicit CMAKE_MAKE_PROGRAM

## 2023-12-26

* 7c113ee README update
* b534088 credits.md: remove macstadium.com opensource
* 11ffc8b website/pages/home.md: cleanup dummy links
* acefd31 publish-github-pages.yml: bump doxygen 1.10.0
* b24ad6b cmake cosmetics

## 2023-12-06

* 7a2ee88 3.2.0
* 2a6abf2 prepare v3.2.0
* 90963ce micro-test-plus.h cosmetics
* c57c46e literals.h: silence clang deprecation warning
* f776b18 doxygen metadata: add @headerfile
* 94ff7d7 website: use to_*
* 9d4f8bb tests/sample-test.cpp: use to_*
* 24606d7 literals.h: add to_*, deprecate _*

## 2023-12-05

* 76ddc99 user-guide.md: use mt::
* 86adedf doxygen metadata: use mt:: in examples
* 71db099 tests: use explicit mt::
* c508d4f testing.md: remove reference to test-all.yml
* 11a1f31 testing.md: update
* 1ee57a8 testing.md: fix typo
* 749e2d6 testing.md: add clang 17
* 221a630 rename xpack-development
* 06419e5 tests/package.json: enable gcc11
* 03cb2ed tests/package.json: bump deps

## 2023-12-04

* ebe7e55 package-lock.json updates
* 17e8859 tests/package.json: add clang 17
* 75e585a micro-test-plus.cpp: silence warning for clang 17

## 2023-11-30

* b4ff766 website/package.json: #v2.3.1
* 19a43d6 testing.md update
* 822e464 rework tests with platforms sub-folder
* 2aef49a website/package.json: explicit #v2.3.0
* 313fd41 website/package.json: explicit #2.3.0
* 80d0fe8 testing.md: updates

## 2023-11-29

* 2227c94 3.1.2
* 552865e prepare v3.1.2
* 993d0f7 testing.md: updates

## 2023-11-28

* 21393a5 ci.yml cosmetics
* f1488f8 package.json: bump deps
* ffd542a cosmetics
* 8d6ca4f meson cross.ini fix cpu
* 57bd3f0 explicit --cpu for risc-v qemu
* b3dc45b meson: remove redundancy
* d9ea278 Revert "home.md temporarily disable anchors hack"
* 8483aff home.md temporarily disable anchors hack
* 78b2426 config.doxyfile: enable sitemap.xml
* eb53997 maintainer.md updates
* a4d0807 README update
* 43fadfa package.json: use latest commit theme
* c5d87d6 home.md: remove ci & web badges
* 93bb6e6 native/cmake: add listing
* 45557b3 meson.build >=1.3
* e16d922 meson_options.txt update
* 261d337 move platform-native/include/.../platform.h
* feedf64 move enable_testing() to top

## 2023-11-27

* f0713ca home.md: re-enable explicit links
* ab49151 home.md: temporarily disable explicit links
* f45769a home.md: update dummy links
* 6f14fe4 testing.md update
* 4679b05 testing.md update
* 9cb0e18 testing.md update
* d1a4af5 testing.md update
* 12ee949 testing.md update
* 7e2d82f testing.md update
* a354eec testing.md update
* faa17f6 testing.md update
* 616bb45 testing.md update

## 2023-11-26

* 206e8a1 website/README update
* c8e45ef website/package.json update actions
* e2c9b2d maintainer.md: fix twitter
* d53b93c maintainer.md: fix twitter
* 94dd8a6 maintainer.md: shorten twitter url
* cc8d0cb testing.md: fix links
* 5b55edc home.md: fix url
* c2c7bac home.md: add dummy links to static pages
* d52ff26 markdown use @page
* 6eaa27b user-guide.md update ISTQB
* 2f357ce package.json: update homepage
* 32ad598 package.json: update
* 6e41039 package.json: add check urls
* fd31269 maintainer.md: update twitter url
* 7954a43 install.md: update
* a49c1c6 install.md: show tree
* ab75189 .npmignore website
* c230d2d maintainer.md update
* db8a023 tests/package.json update
* 0156bf3 README update
* f03584e package.json: bump meson-build

## 2023-11-25

* 509ff38 home.md: add Manual Pages
* eed0475 tests/package.json: add install/tes-latest
* d2a23dd tests/README update
* a755996 maintainer.md: update
* 17866f0 tests/package.json: add more selected
* 593b361 tests/package.json: fix syntax
* bbe15ab tests/package.json: fix syntax
* 1456260 tests/package.json: re-enable some tests
* c8f7c5a tests/package.json: reorder actions
* 68626be tests/package.json: fix install-selected
* 079df5c tests/package.json: cleanup actions

## 2023-11-24

* 3aba98d website/maintainer.md update
* 42f60eb pacakge.json: disable some meson
* fed45b3 package.json: add test selected
* 265495e topics.doxyfile: examples to command line options
* 4c5311e topics.doxyfile: rename group micro-test-plus
* 7a71772 add minimal-test.cpp for native builds

## 2023-11-23

* 7d12935 user-guide.md: update
* 5699ed8 user-guide.md: update
* 31de282 user-guide.md: update

## 2023-11-22

* e3f4a8c user-guide.md update Rationale
* 79a3a04 home.md: fix link
* d4dbd85 rename some groups
* fb83f9b user-guide.md update title
* e20730a user-guide.md: add c++ api
* 3d05656 rename some groups
* 599121b install.md cleanups
* f05590a rename user-guide.md
* 8b3ce4c rename doxy groups micro-test-plus-*
* 03225e6 topics.doxyfile update mtp-top
* 2b83889 home.md update
* cb4b8b8 rename 'integrate'

## 2023-11-21

* d87b685 home.md update
* e15fa64 rename Integration Guide
* 6e2c567 home.md update
* 0419764 package-lock.json
* c83e2c2 rename pages
* 3b44a8c doxygen metadata
* b7f2791 re-format

## 2023-11-19

* 4315e9c website README
* e457fd2 config.doxyfile: include src && include
* 123bb53 type-traits.h: avoid potential recursive error
* 0fe11ff developer.md: update
* 557bbdd home.md update
* c676d6f change-log.md update
* 198fadd home.md update
* 496c308 developer.md: update
* 9fe24b4 workflow update
* c955d3d home.md: update
* 3ff6614 home.md: update
* d871a67 home.md: update
* 6151bf8 add DoxygenLayout.xml for the GitHub link
* 38f101a package.json: add link-deps

## 2023-11-18

* 3d67a79 developer.md update
* a0bdd9a home.md update
* 6df7e90 maintainer.md update
* b096248 workflow update
* 5f700a5 home.md update links
* 9186c97 workflow update
* 5e5cf7a workflow update
* 3e784b0 workflow update
* 844cee5 workflow update
* 01ce2a2 workflows update
* 36d36d4 add website
* 440701a README update
* 311c7ec package.json: remove some redundancy

## 2023-11-17

* 933ea5c ci.yml: bump xpm to 0.18.0
* 04ad5c4 package.json: update npm actions
* 6c0f0e5 tests/package.json: use xpm run --all-configs

## 2023-11-16

* ed8b3fd ci.yml: fix actions
* 1fc00fc ci.yml: update; add meson
* 63489b6 .vscode/settings.json: ignoreWords
* e4bfe8e package.json: gccXX for cortex & riscv
* 6003397 platform-*/meson.build: --no-warn-rwx-segment >=12

## 2023-11-15

* 801a305 platform-options.cmake: --no-warn-rwx-segment >=12

## 2023-10-29

* f0f6af7 package.json: disable clang 13/14 on linux
* 8bc2250 disable meson on macos (due to ldd --version)
* 8d6ea94 enable -no-pie for macos gcc

## 2023-10-26

* c124b2d native/cmake cosmetics
* bfd6ef6 native/meson: informative MICRO_OS_PLUS_DEVICE_NATIVE
* c076a8f cmake: enable _POSIX_C_SOURCE
* 1d1054b meson: add asserts
* 111a1c0 native/cmake: rename _local_*
* 704cf89 verbose messages cosmetics

## 2023-10-23

* f175fe8 cosmetics
* cc55c0a add platforms m3 m4f
* 8949702 tests/package.json: bump deps
* bd28efb cmake: validate xpack_platform_compile_definition
* 4de3322 meson rework
* 95ec308 move cmake _compile_definitions to dependencies

## 2023-10-20

* ce36d69 cmake renames & common-main.cmake
* d9553a2 cmake cleanups
* 54accd7 cmake add explanations
* b59fbac rename micro-os-plus::common-options

## 2023-10-19

* 0638af7 tests/package.json: remove clang12
* be8ea3f README update
* 5f53e2c native/cmake: no need for statics
* 71368ca native/cmake: add libc++ to link
* ecb5705 native/cmake: compute -rpath
* 3a4535b tests/package.json: bump deps
* e0f050c ci.yml: test m0, m7f, rv32imac
* b32f4bd tests/package.json: bump deps
* 21f948b .vscode/settings.json: ignoreWords
* 71bc722 cleanups
* 94d507f rework meson

## 2023-10-18

* 785704e rework/simplify cmake
* fc475bb add more cortex & riscv platforms
* 4bf3531 package.json multiple toolchains
* a804a2e .vscode/settings.json: ignoreWords
* cedaed9 meson: add xpack_tests_folder_path
* 0227c10 cosmetics
* fdca222 -Wl,--no-warn-rwx-segments

## 2023-10-17

* 9ddcdd6 fix typos
* c1e7f17 silence warnings
* b8e417f literals.h: include cstdint

## 2023-10-13

* b9e132b package.json: bump deps
* 60d5ab3 meson.build: add check: false

## 2023-10-12

* a38e3d2 README update
* 852bfac package-lock.json update
* de6024c tests: fix paths
* 07a8b87 split tests/package.json
* 7c6a7eb ci.yml: non-sudo npm install
* 750e4ff ci.yml: try non-sudo
* 26f4594 ci.yml: bump deps
* 37a16d6 README update
* 707fbc5 package.json: update description
* 39d328e package.json: update scripts
* 90b83f3 package.json: add del-cli to devDeps

## 2023-07-14

* cc2f4b7 ci.yml: xpm 0.16.2
* 0c93537 README updates
* 725da90 tests/CMakeLists.txt cosmetics
* 03de509 package.json: cosmetise urls
* 36b27c9 package.json: minXpm 0.16.2

## 2023-06-04

* 0ac4fd5 ci.yml: bump node 18
* 650e786 ci.yml: bump matrix.os
* 8f058ed package.json: build-helper-xpack#xpack-develop
* 28f809c update for xpacks/@scope/name
* 6d27fb8 ci.yml: bump xpm 0.16.1
* 30e6aa3 remove --quiet

## 2023-06-03

* 4d446bb lower case ci.yml
* 0be4b56 package.json min 0.16.0
* 064eb46 lower case ci.yml

## 2023-05-08

* 8719abe .npmignore update
* 843c811 READMEs updates
* c1fb3e9 README updates
* 46bb468 meson.build cosmetics

## 2023-02-18

* 5eb637f README update
* 6894005 README update
* f5db7d7 README update

## 2022-08-16

* cc2699b package.json min 0.14.0 & defaults
* 9439094 CI.yml: explicit xpm version

## 2022-08-04

* a0739bb tests/cross.ini: add link to cpu-families

## 2022-08-03

* b1b8b28 README updates
* 965008d .vscode/settings.json: cmake.ignoreCMakeListsMissing
* ffb029c .vscode/settings.json: makefile.configureOnOpen

## 2022-08-02

* fa3cd23 READMEs updates

## 2022-07-30

* ceb6702 test-runner.cpp: conditional verbosity
* 80a0d20 3.1.1
* 8f35eb1 prepare v3.1.1
* 41d0acf update mps2 config
* 7c4cf61 #7: package.json: use inheritance
* 736a885 bump deps
* 6221d1f #6: remove STM32F4DISCOVERY test
* b080101 test-runner.cpp: conditional verbosity

## 2022-07-28

* ec67074 CI.yml do not trigger on tags

## 2022-07-25

* af5ae81 package.json minimumXpmRequired

## 2022-07-12

* 2b15c56 CMake: xpack_display_greetings() with arg
* 4459cc9 package.json: bump deps

## 2022-06-04

* v3.1.0
* b8994fb revert sections.ld

## 2022-06-03

* 1e30b5f tests: update for sections-flash.ld
* 0e434ea test-runner.cpp: show FP only for non-native

## 2022-04-19

* 3.0.2
* cd697a4 README reworks

## 2022-04-10

* d53ee24 package.json: bump build-helper 2.7.1

## 2022-04-07

* b43ce71 test-all.yml: remove Raspberry Pi OS test

## 2022-04-05

* 3.0.1
* d8f24e6 #5 add parametrised test suites

## 2022-04-03

* c3053d5 3.0.0

## 2022-04-01

* a944962 test-reporter.cpp: use check marks for suites
* de8065f add support for unused main test suite

## 2022-03-31

* ab6a3d5 try parametrized test suites; not ready
* 3eb96f7 sample-test: explicit namespaces

## 2022-03-28

* 0b8ab47 launch.json: --verbose unit-test
* aa405f5 test-reporter minor rework
* c5a6e54 implement assume() with the same deferred_reporter
* 4906cd5 test-reporter: add output() method
* db00b7f add reported_ and run()

## 2022-03-27

* 11bcfd1 bump build-helper 2.6.3
* 5afa470 CI: bump clang13
* 3020ffe optimise deferred reporters

## 2022-03-26

* d8b9071 revert to build-helper 2.6.1
* 602d5d8 implement expect() << "message"
* 14ce153 package.json: meson platform toolchain files
* 367b706 unit-test.cpp: fix __xx warning
* 3ec0a21 add clang13
* 356f2f9 package.json: bump cmake & meson

## 2022-03-23

* 255d4e5 README updates
* c837032 package.json: bump build-helper 2.6.2
* 49a3129 package.json: bump gcc 11.2.0-3.3
* 568d799 revert to interface library

## 2022-03-21

* c3729b8 process_deferred_begin
* 601c428 unit-tests fix messages
* 7340d7b printf string_view content
* 0a5bb6b test-reporter cosmetics (.)
* 4871095 colors as const char*
* f9c25c8 meson: update for static library

## 2022-03-20

* 79d72b2 README add Getting Started
* 8bb653f constexpr evaluate_and_report_
* c993275 reorder initialize()
* ebfb155 remove redundant pass()/fail()
* 03cc86d test-runner: argv[] cosmetics
* 3904bcb #pragma cleanups
* 7fe3bfd group several small *-inlines.h together
* 11fe6e8 add utility namespace
* 065824a unit-test: add static checks
* 48faa97 unit-test: add reflection::type_name() test
* 85aec05 unit-test: silence warning
* 7342f2c math.h: silence warning
* 4aeaa0d reflection: fix type_name()
* 7d6bd77 reflection.h: fix clang non apple
* 02eda65 reflection.h: warning/error in type_name()
* c5ab1d2 launch: add (gdb) native-cmake-clang12-debug

## 2022-03-17

* 01e6a21 unit-test.cpp: rename tests
* 327441d implement different verbosity
* 904e3ff remove trace in eq_

## 2022-03-16

* 116571d bump build-helper 2.6.1

## 2022-03-15

* d15b203 change to static library
* ad94a46 remove dependency from diag-trace, use printf()
* 9d387c8 reporter: disable unused generic <<
* eebde5f reporter: rework constant suffixes
* b43d2b0 reporter.fail print value only if is_op_v
* dca5409 literals.h: add comments
* d9021c4 sample-test update for new README examples
* df5d8b5 update README and docs
* cd3f97d split detail-inlines.h

## 2022-03-14

* f64083c revert from operators to functions
* 3ec0454 unit-test: add logical & operators
* d0d689a unit-test silence -Wdouble-promotion
* a635d1a docs & cosmetics
* f346a7a rename Callable_T
* ed9d0f2 .vscode/launch: add unit-test
* dc6ccca remove unused pointer _and(), _or(), _not()
* 67e2c43 fix meson -Wno-used-but-marked-unused
* 120c675 -Wno-used-but-marked-unused for clang on windows
* a6fee32 CI install --quiet
* 7e67230 add -Wno-missing-include-dirs to build
* b059c71 silence -Wmissing-include-dirs for GCC too
* 263b87e silence clang -Wmissing-include-dirs
* 1e8fc05 cosmetics
* 285a86a rework #includes
* 52fc562 split test-reporter & detail
* 17b0e3e split test-runner.h
* 62c7539 split inlines
* 2256fbf rename type-traits.h
* adc648e enable -Werror for native
* 037c767 split test-suite.cpp
* a80ea1a test-suite invokes reporter
* ce4c241 split test-suite.h
* a4a262a cleanup print_expr declaration
* 4b1984c split test-reporter.cpp
* e74786e split test-runner.cpp
* e4c7ed4 literals add docu
* 2f5efdd move casts to literals.h
* b1a0b55 move struct value to type_traits
* a9ec726 split literals.h
* bd64244 more type_traits moves
* 5a98f64 remove unused struct type_
* 8176edc move op & _constants to type_traits.h
* 658bf72 silence warnings
* 8407e38 fix type_traits guard

## 2022-03-13

* 1d5e4a9 docs
* 00e26c1 separate test_reporter implementation & inlines
* 7700eee rename Other_T
* 1c760ba split type_traits.h
* 2d7d4e8 split math.h
* c6b33c0 include source_location in reflection.h
* 149bbf5 rename Xxx_T
* ccd6482 split reflection.h
* 33390a4 remove deprecated expect_equal()
* cf4831a remove unused operators
* 33e84e9 add operators
* 63714b9 unit-test cleanup
* 51bb43c use evaluate_and_report_()
* 35a1ad1 unit-test: expect() without message
* 4cbe008 add explicit _not _and _or
* b36dfa6 move to detail::assertion
* 6dac36c README: mention string comparisons
* 8d04508 unit-test: cleanups & comments
* 5b2153d unit-test: check default messages
* eef5709 sample test pass() message
* cfd924d sample-test: include string_view
* 3968eef add @brief and comments
* 48ea51e reorder and cleanup operator <<
* 52e2fbc simplify trace eq_ messages
* 1d63119 provide a default for the message
* db9ae66 add type suffixes when displaying scalar values
* 406d48e add genuine_integral_value{}
* 8fb68ae cosmetics
* 18163a0 unit_test major rewrite
* e9e3fa2 sample-test: use string_view
* ddcd2a2 cmake cleanup
* 86996ed cmake xpack_create_hex
* ff53277 cmake add SIZE
* a34a283 cmake add report SIZE

## 2022-03-12

* f657ba0 add literals & more types
* f1676c1 more flush
* 357aefb rework operator<<
* 9250199 add more trace::printf
* fd7cf12 silence warnings
* ee30f22 more flush()
* d8e8900 add assume() with abort
* 646d374 add runner.name()

## 2022-03-03

* 3f84859 consistent copyright notices
* 278aff5 Add reference to boost license in copyright notice
* 28b5887 README: update for v3.x
* 2419718 add boost license
* 4e02d9d meson cosmetics
* 6ed18d2 package.json: native only on darwin
* d416cb3 quiet installs
* f93be58 package.json: remove gcc8
* 8d468c5 rework cmake & meson
* 687072c silence warnings
* b2bf818 sample-test: fix check args
* 2cf994c sample-test: silence warnings
* 6aed55a unit-test: temporarily disabled

## 2022-03-02

* 7117f36 launch.json: update
* b9bdb0f sample-test: rework with new comparators
* 8f0bc1f rework based on boost ut
* 58c0ba8 native/config.h comment _STDERR

## 2022-03-01

* db86cd1 add test_suite

## 2022-02-28

* 1120ed7 migrate to non-class functions

## 2022-02-27

* b3c12ab C++20
* c694f49 MICRO_OS_PLUS_TRACE
* f43a1ab platform-native/config.h: TRACE buffer 500

## 2022-02-19

* v2.3.0
* 94b340c use nested namespaces
* f921bf0 sample-test: cleanup globals
* 66df97e add support for test-all
* f6c19d2 cmake globals add -fdiagnostics-color=always
* 28efe4b add parametrised tests and combinatorics
* 560b678 add run_test_case variadic template
* 436a1ae deprecate run_test_case(func, name)
* 0a6a46b add start_test_case()

## 2022-02-18

* 5d0e9be package.json bump helper
* 69d6dec rework expect_equal with templates

## 2022-02-16

* 9d97cb1 meson: remove utf-8 chars

## 2022-02-10

* 776845a .c* include <micro-os-plus/config.h>
* 8f3e441 meson.build cosmetics

## 2022-02-09

* 4fcb75d MICRO_OS_PLUS_INCLUDE_CONFIG_H
* 81186d0 rename MICRO_OS_PLUS_DEBUG

## 2022-02-08

* 9c23c7d package.json: disable stm32f4 on Apple Silicon
* 3969095 package.json: bump clang
* 623e72d rename MICRO_OS_PLUS_TRACE

## 2022-02-06

* f1a8f80 MICRO_OS_PLUS_HAS_CONFIG_H
* 4d46a63 disable -flto on armv7l

## 2022-02-05

* v2.2.1
* 473d3f3 package.json: use npmjs.com deps
* b88b767 CI.yml try to enable qemu-cmake on Windows
* 518645c package.json: enable cortexm builds on windows
* e342558 meson create symbolic link at build time
* 00ff79d cmake revert to .. instead of top symlink
* 68053a5 package.json: bump build-helper
* 65918f6 cmake notice that -flto fails on embedded
* 868c55d meson native with_linux_clang_lto
* a223600 meson: notice that -flto fails on embedded
* bb3628a meson always include warnings
* 1d1e612 meson revert to warning_level = 0
* cc41eac meson native without -flto
* d562a5e cmake native add --gc-sections
* 4bee003 cmake globals -flto for release
* c2c7972 package.json: bump devices-stm32f4-extras
* 6139edb meson: disable -flto for clang on linux

## 2022-02-04

* v2.2.0
* 18219ef package.json: bump deps
* d30ea7d updates for device-*cortexm
* 33e2244 cmake: add xpack_display_target_lists
* 4f7324b package.json: add stm32f4discovery meson

## 2022-02-03

* d64bd80 cmake update qemu-mps2
* 18955fa cmake update stm32f4discovery
* e4541e9 cmake update for interface

## 2022-02-02

* e703fa9 .vscode/launch.json: add qemu launchers
* 3055967 cmake: rework test commands

## 2022-02-01

* 90e894f add meson qemu
* 6f55a37 package.json: rename dependencies to device-*
* fde47e6 package.json: move toolchain files to folder
* 041c252 cmake: rename platform-qemu-mps2-an386
* 1230c9b cmake: update for devices-qemu-cortexm
* 10304ab rename platform-qemu-mps2-an386

## 2022-01-28

* 829ffbd separate top CMake config for tests
* 920a928 add top symbolic link
* 9a5987e sample-test.cpp: static variables
* 82c83d8 sample-test.cpp: test args

## 2022-01-26

* 15d6fe9 package.json: skip qemu tests on windows
* v2.1.0
* rework CMake

## 2022-01-03

* v2.0.5

## 2022-01-02

* CI.yml: remove native-cmake
* package.json: add meson gcc/clang
* PLATFORM_STM32F4DISCOVERY_WITHOUT_HAL

## 2022-01-01

* meson.build: add /utf-8 to msvc options
* [#4] add support for MSVC
* package.json: use posix paths on windows

## 2021-12-29

* stm32f4discovery test functional
* add native meson tests
* package.json: add clang12 test
* add explicit CMakeLists.txt

## 2021-12-26

* package.json: move devDeps to configs
* CI.yml: test-native
* package.json: migrate native to xpack actions

## 2021-03-13

* v2.0.4
* remove -pedantic-errors, use -Werror only on bare-metal

## 2021-03-10

* v2.0.3
* bump devDeps

## 2021-03-09

* v2.0.2
* fix/silence warnings
* remove warning flags from cmake

## 2021-03-02

* v2.0.1
* fix warnings, add -Wall..., -Werrror

## 2021-03-01

* v2.0.0

## 2021-02-28

* rename micro_os_plus

## 2021-02-12

* add support for CMake find_package()

## 2021-02-07

* prepare v2.0.0-pre
* [#1] - rename micro_test_plus::session
* [#2] - sample-test: conditional exceptions
* [#3] - add stm32f4discovery tests

## 2021-02-05

* prepare v1.1.1-pre

## 2021-02-04

* release preliminary v1.1.0
