Read-only mirrors. Development, issues and pull requests are on GitHub.

summaryrefslogtreecommitdiffhomepage
path: root/docs
diff options
context:
space:
mode:
authorLeitwolf112026-09-25 00:36:48 +0300
committerLeitwolf112026-09-25 00:36:48 +0300
commitc3a325d284ab2487f472f3a8b928c0b12a200979 (patch)
treed872ed47f5f0619bd1b95b600a7bf8d8d8c33baa /docs
parentcbb65f9db0cead23ea03897eb5a13cf159a054d5 (diff)
downloadcatch3-c3a325d284ab2487f472f3a8b928c0b12a200979.tar.gz
Complete Catch3 documentation and Windows CI: distinguish compatibility docs, correct fork integration, fix Conan CRT and Xmake test entry point
Diffstat (limited to 'docs')
-rw-r--r--docs/Readme.md31
-rw-r--r--docs/assertions.md3
-rw-r--r--docs/benchmarks.md3
-rw-r--r--docs/ci-and-misc.md3
-rw-r--r--docs/cmake-integration.md126
-rw-r--r--docs/command-line.md3
-rw-r--r--docs/commercial-users.md3
-rw-r--r--docs/comparing-floating-point-numbers.md5
-rw-r--r--docs/configuration.md3
-rw-r--r--docs/contributing.md3
-rw-r--r--docs/deprecations.md3
-rw-r--r--docs/event-listeners.md3
-rw-r--r--docs/faq.md18
-rw-r--r--docs/filtering-execution-path.md3
-rw-r--r--docs/generators.md3
-rw-r--r--docs/limitations.md3
-rw-r--r--docs/list-of-examples.md3
-rw-r--r--docs/logging.md3
-rw-r--r--docs/matchers.md3
-rw-r--r--docs/migrate-v2-to-v3.md3
-rw-r--r--docs/opensource-users.md3
-rw-r--r--docs/other-macros.md3
-rw-r--r--docs/own-main.md3
-rw-r--r--docs/release-notes.md3
-rw-r--r--docs/release-process.md3
-rw-r--r--docs/reporter-events.md3
-rw-r--r--docs/reporters.md3
-rw-r--r--docs/skipping-passing-failing.md3
-rw-r--r--docs/test-cases-and-sections.md3
-rw-r--r--docs/test-fixtures.md3
-rw-r--r--docs/thread-safety.md5
-rw-r--r--docs/tostring.md3
-rw-r--r--docs/tutorial.md18
-rw-r--r--docs/usage-tips.md5
-rw-r--r--docs/why-catch.md3
35 files changed, 183 insertions, 109 deletions
diff --git a/docs/Readme.md b/docs/Readme.md
index fb54f917..89995f45 100644
--- a/docs/Readme.md
+++ b/docs/Readme.md
@@ -1,8 +1,19 @@
<a id="top"></a>
-# Reference
+# Catch3 documentation
-To get the most out of Catch2, start with the [tutorial](tutorial.md#top).
-Once you're up and running consider the following reference material.
+Catch3 combines the upstream Catch2-compatible runner and API with
+Progmasoft's C++20 extensions. Start with the [tutorial](tutorial.md#top),
+then read [what Catch3 adds](progmasoft-catch3.md) and
+[why the two API families remain distinct](why-catch3.md). The compatibility
+pages below retain real `catch2/` include paths, `Catch2::` CMake targets,
+and upstream version history; renaming those would make examples incorrect.
+
+The Progmasoft extension API lives under `Progmasoft/Catch3/...` and the
+`Progmasoft::Catch3` namespace. Its built library is separate from the
+upstream-compatible engine. The compatibility pages are about the bundled
+engine, not a claim that Catch3 is an official Catch2 release.
+
+## Reference
**Writing tests:**
* [Assertion macros](assertions.md#top)
@@ -33,13 +44,13 @@ Once you're up and running consider the following reference material.
* [CMake integration](cmake-integration.md#top)
* [Tooling integration (CI, test runners, other)](ci-and-misc.md#top)
* [Known limitations](limitations.md#top)
-* [Thread safety in Catch2](thread-safety.md#top)
+* [Thread safety of the compatibility engine](thread-safety.md#top)
**Other:**
-* [Why Catch2?](why-catch.md#top)
+* [Why the Catch2 compatibility base?](why-catch.md#top)
* [Migrating from v2 to v3](migrate-v2-to-v3.md#top)
-* [Open Source Projects using Catch2](opensource-users.md#top)
-* [Commercial Projects using Catch2](commercial-users.md#top)
-* [Contributing](contributing.md#top)
-* [Release Notes](release-notes.md#top)
-* [Deprecations and incoming changes](deprecations.md#top)
+* [Historical Catch2 open-source users](opensource-users.md#top)
+* [Historical Catch2 commercial users](commercial-users.md#top)
+* [Upstream contribution guide (historical)](contributing.md#top)
+* [Upstream release notes (historical)](release-notes.md#top)
+* [Upstream deprecations (historical)](deprecations.md#top)
diff --git a/docs/assertions.md b/docs/assertions.md
index 38ee91fb..9cc8d0ed 100644
--- a/docs/assertions.md
+++ b/docs/assertions.md
@@ -1,4 +1,7 @@
<a id="top"></a>
+
+> **Catch3 compatibility reference:** This page describes the bundled Catch2-compatible API. Names such as `Catch2`, `catch2/`, and `Catch2::Catch2WithMain` remain where they are actual compatibility interfaces. See [Catch3 additions](progmasoft-catch3.md) for Progmasoft APIs.
+
# Assertion Macros
**Contents**<br>
diff --git a/docs/benchmarks.md b/docs/benchmarks.md
index 9edbb93c..bc1e19da 100644
--- a/docs/benchmarks.md
+++ b/docs/benchmarks.md
@@ -1,4 +1,7 @@
<a id="top"></a>
+
+> **Catch3 compatibility reference:** This page describes the bundled Catch2-compatible API. Names such as `Catch2`, `catch2/`, and `Catch2::Catch2WithMain` remain where they are actual compatibility interfaces. See [Catch3 additions](progmasoft-catch3.md) for Progmasoft APIs.
+
# Authoring benchmarks
> [Introduced](https://github.com/catchorg/Catch2/issues/1616) in Catch2 2.9.0.
diff --git a/docs/ci-and-misc.md b/docs/ci-and-misc.md
index 879a15fc..4fa033fd 100644
--- a/docs/ci-and-misc.md
+++ b/docs/ci-and-misc.md
@@ -1,4 +1,7 @@
<a id="top"></a>
+
+> **Catch3 compatibility reference:** This page describes the bundled Catch2-compatible API. Names such as `Catch2`, `catch2/`, and `Catch2::Catch2WithMain` remain where they are actual compatibility interfaces. See [Catch3 additions](progmasoft-catch3.md) for Progmasoft APIs.
+
# Tooling integration (CI, test runners and so on)
**Contents**<br>
diff --git a/docs/cmake-integration.md b/docs/cmake-integration.md
index 63b5ebde..bf68ae92 100644
--- a/docs/cmake-integration.md
+++ b/docs/cmake-integration.md
@@ -1,4 +1,7 @@
<a id="top"></a>
+
+> **Catch3 compatibility reference:** This page describes the bundled Catch2-compatible API. Names such as `Catch2`, `catch2/`, and `Catch2::Catch2WithMain` remain where they are actual compatibility interfaces. See [Catch3 additions](progmasoft-catch3.md) for Progmasoft APIs.
+
# CMake integration
**Contents**<br>
@@ -6,59 +9,45 @@
[Automatic test registration](#automatic-test-registration)<br>
[CMake project options](#cmake-project-options)<br>
[`CATCH_CONFIG_*` customization options in CMake](#catch_config_-customization-options-in-cmake)<br>
-[Installing Catch2 from git repository](#installing-catch2-from-git-repository)<br>
-[Installing Catch2 from vcpkg](#installing-catch2-from-vcpkg)<br>
-[Installing Catch2 from Bazel](#installing-catch2-from-bazel)<br>
+[Using Progmasoft Catch3 from a checkout](#using-progmasoft-catch3-from-a-checkout)<br>
+[Using an installed Catch3 package](#using-an-installed-catch3-package)<br>
+[Upstream Catch2 packages](#upstream-catch2-packages)<br>
+
+Catch3 builds its Progmasoft C++20 extension library alongside the
+Catch2-compatible C++14 engine. CMake exposes both API families:
-Because we use CMake to build Catch2, we also provide a couple of
-integration points for our users.
+1. `Progmasoft::Catch3` contains the new compiled extensions and depends on
+ `Catch2::Catch2`.
+2. `Catch2::Catch2WithMain` supplies the existing test runner and `main`.
+3. The bundled Catch2 scripts register `TEST_CASE`s with CTest.
-1) Catch2 exports a (namespaced) CMake target
-2) Catch2's repository contains CMake scripts for automatic registration
-of `TEST_CASE`s in CTest
+Do not use the upstream `catchorg/Catch2` checkout or its vcpkg/Bazel package
+when you need `Progmasoft::Catch3`; those packages do not contain this fork's
+extensions.
## CMake targets
-Catch2's CMake build exports two targets, `Catch2::Catch2`, and
-`Catch2::Catch2WithMain`. If you do not need custom `main` function,
-you should be using the latter (and only the latter). Linking against
-it will add the proper include paths and link your target together with
-2 static libraries that implement Catch2 and its main respectively.
-If you need custom `main`, you should link only against `Catch2::Catch2`.
+The fork exports `Progmasoft::Catch3`, `Catch2::Catch2`, and
+`Catch2::Catch2WithMain`. Link the Progmasoft target when using extension
+headers; link `Catch2::Catch2WithMain` unless you provide a custom `main`.
+For a CMake-installed fork:
-This means that if Catch2 has been installed on the system, it should
-be enough to do
```cmake
-find_package(Catch2 3 REQUIRED)
-# These tests can use the Catch2-provided main
+find_package(Catch2 3.16 CONFIG REQUIRED)
+find_package(ProgmasoftCatch3 3.16 CONFIG REQUIRED)
add_executable(tests test.cpp)
-target_link_libraries(tests PRIVATE Catch2::Catch2WithMain)
+target_link_libraries(tests PRIVATE Progmasoft::Catch3 Catch2::Catch2WithMain)
-# These tests need their own main
add_executable(custom-main-tests test.cpp test-main.cpp)
-target_link_libraries(custom-main-tests PRIVATE Catch2::Catch2)
+target_link_libraries(custom-main-tests PRIVATE Progmasoft::Catch3)
```
-These targets are also provided when Catch2 is used as a subdirectory.
-Assuming Catch2 has been cloned to `lib/Catch2`, you only need to replace
-the `find_package` call with `add_subdirectory(lib/Catch2)` and the snippet
-above still works.
+If the fork is checked out in `external/catch3`, build it as a subdirectory:
-
-Another possibility is to use [FetchContent](https://cmake.org/cmake/help/latest/module/FetchContent.html):
```cmake
-Include(FetchContent)
-
-FetchContent_Declare(
- Catch2
- GIT_REPOSITORY https://github.com/catchorg/Catch2.git
- GIT_TAG v3.8.1 # or a later release
-)
-
-FetchContent_MakeAvailable(Catch2)
-
+add_subdirectory(external/catch3)
add_executable(tests test.cpp)
-target_link_libraries(tests PRIVATE Catch2::Catch2WithMain)
+target_link_libraries(tests PRIVATE Progmasoft::Catch3 Catch2::Catch2WithMain)
```
@@ -397,56 +386,27 @@ To summarize the configuration option behaviour with an example:
-## Installing Catch2 from git repository
+## Using Progmasoft Catch3 from a checkout
-If you cannot install Catch2 from a package manager (e.g. Ubuntu 16.04
-provides catch only in version 1.2.0) you might want to install it from
-the repository instead. Assuming you have enough rights, you can just
-install it to the default location, like so:
-```
-$ git clone https://github.com/catchorg/Catch2.git
-$ cd Catch2
-$ cmake -B build -S . -DBUILD_TESTING=OFF
-$ sudo cmake --build build/ --target install
-```
+Clone [Progmasoft/catch3](https://github.com/Progmasoft/catch3) and use
+`add_subdirectory` as shown above. This builds the compatible runner and the
+compiled Progmasoft extension library together. Keep the fork at a reviewed
+commit or release tag in production builds.
-If you do not have superuser rights, you will also need to specify
-[CMAKE_INSTALL_PREFIX](https://cmake.org/cmake/help/latest/variable/CMAKE_INSTALL_PREFIX.html)
-when configuring the build, and then modify your calls to
-[find_package](https://cmake.org/cmake/help/latest/command/find_package.html)
-accordingly.
+## Using an installed Catch3 package
-## Installing Catch2 from vcpkg
+Configure and install the fork with CMake, then point `CMAKE_PREFIX_PATH` at
+the install prefix when consuming it. Both `Catch2` and
+`ProgmasoftCatch3` package configurations must come from the same Catch3
+build. Do not mix a separately installed upstream Catch2 library with this
+fork's extension library.
-Alternatively, you can build and install Catch2 using [vcpkg](https://github.com/microsoft/vcpkg/) dependency manager:
-```
-git clone https://github.com/Microsoft/vcpkg.git
-cd vcpkg
-./bootstrap-vcpkg.sh
-./vcpkg integrate install
-./vcpkg install catch2
-```
-
-The catch2 port in vcpkg is kept up to date by microsoft team members and community contributors.
-If the version is out of date, please [create an issue or pull request](https://github.com/Microsoft/vcpkg) on the vcpkg repository.
-
-## Installing Catch2 from Bazel
-
-Catch2 is now a supported module in the Bazel Central Registry. You only need to add one line to your MODULE.bazel file;
-please see https://registry.bazel.build/modules/catch2 for the latest supported version.
+## Upstream Catch2 packages
-You can then add `catch2_main` to each of your C++ test build rules as follows:
-
-```
-cc_test(
- name = "example_test",
- srcs = ["example_test.cpp"],
- deps = [
- ":example",
- "@catch2//:catch2_main",
- ],
-)
-```
+The upstream Catch2 vcpkg port and Bazel Central Registry module install only
+the compatibility engine. They do not provide `Progmasoft::Catch3`,
+`Progmasoft/Catch3.hpp`, snapshots, properties, or result/XML extensions.
+Use them only for applications that intentionally need the upstream API alone.
---
diff --git a/docs/command-line.md b/docs/command-line.md
index 41c4ab75..829eba5a 100644
--- a/docs/command-line.md
+++ b/docs/command-line.md
@@ -1,4 +1,7 @@
<a id="top"></a>
+
+> **Catch3 compatibility reference:** This page describes the bundled Catch2-compatible API. Names such as `Catch2`, `catch2/`, and `Catch2::Catch2WithMain` remain where they are actual compatibility interfaces. See [Catch3 additions](progmasoft-catch3.md) for Progmasoft APIs.
+
# Command line
**Contents**<br>
diff --git a/docs/commercial-users.md b/docs/commercial-users.md
index 020eaefc..44df8c52 100644
--- a/docs/commercial-users.md
+++ b/docs/commercial-users.md
@@ -1,4 +1,7 @@
<a id="top"></a>
+
+> **Upstream history:** This page is retained from Catch2 for provenance and compatibility. It does not describe Catch3 release policy or Progmasoft support. See [Catch3 documentation](Readme.md#top) for current guidance.
+
# Commercial users of Catch2
Catch2 is also widely used in proprietary code bases. This page contains
diff --git a/docs/comparing-floating-point-numbers.md b/docs/comparing-floating-point-numbers.md
index ab5ba6df..87401e15 100644
--- a/docs/comparing-floating-point-numbers.md
+++ b/docs/comparing-floating-point-numbers.md
@@ -1,5 +1,8 @@
<a id="top"></a>
-# Comparing floating point numbers with Catch2
+
+> **Catch3 compatibility reference:** This page describes the bundled Catch2-compatible API. Names such as `Catch2`, `catch2/`, and `Catch2::Catch2WithMain` remain where they are actual compatibility interfaces. See [Catch3 additions](progmasoft-catch3.md) for Progmasoft APIs.
+
+# Comparing floating point numbers with Catch3's compatibility API
If you are not deeply familiar with them, floating point numbers can be
unintuitive. This also applies to comparing floating point numbers for
diff --git a/docs/configuration.md b/docs/configuration.md
index 35867104..080ab17d 100644
--- a/docs/configuration.md
+++ b/docs/configuration.md
@@ -1,4 +1,7 @@
<a id="top"></a>
+
+> **Catch3 compatibility reference:** This page describes the bundled Catch2-compatible API. Names such as `Catch2`, `catch2/`, and `Catch2::Catch2WithMain` remain where they are actual compatibility interfaces. See [Catch3 additions](progmasoft-catch3.md) for Progmasoft APIs.
+
# Compile-time configuration
**Contents**<br>
diff --git a/docs/contributing.md b/docs/contributing.md
index ff6e545b..30254416 100644
--- a/docs/contributing.md
+++ b/docs/contributing.md
@@ -1,4 +1,7 @@
<a id="top"></a>
+
+> **Upstream history:** This page is retained from Catch2 for provenance and compatibility. It does not describe Catch3 release policy or Progmasoft support. See [Catch3 documentation](Readme.md#top) for current guidance.
+
# Contributing to Catch2
**Contents**<br>
diff --git a/docs/deprecations.md b/docs/deprecations.md
index 99fef27f..3915ddbc 100644
--- a/docs/deprecations.md
+++ b/docs/deprecations.md
@@ -1,4 +1,7 @@
<a id="top"></a>
+
+> **Upstream history:** This page is retained from Catch2 for provenance and compatibility. It does not describe Catch3 release policy or Progmasoft support. See [Catch3 documentation](Readme.md#top) for current guidance.
+
# Deprecations and incoming changes
This page documents current deprecations and upcoming planned changes
diff --git a/docs/event-listeners.md b/docs/event-listeners.md
index 377f447a..6b9b6dc6 100644
--- a/docs/event-listeners.md
+++ b/docs/event-listeners.md
@@ -1,4 +1,7 @@
<a id="top"></a>
+
+> **Catch3 compatibility reference:** This page describes the bundled Catch2-compatible API. Names such as `Catch2`, `catch2/`, and `Catch2::Catch2WithMain` remain where they are actual compatibility interfaces. See [Catch3 additions](progmasoft-catch3.md) for Progmasoft APIs.
+
# Event Listeners
An event listener is a bit like a reporter, in that it responds to various
diff --git a/docs/faq.md b/docs/faq.md
index 80923d26..f14bcb91 100644
--- a/docs/faq.md
+++ b/docs/faq.md
@@ -1,4 +1,7 @@
<a id="top"></a>
+
+> **Catch3 compatibility reference:** This page describes the bundled Catch2-compatible API. Names such as `Catch2`, `catch2/`, and `Catch2::Catch2WithMain` remain where they are actual compatibility interfaces. See [Catch3 additions](progmasoft-catch3.md) for Progmasoft APIs.
+
# Frequently Asked Questions (FAQ)
**Contents**<br>
@@ -36,9 +39,10 @@ as needed later.
## What is Catch2's ABI stability policy?
-Catch2 provides no ABI stability guarantees whatsoever. Catch2 provides
-rich C++ interface, and trying to freeze its ABI would take a lot of
-pointless work.
+The bundled Catch2-compatible engine provides no ABI stability guarantee.
+Its C++ interfaces should be compiled with a consistent compiler and build
+configuration. The Progmasoft C++20 extension library does not currently
+promise a stable binary ABI either.
Catch2 is not designed to be distributed as dynamic library, and you
should really be able to compile everything with the same compiler binary.
@@ -46,9 +50,11 @@ should really be able to compile everything with the same compiler binary.
## What is Catch2's API stability policy?
-Catch2 follows [semver](https://semver.org/) to the best of our ability.
-This means that we will not knowingly make backwards-incompatible changes
-without incrementing the major version number.
+The historical Catch2 compatibility API retains its upstream names and
+semantics where this fork has not explicitly documented a difference. Catch3
+does not claim that its independently developed Progmasoft extensions inherit
+Catch2's upstream release or API-stability policy. Verify the extension API
+against the Catch3 version you build.
## Does Catch2 support running tests in parallel?
diff --git a/docs/filtering-execution-path.md b/docs/filtering-execution-path.md
index fad02624..b1d07433 100644
--- a/docs/filtering-execution-path.md
+++ b/docs/filtering-execution-path.md
@@ -1,4 +1,7 @@
<a id="top"></a>
+
+> **Catch3 compatibility reference:** This page describes the bundled Catch2-compatible API. Names such as `Catch2`, `catch2/`, and `Catch2::Catch2WithMain` remain where they are actual compatibility interfaces. See [Catch3 additions](progmasoft-catch3.md) for Progmasoft APIs.
+
# How to run specific section/generator
> The generator and generic path filtering was added in Catch2 3.13.0
diff --git a/docs/generators.md b/docs/generators.md
index b6ea0db2..682743f5 100644
--- a/docs/generators.md
+++ b/docs/generators.md
@@ -1,4 +1,7 @@
<a id="top"></a>
+
+> **Catch3 compatibility reference:** This page describes the bundled Catch2-compatible API. Names such as `Catch2`, `catch2/`, and `Catch2::Catch2WithMain` remain where they are actual compatibility interfaces. See [Catch3 additions](progmasoft-catch3.md) for Progmasoft APIs.
+
# Data Generators
**Contents**<br>
diff --git a/docs/limitations.md b/docs/limitations.md
index 67085a80..7bb9c79b 100644
--- a/docs/limitations.md
+++ b/docs/limitations.md
@@ -1,4 +1,7 @@
<a id="top"></a>
+
+> **Catch3 compatibility reference:** This page describes the bundled Catch2-compatible API. Names such as `Catch2`, `catch2/`, and `Catch2::Catch2WithMain` remain where they are actual compatibility interfaces. See [Catch3 additions](progmasoft-catch3.md) for Progmasoft APIs.
+
# Known limitations
Over time, some limitations of Catch2 emerged. Some of these are due
diff --git a/docs/list-of-examples.md b/docs/list-of-examples.md
index 40d3f711..bf7c6094 100644
--- a/docs/list-of-examples.md
+++ b/docs/list-of-examples.md
@@ -1,4 +1,7 @@
<a id="top"></a>
+
+> **Catch3 compatibility reference:** This page describes the bundled Catch2-compatible API. Names such as `Catch2`, `catch2/`, and `Catch2::Catch2WithMain` remain where they are actual compatibility interfaces. See [Catch3 additions](progmasoft-catch3.md) for Progmasoft APIs.
+
# List of examples
## Already available
diff --git a/docs/logging.md b/docs/logging.md
index fc3a7aca..fb9db1d2 100644
--- a/docs/logging.md
+++ b/docs/logging.md
@@ -1,4 +1,7 @@
<a id="top"></a>
+
+> **Catch3 compatibility reference:** This page describes the bundled Catch2-compatible API. Names such as `Catch2`, `catch2/`, and `Catch2::Catch2WithMain` remain where they are actual compatibility interfaces. See [Catch3 additions](progmasoft-catch3.md) for Progmasoft APIs.
+
# Logging macros
Catch2 provides various macros for logging extra information when
diff --git a/docs/matchers.md b/docs/matchers.md
index fa176ced..222ea42e 100644
--- a/docs/matchers.md
+++ b/docs/matchers.md
@@ -1,4 +1,7 @@
<a id="top"></a>
+
+> **Catch3 compatibility reference:** This page describes the bundled Catch2-compatible API. Names such as `Catch2`, `catch2/`, and `Catch2::Catch2WithMain` remain where they are actual compatibility interfaces. See [Catch3 additions](progmasoft-catch3.md) for Progmasoft APIs.
+
# Matchers
**Contents**<br>
diff --git a/docs/migrate-v2-to-v3.md b/docs/migrate-v2-to-v3.md
index 84ed7690..c86a52c6 100644
--- a/docs/migrate-v2-to-v3.md
+++ b/docs/migrate-v2-to-v3.md
@@ -1,4 +1,7 @@
<a id="top"></a>
+
+> **Catch3 compatibility reference:** This page describes the bundled Catch2-compatible API. Names such as `Catch2`, `catch2/`, and `Catch2::Catch2WithMain` remain where they are actual compatibility interfaces. See [Catch3 additions](progmasoft-catch3.md) for Progmasoft APIs.
+
# Migrating from v2 to v3
v3 is the next major version of Catch2 and brings three significant changes:
diff --git a/docs/opensource-users.md b/docs/opensource-users.md
index a02d0b98..97e8f9ba 100644
--- a/docs/opensource-users.md
+++ b/docs/opensource-users.md
@@ -1,4 +1,7 @@
<a id="top"></a>
+
+> **Upstream history:** This page is retained from Catch2 for provenance and compatibility. It does not describe Catch3 release policy or Progmasoft support. See [Catch3 documentation](Readme.md#top) for current guidance.
+
# Open Source projects using Catch2
Catch2 is great for open source. It is licensed under the [Boost Software
diff --git a/docs/other-macros.md b/docs/other-macros.md
index 9faf5da2..e0c9dea6 100644
--- a/docs/other-macros.md
+++ b/docs/other-macros.md
@@ -1,4 +1,7 @@
<a id="top"></a>
+
+> **Catch3 compatibility reference:** This page describes the bundled Catch2-compatible API. Names such as `Catch2`, `catch2/`, and `Catch2::Catch2WithMain` remain where they are actual compatibility interfaces. See [Catch3 additions](progmasoft-catch3.md) for Progmasoft APIs.
+
# Other macros
This page serves as a reference for macros that are not documented
diff --git a/docs/own-main.md b/docs/own-main.md
index 07cb4903..3f8963b3 100644
--- a/docs/own-main.md
+++ b/docs/own-main.md
@@ -1,4 +1,7 @@
<a id="top"></a>
+
+> **Catch3 compatibility reference:** This page describes the bundled Catch2-compatible API. Names such as `Catch2`, `catch2/`, and `Catch2::Catch2WithMain` remain where they are actual compatibility interfaces. See [Catch3 additions](progmasoft-catch3.md) for Progmasoft APIs.
+
# Supplying main() yourself
**Contents**<br>
diff --git a/docs/release-notes.md b/docs/release-notes.md
index bab645de..23189307 100644
--- a/docs/release-notes.md
+++ b/docs/release-notes.md
@@ -1,5 +1,8 @@
<a id="top"></a>
+> **Upstream history:** This page is retained from Catch2 for provenance and compatibility. It does not describe Catch3 release policy or Progmasoft support. See [Catch3 documentation](Readme.md#top) for current guidance.
+
+
# Release notes
**Contents**<br>
[3.16.0](#3160)<br>
diff --git a/docs/release-process.md b/docs/release-process.md
index 12d23b7d..5ae35cd0 100644
--- a/docs/release-process.md
+++ b/docs/release-process.md
@@ -1,4 +1,7 @@
<a id="top"></a>
+
+> **Upstream history:** This page is retained from Catch2 for provenance and compatibility. It does not describe Catch3 release policy or Progmasoft support. See [Catch3 documentation](Readme.md#top) for current guidance.
+
# How to release
When enough changes have accumulated, it is time to release new version of Catch. This document describes the process in doing so, that no steps are forgotten. Note that all referenced scripts can be found in the `tools/scripts/` directory.
diff --git a/docs/reporter-events.md b/docs/reporter-events.md
index 015f67be..70548c79 100644
--- a/docs/reporter-events.md
+++ b/docs/reporter-events.md
@@ -1,4 +1,7 @@
<a id="top"></a>
+
+> **Catch3 compatibility reference:** This page describes the bundled Catch2-compatible API. Names such as `Catch2`, `catch2/`, and `Catch2::Catch2WithMain` remain where they are actual compatibility interfaces. See [Catch3 additions](progmasoft-catch3.md) for Progmasoft APIs.
+
# Reporter events
**Contents**<br>
diff --git a/docs/reporters.md b/docs/reporters.md
index 63297089..9ddba378 100644
--- a/docs/reporters.md
+++ b/docs/reporters.md
@@ -1,4 +1,7 @@
<a id="top"></a>
+
+> **Catch3 compatibility reference:** This page describes the bundled Catch2-compatible API. Names such as `Catch2`, `catch2/`, and `Catch2::Catch2WithMain` remain where they are actual compatibility interfaces. See [Catch3 additions](progmasoft-catch3.md) for Progmasoft APIs.
+
# Reporters
Reporters are a customization point for most of Catch2's output, e.g.
diff --git a/docs/skipping-passing-failing.md b/docs/skipping-passing-failing.md
index 2b363a33..b35fc29d 100644
--- a/docs/skipping-passing-failing.md
+++ b/docs/skipping-passing-failing.md
@@ -1,4 +1,7 @@
<a id="top"></a>
+
+> **Catch3 compatibility reference:** This page describes the bundled Catch2-compatible API. Names such as `Catch2`, `catch2/`, and `Catch2::Catch2WithMain` remain where they are actual compatibility interfaces. See [Catch3 additions](progmasoft-catch3.md) for Progmasoft APIs.
+
# Explicitly skipping, passing, and failing tests at runtime
## Skipping Test Cases at Runtime
diff --git a/docs/test-cases-and-sections.md b/docs/test-cases-and-sections.md
index e32ffa2a..8be71361 100644
--- a/docs/test-cases-and-sections.md
+++ b/docs/test-cases-and-sections.md
@@ -1,4 +1,7 @@
<a id="top"></a>
+
+> **Catch3 compatibility reference:** This page describes the bundled Catch2-compatible API. Names such as `Catch2`, `catch2/`, and `Catch2::Catch2WithMain` remain where they are actual compatibility interfaces. See [Catch3 additions](progmasoft-catch3.md) for Progmasoft