Skip to content

chore(deps): update dependency catchorg/catch2 to v3.16.1 - #220

Merged
jcelerier merged 1 commit into
mainfrom
renovate/all
Oct 9, 2026
Merged

jcelerier merged 1 commit into
mainfrom
renovate/all

Conversation

@jcelerier

Copy link
Copy Markdown
Member

This PR contains the following updates:

Package Update Change
catchorg/Catch2 patch v3.16.0 → v3.16.1

Release Notes

catchorg/Catch2 (catchorg/Catch2)

v3.16.1

Compare Source

Fixes
  • Fixed optimizations being disabled after including benchmarking headers under MSVC. (#​3212)
    • This was introduced in 3.16.0's fix for the deopt implementation for MSVC never being used.
  • Fixed Console reporter replacing \0xFFs in user-provided strings.
  • Added missing <cassert> include to catch_generators_range.hpp. (#​3205)
Improvements
  • Workaround for GCC's quadratic scaling for release builds with number of test cases.
    • In practice the improvement is only noticeable with unity builds and/or template product tests.
  • Changed how decomposer operators are defined for better compilation times.
    • For Catch2's SelfTest binary, this provides ~2% build time improvement.
  • Changed how decomposer handles stringification for smaller binary sizes.
    • For the SelfTest binary this is about ~8%.
  • Improved compilation costs of multiple assertions in one test cases for release builds.
  • Optimized initial test registration at process start:
    • Fewer allocations for test cases with many tags.
    • Faster processing for test cases with <=2 tags.
    • Faster tag validation.
    • Faster checking for duplicated test cases.
  • Optimized test selection and filtering:
  • Optimized filtering tests by test name.
    • Running SelfTest with abc* as the filter pattern is ~10% faster.
Miscellaneous
  • catch_discover_tests registers individual tests with --order decl for faster startup.
    • For SelfTest, this provides 20% improvement in Debug and 5% in Release builds.
  • CMakeConfig:: family of tests use the main build's toolchain file. (#​3202)
  • Deprecated throwing exceptions from the reporter interface functions.
    • Previously, throwing from e.g. assertionEnded might, or might not, have worked depending on which assertion has ended. As it is not practical for Catch2 to guard against the reporters failing randomly, and marking so with noexcept can provide compilation throughput improvements, I decided to fully forbid it.
    • Reporter constructors are allowed to throw and the test binary will report the error nicely before exiting.
    • Due to C++ limitations, this deprecation cannot be marked inside the code, only in docs.

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate.

@jcelerier
jcelerier merged commit a1f6471 into main Oct 9, 2026
1 of 23 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant