Pybind11: Make a 2.2 release

Created on 21 Jul 2017  路  12Comments  路  Source: pybind/pybind11

We have a decent amount of new features and bug fixes for a new stable v2.2 release. Some big features (embedding support seems the biggest), lots of minor ones, and various bug fixes have landed into master over the last four months. I'm not suggesting we release it tomorrow, but I think we should start thinking about where to draw the line for 2.2.

PRs I think we should aim to merge:

  • [x] #951, #952 are bug fixes (and ready to merge).
  • [x] #805 (init factories) - the implementation is done; we need to decide whether to make this core (i.e. included by pybind11.h or not), and then I'll update the documentation accordingly before merging.
  • [x] #949 (py::local support for keeping a type's registration local to the module). This was a sort of experiment to think about fixing #919, but I think it worked out into a nice feature -- and I was actually surprised just how little code it actually needed to implement. This still needs me to write up the documentation, but I'll do that in the next couple of days.
  • [x] #928 (FindPythonLibs{,New} cmake compatibility) - this is ready to merge AFAICT.
  • [x] #925 (bool and numpy bool conversions)
  • [x] #907 would be nice to have it for the clearer command line instructions.
  • #901 (cutting off the maximum length in generated signatures) is a nice cosmetic feature. It needs some more tweaking, but if that happens it seems worth including. --> for v2.3
  • #934 (constexpr type signatures for C++11 and MSVC). Currently has a minor merge conflict, but aside from that I think it's ready to merge. --> for v2.3

Other features in the queue that I think might not make it:

  • #864 (Revising type casters) - I think this is going to be a pretty significant change, and likely to go through a fair amount of discussion/suggestions/changes from start to finish. I'm not opposed to including it if its done soon, but of course I also think it's important to get it right.
  • #781 (python 3.4 enums) - this is still marked WIP and, I guess, still in progress. I think the last discussion was that it was going to be separate from enum_<> due to backwards-compatibility issues with how enum_ worked; beyond that I'm not entirely sure of the status.

Thoughts?

Most helpful comment

All of the PRs discussed above have been merged. I've gone over the changelog one more time, fixed some typos, noted some of the last-minute additions and added a short entry for the upgrade guide: 4c5404421f7c1fe9cc941df1cbc645222aae7b6c

If there's nothing else, I think this might be good to go.

All 12 comments

Yeah, seems like a good time for a new release. There's a good number of bug fixes and some nice new features.

I'd suggest postponing #934 for the next release, so it gets some time in master just in case there are any backward compatibility concerns. Also, it's related to #864 so if we find any need to adjust the casters it would be good to keep everything in one release and change things only once.

For the rest of the PRs, I very much agree with your assessment.

Would be great if https://github.com/pybind/pybind11/pull/960 could make it into a 2.2 release.

(From the peanut gallery): initial experience with pybind11 has been good other than brief documentation. Could really use #805 as soon as available.

Updates:

  • #901 was discussed for v2.2, but there isn't any activity so it might be best to mark that for the next release. -> v2.3
  • [x] #907 would be nice to have it for the clearer command line instructions.
  • [x] #1009 is pretty much done.
  • [x] For #1014, I'd just like to add the deprecation warning.
  • [x] #1026 is a critical fix. It's just waiting for CI to complete.

So, my thinking is: postpone the first one, finish the other 4 and call it a release. Would that work or is there anything else?

I'm not so happy with #901 yet, so dropping that for now sounds good to me. +1 for the rest.

Sounds good to me.

All of the PRs discussed above have been merged. I've gone over the changelog one more time, fixed some typos, noted some of the last-minute additions and added a short entry for the upgrade guide: 4c5404421f7c1fe9cc941df1cbc645222aae7b6c

If there's nothing else, I think this might be good to go.

See #1046, which I think is due to changes in https://github.com/pybind/pybind11/pull/1038.

See #1046, which I think is due to changes in #1038.

Fixed in #1047.

I'm ready to push the button. @jagerman, anything left from your end?

Nope, I think we're good to go!

Ok, done! -- the PyPi package is pushed, and the one on conda forge will be shortly.

Was this page helpful?
0 / 5 - 0 ratings