OpenKinect / libfreenect2

Open source drivers for the Kinect for Windows v2 device
2.08k stars 750 forks source link

Preparing for a 0.1 release? #233

Closed floe closed 8 years ago

floe commented 9 years ago

libfreenect2 has been brewing for a while now, and I think we might consider a 0.1 release sometime soon. I'd like to use this issue to collect/discuss all the other issues/PRs that still needs sorting out, please comment below. /cc @christiankerl @xlz @larshg @hovren @gaborpapp @goldhoorn @wiedemeyer @steppobeck

Issues/PRs to be addressed before 0.1 release, in no particular order:

hovren commented 9 years ago

I have mostly been interested in getting the timestamp data in PR #221 merged, so I am happy as soon as that happens. I have not had the time to look at any of the other PRs or issues in a while, unfortunately.

I think having a 0.1 release out the door would be really great! For example, I already have prototype code to have KinectFusion in PCL running with libfreenect2, but haven't had time to propose it for merge there yet. Having an actual libfreenect2 release would probably make it more interesting for the PCL people to have a libfreenect2 grabber as well.

goldhoorn commented 9 years ago

For me i still waiting for the merge. I would really like to integrate this library into http://www.rock-robotics.org/ but for this i need a version that compiles without doing strange 'magic' in the cmake system. The pure library, this is #68 for which is the version i currently using on my test-setup which is not published

gaborpapp commented 9 years ago

Handling the race condition in #212 solved some crash issues for me at exit. Would be nice to be included.

floe commented 9 years ago

Since one of the big features of libfreenect2 is the ability to use multiple cameras on one machine, #82 would probably also be nice to include.

goldhoorn commented 9 years ago

@goldhoorn #68 mixes too many things on Windows. It is probably a good idea to merge your pkg-config patch first for Linux.

i still don't get why #68 should be a mix, it is only a cleanup/extension how it is done currently. As the patch was created @floe and me made sure that the 'old way' of handling librarys is not changed. The new part only uses pure cmake/pkg-config to find librarys. So it is not a mix between things

kohrt commented 9 years ago

I would love to see the issue #101 to be resolved before the release, so that the library can be compiled and used without modifying the CMakeLists.txt manually.

floe commented 8 years ago

I guess we're nearly there... I'll now tag the current state as 0.1-rc1. Let's see how this goes.

floe commented 8 years ago

Here we are: https://github.com/OpenKinect/libfreenect2/releases/tag/v0.1-rc1

steppobeck commented 8 years ago

Congratulations :-)!!!

On Nov 6, 2015, at 1:27 PM, Florian Echtler wrote:

Here we are: https://github.com/OpenKinect/libfreenect2/releases/tag/v0.1-rc1

� Reply to this email directly or view it on GitHub.

Stephan Beck Virtual Reality Systems Group Faculty of Media Bauhaus-Universitaet Weimar Bauhausstra�e 11 99423 Weimar Germany phone: +49 3643 - 58 3734 fax : +49 3643 - 58 3709 email: stephan.beck@uni-weimar.de email: stephan@pixelstars.de web : http://www.uni-weimar.de/de/medien/professuren/vr/

RyanGordon commented 8 years ago

Awesome!

floe commented 8 years ago

Once #486 has been resolved/merged, I'd say we're ready for 0.1-final. Please test extensively in the meantime :-)

xlz commented 8 years ago

And #462.

floe commented 8 years ago

A couple of other things have crept in, but I think we're now ready for 0.1-rc2, which will then become 0.1-final. I'll create a tag.

xlz commented 8 years ago

One last thing I can think of other than fixing new bugs is to check memory leaks.

floe commented 8 years ago

https://github.com/OpenKinect/libfreenect2/releases/tag/v0.1-rc2

Only issue left in 0.1 is #109, which can't be fixed in the repository. I'll look into beignet packaging next.

xlz commented 8 years ago

Moved to https://github.com/OpenKinect/libfreenect2/wiki/TestPlan

ahundt commented 8 years ago

You may want to also consider a "burn in" test, where you just run the driver for a "long time" (perhaps a few days to a week?) to ensure it doesn't fail.

xlz commented 8 years ago

Making a binary release, especially for Windows, is a release target too. More in #244.

xlz commented 8 years ago

Copyright audit. A list of foreign files and their copyrights:

RyanGordon commented 8 years ago

Should we go ahead and do a 0.1-RC3 or a 0.1 final release? Seems like the only thing left is getting a binary release completed

xlz commented 8 years ago

Depending on how much testing is still wanted. There doesn't seem to be lots of people doing testing right now. We can release a 0.1.0 quickly, and release 0.1.z as bug fix releases, while adding new features in 0.2.0. Frequent releases seem a good thing for an open source project.

