-
-
Notifications
You must be signed in to change notification settings - Fork 4.6k
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
PCL 1.8.0 release #1373
Comments
I am very close to completing the changelog (only two months worth of merged pull requests left). Any volunteers for the first item? Any conclusive thoughts about the second? |
I can provide some assistance if needed. 1- You do you check API breakage? Try to compile and run 1.7.2 tests on the current HEAD? |
@jspricke As a seasoned maintainer, could you please explain the procedure for such a check? |
Good question, we never did it before but it would be great to document API changes in the release notes. |
👍 I'll give a try over the weekend. |
Status update: My current approach is the create and XML for each module which generates a shared lib, starting with pcl_common. Here's an example of the xml descriptors I'm using in case you want to replicate. <version>
1.7.2
</version>
<headers>
/opt/pcl/install_1_7_2/include/pcl-1.7/pcl/common/
</headers>
<libs>
/opt/pcl/install_1_7_2/lib/libpcl_common.1.7.2.dylib
</libs>
<include_paths>
/usr/local/include/eigen3/
/opt/pcl/install_1_7_2/include/pcl-1.7/
</include_paths> <version>
1.8.0
</version>
<headers>
/opt/pcl/install_1_8_0/include/pcl-1.8/pcl/common/
</headers>
<libs>
/opt/pcl/install_1_8_0/lib/libpcl_common.1.8.0.dylib
</libs>
<include_paths>
/usr/local/include/eigen3/
/opt/pcl/install_1_8_0/include/pcl-1.8/
</include_paths> And here's a first look into the only report I was able to generate, ignore the ABI report for now. Small comments (concerns while traversing this uncharted territory experience):
|
Now I recall I used the same tool to check ABI compatibility between 1.7.1 and 1.7.2. For reference, here is a report from last time. |
@taketwo Can you share the XML descriptors you used for all the modules. It would save me some time :) |
I found the report in my mail. I'll need to check another laptop to see if the descriptors are still stored somewhere. As a side note, I was recently browsing OpenCV cmake scripts and came across a generator for ABI compliance checker: OpenCVGenABI.cmake. We may consider borrowing this. |
Checked. Unfortunately, I don't have these config files anymore. |
So here's a bundle with xml descriptors, abi dumps, compatibility reports and logs. For the time being, I created the xml descriptors manually. This was done on Linux. General comments:
So... a small example of things that were broken... pcl_common: |
Note that we are ok with ABI breakage (the minor version is part of the Soname). |
So what's the conclusion here? I'm done with the changelog, so this is the last item preventing release. |
I had a quick look through the reports (thanks @SergioRAgostinho for creating them!). What I did: |
The first one should not break user code; the rest could, but what can we do about it? |
I think the last one, should also be source compatible. The method was modified to be templated, so the compiler should still be able to infer the type even if not specified explicitly.
Giving some proper highlighting |
We may add such signs in the changelog for each item that modified the API. I'll finalize the PR with log tonight and we'll merge it. Would you care then to send another one which adds signs? |
It was rather late, so I'm not sure I got everything (maybe doing a diff would help, as there are really a lot of duplicates). |
Summing up what I'm getting in terms of deprecations:
Edit: Added #941. |
Thank you. We will put this list in the release description here. Actually, I would propose so change the description content compared with the previous releases. Keep only the list of most important new features and depreciations, and refer to |
I prefer that approach as well. I've added one more item to the deprecation list. |
Hey guys, how are we on this? |
I guess... work in progress 😄 Do we agree on this list of published modules? It's the actual default list!
|
I have the impression that was in fact the final opinion. Just keep it as it is. |
So... we need to tag RC and later release. There is a certain sequence of actions involving creating new tags and merging master into them. I'm a bit fuzzy here because Jochen always did it himself. @jspricke would you mind to take care of this? I'll do announcements and later GitHub release. |
Actually there is not much behind it, just tag it (as I just did) ;). The interesting thing is probably how to do further release candidates. I don't like having an extra branch in the origin repo for it, as it would clutter everyones clone. So I usually have my local RC branch and just push the tags of it. |
What about the commits that live in release "branches", but are not a part of the master? |
As far as I can see, all ROS related commits are in master as well. |
You are right, all these ROS commits are included in the master, but with different hashes. So the effective difference between 1.7.2 and master is:
I'd vote to leave out |
We removed most of the modules because Radu though they where not ready, but he is ok with it now. I would vote with leaving cuda and gpu in but disabled, as it makes maintenance and new releases much easier. I'm still not sure with Brisk because of being SSE4 only, but I would leave it in this time. I have the impression that we fixed the MSVC problem somehow in master, maybe someone can give it a try? |
You are right, we fixed it with #897. Also, @UnaNancyOwen mentioned in #1530 that he succeeded building the release candidate on Windows. There are two small pending pull requests for SSE support (#1523, #1525). What about merging them and then tagging the release? |
I've updated CHANGES.md one last time (and pushed directly to master). I think we are good to go with the release. (But we'll need to change the release date inside CHANGES.md file when we are sure about it). |
Thanks @taketwo! I've just tagged an other RC and send a mail to the developers list for feedback. If there is no serious problem coming up, I would propose to release in the next days. |
I've updated to RC2 and encountered the same issues as noted in #1563. Where is the appropriate place to bring this if I want the issue fixed before release? |
PCL 1.8.0 have passed an about 2 months from the RC2 released. |
After more than one year and over 600 commits since 1.7.2, I think it is time to consider releasing a new version. Below is a tentative checklist for the release preparation:
There are two interesting work-in-progress items (default alpha values #1141, optimizations #1361), however I think it is hard to foresee all effects of applying them. The unit test coverage is far from 100%, so we can not be entirely sure that we don't break something. Therefore, I would avoid merging them shortly before the release.
Another issue that is worth attention is #1275, however I don't think that it should hold off the release. Once we have a solution, we can roll out 1.8.1.
The text was updated successfully, but these errors were encountered: