<feed xmlns='http://www.w3.org/2005/Atom'>
<title>catch3, branch devel</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>Merge pull request #38 from Progmasoft/ci/codeql-pin</title>
<updated>2026-11-08T22:18:16+00:00</updated>
<author>
<name>Leitwolf</name>
</author>
<published>2026-11-08T22:18:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=43dabc9adb45b808ae24173ff4633774aa71b2ee'/>
<id>43dabc9adb45b808ae24173ff4633774aa71b2ee</id>
<content type='text'>
Pin the CodeQL action to its v4.38.2 release</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pin the CodeQL action to its v4.38.2 release</pre>
</div>
</content>
</entry>
<entry>
<title>Pin the CodeQL action to its v4.38.2 release</title>
<updated>2026-11-08T21:42:34+00:00</updated>
<author>
<name>Leitwolf11</name>
</author>
<published>2026-11-08T21:42:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=cc1c53218b6357df95f015a81c1d89787bfe054d'/>
<id>cc1c53218b6357df95f015a81c1d89787bfe054d</id>
<content type='text'>
The init and analyze steps were pinned to 7999b86c, a commit no release tag
points at, with a "# v4" comment that names another commit (zizmor
ref-version-mismatch, two code-scanning alerts). Both steps now use
2892aa5e, the commit of v4.38.2, with that exact version as the comment.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The init and analyze steps were pinned to 7999b86c, a commit no release tag
points at, with a "# v4" comment that names another commit (zizmor
ref-version-mismatch, two code-scanning alerts). Both steps now use
2892aa5e, the commit of v4.38.2, with that exact version as the comment.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #37 from Progmasoft/fix/child-environment</title>
<updated>2026-11-06T06:34:16+00:00</updated>
<author>
<name>Leitwolf</name>
</author>
<published>2026-11-06T06:34:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=f7b935972ae17dfab13195a51f3d1f3b89d77c48'/>
<id>f7b935972ae17dfab13195a51f3d1f3b89d77c48</id>
<content type='text'>
Withhold secret-looking variables from the processes the runner starts</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Withhold secret-looking variables from the processes the runner starts</pre>
</div>
</content>
</entry>
<entry>
<title>Compare Windows variable names in UTF-8 and end an empty block twice</title>
<updated>2026-11-05T23:55:57+00:00</updated>
<author>
<name>Leitwolf11</name>
</author>
<published>2026-11-05T23:55:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=ad3633ea59ec491c9694a10307beb7d7189db744'/>
<id>ad3633ea59ec491c9694a10307beb7d7189db744</id>
<content type='text'>
EnvironmentBlock replaced every non-ASCII character of an inherited name
with '?' before asking whether to withhold it, so --pass-env=MY_?_TOKEN
kept an unrelated MY_é_TOKEN. Names are now converted with Narrow, as
everything else the runner compares.

A block whose variables were all withheld, with no additions, ended in one
terminator; CreateProcessW needs two for an empty block.

The amalgamated sources are regenerated for the runner changes.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
EnvironmentBlock replaced every non-ASCII character of an inherited name
with '?' before asking whether to withhold it, so --pass-env=MY_?_TOKEN
kept an unrelated MY_é_TOKEN. Names are now converted with Narrow, as
everything else the runner compares.

A block whose variables were all withheld, with no additions, ended in one
terminator; CreateProcessW needs two for an empty block.

The amalgamated sources are regenerated for the runner changes.
</pre>
</div>
</content>
</entry>
<entry>
<title>Withhold secret-looking variables from the processes the runner starts</title>
<updated>2026-11-05T15:30:13+00:00</updated>
<author>
<name>Leitwolf11</name>
</author>
<published>2026-11-05T15:30:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=89b4769c35986444a0297ad0806a584c7181c85c'/>
<id>89b4769c35986444a0297ad0806a584c7181c85c</id>
<content type='text'>
Workers and the other processes the runner starts copied its whole
environment, tokens and passwords included. ChildProcess::Start now
leaves out every variable whose name contains, in any case, TOKEN,
SECRET, PASSWORD, PASSWD, CREDENTIAL, API_KEY, APIKEY, PRIVATE_KEY or
ACCESS_KEY (IsSecretVariable), unless ChildOptions::keptEnvironment
names it; names compare without case on Windows.

--pass-env=NAME, repeatable, and "pass-env" in catch3.json keep a
variable for the tests. The runner itself still starts with the whole
environment, so code that runs before the first worker sees it;
docs/progmasoft-runner.md says so.

A runner test starts the shell's environment listing with a secret and
a plain variable set, sees only the plain one, and sees the secret once
it is kept.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Workers and the other processes the runner starts copied its whole
environment, tokens and passwords included. ChildProcess::Start now
leaves out every variable whose name contains, in any case, TOKEN,
SECRET, PASSWORD, PASSWD, CREDENTIAL, API_KEY, APIKEY, PRIVATE_KEY or
ACCESS_KEY (IsSecretVariable), unless ChildOptions::keptEnvironment
names it; names compare without case on Windows.

--pass-env=NAME, repeatable, and "pass-env" in catch3.json keep a
variable for the tests. The runner itself still starts with the whole
environment, so code that runs before the first worker sees it;
docs/progmasoft-runner.md says so.

A runner test starts the shell's environment listing with a secret and
a plain variable set, sees only the plain one, and sees the secret once
it is kept.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #36 from Progmasoft/feature/cpp-tools</title>
<updated>2026-11-01T21:51:11+00:00</updated>
<author>
<name>Leitwolf</name>
</author>
<published>2026-11-01T21:51:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=268698be92962247a21a86dda4de2d4267adcf8f'/>
<id>268698be92962247a21a86dda4de2d4267adcf8f</id>
<content type='text'>
Move the tools from Python to C++17 and Bazel</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Move the tools from Python to C++17 and Bazel</pre>
</div>
</content>
</entry>
<entry>
<title>Merge devel into feature/cpp-tools</title>
<updated>2026-11-01T21:16:57+00:00</updated>
<author>
<name>Leitwolf11</name>
</author>
<published>2026-11-01T21:16:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=3ed0fd930371823b6d44ae64d00dbd79e421a552'/>
<id>3ed0fd930371823b6d44ae64d00dbd79e421a552</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #33 from Progmasoft/release/catch3-0.3.0.2</title>
<updated>2026-11-01T21:14:33+00:00</updated>
<author>
<name>Leitwolf</name>
</author>
<published>2026-11-01T21:14:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=13324a043042110eba456424fa39c1334857ceaa'/>
<id>13324a043042110eba456424fa39c1334857ceaa</id>
<content type='text'>
Release Catch3 0.3.0.2</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Release Catch3 0.3.0.2</pre>
</div>
</content>
</entry>
<entry>
<title>Merge devel into the release branch</title>
<updated>2026-11-01T20:06:37+00:00</updated>
<author>
<name>Leitwolf11</name>
</author>
<published>2026-11-01T20:06:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=a428c3bf4760f062584ca1d32d4ece6777372f17'/>
<id>a428c3bf4760f062584ca1d32d4ece6777372f17</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #35 from Progmasoft/fix/amalgamate-mocks</title>
<updated>2026-11-01T20:05:07+00:00</updated>
<author>
<name>Leitwolf</name>
</author>
<published>2026-11-01T20:05:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.progmasoft.com/catch3/commit/?id=f6f617591cc0a6c4fd2b50999257fe902a339416'/>
<id>f6f617591cc0a6c4fd2b50999257fe902a339416</id>
<content type='text'>
Carry mocks in the amalgamated files</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Carry mocks in the amalgamated files</pre>
</div>
</content>
</entry>
</feed>
