-
-
Notifications
You must be signed in to change notification settings - Fork 7k
3.15 Release #9210
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
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
lovelydinosaur 18f7567
Merge branch '315_rn' of https://github.com/math-a3k/django-rest-fram…
lovelydinosaur 428b584
Merge branch 'master' into math-a3k-315_rn
lovelydinosaur 5313ae6
Changes to docs should not be included in release notes.
lovelydinosaur 7b57ec4
Changes to project workflow should not be included in release notes.
lovelydinosaur 7f55921
Changes to docs should not be included in release notes.
lovelydinosaur 631b8c1
Changes to docs should not be included in release notes.
lovelydinosaur 7848ffd
Changes to project workflow should not be included in release notes.
lovelydinosaur ff803c8
Changes to docs should not be included in release notes.
lovelydinosaur f5b08ff
Changes to docs should not be included in release notes.
lovelydinosaur 3fc4baa
Changes to docs should not be included in release notes.
lovelydinosaur d7df722
Changes to docs should not be included in release notes.
lovelydinosaur 9324a23
Changes to docs should not be included in release notes.
lovelydinosaur 088f912
Changes to docs should not be included in release notes.
lovelydinosaur 8aaf97f
Changes to project workflow should not be included in release notes.
lovelydinosaur 42b78d0
Changes to project workflow should not be included in release notes.
lovelydinosaur 3ef5fe2
Changes to project workflow should not be included in release notes.
lovelydinosaur 5d0c331
Changes to docs should not be included in release notes.
lovelydinosaur 9765941
Changes to project workflow should not be included in release notes.
lovelydinosaur aa27efb
Changes to docs should not be included in release notes.
lovelydinosaur 1a61130
Changes to project workflow should not be included in release notes.
lovelydinosaur 7a374ea
Changes to docs should not be included in release notes.
lovelydinosaur 0e73dfb
Fix typo
lovelydinosaur 98a5b9a
Changes to tests should not be included in release notes.
lovelydinosaur 555b2ef
Changes to project workflow should not be included in release notes.
lovelydinosaur 5d1be7e
Changes to docs should not be included in release notes.
lovelydinosaur 398aa1e
Changes to docs should not be included in release notes.
lovelydinosaur 3e88e65
Changes to docs should not be included in release notes.
lovelydinosaur ba2bb6e
Changes to project workflow should not be included in release notes.
lovelydinosaur d428aed
Changes to project workflow should not be included in release notes.
lovelydinosaur ab7bb95
Changes to project workflow should not be included in release notes.
lovelydinosaur 2b27c85
Changes to project workflow should not be included in release notes.
lovelydinosaur bfbb04a
Changes to project workflow should not be included in release notes.
lovelydinosaur 402b0f4
Changes to docs should not be included in release notes.
lovelydinosaur 40f2289
Changes to docs should not be included in release notes.
lovelydinosaur f0b6150
Changes to docs should not be included in release notes.
lovelydinosaur c8b935e
Changes to docs should not be included in release notes.
lovelydinosaur fecd1bf
Changes to tests should not be included in release notes.
lovelydinosaur 1b7e0bd
Changes to tests should not be included in release notes.
lovelydinosaur e32b879
Fix typo in release notes.
lovelydinosaur cc5b572
Changes to project workflow should not be included in release notes.
lovelydinosaur 1ae36c5
Changes to project workflow should not be included in release notes.
lovelydinosaur 3017b72
Changes to docs should not be included in release notes.
lovelydinosaur 1a2323a
Changes to docs should not be included in release notes.
lovelydinosaur 50ff175
Changes to tests should not be included in release notes.
lovelydinosaur c4044d4
Changes to docs should not be included in release notes.
lovelydinosaur 60b9ca6
Changes to docs should not be included in release notes.
lovelydinosaur 8a0382c
Changes to docs should not be included in release notes.
lovelydinosaur fd0edb3
Changes to docs should not be included in release notes.
lovelydinosaur 81a5487
Changes to docs should not be included in release notes.
lovelydinosaur 914002b
Changes to docs should not be included in release notes.
lovelydinosaur cda0ec6
Changes to docs should not be included in release notes.
lovelydinosaur 0660d66
Changes to docs should not be included in release notes.
lovelydinosaur 70a4432
Improve changelog entry
lovelydinosaur 09325ac
Changes to docs should not be included in release notes.
lovelydinosaur da6e6dc
Changes to docs should not be included in release notes.
lovelydinosaur af6313a
Changes to project workflow should not be included in release notes.
lovelydinosaur f2dc192
Changes to docs should not be included in release notes.
lovelydinosaur 9e0003c
Update docs/community/3.15-announcement.md
lovelydinosaur 53b5f62
Update docs/community/3.15-announcement.md
lovelydinosaur 69baf94
Update docs/community/3.15-announcement.md
lovelydinosaur dbba90a
Update docs/community/release-notes.md
lovelydinosaur 204ef05
Update docs/community/release-notes.md
lovelydinosaur 7549bdc
Update docs/community/release-notes.md
lovelydinosaur b42d1ae
Update docs/community/3.15-announcement.md
lovelydinosaur 4b74fe0
Update docs/community/release-notes.md
lovelydinosaur a45dd07
Update docs/community/release-notes.md
lovelydinosaur 51fd06e
Update release version
de2407f
Update supported Python and Django versions
79cc4a6
Merge branch 'master' into math-a3k-315_rn
lovelydinosaur 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 hidden or 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 hidden or 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 hidden or 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 hidden or 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
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.
Uh oh!
There was an error while loading. Please reload this page.
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.