Changelog

v0.7.0

Released on 2026-04-20 - GitHub

Breaking Changes

  • Rename "ignored" → "skipped" throughout — the CLI flag -ri is now -rs; IgnoredShell is now SkippedShell; public API methods renamed to is_run_skipped, count_skipped, get_skipped_count, set_run_skipped (#86)

Internal

  • Moved private static member functions to anonymous namespaces in their respective TUs (#85)

v0.6.1

Released on 2026-04-19 - GitHub

What's Changed

New Features

  • TapOutputPlugin — new output plugin that writes test results to stdout in TAP version 13 format when the -ptap flag is passed. Enables consumption by build systems and test harnesses that speak TAP natively (Meson protocol: 'tap', prove, Jenkins TAP plugin, GitLab CI). Failing tests include a YAML diagnostics block with message, severity, file, and line; skipped tests emit the # SKIP directive; needs_console_companion() returns false so the TAP stream replaces normal console output. (#78, fixes #70)

v0.6.0

Released on 2026-04-19 - GitHub

What's Changed

Breaking Changes

  • Mock API: StringView parameter typeconst String& parameters across Support, ExpectedCall, ActualCall, NamedValue, SupportPlugin, and NamedValueComparatorsAndCopiersRepository are now StringView. Callers passing String objects or string literals are unaffected at source level, but the ABI is incompatible — recompilation required. (#72)

New Features

  • StringView type — non-owning const char* + size_t wrapper in mu::tiny that eliminates temporary heap allocations when string literals flow through mock API parameters. (#72)
  • pkg-config supportmu.tiny.pc is now installed alongside the library, enabling discovery by Meson, Make, and other non-CMake build systems via pkg-config --cflags --libs mu.tiny. (#74)
  • UBSan CI preset — new ubsan CMake configure/build/test/workflow preset running Clang with -fsanitize=undefined; mirrors the existing asan preset and runs in CI. (#77, fixes #64)

Documentation

  • Changelog page added to the Sphinx docs site, rendered from GitHub Releases via sphinx-github-changelog. (#75, fixes #69)
  • Documentation badge added to README; uv install link added to CONTRIBUTING. (#76, fixes #65, #68)
  • WARN_IF_UNDOCUMENTED = YES in Doxygen config — missing doc comments on public symbols are now a hard build error. (#73, fixes #66)

Housekeeping

  • ABI check CI now diffs against the latest release tag instead of base_ref, giving the check meaningful semantics. (#61)
  • Stale thetic/mutinythetic/mu.tiny references updated in docs, examples, and Sphinx config. (#62)
  • Stale mutiny/ path references and old-binary discovery fallbacks removed from cmake/_mutiny_discovery.cmake and docs. (#63)

v0.5.0

Released on 2026-04-18 - GitHub

Breaking Changes

  • Include paths renamed: #include <mutiny/...>#include <mu/tiny/...>
  • CMake package renamed: find_package(mutiny)find_package(mu.tiny)
  • CMake module renamed: Mutinymu.tiny
  • CMake export target renamed: mutiny::mutinymu::tiny

JUnit Output

  • All test groups now wrapped in a single <testsuites> aggregate XML file,
    eliminating per-group ctest collisions
  • File paths in failure message="" attributes are now XML-encoded
  • Empty <testsuites> elements are suppressed

v0.4.0

Released on 2026-04-16 - GitHub

Breaking Changes

  • TEST_EXIT renamed to PASS_TEST() — now requires parentheses, consistent with FAIL_TEST(text) and SKIP_TEST(text)
  • FAIL() removed — use FAIL_TEST("") instead
  • FAIL_TEXT(text) renamed to FAIL_TEST(text) in the C interface — now matches the C++ name
  • IGNORE_TEST renamed to SKIPPED_TEST — reflects the actual JUnit outcome
  • IGNORE_TEST_C_WRAPPER renamed to SKIPPED_TEST_C_WRAPPER
  • EXPECT_FAIL_TEST renamed to XFAIL_TEST — follows xUnit convention, removes FAIL_TEST substring
  • EXPECT_FAIL_TEST_C_WRAPPER renamed to XFAIL_TEST_C_WRAPPER

New Features

  • SKIP_TEST(text) — new macro that marks the current test as skipped with a human-readable message, reported as <skipped message="..."/> in JUnit XML output
  • JUnit XML <testsuite> now includes skipped="" and assertions="" attributes per spec; empty <properties> block removed

v0.2.0

Released on 2026-04-14 - GitHub

What's Changed

  • CI: apply semver rules to ABI compatibility check by @thetic in #44
  • Replace type-specific *_EQUAL macros with typed CHECK_EQUAL by @thetic in #40
  • stop casting literals by @thetic in #45
  • Readme by @thetic in #36
  • Reorganize cmake module tests into subdirectories by @thetic in #47
  • Promote TEST_ORDERED to first-class interface by @thetic in #48
  • Fix FE_INEXACT test on ARM: use float arithmetic to engage hardware FPU by @thetic in #50
  • Record TEST_GROUP source locations for cmake-tools integration by @thetic in #49
  • Templatize ApproxEqualFailure and assert_approx_equal by @thetic in #51
  • Add versioned documentation deployment to GitHub Pages by @thetic in #52

Full Changelog: v0.1.0...v0.2.0

v0.1.0

Released on 2026-04-07 - GitHub

What's Changed

  • Build: shared library support by @thetic in #15
  • CI: configure CPack source archive and release workflow by @thetic in #16
  • Bump sphinx from 8.2.3 to 9.1.0 in /docs by @dependabot[bot] in #6
  • CI: move C naming-convention checks into src/.clang-tidy by @thetic in #22
  • Eliminate reliance on -funwind-tables by @thetic in #18
  • Resolve bugprone-throwing-static-initialization warnings by @thetic in #20
  • Fix CI failures and warnings by @thetic in #27
  • Adopt stdint.h types for portability by @thetic in #25
  • Delete vestigial macros by @thetic in #23
  • Bump astral-sh/setup-uv from 5 to 7 by @dependabot[bot] in #1
  • Bump jidicula/clang-format-action from 4.17.0 to 4.18.0 by @dependabot[bot] in #2
  • Fix duplicate CI runs on branches with open PRs by @thetic in #28
  • CI: use cmake --workflow presets where possible by @thetic in #17
  • Docs: Doxygen annotations, RST cross-references, and linkcode source buttons by @thetic in #21
  • Add badges to README by @thetic in #32
  • Remove redundant issue name prefixes by @thetic in #35
  • cmake: support FetchContent + find_package consumption by @thetic in #34
  • Style project name as italic Mu::tiny in documentation by @thetic in #33
  • Skip check_source_runs when binaries can't run by @thetic in #37
  • Actually run FEDemo tests by @thetic in #38
  • Cfg by @thetic in #39
  • CPack: CI test and git revision embedding for source archives by @thetic in #43

New Contributors

Full Changelog: https://github.com/thetic/mutiny/commits/v0.1.0