9.0.0
Release Date: Mon, November 14, 2022 at 3:25 PM UTC
Release Author: @rjsparks
Timezone Aware Database
This is a major release of the datatracker, reflecting many months of work and testing. See the full set of commits below for details. Be sure to view this release at the full release info page to see all of the commits.
All timestamps in the database are now stored as UTC. Values reported through the API for several models changed, particularly Meeting based models such as TimeSlot where times had previously been stored in the timezone of the meeting location. The 9.0.0 release leaves presentation of the times in Pacific (daylight/standard).
This release also includes contributions from the IETF 115 codesprint, marked with sprint below.
💥 BREAKING CHANGES
The breaking changes are distributed through all of the following commits - view the difference between this and the previous release for the full extent of the changes.
✨ New Features
1841d15- allow secretariat to edit/cancel sreqs when the tool is locked (PR #4676 by @jennifer-richards)3008c49- add 'cancel session' button to meeting schedule editor (PR #4682 by @jennifer-richards)af17d64- sprint - Add link to older proceedings to the end of group meetings page (commit by @russhousley)5b65f25- make the application tzaware (commit by @rjsparks)d7e3bdd- include command name in output when purging api key events (PR #4724 by @jennifer-richards)cdfe7ea- Timezone aware database (commit by @rjsparks)
🐛 Bug Fixes
f7f0ca9- don't migrate dumpinfo. automate migrations and setting USE_TZ. (PR #4389 by @rjsparks)4bcf896- manage initial container migration more carefully. (PR #4396 by @rjsparks)7ea3e18- move check and migrate to prepare.js for diff/cli builds. (PR #4398 by @rjsparks)a4ecccb- pytz manipulation of dumptime (commit by @rjsparks)3205411- fix failing tests and eliminate naive datetime warnings (PR #4402 by @jennifer-richards)3cc208c- compare last revision and doc timestamps in display TZ (PR #4418 by @jennifer-richards)d18b941- show group meeting dates and weekdays in each meeting's timezone. (PR #4405 by @rjsparks)d0383c7- convert pre-1970 timestamps when migrating to UTC (PR #4419 by @jennifer-richards)4084d7d- record and interpret RFC pub dates in correct timezone (PR #4421 by @jennifer-richards)dcb6da9- use tz-aware meeting datetime to decide when to show ical link (PR #4429 by @jennifer-richards)3cbcfde- use meeting-local times for agenda editor (PR #4458 by @jennifer-richards)fe7fc4b- miscellaneous tz fixes (PR #4481 by @jennifer-richards)1280422- create timeslots in new meeting TZ when duplicating (PR #4485 by @jennifer-richards)00cf7cf- use settings.TIME_ZONE for draft date in bibxml_for_draft() (PR #4487 by @jennifer-richards)63a1baf- more small timezone-aware fixes (PR #4489 by @jennifer-richards)c5e5a00- fill in tzinfo for datetime.fromtimestamp() calls (commit by @jennifer-richards)5650514- handle timezones in a bunch of places (commit by @jennifer-richards)981f22a- get LiaisonModelForm initial value at run-time, not load-time (commit by @jennifer-richards)2eb5723- more timezone fixes (commit by @jennifer-richards)448cfbb- more timezone fixes in liaisons/meeting/message apps (commit by @jennifer-richards)a653582- timezone fixes from last few comparisons with tzaware-obe (commit by @jennifer-richards)31d55f1- remove unused imports (commit by @jennifer-richards)fb644d7- use UTC for materials/proceedings cutoff checks (commit by @jennifer-richards)a331fb6- fix tz handling in ics files (PR #4630 by @jennifer-richards)cbc6d15- convert LastCallDocEvent.expires to DEADLINE_TZINFO to get date (commit by @jennifer-richards)0c920b0- precompile template urls at build time + bs5 btn on agenda loading screen (PR #4679 by @NGPixel)0302b65- default to utf-8 when parsing nomcom feedback email (PR #4683 by @rjsparks)ec9d122- sprint - use https URLs in the IETF Nomination Information email template. (PR #4707 by @ajeanmahoney)b6b48ec- sprint - Only allow a single newline in when URLizing RFC tags (PR #4710 by @larseggert)eee6d01- sprint - Remove&rec_status=0from "Errata exist" links for HTMLized RFCs (PR #4699 by @Spectre17 and @larseggert)9117043- sprint - Check both Person and Email records in profile view (PR #4703 by @kesara)8cf309c- sprint - Fix upcoming to use Meeting.end_date. (PR #4701 by @kivinen)594c3f4- sprint - omit session location when timeslot.show_location is False (PR #4712 by @jennifer-richards)71dcf9f- sprint - Use correct codec for decoding meeting materials (PR #4697 by @kesara)a3fc57b- sprint - Handle RFC names that are not all lowercase or have spaces (PR #4650 by @larseggert)331bf8d- sprint - revert change from readonly to disabled on liaison from contact (PR #4708 by @jennifer-richards)d16a9e7- sprint - Fix transient test failures due to i18n names (PR #4695 by @larseggert)3ad1daa- improve chat log rendering (PR #4686 by @NGPixel)100a053- agenda mobile dropdown links + footer padding + tz start/end date (commit by @NGPixel)612f33e- sprint - Don't send I-D expiration warning if it will happen within 12 hours. (PR #4700 by @russhousley)131cdf9- drop duplicate alias/email Person records from profile view (PR #4734 by @jennifer-richards)
♻️ Refactors
ebebdbe- replace datetime.now and datetime.today with timezone.now (PR #4211 by @jennifer-richards)8b52d27- refactor timestamp handling so tests in meeting app pass (PR #4371 by @jennifer-richards)0ca02aa- accept tz name in timezone util methods and refactor iana-changes-updates script (PR #4444 by @jennifer-richards)2e3686b- simplify getting timedelta.days (commit by @jennifer-richards)0346271- simplify I-D cutoff calculations and make TZ more explicit (commit by @jennifer-richards)
✅ Tests
54c57e0- refactor tests to avoid shadowing meeting.date with a datetime (PR #4430 by @jennifer-richards)1804727- use date_today() instead of datetime_today() (commit by @jennifer-richards)41882f2- remove syntax error introduced in merge (commit by @jennifer-richards)9752fab- fix timezone_not_near_midnight not to use pytz (PR #4678 by @jennifer-richards)91635de- fix tests broken in recent commits (PR #4685 by @jennifer-richards)5a55ec0- fix date-related timezone errors in tests (PR #4717 by @jennifer-richards)e774190- validate HTML in own test case and report all results (PR #4740 by @jennifer-richards)eb41424- permit multiple<h1>tags in a document (PR #4741 by @jennifer-richards)
🔧 Chores
42203d7- migrate timestamps for use with USE_TZ=True (PR #4370 by @jennifer-richards)c2c17cf- enforce USE_TZ setting expectations in migrations (PR #4386 by @jennifer-richards)3e5c1c6- run timezone.now migrations before converting timestamps to UTC (PR #4404 by @jennifer-richards)22b87a2- fix errors breaking tests (PR #4448 by @jennifer-richards)a8d4bec- remove stray debug statement (PR #4469 by @jennifer-richards)cabb82e- merge main into feat/tzaware branch (commit by @jennifer-richards)ca1320f- merge main into feat/tzaware (commit by @jennifer-richards)0391383- merge main into feat/tzaware branch (commit by @jennifer-richards)44f09ca- remove files left empty by git merge process (commit by @jennifer-richards)bef7492- renumber migrations (commit by @jennifer-richards)354b3ef- add '-Z' suffix to timestamps in names.json (commit by @jennifer-richards)c561994- merge main into feat/tzaware (commit by @jennifer-richards)bf6e0af- use settings.TIME_ZONE as default for date_today() (commit by @jennifer-richards)dfe1147- switch a few datetime_today() calls to date_today() (commit by @jennifer-richards)5b5e2dd- use settings.TIME_ZONE for datetime_today() default tz (commit by @jennifer-richards)3220bf3- replace last few datetime.date.today() calls with date_today() (commit by @jennifer-richards)2d875d5- migrate fields whose defaults changed to date_today (commit by @jennifer-richards)8101b4f- remove unused imports (commit by @jennifer-richards)3fa4a8b- merge main branch into feat/tzaware branch (commit by @jennifer-richards)320d9c3- renumber migrations (commit by @jennifer-richards)1debd1f- merge main into feat/tzaware branch (commit by @jennifer-richards)a124eb8- update create_dummy_meeting to specify session purposes (PR #4654 by @jennifer-richards)c4b9cb2- merge main into feat/tzaware (commit by @jennifer-richards)ce8873b- remove console log leftover (commit by @NGPixel)fbd9509- silence interleaved migration warning (PR #4687 by @rjsparks)c94c28d- sprint -Eliminate use of django.utils.datetime_safe (PR #4698 by @IurmanJ)eb4b523- merge main (PR #4714 by @rjsparks)86191c4- Update dependencies (#4715) (PR #4733 by @rjsparks)
Coverage