Skip to content

raylib so versioning with 3.0.0 release #1163

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

Closed
jubalh opened this issue Mar 31, 2020 · 16 comments
Closed

raylib so versioning with 3.0.0 release #1163

jubalh opened this issue Mar 31, 2020 · 16 comments

Comments

@jubalh
Copy link
Contributor

jubalh commented Mar 31, 2020

You are naming the shared objects files:

/usr/lib64/libraylib.so.2.6.0
/usr/lib64/libraylib.so.261

Are you sure about this for the 3.0.0 release?

@raysan5
Copy link
Owner

raysan5 commented Mar 31, 2020

@jubalh yeah, I know, I have to re-release it...

@raysan5
Copy link
Owner

raysan5 commented Mar 31, 2020

re-released! :)

@raysan5 raysan5 closed this as completed Mar 31, 2020
@jubalh
Copy link
Contributor Author

jubalh commented Mar 31, 2020

Should that really be /usr/lib64/libraylib.so.301?
Before we had:

libraylib.so.2                                                                                                                                                                
libraylib.so.2.5.0

Which looks good to me. Like any other project I'm aware of does it too. But not sure why we would want 301 instead of 3.

@raysan5
Copy link
Owner

raysan5 commented Mar 31, 2020

@jubalh actually that's how it was configured in CMake by @a3f.

I can't remember the logic behind it right now...

EDIT: Actually CI system failed and I need to launch it again...

@raysan5 raysan5 reopened this Mar 31, 2020
@jubalh
Copy link
Contributor Author

jubalh commented Apr 1, 2020

It would be good if you do not remove the 3.0 tag once you tagged it and apply it to another commit.
People pull from that tag, create tarballs for distribution and try to include it in Linux distros.
They will end up with different states in such a case.

If you realize something needs to be fixed it would be good to create a new tag and release then. So 3.0.1, 3.0.2 etc.
Otherwise all systems that depend on you will get confused.

I think we have had three different commits tagged as 3.0.0 now, and even drafted as release ;)

@raysan5
Copy link
Owner

raysan5 commented Apr 1, 2020

@jubalh Oh, sorry, there are problems with raylib.dll on Windows and I'm working on them to release a fully working 3.0. Is it possible to wait for a while before pulling tags? Or it is an automatic process?

@jubalh
Copy link
Contributor Author

jubalh commented Apr 1, 2020

Yes I stopped the pulling. But it would be better practise to just tag it as beta release or increase the last number :)
Since it might be that others rely on the tag too (from who we don't know and who maybe don't check the bug tracker).

@raysan5
Copy link
Owner

raysan5 commented Apr 1, 2020

@jubalh is it ok if I keep the release and tag but I update the attachments? It's a problem with the Windows DLL building...

@jubalh
Copy link
Contributor Author

jubalh commented Apr 1, 2020

Well just do as you like :)
Please ping me here once everything is finished, then I'll update :)

@raysan5 raysan5 unassigned a3f Apr 1, 2020
@raysan5
Copy link
Owner

raysan5 commented Apr 1, 2020

@jubalh Current raylib 3.0 release is final, I'm not deleting or re-tagging it.

Just note that raylib-3.0.0-Win64-mingw.zip attachment dll is not working properly and I'll try to re-upload that attachment at some point.

@jubalh
Copy link
Contributor Author

jubalh commented Apr 1, 2020

Okay but in case you change anything, for exmaple the so name. Please create a new tag and dont remove/add the 3.0.0 one. Because I will submit to official repos now.

@raysan5
Copy link
Owner

raysan5 commented Apr 1, 2020

@jubalh ok, no worries.

@a3f
Copy link
Contributor

a3f commented Apr 1, 2020

Should that really be /usr/lib64/libraylib.so.301?

It should be libraylib.so.300 for the release and after the tagging, it should be libraylib.so.301, so binaries linked against the release raylib aren't accidentally paired with a development or later released raylib this may be incompatible.

Like any other project I'm aware of does it too. But not sure why we would want 301 instead of 3.

Every raylib release adds breaking changes, so we will be incrementing the number on every release anyway.

Instead of counting up and ending up with raylib.so.16 for raylib.so.4.2, I decided just multiplying by 100 is the most readable, because it can be easily mapped to the official release versions.

@jubalh
Copy link
Contributor Author

jubalh commented Apr 2, 2020

Every raylib release adds breaking changes, so we will be incrementing the number on every release anyway.

If this is the case then it makes sense.

@jubalh jubalh closed this as completed Apr 2, 2020
@jubalh
Copy link
Contributor Author

jubalh commented Apr 2, 2020

BTW are the API breaking changes documented somewhere? This would make it much easier for developers to migragte from one raylib version to the next.

@raysan5
Copy link
Owner

raysan5 commented Apr 3, 2020

@jubalh CHANGELOG details all the functions added, removed or reviewed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants