<feed xmlns='http://www.w3.org/2005/Atom'>
<title>catch3, branch v3.14.0</title>
<subtitle>Progmasoft Catch3: an independently maintained C++17 test framework with a parallel runner, property checks, snapshots and structured results.</subtitle>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/'/>
<entry>
<title>v3.14.0</title>
<updated>2026-04-05T13:05:38+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2026-04-05T13:05:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=b670de4fe12ac7c5e858b7de3a14fb4bd18c760e'/>
<id>b670de4fe12ac7c5e858b7de3a14fb4bd18c760e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Do not include chrono_clock.hpp in benchmark_stats_fwd.hpp</title>
<updated>2026-04-05T12:57:05+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2026-04-04T21:25:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=465e63dad7733f8e014dc043069b1dc64e7c5e75'/>
<id>465e63dad7733f8e014dc043069b1dc64e7c5e75</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[ci] Update GitHub Actions to latest major release</title>
<updated>2026-04-04T20:28:48+00:00</updated>
<author>
<name>Christoph Grüninger</name>
</author>
<published>2026-04-03T08:22:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=34f4f819470dc64c8090859a6bbf9f57760d7b0a'/>
<id>34f4f819470dc64c8090859a6bbf9f57760d7b0a</id>
<content type='text'>
Fix warning that Node.js 20 is disconinued in June
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix warning that Node.js 20 is disconinued in June
</pre>
</div>
</content>
</entry>
<entry>
<title>JUnit reporter output single failed assertion node per test case</title>
<updated>2026-04-04T13:12:56+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2026-04-04T13:12:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=57f738b380d97c60b0ee920fa06b888d4f8c37c3'/>
<id>57f738b380d97c60b0ee920fa06b888d4f8c37c3</id>
<content type='text'>
Ideally JUnit tools would handle multiple failures per test case,
but they don't, so here we are.

Closes #1919
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Ideally JUnit tools would handle multiple failures per test case,
but they don't, so here we are.

Closes #1919
</pre>
</div>
</content>
</entry>
<entry>
<title>Don't write semicolon after failed expression in separate call</title>
<updated>2026-04-03T08:28:32+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2026-04-02T19:19:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=1df10d28aec9967120c1faf10dae87adbd875b8b'/>
<id>1df10d28aec9967120c1faf10dae87adbd875b8b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Inline SKIP/FAIL in RunContext to fix build failure with prefixed macros</title>
<updated>2026-04-03T08:19:05+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2026-04-02T20:58:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=9f1b48a94fdc7a54aa87fc9bd26d6b1b3f560d4c'/>
<id>9f1b48a94fdc7a54aa87fc9bd26d6b1b3f560d4c</id>
<content type='text'>
Closes #3087
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Closes #3087
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix catch_discover_tests PRE_TEST failure with zero discoverable tests</title>
<updated>2026-04-02T08:24:46+00:00</updated>
<author>
<name>Sung, Po Han</name>
</author>
<published>2026-03-02T09:28:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=f4e83daa184595cee80a8d37f145cb5d6b9b21ba'/>
<id>f4e83daa184595cee80a8d37f145cb5d6b9b21ba</id>
<content type='text'>
When using catch_discover_tests() with DISCOVERY_MODE PRE_TEST and a
multi-config generator (e.g. Ninja Multi-Config), if a test target has
zero discoverable tests (e.g. all tests tagged with [.]), ctest fails:

  CMake Error: include could not find requested file:
    .../test-hidden-b12d07c_tests-Release.cmake

The early return added in #2962 (76f70b14) correctly prevented a JSON
parsing crash for zero tests, but skipped writing the ctest file. The
PRE_TEST include script unconditionally includes this file, so the
missing file causes a hard error that aborts all test discovery.

Write an empty file before returning early so the include always
succeeds.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When using catch_discover_tests() with DISCOVERY_MODE PRE_TEST and a
multi-config generator (e.g. Ninja Multi-Config), if a test target has
zero discoverable tests (e.g. all tests tagged with [.]), ctest fails:

  CMake Error: include could not find requested file:
    .../test-hidden-b12d07c_tests-Release.cmake

The early return added in #2962 (76f70b14) correctly prevented a JSON
parsing crash for zero tests, but skipped writing the ctest file. The
PRE_TEST include script unconditionally includes this file, so the
missing file causes a hard error that aborts all test discovery.

Write an empty file before returning early so the include always
succeeds.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix counting of UTF-8 codepoints in TextFlow</title>
<updated>2026-04-01T14:12:08+00:00</updated>
<author>
<name>Jan Niklas Hasse</name>
</author>
<published>2026-03-28T15:02:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=572f96b8febec9dd14ac5284e6a959a7246325c8'/>
<id>572f96b8febec9dd14ac5284e6a959a7246325c8</id>
<content type='text'>
For line-wrapping bytes were counted instead of codepoints. This
resulted in line-breaks being inserted at the wrong position and also
breaking UTF-8 characters.

Fixes #1022.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For line-wrapping bytes were counted instead of codepoints. This
resulted in line-breaks being inserted at the wrong position and also
breaking UTF-8 characters.

Fixes #1022.
</pre>
</div>
</content>
</entry>
<entry>
<title>Ignore Wunreachable-code-return in Generators.tests.cpp</title>
<updated>2026-04-01T09:02:56+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2026-04-01T09:02:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=8492fd444e42f331f48611d2b5ef11c8ce338423'/>
<id>8492fd444e42f331f48611d2b5ef11c8ce338423</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix warning suppression block in Condition.tests straddling includes</title>
<updated>2026-04-01T08:56:21+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2026-04-01T08:56:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=fe2a20ab555ec28af47acaeafdad6d0872f7cb82'/>
<id>fe2a20ab555ec28af47acaeafdad6d0872f7cb82</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
