You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
The reason will be displayed to describe this comment to others. Learn more.
0a2 and (a1) aren't numbers. This versioning scheme breaks the OB_VERSION_CHECK macro (error: user-defined literal in preprocessor expression). If you really want an 'a' in there you could make it hexideciaml (0xa2). Of course, all of these will generate version numbers that are larger than the final release (3.0.0).
The reason will be displayed to describe this comment to others. Learn more.
Surely you're not saying that we should choose our versioning scheme based
on the capabilities of the version check macro?
The semantic versioning scheme is well established with existing
distribution systems built around it. If I push a 2.99 Python bindings
version up to PyPI, it will intrepret this as an upgrade to 2.4.1. If I
push a 3.0a up, it's held back as a development version so people have to
explicitly request it. Ok, there might be a way to override this, but we
shouldn't be coming up with our own naming system but rather using the same
as everyone else - people understand what it means and everything just
works. Apart from the macro, of course - but that's a problem with the
macro.
The reason will be displayed to describe this comment to others. Learn more.
No, there's a difference between the OB_VERSION_CHECK header and the external name for the code.
Even if we change the macro, there are a variety of codes that mis-interpret alpha/beta designations. I remember this painfully (thus 1.99, 1.100, etc.)
4947447
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
0a2 and (a1) aren't numbers. This versioning scheme breaks the OB_VERSION_CHECK macro (
error: user-defined literal in preprocessor expression
). If you really want an 'a' in there you could make it hexideciaml (0xa2). Of course, all of these will generate version numbers that are larger than the final release (3.0.0).4947447
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good point, but as this is a standard versioning scheme, this is presumably a solved problem if we look around.
4947447
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Presumably they aren't trying to cast the full version string to an integer? I would suggest changing to 2.99.0xa2
You can't build any software that uses OB_VERSION as it is now.
4947447
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, agreed with @dkoes - next release should be from 2.99.*
4947447
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
4947447
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So call 2.99.0xa3 "3.0.a3" in the package.json. But I want to be able to compile against master without having to first edit the version.
4947447
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, there's a difference between the OB_VERSION_CHECK header and the external name for the code.
Even if we change the macro, there are a variety of codes that mis-interpret alpha/beta designations. I remember this painfully (thus 1.99, 1.100, etc.)
4947447
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well, as you wish. But let's revisit this for OB 4.0. :-)