Binary release for windows is done. Linux or MacOSX's homebrew needs outside packagers to do something.

RyanGordon commented 8 years ago

Agreed, I think getting 0.1.0 out there would be great so we can work on 0.2.0 sooner - I don't think the community expectations are as high for a 0.x than a 1.x

I will look into making a brew PR for libfreenect2 and submitting it

xlz commented 8 years ago

Also, don't forget to update the docs. There are some changes since the last generated one.

floe commented 8 years ago

Docs have been updated.

I've been reviewing the diff to v0.1-rc2 and everything looks good, I came across one change I'd like to clarify:

diff --git a/freenect2.pc.in b/freenect2.pc.in
index 50e5570..0e72ecd 100644
--- a/freenect2.pc.in
+++ b/freenect2.pc.in
@@ -5,8 +5,7 @@ includedir=${prefix}/include

 Name: freenect2 
 Description: Driver for the Kinect v2 (aka K4W) 
-Version: 
-Requires: @DEPS_PKGCONFIG@
+Version: @PROJECT_VER@
 Libs: -L${libdir} -lfreenect2
 Cflags: -I${includedir}

Was it intentional to remove the dependency on pkg-config?

I'll do a final live test tomorrow and then release 0.1.0. I'll also start a branch v0.1 - in fact, I'd like to try and move back a little as a maintainer and just stay responsible for the stable branch. @xlz, would you be willing to become maintainer for the development/master branch?

xlz commented 8 years ago

It is. DEPS_PKGCONFIG is not actually populated by CMake and the way to populate it is not trivial to get right.

I'm happy to take the responsibility of maintenance of the development branch.

floe commented 8 years ago

Great, glad to hear that. @JoshBlake could you add @xlz as collaborator?

JoshBlake commented 8 years ago

Invited @xlz as collaborator.

xlz commented 8 years ago

@JoshBlake Thank you for the invitation.

floe commented 8 years ago

@xlz release is ready, can I attach your binaries from https://github.com/xlz/libfreenect2/releases/tag/0.1.0-testing ?

floe commented 8 years ago

BTW, here you go: https://github.com/OpenKinect/libfreenect2/releases/tag/v0.1.0 (binaries to be added ASAP).

xlz commented 8 years ago

@floe Yes go ahead.

ahundt commented 8 years ago

Congrats, great work guys!

floe commented 8 years ago

I thought it would be a good idea to create a DOI for the release and register it at https://zenodo.org/ (see also https://guides.github.com/activities/citable-code/). However, I'm not seeing the OpenKinect/libfreenect2 repository in Zenodo. @JoshBlake can you maybe check if there are any organization settings that could have influence on that? (I do have access to repositories from other orgs, though.)

JoshBlake commented 8 years ago

@floe I created a Zenodo account and linked to GitHub. Unfortunately, it will only automatically create things for new releases (not existing), per https://twitter.com/zenodo_org/status/467385924532576256. I started an update/DOI entry for the 0.1.0 release. (That's when I realized #537 was an issue.)

Just now re-reading I realized you also registered. I thought you were asking me to. I can continue the process, just have one question. Or you can continue and manage it through your account. I have no preference. Since I linked after, we might check if the Zenodo webhook entry on Github needs to be reset to yours. Maybe tweet Zenodo.

Anyway, for Authors, I'm just using the maintainers, since there seem to be many contributors. What organization affiliation do @floe @christiankerl and @xlz want to list?

floe commented 8 years ago

I'd like to give it a try, as I might be using Zenodo more in the future. I think the issue here is that I can't access the webhooks (or any settings at all, for that matter) for the libfreenect2 repo, you would probably have to enable that somewhere in the OpenKinect org settings. Once that works, I'll just fix #537 and do a 0.1.1 release in a few days so Zenodo can then pick that up.

JoshBlake commented 8 years ago

@floe Granted you more access. Can you see https://github.com/OpenKinect/libfreenect2/settings/hooks or https://github.com/OpenKinect/libfreenect2/settings/collaboration?

floe commented 8 years ago

Yes, thanks. I'll try to re-connect with Zenodo now.

EDIT: seems to have worked, so 0.1.1 should automatically get a DOI now.

xlz commented 8 years ago

@JoshBlake My affiliation is on my github profile.

floe commented 8 years ago

@xlz was there some minor documentation update left for v0.1.1 regarding wait after Freenect2Device::close()?

xlz commented 8 years ago

@floe No, it's still not clear what the resolution of #539 is. Fixing by code should be better.

floe commented 8 years ago

OK, v0.1.1 is out and it does now have a DOI, so it can be properly cited: https://doi.org/10.5281/zenodo.45314 If you're using libfreenect2 for your academic research, please consider doing so.