Skip to content

Conversation

@renovate-bot
Copy link
Contributor

This PR contains the following updates:

Package Type Update Change
catch2 bazel_dep minor 3.7.1 -> 3.11.0

Release Notes

catchorg/Catch2 (catch2)

v3.11.0

Fixes
  • Fixed building on non-desktop GDK platforms (#​3029)
  • Fixed message macros being susceptible to race in specific scenario (#​3031)
  • Catch2's SEH filter will call the previously installed filter after reporting the error (#​3033)
Improvements
  • Handling of scoped messages (e.g. CAPTURE) is a bit faster.
  • Better out-of-the-box support for QNX (#​2953)
  • Improved performance of assertions by up-to 10%
    • Release mode assertion fast-path sees the biggest improvement.
  • Faster processing of non-escaped strings in --invisibles mode.
  • Added support for Bazel's TEST_RANDOM_SEED env var (#​3021)
  • Added support for Bazel's TEST_PREMATURE_EXIT_FILE env var (#​3020)
    • This creates a file that is deleted if the tests exit normally, but stays around if the process dies unexpectedly.
    • This functionality is also exposed through CLI as --premature-exit-guard-file
Miscellaneous

v3.10.0

Fixes
  • pkg-config files will take DESTDIR env var into account when selecting install destination (#​3006, #​3019)
  • Changed filter to store the provided predicate by value (#​3002, #​3005)
    • This is done to avoid dangling-by-default behaviour when filter is used inside GENERATE_COPY/GENERATE_REF.
Improvements
  • Escaping XML and JSON output is faster when the strings do not need escaping.
    • The improvement starts at about 3x throughput, up to 10x for long strings.
  • Message macros (INFO, CAPTURE, WARN, SUCCEED, etc) are now thread safe.

v3.9.1

Fixes
  • Fixed bad error reporting for multiple nested assertions (#​1292)
  • Fixed W4702 (unreachable code) in the polyfill for std::unreachable (#​3007)
  • Fixed decomposition of assertions comparing enum-backed bitfields (#​3001)
  • Fixed StringMaker specialization for time_point<system_clock> with non-default duration type (#​2685)
Improvements
  • Exceptions thrown during stringification of decomposed expression no longer fail the assertion (#​2980)
  • The selection logic for CATCH_TRAP prefers __builtin_debugtrap on all platforms when Catch2 is compiled with Clang

v3.9.0

Improvements
  • Added experimental opt-in support for thread safe assertions
    • Read the documentation for full details
  • The default test run order has been changed to random
  • Passing assertions are significantly faster when the reporter does not ask for assertionEnded events on passing assertions.
    • This is the default behaviour of e.g. Console or Compact reporter
    • Simple REQUIRE(true) is 60% faster in Release and 80% faster in Debug build configuration
    • Simple REQUIRE_NOTHROW is 230% faster in Release and 430% faster in Debug build configuration
    • Simple REQUIRE_THROWS is ~3% faster in Release and 20% faster in Debug build configuration (throwing introduces enough overhead that the optimizations inside Catch2 are mostly irrelevant)
  • Small (2-5%) improvement if the reporter asks for assertionEnded events for passing assertions.
  • The exit code constants are part of the Session API. (#​2955, #​2976)
  • Suppressed unsigned integer overflow checking in locations with intended overflow (#​2965)
  • Reporters flush output after writing metadata, e.g. rng seed (#​2964)
  • Added unreachable after FAIL and SKIP macros (#​2941)
    • This allows the compiler to understand that the execution does not continue past the macro, and avoids warnings.
  • Added fast path for assertionStarting event when no reporter requires it
    • For backwards compatibility, this fast path is opt-in
    • A reporter can opt in by changing its ReporterPreferences::shouldReportAllAssertionStarts
  • Improved last seen source location tracking to be more precise
    • This is used when reporting unexpected exceptions from tests
Fixes
  • Fixed formatting of tags with more than 100 tests in the default --list-tags output (#​2963)
  • Fixed Clang-Tidy's readability-static-accessed-through-instance in tests
  • Fixed most of Clang-Tidy's cppcoreguidelines-avoid-non-const-global-variables (#​2582)
  • The lifetime of scoped messages now strictly obeys their scope (#​1759, #​2019, #​2959)
    • Previously Catch2 would try to keep them around during unexpected exception, to provide helpful context.
    • The amount of surprises the irregularities caused was not worth the occasional utility provided.
  • TEMPLATE_TEST_CASE_SIG can handle signatures consisting of only types (#​2680, #​2995)
  • Moved catch_test_run_info.hpp up from internal/ subfolder into the main one (#​2972)
Miscellaneous
  • pkg-config files are now generated at install time (#​2979)
    • This fixes missing debug suffix in library names
    • This fixes install prefix mismatch between build config and actuall installation

v3.8.1

Fixes
  • Fixed bug where catch_discover_tests fails when no TEST_CASEs are present (#​2962)
  • Fixed Clang 19 -Wc++20-extensions warning (#​2968)

v3.8.0

Improvements
  • Added std::initializer_list overloads for (Unordered)RangeEquals matcher (#​2915, #​2919)
  • Added explicit casts to silence GCC's Wconversion (#​2875)
  • Made the use of builtin_constant_p tricks in assertion macros configurable (#​2925)
    • It is used to prod GCC-like compilers into providing warnings for the asserted expressions, but the compilers miscompile it annoyingly often.
  • Cleaned out Clang-Tidy's performance-enum-size warnings
  • Added support for using from_range generator with iterators with value_type = const T (#​2926)
    • This is not correct value_type typedef, but it is used in the wild and the change does not make the code meaningfully worse.
Fixes
  • Fixed crash when stringifying pre-1970 (epoch) dates on Windows (#​2944)
Miscellaneous
  • Fixes and improvements for catch_discover_tests CMake helper
    • Removed redundant CTEST_FILE param when creating the indirection file for PRE_TEST discovery mode (#​2936)
    • Rewrote the test discovery logic to use output from the JSON reporter
      • This means that catch_discover_tests now requires CMake 3.19 or newer
    • Added ADD_TAGS_AS_LABELS option. If specified, each CTest test will be labeled with corrensponding Catch2's test tag
  • Bumped up the minimum required CMake version to build Catch2 to 3.16
  • Meson build now provides option to avoid installing Catch2
  • Bazel build is moved to Bzlmod.

Configuration

📅 Schedule: 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 was generated by Mend Renovate. View the repository job log.

@github-actions github-actions bot added product: CLion CLion plugin awaiting-review Awaiting review from Bazel team on PRs labels Oct 2, 2025
@renovate-bot renovate-bot force-pushed the renovate/catch2-3.x branch 9 times, most recently from ae97434 to 54ced03 Compare October 9, 2025 01:27
@LeFrosch LeFrosch closed this Oct 21, 2025
@github-project-automation github-project-automation bot moved this from Untriaged to Done in Bazel IntelliJ Plugin Oct 21, 2025
@github-actions github-actions bot removed the awaiting-review Awaiting review from Bazel team on PRs label Oct 21, 2025
@forking-renovate
Copy link

Renovate Ignore Notification

Because you closed this PR without merging, Renovate will ignore this update (3.11.0). You will get a PR once a newer version is released. To ignore this dependency forever, add it to the ignoreDeps array of your Renovate config.

If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR.

@renovate-bot renovate-bot deleted the renovate/catch2-3.x branch October 21, 2025 13:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

product: CLion CLion plugin

Projects

Development

Successfully merging this pull request may close these issues.

3 participants