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.
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
3.15 Release #9210
Changes from 60 commits
988bc3a
965e9bc
18f7567
428b584
5313ae6
7b57ec4
7f55921
631b8c1
7848ffd
ff803c8
f5b08ff
3fc4baa
d7df722
9324a23
088f912
8aaf97f
42b78d0
3ef5fe2
5d0c331
9765941
aa27efb
1a61130
7a374ea
0e73dfb
98a5b9a
555b2ef
5d1be7e
398aa1e
3e88e65
ba2bb6e
d428aed
ab7bb95
2b27c85
bfbb04a
402b0f4
40f2289
f0b6150
c8b935e
fecd1bf
1b7e0bd
e32b879
cc5b572
1ae36c5
3017b72
1a2323a
50ff175
c4044d4
60b9ca6
8a0382c
fd0edb3
81a5487
914002b
cda0ec6
0660d66
70a4432
09325ac
da6e6dc
af6313a
f2dc192
9e0003c
53b5f62
69baf94
dbba90a
204ef05
7549bdc
b42d1ae
4b74fe0
a45dd07
51fd06e
de2407f
79cc4a6
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
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 latest release now fully supports Django 4.2 and Python 3.12.
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.
python 3.12 still has failures
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.
OK, my intention was leave it ready for when it's done
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.
now it supports py 3.12 and dj 5.0
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.
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.
#8979 is marked as "breaking change" and the fix for that (#9244) is not merged yet. It should be noted in the release notes this is a breaking-change.
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.
@TGoddessana please see same implemented @, thank you,
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.
Although I'm not a maintainer, I'm very interested in the maintenance of the project, so I took a look at the issues.
one PR (Fix validation for ListSerializer #8979) that solves the original issue (Invalid
self.instance
when validating the serializer usingmany=True
#8926) seems to have been merged already, but the better implementation (Improve ListSerializer #9244) is still not fully resolved based on the last comment in the issue.so which decision do we make?
self.instance
when validating the serializer usingmany=True
#8926 if we need a better implementation? If a better design exists, would it be a good decision to include it in the 3.15 release?self.instance
when validating the serializer usingmany=True
#8926 and ship a bugfix release with 3.15.1 with a better implementation? It was clearly labeled as a breaking change, but it felt more like a bug fix to me.Would love to hear your thoughts @tomchristie 🥲
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.
IMO the problem is that #8926 was addressed ignoring the advice regarding "Customizing multiple update"
Thus the proposed solution (#8979) only addesses a single use case while ignoring out many others which are now not supported by the framework. For example: using
ListSerializer
to perform in a bulk request a "create-update-delete" of a list of objects which was possible before this change.PS: there is also an issue with the current implementation of
ListSerializer
when validating instances and just use "index" to choose which instance will be associated to which data.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 was thinking about reverting that for this 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.
#9283 let me know your thoughts, and we can wait for a better fix in future
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.
If this change is not released in 3.15, which release do you think is the right one to fix and release it in: 3.16 or 3.15.1?
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.
if it is just reverted it will not be included in 3.15, as it is a big thing, it should be included in a major release like 3.16/3.17
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 just want to avoid including any not fully functional feature for 3.15
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 agree with you. Thank you for your efforts!