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

summaryrefslogtreecommitdiffhomepage
path: root/docs/upstream-status.md
blob: 0899e31dc5d3606babacb08b4a89a8ce3998bba8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# Upstream compatibility status

Catch3 retains Catch2 compatibility while maintaining its own extension surface.
Upstream fixes should be reviewed rather than blindly replacing fork-owned code.

The upstream `catchorg/Catch2` `devel` branch was reviewed through
`222e233903d287cda4713fb08e1a959e8d71fd6d` on 2026-09-29. Two changes since the
previous reviewed revision were backported without changing upstream naming,
licenses or compiler options:

- `99ea5e97aa4d60998cfd2d9bde886de69c708ee4`: include `<cassert>` directly in
  the range-generator header instead of relying on a transitive include.
- `222e233903d287cda4713fb08e1a959e8d71fd6d`: isolate Clang's pointer-to-bool
  diagnostic at the upstream reusable-string-stream compatibility boundary.

The branch was reviewed again through
`08092139210881f01a34e60c5f2fd6afa0ea4024`, the commit of Catch2 3.16.1, on
2026-10-11. The eleven changes since the previous reviewed revision were all
backported, in upstream order, and the compatibility engine is now 3.16.1:

- `d7683484`: a better message when a reporter cannot be initialized.
- `ea5020f0`: every first-party reporter validates its custom arguments.
- `aa01559e`: the throwing-reporter test also throws in `assertionEnded`.
- `45cd3987`: `handleUnexpectedInflightException` is `noexcept`.
- `6adbd539`: MSVC optimizations are enabled again after the benchmark
  headers (upstream issue 3212).
- `e87f2882`: test registration with non-type template parameters no longer
  scales quadratically.
- `73d546cd`: `REQUIRE` expands its arguments fewer times under GCC and
  Clang.
- `b710039a`: the decomposer operators are plain functions and no longer
  hidden friends.
- `f899467b`: streaming of reconstructed expressions is type-erased.
- `8f0e70ca`: the retired `macos-14` runner is dropped from the macOS builds.
- `08092139`: version 3.16.1, with its release notes.

Each applied without a conflict in the sources. The amalgamated distribution
under `extras/` did conflict, because it is generated; it was generated again
from the sources of this repository with `generateAmalgamatedFiles.py`, which
also brought it up to date with fork changes it had not yet picked up. No
fork-owned file under `src/Progmasoft` needed a change.

These are compatibility fixes, not a claim that every future upstream change
is automatically incorporated. The build and test workflows remain the
verification gate for the fork: Windows, macOS 15 and 26, Ubuntu 26.04 and
Fedora 43.