Skip to content

Commit d3f1b24

Browse files
committed
Release Notes for 3.15
- Add docs/community/3.15-announcement.md - Update docs/community/release-notes.md
1 parent 1fbe16a commit d3f1b24

File tree

2 files changed

+136
-0
lines changed

2 files changed

+136
-0
lines changed

docs/community/3.15-announcement.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
<style>
2+
.promo li a {
3+
float: left;
4+
width: 130px;
5+
height: 20px;
6+
text-align: center;
7+
margin: 10px 30px;
8+
padding: 150px 0 0 0;
9+
background-position: 0 50%;
10+
background-size: 130px auto;
11+
background-repeat: no-repeat;
12+
font-size: 120%;
13+
color: black;
14+
}
15+
.promo li {
16+
list-style: none;
17+
}
18+
</style>
19+
20+
# Django REST framework 3.15
21+
22+
## Django 4.2 and Python 3.11 support
23+
24+
The latest release now fully supports Django 4.2 and Python 3.11.
25+
26+
The current minimum versions of Django still is 3.0 and Python 3.6.
27+
28+
## Primary Support of UniqueConstraint
29+
30+
``ModelSerializer`` generates validators for [UniqueConstraint](https://docs.djangoproject.com/en/4.0/ref/models/constraints/#uniqueconstraint) (both UniqueValidator and UniqueTogetherValidator)
31+
32+
## ValidationErrors improvements
33+
34+
The `ValidationError` has been aligned with Django's, currently supporting the same style (signature) and nesting.
35+
36+
## SimpleRouter non-regex matching support
37+
38+
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.
39+
40+
## Other fixes and improvements
41+
42+
There are a number of minor fixes and improvements in this release, ranging from documentation, internal infrastructure (typing, testing, requirements, deprecation, etc.), security and overall behaviour.
43+
44+
See the [release notes](release-notes.md) page for a complete listing.

docs/community/release-notes.md

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,98 @@ You can determine your currently installed version using `pip show`:
3434

3535
---
3636

37+
## 3.15.x series
38+
39+
### 3.15.0
40+
41+
Date: 5th April 2023
42+
43+
* Docs: Fix authentication / authorization mixup [[#8930](https://github.com/encode/django-rest-framework/pull/8930)]
44+
* Use consistent spelling for "authorization" [[#8929](https://github.com/encode/django-rest-framework/pull/8929)]
45+
* Test django 4.2 stable release [[#8932](https://github.com/encode/django-rest-framework/pull/8932)]
46+
* Update requirements-packaging.txt [[#8921](https://github.com/encode/django-rest-framework/pull/8921)]
47+
* Update tox with django 4.2rc1 [[#8920](https://github.com/encode/django-rest-framework/pull/8920)]
48+
* Bump version of jQuery to 3.6.4 & updated ref links [[#8909](https://github.com/encode/django-rest-framework/pull/8909)]
49+
* Minor documentation improvements and fixes [[#8903](https://github.com/encode/django-rest-framework/pull/8903)]
50+
* Support UniqueConstraint [[#7438](https://github.com/encode/django-rest-framework/pull/7438)]
51+
* Test django 4.2b1 [[#8892](https://github.com/encode/django-rest-framework/pull/8892)]
52+
* Docs: add missing renderer import in tutorial 6 [[#8885](https://github.com/encode/django-rest-framework/pull/8885)]
53+
* Allow Request, Response, Field, and GenericAPIView to be subscriptable. This allows the classes to be made generic for type checking. [[#8825](https://github.com/encode/django-rest-framework/pull/8825)]
54+
* Upgrade isort version in pre-commit [[#8882](https://github.com/encode/django-rest-framework/pull/8882)]
55+
* Docs: fix code example [[#8880](https://github.com/encode/django-rest-framework/pull/8880)]
56+
* Feat: Add some changes to ValidationError to support django style vadation errors [[#8863](https://github.com/encode/django-rest-framework/pull/8863)]
57+
* Inherit from faked classes in tests to satisfy mypy [[#8859](https://github.com/encode/django-rest-framework/pull/8859)]
58+
* Initial django 4.2a1 testing [[#8846](https://github.com/encode/django-rest-framework/pull/8846)]
59+
* Fix Respect `can_read_model` permission in DjangoModelPermissions [[#8009](https://github.com/encode/django-rest-framework/pull/8009)]
60+
* Add SimplePathRouter [[#6789](https://github.com/encode/django-rest-framework/pull/6789)]
61+
* Re-prefetch related objects after updating [[#8043](https://github.com/encode/django-rest-framework/pull/8043)]
62+
* Update documentation regarding arguments of ValidationError [[#8807](https://github.com/encode/django-rest-framework/pull/8807)]
63+
* Fix FilePathField required argument [[#8805](https://github.com/encode/django-rest-framework/pull/8805)]
64+
* Update docs to maintained `djangorestframework-guardian2` [[#8817](https://github.com/encode/django-rest-framework/pull/8817)]
65+
* Revert "Fix bug in validators documentation (#8779)" [[#8811](https://github.com/encode/django-rest-framework/pull/8811)]
66+
* Try update django-filter==22.1 [[#8813](https://github.com/encode/django-rest-framework/pull/8813)]
67+
* Upddate setup python action to v4 [[#8806](https://github.com/encode/django-rest-framework/pull/8806)]
68+
* attrs==22.1.0 [[#8828](https://github.com/encode/django-rest-framework/pull/8828)]
69+
* Fix transifex-client version in packaging requirements. [[#8827](https://github.com/encode/django-rest-framework/pull/8827)]
70+
* Raise ImproperlyConfigured exception if `basename` is not unique [[#8438](https://github.com/encode/django-rest-framework/pull/8438)]
71+
* Use PrimaryKeyRelatedField pkfield in openapi [[#8315](https://github.com/encode/django-rest-framework/pull/8315)]
72+
* Upgrade to tox 4 [[#8795](https://github.com/encode/django-rest-framework/pull/8795)]
73+
* replace partition with split in BasicAuthentication [[#8790](https://github.com/encode/django-rest-framework/pull/8790)]
74+
* Fix BooleanField's allow_null behavior [[#8614](https://github.com/encode/django-rest-framework/pull/8614)]
75+
* Handle Django's ValidationErrors in ListField [[#6423](https://github.com/encode/django-rest-framework/pull/6423)]
76+
* Remove a bit of inline CSS. Add CSP nonce where it might be required and is available [[#8783](https://github.com/encode/django-rest-framework/pull/8783)]
77+
* Update admin.py [[#8534](https://github.com/encode/django-rest-framework/pull/8534)]
78+
* Fix bug in validators documentation [[#8779](https://github.com/encode/django-rest-framework/pull/8779)]
79+
* Make browsable API compatbile with strong CSP [[#8784](https://github.com/encode/django-rest-framework/pull/8784)]
80+
* Avoid inline script execution for injecting CSRF token [[#7016](https://github.com/encode/django-rest-framework/pull/7016)]
81+
* Remove Core API mentions from docs [[#8017](https://github.com/encode/django-rest-framework/pull/8017)]
82+
* Mitigate global dependency on inflection #8017 [[#8017](https://github.com/encode/django-rest-framework/pull/8017)] [[#8781](https://github.com/encode/django-rest-framework/pull/8781)]
83+
* Register Django urls [[#8778](https://github.com/encode/django-rest-framework/pull/8778)]
84+
* Implemented Verbose Name Translation for TokenProxy [[#8713](https://github.com/encode/django-rest-framework/pull/8713)]
85+
* Properly handle OverflowError in DurationField deserialization [[#8042](https://github.com/encode/django-rest-framework/pull/8042)]
86+
* Fix OpenAPI operation name plural appropriately [[#8017](https://github.com/encode/django-rest-framework/pull/8017)]
87+
* Represent SafeString as plain string on schema rendering [[#8429](https://github.com/encode/django-rest-framework/pull/8429)]
88+
* Fix #8771 - Checking for authentication even if `_ignore_model_permissions = True` [[#8772](https://github.com/encode/django-rest-framework/pull/8772)]
89+
* Update schema generation doc & add deprecation notice [[#8773](https://github.com/encode/django-rest-framework/pull/8773)]
90+
* Update 6-viewsets-and-routers.md [[#8590](https://github.com/encode/django-rest-framework/pull/8590)]
91+
* Added pagination settings test case [[#8326](https://github.com/encode/django-rest-framework/pull/8326)]
92+
* Fix 404 when page query parameter is empty string [[#8578](https://github.com/encode/django-rest-framework/pull/8578)]
93+
* Fixes instance check in ListSerializer.to_representation [[#8726](https://github.com/encode/django-rest-framework/pull/8726)] [[#8727](https://github.com/encode/django-rest-framework/pull/8727)]
94+
* FloatField will crash if the input is a number that is too big [[#8725](https://github.com/encode/django-rest-framework/pull/8725)]
95+
* Add missing DurationField to SimpleMetada label_lookup [[#8702](https://github.com/encode/django-rest-framework/pull/8702)]
96+
* converted assertion to pytest style in test status [[#8662](https://github.com/encode/django-rest-framework/pull/8662)]
97+
* Fix #8751 - Add support to Python 3.11 [[#8752](https://github.com/encode/django-rest-framework/pull/875)]
98+
* update minimum version to psycopg2-binary>=2.9.5 [[#8767](https://github.com/encode/django-rest-framework/pull/8767)]
99+
* pytest versions update [[#8745](https://github.com/encode/django-rest-framework/pull/8745)]
100+
* Add 3rd party entry for rest-framework-roles [[#8755](https://github.com/encode/django-rest-framework/pull/8755)]
101+
* Added http 102, 103, 421, and 425 status codes in documentation [[#8763](https://github.com/encode/django-rest-framework/pull/8763)]
102+
* Make request consistently available in pagination classes [[#8764](https://github.com/encode/django-rest-framework/pull/9764)]
103+
* Possibility to remove trailing zeros on DecimalFields representation [[#6514](https://github.com/encode/django-rest-framework/pull/6514)]
104+
* Fix Pytest's deprecation warnings about nose usage [[#8758](https://github.com/encode/django-rest-framework/pull/8758)]
105+
* Remove extraneous word "Both" [[#8740](https://github.com/encode/django-rest-framework/pull/8740)]
106+
* Update jobs.md [[#8737](https://github.com/encode/django-rest-framework/pull/8737)]
107+
* Update quickstart.md [[#8575](https://github.com/encode/django-rest-framework/pull/8575)]
108+
* Improve style, fix some typos [[#8405](https://github.com/encode/django-rest-framework/pull/8405)]
109+
* Fixes typo [[#8719](https://github.com/encode/django-rest-framework/pull/8719)]
110+
* Add a method for getting serializer field name (OpenAPI) [[#7493](https://github.com/encode/django-rest-framework/pull/7493)]
111+
* Add `__eq__` method for `OperandHolder` class [[#8710](https://github.com/encode/django-rest-framework/pull/8710)]
112+
* Update schemas.md [[#8707](https://github.com/encode/django-rest-framework/pull/8707)]
113+
* Avoid importing `django.test` package when not testing [[#8699](https://github.com/encode/django-rest-framework/pull/8699)]
114+
* Docs: use `asterisk` for unordered list [[#8697](https://github.com/encode/django-rest-framework/pull/8697)]
115+
* Docs: Convert all tabs into spaces [[#8692](https://github.com/encode/django-rest-framework/pull/8692)]
116+
* Preserve exception messages for wrapped Django exceptions [[#8051](https://github.com/encode/django-rest-framework/pull/8051)]
117+
* Added examples to schema of CursorPagination [[#8687] (https://github.com/encode/django-rest-framework/pull/8687)] [[#8686](https://github.com/encode/django-rest-framework/pull/8686)]
118+
* Fix infinite recursion with deepcopy on Request [[#8684](https://github.com/encode/django-rest-framework/pull/8684)]
119+
* Refactor: Replace try/except with contextlib.suppress() [[#8676](https://github.com/encode/django-rest-framework/pull/8676)]
120+
* Docs: Updated browsable-api.md [[#8678](https://github.com/encode/django-rest-framework/pull/8678)]
121+
* Add spaces to router example in 6-viewsets-and-routers.md [[#8448](https://github.com/encode/django-rest-framework/pull/8448)]
122+
* Update requirements-testing.txt [[#8680](https://github.com/encode/django-rest-framework/pull/8680)]
123+
* Minor fix to SerializeMethodField docstring [[#8629](https://github.com/encode/django-rest-framework/pull/8629)]
124+
* Minor refactor: Unnecessary use of list() function [[#8672](https://github.com/encode/django-rest-framework/pull/8672)]
125+
* Update documentation on dependency installation [[#8566](https://github.com/encode/django-rest-framework/pull/8566)]
126+
* Unnecessary list comprehension [[#8670](https://github.com/encode/django-rest-framework/pull/8670)]
127+
* Use correct class to indicate present deprecation [[#8665](https://github.com/encode/django-rest-framework/pull/8665)]
128+
37129
## 3.14.x series
38130

39131
### 3.14.0

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy