Closed coatless closed 1 year ago
Not sure I'm a fan of the changes between v2 and v3. A strong advantage of the catch v2 framework is its relative simplicity and single header code, even if this does come at the cost of increased compilation time.
Moving to a static compiled library (in v3) seems to be making things too complicated for what is essentially a straightforward testing framework.
Catch v2 is still perfectly functional for our purposes, and it seems to be still getting minor improvements and fixes since the v2.13.10 release: https://github.com/catchorg/Catch2/tree/v2.x
Even the ancient v1 branch seems to be getting critical fixes: https://github.com/catchorg/Catch2/commits/Catch1.x
PS. v3 requires C++14, while ensmallen has C++11 as the minimum supported C++ standard. The need to keep compatibility with C++11 will considerably decrease once RHEL 7 and CentOS 7 go EOL in mid-2024.
I have to agree, I don't see what converting from v2 to v3 gives us. It seems like it adds complexity and requires changes but there is not much benefit for us. I don't see a huge issue if someone does want to go through the effort of upgrading, but I'm not particularly excited about doing it myself.
At the very least, the C++11 vs. C++14 issue is a blocker here for now---we don't currently require C++14 and as @conradsnicta pointed out, we shouldn't until RHEL7 is EOL.
This issue has been automatically marked as stale because it has not had any recent activity. It will be closed in 7 days if no further activity occurs. Thank you for your contributions! :+1:
We probably should slowly start to look at migrating from v2 to v3 as the v2 line is moving toward an EOL.
Migration details available at:
https://github.com/catchorg/Catch2/blob/devel/docs/migrate-v2-to-v3.md#top