TBB and 2.21

Thanks, @rok_cesnovar! It’ll either be v2.21 or v3.0.

Thanks for confirming. That’s exactly what changed; to me, that’s substantial. It changes it from an optional process to a mandatory process.

And yes, the linking has always been the same.

Sorry if this is frustrating to you. If it makes you feel any better, I’m frustrated too. For me, I feel like I’ve been saying the same thing and even brought it up when we had to discuss the licensing issue with the rest of the development team. I could let what was described in the issue and in August go because it wasn’t required, but now it affects all users.

From a software perspective, using semantic versioning, backwards incompatible changes mean that the major version gets bumped. There’s been a discussion that’s happening about what’s in the “API” and @seantalts has tried to codify that. I see these particular changes as backwards incompatible:

  1. the requirement that a user must link something in. (We have been a header-only library with the exception of Sundials, which is optional. Now, anyone trying to use Math as a header-only library will not have that option.)
  2. the licensing dependencies that we have introduced are backwards incompatible with GPLv2 under the condition when it is distributed as a binary.

So… if you agree that either one of those conditions is backwards incompatible with Math v2.20 (all the way down to v2.0), then technically we should just move to v3. If you can let me know why these things are backwards incompatible or how it doesn’t affect users, then we should stick with v2.21. I don’t view this as something that’s opinionated. I just view it as the rule that we’ve decided to follow and we should follow it.

2 Likes