CxxWrap.jl icon indicating copy to clipboard operation
CxxWrap.jl copied to clipboard

Version numbering

Open TeroFrondelius opened this issue 5 years ago • 3 comments

My understanding of semantic version numbering is that patch release cannot be braking. In this package for example change from 0.8.1 to 0.8.2 needs a change from libcxxwrap-julia 0.5.1 to 0.5.3, which in julia packet sense is breaking change because one will need to rebuild the binary dependencies or the packet won't work.

In my mind the solution is simple: instead of patch release it should have been feature release (below 1.0 version). I don't propose any changes for existing releases, however maybe my comment can be taken in consideration in the next coming release of CxxWrap.jl.

TeroFrondelius avatar Jul 20 '19 11:07 TeroFrondelius

I agree that if it causes breakage that it should be a feature release, but I'm actually not sure why it breaks. I was expecting the upgrade to 0.8.2 to automatically pull in libcxxwrap-julia 0.5.3, but it seems this doesn't happen. Is this also the cause of your issue #151 ?

barche avatar Jul 20 '19 20:07 barche

0.8.2 to automatically pull in libcxxwrap-julia 0.5.3

In BinaryBuilder.jl approach one need to explicitly define dependencies: https://github.com/TeroFrondelius/mgisBuilder/blob/42371e79a9e6df4f00397f8bb84da679c91654fc/build_tarballs.jl#L70. How this could automatically update and make a release when CxxWrap.jl updates to a new version?

Is this also the cause of your issue #151 ?

No, it tries to be a minimum working example of the problem. Master version pins 0.8.1 and use mgisBuilder binaries with dependency of 0.5.1, where as pull request version uses latest 0.8.2 and dependency is set to 0.5.3. I hope this clarifies. My Cxx skills are very limited, as you might remember, thus I can only little help finding the root cause.

TeroFrondelius avatar Jul 20 '19 21:07 TeroFrondelius

I think you're right, this should have been marked as a breaking change. While upgrading CxxWrap gets the correct libcxxwrap automatically, depending packages are not recompiled against the new lib automatically, of course.

barche avatar Jul 24 '19 07:07 barche