mlpack / ensmallen

A header-only C++ library for numerical optimization --
http://ensmallen.org
Other
740 stars 119 forks source link

Migrate from Catch v2 to v3 #372

Closed coatless closed 1 year ago

coatless commented 1 year ago

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

conradsnicta commented 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.

rcurtin commented 1 year ago

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.

mlpack-bot[bot] commented 1 year ago

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: