-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Semantic release numbers #2923
Comments
Short answer: Yes Long answer: I'm definitely in favour of semantic versioning. We need to find a good way to keep the Changelog updated and document all the major and minor changes. It would be best if there are some automatic tools/bots which help us with that and check pull requests correspondingly. I don't mind if we reach version 10.0 in a year, honestly do not care that much about version numbers, as long as they make sense = stick to semver. @jpfr maybe the 1.0 release is a good starting point to enforce semver? |
Maybe integrating https://github.com/semantic-release/semantic-release would be a good idea? Also nicely mentioned here: |
Because at present the SONAME is set independently of <major_number> and <minor_number> in One interim solution to overcome the SONAME problem on Linux could be to change the relevant
This results in a change of SONAME if <major_number> AND/OR <minor_number> changes. This may be a bit strange, because the SONAME then looks like |
Description
At the moment the version of the open62541 shared libraries respectively the SONAME will be defined in
CMake.txt
by# Generate properly versioned shared library links on Linux SET_TARGET_PROPERTIES(open62541 PROPERTIES SOVERSION 0 VERSION "${OPEN62541_VER_MAJOR}.${OPEN62541_VER_MINOR}.${OPEN62541_VER_PATCH}")
In this case the SONAME of the produced shared library will be generated as
libopen62541.so.0
AFAIK the SONAME must change if the ABI and/or API changes to be sure that applications must be compiled and linked new because of incompatible changes in the library.
To organize this a solution could be the so called Semantic Versioning (amongst others explained @ https://semver.org/)
As far as I see at the moment the shared library API and/or ABI changes already if the <minor_number> changes, am I right?
Question:
Does it make sense and is it reasonable to ensure being compatible with Semantic Versioning (beginning with version 1.0.0) ?
Remark:
This is also important for the scheme how to build debian packages and how to deal with shared objects on Linux
Checklist
Please provide the following information:
The text was updated successfully, but these errors were encountered: