-
-
Notifications
You must be signed in to change notification settings - Fork 6.9k
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
3.15 Release #9210
Merged
Merged
3.15 Release #9210
Changes from all commits
Commits
Show all changes
71 commits
Select commit
Hold shift + click to select a range
988bc3a
Release Notes for 3.15
math-a3k 965e9bc
Release date pending
tomchristie 18f7567
Merge branch '315_rn' of https://github.com/math-a3k/django-rest-fram…
tomchristie 428b584
Merge branch 'master' into math-a3k-315_rn
tomchristie 5313ae6
Changes to docs should not be included in release notes.
tomchristie 7b57ec4
Changes to project workflow should not be included in release notes.
tomchristie 7f55921
Changes to docs should not be included in release notes.
tomchristie 631b8c1
Changes to docs should not be included in release notes.
tomchristie 7848ffd
Changes to project workflow should not be included in release notes.
tomchristie ff803c8
Changes to docs should not be included in release notes.
tomchristie f5b08ff
Changes to docs should not be included in release notes.
tomchristie 3fc4baa
Changes to docs should not be included in release notes.
tomchristie d7df722
Changes to docs should not be included in release notes.
tomchristie 9324a23
Changes to docs should not be included in release notes.
tomchristie 088f912
Changes to docs should not be included in release notes.
tomchristie 8aaf97f
Changes to project workflow should not be included in release notes.
tomchristie 42b78d0
Changes to project workflow should not be included in release notes.
tomchristie 3ef5fe2
Changes to project workflow should not be included in release notes.
tomchristie 5d0c331
Changes to docs should not be included in release notes.
tomchristie 9765941
Changes to project workflow should not be included in release notes.
tomchristie aa27efb
Changes to docs should not be included in release notes.
tomchristie 1a61130
Changes to project workflow should not be included in release notes.
tomchristie 7a374ea
Changes to docs should not be included in release notes.
tomchristie 0e73dfb
Fix typo
tomchristie 98a5b9a
Changes to tests should not be included in release notes.
tomchristie 555b2ef
Changes to project workflow should not be included in release notes.
tomchristie 5d1be7e
Changes to docs should not be included in release notes.
tomchristie 398aa1e
Changes to docs should not be included in release notes.
tomchristie 3e88e65
Changes to docs should not be included in release notes.
tomchristie ba2bb6e
Changes to project workflow should not be included in release notes.
tomchristie d428aed
Changes to project workflow should not be included in release notes.
tomchristie ab7bb95
Changes to project workflow should not be included in release notes.
tomchristie 2b27c85
Changes to project workflow should not be included in release notes.
tomchristie bfbb04a
Changes to project workflow should not be included in release notes.
tomchristie 402b0f4
Changes to docs should not be included in release notes.
tomchristie 40f2289
Changes to docs should not be included in release notes.
tomchristie f0b6150
Changes to docs should not be included in release notes.
tomchristie c8b935e
Changes to docs should not be included in release notes.
tomchristie fecd1bf
Changes to tests should not be included in release notes.
tomchristie 1b7e0bd
Changes to tests should not be included in release notes.
tomchristie e32b879
Fix typo in release notes.
tomchristie cc5b572
Changes to project workflow should not be included in release notes.
tomchristie 1ae36c5
Changes to project workflow should not be included in release notes.
tomchristie 3017b72
Changes to docs should not be included in release notes.
tomchristie 1a2323a
Changes to docs should not be included in release notes.
tomchristie 50ff175
Changes to tests should not be included in release notes.
tomchristie c4044d4
Changes to docs should not be included in release notes.
tomchristie 60b9ca6
Changes to docs should not be included in release notes.
tomchristie 8a0382c
Changes to docs should not be included in release notes.
tomchristie fd0edb3
Changes to docs should not be included in release notes.
tomchristie 81a5487
Changes to docs should not be included in release notes.
tomchristie 914002b
Changes to docs should not be included in release notes.
tomchristie cda0ec6
Changes to docs should not be included in release notes.
tomchristie 0660d66
Changes to docs should not be included in release notes.
tomchristie 70a4432
Improve changelog entry
tomchristie 09325ac
Changes to docs should not be included in release notes.
tomchristie da6e6dc
Changes to docs should not be included in release notes.
tomchristie af6313a
Changes to project workflow should not be included in release notes.
tomchristie f2dc192
Changes to docs should not be included in release notes.
tomchristie 9e0003c
Update docs/community/3.15-announcement.md
tomchristie 53b5f62
Update docs/community/3.15-announcement.md
tomchristie 69baf94
Update docs/community/3.15-announcement.md
tomchristie dbba90a
Update docs/community/release-notes.md
tomchristie 204ef05
Update docs/community/release-notes.md
tomchristie 7549bdc
Update docs/community/release-notes.md
tomchristie b42d1ae
Update docs/community/3.15-announcement.md
tomchristie 4b74fe0
Update docs/community/release-notes.md
tomchristie a45dd07
Update docs/community/release-notes.md
tomchristie 51fd06e
Update release version
tomchristie de2407f
Update supported Python and Django versions
tomchristie 79cc4a6
Merge branch 'master' into math-a3k-315_rn
tomchristie File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
<style> | ||
.promo li a { | ||
float: left; | ||
width: 130px; | ||
height: 20px; | ||
text-align: center; | ||
margin: 10px 30px; | ||
padding: 150px 0 0 0; | ||
background-position: 0 50%; | ||
background-size: 130px auto; | ||
background-repeat: no-repeat; | ||
font-size: 120%; | ||
color: black; | ||
} | ||
.promo li { | ||
list-style: none; | ||
} | ||
</style> | ||
|
||
# Django REST framework 3.15 | ||
|
||
At the Internet, on March 15th, 2024, with 176 commits by 138 authors, we are happy to announce the release of Django REST framework 3.15. | ||
|
||
## Django 5.0 and Python 3.12 support | ||
|
||
The latest release now fully supports Django 5.0 and Python 3.12. | ||
|
||
The current minimum versions of Django still is 3.0 and Python 3.6. | ||
|
||
## Primary Support of UniqueConstraint | ||
|
||
`ModelSerializer` generates validators for [UniqueConstraint](https://docs.djangoproject.com/en/4.0/ref/models/constraints/#uniqueconstraint) (both UniqueValidator and UniqueTogetherValidator) | ||
|
||
## ValidationErrors improvements | ||
|
||
The `ValidationError` has been aligned with Django's, currently supporting the same style (signature) and nesting. | ||
|
||
## SimpleRouter non-regex matching support | ||
|
||
By default the URLs created by `SimpleRouter` use regular expressions. This behavior can be modified by setting the `use_regex_path` argument to `False` when instantiating the router. | ||
|
||
## ZoneInfo as the primary source of timezone data | ||
|
||
Dependency on pytz has been removed and deprecation warnings have been added, Django will provide ZoneInfo instances as long as USE_DEPRECATED_PYTZ is not enabled. More info on the migration can be found [in this guide](https://pytz-deprecation-shim.readthedocs.io/en/latest/migration.html). | ||
|
||
## Align `SearchFilter` behaviour to `django.contrib.admin` search | ||
|
||
Searches now may contain _quoted phrases_ with spaces, each phrase is considered as a single search term, and it will raise a validation error if any null-character is provided in search. See the [Filtering API guide](../api-guide/filtering.md) for more information. | ||
|
||
## Default values propagation | ||
|
||
Model fields' default values are now propagated to serializer fields, for more information see the [Serializer fields API guide](../api-guide/fields.md#default). | ||
|
||
## Other fixes and improvements | ||
|
||
There are a number of fixes and minor improvements in this release, ranging from documentation, internal infrastructure (typing, testing, requirements, deprecation, etc.), security and overall behaviour. | ||
|
||
See the [release notes](release-notes.md) page for a complete listing. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The current minimum versions of Django is 3.0 and Python 3.7.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That was, given that my 3.6 removal PR was taken into this release. But the PR now removes 3.6 and 3.7, and given DRF still officialy supports django 3.0. which supports python 3.6 and 3.7, we can't take it for the 3.15 release.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think Django 3.0 can be supported with Python 3.7 only, it doesn't seems a bad thing to me
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what's the point of doing that?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It would alleviate the CI while still accepting bugs from Django 3.0.
Dropping support for a version means "no bugs on that stack will be addressed nor the backward compatibility will be checked" to me.
In the case of a bug arising from Django 3 and Python 3.6, it should be encouraged to upgrade Python and see if it persists.
It would still be compatible with your PR as Django 3 supports Python 3.6-3.9 (https://docs.djangoproject.com/en/5.0/releases/3.0/). With your PR, the minimum version of the stack checked (or fully supported) would be Django >= 3, Python >= 3.8
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Moving to Django 4.0+ and Python 3.8+ would prob be sensible.
3.2 LTS is almost at EOL... https://www.djangoproject.com/download/#supported-versions
We could then tie into their release cadence.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think keeping support of django 3.2 LTS would be a good idea now. we should keep two LTS working for easier upgrades from existing projects.