-
Notifications
You must be signed in to change notification settings - Fork 782
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
0.21 Release #3674
Comments
I thought about this as well, and I think realistically the better option for users is a version which has
I thought about this repeatedly and I am really uneasy about a version ceiling as this could really complicate maintenance of old software systems which should be completely usable, i.e. think of a researcher picking up a simulation model after it was left untouched for a few years. What I could imagine doing is to require opt-in into building against alpha versions but I see much less of a case for doing so as using an alpha version does come with the expectation of breaking. Due to the above, I would be glad if we could postpone making a decision on this and avoid blocking a 0.21 release on the issue. |
Sure thing, I think it would be acceptable to make checks for #3555 land in a patch release anyway. I do feel quite strongly that we need some extra safety there, but let's discuss on that thread. |
I'm definitely ok with moving ahead with that; if we can say that migrating to the I'll proceed to prep the next batch of PRs for the |
Two things I wonder is, if we release 0.21 with
|
I would like us to release with a more permanent-sounding name than TBH if the first step of the migration was to rename all items of
Yes, and I suggest we go further and gate off the pool-based API with an |
To be honest, I think this is one of those path-dependent situations again. If we would start from scratch than I just don't see any material/technical reason to not give a permanent name like
Hhhmmm, not sold yet. How about a feature (or plain cfg flag, environment variable, etc.) to disable the pool-based API to be confident that it isn't used? I don't the think churn of everybody who is not yet willing to migrate have to turn this on is helpful. (Generally, I think it is better to not to try to force downstream projects into doing something by having them jump through hoops to keep doing what they are doing.) |
( |
Fair enough. One option could just be to deprecate every API that touches the pool, and not bother with a feature? That way their code should keep compiling but just be quite noisy about that fact 😅 |
I think you're right, and we can always revisit this again at, say, 1.0. Here's a brain dump of ideas of more names for
I'm reasonably sure I don't like I'll continue to ponder this evening while I do my son's bedtime for the next few hours... |
I'm currently thinking Another reasonable option is |
I like |
Or maybe even just |
Agreed How would you feel about |
Ah I see we had a cognitive race 😅 Let's try |
In #3113 we discussed raising the MSRV to 1.63, but ultimately decided to go to 1.56. It's now been several months -- should we consider raising the MSRV to 1.63 for the 0.21 release? If so, I can easily put together a PR for that. Notably, this would allow us to drop the |
While I love bumping MSRV, I think it would need to be 1.62 as per #3113 (comment) I wonder though if it's better to keep it back for 0.22? It's not strictly necessary to bump right now, and there's so much changing in 0.21 anyway. |
Ok, let's hold until after we get this large release out. |
Note to future self: RHEL9 now has 1.71, they updated it in RHEL9.2 and RHEL9.3 |
Any rough idea on timeline for this release? We're eager to upgrade to Pydantic v2, but can't until they've migrated to PyO3, which in turn requires this release! |
Pydantic are already using PyO3, but 0.21 will have a new API being implemented in #3684 that unlocks a lot of performance and memory wins, plus safety corrections. I suspect that this is what you've seen discussed in other threads. I want to ship 0.21 ASAP as soon as #3684 is ready. @adamreichold and I have been chipping away at this for some months now and recently @Icxolu, @snuderl and @LilyFoote have been giving some much-appreciated additional momentum to the work. I feel like we're getting close now. Definitely not this week. Probably not the week after. But at the rate we're going I'd really like us to ship this late Feb / early March. |
its happening dot gif!!!! |
And it has now happened, a week ago already 🚀 |
Now that we've merged quite a lot of breaking improvements (😄) onto
main
, I think we should consider releasing before we go too much longer.Given the recent soundness discussions, I think there's a few pieces that need resolving/merging first:
GILPool
is a broken abstraction in presence ofgevent
#3668There's also a couple of pieces which are nearly there which I think would be very desirable to merge:
PyTryFrom
andPyTryInto
#3601The main question, in my opinion, is what the
gevent
fix will look like. If it's not too heavy a performance impact, we could consider releasing once all the above is done.If the
gevent
fix is a major bottleneck, we may want to also release the newPy2
API at the same time. This will create a significantly harder migration for users, however.The text was updated successfully, but these errors were encountered: