<feed xmlns='http://www.w3.org/2005/Atom'>
<title>catch3, branch 0.1.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>Add Progmasoft Catch3 property testing and build support</title>
<updated>2026-09-24T19:07:03+00:00</updated>
<author>
<name>Leitwolf11</name>
</author>
<published>2026-09-24T19:07:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=9ad804cedf4cc4a85ef89fe097f97a3b44654360'/>
<id>9ad804cedf4cc4a85ef89fe097f97a3b44654360</id>
<content type='text'>
Introduce deterministic property execution, built-in generators, shrinking, replayable seeds, and a separate Progmasoft-owned header API while preserving Catch2 compatibility targets and the C++14 engine baseline.

Add Bazel, Meson, Xmake, and Premake integration and tests alongside the existing CMake build. Replace Linux-only workflow coverage with Windows and macOS jobs and document the Catch2/Catch3 distinction.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Introduce deterministic property execution, built-in generators, shrinking, replayable seeds, and a separate Progmasoft-owned header API while preserving Catch2 compatibility targets and the C++14 engine baseline.

Add Bazel, Meson, Xmake, and Premake integration and tests alongside the existing CMake build. Replace Linux-only workflow coverage with Windows and macOS jobs and document the Catch2/Catch3 distinction.
</pre>
</div>
</content>
</entry>
<entry>
<title>Pass the parent toolchain to CMake configuration tests</title>
<updated>2026-09-14T12:08:28+00:00</updated>
<author>
<name>宁岑</name>
</author>
<published>2026-09-08T09:37:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=02f8b5593a15cdec8558256e6f40a0c7fb5862d6'/>
<id>02f8b5593a15cdec8558256e6f40a0c7fb5862d6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix typos in comments</title>
<updated>2026-09-14T11:23:10+00:00</updated>
<author>
<name>anarch</name>
</author>
<published>2026-09-13T04:39:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=889700e9799becb812ebb2c0fcf3b888f975e0ea'/>
<id>889700e9799becb812ebb2c0fcf3b888f975e0ea</id>
<content type='text'>
Three misspellings in comments: "reuired" -&gt; "required",
"ambigous" -&gt; "ambiguous", "neccessarily" -&gt; "necessarily".

Per docs/contributing.md, the amalgamated files under extras/ are left
untouched even though they carry the same typos.

Co-Authored-By: Claude Opus 5 &lt;noreply@anthropic.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Three misspellings in comments: "reuired" -&gt; "required",
"ambigous" -&gt; "ambiguous", "neccessarily" -&gt; "necessarily".

Per docs/contributing.md, the amalgamated files under extras/ are left
untouched even though they carry the same typos.

Co-Authored-By: Claude Opus 5 &lt;noreply@anthropic.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Better handling of ANSI escape codes in TextFlow</title>
<updated>2026-09-13T21:35:34+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2026-09-13T21:35:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=8e2f6f7a876e127a08b1864d028199d6e0961fc6'/>
<id>8e2f6f7a876e127a08b1864d028199d6e0961fc6</id>
<content type='text'>
The new implementation keeps track of found escape codes in a separate
vector, which has two advantages:
1) The handling of inputs without any escape codes is much faster. As
   this will be the case for majority of inputs, this should provide
   nice speedup all around.
2) We no longer mangle unrelated 0xFFs in the user-provided input.

Closes #3199
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The new implementation keeps track of found escape codes in a separate
vector, which has two advantages:
1) The handling of inputs without any escape codes is much faster. As
   this will be the case for majority of inputs, this should provide
   nice speedup all around.
2) We no longer mangle unrelated 0xFFs in the user-provided input.

Closes #3199
</pre>
</div>
</content>
</entry>
<entry>
<title>catch_discover_tests registers tests with --order decl</title>
<updated>2026-09-11T11:13:15+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2026-09-11T11:13:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=6534dbc3ef3a162111830d9b5d8a9092d378336d'/>
<id>6534dbc3ef3a162111830d9b5d8a9092d378336d</id>
<content type='text'>
Catch2 defaults to random test execution order, which has to process
all tests present in the binary, even if they will be filtered down
to just 1 later. For the `SelfTest` binary, the overhead from this is
about 20% in Debug configuration and 5% in Release.

By registering the CTest tests with `--order decl`, we avoid this
overhead.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Catch2 defaults to random test execution order, which has to process
all tests present in the binary, even if they will be filtered down
to just 1 later. For the `SelfTest` binary, the overhead from this is
about 20% in Debug configuration and 5% in Release.

By registering the CTest tests with `--order decl`, we avoid this
overhead.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add some missing CATCH_MOVEs</title>
<updated>2026-09-11T09:27:33+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2026-09-11T07:41:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=b7f1a83ff0c36990a9840bcb3de56a848d24a893'/>
<id>b7f1a83ff0c36990a9840bcb3de56a848d24a893</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Don't check tags for being special twice during test case registration</title>
<updated>2026-09-11T09:27:31+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2026-09-10T21:40:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=58a5f8bd8c3a40359ed96127ac976f7ddf4b8f01'/>
<id>58a5f8bd8c3a40359ed96127ac976f7ddf4b8f01</id>
<content type='text'>
Previously we would check if the tag is special to validate that it isn't
reserved, and then to actually get the test case properties. We also did
the first check in particularly terrible order, leading to a lot of wasted
work.

The new implementation does property extraction while checking validity,
and is structured to avoid as much work as possible by early checks.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously we would check if the tag is special to validate that it isn't
reserved, and then to actually get the test case properties. We also did
the first check in particularly terrible order, leading to a lot of wasted
work.

The new implementation does property extraction while checking validity,
and is structured to avoid as much work as possible by early checks.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add tests for tag validation during test registration</title>
<updated>2026-09-11T09:27:27+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2026-09-10T21:33:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=1767d9fad0bc28e2b80744daa93c3430d0c6d238'/>
<id>1767d9fad0bc28e2b80744daa93c3430d0c6d238</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Inline sort + unique for &lt;= 2 tags</title>
<updated>2026-09-11T09:27:24+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2026-09-09T20:42:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=ee4b6eadb7f82b4a866324a3c29637d743880bcc'/>
<id>ee4b6eadb7f82b4a866324a3c29637d743880bcc</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>TestCaseInfo constructor reserves vector for tags</title>
<updated>2026-09-11T09:21:24+00:00</updated>
<author>
<name>Martin Hořeňovský</name>
</author>
<published>2026-09-09T20:35:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=2f03f0079fc8c7be54265386fbc26ae2f3ff10f0'/>
<id>2f03f0079fc8c7be54265386fbc26ae2f3ff10f0</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
