#32365 closed New feature (fixed)
Update timezone implementation to use zoneinfo
Reported by: | Carlton Gibson | Owned by: | Carlton Gibson |
---|---|---|---|
Component: | Utilities | Version: | 3.1 |
Severity: | Normal | Keywords: | |
Cc: | Triage Stage: | Ready for checkin | |
Has patch: | yes | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
Python 3.9 introduced zoneinfo
timezone objects, with backports available to Python 3.6.
As per discussion on mailing list we will adopt zoneinfo
in Django 4.0, using a pytz
compatibility shim for those who need it until Django 5.0.
In addition, as per follow-up discussion, we will make it possible to use zoneinfo
objects from Django 3.2, leaving any handling of DST changes to early-adopter user code. (make_aware()
's is_dst
likely to be deprecated in Django 4.0 — see follow-up discussion and comment on initial PR.)
Change History (12)
comment:2 Changed 2 years ago by
Triage Stage: | Unreviewed → Accepted |
---|
comment:5 Changed 17 months ago by
Has patch: | set |
---|---|
Owner: | changed from nobody to Carlton Gibson |
Status: | new → assigned |
Triage Stage: | Accepted → Ready for checkin |
comment:6 Changed 17 months ago by
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
In 306607d5b99b6eca6ae2c1e726d8eb32b9b2ca1b:
Fixed #32365 -- Made zoneinfo the default timezone implementation.
Thanks to Adam Johnson, Aymeric Augustin, David Smith, Mariusz Felisiak, Nick
Pope, and Paul Ganssle for reviews.
Original PoC PR to open discussion
Initial PR for Django 3.2