Skip to content
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

Version 3.13 #8285

Merged
merged 4 commits into from
Dec 13, 2021
Merged

Version 3.13 #8285

merged 4 commits into from
Dec 13, 2021

Conversation

tomchristie
Copy link
Member

Okay, so we ought to get a new minor point release out, in order to handle Django 4.0 comparability.

I've based the release notes here on the changes from https://github.com/encode/django-rest-framework/commits/master and only including actual package changes. Most of our commit history at the moment is docs + tooling tweaks, which aren't relevant to the release notes.

I'm slightly concerned about #7632 here - there's potential for us introducing breakage here. Options here include:

Actually we really only need to make a decision between (1) and (2 or 3). In order words, we can revert #7632, and make a decision on it for 3.13 some other time.

There's also another option...

  • Don't worry about it, just issue this as 3.12.5 as it currently stands.

But that's probably not in out user interests - I'd guess that we're bound to have enough folks not using keyword arguments on their fields, that we'll add some unexpected breakages in a minor point release, which probably ain't what we want.

Thoughts @encode/django-rest-framework maintainers / anyone?

Copy link
Collaborator

@carltongibson carltongibson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would issue a 3.13, calling out the change (and the adjusted Python version support) in the release notes.

I always get complaints dropping even EOL versions in point releases. (Here I guess it's worth checking the python_requires value.)

@carltongibson
Copy link
Collaborator

Currently:

python_requires=">=3.5",

@tomchristie
Copy link
Member Author

Just to make it clear: as it stands we're not EOL'ing anything.
Though if we got for a 3.13 then I think we probably should.

But sure, I'd be perfectly okay with that assessment.

See also #8286 as an option.

@carltongibson
Copy link
Collaborator

Formally remove Python 3.5 and Django 3.0 support.

Also Django 3.1 is EOL as of Tuesday, so I'd be inclined to drop that too. (I know it feels quick, but there's no reason for folks to be on 3.x but not 3.2.)

@tomchristie
Copy link
Member Author

@carltongibson Is there a one-stop page on the Django docs that show which versions are currently under security-support? I looked around to try to figure out which versions we ought to be supporting, but I didn't get a clear enough view of it.

@adamchainz
Copy link
Contributor

Is there a one-stop page on the Django docs that show which versions are currently under security-support? I looked around to try to figure out which versions we ought to be supporting, but I didn't get a clear enough view of it.

There's the timeline graph on https://www.djangoproject.com/download/

@tomchristie
Copy link
Member Author

Ah thanks Adam! That was the one I was looking for. 😄

@adamchainz
Copy link
Contributor

I would issue a 3.13, calling out the change (and the adjusted Python version support) in the release notes.

This sounds like the right path to me too. The keyword-only argument change will break some projects for sure.

@tomchristie
Copy link
Member Author

Okey-dokesters. Two votes there is enough for me.
I can't quite see what a 3.13 version of the standard https://www.django-rest-framework.org/community/3.12-announcement/ announcement page would look like here.

"Hey folks we have Django 4.0 support! Yays. Please continue as you were."

I mean, probably that's actually ookkkkaaayyyy.

They can't all be ritzy snazzsters of a release right?

@carltongibson
Copy link
Collaborator

Updates for latest versions.
Dropped EOL Versions.
Potential gotcha from #7632.

That's enough. (Numbers are cheap. :)

@tomchristie
Copy link
Member Author

This... #7411 might be worth pulling in for 3.13 too right?

I'm not sure how best to review it, but we might as well get on with it, and tease out any issues that need resolving.
It's a super big chunk of work, be great to get it wrapped in.

@pauloxnet
Copy link
Contributor

IMO since Django 3.2.9+ and 4.0 both support Python 3.10 it would be worth adding support for Python 3.10 in DRF before releasing version 3.13

@tomchristie
Copy link
Member Author

@pauloxnet Absolutely. Good spot.

Adding it to the matrix in #8287 to see if it's currently running cleanly or not.

@tomchristie
Copy link
Member Author

We're good. 😎

(I mean, that's what you'd hope for right - python bumps are mostly backwards compat apart from the occasional deprecation along the way. We more typically need to track deprecations in Django than deprecations in the Python stdlib.)

@pauloxnet
Copy link
Contributor

Great 👍
I thought that there would be no compatibility problems, but surely Python 3.10 support had to be explicitly added.
Thanks 🙏

@pauloxnet
Copy link
Contributor

@tomchristie I opened the PR #8288 for Python/Django compatibility

@tomchristie
Copy link
Member Author

Okay I've reviewed the bootstrap update, and I don't think that'll make the cut, at least for this version. #7411

I'll prob have a look into wrapping this up into a 3.13 release on Monday.

@kevin-brown
Copy link
Member

kevin-brown commented Dec 10, 2021

For what it's worth, I'm also +1 to cutting a 3.13 release with the keyword argument change in it. I'd love to also get the EOL changes included (since it's the perfect opportunity) but I can settle for those coming later. Nevermind, the current EOL changes are just right.

@tomchristie tomchristie changed the title Version 3.12.5 Version 3.13 Dec 13, 2021
@tomchristie
Copy link
Member Author

Okay, I think this is all we need really.
Anything else before we push on with it?

@carltongibson
Copy link
Collaborator

Is #8291 from @tim-mccurrach just worth looking at? 🤔

@tomchristie
Copy link
Member Author

Seeeeemmmms like a good call, yup.

@carltongibson
Copy link
Collaborator

carltongibson commented Dec 13, 2021

@tomchristie I didn't have a chance to think it through (yet) so I might ask @tim-mccurrach to explain it. 🧐

@tomchristie tomchristie merged commit 7a84dc7 into master Dec 13, 2021
@tomchristie tomchristie deleted the version-3.12.5 branch December 13, 2021 13:11
@tomchristie
Copy link
Member Author

Right, done.

@carltongibson
Copy link
Collaborator

Thanks @tomchristie! 👍

@adamchainz
Copy link
Contributor

@auvipy
Copy link
Member

auvipy commented Dec 13, 2021

the core api deprecation pr's can be included if you want

sigvef pushed a commit to sigvef/django-rest-framework that referenced this pull request Dec 3, 2022
* Version 3.12.5

* Version 3.13

* Version 3.13
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

Successfully merging this pull request may close these issues.

None yet

6 participants