openexr icon indicating copy to clipboard operation
openexr copied to clipboard

Versions in master are confusing

Open lgritz opened this issue 3 years ago • 6 comments

At the moment, the latest release is 3.0.1.

But also at the moment, if you build from master -- which contains everything in 3.0.1, and maybe more -- it reports that it's 3.0.0. Which is doubly confusing: it's NOT 3.0.0, and also in a sense, feature-wise, it is AFTER the current release.

I'm not sure exactly what solution we should adopt, but it should be (a) numerically indicative of the version it will eventually become, and (b) have an explicit way to to tell it's a development branch and not a release. 3.0.99? 3.1.0-dev?

This is no emergency, just putting in this placeholder to remind us to choose a version reporting policy for master.

lgritz avatar May 04 '21 00:05 lgritz

I thought we had talked about making that 3.0.9999 or something of the sort to indicate a devel / main build?

kthurston avatar May 04 '21 06:05 kthurston

I thought we could set the OPENEXR_VERSION_EXTRA to "master" (or "dev") so the version would be 3.0.1-master, but I can't seem to get the OPENEXR)VERSION_EXTRA option to work at all, CMake complains:

CMake Error at CMakeLists.txt:24 (project): VERSION "3.0.1-master" format invalid.

And indeed the CMake docs say the version must be all unsigned int's and dots. What was the intention here, and has this ever worked? I do prefer 3.0.1-dev to the other alternatives, if that can be made to work.

cary-ilm avatar May 06 '21 00:05 cary-ilm

The VERSION has to be numbers only.

lgritz avatar May 06 '21 00:05 lgritz

OPENEXR_VERSION_EXTRA can be used to end up in the headers as some kind of identifier, but don't pass it to the cmake project() function.

lgritz avatar May 06 '21 00:05 lgritz

I took a stab at simplying the version-setting logic Imath: https://github.com/AcademySoftwareFoundation/Imath/pull/139. If that looks reasonable, we can replicate that here.

cary-ilm avatar May 06 '21 18:05 cary-ilm

#1008 hopefully addresses this. Building off the master branch will generate "3.0.2-dev". Assuming this works as expected, the release process will be, just before a release:

  1. bump the version on the RB-3.X branch (with OPENEXR_VERSION_EXTRA cleared to the empty string)
  2. bump the version on the master branch to be one ahead of the RB-3.X branch (with OPENEXR_VERSION_EXTRA cleared to the empty string)

cary-ilm avatar May 07 '21 00:05 cary-ilm