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)