From b65182150f511717c60e0ed7715b3a44eabe151f Mon Sep 17 00:00:00 2001 From: Nicolas Giard Date: Tue, 5 Apr 2022 15:45:01 -0400 Subject: [PATCH] chore: remove legacy / deprecated files (#3781) * chore: remove changelog files * chore: remove data dir from source * chore: exclude /data completely in gitignore --- .gitignore | 5 +- changelog | 20461 ----------------------------------- changelog.py | 75 - data/.gitignore | 6 - docker/scripts/app-init.sh | 40 +- ietf/settings.py | 1 - 6 files changed, 7 insertions(+), 20581 deletions(-) delete mode 100644 changelog delete mode 100644 changelog.py delete mode 100644 data/.gitignore diff --git a/.gitignore b/.gitignore index d751078ad..3687fc93d 100644 --- a/.gitignore +++ b/.gitignore @@ -26,10 +26,13 @@ /.tmp /attic /bin +/data +/docker/docker-compose.extend-custom.yml /env /etc /ghostdriver.log /htmlcov +/ietf/static/ietf/bootstrap /include /INSTALL.pdf /latest-coverage.json @@ -56,5 +59,3 @@ *.pyc __pycache__ node_modules -ietf/static/ietf/bootstrap -/docker/docker-compose.extend-custom.yml \ No newline at end of file diff --git a/changelog b/changelog deleted file mode 100644 index 1a2431702..000000000 --- a/changelog +++ /dev/null @@ -1,20461 +0,0 @@ -ietfdb (7.46.0) ietf; urgency=medium - - ** bugfixes, security improvements, performance improvements ** - - * Merged in [19946] from rjsparks@nostrum.com: - Allow the secretariat to request many more sessions. - - * Merged in [19947] from rjsparks@nostrum.com: - Add link to onsite tool to agenda. Fixes #3550. - - * Merged in [19948] from rjsparks@nostrum.com: - Update link to handling ballot positions. Fixes #3208. - - * Merged in [19949] and [19950] from rjsparks@nostrum.com: - Use tempfiles while rebuilding group and doc alias files. Fixes #3521. - - * Merged in [19952] from rjsparks@nostrum.com: - Only keep the first and most recent yang validator SubmissionCheck for - any given submission. Fixes #3542. - - * Merged in [19954] from jennifer@painless-security.com: - Refactor session overlap computation to treat overlapping sessions - correctly. - - * Merged in [19967] from rjsparks@nostrum.com: - From Kesara Rathnayake: Expire password reset links on use, password - change through other mechanics, login, or a short configurable time - (initially one hour). - - * Merged in [19969] from jennifer@painless-security.com: - Use correct UTC time when creating Meetecho conferences. Fixes #3565. - - -- Robert Sparks 24 Feb 2022 03:05:28 +0000 - - -ietfdb (7.45.0) ietf; urgency=medium - - ** MeetEcho interim request integration, bugfixes ** - - * Merged in [19892] from rjsparks@nostrum.com: - Guard against reference sections without names. - - * Merged in [19895] from jennifer@painless-security.com: - Look at v2 'title' attribute in reference type heuristics for XML - drafts. Related to #3529. - - * Merged in [19900] from jennifer@painless-security.com: - Fix hiding of name/purpose/type fields when not needed in secr/sreq. - Fixes #3531. - - * Merged in [19907] from rjsparks@nostrum.com: - Provide the complete context to the template for mail about approved - interim requests. Fixes #3534. - - * Merged in [19915] from rjsparks@nostrum.com: - Simplify search for link back to group from the review management view. - - * Merged in [19919] from rjsparks@nostrum.com: - Allow secretariat to edit session requests when tool is closed to - chairs. Fixes #3547. - - * Merged in [19920] from rjsparks@nostrum.com: - Make working with session purpose easier in the admin. - - * Merged in [19921] from rjsparks@nostrum.com: - add search to the doc states admin form. - - * Merged in [19922] from jennifer@painless-security.com: - Fix scoping of session loop variables in sreq edit view. Improve tests - that should have caught this. - - * Merged in [19925] from jennifer@painless-security.com: - Suppress origin template tag in production mode, show relative path - only in other modes. - - * Merged in [19917] and [19930] from jennifer@painless-security.com: - Create/delete Meetecho conferences when requesting/canceling interim - sessions. Fixes #3507. Fixes #3508. - - -- Robert Sparks 15 Feb 2022 14:51:10 +0000 - - -ietfdb (7.44.0) ietf; urgency=medium - - ** Schedule editor improvements, bugfixes ** - - * Merged in [19874] from rjsparks@nostrum.com: - Rollback menu caching. More work is required to allow left menu to - function correctly. - - * Merged in [19876] from jennifer@painless-security.com: - Do not redirect user to the logout page when logging in. Fixes #3478. - - * Merged in [19878] from jennifer@painless-security.com: - Hide timeslots type is disabled plus other schedule editor - debugging/improvements. Fixes #3510. Fixes #3430. - - * Merged in [19880] from rjsparks@nostrum.com: - Add gunicorn to requirements to support new deployment model. - - -- Robert Sparks 28 Jan 2022 14:56:13 +0000 - -ietfdb (7.43.0) ietf; urgency=medium - - ** Easier account creation, bugfixes, enhancements ** - - * Merged in [19825] from jennifer@painless-security.com: - Find references from submitted XML instead of rendering to text and - parsing. Fixes #3342. - - * Merged in [19826] from jennifer@painless-security.com: - Remove code still using old 'length_sessionX' SessionForm fields. - - * Merged in [19830] from jennifer@painless-security.com: - Include RFC title in doc/html view title element. Fixes #3488. - - * Merged in [19831] and [19832] from rjsparks@nostrum.com: - Cache menus by login. - - * Merged in [19833] from jennifer@painless-security.com: - Point to RFC editor info page in document_bibtex view. Fixes #3484. - - * Merged in [19834] from lars@eggert.org: - Add djhtml (https://github.com/rtts/djhtml), for auto-reformatting - of the Django templates via 'djlint --profile django --reformat'. - It still has some bugs and issues, esp. on complex templates and with - regards to whitespace after links, but those are manageable, and the - benefits of having consistently-formatted templates IMO outweigh them. - - * Merged in [19837] from jennifer@painless-security.com: - Update any_email_sent() to use balloters instead of old ad field. Add - tests to catch the otherwise quiet failure. Fixes #3438. - - * Merged in [19838] from jennifer@painless-security.com: - Allow editing of group non-chartered group descriptions through UI. - Fixes #3388. - - * Merged in [19839] from jennifer@painless-security.com: - Add timeouts to requests library calls. Fixes #3498. - - * Merged in [19841] from jennifer@painless-security.com: - Link to the timeslot editor when meeting has no timeslots. Fixes #3511. - - * Merged in [19848] from jennifer@painless-security.com: - Fix several review reminder problems. - Send secretary's review reminders to secretary instead of assignee. - Send unconfirmed assignment reminders based on assignment age and CC - secretaries. - Correctly separate open review reminders by review team. - Fixes #3482. Fixes #3324. - - * Merged in [19857] from rjsparks@nostrum.com: - Add a link to account creation in the login page body. - - * Merged in [19858] from rjsparks@nostrum.com: - Remove the manual intervention step for account creation. - - * Merged in [19863] from rjsparks@nostrum.com: - Add de-gfm to the docker setup. Fixes #3494. - - -- Robert Sparks 19 Jan 2022 20:03:55 +0000 - - -ietfdb (7.42.0) ietf; urgency=medium - - ** Bugfixes and minor features ** - - * Merged in [19786] from jennifer@painless-security.com: - Strip Unicode control characters out of feed content. Fixes #3398. - - * Merged in [19787] from rjsparks@nostrum.com: - Change to not serve any personalapikey metadata. - - * Merged in [19788] from jennifer@painless-security.com: - Import django.conf.settings instead of ietf.settings. Fixes #3392. - - * Merged in [19790] from rjsparks@nostrum.com: - Provide and maintain an rsyncable bibxml-ids dataset. - - * Merged in [19793] from nick@staff.ietf.org: - misc: new README.md + docker dir cleanup - - * Merged in [19801] from nick@staff.ietf.org: - fix: missing dependencies in dockerfile from changeset #19767 - - * Merged in [19804] from rjsparks@nostrum.com: - Pin tastypie at 0.14.3. Related to #3500. - - * Merged in [19806] from rjsparks@nostrum.com: - Correct the url for the bibtex button. Provide a pdfized button. Fixes - #3501. - - * Merged in [19811] from lars@eggert.org: - When using Docker, the runserver isn't being accessed over loopback, - so we need to initialize INTERNAL_IPS based on the current interface - configuration. - - * Merged in [19813] from rjsparks@nostrum.com: - Improve robustness of pdfization. Tune the test crawler. Don't show - htmlized and pdfized buttons when that genration will fail. - - -- Robert Sparks 07 Jan 2022 15:23:26 +0000 - - -ietfdb (7.41.0) ietf; urgency=medium - - ** improved markdown uploads, js testing, prep for move to github, pdfized documents ** - - * Merged in [19672] from jennifer@painless-security.com: - Add tests of meeting forms for the new session purpose work and a few - other untested parts. Fix a few bugs uncovered. - - * Merged in [19675] from jennifer@painless-security.com: - Update uploaded_filename when modifying agenda through the interim - meeting request edit view. Fixes #3395. - - * Merged in [19679] from jennifer@painless-security.com: - Include requester's last name as part of a bofreq document's name. - Fixes #3377. - - * Merged in [19683] from jennifer@painless-security.com: - Guard against absent 'form_class' kwarg in IETFJSONField.formfield(). - - * Merged in [19694] from jennifer@painless-security.com: - Better handle invalid character encodings in process_email and - feedback_email commands. Add tests of this using stdin. - - * Merged in [19700] from lars@eggert.org: - Add space between RFC and number. - - * Merged in [19710] from jennifer@painless-security.com: - Allow nomcom chair to edit liaisons as well as members and generate - GroupEvents when changed. Share code between group and nomcom for this - purpose. Fixes #3376. - - * Merged in [19711] from krathnayake@ietf.org: - Adds private app authentication API for bibxml. Fixes #3480. - - * Merged in [19713] from lars@eggert.org: - Remove ietf/templates/iesg/scribe_template.html and related, - which is not used anymore according to the secretariat. - (On merge, rjsparks@nostrum.com also removed the three other - templates that only that one included, and removed the test - that covered the view tht was removed). - - * Merged in [19716] from jennifer@painless-security.com: - Update CSS selectors to update times/timezones for any elements with - .time/.current-tz classes, not just span. Fixes #3485. - - * Merged in [19718] from rjsparks@nostrum.com: - Update the utility that generates batches of bibxml3 files to match the - way the view uses the templates. - - * Merged in [19719] from rjsparks@nostrum.com: - Change the I-D announce text to mention rsync instead of ftp per - RFC9141 and its associated transition plan. - - * Merged in [19693] from nick@staff.ietf.org: - feat: cypress JS testing for agenda meetings + weekview swimlane (WIP) - - * Merged in [19696] from nick@staff.ietf.org: - feat: add nomcom expand panel test - - * Merged in [19697] from nick@staff.ietf.org: - feat: add nomcom expand panel test (with missing file) - - * Merged in [19698] from nick@staff.ietf.org: - feat: add nomcom questionnaires tabs tests - - * Update coverage to reflect removal of scribe templates - - * Merged in [19741] from lars@eggert.org: - Add ghostscript to app image, which is used by some tests. - - * Merged in [19744] from jennifer@painless-security.com: - Treat application/octet-stream as text/markdown for '.md' materials - uploads. Refactor FileUploadForm hierarchy to reduce boilerplate. Fixes - #3163. - - * Merged in [19747] from rjsparks@nostrum.com: - Provide a more direct replacement for tools.ietf.org/id at doc/id. - - * Merged in [19748] from nick@staff.ietf.org: - docs: add CONTRIBUTING.md (with associated assets) and - CODE_OF_CONDUCT.md - - * Merged in [19750] from nick@staff.ietf.org: - build: Add GitHub Actions workflow for automatic nightly datatracker DB - image build - - * Merged in [19751] from nick@staff.ietf.org: - misc: add .gitignore + fix cypress files to match JS style guide - - * Merged in [19753] from rjsparks@nostrum.com: - Provide pdfs of htmlized (pdfized) documents to replace - tools.ietf.org/pdf/ at /doc/pdf. - - * Merged in [19761] from nick@staff.ietf.org: - fix: skip chromedriver install if arch is not supported in docker build - - * Merged in [19763] from jennifer@painless-security.com: - Add ability to import session minutes from notes.ietf.org. Mock out - calls to the requests library in tests. Call markdown library through a - util method. Fixes #3489. - - * Merged in [19766] from jennifer@painless-security.com: - Accept/replace invalid Unicode bytes when processing ipr response - emails. Fixes #3489. - - * Pin weasyprint to an earlier version because of packaging trouble with - dependencies. - - -- Robert Sparks 10 Dec 2021 16:30:21 +0000 - - -ietfdb (7.40.0) ietf; urgency=medium - - ** Codesprint, session purposes, new docker dev env, performance improvements ** - - * Merged in [19401] from mark@painless-security.com: - Add a new Django field, IETFJSONField. - This field is needed because the plain JSONField does not permit empty - arrays - [] - or empty objects - {} - when the field is marked as - required. Those values explicitly evaluate to a null value, and - are rejected. - Instead, the IETFJSONField accepts two new arguments to control this: - - empty_values: An array of values that should evaluate to null/empty, - and be rejected. - - accepted_empty_values: An array of values that should *not* evaluate - to null/empty, and be accepted. - This allows the programmer to specify either a positive or negative - statement of what values to accept. - Fixes issue #3331. - - * Merged in [19411] from rjsparks@nostrum.com: - Handle general IESG requirements display correctly. Fixes #3418. - - * Merged in [19412] from rjsparks@nostrum.com: - Only show roles in active groups in the oidc roles claim. Fixes #3424. - - * Merged in [19422] from rjsparks@nostrum.com: - Update internal references to trac.tools.ietf.org to point to - trac.ietf.org. Remove several links into tools.ietf.org. - - * Merged in [19429] from rcross@amsl.com: - Fix slow fetch_meeting_attendance command. Fixes #3304. - - * Merged in [19437] from rjsparks@nostrum.com: - Provide a dots oidc claim for online badges. - - * Pin factory-boy and Faker until they recoordinate. - - * Merged in [19452] from rjsparks@nostrum.com: - Remove submissioncheck results from search_result_row until performance - issues are addressed. - - * Merged in [19453] from rjsparks@nostrum.com: - Align code, tests, and url templates around the person ajax json views. - Fix a dangling pyflake nit. - - * Merged in [19454] from rjsparks@nostrum.com: - Adjust the IPR declaration submission form to remove the line about - limiting the declaration solely to standards-track IETF documents. - - * Merged in [19455] from rjsparks@nostrum.com: - Update notes links, reflect the removal of etherpad. - - * Merged in [19464] from rjsparks@nostrum.com: - Use friendlier language when requiring manual assistance with account - creation. Fixes #3445. - - * Merged in [19432] from lars@eggert.org: - Fix things that selenium deprecated in version 4. - - * Merged branch ^/personal/lars/7.39.1.dev0@19465 from lars@eggert.org: - Rework the docker container. - - * Merged in [19466] from lars@eggert.org: - Fix HTML by closing some
  • tags. - - * Merged in [19467] from lars@eggert.org: - Add a 'sign in' button to the menu bar when the user is not signed in. - This will hopefully make it more noticeable when one got logged out. - - * Merged in [19468] from lars@eggert.org: - Insert a missing . - - * Merged in [19469] from lars@eggert.org: - can't have
    in it. Fix that. - - * Merged in [19470] from lars@eggert.org: - Change some popup texts and icons for session buttons. - - * Merged in [19471] from lars@eggert.org: - More conformant HTML for the 'sign in' button. - - * Merged in [19472] from lars@eggert.org: - Move letter icons consistently after the name. - Use the correct attribute for an extresource value. - - * Merged in [19473] from lars@eggert.org: - Fix search layout. - - * Merged in [19476] from lars@eggert.org: - Add svn to image. Grab idnits from GitHub. Try to speed up database - import. - - * Merged in [19480] from rjsparks@nostrum.com: - Simple entity caching for the recent drafts view. - - * Merged in [19482] from lars@eggert.org: - No need to load d3 or jquery for these templates. - - * Merged in [19483] from lars@eggert.org: - Restructure the I-D submission page. - While there is no change in functionality, we now by default only show - an option to submit XML, with other formats hidden behind a 'Submit - other formats' checkbox. I also simplified the text on the page. - - * Merged in [19484] from lars@eggert.org: - Remove the Note Well from the datatracker and point to the IETF web - site. One less thing to keep in sync if the Note Well changes. - - * Merged in [19485] from lars@eggert.org: - Revamp the menu structure some, and remove a bunch of unneeded files. - - * Merged in [19486] from lars@eggert.org: - Remove the ability to submit Postscript I-Ds. - Fixes #3448. - - * Merged in [19487] from lars@eggert.org: - Remove workarounds for ancient IE versions. - - * Merged in [19488] from rcross@amsl.com: - Change view /ipr/by-draft-recursive to use static content - - * Merged in [19489] from rjsparks@nostrum.com: - Caching of the latest document view work. May add database stress to - other views. - - * Merged in [19490] from jennifer@painless-security.com: - Refactor expirable_drafts() and its usage to speed up - doc.views_search.recent_drafts view (and discourage inefficient use - of the method). - - * Merged in [19493] from jennifer@painless-security.com: - Create management command base class that sends emails on exceptions. - Fixes #3356 and #3357. - - * Merged in [19494] from lars@eggert.org: - URL-encode the link to a person's public profile, fixing validation - errors. - - * Merged in [19497] from rjsparks@nostrum.com: - Change email copy settings. - - * Merged in [19505] from lars@eggert.org: - Bump selenium requirement. Forgotten in r19432. - - * Merged in [19506] from rjsparks@nostrum.com: - Remove duplicate words in shepherds writeup template. Fixes #3453. - - * Merged in ^/personal/nick/7.39.1.dev0@19535 from nick@staff.ietf.org: - Provide a docker environment that is friendly to vs code. - - * Tweak guard on settings lookup. - - * Merged in ^/personal/nick/7.39.1.dev1@19547 from nick@staff.ietf.org: - Downgrade to Python 3.6 to match production. Downgrade to selenium - 3.141.0 as a consequence. - - * Merged in [19541] from lars@eggert.org: - Print a line than can actually be copied & pasted to start the - datatracker. - - * Merged in [19552] from rjsparks@nostrum.com: - Adjust when we truncate search results. - - * Merged in [19555] from jennifer@painless-security.com: - Use temporary directories instead of 'real' filesystem for tests. - Fixes #3414. - - * Merged in [19544] from rjsparks@nostrum.com: - Adjust dots claim based on 112 Plenary feedback. - - * Merged in [19553] from rjsparks@nostrum.com: - Gather related document information a little more efficiently for the - draft main view. - - * Merged in ^/personal/jennifer/7.39.1.dev2 from - jennifer@painless-security.com: - Create dev branch for session purpose work ([19414]) - Snapshot of dev work to add session purpose annotation ([19415]) - Allow non-WG-like groups to request additional sessions/durations and - bypass approval ([19424]) - Add 'closed' session purpose, assign purposes for nomcom groups, and - update schedule editor to enforce timeslot type and allow blurring - sessions by purpose ([19427]) - Add management command to set up timeslots/sessions for testing/demoing - 'purpose' field ([19430]) - Update session purposes and group type -> purpose map to match notes - page, change 'session' purpose to 'regular' ([19433]) - Redirect edit_schedule urls to edit_meeting_schedule view ([19434]) - Allow hiding/blurring sessions and timeslots based on TimeSlotType in - the schedule editor ([19438]) - Disable session purpose/timeslot type hiding on schedule editor when - only 0 or 1 options ([19439]) - Improvements to the timeslot and schedule editors (move new toggles to - modals, handle overflowing session names, fix timeslot editor scrolling, - add buttons to quickly create single timeslot, accept trailing slash on - edit URL) ([19449]) - Update purpose/types after discussions, add on_agenda Session field, - prevent session requests for groups with no allowed purpose, handle - addition fields in session request, fix editing session requests, add - session edit form/access from schedule editor, eliminate - TimeSlotTypeName 'private' field, add server-side timeslot type - filtering to schedule editor ([19549]) - Eliminate the officehours timeslot type, update/renumber migrations, - mark offagenda/reserved TimeSlotTypeNames as not used, add a 'none' - SessionPurposeName and disallow null, update agenda filter - keywords/filter helpers, fix broken tests and general debugging - ([19550]) - Tear out old meeting schedule editor and related code ([19551]) - Fix merge errors in preceding commits ([19556]) - Add missing ifSeleniumEnabled guard for - meeting.tests_js.EditTimeslotsTests ([19592]) - Remove 'before' version of migrations that were renumbered before merge. - ([19595]) - - * Merged in [19579] from rjsparks@nostrum.com: - Update docker/README.md to reflect the merge of Lars' branch. - - * Merged in [19581] from nick@staff.ietf.org: - fix: docker build - cannot change locale warnings - - * Merged in ^/personal/nick/7.39.1.dev3@19629 from nick@staff.ietf.org: - feat: Single docker configuration for VS Code and generic dev [19604] - fix: remove deprecated files from single docker setup changes [19605] - fix: finalize docker setup consolidation [19622] - misc: add cleandb script for docker + fix utf8 db charset params [19628] - - * Docker related changes: Mark cleandb executable. Clean settings_local - and settings_local_sqlitetest of flakes and types issues. - - * Adjust docker volume mounting strategy. - - * Merged in [19621] from rjsparks@nostrum.com: - Use rfc8989 for 2022 nomcom eligibility. Fixes #3442. - - * Merged in [19636] from jennifer@painless-security.com: - Update groupfeatures_session_purposes field migration to match change - to model. - - * Add a command to clean all datatracker related docker resources (from - nick@staff.ietf.org). - - * Merged in [19647] from jennifer@painless-security.com: - Guard against None in agenda session buttons template / template tags. - - * Merged in [19654] from rjsparks@nostrum.com: - Repair document_main when there are status change relationships. - - * Merged in [19658] from jennifer@painless-security.com: - Return rev used to find doc when heuristics modify the input. Share - heuristics between rfcdiff and html views. Fixes #3437. - - * Merged in [19665] from jennifer@painless-security.com: - Guard against null timeslot location in agenda.html and add test of - location_anchor tag. - - * Merged in [19665] and [19666] from jennifer@painless-security.com: - Fix error in assignment_display_name() and fix broken test from - previous commit. - - * Merged in [19670] from rjsparks@nostrum.com: - Escape . in agenda url patterns. Guard against unrecognized extensions. - - -- Robert Sparks 18 Nov 2021 16:07:22 +0000 - - -ietfdb (7.39.0) ietf; urgency=medium - - **Improved pre-AD abilities, ical content, rfcdiff support, bugfixes** - - * Merged in [19382] from krathnayake@ietf.org: - Adds ability to handle garbage API keys. Fixes #3412. - - * Merged in [19383] from jennifer@painless-security.com: - Allow pre-ADs to be assigned as responsible for document. - Fixes #3229. - - * Merged in [19384] from jennifer@painless-security.com: - Update links in iCal description to be more useful. - Fixes #3349. - - * Merged in [19385] from jennifer@painless-security.com: - Correctly highlight session constraints in the meeting - schedule editor. Fixes #3327. - - * Merged in [19392] from krathnayake@ietf.org: - Improves API authentication tests. Relates to #3412. - - * Merged in [19393] from krathnayake@ietf.org: - Fixes API authentication issue. - - * Merged in [19396] from rjsparks@nostrum.com: - Provide a metadata endpoint to assist rfcdiff.pyht. - - * Added scout-apm to requirements and added settings scaffolding. - - -- Robert Sparks 08 Oct 2021 16:26:13 +0000 - - -ietfdb (7.38.0) ietf; urgency=medium - - **Authortools API token endpoint, Standalone proceedings, render charters with markdown** - - This release improves the generation of meeting proceedings, - moving archival information to the datatracker, rather than - the wagtail portion of the www.ietf.org website. It also provides - a temporary view of what current charter text looks like when rendered - with markdown. See datatracker.ietf.org/group/{acronym}/about/rendertest/. - After we confirm the rendering preserves information (adjusting charters - as necessary), an upcoming release will remove that URL and render - charters through markdown directly. - - * Merged in [19344] from krathnayake@ietf.org: - Implements /api/appauth/authortools API endpoint. Fixes #3396. - - * Merged in [19353] from jennifer@painless-security.com: - Use live_server_url as IDTRACKER_BASE_URL in IetfLiveServerTestCase. - Fixes #3203. - - * Merged in [19355] from krathnayake@ietf.org: - Hides profile photo place holder. Fixes #3400. - - * Merged in [19357] from rjsparks@nostrum.com: - Provide a page that shows how current charter text renders through - markdown. Related to #2695. - - * Merged in [19358] from rjsparks@nostrum.com: - Remove remaining use of markdown2. Enable markdown extras when - rendering agendas. Fixes #3316. - - * Merged in [19359] from rjsparks@nostrum.com: - Render markdown agendas in popups on the agenda page. Fixes #3039. - - * Merged in [19360] from rjsparks@nostrum.com: - Change url and instructive text in email sent when a ballot position is - taken. Fixes #3208. - - * Merged in [19363] from rjsparks@nostrum.com: - Tune text draft reference extractor. Fixes #3404. - - -- Robert Sparks 20 Sep 2021 16:38:19 +0000 - - -ietfdb (7.37.0) ietf; urgency=medium - - **Standalone proceedings, new group types, scheduler enhancements** - - This release simplifies the secretariat's management of meeting - proceedings, reducing the dependence of the proceedings on other - websites. It also adds IAB Administrative Support Groups, and the - IETF LLC Administration Groups. - - * Merged in [19295] [19296] from jennifer@painless-security.com: - Disable modification of past timeslots on official schedules. - Update create_dummy_meeting to set start date / time zone. - Fixes #3166. - - * Merged in [19297] from jennifer@painless-security.com: - Allow generated schedules to inherit from a base schedule. - Fixes #3170. - - * Merged in [19298] from rjsparks@nostrum.com: - Remove outdated mechanic for adding additional email addresses to crash - reports from several apps. - - * Merged in [19299] from rjsparks@nostrum.com: - Change the caching model for the nonwg list page. - - * Merged in [19300] from jennifer@painless-security.com: - Handle num=None case in proceedings() and specify meeting number in - test_proceedings_no_agenda. Fixes #3385. - - * Merged in [19301] [19303] [19304] from rjsparks@nostrum.com: - Include new conflict types in the session request notification email. - Fixes #3381. - - * Merged in [19305] from rjsparks@nostrum.com: - Show the constraint names on the meeting session requests page. - Fixes #3082. - - * Merged in [19306] from jennifer@painless-security.com: - Improve proceedings display with new title block, configurable host - logos, and additional PDF or URL materials. Fixes #3147. - - * Merged in [19307] from rjsparks@nostrum.com: - Add IAB Administrative Support Group group type. Add IAB groups to the - group menu. Clearly delineate group types in the group menu. - Fixes #3295 and #3296. - - * Merged in [19308] from jennifer@painless-security.com: - Include doc name in ballot popup anchors. Fixes #3351. - - * Merged in [19310] from rjsparks@nostrum.com: - Add IETF Administrative LLC groups. Fixes #3302. - - * Merged in [19311] from rjsparks@nostrum.com: - Adjust tests and forms to match changes to permissions made in through - the admin. These need to use the data rather than the code. See #3393. - - * Merged in [19312] from jennifer@painless-security.com: - Handle missing 'to' field in process_response_email. Relates to #3357. - - * Merged in [19313] from rjsparks@nostrum.com: - Show new group types on active groups page, but see #3393. - - * Merged in [19315] from rjsparks@nostrum.com: - Restore ADs ability to charter new groups. Fixes #3397. - - * Merged in [19316] from rjsparks@nostrum.com: - Adjust groupfeatures has_session_materials to match modern usage. - Adjusted proceedings and materials templates to show fewer unnecessary - duplicates. Fixes #2981 and #3387. - - * Merged in [19339] [19340] from jennifer@painless-security.com: - Refactor get_related_meeting to simplify / correctly handle - recording doctype. - - -- Robert Sparks 06 Sep 2021 15:57:35 +0000 - - -ietfdb (7.36.0) ietf; urgency=medium - - ** Bugfixes and minor enhancements ** - - * Merged in [19254] [19256] [19258] [19259] from rjsparks@nostrum.com: - Show groupman_authroles in the GroupFeatures admin list. - Rename ietf.group.utils.can_manage_group_type to - can_manage_all_groups_of_type to improve code readability where it is - used. Changed the signature of can_manage_all_groups_of_type to only - take a type_id. Changed implementation of can_manage_all_groups_of_type - to use GroupFeatures.groupman_authroles. - - * Merged in [19255] from rjsparks@nostrum.com: - Correct calculation of bofreq_responsible mailtrigger.Recipient to - return no addresses for documents that are not of type bofreq. Fixes - #3358. - - * Merged in [19260] from jennifer@painless-security.com: - Remove Meetecho icon from agenda items and change 'Meetecho video - stream' to 'Meetecho session' for remaining link. Fixes #3135, #3223. - - * Merged in [19262] [19263] [19264] [19265] from rjsparks@nostrum.com: - Provide replacements for idnits2's internal use of tools.ietf.org: - - representation of obsoleted RFCs - - rfc-status blob - - minimal per-document .status files - - * Merged in [19266] from jennifer@painless-security.com: - Allow configuration of group conflict types used for each meeting Fixes - #2770. - - * Merged in [19267] from rjsparks@nostrum.com: - Improve the idnits2 state file. - - * Merged in [19269] from rjsparks@nostrum.com: - Allow submit and expire_drafts to succeed when there is no 'next' IETF - meeting in the database. Fixes #3370. - - * Merged in [19270] from rjsparks@nostrum.com: - Bring the factory-boy and Faker dependencies forward through some minor - breaking changes. Stop using the deprecated fr_QC locale in Faker. - - * Merged in [19271] from rjsparks@nostrum.com: - Improve tests that look person names in responses. - - * Merged in [19272] from rjsparks@nostrum.com: - Improve the BOF request upload form validation. - - * Merged in [19277] from rjsparks@nostrum.com: - Restrict group creation to the secretariat. - - * Convert IETF111 Constraint objects to use new names - - -- Robert Sparks 06 Aug 2021 15:05:03 +0000 - - -ietfdb (7.35.0) ietf; urgency=medium - - ** BOF Request handling, process xml submissions with v3, markdown rendering ** - - * Merged in [19193] from rjsparks@nostrum.com: - Don't provide links to person pages that we know will 404. - - * Merged in [19194] from housley@vigilsec.com: - Properly sort the management items on the IETG telechat agenda. - Fixes #1374. - - * Merged in [19200] from housley@vigilsec.com: - Better explain ballot positions from former area dirctors. Fixes #3228. - - * Merged in [19208] from housley@vigilsec.com: - Provide previous ballot positions for both current and former ADs; add - test to cover this situation. - - * Merged in [19210] and [19211] from rjsparks@nostrum.com: - Move items from PLAN into Trac or to the notes directory. - - * Merged in [19214] from rjsparks@nostrum.com: - Remove oic patch - 1.3.0 contains the fix. - - * Merged in [19215] and [19217] from rjsparks@nostrum.com: - quote a test parameter that should have been quoted all along. - - * Merged in [19224] from rjsparks@nostrum.com: - Guard a sort that gets a mix of integers and None. - - * Merged in [19228] from rjsparks@nostrum.com: - Add BOF Requests to the datatracker. - - * Merged in [19238] from jennifer@painless-security.com: - Find AD conflicts using AD person pk instead of role pk. Fixes #3354. - - * Merged in [19240] from rjsparks@nostrum.com: - Remove tools-style agenda link. - - * Merged in [19242] from jennifer@painless-security.com: - Run v2v3 converter internally when v2 XML is submitted. Fixes #3305. - - * Merged in [19243] from rjsparks@nostrum.com: - Render markdown on the document main page for document materials. Fixes - #2927. - - -- Robert Sparks 21 Jul 2021 17:45:00 +0000 - - -ietfdb (7.34.0) ietf; urgency=medium - - ** Calendar by session, bugfixes ** - - * Merged in [19155] from rcross@amsl.com: - In announcement tool, remove Reply-To default of - 'ietf@ietf.org' and make field required. - - * Merged in [19164] from jennifer@painless-security.com: - Fix broken meeting materials button on upcoming meetings page. - Fixes #3278. - - * Merged in [19166] from krathnayake@ietf.org: - Use INTERNET_ALL_DRAFTS_ARCHIVE_DIR serve all IDs. - Fixes #3308 and #3309. - - * Merged in [19168] from rjsparks@nostrum.com: - Revert the removal of the decoration of session with order_number made - in r19074. The attribute is used in the templated URLs associated with - Rooms (such as for the Meetecho session URL). - - * Merged in [19176] and [19177] from rjsparks@nostrum.com: - Use a cdn for the oidc profile photo url. - - * Merged in [19180] from rcross@amsl.com: - Fix Telechat app bug, draft with no ballot. - - * Merged in [19182] from rjsparks@nostrum.com: - Stop showing generated proceedings for older meetings that already had - official proceedings. Fixes #3322. - - * Merged in [19183] from jennifer@painless-security.com: - Add 'Select Sessions' tab to agenda pages. - - -- Robert Sparks 02 Jul 2021 14:28:34 +0000 - - -ietfdb (7.33.0) ietf; urgency=medium - - ** Improvements to the schedule editor, bugfixes ** - - * Merged in [19103] from jennifer@painless-security.com: - Add ConstraintNames for chair, tech, and key participant conflicts. - Replace temporary UI workaround with proper conflict type handling. Fixes - #3083. - - * Merged in [19118] from lars@eggert.org: - Use monospace font for ballot form textareas. - - * Merged in [19120] from krathnayake@ietf.org: - Parse RFC2047 formatted text properly in submission form. Fixes #2465. - - * Merged in [19121] from jennifer@painless-security.com: - Display rooms in blocks with identical timeslots. Add a timeslot label - row above each. Fixes #3220. - - * Merged in [19122] from jennifer@painless-security.com: - Update action holders when a new draft is submitted. Fixes #3281. - - * Merged in [19130] from lars@eggert.org: - Allow executing bower as root; for running within docker. - - * Merged in [19132] from jennifer@painless-security.com: - Skip populate_volunteers forward migration if nomcom2021 is not in the - database. Fixes #3306. - - * Merged in [19133] from jennifer@painless-security.com: - Indicate session and timeslot conflicts more prominently in schedule - editor. Fixes #3221. - - * Merged in [19134] from jennifer@painless-security.com: - Blur sessions for hidden areas instead of hiding entirely. Fixes #3218. - - * Merged in [19135] from jennifer@painless-security.com: - Improve visibility of other sessions for group of selected session in - schedule editor. Fixes #3219. - - * Merged in [19136] from jennifer@painless-security.com: - More prominently identify BoF sessions in schedule editor. Fixes #3217. - - * Merged in [19138] from jennifer@painless-security.com: - Swap timeslot columns in addition to full days in schedule editor. - Fixes #3216. - - * Merged in [19139] from rjsparks@nostrum.com: - Refine volunteer list view. Show rfc8989 paths. - - * Merged in [19148] from rjsparks@nostrum.com: - Bring the nomcom factories and tests into agreement around what a valid - year for a nomcom can be. Fixes #3315. - - * Merged in [19151] from rjsparks@nostrum.com: - When removing reviewers from a review team, change the state of only - that team's assignments. Check to make sure the person being removed - doesn't have another reviewer Role (with a different Email) in the same - team. Change the disposition of any assignments from that team for the - removed reviewer to 'withdrawn' rather than 'rejected'. Fixes #3320. - - * Merged in [19153] from rjsparks@nostrum.com: - Scroll to buttons before clicking on them in Selenium tests. Fixes - #3314. - - -- Robert Sparks 25 Jun 2021 15:56:58 +0000 - - -ietfdb (7.32.0) ietf; urgency=high - - ** Allow volunteering for NomCom within the datatracker ** - - * Merged in [19095] from rjsparks@nostrum.com: - Handle bare numbers and rfc names with a space for the /doc/html view. - Fixes #1999. - - * Merged in [19100] from rjsparks@nostrum.com: - Update bin/daily to adjust for the change in exposing the iana mirror. - - * Merged in [19101] from rcross@amsl.com: - Fix /api/v2/person/person to work with Robot apikey. - - * Merged in [19104] from rjsparks@nostrum.com: - Allow people to volunteer for NomCom via the datatracker. - - -- Robert Sparks 11 Jun 2021 13:12:26 +0000 - - -ietfdb (7.31.0) ietf; urgency=medium - - ** Codesprint 110.1, bugfixes ** - - * Merged in [18993] from housley@vigilsec.com: - Add aliases for RGs in irtf.org and IAB programs in iab.org. Fixes - #3271 - - * Merged in [19022] from housley@vigilsec.com: - Add test for creation of RG Chairs in the irtg.org domain. - - * Many adjustments to point to the new svn/trac repository locations. - - * Merged in [19035] from rcross@amsl.com: - Change PERSON_API_KEY_VALUE for mail archive lookups. - Change /api/v2/person/person to ROBOT to prepare for switching from - personal api key to robot, mail-archive api key. Once in place, - generate new key for this endpoint and install. - - * Tweaked results of r19035/r19059 to allow for a better transition - post release. - - * Merged in [19028] from jennifer@painless-security.com: - Accept 'None' when updating DocumentAuthor affiliation / country. - - * Merged in [19030] from mark@painless-security.com: - First swipe at making past sessions unchangable for official schedules - This change locks down the schedule of any meeting that is fully in the - past. It leaves open sessions that have finished for meetings that have - not yet finished. - Addresses (partially) issue #3166. - - * Merged in [19033] from rjsparks@nostrum.com: - Add PersonalApiKeyEvent purge to bin/daily. - - * Merged in [19048] from housley@vigilsec.com: - Remove generate-wg-aliases and generate-draft-aliases scripts. They - were replaced with management commands. - - * Merged in [19052] from housley@vigilsec.com: - Allow IAB Programs to be listed in meeting request conflicts. Fixes - #3270. - - * Merged in [19054] from rcross@amsl.com: - Fix error on Telechat doc detail page when conflict review doc has no - ballot. Fixes #3245. - - * Merged in [19055] from rjsparks@nostrum.com: - Redirect to materials page for attempts to see proceedings for meetings - that do not yet have schedules. Fixes #3294. - - * Merged in [19056], [19057], and [19058] from rjsparks@nostrum.com:\n - Captured the svn hooks used after moving the repository. Fixes #3297. - - * Merged in [19071] from mark@painless-security.com: - Update the mkdevbranch script for new Trac location, don't clobber - existing paths - The script has been cleaned up, adjusted to avoid clobbering an SVN path - that already exists when running it for a single sprinter login, and run - with the new locations for the Trac system. - This is a decently huge rewrite of the script. It's pulled a lot of logic - into functions, excised the python code into its own file, etc. - - * Merged in [19073] from jennifer@painless-security.com: - Handle groups without area when sorting unscheduled sessions in - schedule editor. Fixes #3173. - - * Merged in [19075] from jennifer@painless-security.com: - Clean up handling of non-WG groups on the group edit page; restrict - parent/child group relationships by type. Fixes #3253. - - * Merged in [19074] from kivinen@iki.fi: - Adds new filtering tags for sessions which have multiple sessions. - I.e., in addition to wg,area,type there is wg-sessa, wg-sessb or wg-sessc - etc on the tags, so now you can filter either all wg sessions or only - specific sessions. Also removes the unused session.order_number, but not - yet the session.order_in_meeting() function (which I think is unused too). - - * Merged in [19081] from fenton@bluepopcorn.net: - Added IESG document state to review request information. Fixes #3235. - - * Merged in [19083] from jennifer@painless-security.com: - Fix renamed field in group migrations 0043 and 0044. Fixes error in - r19075. - - -- Robert Sparks 06 Jun 2021 14:56:59 +0000 - - -ietfdb (7.30.0) ietf; urgency=medium - - ** Bugfixes, adjustments to moving datatracker repository ** - - * Merged in [18999] from rjsparks@nostrum.com: - Correct invalid date assumption in rfc8989 eligibility tests. - - * Merged in [18991] from jennifer@painless-security.com: - Missing migration needed by [18960] / [18977] - - * Merged in [18989] from jennifer@painless-security.com: - Allow secretariat to edit document author list. Fixes #3185. - - * Merged in [18995] from rjsparks@nostrum.com: - Link only to datatracker htmlization. Adjust mail-to-authors and - mail-to-list. Fixes #3261. - - * Merged in [18997] from rjsparks@nostrum.com: - Changes to reflect repository moves. - - * Merged in [18998] from jennifer@painless-security.com: - Prevent unscheduled session drop target from collapsing to zero size in - agenda editor. Fixes #3174. - - -- Robert Sparks 20 May 2021 17:48:15 +0000 - - -ietfdb (7.29.0) ietf; urgency=medium - - ** RFC8989 eligibility rules, improved timezone support for upcoming meetings ** - - * Merged in [18958] from jennifer@painless-security.com: - Fix occasional failure in test_agenda_view_team_group_filter_toggle. - - * Merged in [18960] from jennifer@painless-security.com: - Allow external resources to be set/suggested during submission process. - Fixes #3068. - - * Merged in [18969] from rjsparks@nostrum.com: - Correct javascript that toggles visibility of byme/forme discusses. - Fixes #3263. - - * Merged in [18970] from jennifer@painless-security.com: - Add timezone selector to upcoming meetings page. Separate general - timezone handling from parts only relevant to main agenda page. Speed up - agenda timezone javascript tests. Fixes #3184. - - * Merged in [18975] from rjsparks@nostrum.com: - Add RFC 8989 nomcom eligibility calculations. - - -- Robert Sparks 11 May 2021 16:27:43 +0000 - - -ietfdb (7.28.0) ietf; urgency=medium - - ** Show full document by default, email aliases for programs and review teams, bugfixes and enhancements ** - - * Remove the check for activate_this from wsgi.py since modern venv - doesn't provide that script. Change the logging to always log when starting - a wsgi instance. - - * Merged in [18900] from rjsparks@nostrum.com: - Tweaks to dockerfile to avoid rust compiler issues. - - * Merged in [18901] from housley@vigilsec.com: - Make mail aliases for review teams and IAB programs. Fixes #3210 - - * Merged in [18904] from fenton@bluepopcorn.net: - Corrected template to remove spurious No Documents Match warning. Fixes - #3148. - - * Merged in [18905] from housley@vigilsec.com: - Point bibxml3 to I-D archive so that all version numbers are handled - properly, and perform more robust revision suffix cleanup. Fixes #3188. - - * Merged in [18906] from housley@vigilsec.com: - Provide bibxml test for drafts that end in a hyphen and a digit. - - * Merged in [18909] from housley@vigilsec.com: - Log Unicode exception instead of printing them to the console when they - occur building the email alias files. - - * Merged in [18911] from rjsparks@nostrum.com: - Adjusted ballot email text. Fixes #3208. - - * Merged in [18913] from housley@vigilsec.com: - Convert generate-draft-aliaes and generate-wg-aliases into management - commands: generate_draft_aliases and generate_group_aliases. Also provide - tests for the new management commands. - - * Merged in [18914] from rjsparks@nostrum.com: - Update the submission instructions to encourage submission of v3 xml. - Fixes #3232. - - * Merged in [18927] from jennifer@painless-security.com: - Drop parent group filter keyword from special group agenda items. Fixes - #3115. - - * Merged in [18928] from rjsparks@nostrum.com: - Simplify javascript on the htmlized document pages. - - * Merged in [18936] from rjsparks@nostrum.com: - Retain strict acronym validation, specifically disallowing hyphens, for - new groups of types that create documents, while allowing existing groups - and new non-document-creating groups to validate when they contain hyphens. - Fixes #3236. - - * Merged in [18937] from rjsparks@nostrum.com: - Change the default behavior of a document's main page to show the - full document content. Users can still control whether the full - page is shown on a particular document by adding either - ?include_text=0 or ?include_text=1 to the url. Users can also use - the settings page at /account/settings to override the default - behavior for all documents. Fixes #3252. - - * Merged in [18938] from rjsparks@nostrum.com: - Redirect requests for htmlized bcp or std subseries elements to the - relevant rfc-editor info page. Fixes #3233. - - * Merged in [18939] from jennifer@painless-security.com: - Consolidate repeated searchable field code into SearchableField class. - Fix single-valued searchable fields. Make javascript test config reusable. - Use Django Form.media for JS/CSS inclusion. Fixes #3196, #3204. - - * Merged in [18940] from jennifer@painless-security.com: - Hide agenda timeslot label rows when all their sessions are hidden. - Fixes #3249. - - * Merged in [18941] from jennifer@painless-security.com: - Add purge_old_personal_api_key_events management command. Fixes #3144. - - -- Robert Sparks 15 Apr 2021 14:53:12 +0000 - -ietfdb (7.27.0) ietf; urgency=medium - - ** 110 Codesprint ** - - * Adjust several searchable fields to match a changed interface in - select2-field.js - - * Merged in [18856] from rjsparks@nostrum.com: - Patch around multiple newrevisiondocevents. - - * Merged in [18857] from housley@vigilsec.com: - Properly handle bibxml3 for drafts with filenames that end in a hypen - and digits. Fixes #3188. - - * Merged in [18862] from peter@akayla.com: - Modifies stream name descriptions and changes document page to use the - description instead of the stream name. Fixes issue 3169. - - * Merged in [18869] from rjsparks@nostrum.com: - Display htmlized pages much more like tools.ietf.org. - - * Merged in [18860] from rcross@amsl.com: - Add special handling for ReviewerSettings to merge person feature. - Fixes #3183. - - * Merged in [18858] and [18875] from kivinen@iki.fi: - Remove the automatic redirect from latest version to page without - version number (also from tests), and made sure when viewing old snapshot - which also happens to be last revision for draft where we have rfc, we show - information from the draft, not from the rfc. Fixes issue #3162. - - * Merged in [18884] from jennifer@painless-security.com: - Move agenda TZ selector out of sidebar so it is always available. Fixes - #3172. - - * Merged in [18886] from rjsparks@nostrum.com: - Change ipr pages to say General rather than Generic, and to change the - text to note email submissions are not accepted. Fixes #3209. - - -- Robert Sparks 04 Mar 2021 15:24:12 +0000 - -ietfdb (7.26.0) ietf; urgency=medium - - **IESG 'Who has the action', bugfixes** - - * Bump the required setuptools to at least the 51 releases to avoid - issues with some python3.6 -mvenv installed setuptools. - - * Enable two tests that were not running because of typos in the test - name. Thanks to Jennifer for spotting the typos. - - * Merged in [18821] from rjsparks@nostrum.com: - Add proper folding for static content in the DESCRIPTION in the - important-dates ics feed. Remove important-dates from the upcoming meetings - ics. - - * Hold Unidecode before 1.2.0 for awhile before adjusting patch to match - changed __init__.py - - * Merged in [18828] from jennifer@painless-security.com: - Use Roles instead of dedicated model for liaison statement group - contacts. Fixes #3100. - - * Merged in [18829] from jennifer@painless-security.com: - Allow assignment of Person as 'action holder' for a Doc, plus - rudimentary automation of assignment. Fixes #3146. - - * Merged in [18833] from jennifer@painless-security.com: - Refactor reviewer queue policy handling of 'skip' setting. Fixes #3038. - - - -- Robert Sparks 18 Feb 2021 16:57:27 +0000 - -ietfdb (7.25.0) ietf; urgency=medium - - **Timezone tools on agenda page, other enhancements ** - - * Merged in [18712] from jennifer@painless-security.com: - Add timezone support to agenda weekview; display UTC on UTC agenda - page. Fixes #3111. - - * Merged in [18689] from kivinen@iki.fi: - New version of the timezone support for agenda. Now the ongoing - bars work. This also moves the javascript from the agenda.html - to separate timezone.js file. This commit does not include the - moment and moment-timezone javascript libraries that are - needed to get this working, they need to be added to - ietf/externals/static separately. - - * Add a more granular setting for enabling extra debugging on the agenda - page. Commit ready for merge. - - * Merged in [18803] from jennifer@painless-security.com: - Integrate week-view timezone handling with changes to main agenda page. - - * recursively create place to stage mail from mkrelease. Remove - toolsfeed/toolspush from mkrelease. - - * Allow setuptools to progress past py27 - - * Merged in [18782] from rjsparks@nostrum.com: - Remove HistoricalGroupFeatures. Fixes #3152. - - * Merged in [18791] from rjsparks@nostrum.com: - Allow ballot text to be edited after the ballot is approved. Fixes - #3157. Related to #3119. - - * Merged in [18798] from jennifer@painless-security.com: - Improve handling of submissions for closed working groups. Fixes #3058. - - * Merged in [18808] from rjsparks@nostrum.com: - Tweaked schedule editor colors to match preferences chosen by Liz. - Added coloration for sessions having the IAB as a parent. - - -- Robert Sparks 01 Feb 2021 16:23:17 +0000 - -ietfdb (7.24.0) ietf; urgency=medium - - **Bugfixes and minor features** - - * Refactored the import_mailman_listinfo command to run faster (20s - instead of 30+m) and added time logging (for --verbosity 2) - - * Upgraded the required versions of mypy and django-stubs to the latest - that support Django 2.2. Fixed some issues found by after the upgrades. - - * Fixed a test that was broken when run on December 1st. - - * Added some comment information to settings.py - - * Related to issue #2186: The issue asked for changing review requests - from state 'assigned' back to state 'requested' if the last associated - assignment is withdrawn. However, the code to implement this makes the - change for all assignment states, and also when there has been no state - change. Changed to be more discerning. - - * Make the order of addresses returned by gather_address_lists() - consistent rather than randomly varying from invocation to invocation. - - * Removed log noise when running in repair mode. - - * Added ordering to Session.constraints() to make page renderings stable. - - * When doing test-crawling, ignore variations of the 'next=' query arg. - (The code ignores other query args if 'next' is given). - - * It's very hard to distinguish the different constraint classes on the - meeting requests summary page. Added numbers 1) 2) 3) etc. to make that - easier. - - * Updated hold-for-merge and ready-for-merge lists - - * Merged in [18714] from rjsparks@nostrum.com: - Send email to new mailtrigger controlled destinations when iana expert - review state changes. Fixes #3121. - - * Merged in [18718] from rjsparks@nostrum.com: - Allow program leads to request meetings. Fixes #3141. - - * Added a README about the custom font-datatracker font library, and how - to add glyphs to it. - - * Added sorting of agenda filter keywords to make page rendering stable. - - * Added additional sorting of Session.constraints() return value to make - page rendering stable. - - * Added sorting of sessions to make make the materials page rendering - stable. - - * Removed a timezone-naive invisible HTML element that had been used for - debugging. - - * Fixed some instances of invalid HTML. - - * Updated the default settings to match document directories moved from - /a/www/ietf-ftp/ to /a/ietfdata/doc/ - - * Merged in [18719] from housley@vigilsec.com: - Automatically move the IESG document state when a ballot is issued, - prevent a writeup change or re-issue of ballot if the document is already - approved, and warn about issuing ballots before the IETF Last Call is - finished. Fixes #3119. - - * Merged in [18748] from rjsparks@nostrum.com: - Populate interim approved email correctly. Fixes #3150. - - * Merged in [18753] from henrik@levkowetz.com: - Added test case setUp() and tearDown() code to create yang model test - directories for ApiSubmitTests. - - * Merged in [18723] from mrcullen42@gmail.com: - Fixes #3032: Only send expiration warnings for drafts with a 'draft' - state of 'active', to match the drafts that we will actually expire. - - * Copy both rjsparks and henrik on messages about merged branches. - - * Merged in [18724] from jennifer@painless-security.com: - Allow cancellation of individual sessions of multi-session interim - meeting. Fixes #2959. - - * Merged in [18729] from rcross@amsl.com: - Add argument 'days' to get_meeting() to allow specifying lag time - - * Merged in [18736] from rjsparks@nostrum.com: - Fixup document that had no type. Remove dangling review document. Fixes - #3145. - - * Merged in [18743] from rjsparks@nostrum.com: - Cleaning some pyflakes that made it into the last commit. - - * Merged in [18744] from rjsparks@nostrum.com: - Cleaner title on the document history page when the document is an rfc - (or any other document where rev is empty). - - * Don't allow mysqlclient 2.0.2 due to compilation issues. - - * Merged in [18751] from henrik@levkowetz.com: - Added a sort of author names for stability of some stats pages. - - * Merged in [18752] from henrik@levkowetz.com: - Added a 'dumptime' entry to the JSON return from /api/version, in order - to be able to make sure that running 'test-crawl --diff' will use database - data from the same dump to avoid false page diff positives. - - * Merged in [18765] from henrik@levkowetz.com: - Added 'De' as a surname particle, in addition to 'de' (for author Luca - De Cicco). - - -- Robert Sparks 17 Dec 2020 15:42:58 +0000 - - -ietfdb (7.23.0) ietf; urgency=medium - - **Code Sprint 109, and more** - - * Added 'test/x-markdown' as accepted mime type for text file uploads. - - * Fixed a recent regression in agenda.html which caused the 'now' context - variable to not be available when checking if a meeting session is in the - past or future, to know which recordings or live session links to show. - Also fixed a potential timezone issue with regards to this. - - * Updated the docker development image with a number of tweaks, including - propagation of the docker-init environment to the su'd user in order to - set LANG to a UTF-8 locale - - * Merged in a html typo fix from rcross@amsl.com. - - * Added exception catching to the photo endpoint, for cases where - conversion fails (we just had one case of RGBA to JPEG didn't work). - - * Merged in [18698] from rjsparks@nostrum.com: - Add logging for times to save a document with history. - - * Merged in [18695] from peter@akayla.com: - Changed new email address button text. Fixes #3134. - - * Merged in [18701] from jennifer@painless-security.com: - Improve group 'about' link text on doc page. Fixes #3066. - - -- Henrik Levkowetz 17 Nov 2020 09:05:42 +0000 - - -ietfdb (7.22.0) ietf; urgency=medium - - * Added a GroupHistory.ad_role() method to help with some template - expansions. - - * Modified the name and help text of the Person.plain field, to make the - intended use clearer (to avoid cases of incorrect usage seen recently). - - * Changed back to serve meeting materials locally as the default. There - could be more tweaks in a subsequent commit. - - * Nomcom topic responses didn't save respondent because of a missing form - creation parameter. Fixed. - - * Added additional logging of submission steps, for submission timing - investigation. Should be reduced once cause of long response times has - been found. - - * Added *-chairs aliases for teams to the script that generates group - *-chairs@ietf.org aliases for postfix - - * Merged in [18651] from jennifer@painless-security.com: - Retrieve session agenda, slides, and minutes each time agenda modal is - opened. Fixes #3050. - - * Removed superfluous spaces within
     for materials.  Fixes issue
    -    #3124.
    -
    -  * Merged in [18653] from jennifer@painless-security.com:
    -    Retrieve session agenda materials by meeting/session instead of by
    -    assignment.
    -
    -  * Merged in [18654] from jennifer@painless-security.com:
    -    Do not require redundant meeting number for session materials view.
    -
    -  * Added matching indexes to a number of models with default ordering based
    -    on multiple keys, to speed up queries.
    -
    - -- Henrik Levkowetz   09 Nov 2020 20:25:02 +0000
    -
    -
    -ietfdb (7.21.0) ietf; urgency=medium
    -
    -  **Code sprint 108.1, and more**
    -
    -  This was an online codesprint, held March 19.  Thanks to all who
    -  participated!  As usual, there were some very good contributions:
    -
    -  * Merged in [18589] from rjsparks@nostrum.com:
    -    Allow anyone to see the pending and awaiting announcement tabs on the
    -    upcoming meeting view. Fixes #2929. Partially addresses #3016.
    -
    -  * Merged in [18590] from peter@akayla.com:
    -    Added slide numbering reminder. Fixes issue #3041.
    -
    -  * Merged in [18591] from rcross@amsl.com:
    -    Add more options to Group select field of Misc Session create. Fixes
    -    #3033.
    -
    -  * Refined the template used by the person-link template tag to do better
    -    for document authors without an email address.
    -
    -  * Merged in [18601] from fenton@bluepopcorn.net:
    -    Added NomCom membership history page. Fixes issue #3006. Branch
    -
    -  The release also contains a number of bugfixes and features other than
    -  from the sprint:
    -
    -  * Fixed a bug in the charset handling of individual parts in multipart
    -    email messages in ietf.nomcom.get_body()
    -
    -  * Restricted a log.assertion to only run for current documents (not
    -    DocHistory entries).  Fixed a buggy handling of document.group for historic
    -    groups.
    -
    -  * Added better guards against passing empty data to the person profile
    -    template.
    -
    -  * Updated paths after directory moves on the production server
    -
    -  * Added caching for the /doc/active page.
    -
    -  * Added timing information to the send_smtp() log entries.
    -
    -  * Merged in [18616] from rjsparks@nostrum.com:
    -    Email requesters when an interim moves into the announcement queue.
    -    Partially addresses #3016 and #3099.
    -
    -  * Merged in branch ^/personal/jennifer/7.17.1.dev0 from
    -    jennifer@painless-security.com:
    -    This adds support for the simpler show/hide filtering to the ical agenda
    -    views. It also significantly rearranges (and, I hope, improves the
    -    organization of) the tests. In particular, it specifically tests that
    -    the ical and HTML views include equivalent sets of events. Finally, the
    -    agenda_filter.html template is reworked to be more modular.
    -
    -  * Merged in [18620], [18622], and [18627] from rjsparks@nostrum.com:
    -    Increased the length-limit on the notes field of the base IPR disclosure
    -    form. Fixes #3104.
    -
    -  * Disabled mail sending for the check_person_names_and_aliases management
    -    command, to avoid duplicate person email notifications.
    -
    -  * Added more logging for submissions, to get better timing information.
    -
    - -- Henrik Levkowetz   26 Oct 2020 15:45:44 +0000
    -
    -
    -ietfdb (7.20.0) ietf; urgency=medium
    -
    -  **Bugfixes and minor features**
    -
    -  * Merged in [18533] from rjsparks@nostrum.com:
    -    Replaced review name collision resolution code with a decision to not
    -    save when it occurs. Fixes #3092.
    -
    -  * Merged in [18550] from rjsparks@nostrum.com:
    -    Use the id-archive wherever we had been using the id-repository.
    -    Fixes #3080.
    -
    -  * Fixed some grammar errors.
    -
    -  * Changed the cache-filling code for doc.get_state() to avoid a period
    -    where the cache is seen as valid but empty.  Addresses an issue where
    -    documents occasionally appear to be in an unexpected state.
    -
    -  * Made the important-dates page honour the Meeting.show_important_dates
    -    setting.
    -
    -  * Changed the length of the schedule name field from 16 to 64, to avoid
    -    running into lenght issues for schedule names auto-generated from person
    -    name or email.
    -
    -  * Changed the autogeneration of schedule names to use a slugified user
    -    (person) name, rather than the user login. Logins are mostly email
    -    addresses, may contain characters not permitted in the URL pattern for
    -    schedule names, and are less readable in the contexts where schedule names
    -    are used.
    -
    -  * Tweaked the verbose name of the Nomcom Topic Questionnaire's 'audience'
    -    field, on request from the NomCom chair.
    -
    -  * Tweaked the generation of .ics vtimezone entries to have a stable ordering
    -    in /meeting/upcoming.ics.  Fixes issue #3097.
    -
    -  * Added a UTF-8 language locale to docker-init.sh, in order to be able
    -    some python packages that would fail to install under the default locale.
    -
    -  * Tweaked the docker/copydb script to handle symlinked data directories.
    -
    -  * Changed a draft submission revision consistency check to look at
    -    Submission objects rather than SubmissionDocEvent objects in order to not
    -    fail incorrectly when there are prior cancelled uploads.
    -    Related to issue #2909.
    -
    -  * Merged in [18587] from rcross@amsl.com:
    -    Fixed section 5 of secretariat progress report. Fixes #3063.
    -
    -  * Changed the template for the person_link templatetag to use the user's
    -    primary email address instead of the name, in order to work correctly
    -    for different persons having the same name.
    -
    -  * Fixed a bug in the name_parts() function when dealing with names
    -    listing uppercased surname first (followed by given name).
    -
    -  * Added a person name validation step to prevent names like 'anonymous'.
    -
    -  * Tweaked the Person.plain_ascii() name method to not return leading or
    -    trailing spaces.
    -
    -  * Added a management command, 'check_person_names_and_aliases':
    -
    -    When we started explicitly listing draft and RFC author names on the
    -    documemnt pages in commit [18549], it uncovered a number of links that
    -    would return 404 because name alias entries were missing for some person
    -    entries, in particular for authors of early RFCs and drafts. Adding such
    -    alias entries can be done automatically in most cases. This new management
    -    command will do so, and also report (and in some cases fix) additional
    -    issues, such as names incorrectly incorporating '<>', name aliases that
    -    are email addresses, and more.
    -
    -    Run this with -v2 (verbosity 2) to have it report all found names and
    -    aliases for each issue type, and run it with -f to fix those that can be
    -    automatically fixed.
    -
    -  * Fixed another py2/py3 issue with the nomcom mail processing script.
    -
    - -- Henrik Levkowetz   12 Oct 2020 12:57:08 +0000
    -
    -
    -ietfdb (7.19.0) ietf; urgency=medium
    -
    -  **Added links to people's personal profile page in a number of places**
    -
    -  The important feature of this release is to add links to people's personal
    -  profile page in a number of places, but there are also a number of minor
    -  tweaks and fixes.  From the commit log:
    -
    -  * Added missing exception handling for one invocation of
    -    parse_agenda_filter_params().
    -
    -  * Added Person.personextresource_set to the information returned in the
    -    personal-information JSON blob (this is GDPR-related).
    -
    -  * Fixed a test case bug that compared a py3 string with bytes.
    -
    -  * Added a comment to explain the lack of skipIf() for a test class.
    -
    -  * Added a link to a user's personal profile page to the personal
    -    drop-down menu.  Addresses issue #3093.
    -
    -  * Added a link to a user's personal profile page to the account info page,
    -    and moved the GDPR 'fine print' to the bottom of the page. Turned the
    -    'personal-info' dagger symbols into links to the fine print. Added a
    -    dagger to the 'External Resources' section.
    -    Partially related to issue #3093.
    -
    -  * Added RFC and active-drafts counts to the personal profile page.
    -
    -  * Added listing of author names, with links to the individual profile
    -    pages, to Draft and RFC status pages.  Related to issue #3093.
    -
    -  * Fixed a Py3 str/bytes issue in the feedback_email handler.
    -
    -  * Changed a couple of spots that have links to the person profile page to
    -    use the person_link template tag, for code consistency.
    -
    - -- Henrik Levkowetz   02 Oct 2020 21:01:22 +0000
    -
    -
    -ietfdb (7.18.0) ietf; urgency=medium
    -
    -  **Reimplemented IETF agenda page customisation**
    -
    -  * Merged in the agenda filtering improvements from
    -    jennifer@painless-security.com.  This completely reworks the filtering of
    -    the IETF agenda, in order to not collide with page navigation and clean up
    -    a number of edge cases.  It also reinstates the same kind of filtering for
    -    the upcoming meetings page.
    -
    - -- Henrik Levkowetz   01 Oct 2020 21:17:36 +0000
    -
    -
    -ietfdb (7.17.1) ietf; urgency=medium
    -
    -  This is a bugfix release to clear the slate before merging in the updated
    -  IETF meeting agenda customization work.
    -
    -  * Changed the format of email addresses added to the document
    -    notifications filed when the document shepherd is set.  Fixes issue #3079.
    -
    -  * Added manually built UTC.ics and Etc/UTC.ics to the timezone .ics files
    -
    -  * Added a context processor to make settings generally available in page
    -    templates.  Split the SECRETARIAT_TICKET_EMAIL setting into
    -    SECRETARIAT_ACTION_EMAIL and SECRETARIAT_INFO_EMAIL, with different
    -    addresses.  Updated places with hardcoded ietf-action@ietf.org addresses to
    -    use the settings value, and updated some places to use ietf-infor@ietf.org
    -    instead of the ietf-action address.  Fixes issue #3081.
    -
    -  * Updated log.assertion() to provide an exception object (under Py3, it
    -    seems that logging.Logger instances ignore the traceback if there isn't
    -    also an exception object).  Added a check for unset draft-iesg state to
    -    Document.set_state().
    -
    -  * Updated a middleware function to use the correct Py3 idiom to access
    -    exception arguments.
    -
    -  * Merged in [18466] from jennifer@painless-security.com:
    -    Cancel multi-session meetings correctly. Fixes #2958.
    -
    -  * Merged in [18502] from rjsparks@nostrum.com:
    -    Create a yangcatalog support group and populate its initial roles.
    -
    -  * Merged in [18508] from rjsparks@nostrum.com:
    -    Refine day edges on weekview. Fixes #3071.
    -
    -  * Added a migration to create missing DocAlias instances (and remove some
    -    bad ones).
    -
    -  * Fixed a couple of pyflakes issues.
    -
    -  * Fixed a bytes/unicode issue for echoed-back nomcom questionnaire text.
    -
    -  * Merged in ^/personal/rjs/fixreviews_7.17.1.dev0:
    -    Repair migration for disconnected and confused reviews.
    -
    -  * Changed the template for /meeting/upcoming.ics to not produce floating
    -    times for meetings with UTC timezone.  Fixes issue #3074.
    -
    - -- Henrik Levkowetz   28 Sep 2020 20:02:53 +0000
    -
    -
    -ietfdb (7.17.0) ietf; urgency=medium
    -
    -  **Photo URL support for OpenID profiles**
    -
    -  * Added an assertion to catch an unexpected document state (no IESG-state
    -    set).  Updated the log.assertion() function to accept a "note" argument,
    -    for more informative assertion messages.
    -
    -  * Fixed a bad membership test.
    -
    -  * Updated the decrypt() templatetag to ensure it returns (unicode) strings
    -    rather than bytes.
    -
    -  * Added a view to retrieve profile photos, in order to support Meetecho's
    -    need for such, at /person/{email}/photo.  The default is to supply images
    -    with 80px width.  Image scaling is available using the same query argument
    -    as for Gravatar: ?size=200 or ?s=200 for 200-pixel wide images, for
    -    instance.
    -
    -  * OpenID already has a photo URL as part of the 'profile' scope.  Added the
    -    datatracker photo url to the returned OpenID 'profile' scope information
    -    when a profile photo is available.
    -
    -  * Updated coverage data and tweaked an OpenIDtest and a scope description.
    -
    -  * Added a datatracker version endpoint /api/version.  Fixes issue #3077.
    -
    -  * Added documentation of the OpenID Connect and version endpoints to
    -    /api/.  Added some tests.
    -
    - -- Henrik Levkowetz   13 Sep 2020 12:33:13 +0000
    -
    -
    -ietfdb (7.16.0) ietf; urgency=medium
    -
    -  **Updated new schedule editor**
    -
    -  * Merged in ^/branch/iola/meeting-improvement-r18382@18466.  This provides a
    -    beta-level snapshot of the new schedule editor work.  All known issues
    -    should be fixed, but there might be adjustments needed after experience
    -    with using the new edit view.
    -
    -  * Changed to using BASE_DIR as starting point for finding patch files in
    -    checks.maybe_patch_libraries(), instead of CWD.  Fixes an issue with
    -    running management commands with the current directory being different
    -    than the top of the datatracker app tree.
    -
    -  * Rewrote some code in document_main to avoid using the iesg_state.slug
    -    attribute when iesg_state might not be set.
    -
    -  * Fixed a pyflakes nit.
    -
    -  * Backported a patch to production that changed the secretariat
    -    session-request tool session lengths to 60/120 minutes.
    -
    - -- Henrik Levkowetz   08 Sep 2020 10:59:01 +0000
    -
    -
    -ietfdb (7.15.1) ietf; urgency=medium
    -
    -  * Fixed an issue in the auth48 state_alert_badge() template filter, which
    -    could arise for a document where a get_state() call returns None.
    -
    -  * Added exception catching around an urlreverse that might fail.
    -    (Enumerating valid group types will also work, but can get out of sync, so
    -    this is more DRY).
    -
    -  * Renamed the AUTH48 state_alert_badge() filter to auth48_alert_badge(),
    -    as the filter is specific to auth48, not generic.
    -
    -  * Added an xml_version field to Submission objects, to capture the schema
    -    version of submitted XML files (if any).  Related to issue #3067.
    -
    -  * Added links to v3 HTML output for v3 draft submissions.
    -    Fixes issue #3067.
    -
    -  * Adjusted the horizontal placement of [New] labels in search results,
    -    aligning them on a vertical line for a neater look.
    -
    -  * Updated the bluesheet submission API tests slightly, to verify correct
    -    handling of bluesheet updates.
    -
    -  * Merged in [18373] from mark@painless-security.com:
    -    Filter out reviewers who have rejected reviewing this document in the
    -    past from the list of suggested reviewers.  Fixes #2996.
    -
    -  * Merged in [18378] from rjsparks@nostrum.com:
    -    Improved the classification of some github related external resources.
    -    Tightened validation of new resource values.
    -
    -  * Added an admin page search field and tweaked the list display for the
    -    DocAlias admin page.
    -
    -  * Merged in [18103] from olau@iola.dk:
    -    Prefetch a couple of things in the agenda view to reduce the number of
    -    queries for IETF 106 from about 3800 to about 235.
    -
    -  * Merged in [18414] from olau@iola.dk:
    -    Compute session order from available data instead of going through the
    -    database again (saves ~2800 queries on the IETF 106 agenda page)
    -
    -  * Merged in [18425] from olau@iola.dk:
    -    Made the IPR search form initialize the state field upon form
    -    initialization instead of evaluating the queryset upon importing the
    -    module. This is probably never a problem in practice in this case in
    -    the live environment, but it's a confusing practice, and when running
    -    the tests sometimes a bug seems to throw Django off and the error is
    -    then shadowed by Django crashing when trying to access the
    -    (non-existing) database.
    -
    -  * Merged in [18445] from rjsparks@nostrum.com:
    -    Provided a management command to inform github backups.
    -
    -  * Merged in [18446] from rcross@amsl.com:
    -    Removed a reference to old style exception attribute 'message'.
    -
    - -- Henrik Levkowetz   02 Sep 2020 20:54:59 +0000
    -
    -
    -ietfdb (7.15.0) ietf; urgency=medium
    -
    -  **IETF Agenda page improvements for small devices, bugfixes**
    -
    -  * Updated the instructions for how to expand a vocabulary v3 file to
    -    standalone (by using --expand with xml2rfc)
    -
    -  * Updated the IETF meeting agenda rendering so as to show the session links
    -    to materials, meetecho, jabber, notepad etc. also for narrov-screen
    -    devices such as phones, based on code from lars@eggert.org.  Also moved
    -    some template code doing markup tweaking of the room name to a TimeSlot
    -    method, and factored out session start- and end-time display, repeated in
    -    4 locations, to a template snipped.  Added a new CSS class which provides
    -    less padding at the sides of pages on narrow devices.
    -
    -  * Merged in [18326] from lars@netapp.com:
    -    Updated bootstrap to 3.4.1
    -
    -  * Merged in [18357] from rjsparks@nostrum.com:
    -    Show a link to a drafts group page on the draft info page for all group
    -    types when the draft has a group. Fixes #3061.
    -
    -  * Added a patch for tastypie under django 2.2, to catch field error
    -    exceptions that were handled differently under earlier django versions.
    -
    -  * Changed the maybe_patch_libraries() check action to emit 'patched now,
    -    restart needed' errors in test or development, but not in production, where
    -    we don't care if the patches were applied earlier or just now.
    -
    -  * Changed the week_view() function to calculate a
    -    first_regular_session_time also when the meeting has not been populated
    -    with any sessions, by using the meeting.date as a proxy value.
    -
    -  * Fixed an issue that could prevent error messages from docutils from
    -    propagating to the end user when editing RST templates.
    -
    -  * Made a template filter more robust when given unexpected input.
    -
    -  * Fixed an issue with the generated tag and target URL for versioned bibxml
    -    entries under /doc/bibxml3 for drafts that have been published as RFC.
    -
    -  * Added html.escape() in a test case in order to correctly handle
    -    affiliation names with ampersands.
    -
    -  * Merged in [18371] from mark@painless-security.com:
    -    Track slide submissions even after acceptance or rejection.
    -    Fixes issue #2835.
    -
    -  * Fixed an issue with the target URL for versioned bibxml entries under
    -    /doc/bibxml3 for drafts that have been published as RFC.
    -
    -  * Changed the nomcom template editing forms to use a monospaced font for
    -    the template text (recommended for RST templates).
    -
    -  * Added a link to the group page from the year label on the nomcom index
    -    page.
    -
    - -- Henrik Levkowetz   27 Aug 2020 21:38:04 +0000
    -
    -
    -ietfdb (7.14.1) ietf; urgency=medium
    -
    -  **Code cleanup**
    -
    -  * Code cleanup: removed an unused model and updated an initial migration to
    -    reflect actual database tables present.
    -
    -  * Changed the API to not export saved Message instances (they can contain
    -    information such as draft confirmation codes and password reset codes that
    -    should not be generally visible).
    -
    -  * Added a 'meeting' list filter to the admin page for ImportantDate.
    -
    -  * Changed some settings for non-production modes to permit login to the dev.
    -    server from recent browsers (such as Chrome 84).
    -
    -  * Changed the default LOGGING settings to avoid logging to syslog, as it may
    -    not be available in all enviroments.
    -
    -  * Made the patch utility return information to distinguish already
    -    patched files from successful patch application, and modified our checks
    -    extensions to signal when patches have been applied and a ccommand needs to
    -    be re-run.
    -
    -  * Removed a misnamed patch file.
    -
    - -- Henrik Levkowetz   20 Aug 2020 14:07:38 +0000
    -
    -
    -ietfdb (7.14.0) ietf; urgency=medium
    -
    -  **Updated new schedule editor, cookie fixes, and yangdoctor notifications**
    -
    -  * Merged in /branch/iola/meeting-improvement-r17835@18048.  This provides
    -    a new snapshot of the new schedule editor work, with improved edit page
    -    layout and details.
    -
    -  * Added a patch to make django use the same settings when deleting a
    -    cookie as when setting it.  In particular, it sets Secure if
    -    settings.SESSION_COOKIE_SECURE, which is needed if samesite='None'. Fixes
    -    issue #3056
    -
    -  * Use the same 'Secure' and 'SameSite' cookie settings for application
    -    cookies as for session cookies, rather than hardcoded values (DRY), in
    -    order to play well with recent changes in browser cookie handling.
    -
    -  * Merged in [18324] from rjsparks@nostrum.com:
    -    Send extra mail to yangdoctors chairs when a draft with yang checks
    -    goes into IETF LC. Fixes #2419.
    -
    - -- Henrik Levkowetz   13 Aug 2020 12:22:03 +0000
    -
    -
    -ietfdb (7.13.0) ietf; urgency=medium
    -
    -  **Enhancements to upload pages and APIs, new Research Area Groups, better
    -  403 pages, bugfixes.**
    -
    -  * Changed a list of group types in all_meeting_sessions_for_group() to
    -    instead use group.features.
    -
    -  * Fixed a bug in determining if the agenda page being rendered belongs to
    -    the current meeting (which affects caching time).
    -
    -  * Merged in [18298] from rjsparks@nostrum.com:
    -    Converted IRTF area groups into their own group type rather than
    -    attempting to overload AG. Fixes #3027.
    -
    -  * Improved the handling of the meeting materials page if unknown upload
    -    names without revision numbers are given.
    -
    -  * Provided a local environment path for pyang, which is installed with pip
    -    and may not be available globally.  Fixes issue #3018.
    -
    -  * Simplified some recent code a little bit.
    -
    -  * Added a custom 403 page, extending the datatracker base.html template.
    -
    -  * Added a utility function around the PermissionDenied exception, in
    -    order to easily be able to provide relevant information to the 403 template.
    -
    -  * Based on feedback from the Secretariat, changed the 404 for IPR
    -    declarations in other states than 'posted' to a 403 with a login link.
    -
    -  * Added a missing 404 response
    -
    -  * Converted many cases of plain-text 403 messages to use a properly styled
    -    page instead of a text/plain message; adding a login link when
    -    appropriate.  Also changed some API endpoint 400 responses to a more
    -    correct 403.
    -
    -  * Changed a list of tuples so as to always make them sortable.  This fixes
    -    an issue with bluesheet uploads for 'groups' like 'ietf' that could have
    -    multiple sessions starting at the same time.
    -
    -  * Changed mm_hourly to run the mailman cronjobs under Py27 until mailman has
    -    been upgraded to version 3.x (running under Py3).
    -
    -  * Changed to using a template to generate bluesheets, and added a count of
    -    participants at the top.
    -
    - -- Henrik Levkowetz   07 Aug 2020 15:27:42 +0000
    -
    -
    -ietfdb (7.12.0) ietf; urgency=medium
    -
    -  **IETF 108 Code Sprint release 2, bugfixes and tweaks**
    -
    -  This release contains the second bunch of datatracker bug fixes and
    -  enhancements from the IETF-108 Virtual Code Sprint.  Again, there has
    -  been a lot of good contributions :-)
    -
    -  Thanks to everyone who contributed!
    -
    -  * Changed the error logging propagation setting for some errors.
    -
    -  * Added some normalisation of the reg_type and ticket_type entries in the
    -    OIDC registration scope.
    -
    -  * Merged in [18272] from fenton@bluepopcorn.net:
    -    This is an interim change to prevent chairs from editing milestone
    -    description.  Fixes #3036.
    -
    -  * Merged in [18275] from fenton@bluepopcorn.net:
    -    Added programs to concluded groups page. Fixes #3023.
    -
    -  * Merged in [18276] from housley@vigilsec.com:
    -    Send email to AD when an IETF Last Call expires that contains downrefs.
    -    Fixes #2472
    -
    -  * Merged in [18282] from mark@painless-security.com:
    -    Added IETF sessions to the types that emit parent group name in the session
    -    assignment slug, so that the parent group name will be present on the HTML
    -    row ID in the agenda for IAB sessions.  Also update the wording on special
    -    sessions.  Fixes #3034.
    -
    -  * Merged in [18296], [18297], and [18299] from rjsparks@nostrum.com:
    -    Show RSOC from the Group menu.  Fixes #3024.
    -
    -  * Added 'text/x-markdown' as an accepted MIME type for agenda and minutes
    -    uploads.
    -
    - -- Henrik Levkowetz   29 Jul 2020 20:52:06 +0000
    -
    -
    -ietfdb (7.11.0) ietf; urgency=medium
    -
    -  **IETF 108 Code Sprint release 1, bugfixes and tweaks**
    -
    -  This release contains the first set of code sprint merges, and some
    -  important fixes; additional code sprint contributions will come in
    -  another release.
    -
    -  * Changed the URL to use for meeting attendees information in the new
    -    registration system.
    -
    -  * Merged in [18250] from jennifer@painless-security.com:
    -    Reject or require manual processing for submissions when inconsistent
    -    SubmissionDocEvent revs exist. Fixes #2909.
    -
    -  * Tweaked the messages from bin/rfc-editor-index-updates to be slightly
    -    more informative.
    -
    -  * Refined the code in ietf.sync.rfceditor that deals with errata to
    -    distinguish between rejected errata and other errata.
    -
    -  * Merged in [18270] from valery@smyslov.net:
    -    Added display of verified errata in red, not verified in orange in
    -    document lists.  Fixes issue #2997.
    -
    -  * Merged in [18271] from valery@smyslov.net:
    -    Improved support of CygWin environment for the docker image.
    -
    -  * Added a few extra modules (in particular enscript and ghostscript,
    -    which is needed for the agenda pdf materials) to the docker/install-extras
    -    script.
    -
    -  * Added a workaround to display text/markdown as text in agenda popups.
    -    More work is needed to convert markdown to HTML for this view.
    -    See issue #3039.
    -
    -  * Improved the handling in the OpenID Connect userinfo response where there
    -    are multiple meeting registrations with different email addresses for the
    -    same person.
    -
    -  * Merged in [18285] from rjsparks@nostrum.com:
    -    Better handle materials with names that end with a string that looks
    -    like a version (-nn). May address #3040.
    -
    - -- Henrik Levkowetz   28 Jul 2020 14:52:35 +0000
    -
    -
    -ietfdb (7.10.1) ietf; urgency=medium
    -
    -  **Tweaks related to agenda display and docker-image build and start-up**
    -
    -  This is a small release to clear the slate before today's code sprint.
    -
    -  * Added a check for inallowable characters in slide titles at upload time.
    -
    -  * Added 'gather.town' to the domains recognized as conference service
    -    domains.
    -
    -  * Swapped out the conference URL icon from 'fa-phone' to 'fd-users', and
    -    changed the tooltip to 'Online conference'.
    -
    -  * Added a setting for an explicit path to yanglint, in order to be able
    -    to detect its presence or absence.
    -
    -  * Reformulated a filter step in docker/updatedb to use a more commonly
    -    available command.
    -
    -  * Added yang/catalogmod to the yang module directories created by
    -    docker-init.sh.
    -
    -  * Fixed a problem with writing to /dev/stderr in some environments, in
    -    docker/updatedb.
    -
    -  * Added download progress information (where available) to docker/setupdb.
    -
    -  * Updated Dockerfile to use latest Devuan release (beowulf) as base
    -    image.  Added syslog support.
    -
    -  * Tweaked the handling of yanglint settings.
    -
    -  * Made test parts that depends on yanglint conditional.  Added some
    -    informational messages about tests skipped due to missing resources.
    -
    -  * Removed pip install into old virtualenv location from Dockerfile, and
    -    fixed an rsyslog config issue.
    -
    -  * Made the docker-container syslog startup less noisy.  Refined the
    -    installation of virtualenv requirements to test for an existing django
    -    more correctly, and to use the repository requirements file if available.
    -
    -  * Updated font-datatracker, removing the fd-users and adding the fd-group
    -    glyph.
    -
    -  * Added individual ical links for meeting sessions on the agenda, and
    -    changed the phone handset icon to a group icon for the various online
    -    conference links.
    -
    -  * Merged in [18246] from rcross@amsl.com:
    -    Changed 'BOF or IRTF Sessions' to just 'BOF Sessions' at secretariat's
    -    request.
    -
    - -- Henrik Levkowetz   25 Jul 2020 13:36:31 +0000
    -
    -
    -ietfdb (7.10.0) ietf; urgency=medium
    -
    -  **Generalised external resourses for Groups, Documents, and People**
    -
    -  * Merged in the ExtResource work from rjsparks@nostrum.com, based on a
    -    feature request and contributions from rsalz@akamai.com.  This provides
    -    external resource models for Person, Group, and Document models, as a
    -    generalisation of the previous related-URL concept.  It has a consistent
    -    labelling and classification of URLs and other resources related to a
    -    Group, Document, or Person.  The GroupURL (and similar) classes will be
    -    removed in a later step. Some DocumentURL instances (such as auth48 URLs)
    -    remain to convert to the new scheme, as they have come in with other
    -    merged-in work while the ExtResource work was in transit.
    -
    -  * Corrected and improved some language in the OIDC userinfo 'Request for
    -    Permission' view.
    -
    -  * Provided the new session attribute 'order_number' to the template
    -    used to set the link to the Meetecho live video stream for sessions,
    -    in order to implement a requested change of URL format.
    -
    -  * Merged in [18198] from rjsparks@nostrum.com:
    -    Return the right reference for interim meeting materials.
    -
    -  * Merged in [18185] from rjsparks@nostrum.com:
    -    Only show sessions from the traditional week in the 'week view' used
    -    for customized calendars. Partially addresses #3022 until a more general
    -    solution can be constructed.
    -
    -  * Merged in [18186] from rjsparks@nostrum.com:
    -    Let the weekview in the customized agenda show more than just the
    -    traditional meeting 'week'. Fixes #3022.
    -
    -  * Merged in [18189] from jennifer@painless-security.com:
    -    Make docs in Auth48 state visually distinct. Fixes #2925.
    -
    -  * Fixed an issue for Session.order_in_meeting() if the session was
    -    cancelled.
    -
    -  * Merged in [18201] from rcross@amsl.com: Fixed an issue with the
    -    Secretariat Telechat app where the left pane would have missing sections.
    -
    -  * Merged in [18202] from rjsparks@nostrum.com:
    -    Serve older ietf meetings locally. Add tests to verify we have not set
    -    up a redirect to self.
    -
    -  * Merged in [18204] from rjsparks@nostrum.com:
    -    Recent past meetings are shown as past meetings, so sort them like past
    -    meetings. Fixes side-comment in #3101.
    -
    -  * Merged in [18205] from rjsparks@nostrum.com:
    -    Added rudimentary validation to the admin group form acronym field.
    -    Partially addresses #3026.
    -
    -  * Merged in [18206] from rjsparks@nostrum.com:
    -    Allowed modelforms, particularly the admin, to treat joint_with_groups as
    -    a optional field. Fixes #3029.
    -
    - -- Henrik Levkowetz   22 Jul 2020 20:42:06 +0000
    -
    -
    -ietfdb (7.9.0) ietf; urgency=medium
    -
    -  **Extended support for the remote-instructions field to all session types;
    -  Cookie settings and other changes for Meetecho integration; and bugfixes**
    -
    -  * Updated the generate_name_fixture management command to include
    -    BusinessConstraint; necessary after the automatic meeting scheduler
    -    tests came in.
    -
    -  * Updated fixtures based on the updated generate_name_fixture command.
    -
    -  * Updated the Django patch for SameSite cookie settings to give a
    -    more informative error message from Django when the cookie setting
    -    is unacceptable.
    -
    -  * Merged in [18131] from rjsparks@nostrum.com:
    -    Add configuration and mechanisms to allow meeting materials to be
    -    served via a CDN. Fixes #2935.
    -
    -  * Merged in [18157] from jennifer@painless-security.com:
    -    Store Auth48 URL as DocumentURL and display in RFC-Editor state.
    -    Migrates old data when possible. Alternative to 17563. Fixes #2722.
    -
    -  * Fixed an UnboundLocalError issue.
    -
    -  * Merged in [18159] from jennifer@painless-security.com:
    -    Notify secretariat when conflict review/status change doc enters an
    -    announcement pending state. Fixes #2962.
    -
    -  * Tweaked the agenda HTML template, adding additional conditions
    -    (agenda-note, remote instructions) that will make session-related links
    -    show.
    -
    -  * Tweaked the list of days in secr session edit forms to allow setting
    -    the date to a day before the start of the meeting, necessary for IETF 108.
    -
    -  * Renamed some settings so as to start with the relevant app name
    -    (MEETING_*)
    -
    -  * Added support for a meeting session order_number (denoting first session
    -    for this group in the meeting, second session, etc.) when filling in URL
    -    templates with session info using the 'format' filter.  Used for the
    -    Meetecho video straming url for a session.
    -
    -  * Changed the logger level settings override in settings.py so as to not
    -    actually apply the example settings.
    -
    -  * Merged in [18162] from jennifer@painless-security.com:
    -    Notify IRSG when an IRSG ballot is created. Fixes #2978.
    -
    - -- Henrik Levkowetz   15 Jul 2020 15:33:35 +0000
    -
    -
    -ietfdb (7.8.0) ietf; urgency=medium
    -
    -  **Changes to cookie settings, yang checking improvement, and bugfixes**
    -
    -  * Added a warnings filter for a deprecated message triggered by a library
    -    module, to get rid of unhelpful deprecation messages.
    -
    -  * Increased the generate_schedule optimiser run count to 160, and tweaked
    -    some output messages, after several days of testing various run counts.
    -
    -  * Fixed a bad string formatting directive.
    -
    -  * Fixed an issue with secr.meetings.views.send_notifications() that could
    -    occur if a session didn't have a timeslot set.
    -
    -  * Merged in [18130] from rjsparks@nostrum.com:
    -    Fixed some test scaffolding that used non-existent keys (uncovered by
    -    recent improvements in sqlite3 integrity checking).
    -
    -  * Added a patch for Django to permit cookie 'samesite' setting to be
    -    explicitly set to 'None'.
    -
    -  * Added some cookie settings and changed others, in order to support
    -    login and operation from a Meetecho iframe.
    -
    -  * Added a guard against trying to use historic group parent information
    -    when parent is None
    -
    -  * Added support for pulling yang modules from yangcatalog.org, and use
    -    them when running yang checks on drafts.
    -
    -  * Changed the subclass of lxml.html.clean.Cleaner() to adapt to changes
    -    in the superclass in v4.5.2
    -
    -  * Added a new field Person.plain as a fallback for names where
    -    plain_name() produces the wrong result.  Fixes issue #3020.
    -
    -
    - -- Henrik Levkowetz   11 Jul 2020 20:46:14 +0000
    -
    -
    -ietfdb (7.7.0) ietf; urgency=medium
    -
    -  **Automatic meeting scheduler, improved support for remote instructions**
    -
    -  This release introduces the generate_schedule command, which will do auto-
    -  layout of the schedule for an IETF meeting, with minimized conflicts.  The
    -  auto-scheduler output can also be used as input for further manual tweaks.
    -  The goodness of the generated schedule very much depends on how complete the
    -  input constraints are, and on the indicated cost of violating the various
    -  constaints.  It is expected that experience with using the output of the
    -  auto-scheduler will lead to adjustment of the cost of violating various
    -  constraints, and possibly also the introduction of new constraints.
    -
    -  There is also some other features, including support for the secretariat to
    -  edit the remote_instructions field of sessions, which is necessary in order
    -  to set remote call-in URLs for meeting sessions taking place in rooms that
    -  don't already have a regular Meetecho channel.
    -
    -  From the commit log:
    -
    -  * Merged in the final part of the automatic scheduler from sasha@dashcare.nl.
    -
    -  * Renamed and adjusted a migration to avoid multiple migration leaf nodes.
    -
    -  * Fixed an issue with openid_userinfo() for persons with no email address.
    -
    -  * Renamed the automatic schedule generator command from 'schedule_generator'
    -    to 'generate_schedule', so as to match our other 'generate_*' management
    -    commands.  Added some switches to the command, and added more information
    -    to the default output, providing information about number of optimisation
    -    runs and time consumed.  Added a default value for the meeting option.
    -
    -  * Made it possible to provide a name to use for the generated schedule, and
    -    changed the autogenerated names to be easier to remember and type for
    -    later manual work based on an autogenerated schedule.
    -
    -  * Removed the command to purge request_profiler entries, given that
    -    request_profiler is incompatible with Django 2.2 and has been removed
    -
    -  * Fixed a bug in the caching of the agenda, where too much of the page was
    -    cached.  Fixes issue #3008.
    -
    -  * Added a guard against trying to serialize session UTC start time for a
    -    meeting with unknown timezone.
    -
    -  * Renamed a test module to conform to our name convention ('test_*' to
    -    'tests_*').
    -
    -  * Tweaked the HTML that puts session links and calendar links on the session
    -    details page so as to put them on the same line.
    -
    -  * Added some CSRF settings to make login from a meetecho iframe possible.
    -
    -  * Added 'remote_instructions' as an editable field for misc. sessions in
    -    the secretariat app, in order to be able to set remote access URLs.
    -
    -  * Reworked the support for remote access urls in the agenda_note and
    -    remote_instructions fields of Session objects so as to accept any of a list
    -    of conference service domains as remote call-in URLs (i.e., not only webex).
    -
    - -- Henrik Levkowetz   01 Jul 2020 16:34:49 +0000
    -
    -
    -ietfdb (7.6.0) ietf; urgency=medium
    -
    -  **Django 2.2 upgrade**
    -
    -  * Changed deprecated 'load staticfiles' to recommended 'load static'
    -
    -  * Added a warnings filter.  Removed the use request_profiler, which is
    -    not compatible with Django 2.2.
    -
    -  * Removed an unused parameter from submit.tests.do_submission_email().
    -
    -  * Updated requirements for Django 2.2.
    -
    -  * Fixed an issue where a session was saved without a type_id, found by
    -    the Django 2.2 checks.  The code set the value just after the first save,
    -    and then did a second save, but this is 1) more costly, and 2) keeps an
    -    invalid session object in the database for a short time.
    -
    -  * Fixed a place where data provider for a POST in contained None, which
    -    cannot be serialized into POST data.  Found by Django 2.2 checks.
    -
    -  * Django 2.2 does not wrap single queries in transactions, for
    -    performance reasons.  This caused some template tags that did database
    -    lookups to trigger exceptions.  Fixed by moving the lookups (which would
    -    not normally change between apache reloads) out from the template tag code
    -    to module scope.  Adding new groups of type
    -    ['ag','area','team','dir','program'] will now require a reload to show up
    -    in the group menu.
    -
    -  Other changes:
    -
    -  * Changed skip messages from test suites to use print() instead of
    -    sys.stderr.write(), to match other output from the test runner.
    -
    -  * Updated MyPy to 0.770 and django-stubs to 1.5.0 for improved type
    -    checking of the Django interface calls.
    -
    - -- Henrik Levkowetz   29 Jun 2020 10:56:15 +0000
    -
    -
    -ietfdb (7.5.0) ietf; urgency=medium
    -
    -  **Django 2.1 upgrade, CodiMD support, bluesheet support for Meetecho, and bugfixes**
    -
    -  * Merged in [18036] from rjsparks@nostrum.com:
    -    Tweaked the title of the page used to complete reviews. Fixes #2767.
    -
    -  * Merged in [18037] from rjsparks@nostrum.com:
    -    Removed abandoned charters from any future telechats. Fixes #3003.
    -
    -  * Separated the session cache from the default cache, using slightly
    -    different settings, in order to not drop sessions when a new release is
    -    deployed.
    -
    -  * Added a default logger and level for 'django.security' log items, to
    -    route them to our regular syslog.  This will give us more information
    -    about failures to retrieve session info, and also things like 404
    -    responses, which will already be captured in the apache log but with
    -    less info.  May need revisiting if it proves to cause excessive logging.
    -
    -  * Fixed a problem with the code to update a missing person record
    -    association in a meeting registration record.
    -
    -  * Fixed a problem with the handling of multiple registrations for the same
    -    person and meeting in api_new_meeting_registration().
    -
    -  * Added a switchover date (currently July 6th) for Etherpad to CodiMD use,
    -    and modified views and templates to provide links to codimd.ietf.org
    -    for meetings (including interims) after that date.
    -
    -  * Added an API endpoint for bluesheet information upload.  Factored out
    -    code in common with manual upload_session_bluesheets().  Tweaked
    -    ietf.secr.proceedings.utils.handle_upload_file() to handle temp files in
    -    addition to HTTP file objects, to support the API endpoint.
    -
    -  * Updated bin/mkpatch to use a --name switch, and normalize the name to
    -    use '-' rather than '_', and give more feedback.
    -
    -  * Added the meeting registration 'affiliation' field to the OAuth2
    -    'registration' scope, so that Meetecho will have the information needed
    -    to build bluesheets.
    -
    -  * Merged in [18064] from rjsparks@nostrum.com:
    -    Changed the group edit field url regexp to accept the field names
    -    (specifically role names) we use by allowing hyphens.
    -
    -  Django 2.1 transition changes:
    -
    -  * Changed NullBoleanField() to BooleanField(null=True), according to the
    -    2.1 upgrade recommendations.
    -
    -  * Changed the removed django.contrib.auth.views.logout to LogoutView.
    -
    -  * Adjusted to the changed signature of admin.utils.get_deleted_objects()
    -
    -  * Adjusted the code to the attribute name change from ._size to .size in
    -    file upload objects.
    -
    -  * Updated various component requirements to match Django 2.1.
    -
    -  * The .render() method of widgets must now accept an additional keyword
    -    argument 'renderer'; adjusted the code accordingly (including a library
    -    patch -- pull request also submitted).
    -
    - -- Henrik Levkowetz   27 Jun 2020 12:20:30 +0000
    -
    -
    -ietfdb (7.4.0) ietf; urgency=medium
    -
    -  **Test suite and OpenID improvements**
    -
    -  * In the OpenID registration scope handler, look for registration matches
    -    by email if no person link is available, in order to handle the case
    -    where somebody registered with a new email and only added it to the
    -    datatracker later.
    -
    -  * Added a test suite switch to optionally show logging output.  Normally
    -    this is suppressed while running tests.  In production, it goes to
    -    syslog's user facility.  With --show-logging, it will go to the console
    -    when running tests.
    -
    -  * The registration system creates separate records for hackathon and
    -    session registration, but we want just one consolidated record.
    -    Changed the handling of notifications from the registration system to
    -    aggregate reg_type and ticket_type information in one record.
    -
    -  * With the draft submission cutoff date before a meeting set to the
    -    meeting start date (with the intention to have no blackout), the fact
    -    that submission re-open time is midnight _local_ time led to a blackout
    -    period of a few hours after midnight UTC for meeting timezones with
    -    midnight later than UTC.  Changed this to give no blackout time when
    -    cutoff-date==meeting.date.
    -
    -  * Merged in [18016] from rjsparks@nostrum.com:
    -    Ensure UTC time is shown throughout the interim request, approval, and
    -    announcement workflow. Fixes issue #2974.
    -
    -  * Merged in [18020] from rjsparks@nostrum.com:
    -    Construct Faker objects used for person name generation only once.
    -    Results in a roughly 20% speedup of the test-suite.
    -
    -  * Merged in [18021] from rjsparks@nostrum.com:
    -    Refactoring for a little less waste creating meeting/interim test data.
    -
    - -- Henrik Levkowetz   22 Jun 2020 13:58:52 +0000
    -
    -ietfdb (7.3.2) ietf; urgency=medium
    -
    -  **Bugfixes**
    -
    -  * Fixed a bad regex in test-crawl
    -
    -  * Removed an unnecessary entry from the OIDC auth request arguments in
    -    test_oidc_code_auth().
    -
    -  * Reorganized the python logging setup slightly, and added a possibility
    -    to configure logging levels for individual loggers in settings_local.py
    -
    -  * Added a management command to list registered logging framewor entries
    -    (loggers), in order to see which can be configured in settings_local
    -    with the UTILS_LOGGER_LEVELS settings.
    -
    -  * Changed the OpenID profile data description to match what the
    -    datatracker actually shares.  This eliminates mention of things the
    -    datatracker doesn't know, and doesn't share, such as gender and
    -    birth-date.
    -
    -  * The datatracker logs directly to syslog, but some python libraries send
    -    debug logging to the python logging module.  Added a python logging syslog
    -    handler to the django logging setup, in order to make it easier to turn on
    -    built-in logging from external modules when needed.
    -
    -  * Improved the handling of logger enabling entries in UTILS_LOGGER_LEVELS
    -    to set a handler if none exists for a given logger.
    -
    -  * Changed the required version of pyflakes to one that supports ANNASSIGN
    -    (python annotated assignments, now used in the code).
    -
    -  * Added a --sprint switch to mkdevbranch to avoid switching on the
    -    absence of a developer name when creating sprint branches
    -
    -  * Merged in [17992] from rjsparks@nostrum.com:
    -    Improved the admin interface form validation for used_roles.
    -
    -  * Merged in [17993] from rjsparks@nostrum.com:
    -    Made test_interim_send_announcement a little more time_zone aware.
    -
    - -- Henrik Levkowetz   16 Jun 2020 21:16:03 +0000
    -
    -
    -ietfdb (7.3.1) ietf; urgency=medium
    -
    -  **Updates to meeting registration handling and group editing; and bug fixes**
    -
    -  * The fields ticket_type and reg_type are now part of MeetingRegistration.
    -    Made the conditional handling of these attributes in the OpenID
    -    "registration" scope handler unconditional.
    -
    -  * Fixed an incorrect admin site search field specification that prevented
    -    certain serches from working in the admin site.
    -
    -  * Changed the settings_local.py for the docker image to use the database
    -    type enforced in docker/updatedb.
    -
    -  * Fixed an issue with multiple objects matching a registsration record
    -    fetched from the registration system (this has been caused by not
    -    correctly detecting updates to the registration system details).
    -
    -  * Added a MeetingRegistration.attended field, to keep apart attendance
    -    at a meeting and registration for a meeting.
    -
    -  * Updated meeting attendance and nomcom eligibility calculations to take
    -    the MeetingRegistration.attendance flag into account.
    -
    -  * Added some code to set the meeting attendance flag when Meetecho pulls
    -    OAuth2 profile data for session participation between the start and end
    -    dates for a meeting.
    -
    -  * Updated the api_new_meeting_registration() endpoint to set all provided
    -    fields correctly.  Fixes a bug that left some fields unset.
    -
    -  * Expanded the test case for api_new_meeting_registration() to test both
    -    the existing and new account case, and test that additional table fields are
    -    set appropriately.
    -
    -  * Merged in [17908] from rjsparks@nostrum.com:
    -    Added used_roles to Group and default_used_roles to GroupFeatures.
    -    Dynamically build the group edit form to provide a field for all
    -    used_roles. Fixes #2785 and #2572.  Partially addresses #2160.
    -
    -  * Added hourly generation of two static files: 1wg-charter*.txt
    -
    -
    - -- Henrik Levkowetz   10 Jun 2020 20:58:50 +0000
    -
    -
    -ietfdb (7.3.0) ietf; urgency=medium
    -
    -  **API for account creation triggered by meeting registration**
    -
    -  * Added a new API endpoint to be used by the registration system, to trigger
    -    account creation.
    -
    -  * Refactored some account creation code to re-use the email sending part in
    -    the registration system notification api for new meeting registrations.
    -
    -  * Updated the email template that goes out for password setting on account
    -    creation, to give directions also for the case when the user already has a
    -    pre-existing account.  Updated a test to match.
    -
    -  * Added a showapikeys management command, to be able to easily list existing
    -    API keys.
    -
    -  * Added a migration to create login and person records for the new
    -    mail-archive and registration-system accounts.
    -
    -  * Added a new role 'Robot', for use with reg-system and mail-archive API
    -    accesses.
    -
    -  * Added reg_type and ticket_type to the MeetingRegistration model.
    -
    -  * Updated a patch for oidc_provider, to remove tzinfo in a default datetime
    -    value.
    -
    - -- Henrik Levkowetz   08 Jun 2020 20:17:59 +0000
    -
    -
    -ietfdb (7.2.0) ietf; urgency=medium
    -
    -  **Support for OpenID and OAuth2**
    -
    -  This release introduces support for OpenID and OAuth2, with out-of-band
    -  client registration, and adds some other minor tweaks and bugfixes:
    -
    -  * Added OpenID support through django-oidc-provider, with tests using the
    -    certified python oic module.
    -
    -  * Added patches for some issues with the oic and oidc-provider modules,
    -    and updated a patch for request-profiler.
    -
    -  * Added a factory function OidClientRecordFactory for OpenID testing
    -
    -  * Added django urlconfig namespace support in
    -    ietf.utils.test.get_callbacks() (needed when testing the reverse lookups in
    -    templates for oidc_provider).
    -
    -  * Tweaked patch.py for Py3 compatibility.
    -
    -  * Tweaked log.unreachable() and log.assertion() for Py3 compatibility.
    -
    -  * Tweaked the meetecho access API fallback response to use person.plain_name
    -    instead of person.name.
    -
    -  * Added a download-only switch to docker/updatedb
    -
    -  * Decorated post_submission() with @transaction.atomic, and did some
    -    slight refactoring of code related to post_submission() calls and
    -    submission events.  This was triggered by a submission left in an
    -    intermediate state because of a WSGI timeout (leading to a 504 error).
    -
    -  * Increased the required version of request-profiler and updated its
    -    patch file.
    -
    -  * Excluded a majority of htmlized drafts at /doc/html from the test-crawler
    -    (but keeping some for testing) in order to reduce the crawl time.
    -
    - -- Henrik Levkowetz   07 Jun 2020 12:07:59 +0000
    -
    -
    -ietfdb (7.1.0) ietf; urgency=medium
    -
    -  **Code sprint 107.1**
    -
    -  This was an online codesprint, held March 19.  Thanks to all who
    -  participated!  There were some very good contributions:
    -
    -  * Merged in [17835] from pusateri@bangj.com:
    -    Add agenda_note and remote_instructions to agenda.json API.  Fixes
    -    #2955.
    -
    -  * Merged in [17838] from fenton@bluepopcorn.net:
    -    Give IRSG at-large members balloting capability. Fixes #2979.
    -
    -  * Merged in [17843] from housley@vigilsec.com:
    -    Created a 'slowpages' file cache for some very stable pages.
    -
    -  * Merged in [17864] from housley@vigilsec.com:
    -    Added /meeting//agenda pages to the slowpages cache. Also limited
    -    display of the 'agendas are subject to change' notice to the current
    -    meeting's agenda. Fixes #2992.
    -
    -  The release also contains some commits made just before or after the
    -  code sprint:
    -
    -  * Added a missing guard against attribute access on None.
    -
    -  * Changed the nomcom chair help page to show 4-digit years, rather than
    -    2-digit years in templates and examples.
    -
    -  * Renamed some view funtions for consistency.  Almost all .json enpoints
    -    were named \*_json(), but not all.  Fixed in this commit, together with the
    -    equivalent renaiming for one .ical endpoint.
    -
    -  * Refined the makeresources management command slightly to improve
    -    handling of models with names ending in 'Resource' -- tastypie requires the
    -    resource name to be explicitly set in this case.
    -
    -  * Updated the NomCom eligibility calculation to use the last 5 in-person
    -    meetings, in accordance with draft-iesg-nomcom-eligibility-2020-03 which
    -    has now been approved for publication.  The code will need revisiting when
    -    the long-term policy is available.
    -
    -  * Merged in a patch from mark@painless-security.com to add caching
    -    options to docker/run
    -
    -  * Changed the wording in one place on the NomCom Chair help page so as to be
    -    in line with menu entry and page title of the NomCom Settings page, based
    -    on feedback from Barbara Stark.
    -
    -  * Added a utility script docker/rsync-extras to populate a dev instance with
    -    drafts, rfcs, slides, etc.
    -
    - -- Henrik Levkowetz   21 May 2020 23:11:53 +0000
    -
    -
    -ietfdb (7.0.0) ietf; urgency=medium
    -
    -  **Upgrade to Django 2.0**
    -
    -  This release moves the datatracker on to the Django 2.0 framework, from the
    -  earlier Django 1.11.  Further upgrades to Django 2.1 and 2.2 will follow.
    -  The major version bump is motivated by not being able to run under Python 2.x
    -  and Django 1.x any more.
    -
    -  There are also some other minor changes:
    -
    -  * Merged in ^/personal/henrik/6.129.2-django2.0 which contains an upgrade
    -    of Django from 1.11 to 2.0, with the accompanying code changes needed.
    -
    -  * Added a template with-clause that was lost in merging.
    -
    -  * Merged in [17803] from rcross@amsl.com:
    -    Made various changes to session request form, mostly removal of fields, in
    -    order to support virtual session requests.
    -    Also added settings.SECR_VIRTUAL_MEETINGS list.
    -
    -  * Fixed a test that incorrectly looked for author.name instead of
    -    author.plain_name()
    -
    - -- Henrik Levkowetz   20 May 2020 09:33:26 +0000
    -
    -
    -ietfdb (6.130.1) ietf; urgency=medium
    -
    -  **Bugfixes**
    -
    -  From the commit log:
    -
    -  * Merged in [17797] from rjsparks@nostrum.com:
    -    Better use of group type in interim announcement tools. Fixes #2989.
    -
    -  * Refactored many instances of msg.get_payload(decode=True).decode('utf-8')
    -    and similar to get_payload_text(msg), which uses msg.get_charset() to get
    -    the actual charset to do the decoding in a consistent manner.  Also
    -    removed some instances of force_str (but more remain).
    -
    -  * Added group chair/secretary role information to the personal meetecho
    -    key API return.
    -
    -  * Added a bunch of drafts for which we don't have text files to the
    -    test-crawler exclusion list.
    -
    -  * Fleshed out a review test slightly, and did some refactoring.
    -
    -  * Added an utility function to get email payload as unicode text.
    -
    -  * Merged in [17794] from mark@painless-security.com:
    -    Add the 'msg' variable for interpolation on reviewer availability
    -    change emails, and reformat the add-a-period email.  Fixes #2891.
    -
    -  * Merged in [17722] from mark@painless-security.com:
    -    Remove the 'experimental' verbiage from the references / referenced by
    -    pages.  Fixes #2857.
    -
    -  * Fixed a bug in upcoming() leading to entries before the current date
    -    being shown.
    -
    - -- Henrik Levkowetz   18 May 2020 04:46:17 +0000
    -
    -
    -ietfdb (6.130.0) ietf; urgency=medium
    -
    -  **Meeting services for IAB programs, meeting shortcuts in additional places, bugfixes**
    -
    -  Extracted from the commit log:
    -
    -  * Merged in [17764] from rjsparks@nostrum.com:
    -    Allow IAB programs to use normal meeting mechanics. Fixes #2970.
    -
    -  * Based on [17694] from mark@painless-security.com, this merges in a set
    -    of changes that provides agenda-like details on session meeting view, and
    -    fixes issue #2751.  It also aligns the styling of materials and resources
    -    link lists on the upcoming meetings and ietf agenda pages, and adds
    -    calendar symbols with links and recordings symbols with links to interim
    -    meeting pages.
    -
    -  * Added send-scheduled-mail to bin/every15min
    -
    -  * Reworded the instructions for submission tool bug reporting and manual
    -    posting to avoid reports going to the wrong address.
    -
    -  * Added missing notify-expirations script to bin/weekly
    -
    -  * Added a catch for malformed apikey input.
    -
    -  * Fixed a case of too few format string parameters.
    -
    -  * Tweaked a 404 message to differentiate between two not-found cases.
    -
    -  * Updated the buildbot config with additional builders, database loading
    -    as part of test-crawler run, tweaked test-crawler start-time and other
    -    tweaks
    -
    -  * Added a second link to htmlized draft content (on the datatracker) in
    -    addition to the link to the tools hosted htmlized document.
    -
    -  * Fixed some instances of invalid html.
    -
    - -- Henrik Levkowetz   13 May 2020 00:21:43 +0000
    -
    -
    -ietfdb (6.129.1) ietf; urgency=medium
    -
    -  **Bugfixes**
    -
    -  * Merged in [17711] from henrik@levkowetz.com:
    -    Turned autoescape off for another email fragment template (production
    -    database has also been changed).  This fixes an issue where
    -    test_assign_reviewer() would sometimes fail due to html-escaped characters
    -    in email text.
    -
    -  * Merged in [17725] from rjsparks@nostrum.com:
    -    Add help text strongly encouraging always having a conference link in
    -    any interim request. Fixes #2973.
    -
    -  * Merged in [17724] from rjsparks@nostrum.com:
    -    Use normal material management permissions for uploading bluesheets.
    -    Fixes #2975.
    -
    -  * Merged in [17723] from rjsparks@nostrum.com:
    -    Stop requiring AD approval of virtual interims. Fixes #2972.
    -
    -  * Merged in [17712] from rjsparks@nostrum.com:
    -    Add a webcal link to /meetings/upcoming. Partially addresses #2971.
    -    Adding this to the main agenda page will require some js juggling, and I
    -    think getting some runtime with it first to make sure it is what we want
    -    makes sense.
    -
    -  * Merged in [17709] from rjsparks@nostrum.com:
    -    Modified the last-call announcement template, at the IESG's request,
    -    removing the link to documment's ballot (which may not exist at the time
    -    last-call goes out). Fixes #2967.
    -
    -  * Merged in [17708] from rjsparks@nostrum.com:
    -    Remove 'point raised - writup needed' from the set of substates the
    -    IESG can use with a document. Fixes #2968.
    -
    -  * Added a first iteration of /meeting/upcoming.json for Meetecho use,
    -    with the expectation that buildout and tweaks may be required.
    -
    -  * Limited the data for 'New draft revisions over time' on the personal
    -    profile page to type='draft'.  This fixes an issue where other document
    -    types, for instance reviews, would be counted.
    -
    - -- Henrik Levkowetz   06 May 2020 13:30:24 +0000
    -
    -ietfdb (6.129.0) ietf; urgency=medium
    -
    -  **New meeting schedule editor**
    -
    -  This provides the first release of the new meeting schedule editor which
    -  lets the Secretariat and IESG lay out the week's schedule for in-person IETF
    -  meetings on a visual grid.  The new editor is based on experience gained
    -  with the current schedule editor.  In addition to visual and functional
    -  improvements, the underlying javascript and ajax API has been thoroughly
    -  revised.
    -
    -  * Merged in  ^/branch/iola/meeting-improvement-r17214@17617, which
    -    provides a new meeting schedule editor.
    -
    -  * Minor housekeeping changes
    -
    - -- Henrik Levkowetz   01 May 2020 09:04:27 +0000
    -
    -
    -ietfdb (6.128.0) ietf; urgency=medium
    -
    -  **Changes in nomcom eligibility code, IPR handling, CI buildbot, and API keys**
    -
    -  From the commit log:
    -
    -  * Changed meeting links to etherpad instances to use port 9009, in order
    -    to avoid web server proxying, which can cause issues under load.
    -
    -  * In IPR disclosure statement updates, don't show links to parked IPR
    -    declarations, since they will 404.
    -
    -  * Fixed a server 500 on missing flooplan image file, which should have
    -    returned a 404.
    -
    -  * Changed the date/datetime at the top of meeting session pages to indicate
    -    timezone, and be given in UTC for virtual interim meetings, but meeting
    -    timezone with UTC in parentheses for in-person meetings.  Fixes issue
    -    #2963.
    -
    -  * Enhanced [17687] slightly, adding rendering of other status settings than
    -    cancelled, and adding warning background for cancelled.  See issue #2963.
    -
    -  * Added a template filter that is a replacement for Django's builtin 'date'
    -    filter, with a more polymorphic signature: It accepts either datetime or
    -    date input, and ignores time-specific format entries when handling a date.
    -
    -  * Fixed a html closing tag error.
    -
    -  * Gave docker/updatedb a --quiet flag for use with buildbot, and fixed an
    -    issue with error reporting of bad script switches for docker/updatedb.
    -
    -  * Moved minimum version up for python-magic, due to a Py3 issue with earlier
    -    versions.
    -
    -  * Fixed a number of Py2/Py3 issues and removed more Py2 compatibility code.
    -
    -  * Updated some minimum versions for required packages.
    -
    -  * Merged in [17663] from rjsparks@nostrum.com: Show recent meetings on a
    -    group's meeting tab even if there aren't other past meetings. Fixes #2961.
    -
    -
    -  * Added an explicit dependency on svn.  Under py3 it can be installed
    -    with pip, and doesn't need OS packages for python-subversion (it still
    -    needs libsvn1, though).
    -
    -  * Updated buildbot in a number of respects, in order to be able to deploy
    -    Py3 workers:
    -
    -    - Added the possibility of specifying worker path on the command line for
    -      the restart-workers script
    -
    -    - Added a buildbot_passwords template
    -
    -    - Removed excess workers
    -
    -    - Updated the buildbot master config file.
    -
    -    - Updated buildbot workers from 0.8 to 2.7, transitioned to Python 3, and
    -      added some convenience scripts.
    -
    -  * Merged in [17649] from rjsparks@nostrum.com: Follow RFC8713 section 4.15
    -    for roles that disqualify for nomcom. Fixes #2944.
    -
    -  * Merged in [17650] from rjsparks@nostrum.com: Refactored
    -    nomcom-disqualifying roles into one place.
    -
    -  * Added a request profiler and a management command to purge profiler
    -    records.
    -
    -  * Added template fragment caching for the upcoming meetings page.
    -
    -  * Tweaked the group 'closing notes' edit line for the secretariat on the
    -    group about page.
    -
    -  * Changed the use of requirements3.txt in docker files back to
    -    requirements.txt, and removed requirements3.txt
    -
    -  * Added a personal API key for meetecho access.
    -
    -  * Added the meetecho access api key to the list of personal API keys
    -    available through the Personal API GUI, and removed a secretariat-only key
    -    from the list.
    -
    -  * Added a migration for the updated list of personal API endpoints.
    -
    -  * Simplified the URL and view code for the personal meetecho access API
    -    endpoint, and added test code.
    -
    -  * Refined the GUI for personal API endpoints so that endpoints for which one
    -    does not have the right Roles do not show in the GUI, and added a
    -    supporting method on Person objects.  Updated tests accordingly.
    -
    -  * Updated the API v2 JsonExporMixin to not try to use an API key argument as
    -    a queryset argument when building the json response.
    -
    -  * Added exception handling in the require_api_key() decorator for
    -    AttributeError raised by the decorated function.
    -
    - -- Henrik Levkowetz  27 Apr 2020 19:10:10 +0000
    -
    -
    -ietfdb (6.127.0) ietf; urgency=medium
    -
    -  **Removed Python 2.7 compatibility.**
    -
    -  This release removes python 2.7 compatibility code.  It is a precursor to
    -  conversion from Django 1.11 to Django 2.2 (via 2.0 and 2.1).  The coming
    -  Django 2.x compatible release will have a major version bump, to match.
    -  Please note that there may however be some additional releases based on
    -  Django 1.11 before we come to the first Django 2.x release.
    -
    -  * Merged in the py3clean work, which removes usage of six and __future__
    -    imports, along with other py2/3 compatibility code.
    -
    - -- Henrik Levkowetz   14 Apr 2020 19:45:50 +0000
    -
    -
    -ietfdb (6.126.0) ietf; urgency=medium
    -
    -  **Groundwork for upcoming automatic scheduling assistance**
    -
    -  * Merged in ^/branch/dash/automatic-scheduler@17395 from sasha@dashcare.nl,
    -    which adds groundwork for upcoming automatic scheduling assistance:
    -
    -    ~ Added a management command to create a dummy IETF 999 meeting.
    -
    -    ~ Added display of new constraints and joint sessions to agenda builder
    -      interface.
    -
    -    ~ The new timerange, time_relation and wg_adjacent constraints, along with
    -      the joint_with_groups option, are now reflected in the special requests
    -      field.  This allows them to be taken into account while scheduling
    -      sessions.
    -
    -    ~ Clarified the wording in the session request form regarding conflicts
    -      with BOFs.
    -
    -    ~ Added support for structured entry and storage of joint sessions in
    -      meetings:
    -
    -      - Also adds additional tests for the SessionForm
    -      - Fixes a javascript error in session requests for non-WG groups,
    -        that could cause incorrect form behaviour.
    -      - Expands the tests added in [17289] a bit.
    -
    -    ~ Added support for the timerange, wg_adjacent and time_relation
    -      constraints.  This adds three new constraints to the database and
    -      relevant UIs:
    -
    -      - timerange: "This WG can't meet during these timeframes"
    -      - wg_adjacent: "Schedule adjacent to another WG (directly following,
    -        no breaks, same room)"
    -      - time_relation: schedule the two sessions of one WG on subsequent
    -        days or with at least one day seperation
    -
    - -- Henrik Levkowetz   09 Apr 2020 16:25:23 +0000
    -
    -
    -ietfdb (6.125.0) ietf; urgency=medium
    -
    -  **Various meeting-related fixes and improvements**
    -
    -  * Merged in [17590] from rcross@amsl.com:
    -    Added support for variable length meetings to secr/meetings app.
    -
    -  * Changed the handling of some exceptions during draft submission to give
    -    user feedback rather than server 500 responses, in order to deal better
    -    with severely malformed drafts.
    -
    -  * Added a workaround for the current libmagic on OpenSUSE, which quite
    -    easily can mischaracterise text/plain documents as text/x-Algol68.  Fixes
    -    issues #2941 and #2956.
    -
    -  * Added validation of the session duration in interim meeting requests, with
    -    added values in settings.py for min and max duration.
    -
    -  * Clarified the standalone XML draft submission requirements, and
    -    mentioned the xml2rfc switch to use for v3 sources.
    -
    -  * Changes to accept a wider range of URLs when displaying call-in links from
    -    the Session agenda_note and remote_instructions fields.
    -
    -  * Changed some fields to raw_id_fields in the MessageAdmin, for improved
    -    admin page load times.
    -
    -  * Added 'Remote instructions' at the top of interim sesssion pages, and
    -    made the 'Meeting Details' button available to the group chairs, not only
    -    secretariat.
    -
    - -- Henrik Levkowetz   08 Apr 2020 16:51:46 +0000
    -
    -
    -ietfdb (6.124.0) ietf; urgency=medium
    -
    -  **Enhanced 'Upcoming Meetings' page, and more**
    -
    -  * Added links to agenda/materials pop-up, materials download, etherpad,
    -    jabber room, and webex call-in session for interims on the upcoming
    -    meetings page.  With the earlier changes from [17555], this fixes issue
    -    #2937.
    -
    -  * Changed the IPR patent number regex to permit space between country
    -    code and serial number, and expanded on the help text for the IPR patent
    -    number field.
    -
    -  * Added verification of response data to IphoneAppJsonTests
    -
    -  * Merged in [17564] from pusateri@bangj.com:
    -    Added interim meetings to agenda.json API. Fixes #2946.
    -
    -  * Merged in [17562] from jennifer@painless-security.com:
    -    Add tooltips with doc name to 'updates' and 'obsoletes' links. Fixes
    -    #2866;
    -
    -  * Fixed a Py2/3 issue in the djangobwr's bower_install command
    -
    -  * Added a check for availability of 'bower' in bin/mkrelease.
    -
    -  * Cleaned up the contributors list in bin/mkrelease a bit.
    -
    -  * Merged in [17557] from fenton@bluepopcorn.net:
    -    Provide more consistent links to people pages. Fixes #2918.
    -
    -  * Changed an obsolete document.href() to document.get_href().  Fixes
    -    issue #2945.
    -
    -  * Tweaked the upcoming calendar and calendar entries slightly, to render
    -    with times first and on two lines on narrow screens.
    -
    -  * Merged in [17555] from rjsparks@nostrum.com:
    -    Remove the not-quite-working customization widgets from
    -    /meeting/upcoming and /meeting/past. Simplify those views. Correct the list
    -    of sessions on those pages when one interim has more than one session.
    -    Fixes #2938. Partially addresses #2937.
    -
    -  * Prevent an exception on missing author.email.person when listing author
    -    emails.
    -
    - -- Henrik Levkowetz   03 Apr 2020 10:04:43 +0000
    -
    -
    -ietfdb (6.123.1) ietf; urgency=medium
    -
    -  **Fixes for meeting-related issues**
    -
    -  * Merged in [17543] from rjsparks@nostrum.com:
    -    Repaired construction of group_hierarchy used for the customisation
    -    controls at /meeting/upcoming. Fixes #2940.
    -
    -  * Merged in [17542] from rjsparks@nostrum.com:
    -    Show calendar entries on /meeting/upcoming in utc. Show end times.
    -    Partially addresses #2936.
    -
    -  * Don't show agenda buttons for Meetecho recordings (after the session
    -    concludes) if there isn't a Meetecho UrlResource.  Fixes issue #2934
    -
    -  * Merged in [17538] from rjsparks@nostrum.com:
    -    Allow an out-of-area AD assigned as the AD for a WG to approve interim
    -    requests for that WG. Fixes #2930.
    -
    -  * Changed the object factory instances of nomcom private key and cert to
    -    be byte objects (matching the production settings), and fixed the issue
    -    with nomcom key handling under Py3 found by fenton@bluepopcorn.net.  Did
    -    some renaming in nomcom/tests.py to better match setup/teardown function
    -    names to functionality.
    -
    -  * Merged in [17521] from housley@vigilsec.com:
    -    Improve performance of log.assertion() and log.unreachable()
    -
    -  * Merged in [17505] from housley@vigilsec.com:
    -    Improve performance of many document list pages
    -
    - -- Henrik Levkowetz   27 Mar 2020 14:27:24 +0000
    -
    -
    -ietfdb (6.123.0) ietf; urgency=medium
    -
    -  **IETF 107 code sprint**
    -
    -  This release contains datatracker bug fixes and enhancements from the
    -  IETF-107 Code Sprint, our first virtual code sprint.  It was a different
    -  experience, and enjoyable despite not getting to sit down with a beer
    -  together afterwards.  A lot of good contributions were made; Thanks to
    -  everyone who contributed!
    -
    -  * Merged in [17496] from rjsparks@nostrum.com:
    -    Remove the rest of the log.assertions checking that iesg_state existed in
    -    places we expected it to.  Removed unnecessary imports.
    -
    -  * Changed the page for upcoming meetings to show the current IETF meeting
    -    for 7 days from its start date, while interims are shown for today and
    -    forward.  Also changed the upcoming.ics calendar to show future sessions,
    -    even if the meeting to which they belong started in the past.  This
    -    improves on [17518].
    -
    -  * Changed the starting point of display of upcoming meetings to be 7 days
    -    before today, rather than today, to let meetings linger a bit in the
    -    listing and iCalendar file after the meeting has started.  Triggered by an
    -    observation from resnick@episteme.net about IETF 107 sessions disappearing
    -    from 'upcoming.ics' on meeting week Monday.
    -
    -  * Merged in [17495] from rjsparks@nostrum.com:
    -    Removes a log.assertion() that was checking that we covered the edges when
    -    we changed documents to always have an iesg state.
    -
    -  * Merged in [17494] from rjsparks@nostrum.com:
    -    Use current email addresses when we have them when listing document
    -    authors. Fixes #1902.
    -
    -  * Merged in [17493] from mahoney@nostrum.com:
    -    Changed awkward IESG/IAB Nominating Committee names to just NomCom,
    -    updated a ref. Fixes #2860.
    -
    -  * Merged in [17492] from rcross@amsl.com:
    -    On session request form, made the Special Requests field smaller and
    -    display 200 character limit. Fixes #2875.
    -
    -  * Merged in [17491] from rcross@amsl.com:
    -    Prevent use of capital letters in group acronym. Fixes #2709.
    -
    -  * Merged in [17490] from rjsparks@nostrum.com:
    -    Basic regex validation on community rule entry form. Fixes #2928.
    -
    -  * Merged in [17489] from rcross@amsl.com:
    -    Removed redundant URL secr/groups/search because search page is
    -    available here secr/groups. Resolves issue with Add link. Fixes #2708.
    -
    -  * Merged in [17488] from rcross@amsl.com:
    -    Removed the drafts secretariat tool because this functionality is now
    -    provided by the core Datatracker. Moved ID reports to proceedings tool.
    -    Fixes #1655.
    -
    -  * Merged in [17487] from rjsparks@nostrum.com:
    -    Let chairs know what to do after material submission uploads have been
    -    cut off. Fixes #2887.
    -
    -  * Merged in [17486] from valery@smyslov.net:
    -    Added docker/run modifications to support Cygwin.
    -
    -  * Merged in [17484] from valery@smyslov.net:
    -    When requesting a new WG session, and retrieving information about the
    -    previous session, look back to the previous time the group met, instead of
    -    simply checking the previous IETF meeting and maybe not finding any
    -    information to retrieve.
    -
    -  * Merged in [17483] from peter@akayla.com:
    -    Changed things so that only WGs/RGs can be closed, per RJS.  Fixes #1578.
    -
    -  * Merged in [17466] from rcross@amsl.com:
    -    Added a migration to cancel 107 sessions
    -
    -  * Added a check to see if any files matching the submitted draft name and
    -    revision already exists on disk in the active drafts or archived drafts
    -    directories, and if so reject the submission.  Fixes issue #2908
    -
    -  * Made sure to strip possible mail header field values of whitespace
    -    before applying email.utils.unquite().  Resolution by kivinen@iki.fi,
    -    Fixes issue #2899.
    -
    -  * Merged in [17480] from rjsparks@nostrum.com:
    -    Show UTC times in interim announcements if the interim has a non-UTC
    -    timzone. Fixes #2922.
    -
    - -- Henrik Levkowetz   24 Mar 2020 17:53:45 +0000
    -
    -
    -ietfdb (6.122.0) ietf; urgency=medium
    -
    -  **Added agenda webex URL support, and meeting-related tweaks and bugfixes**
    -
    -  * Added webex URL to agenda.ics if Room.webex_url is non-empty.  Fixes issue
    -    #2926.
    -
    -  * Added another check to the check_draft_event_revision_integrity management
    -    command, and refined it somewhat.
    -
    -  * Added a utility function to convert objects to dictionaries (for
    -    comparisons, for instance).
    -
    -  * Added a --dry-run option to bin/mkdevbranch, and added some exception
    -    handling.
    -
    -  * Help tablesorter see 'Month Year' dates as dates with a hidden day digit.
    -    Fixes issue #2921.
    -
    -  * Refactored and extended check_draft_event_revision_integrity a bit.
    -
    -  * Tweaked bin/mkpatch some for -c handling
    -
    -  * Merged in [17442] from rjsparks@nostrum.com: Allow area groups to request
    -    interim meetings. Fixed #2919.
    -
    -  * Additional tweaks to bin/mkpatch; removing buggy -r option.
    -
    -  * Added automatic naming to bin/mkpatch when changeset or revision range is
    -    given.
    -
    -  * Added WebEx room resource name, query method and template logic to show
    -    WebEx room resources.
    -
    -  * Removed a debug statement
    -
    -  * Made links from agenda room names to floorplans conditional on the room
    -    having a floor plan set.
    -
    - -- Henrik Levkowetz   20 Mar 2020 19:50:12 +0000
    -
    -
    -ietfdb (6.121.0) ietf; urgency=medium
    -
    -  **Tweaks for wholly virtual meeting, for IETF-107**
    -
    -  * Added code to show a webex call-in button on the agenda page if the session
    -    agenda-note contains and IETF webex URL.
    -
    -  * Merged in [17425] from rjsparks@nostrum.com: Make required AD approval of
    -    virtual interims configurable. Fixes #2912.
    -
    -  * Added a management command to check draft event revision numbers.  To be
    -    extended for other checks.
    -
    -  * Merged in [17419] from rjsparks@nostrum.com: Don't warn about idcutoff
    -    when the cutoff is after the meeting starts.  Fixes #2907.
    -
    -  * Merged in [17418] from rjsparks@nostrum.com: Correctly represent cancelled
    -    sessions in ics files. Fixes #2905.
    -
    -  * Merged in [17396] from rjsparks@nostrum.com: Move charters for replaced
    -    groups to a new replaced state. Close any outstanding ballots on them.
    -    Fixes #2889, #2873, and #1286.
    -
    -  * Avoid trying to open meeting documents with empty .uploaded_filename.
    -
    -  * Added a progress bar for verbosity=1 of the community list index update
    -    command.
    -
    -  * Merged back fixes from production
    -
    -  * Corrected the extent of a try/except block, moving more code inside the
    -    block.  Fixes a submission exception that should just be a document error
    -    reported back to the user.
    -
    -  * Added a guard against accessing attributes of None.
    -
    - -- Henrik Levkowetz   13 Mar 2020 14:48:11 +0000
    -
    -
    -ietfdb (6.120.0) ietf; urgency=medium
    -
    -  **Submission API changes, Py2/3 transition fixes**
    -
    -  * Added the ability to use the submission API with active secondary account
    -    email addresses.  Fixes issue #2639.
    -
    -  * Tweaked the ReviewAssignmentAdmin, adding a raw_id_field.
    -
    -  * Replaced most cases of using of urlopen(), instead using the higher-level
    -    'requests' module where it simplifies the code.
    -
    -  * Added a data migration to fix up incorrect external URLs to mailarchive.
    -
    -  * Fixed a Py2/3 issue with review.mailarchive.construct_query_url().
    -
    -  * Renamed a migration to conform to migration naming conventions, using
    -    underscores instead of dashes in the name.
    -
    -  * Py2/3 compatibility tweaks for pyflakes.
    -
    -  * Changed some cases of urlopen() to use requests.get()
    -
    -  * Python3 is more ticklish about comparing strings to None than Py2.  Fixed
    -    an issue with this in generate_sort_key() for document searches.
    -
    -  * Fixed a Py2/3 issue in the pyflakes management command, and tweaked the
    -    verbose output format.
    -
    -  * Merged back production changes to two scripts indirectly called by
    -    /a/www/www6s/scripts/run-ietf-report, through
    -    /a/www/www6s/scripts/run-report.
    -
    -  * Changed the release script to not pick up other email addresses than those
    -    of contributors from the release notes.
    -
    -  * Tweaked the check_referential_integrity management command verbose output.
    -
    - -- Henrik Levkowetz   07 Mar 2020 22:55:58 +0000
    -
    -
    -ietfdb (6.119.1) ietf; urgency=medium
    -
    -  **Py2/3 fixes, Change to use the "requests" lib instead of urlopen()**
    -
    -  * Py2/3 compatibility tweaks for pyflakes.
    -
    -  * Changed some cases of urlopen() to use requests.get()
    -
    -  * Python3 is more ticklish about comparing strings to None than Py2.
    -    Fixed an issue with this in generate_sort_key() for document searches.
    -
    -  * Fixed a Py2/3 issue in the pyflakes management command, and tweaked the
    -    verbose output format.
    -
    -  * Merged back production changes to two scripts indirectly called by
    -    /a/www/www6s/scripts/run-ietf-report, through
    -    /a/www/www6s/scripts/run-report.
    -
    -  * Changed the release script to not pick up other email addresses than
    -    those of contributors from the release notes.
    -
    - -- Henrik Levkowetz   03 Mar 2020 11:23:46 +0000
    -
    -
    -ietfdb (6.119.0) ietf; urgency=medium
    -
    -  **Improved email handling, and roundup of Py2/3 conversion issues**
    -
    -  This release provides a reworked email sending infrastructure so that all
    -  emails sent by the datatracker, except for logging and failure emails sent
    -  to ADMINS, are captured as a Message objects.  Together with two new
    -  management commands, this makes it possible to recover from email delivery
    -  failures by re-sending any emails from the datatracker that would otherwise
    -  have been lost.
    -
    -  This release also includes backporting Python 2/3 tranistion issues that
    -  were initially patched in the production code during the recent server
    -  transition, and a number of additional unrelated bugfixes.
    -
    -  From the commit log:
    -
    -  * Merged in [17336] from rcross@amsl.com: Add rfp-announce@ietf.org to
    -    Announcement app To: address list.  Changed name of secr dashboard from WG
    -    Chair Dahsboard to IETF Dashboard.
    -
    -  * Merged in [17325] from rjsparks@nostrum.com: Allow review team secretaries
    -    and the secretariat to reset the next reviewer in queue for review teams
    -    using the RotateAlphabetically policy.  Partially addresses #2879.
    -
    -  * Fixed an issue with some tests that mocked urlopen() responses, and
    -    tweaked error messages on bad results in sync/rfceditor.py
    -
    -  * Added charset decoding of data read from an urlopen() object in a few
    -    places, and removed some use-once functions that were now dead code.
    -
    -  * Moved code from a couple of simple urlopen() wrappers used only once into
    -    the calling scripts. Removed a case of Py2 virtualenv activation.
    -
    -  * Added management commands to show saved messages (unsent and otherwise)
    -    and to send or re-send saved messages as needed:
    -
    -    - show_messages:
    -
    -      Show outgoing messages that have been saved as Message objects. By
    -      default all messages from the last 2 weeks are shown. Selection can be
    -      made based on date and sent/unsent state. With the --pk option, only a
    -      list of primary keys are shown, otherwise, creation and send date,
    -      message-id, sender and primary recipients, and subject line is shown.
    -
    -    - send_messages:
    -
    -      Send (or re-send) messages saved as Message objects as outgoing emails.
    -      To show existing Message objects, use the show_messages management
    -      command.  Messages to send can be indicateb by date ranges, a list of
    -      primary keys, or a list of Message-IDs. Unless the --resend switch is
    -      given, the inclusion of already sent messages in the date range or
    -      message lists will result in an error exit, in order to prevent
    -      inadvertent re-sending of message.  Alternatively, the --unsent switch
    -      can be used to send only messages marked as not already sent from a date
    -      range or message list.
    -
    -  * Added a migration to set an explicit content-type for Message objects
    -    where missing.
    -
    -  * Added a migration to correct Message fields containing strings that were
    -    repr() of list instances instead of comma-separated email addresses.
    -
    -  * Added saving of outgoing emails as Message instances, with accompanying
    -    test.
    -
    -  * Did a slight refactoring of infer_message() and
    -    send_scheduled_message_from_send_queue(), and added setting of a
    -    Message.sent date when sent.
    -
    -  * Fixed an issue where the lookup of recognized country names during draft
    -    submission grabbed the unicode name instead of the ascii name for
    -    non-ascii country strings in XML submissions.
    -
    -  * Updated the list of utility python files that should be ignored by
    -    code coverage measurements.
    -
    -  * Fixed log.log() to hand on the right type (str) to underlying functions,
    -    irrespective of Python version.
    -
    -  * Fixed a test to be more specific when looking for a generated Message
    -    object, to make sure to get the right one.
    -
    -  * Added html unescape for email addresses from form data that might use html
    -    entities for angle brackets.
    -
    -  * Added a 'sent' field to Message, to be able to track sent status for
    -    captured outgoing messages (which don't have a SendQueue instance).
    -
    -  * Fixed a number of bad Message.content_type settings when creating Message
    -  * objects.
    -
    -  * Fixed a string vs list issue for a Message from form case.
    -
    -  * Added missing .as_strings() to some gather_address_lists() calls, in order
    -    to assign strings rather than lists to Message CharField instances.  Fixed
    -    a Message content_type setting.
    -
    -  * More Py2/3 adaptations fetched from production.
    -
    -  * Converted send-scheduled-mail to py3
    -
    -  * Added a cron script to be called every 15 minutes, to have a place where
    -    send-scheduled-mail can live and be invoked with the right environment.
    -
    -  * Moved patch.py into our project tree -- it's not being maintained by the
    -    external maintainers any more.
    -
    -  * Merged in Python 2/3 changes pulled from the production server after the
    -    switch to python 3.
    -
    -  * Merged in cronjob script changes pulled from the production server after
    -    the switch to python 3.
    -
    -  * Added cleaning of the session request form's 'comments' field, to convert
    -    any html entered to text.  Related to [17322].
    -
    -  * Removed an instance of 'autoescape off' for submitted meeting session
    -    comments in a template, since it is not needed in practice; in order to
    -    avoid an XSS injection opportunity.
    -
    -  * Updated the PLAN file, removing some completed actions.
    -
    -  * Changed some remaining cases of open() to io.open(), for Py2/Py3
    -    consistency.
    -
    -  * Tweaked settings.py to make django_extension commands available if
    -    installed.
    -
    - -- Henrik Levkowetz  27 Feb 2020 19:56:12 +0000
    -
    -
    -ietfdb (6.118.0) ietf; urgency=medium
    -
    -  **RG and NomCom support refinements, new data merge management commands, bug fixes**
    -
    -  * Merged in [17288] from rjsparks@nostrum.com:
    -    Made internal review email about an RG use the IRSG instead of the
    -    IESG in text and addresses. Fixes #2881.
    -
    -  * Merged in [17287] from rjsparks@nostrum.com:
    -    Set the default for use_milestone_dates to True. Allow changing
    -    use_milestone_dates from the edit milestone dates form for charters if it
    -    is the initial chartering effort. Fixes #2884.
    -
    -  * Wrapped more code in draft submission in an exception block, in order not
    -    to continue processing after an XML parse exception.  Fixes issue #2885.
    -
    -  * Fixed a bug in the resource description for SchedulingEvent that prevented
    -    it from being accessed under /api/v1/meeting/schedulingevent/.
    -
    -  * Added search fields to the admin index for SchedulingEvent.
    -
    -  * Tweaked send_mail_mime() to recognize settings.SERVER_MODE='repair', in
    -    order to avoid mail floods when running the 'mergedata' management
    -    command.  It is assumed that the appropriate mails went out when the data
    -    was entered into the system the first time.
    -
    -  * Added a management command to dump data based on table names and primary
    -    keys derived from a list of SQL 'INSERT INTO' commands representing the
    -    items to be dumped.  The output formats are the same as for dumpdata, and
    -    are suitable for later use with the loaddata or mergedata management
    -    commands.
    -
    -  * Added a management command to merge data from one of two divergent django
    -    databases to the other, taking care to insert or update records as
    -    appropriate, and update foreign keys and many-to-many keys appropriately.
    -    Accepts the dump formats generated by the dumpdata command.
    -
    -  * Updated the check_referential_integrity command, adding a --delete command
    -    to remove dangling references to removed records, and also adding
    -    colorized success/fail indications for each FK and m2m key inspected.
    -
    -  * Changed the xml parser settings for legacy xml draft submissions to remove
    -    comments before converting to .txt.  Fixes and issue with comments in
    -     text.
    -
    -  * jsonfield 3.0 and higher is not compatible with Django 1.11.  Changed the
    -    version requirements accordingly.
    -
    -  * Added missing test directory creation and removal in setUp() and
    -    tearDown() in MeetingTests.
    -
    -  * Merged in [17286] from rjsparks@nostrum.com:
    -    Added Reply-To to the default group review text. Fixes #2883.
    -
    -  * Merged in [17284] from jennifer@painless-security.com:
    -    Create DocEvent when related IprDisclosure is posted or removed. Fixes
    -    #2811.
    -
    -  * Merged in [17275] from jennifer@painless-security.com:
    -    Added links to user profiles from nominee list and feedback page. Fixes
    -    #2839.
    -
    -  * Merged in [17273] from rcross@amsl.com:
    -    Updated link to session request tool instructions.
    -
    - -- Henrik Levkowetz   18 Feb 2020 22:59:34 +0000
    -
    -
    -ietfdb (6.117.0) ietf; urgency=medium
    -
    -  **Python 2/3 transition fixes, sumbmission and chartering improvements**
    -
    -  * Merged in [17268] from rjsparks@nostrum.com: Set a meaningful state in a
    -    test fixture. Tests surprisingly were not broken by this though.
    -
    -  * Merged in [17266] from rjsparks@nostrum.com: Improve the tests for session
    -    draft bundles to exercise the code that extracts draftnames from agendas.
    -
    -  * Removed exec of activate_this.py from 2 more scripts that are in
    -    activbe use.
    -
    -  * Ran scripts invoked from bin/hourly and bin/daily through pyflakes3 and
    -    trial invocation, and tweaked the code (with an added comment) to
    -    consistently require virtualenv to be set up before script invocation.
    -
    -  * Added some raw_id fields to avoid long page load times for admin pages.
    -
    -  * Fixed a py2/py3 issue in sync.rfceditor.post_approved_draft(), and
    -    enhanced tests to execute the failing code (with Mock functions) instead
    -    of skipping the code.
    -
    -  * Hardcoded an rsync target path, and added a bash trap for errors in hourly
    -    and daily cron scripts.
    -
    -  * Fixed some py2/py3 issues in ID index generation modules.
    -
    -  * Fixed a py2/py3 issue in building meeting materials bundles.
    -
    -  * Added a setting for a coming yang-catalog submission checker url.
    -
    -  * Did some re-ordering of PLAN items after a priority discussion.
    -
    -  * Fixed a py2/py3 issue in post_approved_draft()
    -
    -  * Changed the location of the file cache for htmlized documents so it will
    -    be handled by backup rsync of the /a/ file system.
    -
    -  * Added a newline to test run command output, to separate dot progress
    -    indication from teardown messages.
    -
    -  * Added a test case for draft submission errors due to periods in document
    -    names.
    -
    -  * Added a suggestion to the error message issued for invalid characters in
    -    document names found in draft submission XML files, when the invalid
    -    character is a period.  In this particular case, the problem most likely
    -    is inclusion of the filename extension in the document name.  Fixes issue
    -    #2874.
    -
    -  * Changed draft submission field validation taking place in clean() to
    -    associate the errors with the field in question, rather than raising them
    -    as general form errors.
    -
    -  * Fixed a Py3 issue trying run .decode() on (already decoded) string
    -    instances.
    -
    -  * Merged in [17246] from rjsparks@nostrum.com: Only show groups in
    -    reasonable states when showing current chartering efforts (otherwise
    -    crufty charter states can would lead to abandoned or replaced groups
    -    showing here). Fixes #2872.
    -
    - -- Henrik Levkowetz   05 Feb 2020 22:28:38 +0000
    -
    -
    -ietfdb (6.116.1) ietf; urgency=medium
    -
    -  * Refined the links from document stats pages to author pages so as to
    -    not link to non-existent pages.  Fixes 404 errors for a number of stats
    -    page links.
    -
    -  * Merged in [17234] from rjsparks@nostrum.com:
    -    Restrict the ability to change whether a group uses milestone dates to
    -    the ADs and the secretariat. Fixes #2869.
    -
    -  * Merged in [17233] from rjsparks@nostrum.com:
    -    Be clear about who changed a group's personnel in the resulting email
    -    message. Fixes #2868.
    -
    -  * Merged in [17228] from rjsparks@nostrum.com:
    -    Improved admin handling of DocumentURL. Fixes #2865.
    -
    -  * Merged in [17227] from rjsparks@nostrum.com:
    -    Allow document Additional URLs to become empty. Fixes #2864.
    -
    -  * Added (currently inactive) code to trigger exceptions on failure to
    -    resolve template variables during tests, and added fixes for a couple of
    -    places that triggered such exceptions.
    -
    -  * Merged in [17219] from rjsparks@nostrum.com:
    -    Update some uses of pos.ad in templates to pos.balloter. Fixes #2863.
    -
    -  * Merged in [17217] from olau@iola.dk:
    -    Tighten validation of session conflicts in the session request tool,
    -    preventing conflicts where source = target. Make sure the 'use
    -    previous session' button doesn't carry forward conflicts that are no
    -    longer valid.
    -    Also fix a bug with the group list in the dropdowns being computed
    -    statically at module import time instead of being queried dynamically
    -    upon each page request.
    -
    -  * Merged in [17211] from rjsparks@nostrum.com:
    -    Upgrade to the newer js-cookie library that replaced jquery.cookie.
    -    Fixes #2832.
    -
    -  * Fixed a Py2/3 compatibility issue with the verified errata code.
    -
    -  * Merged in [17201] from rjsparks@nostrum.com:
    -    Make it easier for the nomcom chair to manage generic IESG
    -    requirements. Fixes #2794.
    -
    -  * Added a check for uncomitted changes to bin/mergedevbranch.
    -
    -  * Added fetch and use of the RFC-Editor's errata.json file in order to set a
    -    new 'verified-errata' document tag, and use that to show the link to
    -    inline-errata documents only when there is verified errata.
    -    Fixes issue #2861.
    -
    - -- Henrik Levkowetz   17 Jan 2020 18:20:00 +0000
    -
    -
    -ietfdb (6.116.0) ietf; urgency=medium
    -
    -  **Dateless group milestones, improved author stats, and bugfixes**
    -
    -  * Merged in [17196] from rcross@amsl.com:
    -    Removed agenda@ietf.org from audio import notification To: list.
    -
    -  * Merged in [17195] from rcross@amsl.com:
    -    Updated admin permissions to grant secretariat access to
    -    LiaisonStatementGroupContacts.
    -
    -  * Merged in [17185] from rjsparks@nostrum.com:
    -    Added support for dateless milestones. Fixes issue #2799.
    -
    -  * Specified explicit UTF-8 decoding of submission checker output, in
    -    order to avoid issues when reporting errors due to UTF-8 content.
    -
    -  * Merged in [17181] from olau@iola.dk:
    -    Fixed a problem with assignments to the same session causing a crash.
    -
    -  * Merged in [17179] from housley@vigilsec.com:
    -    Added references and referened-by buttons to each RFC listed on the person
    -    profile page.  In addition, changed the buttons on the document references
    -    and document referenced-by pages to match the buttons on the main document
    -    page (the buttons with the long arrows). Fixes #2854, although it does not
    -    include the number of references in the button.
    -
    -  * Merged in [17178] from housley@vigilsec.com:
    -    Turned text names into links on the stats pages. Fixes issue #2854.
    -
    -  * Refactored some document methods to align better with Django's
    -    get_absolute_url(), and added Person.get_absolute_uri()
    -
    -  * Merged in [17177] from rjsparks@nostrum.com:
    -    Improve can_ballot. Fixes #2856.
    -
    -  * Limited the permitted versions of mypy and related django-slugs, to avoid
    -    issues related to using Django-1.11.  We should update to latest versions
    -    when we've moved to Django 2.2.x
    -
    -  * Changed ReviewerSettings history change-reason field to be a TextField, in
    -    order to accomodate longer change descriptions.
    -
    -  * Merged in [17173] from rjsparks@nostrum.com:
    -    Worked around a problem with displaying IESG evaluation information for
    -    non-approve ballot types. Partially addresses #2851.
    -
    - -- Henrik Levkowetz   09 Jan 2020 21:58:16 +0000
    -
    -
    -ietfdb (6.115.0) ietf; urgency=medium
    -
    -  **IRSG document ballot support**
    -
    -  * Merged in ^/branch/akayla/irsg/6.113.1.dev0 from peter@akayla.com:
    -    This provides support for IRSG ballots, similar to the IESG ballots
    -    support which has been in use for quite some time.  The IRSG ballots differ
    -    from IESG ballots in a number of ways, described in detail in the RFP and
    -    SoW for this work and implemented here.
    -
    -  * Changed print() statements into syslog logging in a cron-invoked script,
    -    to remove non-error output.  Fixes issue #2849.
    -
    - -- Henrik Levkowetz   20 Dec 2019 15:44:39 +0000
    -
    -ietfdb (6.114.0) ietf; urgency=medium
    -
    -  **Refactoring and renaming of some meetings models and fields**
    -
    -  * Merged in [17148] from rjsparks@nostrum.com:
    -    Only gather addresses instead of name_addrs for the group_secretaries
    -    Mailtrigger Recipient. Fixes #2847.
    -
    -  * Merged in [17147] from rjsparks@nostrum.com:
    -    Show diff controls for a bis -00 document. Fixes #2846.
    -
    -  * Merged /branch/iola/meeting-improvement-r16992@17152 from olau@iola.dk:
    -
    -    - Renamed Meeting.agenda to Meeting.schedule together with a bunch of
    -      related internal things,
    -
    -    - Moved Session.status, .requested, and .requested_by to a new
    -      SchedulingEvent.
    -
    -    - Turned sessions into regular sessions and non-sessions into misc.
    -      sessions in the UI and code to avoid ambiguity.
    -      This doesn't change the data in the DB except for uses of TimeSlotTypeName
    -      where 'session' is now 'regular'.
    -
    -  * Added a requirement limitation for the coverage module.
    -
    -  * Added handling for a decoding exception during submission processing.
    -
    -  * Merged in [17120] from rjsparks@nostrum.com:
    -    Add links to the main website and the mailarchive to the search page.
    -
    -  * Added an OPTIONS settings to the DATABASES setting in
    -    docker/settings_local.py, to make some migration operations work under
    -    docker.
    -
    - -- Henrik Levkowetz   18 Dec 2019 20:38:33 +0000
    -
    -
    -ietfdb (6.113.0) ietf; urgency=medium
    -
    -  **Review tool queue management with pluggable policies**
    -
    -  This release introcudes the ability for review group secretaries to choose
    -  between different management policies for the review queue, as it turns
    -  out that both the needs and preferences of the groups and group secretaries
    -  vary in this regard.  With this release it is possible to choose between
    -  two policies: a Rotate Alphabetically policy, and a Least Recently Used
    -  policy.  Both policies provides for various exceptions.  There are also
    -  some unrelated minor bugfixes.  From the commit log:
    -
    -  * Merged in work from sasha@dashcare.nl on Review Queue Managemnt:
    -    This abstracts queue management, making it possible to implement different
    -    policies for each team. It provides two concrete policies:
    -    RotateAlphabeticallyReviewerQueuePolicy, which rotates an alphabetically
    -    ordered reviewer list with consideration for skip indications, and is the
    -    default policy; and LeastRecentlyUsedReviewerQueuePolicy, a simple
    -    least-recently-used policy.  Also see issue #2721, and #2656, which
    -    documents various flaws in the old queue code.
    -
    -  * Added fallback handling from utf-8 to latin1 when reading charter text
    -    files.
    -
    -  * Added normalization of draft title extracted from submitted XML.
    -
    -  * Removed code under docker/ from test coverage calculation.
    -
    -  * Fixed a backwards compatibiltiy issue for the factoryboy lib and
    -    updated a dependency requirement.
    -
    - -- Henrik Levkowetz   07 Dec 2019 19:28:38 +0000
    -
    -
    -ietfdb (6.112.0) ietf; urgency=medium
    -
    -  **Review tool tickets roundup, part 6; and other fixes**
    -
    -  This provides more review tool fixes, and clears the slate for an upcoming
    -  branch merge.  From the commit log:
    -
    -  * Merged in [17085] from sasha@dashcare.nl:
    -    Notify secretary when a review request is closed.  The assigned reviewer
    -    was already notified, but secretaries were always excluded.
    -    Fixes issue #2278
    -
    -  * When group secretary email addresses occurred in some mailtrigger To:
    -    entries, they were given with both name and address parts, while when
    -    occurring in Cc: entries, no name parts were present.  Fixed one case of
    -    this related to current review tool changes, and adjusted a test case for
    -    consistency.  Also added a general utility function to exclude selected
    -    email addresses from email address lists.
    -
    -  * Added support for bibxml3 entries using the traditional reference entry
    -    name (using 'reference.I-D....'), instead of just the plain draft name.
    -
    -  * Merged in [17070] from sasha@dashcare.nl:
    -    Improved 'complete review' workflow for secretaries.  When a secretary
    -    completes a review, 'link to a review message' is automatically selected,
    -    and the first non-reply mail is used to fill in the review details. The
    -    secretary can still modify all details.  The order of fields for
    -    secretaries is also modified to fit this workflow.  All cases where 'link
    -    to review message' is used, by reviewers or secretaries, now attempt to
    -    fill in the 'reviewed version' if found in the email subject.
    -    Fixes issue #2061.
    -
    -  * Merged in [17069] from sasha@dashcare.nl:
    -    Added history for assignments, requests and unavailability.
    -    Fixes issues #2074 and #2358.
    -
    -  * Added a test for bibtex page content-type.
    -
    -  * Fixed an incorrect content_type.
    -
    -  * Merged in [17097] from rjsparks@nostrum.com:
    -    Removed unreachable assertion from slide reordering utility function.
    -
    -  * Merged in [17090] from rjsparks@nostrum.com:
    -    Added pages to assignment email. Fixes #2838.
    -
    -  * Merged in [17083] from kivinen@iki.fi:
    -    Moved hard coded defaults for max items to show and days to show to the
    -    settings.py.
    -
    -  * Merged in [17071] from rjsparks@nostrum.com:
    -    Use doc.name explicitly now that name is no lonker the pk. Pointed out
    -    by Sasha in #2050.
    -
    - -- Henrik Levkowetz   27 Nov 2019 23:04:12 +0000
    -
    -
    -ietfdb (6.111.0) ietf; urgency=medium
    -
    -  **IETF 106 code sprint**
    -
    -  This release contains datatracker bug fixes and enhancements from the
    -  IETF-106 Code Sprint.  This sprint brought in new contributors, and saw
    -  substantial work from previous contributors.  Thanks to everyone who
    -  contributed!
    -
    -  * Merged in [17062] from rjsparks@nostrum.com:
    -    Change the default template for assigned review emails to name the
    -    assigned reviewer. Fixes #2830.
    -
    -  * Merged in [17061] and [17024] from rjsparks@nostrum.com:
    -    Allow slides drag-drop between sessions for groups meeting with
    -    multiple sessions. Fixes #2700.
    -
    -  * Merged in [17044] from valery@smyslov.net:
    -    Make it clearer that a chair can't revise materials for a meeting once
    -    the proceedings deadline has passed.  Fixes issue #2612.
    -
    -  * Merged in [17037] from kivinen@iki.fi:
    -    Added padding to the  column in the unavailability period list of
    -    the reviewers page.
    -
    -  * Merged in [17036] from housley@vigilsec.com:
    -    Drop old 'slides' section from agenda.json
    -
    -  * Merged in [17035] from housley@vigilsec.com:
    -    Improved performance for some agenda-related pages
    -
    -  * Merged in [17034] from kivinen@iki.fi:
    -    Added two new configuration settings for the review team secretary,
    -    one to set how many days to include in the reviewers list, and
    -    another one to limit the number of completed items in the list for
    -    each person. This version replaces the one I did earlier, and includes
    -    much more test cases to test different limits on the reviewers page.
    -
    -  * Added an instance of force_text() to ensure non_ascii mail subjects are
    -    unicode when used for string interpolation, rather than bytes (which will
    -    trigger ascii decode()).
    -
    -  * Merged in [17033] from kivinen@iki.fi:
    -    Reviewers page template changes. Changed draft names so they never wrap.
    -    Changed the Unavailability period table so it is much narrower.
    -
    -  * Merged in [17031] from fenton@bluepopcorn.net:
    -    Add edit button for Secreatriat on concluded groups. Fixes #2781.
    -
    -  * RFCs with inline errata now have a non-beta URL.  Updated the setting.
    -
    -  * Merged in [17028] from fenton@bluepopcorn.net:
    -    Added a Closing note field to state specific WG edit. Fixes #2779.
    -
    -  * Merged in [17027] from rcross@amsl.com:
    -    Fix issue where draft resurrect feature does not move most recent draft
    -    file from the archive directory back to the current draft directory. Fixes
    -    #2646.
    -
    -  * Tweaked docker-init.sh to create a needed GID entry before using it
    -    when creating a new user.  Fixes an issue when the user GID in the
    -    host OS is missing in the docker image.
    -
    -  * Added fullcalendar to the bower.json file.
    -
    -  * Changed the call arguments for submission tool conversion from XML to
    -    v3 text to match those of the standalone tool.  Fixes an issue where
    -     would have line ends stripped when converted by the datatracker.
    -
    -  * Tweaked a test's person name form to match the usage in the tested code.
    -
    -  * Fixed naming of staged xml draft submission files and tweaked the
    -    arguments for the xml2rfc parser invocation for xml draft submissions.
    -    Added some more logging.
    -
    - -- Henrik Levkowetz   21 Nov 2019 06:50:19 +0000
    -
    -
    -ietfdb (6.110.1) ietf; urgency=medium
    -
    -  This release provides various fixes, and clears the slate for the
    -  upcoming IETF 106 Sprint work.
    -
    -  * Merged in [16981] from rjsparks@nostrum.com:
    -    Look at the tree of replaces-relationships when determining if some
    -    reviewer has reviewed this (or perhaps an ancestor) of this document.
    -    Fixes #2821.
    -
    -  * Merged in [16966] from rjsparks@nostrum.com:
    -    Use the recently released shepherd writeup templates. Fixes #2820.
    -
    -  * Fixed a wrong link to field help for liaison forms.
    -
    -  * Merged in [16939] from sasha@dashcare.nl:
    -    Allow adding review wishes from document and search pages.  On the main
    -    page of a document and in document search results, a new button allows
    -    review team members to add a review wish for that document.
    -    For reviewers that are only on one team, this essentially works
    -    identical to tracking a document. Reviewers that are on multiple teams
    -    are lead through an intermediate step to select a review team, and then
    -    returned to their search or document page.
    -    Fixes issue #2050.
    -
    -  * Merged in [16564] from pusateri@bangj.com and added tests:
    -    Convert markdown to html if Accept header prioritizes text/html over
    -    text/markdown. Fixes #1926.
    -
    -  * Merged in [16977] from rjsparks@nostrum.com:
    -    Disregard unassigned reviews when building the sets to compare when
    -    checking for race-conditions on assigning reviews.
    -    Partially addresses #2821.
    -
    -  * Moved the ietf/names/generate_fixtures.py command to a management command
    -    "generate_name_fixture", and updated it to include a necessary dbtemplate
    -    object in the fixture.
    -
    - -- Henrik Levkowetz   11 Nov 2019 21:35:46 +0000
    -
    -
    -ietfdb (6.110.0) ietf; urgency=medium
    -
    -  **Trial bibxml3/ pages for drafts, and review ticket fixes**
    -
    -  * Added a trial version of datatracker draft bibxml pages, located under
    -    /doc/bibxml3/; for example:
    -    https://datatracker.ietf.org/doc/bibxml3/draft-iab-fiftyyears-01.xml
    -
    -  * Added a management command to generate draft bibxml3 files.
    -
    -  * Fixed some type: ignore annotations
    -
    -  * Tweaked the submission tool to be more liberal with v3 xml submissions.
    -
    -  * Rewrote the ietf/bin/fix-ambiguous-timestamps command as a management
    -    command (fix_ambiguous_timestamps) and made it look at all instances of
    -    DateTimeField by means of model introspection.
    -
    -  * Merged in [16934] from sasha@dashcare.nl:
    -    Sort unassigned review requests by doc name by default.
    -    Fixes issue #2088.
    -
    -  * Merged in [16933] from sasha@dashcare.nl:
    -    Allow specifying review type for suggested reviews in LC and telechat.  If
    -    a review is suggested on the 'manage unassigned reviews' page, and the
    -    document is in both last call and telechat, the assign form now asks for
    -    the type of review that should be assigned.  This commit also fixes two
    -    bugs in this process:
    -
    -    - Comparisons in some cases between strings and integers
    -      (group/views.py:1485/1487)
    -
    -    - Rejections when assigning suggested reviews, as they could be considered
    -      a newly opened request due to not having a pk (group/views.py:1508)
    -
    -    Fixes issue #2119
    -
    -  * Merged in [16927] from sasha@dashcare.nl:
    -    Small cleanup from changeset [16924], see issue #2217.
    -
    - -- Henrik Levkowetz   05 Nov 2019 23:29:35 +0000
    -
    -
    -ietfdb (6.109.0) ietf; urgency=medium
    -
    -  **Review tool tickets roundup, part 5; and other fixes**
    -
    -  * Merged in [16926] from rjsparks@nostrum.com:
    -    Flipped a sense to put the grace period on the right side of 'today' when
    -    sending review overdue reminders to team secretaries. Fixes #2816.
    -
    -  * Merged in [16937] from rjsparks@nostrum.com:
    -    Only show a blocked document once in the set of blocked documents on an
    -    ADs document page. Fixes #2818.
    -
    -  * Added mising GET parameters to the fragment cache in the agenda.ics
    -    template.  Fixes issue #2817.
    -
    -  * Merged in [16924] from sasha@dashcare.nl:
    -    Allow submission of unsolicited reviews by secretaries.
    -
    -    - For team secretaries, a button 'Submit unsolicited review' will now
    -      appear next to 'Request review' on the document's main page.
    -
    -    - If the secretary is a secretary for multiple teams, they are taken
    -      through an intermediate page to select for which team they are
    -      submitting their review.
    -
    -    - The form is similar (and using the same code) as the usual review
    -      completion, with a few extra fields for the review type and reviewer,
    -      which would usually already be known.
    -
    -    - When submitting the review, a ReviewRequest and ReviewAssignment are
    -      automatically created. The assignment is then immediately closed in the
    -      usual way.  Other workflows are unchanged.
    -
    -    The issues with the review form in #2061 are slightly worse for the
    -    unsolicited review scenario, but that will be improved when #2061 is
    -    fixed.  Fixes issue #2217.
    -
    -  * Merged in [16923] from sasha@dashcare.nl:
    -    Show doc authors and WG chairs in unassigned reviews views.
    -    Fixes issue #2087.
    -
    -  * Merged in [16922] from sasha@dashcare.nl:
    -    Added additional content validation for uploaded texts.  Permitted MIME
    -    types are now text/plain, text/markdown and text/x-rst.  This applies to
    -    all usages of get_cleaned_text_file_content(), including reviews, but also
    -    other similar places where text can either be written either into a
    -    textarea or uploaded.  Fixes issue #2584.
    -
    -  * Merged in [16921] from sasha@dashcare.nl:
    -    Use a DBTemplate when a review assignment is mailed.  The message sent to
    -    a reviewer when a new review is assigned to them, is now taken from a
    -    DBTemplate, allowing it to be customised per team. This includes a
    -    migration to create a default template, which looks the same as before.
    -    Fixes issue #2123.
    -
    - -- Henrik Levkowetz   30 Oct 2019 13:34:17 +0000
    -
    -
    -ietfdb (6.108.0) ietf; urgency=medium
    -
    -  **Review tool tickets roundup, part 4; and other fixes**
    -
    -  * Merged in [16904] from sasha@dashcare.nl:
    -    Always list all last call drafts in assignment summary.  If a draft is
    -    scheduled for a telechat, but also assigned for LC review, it will now be
    -    listed both in the telechat section and under 'last calls'.  Fixes #2118.
    -
    -  * Merged in [16902] from sasha@dashcare.nl:
    -    Fixed a test failure in [16895]. This also makes a small text
    -    clarification, which was also the initial reason for the test failure.
    -    Related to #2526.
    -
    -  * Merged in [16895] from sasha@dashcare.nl:
    -    List previous reviews in assignments email.
    -
    -    This includes a migration to update the database templates. Note that not
    -    all templates currently included them (secdir at least), and previous
    -    reviews are only listed in templates that included */** before.  As
    -    before, previous reviews are only included if they are done by the same
    -    reviewer(s) as the current assignment.
    -
    -    This also fixes a bug in database template 182
    -    (/group/defaults/email/open_assignments.txt) which referred to
    -    r.review_request..doc.rev and r.review_request..requested_rev in the
    -    template, and updates the test to use the current version of template 182.
    -
    -    Fixes issue #2526.
    -
    -  * Merged in [16891] from sasha@dashcare.nl:
    -    Set default start date for UnavailabilityPeriod to today.  Fixes #2198.
    -
    -  * Merged in [16883] from sasha@dashcare.nl:
    -    Do not allow reviewers to reject overdue reviews.  If a review request is
    -    past the deadline, reviewers will no longer be able to reject the
    -    assignment.  Fixes issue #2277.
    -
    -  * Merged in [16907] from rjsparks@nostrum.com:
    -    Correct construction for a reverse URL in an edge case. Fixes #2815.
    -
    -  * Merged in [16875] from rjsparks@nostrum.com:
    -    Adds docs with blocking positions to the ADs my-documents page. Fixes
    -    #2800.
    -
    -  * Merged in [16860] from rjsparks@nostrum.com:
    -    Be resilient to statistics queries that provide a state but not a
    -    substate. Fixes #2813.
    -
    -  * Fixed a couple of places where document alias.document was used instead of
    -    alias.docs.all().
    -
    -  * Merged in [16854] from rjsparks@nostrum.com:
    -    Remove some pre-ReviewAssignment refactor logic, and simplify what remains
    -    while still allowing a group secretary to not assign a row on the
    -    unassigned requests form after touching the control to assign a reviewer.
    -    Fixes #2812.
    -
    -  * Merged in [16853] from rjsparks@nostrum.com:
    -    Add submitted and posted dates to several ipr notification email messages.
    -    Fixes #2807.
    -
    -  * Merged in [16852] from sasha@dashcare.nl:
    -    Show stacked bar graph for in time and late reviews.  On the stats page, a
    -    single stacked bar graph is now shown which combines in time and late
    -    reviews, replacing the separate graphs for these statistics.  Tests for
    -    the charts are also expanded to validate the actual graph content for both
    -    stacked and non-stacked charts.  Fixes issue #2331.
    -
    -  * Merged in [16850] from sasha@dashcare.nl:
    -
    -    Close review assignments when reviewer is removed from team.  If a
    -    reviewer is removed from a team, any accepted or assigned review
    -    assignments are set to rejected if the request deadline has not passed, or
    -    set to no-response when the request deadline has passed.  Per [16819], if
    -    this scenario happens, and there are no other active or completed review
    -    assignments, the request is shown as an unassigned review.  Fixes #2185.
    -
    -  * Merged in [16833], [16834], [16835], [16836] from rjsparks@nostrum.com:
    -    Changes to displaying the ballot_icon to account for IRSG ballots.
    -    Updates Grunt generated css and map files based on updated ietf.less to
    -    add styles for IRSG ballot positions.  Updated copyrights in grunt
    -    generated bootstrap.js.
    -
    - -- Henrik Levkowetz   23 Oct 2019 15:57:50 +0000
    -
    -
    -ietfdb (6.107.0) ietf; urgency=medium
    -
    -  **Use  for last-call announcements.**
    -
    -  * Merged in [16824] and [16825] from rjsparks@nostrum.com:
    -    Introduced the use of  for last-call announcements,
    -    changing various email message templates and recipients to match.
    -
    -  * Merged in [16819] from sasha@dashcare.nl:
    -    Return review req to 'requested' status if no review assignments are open.
    -    If a review assignment is rejected, withdrawn, marked no response, etc.,
    -    and this leaves a review request without any assigned/accepted/completed
    -    review assignments, return the request state to 'requested', which means
    -    it will be shown as an unassigned review in all interfaces.
    -    Fixes issue #2186.
    -
    -  * Merged in [16818] from rjsparks@nostrum.com:
    -    Make hybrid pdfs when converting ppt materials to pdf. Fixes #2769.
    -
    -  * Send output of the review reminders script to log, rather than stdout
    -    (since this is run from cron, stdout and stderr should be quiet if nothing
    -    unexpected happens)
    -
    -  * Added a guard against missing conflrev state in IESG agenda code.
    -
    - -- Henrik Levkowetz   21 Oct 2019 15:02:14 +0000
    -
    -
    -ietfdb (6.106.0) ietf; urgency=medium
    -
    -  * Merged in [16824] and [16825] from rjsparks@nostrum.com:
    -    Introduced the use of  for last-call announcements,
    -    changing various email message templates and recipients to match.
    -
    -  * Merged in [16819] from sasha@dashcare.nl:
    -    Return review req to 'requested' status if no review assignments are open.
    -    If a review assignment is rejected, withdrawn, marked no response, etc.,
    -    and this leaves a review request without any assigned/accepted/completed
    -    review assignments, return the request state to 'requested', which means
    -    it will be shown as an unassigned review in all interfaces.
    -    Fixes issue #2186.
    -
    -  * Merged in [16818] from rjsparks@nostrum.com:
    -    Make hybrid pdfs when converting ppt materials to pdf. Fixes #2769.
    -
    -  * Send output of the review reminders script to log, rather than stdout
    -    (since this is run from cron, stdout and stderr should be quiet if nothing
    -    unexpected happens)
    -
    -  * Added a guard against missing conflrev state in IESG agenda code.
    -
    - -- Henrik Levkowetz   21 Oct 2019 13:58:55 +0000
    -
    -
    -ietfdb (6.106.0) ietf; urgency=medium
    -
    -  **Review tool tickets roundup, part 3, slide upload fixes, and more.**
    -
    -  * Added some type checking annotation tweaks and mypy_test() output tweaks.
    -
    -  * Moved the code that generates .txt and .html draft files from .xml to a
    -    place where potential errors can be caught and displayed better.  Related
    -    to ticket #2814.
    -
    -  * Updated PLAN: Moved reworked email sending sooner to the head of the
    -    list.
    -
    -  * Merged in [16815] from rjsparks@nostrum.com:
    -    Link to the about pages for groups even if they don't have a charter (some
    -    have other forms of descriptive text, and all have more information on the
    -    group pages than they did a few years ago). Fixes #2744.
    -
    -  * Merged in [16813] from rjsparks@nostrum.com:
    -    Don't offer to propose slides when the next view will not allow you to
    -    propose slides. Fixes #2763.
    -
    -  * Merged in [16792] from sasha@dashcare.nl:
    -    Send opt-in reminders for unconfirmed review assignments.  If enabled for
    -    a team, reminders will be sent every X days to reviewers for review
    -    assignments they have not accepted or rejected.  Fixes issue #2475.
    -
    -  * Merged in [16785] from rjsparks@nostrum.com:
    -    Improved alerts when looking at non-current versions of a charter
    -    document. Fixes #2774.
    -
    -  * Turned the ReviewAssignmentAdmin.review field into a raw_id_field, to
    -    avoid a form that lists all documents in the database in a drop-down.
    -    Fixes issue #2810.
    -
    -  * Merged in [16770] from rjsparks@nostrum.com:
    -    Populate completed_on when rejecting a ReviewAssignment. Migrate past
    -    rejected assignments accordingly. Fixes #2782.
    -
    -  * Merged in [16765] from sasha@dashcare.nl:
    -    Send daily reminders of overdue reviews to secretaries.  See issue #2277
    -
    -  * Merged in [16763] from rjsparks@nostrum.com:
    -    Allowed the responsible AD to be None for documents in iesg states
    -    idexists and dead. Fixes #2803 and #993.
    -
    -  * Merged in [16762] from rjsparks@nostrum.com:
    -    Use form validation to prevent interim slide titles that end with -nn
    -    until we change interims to use the modern HREF schemes. Fixes #2797.
    -
    - -- Henrik Levkowetz   16 Oct 2019 14:14:16 +0000
    -
    -
    -ietfdb (6.105.0) ietf; urgency=medium
    -
    -  **Review tool tickets roundup, part 2**
    -
    -  * Merged in [16759] from rjsparks@nostrum.com:
    -    Restrict comments total on nomcom private index to comments on positions.
    -    Fixes #2792.
    -
    -  * Merged in [16705] from sasha@dashcare.nl:
    -    Send periodic reminders of open reviews every X days (opt-in).
    -    Fixes issue #2337
    -
    -  * Merged in [16704] from sasha@dashcare.nl:
    -    Send reminders before long UnavailabilityPeriods expire A notification is
    -    sent to the team secretary and reviewer, if an unavailability period
    -    lasting 30 days or more will end in 3 days. Fixes issue #2231.
    -
    -  * Merged in [16703] from sasha@dashcare.nl:
    -    Fix send-review-reminders and add it to daily cron.  This fixes a syntax
    -    error and a Python 3 incompatibility, and adds send-review-reminders to
    -    the daily cron script.  Related to issue #2231.
    -
    -  * Fixed an issue with the htmlization of links in release notes.
    -
    -  * Merged in [16607] from rcross@amsl.com:
    -    Fixed an issue where third session requests, which rerequire AD approval,
    -    get left with approved status, instead of scheduled, after Secretraiat
    -    sends out notifications of official schedule.  Fixes #2765.
    -
    -  * Merged in [16701] from rcross@amsl.com:
    -    Added a migration to remove any break / registration sessions that have
    -    already been created for future meetings.  Goes with changes for #2713.
    -
    -  * Added log.unreachable() for the code that creates unknown-email-*
    -    addresses.  Related to issue #2696.
    -
    -  * Fixed a bug in gather_submission_submitter().
    -
    -  * Fixed an incorrect version number for mypy in requirements3.txt
    -
    -  * Removed some test assertions which are incorrect after the previous
    -    commit.
    -
    -  * From rcross@amsl.com: Don't copy breaks etc, when creating new Empty
    -    Schedule for meetings.  Fixes issue #2713.
    -
    -  * Added a type hint stub file for ietf/api/__init__.py, to capture
    -    module variables created during module initialization.
    -
    - -- Henrik Levkowetz   07 Oct 2019 15:06:27 +0000
    -
    -
    -ietfdb (6.104.0) ietf; urgency=medium
    -
    -  **Review tool tickets roundup, part 1**
    -
    -  This release constitutes the first batch of fixes from the review tool
    -  tickets work package.  It also includes a few unrelated bugfixes.
    -  From the commit log:
    -
    -  * Merged in [16688] from sasha@dashcare.nl:
    -    When completing a review, show which addresses it is posted to.
    -    Fixes issue #2478.
    -
    -  * Merged in [16680] from sasha@dashcare.nl:
    -    Made the review_completed mailtrigger configurable per team and review
    -    type.  This includes a migration to change mailtrigger slugs to be up to
    -    64 characters instead of 32, as some slugs would not fit and require
    -    clunky abbreviations.  A data migration creates triggers for existing
    -    teams, and they are also created on the fly if a trigger does not exist
    -    yet, providing a safe fallback for new review teams. The review_completed
    -    mailtrigger serves as the template for new triggers.  This commit also
    -    includes tests for gather_address_lists(), as none existed.
    -    Fixes issue #2354.
    -
    -  * Merged in [16672] from sasha@dashcare.nl:
    -    Use mailtriggers to find destinations in review app As the review app has
    -    several conditionals that don't fit entirely well within mailtriggers, the
    -    templates use a bit of extra context to figure out who exactly to include.
    -    This also extends the tests for review, to check for correct recipients.
    -    It also adds a tiny feature to mailtrigger to entirely exclude certain
    -    addresses, as required by the review-generated mails. Fixes issue #2328.
    -
    -  * Merged in [16670] from sasha@dashcare.nl: Allow secretary to adjust date
    -    when completing a review.  This also fixes other issues identified in
    -    #2590, around the modification of historical document events. The
    -    behaviour is now:
    -
    -    - When the assigned reviewer posts a review, a single event is created,
    -      set to current date/time.
    -
    -    - When the secretary records a review in the datatracker, they may set a
    -      different completion date, which is autofilled if an email is selected.
    -      One event is generated for the original completion date, and one for the
    -      secretary's action.
    -
    -    - Each revision generates a new event, rather than updating previous
    -      existing events.
    -
    -    Fixes issue #2590
    -
    -  * Improved the wrapping of long lines in emails sent by the datatracker:
    -    In wordwrap(), consider lines consisting entirely of some non-alphanumeric
    -    characters like ---- or === to be block (paragraph) separators.  Fixes
    -    issue #2806.
    -
    -  * Merged in [16668] from sasha@dashcare.nl:
    -    Sort names alphabetically in review group history notes when changing the
    -    list of members.  Fixes issue #2560
    -
    -  * Removed debug-related code from group edit clean_acronym().
    -    Fixes issue #2804.
    -
    -  * Merged in [16667] from sasha@dashcare.nl:
    -    Added an optional comment field for closing review requests.
    -    Fixes issue #2071
    -
    -  * Updated the docker files to build and run an image based on devuan:ascii
    -    instead of debian:jessie.
    -
    - -- Henrik Levkowetz   01 Oct 2019 16:15:46 +0000
    -
    -
    -ietfdb (6.103.1) ietf; urgency=medium
    -
    -  **Test improvement: Starting to use Python type hints and mypy type checking**
    -
    -  This release addresses two issues with the previous release, and as a result
    -  of a test case failing to discover one of the issues, it also introduces the
    -  use of Python type hints according to PEP 484.  Type hints for common Python
    -  library modules are provided by mypy, and type hints for Django are provided
    -  by the django-stubs module.  The problematic function that was used with the
    -  wrong call signature has received a type annotation that will reveal similar
    -  errors in the future.
    -
    -  This does not provide type annotation generally in the datatracker code;
    -  that will require a lot of additional work (some of which can be automated),
    -  but it gives us static type checking for Django and Python library calls,
    -  and makes type hints useful when we provide them in datatracker code.
    -
    -  From the commit log:
    -
    -  * Fixed up mypy issues or added type:ignore comments as needed for a
    -    clean mypy run.
    -
    -  * Added a mypy .ini file
    -
    -  * Added mypy and django-stubs to Py3 requirements, and added a mypy test
    -    case.
    -
    -  * Changed the call signature of docevent_from_submission() to take an
    -    optional Person object, rather than person name.  Added a type hint for the
    -    signature.
    -
    -  * Tweaked the condition for waiving submission email confirmation
    -    slightly.
    -
    - -- Henrik Levkowetz   30 Sep 2019 16:55:32 +0000
    -
    -
    -ietfdb (6.103.0) ietf; urgency=medium
    -
    -  **Draft submission tool changes**
    -
    -  This release contains two changes to the submission tool: During draft
    -  submission, the email verification is skipped for logged-in users, and
    -  author email addresses are now required for all authors, in order to avoid
    -  author notification problems during IETF and RFC-Editor processing.  Commit
    -  log details:
    -
    -  * Changed draft submission to not require an email round-trip when the
    -    submitter is logged in.  Added corresponding test cases.
    -
    -  * Added code to detect conflicting information for draft name, revision,
    -    and title when both XML and text versions of a document are submitted.
    -
    -  * Changed the draft submission form and views so that an email address is
    -    required for each author in order to complete self-service draft
    -    submission.  It is possible to add these as metadata updates, but this will
    -    lead to submission through the secretariat (and the email addresses will
    -    still be required).  Also updated related templates to make the handling of
    -    form section headings more consistent.
    -
    -  * Added some caching to /release/ pages.  With now more than 350
    -    releases, the page response times had increased to typically 4s.  Caching
    -    in view and template brought this down to ~160ms.
    -
    - -- Henrik Levkowetz   26 Sep 2019 18:42:18 +0000
    -
    -
    -ietfdb (6.102.0) ietf; urgency=medium
    -
    -  **Links to RFC text with in-lined errata.  HTML for v3 XML draft submissions**
    -
    -  * Added conversion of version 3 XML draft submissions to v3 HTML, in
    -    addition to text.  Added a link to HTML versions (when present) to the
    -    document status page, and renamed the link to the htmlized version to
    -    'htmlized'.  Converted the test-file for XML submission tests to v3.
    -    Added test code to check that HTML is generated for v3 XML submissions.
    -
    -  * Added class 'bg-danger' to submission error messages on the submission
    -    upload result page.  The big 'Meta-Data errors found' pane with red
    -    background is so noticeable that class 'text-danger' (which gives bold
    -    text, but no change of background) is insufficient to stand out clearly.
    -    Adding 'bg-danger' gives field error messages red background, too.
    -
    -  * Added a link from the datatracker RFC pages to the new RFC renderings
    -    with inline errata on the RFC-Editor web page (where available).
    -
    -  * Updated rfc-editor sync code to recognise the new Tooling Issue queue
    -    state.
    -
    -  * Updated ietf.sync.rfceditor.parse_index() to use the new rfc-index
    -    schema (changed placement of the page-count element).
    -
    -  * Added code to catch a form error regularly caused by form spam and
    -    return a failure instead of triggering a server 500.
    -
    - -- Henrik Levkowetz   20 Sep 2019 16:18:30 +0000
    -
    -
    -ietfdb (6.101.0) ietf; urgency=medium
    -
    -  **IANA expert review tracking, new constraints labelling**
    -
    -  This release adds IANA expert review tracking for drafts, changes the
    -  session request constraints labels, improves the handling of session slide
    -  proposal uploads, and adds a number of smaller enhancements and issue
    -  fixes.  From the commit log:
    -
    -  * Merged in [16656] from rjsparks@nostrum.com:
    -    Added IANA expert review tracking.
    -
    -  * Merged in [16650], [16655] from rjsparks@nostrum.com:
    -    Removed the bootstrap project todo page. #2778 points to the old content
    -    so we can make new tickets for anything that is still relevant.
    -
    -  * Merged in [16649] from rjsparks@nostrum.com:
    -    Guard against attempts to use the review request view with a
    -    ReviewRequest id that does not match the document for the ReviewRequest.
    -    This would have exposed #2776 much earlier.
    -
    -  * Merged in [16647] from rjsparks@nostrum.com:
    -    Corrected a view that was looking at review assignment ids when it
    -    should have been looking at request review ids. Fixes #2776.
    -
    -  * Added a 'domain' variable to context supplied to the agenda_package.txt
    -    template.  Fixes issue #2793.
    -
    -  * Merged in [16646] from rjsparks@nostrum.com:
    -    Don't manually linewrap when looking at feedback - let the pasted styling
    -    do that. Fixes #2761.
    -
    -  * Merged in [16630] from rjsparks@nostrum.com:
    -    Rework how we are labeling constraints to provide a quick-fix for
    -    session requests at IETF106. Turned off several javascript functions that
    -    added/enforced old (possibly no longer correct) semantics for the session
    -    request forms. Fixes #2754.
    -
    -  * Merged in [16629] from rjsparks@nostrum.com:
    -    Removing unused template. I think it was an artifact of the Django 1.2
    -    to 1.6 conversion from 6 years ago.
    -
    -  * Merged in [16615] from peter@akayla.com:
    -    Spelling correction in a comment.  No open issue.
    -
    -  * Merged in [16614] from peter@akayla.com:
    -    Improved so that new draft diffs (from the working group drafts page)
    -    work correctly for both -00 drafts and later revisions.  Fixes issue #2697.
    -
    -  * Merged in [16604] from rjsparks@nostrum.com:
    -    Look at all scheduled sessions for a group when deciding to display a
    -    cancelled banner. Fixes #2764.
    -
    -  * The logic for displaying 'Email requested to be sent for earlier
    -    discuss' on IESG positions was wrong; it would count later discusses and
    -    discusses from other ADs as an 'earlier discuss'.  Moved any_email_sent()
    -    from ballot to position, and refined the criteria.
    -
    -  * Made sure Person.active_drafts() and .expired_drafts() don't return
    -    duplicate entries.  Fixes issue #2784.
    -
    -  * Changed requirements to permit pyang 2.0 and greater.
    -
    -  * Added a migration to fix some m2m table columns incorrectly left as
    -    varchar(8) when we changed the size of name slugs to varchar(32).
    -
    -  * Merged in [16601] from rjsparks@nostrum.com:
    -    A management command to correct the state of several slide
    -    presentations uploaded during IETF105, and perform some missed powerpoint
    -    to pdf conversions.
    -
    -  * Merged in [16600] from rjsparks@nostrum.com:
    -    Fixed a subtle bug in the code that converts slides to PDF that was
    -    writing back into settings.
    -
    -  * Merged in [16599] from rjsparks@nostrum.com:
    -    Correct the uploaded_filename for slides that go through the
    -    approve-proposed-slides workflow.
    -
    -  * Merged in [16598] from rjsparks@nostrum.com:
    -    Add the ppt* to pdf conversion to the approve-suggested-slides
    -    workflow. Fixes #2762.
    -
    -  * Added textual information about patent application formats according to
    -    WIPO's Handbook on Industrial Property Information and Documentation, as
    -    input to future extension of the regex set.
    -
    -  * Added some new formats to the regex validator for patent numbers and
    -    patent application numbers.  This is still not comprehensive.
    -
    -  * Adjusted migrations for Python2/3 compatibility.
    -
    -  * Updated database options settings to match our production database and
    -    dump files.
    -
    -  * Fixed an issue where the text file charset information for an upload would
    -    be overwritten on upload of multiple files for a draft.
    -    Fixes issue #2768.
    -
    -  * Added 30 minutes caching to agenda.ics
    -
    - -- Henrik Levkowetz   08 Sep 2019 15:28:29 +0000
    -
    -
    -ietfdb (6.100.0) ietf; urgency=medium
    -
    -  **IETF 105 code sprint**
    -
    -  This release contains datatracker bug fixes and enhancements from the
    -  IETF-105 Code Sprint.  This sprint saw several participants diving deeper
    -  into the datatracker than before, accomplishing substantial tasks.  Thanks
    -  to everyone who contributed!
    -
    -  Notable improvements:
    -
    -  The document list pages produced by searches, group document pages, and
    -  similar has been speeded up by a factor of more than 2 by doing detailed
    -  timing measurements and one by one addressing the biggest time sinks.  A
    -  number of places where links to session slides were versioned have been
    -  changed so as to always point to the latest version.  A calendar display
    -  component has been added, making it straightforward to display for instance
    -  calendar pages for upcoming meetings.  Ability to handle markdown uploads
    -  and on-the-fly conversion for agendas and minutes has been added, as well as
    -  the ability to provide WG closing notes, sent out in announcement and saved
    -  for posterity on the group history page.  The recently introduced Slide
    -  proposal feature has been made more solid, as has the Python 2 / Python 3
    -  compatibility.
    -
    -  Additional information, excerpted from the commit log:
    -
    -  * Merged in [16593] from rjsparks@nostrum.com:
    -    Added sorting of the documents in the agenda, minutes, bluesheets section
    -    of the session_details view. Fixes #2759.
    -
    -  * Merged in [16592] from rjsparks@nostrum.com:
    -    Changed how the session details page links to documents to not link to a
    -    specific version. Fixes #2758. See also #2756.
    -
    -  * Merged in [16590] from rjsparks@nostrum.com:
    -    Example of using webtest. The full testcase was not converted because the
    -    add_rule form is modified in-flight by javascript when a control value is
    -    changed.
    -
    -  * Merged in [16583] from rjsparks@nostrum.com:
    -    Restored the ability to remove documents while managing a personal list.
    -    Required updating code to match the recent change to Document's primary
    -    key. Fixes #2757.
    -
    -  * Merged in [16569] from rjsparks@nostrum.com:
    -    Added quotes around document name in the mailarchive search link on a
    -    document's main page. Fixes #2659.
    -
    -  * Merged in [16589] from rjsparks@nostrum.com:
    -    Added a calendar to the upcoming meetings page. Fixes #2719.
    -
    -  * Prevent login name case issues by generating apache permissions file
    -    entries for both uppercase and lowercase logins.
    -
    -  * Added a Py3 version of requirements.txt, excluding Trac which is still
    -    only available under Py2.7
    -
    -  * Did some preliminary work on converting bower management of web resources
    -    to yarn.  New management command, replacing bower_install will be needed.
    -
    -  * Merged in [16562] from rcross@amsl.com:
    -    Added encoding='utf-8' parameter to io.open operations in tests that
    -    starting failing since adding unicode_literals.
    -
    -  * Merged in [16561] from rjsparks@nostrum.com:
    -    Added a prompt for login for approving slide suggestions instead of just
    -    presenting an error. Fixes #2750.
    -
    -  * Merged in [16559] from fenton@bluepopcorn.net:
    -    Added Closing Notes to history and about pages for groups. Fixes issue
    -    #2725.
    -
    -  * Merged in [16558] from rjsparks@nostrum.com:
    -    Made removed IPR disclosures visually distinctive on search results.
    -    Partially addresses #2687.
    -
    -  * Merged in [16557] from pusateri@bangj.com:
    -    Added the ability to upload agenda and minutes in markdown format.
    -    Partially addresses issue #1926.  We're still displaying markdown as text.
    -    Fixes #2704.
    -
    -  * Fixed a number of additional Py2/3 compatibility issues.
    -
    -  * Added LookupError to the exceptions caught during text upload decoding,
    -    leading to upload form validation error.
    -
    -  * Merged in [16554] from rjsparks@nostrum.com:
    -    Rework how SlideSuggestion objects name their files. Improve the UI
    -    when there are multiple pending suggestions for updating the same
    -    presentation.
    -
    -  * Moved djangobwr into the local repository, due to consistent
    -    difficulties pulling it from github as an svn:external
    -
    -  * Enabled display of group pages also for groups of type adhoc and ise.
    -
    -  * Updated the PLAN to adjust priority on modeling BCPs correctly
    -
    -  * Added another check before building submitter email for mailtrigger
    -    entries, to ensure valid email addresses.
    -
    - -- Henrik Levkowetz   05 Aug 2019 16:43:03 +0000
    -
    -
    -ietfdb (6.99.1) ietf; urgency=medium
    -
    -  This bugfix release contains a number of fixes for issues with the big
    -  Python 3 conversion release, many of which has already been patched in
    -  production.  Additionally, there are some fixes related to new slide upload
    -  functionality and the test suite.  From the commit log:
    -
    -  * Fixed some issues with the Py2/3 changes to the populate_yang_model_dirs
    -    management command.
    -
    -  * Added a check for submitter found before trying to get submitter name and
    -    email when generating email notification address lists.
    -
    -  * Shortened generated document titles a tad, to avoid line wrapping in
    -    the IESG agenda package (which sometimes breaks the relevant tests).
    -
    -  * Merged in [16515] from rjsparks@nostrum.com:
    -    Save files correctly when updates to an existing set of slides are
    -    proposed. Fixes #2748.
    -
    -  * Added information about versions (Datatracker, Python, and Django) at
    -    the beginning of test suite runs, to be able to clearly see which Python
    -    and Django versions were used during a test run.
    -
    -  * Replaced six.ensure_str with django's force_str, in order to be able
    -    to use earlier versions of six which more frequently are available on
    -    the development and production target platforms.
    -
    -  * Changed PDF page-counting code to read PDF files as binary.
    -
    -  * Replaced the email-sending logger.error() on bad Submission.submitter
    -    email address with syslog logging.
    -
    -  * Added an email gather handler for submission_submitter that tries an Alias
    -    name lookuup if the submitter doesn't look as if it contains an email
    -    address.  This deals better with submission records that only has a name
    -    in the submitter field.
    -
    -  * Changed import path for settings_local.py to work with absolute_import
    -    under Py2, and also under Py3.
    -
    -  * Changed agenda file reading to read files as binary when looking for
    -    draft names listed in the agenda, in order to avoid issues with
    -    older uploads using latin-1 or other encodings where the lower
    -    127 character match ASCII.
    -
    - -- Henrik Levkowetz   18 Jul 2019 20:34:35 +0000
    -
    -
    -ietfdb (6.99.0) ietf; urgency=medium
    -
    -  **Python 3 compatible code**
    -
    -  This is a major release which contains conversion of the datatracker
    -  Python code to run under Python-3.7 where it previously was specific
    -  to Python-2.7.  The code was first converted to Python-3.7, and then
    -  additional work was done to make it compatible with both Python 2
    -  and 3.  The changes updated 458 files, and touched close to 4000
    -  lines.
    -
    -  Making the code compatible with both Python 2 and 3 lets us continue
    -  to use the converted codebase until we're ready to move the primary
    -  webserver's mod_wsgi completely to Python 3.  Otherwise, we would have
    -  to merge all new bugfixes and sprint contributions to both trunk
    -  (Python 2.7) and the new Python 3 branch, with doubled merge work
    -  until we were ready to move the server to Python 3.  (Testing, though,
    -  will still need to be done under both 2 and 3 to ensure we don't loose
    -  compatibility.)
    -
    - -- Henrik Levkowetz   16 Jul 2019 22:21:56 +0000
    -
    -
    -ietfdb (6.98.4) ietf; urgency=medium
    -
    -  This is a small bugfix release, to clear the slate before merging
    -  in the Python 2/3 conversion.  From the commit log:
    -
    -  * Added a validation step for SearchablePersonField, to avoid later
    -    server 500 errors on bad input.
    -
    -  * Merged in [16404] from rjsparks@nostrum.com:
    -    Only look for ietf/datatracker-env images when extracting the most
    -    recent build to tag as latest.
    -
    -  * Merged in [16359] from rcross@amsl.com:
    -    Fix registration import, use user.person if it exists.
    -
    -  * Merged in [16096] from rcross@amsl.com:
    -    Update admin permissions. Grant secretariat change permissions on
    -    dbtemplate so they can update proceedings pages.
    -
    -  * Turned off html autoescape in IPR email templates.  This fixes
    -    inappropriate html escapes that occurred in various IPR-related
    -    emails.
    -
    -  * Added missing code to skip coverage measurement for skippable tests.
    -
    - -- Henrik Levkowetz   16 Jul 2019 14:14:12 +0000
    -
    -
    -ietfdb (6.98.3) ietf; urgency=medium
    -
    -  * Increased the length of the list Subscribed email field from 64 to 128,
    -    updated the import_mailman_listinfo management command, and added a
    -    migration for the model change.
    -
    - -- Henrik Levkowetz   04 Jul 2019 16:07:14 +0000
    -
    -
    -ietfdb (6.98.2) ietf; urgency=medium
    -
    -  This is a minor release that fixes some bugs and tweaks some settings.
    -  From the commit log:
    -
    -  * Changed some tests to match production group type changes for some special
    -    groups.
    -
    -  * Made the bin/daily cron script quiteter.
    -
    -  * Various changes to make yang-related management commands quieter
    -
    -  * Added a fix for an issue in get_meeting_registration_data() which could
    -    happen if we tried to create a Person record for with a user of an
    -    existing Person.
    -
    -  * Changed the permitted length of patent_title from 127 to 255.
    -
    -  * Added additional guards against duplicate m2m entries.
    -
    -  * Added a utility to check copyright statements in specified files.
    -
    -  * Updated some functions and views in secr/srec/ to use GroupFeatures
    -    instead of hardcoded lists of group types.
    -
    -  * Made session requests also work for ad-hoc groups, which may not have a
    -    parent area.
    -
    - -- Henrik Levkowetz   03 Jul 2019 20:27:54 +0000
    -
    -
    -ietfdb (6.98.1) ietf; urgency=medium
    -
    -  This is a bugfix release that cleans up some remaining issues from the
    -  Document/DocAlias primary key refactoring, and also fixes some other
    -  unrelated issues.  From the commit log:
    -
    -  * Fixed bad logic for the display of previous related IPR information in
    -    the IPR details template.
    -
    -  * Tweaked some test failure messages for better debugging.
    -
    -  * Merged in [16287] from rjsparks@nostrum.com:
    -    Send mail to a list when a new IETF WG -00 is submitted. Fixes #2730.
    -
    -  * Fixed some name versus pk issues lingering after the Document/DocAlias
    -    primary key refactoring.  Fixes issue #2729.
    -
    -  * Added the option to order API resource lists by primary key, for stable
    -    ordering when paging through a list.
    -
    -  * Added generation of Meta.ordering for API ModelResources in the
    -  * mkresources management command.
    -
    -  * The Document and DocAlias primary key refactoring caused the Tastypie
    -    API under /api/v1/ to change -- reverting that to use the old form, with
    -    name ask API key.
    -
    -  * Added a better error message for too long draft names during submission.
    -
    -  * Adjusted the test_runner to generate migration coverage data also when
    -    permitting mixed migrations.
    -
    -  * Added a guard against duplicate insertions in
    -    SearchRule.name_contains_index
    -
    -  * Fixed a docalias problem with generate-draft-aliases
    -
    -  * Merged in [16248] from rjsparks@nostrum.com:
    -    Removed the IETF chair as a recipient of new IPR disclosures if there
    -    is no group or active document to send them to. Fixes #2727.
    -
    -  * Added a management command to update the index table used by some
    -    community list search rules.  Running this fixes the missing listings
    -    of drafts related to a group on group document pages and in searches.
    -
    -  * Improved the support for the mixed-release switch in the bin/mkrelease
    -    script.
    -
    - -- Henrik Levkowetz   20 Jun 2019 13:16:54 +0000
    -
    -
    -ietfdb (6.98.0) ietf; urgency=medium
    -
    -  **Refactoring of the primary index type for Document and DocAlias objects**
    -
    -  This release contains a series of 216 migration steps that changes the
    -  Document and DocAlias primary keys from character strings to integers, and
    -  makes corresponding code changes.
    -
    -  This was prompted by database limitations discovered when trying to make
    -  DocAlias use a m2m document field; with 255 long strings as primary keys for
    -  Document and DocAlias this violated the MySQL database limitations.
    -
    -  Changing the primary keys to integers should also improve efficiency.
    -
    -  Additionally, in order to make it possible to have DocAlias objects referring
    -  to multiple documents, in order to reflect STD and BCP names that refer to
    -  multiple RFCs, DocAlias has been refactored to use many-to-many tables instead
    -  of foreign keys do toduments.
    -
    -  Due to the data migrations which create the new integer primary keys and adds
    -  corresponding integer foreign keys matching the previous string foreign keys
    -  in all tables having foreign keys to Document and DocAlias, some of these
    -  migrations take a long time.  The total set of migrations are expected to have
    -  a runtime on the order of 2 hours.
    -
    -  This release is scheduled to be deployed on 16 Jun 2019 at 16:00 UTC, with
    -  an expected datatracker downtime, for safety backup and application of the
    -  migrations to run, of about 3 hours.
    -
    - -- Henrik Levkowetz   16 Jun 2019 14:16:12 +0000
    -
    -
    -ietfdb (6.97.1) ietf; urgency=medium
    -
    -  This is a bugfix release which clears the way for the upcoming major
    -  release.  From the commit log:
    -
    -  * Added validation of draft names extracted from XML submission files.
    -
    -  * Added static resources for favicon.ico and robots.txt at the top of
    -    the ietf static tree.
    -
    -  * Updated references to RFC 5226, to RFC 8126, which obsoletes 5226.  This
    -    fixes issue #2726.
    -
    -  * Fixed an issue where the 'Request closing group' button incorrectly was
    -    showing for group chairs.  Fixes issue #2724.
    -
    -  * Moved some explicit URLs from code and templates to settings (related
    -    to the production server www6/ directory cleanup).
    -
    -  * Refined the handling of draft xml version 3 versus version 2.  This fixes
    -    a problem where v3 documents were rendered with no section titles in the
    -    Table of Contents.
    -
    - -- Henrik Levkowetz   14 Jun 2019 13:30:43 +0000
    -
    -
    -ietfdb (6.97.0) ietf; urgency=medium
    -
    -  **Additional meeting-related links**
    -
    -  This is a small feature release which provides a new email notification to
    -  the RFC Editor, new meeting-related menu links and iCalendar links, and
    -  restores some review management page information inadvertently lost in
    -  release 6.96.0.
    -
    -  From the commit log:
    -
    -  * Added a link to the meeting registration page to the meetings menu.
    -
    -  * Added a link to the registration page from the meeting 'Important
    -    Dates' page.
    -
    -  * Removed additional instances of links to unposted IPR disclosures that
    -    would result in 404 pages.
    -
    -  * After feedback from the RFC-Editor staff, changed the URL POST
    -    notification of Group name changes to an Email notification.
    -
    -  * Added .ics links for future meetings to the group meetings tab.
    -
    -  * Added a signal receiver for notifications to the RFC editor about
    -    changed Group names.
    -
    -  * Added sample notification JWT signature verification code to
    -    /api/index.html.
    -
    -  * Updated settings with EC/P-256 api keys (JWT does not support RS2048,
    -    which is what we had).  Added a variable for RFC Editor group name
    -    notifications, with a placeholder value.
    -
    -  * Fixed template and view to restore previous review display on the
    -    Manage Unassigned Reviews page.  Fixes issue #2718.
    -
    -  * Tweaked the review assignment presentation in review/request_info.html.
    -
    -  * Added review assignment information to the review-document view.
    -    Addresses issue #2717.
    -
    - -- Henrik Levkowetz   23 May 2019 15:09:45 +0000
    -
    -
    -ietfdb (6.96.0) ietf; urgency=medium
    -
    -  **Refactored review request handling, introducing review assingnments**
    -
    -  This release splits out document review assignments as individual objects,
    -  instead of being part of review requests.  This makes handling of review
    -  assignments more flexible and intuitive.  The datatracker menu URL for past
    -  meeting proceedings has been corrected, as well as the URL for BOF requests,
    -  and old, now invalid URLs to MHonArc mailing list repositories have been
    -  removed.  The Wiki maintenance scripts now support a generic NomCom wiki,
    -  managed by the chairs and adivisors of currently active NomComs.
    -
    -  Additional details from the commit log:
    -
    -  * Merged in a refactoring of document review code from
    -    rjsparks@nostrum.com.  This introduces ReviewAssignments, letting us do
    -    multiple assingments for a given RevieRequest, without conflating the
    -    assignments and their results with the request itself.
    -
    -  * Updated the ReviewAssignment api resource to match the current model.
    -
    -  * Added a no-follow option to the test crawler, in order to be able to
    -    easily test a specific list of URLs.
    -
    -  * Modified a template to handle old reviews with incomplete information
    -    appropriately, instead of giving 500 errors.
    -
    -  * Fixed a problem in 3 views that were accessible through URLs without
    -    meeting numbers (e.g., .../meeting/proceedings/overview/) but gave 500
    -    errors when accessed.
    -
    -  * Corrected an old URL for past meeting proceedings.
    -
    -  * Fixed some migrations issues that prevented the review assignment
    -    refactoring migrations from being reversed and re-applied.
    -
    -  * Changed a ReviewAssignmentDocEvent type from 'closed_review_request' to
    -    'closed_review_assignment', for consistency and readability.
    -
    -  * After having test_duplicate_person_name() fail for a non-ascii name,
    -    changed the test to always supply a non-ascii name.
    -
    -  * Removed links to the old MHonArc mail archives, and related view.
    -
    -  * Changed the BOF request procedures page URL.
    -
    -  * Tweaked the greate_group_wikis management command to accept trailing
    -    fileglob wildcards on adhoc wiki group acronyms.  Added a generic NomCom
    -    wiki to the list of adhoc wikis to be created and maintained, with admins
    -    from active nomcom* groups.
    -
    -  * Fixed bad html in a proceedings template.
    -
    - -- Henrik Levkowetz   06 May 2019 15:34:13 +0000
    -
    -
    -ietfdb (6.95.1) ietf; urgency=medium
    -
    -  This is a bugfix release, addressing the following issues:
    -
    -  * Modified the display of updates to a rejected IPR to avoid links that
    -    result in 404 pages.
    -
    -  * Combined [16154] from rjsparks@nostrum.com with previous work on ticket
    -    #2633 in [16124].  This adds bluesheet links to the meeting materials
    -    page.  Fixes issue #2633.
    -
    -  * Merged in [16152] from rjsparks@nostrum.com:
    -    Show minutes on the popup for the meeting materials button on the agenda
    -    page when those minutes are available. Fixes #2711.
    -
    -  * Updated the role handling to use GroupFeatures.groupman_roles
    -    consistently for group management access.  Fixes a IRTF RG delegate
    -    permissions issue.
    -
    -  * Fixed some program group feature settings.
    -
    -  * Added a missing test directory cleanup action.
    -
    -  * Merged in [16145] from housley@vigilsec.com:
    -    Updated the out-of-date links in the footer of each datatracker page.
    -    Fixes #2710.
    -
    -  * Merged in [16144] from housley@vigilsec.com:
    -    Removed some clutter from I-D upload page.  The information was moved to
    -    the Instructions tab, but a higligh to the Note Well and BCP 78 was added.
    -    Fixes #2057.
    -
    -  * Added some HTTP header settings for better security.  Brings results at
    -    https://securityheaders.com/ up to an 'A' grade.
    -
    - -- Henrik Levkowetz   26 Apr 2019 11:23:57 +0000
    -
    -ietfdb (6.95.0) ietf; urgency=medium
    -
    -  **IETF 104 code sprint**
    -
    -  This release contains datatracker bug fixes and enhancements from the
    -  IETF-104 Code Sprint.  We have several first-time sprint contributors,
    -  and a substantial set of improvements.  Thanks to everyone who contributed!
    -
    -  Notable improvements:
    -
    -  The datatracker now supports reminders of and direct addition of downref
    -  entries at the time of document approval.  Document review management has
    -  been improved with table sort options.  There are a number of improvements
    -  to the agenda and materials pages, and there is now support for meeting
    -  session presenters to upload their own slides, for later approval by
    -  chairs.
    -
    -  Additional comments, excerpted from the commit log:
    -
    -  * Merged in [16126] from housley@vigilsec.com:
    -    Allow Secretariat to handle downrefs when they approve a document
    -
    -  * Merged in [16124] from rcross@amsl.com:
    -    Add No Bluesheets indicator to materials page.
    -
    -  * Merged in [16121] from rjsparks@nostrum.com:
    -    Provides menubar offset for wg anchors on the /wg page. Fixes #1481.
    -
    -  * Merged in [16110] from rjsparks@nostrum.com:
    -    Include the note itself in email sent when the RFC editor note changes
    -    after document approval. Also changed the flow to redirect back to the
    -    writeups pages after editing the RFC editor note. Fixes #2672.
    -
    -  * Merged in [16109] from rjsparks@nostrum.com:
    -    Protect drafts in certain IRTF states from expiring. Fixes #2669.
    -
    -  * Merged in [16108] from fenton@bluepopcorn.net:
    -    Moved old nomcom announcements to database and removed references to
    -    legacy website. Fixes #2686.
    -
    -  * Merged in [16107] from rjsparks@nostrum.com:
    -    Show the agenda note, if it exits, on a sessions SUMMARY line in the
    -    ical view of an agenda. Fixes #2676.
    -
    -  * Merged in [16106] from rjsparks@nostrum.com:
    -    Don't allow users to edit the 'active' value for unknown-email-*
    -    addresses. Related to #2696.
    -
    -  * Merged in [16103] from rjsparks@nostrum.com:
    -    Modified the admin model for SlideSubmission to use a couple of
    -    raw_id_field widgets.
    -
    -  * Merged in [16102] from rjsparks@nostrum.com:
    -    Allow logged in users to propose slides for meeting sessions. Fixes
    -    #2547 and #2403.
    -
    -  * Merged in [16095] from peter@akayla.com:
    -    Fixed bad calls to rfcdiff for -00 drafts and replaced drafts.  Fixes
    -    issue #2697.
    -
    -  * Merged in [16094] from magnus.westerlund@ericsson.com:
    -    Added sortable columns to Review Team Reviewers page. Partially
    -    addresses issue #2656
    -
    -  * Merged in [16092] from rcross@amsl.com:
    -    Remove ability to cancel a break session.  Fixes #2703.
    -
    -  * Changed the etherpad url schema to https.
    -
    -  * Temorary workaround to upload xml validation.  The tree.validate() of
    -    xml2rfc should be updated to check vocabulary version and validate against
    -    the appropriate schema, to fix this properly.
    -
    -  * Added dbtemplate validation to the DBTemplate class, to make sure one
    -    cannot enter invalid DBtemplates through the admin.
    -
    -  * Merged in [16089] from mahoney@nostrum.com:
    -    added instructions for entering the draft name. Fixes #1375.
    -
    -  * Added creation of a group with the user's GID inside the docker
    -    container, if it's missing.
    -
    -  * Merged in [16088] from rcross@amsl.com:
    -    Fixed multiple issues with secretariat non-session view, including
    -    an indicator of cancelled sessions.  Fixes #2701.
    -
    -  * Merged in [16087] from housley@vigilsec.com:
    -    Add downward references to telechat moderator package and Secretariat
    -    telechat pages.
    -
    -  * Merged in [16085] from rcross@amsl.com:
    -    Fixed an issue where cancelling one break session would cause other
    -    breaks to get cancelled.  Fixes #2699.
    -
    -  * Added filtering by meeting for the UrlResource admin.
    -
    -  * Changed docker/updatedb to use https://, as cloudflare doesn't do the
    -    right thing for our http:// database dump URL any more.
    -
    -  * Added a skipIf() decorator for a test which should not be run unless
    -    the ghostscript binary is available in the test environment.
    -
    - -- Henrik Levkowetz   09 Apr 2019 11:55:21 +0000
    -
    -
    -ietfdb (6.94.1) ietf; urgency=medium
    -
    -  This is a minor bugfix release, to clear the slate for the IETF 104 sprint.
    -
    -  * Put a length limit to generated cache keys in stats/views.py, to avoid
    -    tickling memcached's limit of 250.
    -
    -  * Changed sending of PubReq messages to explicitly use on-behalf-of,
    -    without Reply-To.  Reply-To is picked up as requestor by RT.  Fixes issue
    -    #2691 anew.
    -
    -  * Changed etherpad server address from etherpad.tools.ietf.org to
    -    etherpad.ietf.org.
    -
    - -- Henrik Levkowetz   19 Mar 2019 18:01:07 +0000
    -
    -
    -ietfdb (6.94.0) ietf; urgency=medium
    -
    -  **Added review and AD emails 'Reply-To:' fields**
    -
    -  This release contains another change to email sending, adding a Reply-To
    -  header field for mail sent on behalf of a user, and also contains a number
    -  of other changes and fixes, as follows:
    -
    -  * Merged in [16022] from rcross@amsl.com: Modified IPR Patent number regex
    -    to allow a new Italian patent number format, IT[15 digits]. Fixes #2694.
    -
    -  * Reverted earlier application of on_behalf_of() at mail sending call
    -    points, and instead did all on_behalf_of processing in
    -    condition_message().  Added insertion of Reply-To header fields in this
    -    case.  Changed all use of the mail-sending 'extra' parameters to use
    -    value lists.  Updated a bunch of tests accordingly.
    -
    -  * Removed a statement about IETF being an activity of the Internet Society
    -    from a template file, and tweaked the remaining text.
    -
    -  * Converted a test to use .assertIn() instead of .assertTrue(... in ...)
    -    for better failure reports.
    -
    -  * Tweaked the group_features_group_filter() function.
    -
    -  * Refactored some templates to reduce materials page permission lookups
    -    from ~2*#sessions to just a few.
    -
    -  * Rewrote a function to be more readable and actually do the right thing.
    -    This moved some filtering from database into code, but it seems
    -    acceptable here.
    -
    -  * Transitioned group/views.py to unicode strings
    -
    -  * Improved a somewhat misleading UI for adding account email addresses.
    -    Fixes issue #2692.
    -
    -  * Changed the on-behalf-of name template from 'On behalf of ...' to '...
    -    via Datatracker' to make the originator's name come first.
    -
    -  * Changed ietf/utils/mail.py to use unicode strings, and changed a call in
    -    ietf/review/utils.py to use unicode for mail Subject, to fix a server 500
    -    issue.
    -
    - -- Henrik Levkowetz   13 Mar 2019 15:09:42 +0000
    -
    -
    -
    -ietfdb (6.93.0) ietf; urgency=medium
    -
    -  **Changed review and AD emails to use 'On behalf of ...' sender**
    -
    -  This release changes the email sender for emails sent through the
    -  datatracker by ADs and reviewers to say "On behalf of" and the username,
    -  with a datatracker email address, instead of using the user's from
    -  address, since that has increasingly (and rightly) been running into
    -  problems with SPF and DMARC processing.  The release also provides session
    -  short names in the meeting/agenda.json file, for use by Meetecho scripts.
    -
    -  From the commit log:
    -
    -  * Added on_behalf_of() calls for from addresses needing it throughout the
    -    code.
    -
    -  * Added html escaping of initial text-area content in a view function to
    -    avoid mangling.
    -
    -  * Updated the tests to always use @ietf.org addresses where appropriate,
    -    and not do so when not appropriate.  All test user login addresses have
    -    been changed away from @ietf.org.
    -
    -  * Added two new functions to replace email From: of users with
    -    On-behalf-of addresses, with associated values in settings.  Added a
    -    catchall stanza in the mail sending pipeline to catch anything not
    -    already changed to On-behalf-of addresses, which should have been
    -    changed.
    -
    -  * Merged in [15982] from rjsparks@nostrum.com:
    -    Add session.short to the output from meeting/agenda.json when it is
    -    available.
    -
    - -- Henrik Levkowetz   05 Mar 2019 17:52:55 +0000
    -
    -
    -ietfdb (6.92.1) ietf; urgency=medium
    -
    -  This release contains one database schema migration delayed from the
    -  previous release in order to deploy new code before a fields used by old
    -  code was removed, and one migration to extend the width of a field used to
    -  hold URLs.  From the commit log:
    -
    -  * Increased the DocumentURL.url field length to the legal URL maximum of
    -    2083.
    -
    -  * Removed the GroupFeatures.has_dependencies field.
    -
    -  * Added a note to the draft/RFC stats pages about missing data.
    -
    - -- Henrik Levkowetz   26 Feb 2019 12:27:22 +0000
    -
    -
    -ietfdb (6.92.0) ietf; urgency=medium
    -
    -  **Generalized the submission approval protection for special groups**
    -
    -  Before this rewrite, code explicitly looked for draft names like
    -  draf-iab-, draft-iana=, etc., but did not derive the list of draft name
    -  prefixes needing approval from the group types in the database.  The new
    -  code extends this protection to any new group types in the database (and a
    -  number of old ones that were not protected before such as draft-iesg- ).
    -
    -  There are also some bugfixes.  From the commit log:
    -
    -  * Increased the document count for group document lists from the
    -    default(200) to 500, as MPLS now exceeds 200.
    -
    -  * Rewrote the submission deduce_group() to consider all groups with
    -    acronyms that are also GroupTypeNames. Added GroupTypeName for
    -    iesg,ise,adhoc groups, and appropriate GroupFeatures for each.
    -
    -
    -  * Fixed a problem with the secretariat IESG agenda handling, where removal
    -    of a document from the telechat agenda could lead to a server 500 in
    -    a different view.  Insetead, redirect to the removed document (which
    -    will show as not on the agenda any more).
    -
    -  * Tweaked mkdevbranch to take an optional extra message paragraph.
    -
    -  * Modified a view function to fill in missing default CommunityLists for
    -    groups with features.has_documents == True, to avoid a possible server
    -    error.
    -
    -  * Removed the has_dependencies GroupFeature, and used has_documents
    -    instead in the one place it was used.
    -
    -  * Fixed a submission failure for xml files missing abstract sections.
    -
    - -- Henrik Levkowetz   25 Feb 2019 13:08:34 +0000
    -
    -
    -ietfdb (6.91.0) ietf; urgency=low
    -
    -  **Expanded group property table entries**
    -
    -  This release contains a refactoring of a large number of instances in the
    -  code where group types (wg, area, rg, etc.) have been hardcoded in the past
    -  in order to reflect different properties for different groups.  Instead,
    -  group types have now aquired a list of new 'feature' settings, for instance
    -  is_schedulable, show_on_agenda, has_session_materials, and more.  This will
    -  make it easier to add new group types without having to change the code,
    -  by indicating for each new group type which properties it should have.
    -
    -  Additionally, some minor unrelated fixes has been applied.  From the
    -  commit log:
    -
    -  * Merged in GroupFeatures refactoring and expansion from
    -    ^/personal/henrik/6.89.4.dev0@15911.
    -
    -  * Reverted r15071 with respects to showing the submit for publication
    -    button to shepherds.  Fixes issue #2673.
    -
    -  * Updated code and templates to use the new docman and groupman group
    -    features.
    -
    -  * Updated fixture with new group features and more.
    -
    -  * Added a tiny management command to list group types per feature.
    -
    -  * Removed origin information from the liaison_title.html template, as
    -    it's used in a context where  html comments will be rendered.  Fixes issue
    -    #2674.
    -
    - -- Henrik Levkowetz   04 Feb 2019 11:57:59 +0000
    -
    -ietfdb (6.90.0) ietf; urgency=low
    -
    -  * Modified the rolodex code to make sure we capture information about the
    -    origin of newly added email addresses.  This requires the secretariat to
    -    be clear about where new email addresses come from, in order to be able to
    -    remove them if we later receive a GDPR personal data deletion request.
    -
    -  * In the draft metadata extraction code, moved the __future__ imports down
    -    so as not to obscure the module docstring.  Fixes the earlier inability to
    -    run '$ ietf/utils/draft.py -h'.
    -
    -  * Applied a series of patches for python 3 compatibility from
    -    dkg@fifthhorseman.net to the draft metadata extraction code:
    -
    -    - Use a list of dictionary keys.  In python3, dict.keys() produces a
    -      dict_keys object, not a list.  Since this code treats it as a list,
    -      we'll just be explicit about that.
    -
    -    - Fix regex manipulation for word characters.  In python 3.7, re.sub()
    -      started treating unknown escape sequences in as errors.  Fix this by
    -      sending an escaped \ where we mean to pass it through raw.
    -
    -    - Use // for explicit integer division.  Without this fix, in modern
    -      versions of python, the changed line produces: 'TypeError: 'float'
    -      object cannot be interpreted as an integer'.
    -
    -    - Use modern form of exception handling.
    -
    -    - Use the print function instead of print statement.
    -
    -  * Added more name normalization for test factory person names.
    -
    - -- Henrik Levkowetz   21 Jan 2019 11:49:20 +0000
    -
    -
    -ietfdb (6.89.4) ietf; urgency=low
    -
    -  * Moved __future__ imports down in ietf/utils/draft.py so as not to obscure
    -    the module docstring.  Fixes inability to run '$ ietf/utils/draft.py -h'.
    -
    -  * Applied 5 patches from dkg@fifthhorseman.net, for py3 compatibility in
    -    the text draft metainfo extractor ietf/utils/draft.py:
    -
    -    - Use a list of dictionary keys.  In python3, dict.keys() produces a
    -      dict_keys object, not a list.  Since this code treats it as a list,
    -      we'll just be explicit about that.
    -
    -    - Fix regex manipulation for word characters.  In python 3.7, re.sub()
    -      started treating unknown escape sequences in as errors.  Fix this by
    -      sending an escaped \ where we mean to pass it through raw.
    -      See https://docs.python.org/3/library/re.html#re.sub
    -
    -    - Use // for explicit integer division. Without this fix, in modern
    -      versions of python, the changed line produces: TypeError: 'float' object
    -      cannot be interpreted as an integer
    -
    -    - Use modern form of exception handling
    -
    -    - Use print() function instead of print statement
    -
    -  * Added a bit of name normalization for test factory person names.
    -
    - -- Henrik Levkowetz   14 Jan 2019 22:29:06 +0000
    -
    -ietfdb (6.89.3) ietf; urgency=low
    -
    -  * Updated the timezone information to match the latest timezone database
    -    release (2018i)
    -
    -  * Merged in [15865] from rjsparks@nostrum.com:
    -    Cleanup: removed the infrastructure for importing reviews from the
    -    old review tool.
    -
    -  * Merged in [15864] from rjsparks@nostrum.com:
    -    Refactored DocumentInfo to address overloading the external_url field
    -    with strings that are not URLs.
    -
    -  * Merged in [15846] from rjsparks@nostrum.com:
    -    Simple tests of some log utilities.
    -
    -  * Merged in [15845] from rjsparks@nostrum.com:
    -    simple test of BowerStorageFinder.
    -
    -  * Merged in [15833] from rjsparks@nostrum.com:
    -    Incremental improvements to the submit_existing tests.
    -
    -  * Merged in [15829] from rjsparks@nostrum.com:
    -    Make state/substate changes on new submissions sensitive to stream.
    -    Fixes #2642.
    -
    -  * Merged in [15828] from rjsparks@nostrum.com:
    -    Show more group types on the concluded groups page. Fixes #2643.
    -
    -  * Additional tweaks to submission yang testing and the test runner
    -
    -  * Updated PLAN
    -
    - -- Henrik Levkowetz   14 Jan 2019 15:25:32 +0000
    -
    -ietfdb (6.89.2) ietf; urgency=low
    -
    -  * Added a migration to capture changes to HistoricalRecords triggered by
    -    changes in django-simple-history
    -
    -  * Bumped the minimum version requirement on django-simple-history;
    -    HistoricalChanges which we now use was introduced with 2.3.0.
    -
    -  * Changed the construction of element IDs that could trigger ad-blockers
    -    in a NomCom page to avoid the problem.
    -
    -  * Removed an assertion for iesg state for documents that can be in any
    -    stream.
    -
    -  * Merged in [15824] from rjsparks@nostrum.com:
    -    Make it more obvious that a group has been replaced when looking at its
    -    pages. Fixes #2661.
    -
    -  * Merged in [15818] from rjsparks@nostrum.com:
    -    Whitespace only change to make the conditional structure followable.
    -
    -  * Merged in [15822] and [15809] from rjsparks@nostrum.com:
    -    Added an explicit ID-Exists state for the IESG state machine.
    -    Reworked code so that the IESG state machine always has a state.
    -    Added the ability to release a document from a working group,
    -    research group, or the independent stream. Releasing a document
    -    removes all stream state, and sets the document to have no stream.
    -
    -  * Fixed a bug in the RFC Index parsing that caused extraction of only one
    -    paragraph of an abstract, even if there were multiple.
    -
    -  * Merged in [15816] from rjsparks@nostrum.com:
    -    Provide a correct link to jabber logs for plenaries in past agendas.
    -    Fixes #2641.
    -
    -  * Merged in [15810] from rcross@amsl.com:
    -    Grant secretariat admin permissions to mailtrigger models.  Fixes
    -    #2637.
    -
    -  * Merged in [15808] from rjsparks@nostrum.com:
    -    Allow notify_ad_when to be blank.
    -
    -  * Merged in [15807] from rjsparks@nostrum.com:
    -    Repaired another instance of a literal path with a reverse lookup.
    -    Related to #2657.
    -
    -  * Added a description of the /doc//doc.json API to the /api/ index page,
    -    and also added a table-of-contents column.
    -
    -  * Merged in [15806] from rjsparks@nostrum.com:
    -    Changed an inappropriate literal path to a reverse url lookup. Fixes
    -    #2657.
    -
    -  * Merged in [15804] from rjsparks@nostrum.com:
    -    Add history to ReviewerSettings. Fixes #2147.
    -
    - -- Henrik Levkowetz   19 Dec 2018 08:27:48 +0000
    -
    -
    -ietfdb (6.89.1) ietf; urgency=low
    -
    -  * Merged in [15787] from rcross@amsl.com:
    -    Rework page flow and forms of secr/meetings app.  Fixes #2609.
    -
    -  * Added code to catch a possible attribute error on event notification.
    -
    -  * Added two new management commands to make it easier to load back
    -    selected objects that have been removed by mistake (providing they are
    -    available in a full database dump or backup that can be loaded and worked
    -    with): dumprelated and loadrelated.
    -
    -  * Increased the document limit from 200 to 500 for the AD documents page.
    -
    - -- Henrik Levkowetz   03 Dec 2018 18:09:35 +0000
    -
    -ietfdb (6.89.0) ietf; urgency=low
    -
    -  This release provides improved export of statistics charts and data,
    -  improved and more consistent test coverage, and fixes a few bugs:
    -
    -  * Fixed an issue with the To: and Cc: addresses of extra review email to
    -    responsible AD.
    -
    -  * Changed the liaison tool From: address to .
    -
    -  * Always show the liaison submitted date on liaison pages
    -
    -  * Added testing of unidecode_name() and name_parts(), in order to not rely
    -    on random name generation to excercise all paths.
    -
    -  * Updated highcharts from v4.2.7 to v6.2.0, and added support for CSV export
    -    from charts.  Also tweaked the look of the highcharts context menu
    -    separators.
    -
    -  * Added handling for an EOF exception that can occur when using the
    -    django file-based cache.
    -
    - -- Henrik Levkowetz   20 Nov 2018 16:30:42 +0000
    -
    -
    -ietfdb (6.88.0) ietf; urgency=low
    -
    -  **IETF 103 code sprint**
    -
    -  This release contains datatracker bug fixes and enhancements from the
    -  IETF-103 Code Sprint.  Again, this looks to be a sprint with an extremely
    -  large number of contributions.  Thanks to everyone who contributed!
    -
    -  Notable improvements:
    -
    -  Reviewer statistics are now more readable.  Reasons for reviewer
    -  unavailability is now only shown to authorised persons.  It is now possible
    -  to set a mail alias for review group secretaries, instead of having
    -  individual mails sent on updates.  AD notifications about reviews can now be
    -  controlled better and the default settings are better tuned.  Import of
    -  review text from mailing lists should now handle zero search results better.
    -
    -  Logging in is now possible using all active email addresses registered for
    -  an account, not only the primary login name.
    -
    -  Inaccurate, misspelled or misleading text has been fixed for a number of
    -  web pages and email messages.
    -
    -  Additionally, a large number of individual bugs has been squashed:
    -
    -  * Merged in [15722] from rcross@amsl.com:
    -    Added a link to meeting/../agendas/list.  Fixes #2627.
    -
    -  * Merged in [15720] from rjsparks@nostrum.com:
    -    Invalidate the get_state_slug cache when the get_state cache is
    -    invalidated. Fixes #2630.
    -
    -  * Merged in [15719] from rcross@amsl.com:
    -    Removed resources field from secr/meetings/../rooms.  Tweaked CSS for this
    -    page to eliminate horizontal scrolling.  Includes new base templates to
    -    facilitate transition to bootstrap.  Fixes #2628.
    -
    -  * Merged in [15717] from rcross@amsl.com:
    -    Reworked the buttons on secr/meetings. Fixes #2629.
    -
    -  * Merged in [15715] from rcross@amsl.com:
    -    Fixed the issue where new non-session location field value wasn't saved.
    -    Fixes #2625.
    -
    -  * Merged in [15709] from rjsparks@nostrum.com:
    -    Show counts on the active groups page and on the active WGs page. Fixes
    -    #2060.
    -
    -  * Updated the script to fix ambiguous time stamps so that it will fix
    -    ambiguous time fields for additional types of objects.
    -
    -  * Added a test for various name part combinations, and fixed a couple of
    -    issues with utils.name.name_parts(), making the test coverage percentages
    -    more stable.
    -
    -  * Added exclusion of cancelled session when doing audio file import.  This
    -    fixes an server 500 error when a cancelled session is shown in the same
    -    room and time slot as an actual session.
    -
    -  * Corrected the rendering of non-ASCII email names in nomcom templates.
    -
    -  * Merged in [15708] and [15730] from housley@vigilsec.com:
    -    Added a mail alias for all review team secretaries. Fixes #2139.  Use
    -    the alias if there is one for email about review request changes.  Added
    -    a test for the review team secretary alias functionality.
    -
    -  * Added a test that checks the mailarch search failure return, and tweaks
    -    the no-result return handling.
    -
    -  * Merged in [15706] from kivinen@iki.fi:
    -    Added easier to detect error message when search returns 0 results.
    -    This currently parses HTML result from the mail archive system, but when we
    -    get proper API to mail archive system it should be changed to do that
    -    instead. Fixes #2126.
    -
    -  * Merged in [15705] from johnl@taugh.com:
    -    Trivial fix for trivial issue #1907, warn user that added addresses
    -    will be confirmed.
    -
    -  * Merged in [15702] from johnl@taugh.com:
    -    Allow email as well as username when logging in.
    -
    -  * Merged in [15701] from kivinen@iki.fi:
    -    Changed format of the reviewer statistics in lists. Fixes #2131.
    -
    -  * Merged in [15683] and [15699] from housley@vigilsec.com:
    -    Do not show reasons for review team member unavailability outside the team.
    -    Fixes #2614.
    -
    -  * Added normalisation of the email addresses returned by
    -    ietf.nomcom.utils.parse_email, in order to not treat feedback from the same
    -    person as coming from different sources due to email name+address
    -    variations.
    -
    -  * Merged in [15698] from rjsparks@nostrum.com:
    -    Notify the RFC Editor when an RFC Editor note is changed after a draft
    -    has been approved. Fixes #2440.
    -
    -  * Merged in [15696] from peter@akayla.com:
    -    Minor text fixes.  Fixes issue #2621.
    -
    -  * Merged in [15694] from rjsparks@nostrum.com:
    -    Clearly label cancelled sessions on the week-view on the agenda page.
    -    Fixes #2619.
    -
    -  * Merged in [15693] from mahoney@nostrum.com:
    -    Fixed link to webex request page. Fixes issue #2564.
    -
    -  * Added a guard against getting the attribute of None in
    -    api_set_session_video_url().  Fixes a server 500 for some hackathon
    -    sessions.
    -
    -  * Provided a tool-tip with full time information for the document history
    -    dates.
    -
    -  * Merged in [15689] from mahoney@nostrum.com:
    -    It need not be an error to find duplicate person records, such as for
    -    instance for 'Matt Larson'.  Took out the statement in the profile template
    -    that this is an error.  Fixes issue #2616.
    -
    -  * Factored out some parts of the meeting/agenda.html into separate files,
    -    and added session buttons for 'other' session (e.g., hotrfc)
    -
    -  * Merged in [15688] from mahoney@nostrum.com:
    -    Fixed bad variable in title of requests.html. Fixes issue #2608.
    -
    -  * Don't show slides in main IETF meeting agenda for sessions with their
    -    own session agenda.
    -
    -  * Merged in [15684] from rjsparks@nostrum.com:
    -    Removed the field and widget that made editing document states easier
    -    on the document admin page since they do not survive validation failure of
    -    other fields on the form. Excluded states from the model form since the
    -    default states widget is almost impossible to use without producing bad
    -    data. If states need to be edited through the admin, it will, for now, need
    -    to be done gruelingly through the admin form for State. Fixes #2524.
    -
    -  * Merged in [15681] from rjsparks@nostrum.com:
    -    Only do state-parent cross-validation on the group edit form when both
    -    fields are used on the form. (Many invocations of the form suppress all but
    -    one field.) Fixes #2597.
    -
    -  * Merged in [15679] from mahoney@nostrum.com:
    -    Verb tense used in Ballot Issued emails now matches whether the LC end
    -    date is in the past or future. Fixes issue #2482.
    -
    -  * Merged in [15677] from rjsparks@nostrum.com:
    -    Tune the recipients when a teams settings or a reviewer indicate ADs
    -    should be notified about a review.
    -
    -  * Merged in [15676] from rjsparks@nostrum.com:
    -    Let a reviewer indicate that an AD should give this review early
    -    attention. Fixes #2553.
    -
    -  * Merged in [15675] from rjsparks@nostrum.com:
    -    Let review teams opt in to poking a responsible AD when unhappy reviews
    -    are submitted. Fixes #2544.
    -
    - -- Henrik Levkowetz   13 Nov 2018 09:47:39 +0000
    -
    -
    -ietfdb (6.87.3) ietf; urgency=low
    -
    -  This release contains one single fix, to give stable test results for
    -  the test_edit_timeslot_type() test.
    -
    -  * Merged in [15648] from rjsparks@nostrum.com:
    -    Use only ietf meetings for testing editing timeslots.
    -
    - -- Henrik Levkowetz   02 Nov 2018 02:51:32 +0000
    -
    -
    -ietfdb (6.87.2) ietf; urgency=medium
    -
    -  This is a small bugfix release to clean the slate before the code sprint.
    -  From the commit log:
    -
    -  * Merged in [15613] from rjsparks@nostrum.com:
    -    Make having a trailing slash optional for doc/html/docname. Fixes #2247.
    -
    -  * Merged in [15603] from rjsparks@nostrum.com:
    -    Changed some text and button labels to make the workflow for commiting
    -    group schedules more self-documenting.
    -
    -  * Clarified that the document search author field accepts also author
    -    affiliation as a search term.
    -
    -  * Removed microscopic photos from nomcom feedback page buttons.  Few
    -    browsers render them correctly with badges, and they are too small to
    -    provide meaningful information.
    -
    -  * Changed the generation of the 1id-index.txt file to not list individual
    -    drafts in states Candidate for WG Adoption and Call for WG Adoption Issued
    -    as group drafts.
    -
    - -- Henrik Levkowetz   31 Oct 2018 16:13:17 +0000
    -
    -
    -ietfdb (6.87.1) ietf; urgency=medium
    -
    -  This is a bugfix release, whith the following changes:
    -
    -  * Merged in [15601] from rjsparks@nostrum.com:
    -    Corrected some DocTypeName entries' prefix value. Made the search code
    -    more robust against DocTypeName objects that have an empty prefix value.
    -    Fixes #2599.
    -
    -  * Merged in [15596] from rjsparks@nostrum.com:
    -    Improved coverage for several tests.
    -
    -  * Merged in [15595] from rjsparks@nostrum.com:
    -    Converted stats, submit, sync. and utils/test to use factories.
    -    Excluded utils/test_data from coverage checks.
    -
    -  * Fixed some incorrect topic audience id slugs, to make the NomCom topic
    -    availability filtering work correctly.
    -
    -  * Updated the nomcom reference from 3777 to 7437 on the Person profile edit
    -    page.
    -
    -  * Merged in [15580] from rjsparks@nostrum.com:
    -    Better constrain a liaison test object to match the preconditions for
    -    the test.
    -
    -  * Tweaked the mail sending routines' handling of the copy flag.
    -
    -  * Changed the mail sending routines so it's possible to not copy the
    -    debug archive on some messages.
    -
    -  * Added 'os.chdir()' to virtualenv_activate to place us correctly to pick
    -    up patch files.
    -
    -  * Added Message-ID to log lines for sent email messages.
    -
    - -- Henrik Levkowetz   22 Oct 2018 16:17:25 +0000
    -
    -
    -ietfdb (6.87.0) ietf; urgency=medium
    -
    -  **Nomcom, agenda, and test improvements, new API for secretariat use**
    -
    -  This is a small feature release, with the following changes:
    -
    -  * Updated the nomcom admin pages for Feedback to make it possible to see
    -    and sort on the Nominees field.
    -
    -  * Merged in [15551] from rjsparks@nostrum.com:
    -    Used factories instead of make_test_data for malinglists,
    -    mailtrigger, message, person, secr/announcement, and secr/areas tests.
    -
    -  * Merged in [15550] from rjsparks@nostrum.com:
    -    Added meeting.agenda_info_note.
    -
    -  * Merged in [15549] from rjsparks@nostrum.com:
    -    Renamed meeting.agenda_note to meeting.agenda_warning_note.
    -
    -  * Changed the 'View' button on the NomCom email classification page to
    -    render the email body within 
    , and to not offer classification
    -    choices, as this encourages a slow workflow, and also seems to have been
    -    broken for some time.
    -
    -  * Bleach 3.0.0 has a bug that can result in exceptions for some inputs.
    -    Bug report filed.  Disallowed that version in requirements.txt
    -
    -  * Turned the nomcom chair dropdown menu item 'Classify pending feedback'
    -    into a tab with a mail count badge.
    -
    -  * Merged in [15263], [15264], [15265], [15287] from rcross@amsl.com:
    -    Added new custom API endpoints for export of person data, restricted
    -    to secretariat use.  Added a test for the new custom API.
    -
    - -- Henrik Levkowetz   15 Oct 2018 05:46:07 +0000
    -
    -
    -ietfdb (6.86.0) ietf; urgency=medium
    -
    -  **NomCom tool improvements**
    -
    -  This is a feature release with only small tweaks, mostly related to the
    -  NomCom tools, but there are also some IESG page, test suite, account, and
    -  utility script improvements,
    -
    -  * Added pagination to the nomcom pending-feedback page, to reduce load
    -    time.
    -
    -  * Changed the default sort for nomcom.models.Nominees to be
    -    'person__name'.
    -
    -  * Merged in [15523] from rjsparks@nostrum.com:
    -    Converted the liaisons tests to use factories.
    -
    -  * Added a '--reminder' switch to the GDPR request mailer, for repeat
    -    notifications.
    -
    -  * Merged in [15522] from rcross@amsl.com:
    -    Made email address read-only in rolodex edit form.  Fixes #2602.
    -
    -  * Prevent issues for logins without Person records by not letting
    -    Person-less users through login.
    -
    -  * Added an send_email field to BallotPostitionDocEvent to reflect whether
    -    the 'Send email' button was used to save the ballot position.  Added icons
    -    on documents' IESG evaluation record to reflect this.
    -
    -  * Adjusted the test_submit_nonascii_name() to match the output from
    -    idnits 2.16.0, which emits warnings rather than errors for nonascii content.
    -
    -  * Built out test_edit_nomcom_view() to also test adding and removing
    -    reminder dates.
    -
    -  * Added a form clean() for the reminder dates of the nomcom edit form, to
    -    make something appropriate out of edits that remove reminder dates, rather
    -    than clicking 'delete'.  This fixes a potential exception, when a blank
    -    date cannot be saved, and also does what the user expected (deletes a
    -    blanked date).
    -
    -  * The nomcom send_reminders command was not being run daily.  Fixed that.
    -
    -  * Fixed a typo in the GDPR consent request email template.
    -
    -  * Merged in [15492] from rjsparks@nostrum.com:
    -    Use factories for ipr tests.
    -
    - -- Henrik Levkowetz   08 Oct 2018 13:23:53 +0000
    -
    -
    -ietfdb (6.85.1) ietf; urgency=medium
    -
    -  **Email address managment and NomCom tool improvements**
    -
    -  This release brings no new user features, but provides a script that
    -  will read email delivery-status messages and disable addresses with
    -  permanent delivery failures.  There are also some other tweaks:
    -
    -  * Added a management command to deactivate email addresses found in
    -    delivery-status emails or given on the command-line.
    -
    -  * Added column sorting to the private nomcom nominee table.
    -
    -  * Tweaked the management command to send GDPR consent request emails, to
    -    correctly perform exclusion based on the time of previous consent request
    -    emails.
    -
    -  * Added a PersonEvent type for email address deactivation.
    -
    -  * Tweaked PersonAdmin to show name_from_draft after the name field.
    -
    -  * Added a clarification to the GDPR consent request email text after
    -    receiving about 100 reply emails in response to the first email round that
    -    contained what seems to be automatic responses indicating 'Yes, I
    -    confirm'.  All those were from gmail addresses.  The consent request
    -    now clearly says that people need to log in to their account in order
    -    to indicate consent.
    -
    - -- Henrik Levkowetz   30 Sep 2018 14:47:48 +0000
    -
    -
    -ietfdb (6.85.0) ietf; urgency=medium
    -
    -  **Improvements in NomCom pages and personal information handling**
    -
    -  This is a combined feature and bugfix release, with fixes related
    -  to User and Person record handling and merging, discovered when people
    -  responded to the GDPR consent request emails, and enhancements in
    -  the NomCom tools:
    -
    -  * Added username validation to the change username form, to avoid
    -    database key collision exceptions.  Instead give a message to contact the
    -    secretariat to resolve the situation.
    -
    -  * Fixed a problem where an exception could be raised when reporting an
    -    exception during draft XML processing to the user.
    -
    -  * Added 'consent' to the fields handled when merging person records.
    -
    -  * Merged in [15486] from rjsparks@nostrum.com:
    -    Allow a nomcom to show nominees that have accepted nomination before
    -    feedback is open. Fixes #2598.
    -
    -  * Tweaked the consent request email text to point out an alternative to
    -    follow email links.
    -
    -  * Merged in [15450] from rcross@amsl.com:
    -    Change content-type of ajax_get_liaison_info to application/json.
    -
    -  * Tweaked the text of the personal information help page to remove some
    -    ambiguity.
    -
    -  * A string.Template with a unicode template must be given unicode
    -    dictionary values if the values contain unicode codepoints.  Providing
    -    values that are objects with __str__() methods, or utf-8 encoded strings
    -    doesn't work.  Fixes an issue with nomcom template interpolation for
    -    nominees with non-ascii names.
    -
    -  * Tweaked the GDPR reminder command to avoid bounces to RT and copies to
    -    gmail.
    -
    -  * Changed the sort order of nominees on the private nomcom index page to be
    -    according to name (instead of email address).
    -
    -  * Fixed an issue where a user record without matching person record will
    -    cause an exception.
    -
    -  * Removed the 2.5 hour session length choice for IETF 103, since there
    -    will be no Friday sessions that meeting.
    -
    -  * Updated the personal information notice email text based on advice from
    -    councel (Tom Zych).
    -
    - -- Henrik Levkowetz   28 Sep 2018 23:50:01 +0000
    -
    -
    -ietfdb (6.84.0) ietf; urgency=medium
    -
    -  **GDPR updates part 4**
    -
    -  This is the last in a series of GDPR-related releases.  It introduces two
    -  management commands; one to email out reminders to all users that still have
    -  not provided consent for storage of the personal information for which the
    -  GDPR requires consent, and the other to delete all information for which
    -  we don't have required consent.
    -
    -  The two new management commands are:
    -
    -    - ietf/manage.py send_gdpr_consent_request
    -    - ietf/manage.py delete_data_lacking_consent
    -
    -  Both of these provide descriptions of the commands and switches when given
    -  a --help switch, to assist the secretariat in using these.
    -
    -  There are also a few bugfixes and features not related to the GDPR, see
    -  below:
    -
    -  * Merged in the latest GDPR changes.  This refines the handling of the
    -    consent checkbox on the account page; refines the Consent Needed warning
    -    given on login if consent is needed; tweaks several models to set the
    -    on_deletion fields for FK to User and Person appropriately; adds a
    -    Person.needs_consent() method to capture the logic of which fields require
    -    consent; refines the Person.plain_name() method and the user.log.log()
    -    function; and adds 2 management commands to send out consent requests and
    -    delete non-consent information, respectively.
    -
    -  * Refined utils.log.log() to flush stdout before logging if we're writing
    -    log messages to stderr.
    -
    -  * Moved document methods rfc_number() and rfcnum() to the abstract parent
    -    class to have them available also for historical document records.  Should
    -    fix the recent server 500 on /doc/draft-ietf-aaa-diameter/17/.
    -
    -  * Merged in [15448] from rjsparks@nostrum.com:
    -    Add CORS headers for the api and views that serve json. Fixes #2546,
    -    #2551, and #2552.
    -
    -  * Added a bit of javascript and styling to make it possible to use URL
    -    fragment identifiers to link to position-specific tabs on the nomocom
    -    requirements and questionnaire pages.
    -
    -  * Merged in [15446] from rjsparks@nostrum.com:
    -    Use unversioned links in ics agendas. Partially fixes #2542.
    -
    -  * Merged in [15444] from rjsparks@nostrum.com:
    -    Review assignment email includes a link to the review request that
    -    ensures the reviewer is logged in. Fixes #2543.
    -
    -  * Added a 'Mailing list discussion' link to the 'Additional URLs' section
    -    of the status page for drafts with doc.group and doc.group.list_archive set.
    -
    -  * Merged in [15441] from peter@akayla.com:
    -    Fixed 2 trivial spelling errors in NomCom tools.  Fixes issue #2569.
    -
    -  * Fixed a problem with fetching the mysql release signing key from a gpg
    -    keyserver.
    -
    -  * Added more hint information when patch actions in ietf/checks.py fail.
    -
    -  * Rewrote docker/run to work around a missing switch in BSD 'xargs'.
    -
    -  * Merged in [15435] from rjsparks@nostrum.com:
    -    Include area groups in the request for minutes. Do not include sessions
    -    that have been canceled.  Fixes #2568.
    -
    - -- Henrik Levkowetz   18 Sep 2018 14:07:27 +0000
    -
    -
    -ietfdb (6.83.1) ietf; urgency=medium
    -
    -  This is a small bugfix and cleanup release:
    -
    -  * Replaced some cases of using person.plain_name when linking to a person's
    -    profile with person.name, as the link using plain_name can fail.
    -
    -  * Generalized the log.assertion() function a bit to be able to provide
    -    more information on assertion failure.
    -
    -  * Merged in [15423] from rcross@amsl.com:
    -    Removed WG milestone management from secretariat groups app.
    -
    -  * Removed youtube video url import, which is not needed any more given the
    -    /api/meeting/session/video/url API endpoint.  This also prevents duplicate
    -    video URLs.
    -
    -  * Changed the menu listing of review dirs and their display on the
    -    Directorates page back to what it was before the 'reviews' group type was
    -    split out.  Added a 'Reviews' column to the Directoratges page.
    -
    -  * Added a guard against comparing email origin with username of None.
    -
    -  * Added a None guard for the person merge last_login date comparison.
    -    Fixes issue #2562
    -
    - -- Henrik Levkowetz   14 Aug 2018 12:31:32 +0000
    -
    -
    -ietfdb (6.83.0) ietf; urgency=medium
    -
    -  **IETF 102 code sprint**
    -
    -  This release contains datatracker bugfixes and enhancements from the
    -  IETF-102 Code Sprint.  While we've had many more code sprint participants
    -  before, I don't believe we've ever had this number of contributions from an
    -  IETF week :-)
    -
    -  The release contains a number of different enhancements to the document
    -  review pages (thanks Tero, Peter); refactoring of a number of tests to use
    -  test object factories instead of indiscriminate creation of a large number
    -  of often unused test objects, thus speeding up the tests (thanks to Robert);
    -  fixes to template language and anchors (thanks to Jean); a fix for annoying
    -  issue with a liaison form (thanks, Ben); a number of updates to secretariat
    -  pages and proceedings (thanks, Ryan); a fix for a long-standing issue with
    -  the document search forms behaviour when no search string has been given
    -  (thanks, Jim); and a test to expose bugs in downref listing in last call
    -  announcements (thanks, Russ).
    -
    -  From the commit log:
    -
    -  * Show links to personal profile pages from group photo pages also when no
    -    photo is available -- the profile pages now contains more than just the
    -    photo.
    -
    -  * Merged in [15399] from rjsparks@nostrum.com:
    -    Use factories for ietf.ietfauth.tests.
    -
    -  * Merged in [15395] from rjsparks@nostrum.com:
    -    Allow the IRTF stream to set shepherds and shepherd writeups. Fixes #1993.
    -
    -  * Merged in [15387] from rjsparks@nostrum.com:
    -    Use factories for ietf.iesg.tests.
    -
    -  * Merged in [15380] from rjsparks@nostrum.com:
    -    Use factories for ietf.idindex.tests.
    -
    -  * Merged in [15370] from rjsparks@nostrum.com:
    -    Use factories for ietf.group.tests_review.
    -
    -  * Merged in [15358] from kivinen@iki.fi:
    -    Fixed the review tablesorter issue by adding display:none character in the
    -    front of the date. Tablesorter looks first characters and picks the parser
    -    based on that, meaning that if the text starts with number, it will try to
    -    parse everything in column as numbers, and if there is anything that is
    -    not numebr it will fail, and only sorts the column once. This is bit ugly
    -    but I do not think we want to add yet another jquery meta tool. Fixes
    -    #2089, and #2151.
    -
    -  * Added a missing migration (for review unavailable-period reason)
    -
    -  * Merged in [15357] from mahoney@nostrum.com:
    -    Added anchors for working group rows. Still needs some work since the
    -    anchor ends up being under the menu bar. Partially addresses issue #1481.
    -
    -  * Merged in [15356] from ben@nostrum.com:
    -    Changed newlines to commas in to contacts for new liaison email
    -    notification. Fixes issue 2525.
    -
    -  * Merged in [15355] from rjsparks@nostrum.com:
    -    Used factories for ietf.group.tests_info.
    -
    -  * Tweaked a test to prevent failures when looking for a specific string
    -    in line-wrapped text.
    -
    -  * Added a tiny utility function unwrap() to unwrap wrapped text for
    -    matching expected strings in tests.
    -
    -  * Merged in [15354] from kivinen@iki.fi:
    -    Added default to review completion draft version number. If the reviewer
    -    is filling in the review form himself the default will be the latest
    -    version of the draft. If it is someone else filling in the review
    -    then the version number is the latest version at the point when review
    -    was assigned (i.e., it assumes reviewer did review on version he was
    -    requested to and then document authors might have updated the document).
    -    Also mark the document versions that are earlier than the review request
    -    date with red background and those which are newer with green background.
    -    Fixes #2125.
    -
    -  * Merged in [15353] from peter@akayla.com:
    -    Add a sidebar to display feedback section names and simplify navigation.
    -    Could use some visual improvements but otherwise works.  Fixes #2431.
    -
    -  * Merged in [15351] from rcross@amsl.com:
    -    Update secr/drafts/tests_views to align with view logic.  Fixes #2480.
    -
    -  * Merged in [15349] from kivinen@iki.fi:
    -    Removed the requirement for review_content field to be mandatory when
    -    using \'link\' method. This partially addresses #2520.
    -
    -  * Merged in [15347] from kivinen@iki.fi:
    -    Add review request date to the top. Add tooltips for drafts versions
    -    providing the date they were sumbmitted. Fixes #2218.
    -
    -  * Limited the document name for uploaded slides to use 128 slugified
    -    characters from the slideset title as part of the name.  Fixes a possible
    -    server 500 issue.
    -
    -  * Merged in [15345] from rcross@amsl.com:
    -    Remove duplicate functionality in secr/drafts.  Fixes #2540.
    -
    -  * Merged in [15344] from mahoney@nostrum.com:
    -    email confirming interim meeting request now says 'the Area Director of
    -    the ' instead of ' Area Director'. Fixes issue #2522.
    -
    -  * Added additional checks to the meeting_session_video_url api test.
    -
    -  * Fixed api_set_session_video_url() to update the external video url if
    -    given a new value.
    -
    -  * Merged in [15342] from peter@akayla.com:
    -    Added optional reviewer unavailability reason support.  Fixes issue #2146.
    -
    -  * Merged in [15335] from rcross@amsl.com:
    -    Fixed the ordering of meeting select in secr/meetings.  Fixes #2539.
    -
    -  * Adjusted some timezones in test code to use permitted time zones after
    -    the previous changes in listed timezones.  Added a migration for the
    -    changed timezone list.
    -
    -  * Fixed display of xml2rfc exceptions when processing draft submission in
    -    xml form.
    -
    -  * Modified the list of timezones available when setting a meeting
    -    timezone so as to not show timezones that are links.  (Also edited the 102
    -    meeting timezone in the database to avoid this).  Fixes issues #2531 and
    -    #2534.
    -
    -  * Merged in [15338] from fenton@bluepopcorn.net:
    -    Adds _required_ parameter to search widget. Fixes #1832.
    -
    -  * Merged in [15331] from housley@vigilsec.com:
    -    Add test for downref in Last Call announcement
    -
    -  * Merged in [15329] from rcross@amsl.com:
    -    Add important dates link to proceedings.  Fixes #2538.
    -
    -  * Merged in [15328] from rcross@amsl.com:
    -    Give secretariat the ability to cancel non-working group sessions.
    -    Fixes #2537.
    -
    -  * Updated a test to give predictable results (no future meeting dates)
    -    for commit [15361].
    -
    -  * Fixed an issue where /meeting/ showed the materials page of an earlier
    -    meeting, rather than the current.
    -
    -  * Merged in [15327] from mahoney@nostrum.com:
    -    Clarified description in the search form, removing the etc since you
    -    can't search on author names. Fixes issue #1159.
    -
    -  * Merged in [15321] from rjsparks@nostrum.com:
    -    Converted ietf.group.tests to factories.
    -
    -  * Merged in [15320] from rjsparks@nostrum.com:
    -    The cookie tests were all calling make_test_data, but not using anything
    -    it created. Removed the calls.
    -
    -  * Merged in [15314] from rjsparks@nostrum.com:
    -    Converted the community app tests to use factories.
    -
    - -- Henrik Levkowetz   25 Jul 2018 19:08:41 +0000
    -
    -
    -ietfdb (6.82.0) ietf; urgency=medium
    -
    -  **Group features moved from code to database**
    -
    -  This release replaces the code defined group features with features held
    -  in a database table:
    -
    -  - Added a GroupFeatures model to the group models, and removed the old
    -    features.py
    -  - Added a agenda type for future use in showing different group types on
    -    different agendas.
    -  - Renamed the group feature has_materials to has_nonsession_materials.
    -  - Added API resources and admin support for the new tables.
    -  - Added a Directorate (with reviews) group type as complement to
    -    Directorate, to distinguish between directorates with and without
    -    reviews.
    -  - Adjusted tests as needed.
    -  - Updated the fixtures, and fixed the generate_fixtures script to include
    -    the new AgendaTypeName objects.
    -
    -  There still exists about 70 instances of code comparing the group type
    -  with a list of types; most of these should probably be replaced with new
    -  features, instead, to make it possible to add new group types through the
    -  database table, rather than having to edit the code.  That was the purpose
    -  of this refactoring from the start, but the presence of this large number
    -  of comparisons of group type against lists of types defeats the goal until
    -  we add appropriate features and replace the group type list comparisons.
    -
    -  Additional changes:
    -
    -  * Added exception logging for ietf/bin/rfc-editor-queue-updates.  Changed
    -    the logging in the ietf/bin/rfc-editor-* scripts to use
    -    ietf.utils.log.log().  Reordered some imports.
    -
    -  * Replaced the use of a deprecated Django field attribute with the
    -    sanctioned replacement.
    -
    -  * Merged in [15282] from housley@vigilsec.com:
    -    Set reply-to for I-D Announcements that include a CC to a mail list.
    -    Fixes #2530.
    -
    -  * Added support for patent 'kind codes' as part of patent numbers.
    -
    -  * Tweaked the rsync arguments for IANA YANG models.
    -
    -  * Upped the permitted number of search results for the /stream/ise/ page
    -    (and friends) from 200 to 1000.  Fixes issue #2527.
    -
    - -- Henrik Levkowetz   14 Jul 2018 16:47:58 +0000
    -
    -
    -ietfdb (6.81.3) ietf; urgency=medium
    -
    -  This is a bugfix release to clear the board for the final GDPR release.
    -  From the commit log:
    -
    -  * Merged in [15266] from rcross@amsl.com:
    -    Updated the blue sheet template.  Replaced start time / end time with date.
    -
    -  * Merged in [15267] from rcross@amsl.com:
    -    Fixed an issue with a decorator on utils.html.remove_tags().
    -
    -  * Tweaked the 'Related documents' part of the Document admin page to more
    -    intuitively show the relationships.
    -
    -  * Tweaked unidecode_name() to avoid double-quotes in the ascii string.
    -
    -  * Merged in [15248] from rjsparks@nostrum.com:
    -    Improvements to tests after converting to factories suggested by studying
    -    coverage_changes.
    -
    -  * Merged in [15247] from rjsparks@nostrum.com:
    -    Tweaked the color palette for the agenda editor.
    -
    -  * Removed two instances of log.assertion(); we have enough data on these
    -    now.
    -
    -  * Changed an attribute guard to work with a reverse relationship attribute
    -    (using hasattr()).
    -
    -  * Fixed a broken mailto link on the account edit page.
    -
    -  * Merged in [15238] from rjsparks@nostrum.com:
    -    Use factories for ietf.doc.tests_status_change. Repair previous commit
    -    errors in ietf.doc.tests_material.
    -
    -  * Merged in [15228] from rjsparks@nostrum.com:
    -    Use factories for ietf.doc.tests_downref.
    -
    -  * Merged in [15227] from rjsparks@nostrum.com:
    -    Use factories for ietf.doc.tests_conflict_review.
    -
    -  * Merged in [15226] from rjsparks@nostrum.com:
    -    Use factories for ietf.doc.tests_charter.
    -
    -  * Tweaked unidecode_name() to not produce single-letter ascii surnames
    -    from non-ascii codepoints.  The unidecode transliteration is in any case
    -    somewhat arbitrary, and in most cases a real person will tweak the ascii
    -    name of his account.  When running tests, however, this tweak avoids some
    -    false test failures.  And no, it's not simple to fix the draft
    -    author-extraction heuristics to deal well with single-letter surnames.
    -
    -  * Added a guard against trying to access attributes of a None object.
    -
    -  * Merged in [15225] from rjsparks@nostrum.com:
    -    Use factories for ietf.doc.tests_draft.
    -
    - -- Henrik Levkowetz   20 Jun 2018 21:47:42 +0000
    -
    -
    -ietfdb (6.81.2) ietf; urgency=medium
    -
    -  **GDPR updates part 3**
    -
    -  This is the third in a small series of releases to address compliance with
    -  the European GDPR (General Data Protection Regulation).  It provides
    -  serialized (machine-readable) access to information associated with a user's
    -  account, adds photo and some links to the user account page, and improves
    -  the annotation of which information is consent-based on the account page.
    -  It adds a warning on login if consent is missing for some personal
    -  information, and requests the user to give consent.  It also brings in
    -  refactoring of a number of test cases to use test object factories, giving
    -  improved test performance.
    -
    -  * Merged in [15219] from rjsparks@nostrum.com:
    -    Use factories for ietf.doc.tests_ballots. Fixed a long-hidden bug in
    -    test_edit_verify_permissions where non-existing usernames were used and
    -    passed the tests accidently. Added list_email to the GroupFactory.
    -
    -  * Merged in [15217], [15205], [15204], [15203], [15202], and [15201] from
    -    rjsparks@nostrum.com:
    -    Converted ietf.doc.tests to use object Factories. Created draft type
    -    specific factories.
    -
    -  * Fixed the logic of gathering which personal information needs consent
    -    confirmation in the code that requests consent on login.
    -
    -  * Added a request to give consent for non-LI information on user login.
    -    Addresses issue #2505.
    -
    -  * Fixed a bug in a form clean method.
    -
    -  * Added a missing related object to the person information export.
    -    Related to issue #2501.
    -
    -  * Tweaked the language on the user account page.  Related to issue #2501.
    -
    -  * Added a recursive object to JSON serializer and a view which will let
    -    any logged-in user download a JSON serialized copy of the datatracker
    -    information related to his person record.  Added information about this,
    -    and a link, to the account page.  Related to issue #2501.
    -
    -  * Added a requirement of oauth2client, needed by google-api-python-client
    -    but not always automatically pulled in.
    -
    -  * Added a link to the overall IETF Statement concerning personal data to
    -    the datatracker personal-information page.
    -
    -  * Added some text about BOF requests to the important-dates page for the
    -    session request opens dates, on request from the IESG.
    -
    - -- Henrik Levkowetz   08 Jun 2018 16:05:15 +0000
    -
    -
    -ietfdb (6.81.1) ietf; urgency=medium
    -
    -  **GDPR updates part 2**
    -
    -  This is the second in a small series of releases to address compliance
    -  with the European GDPR (General Data Protection Regulation).
    -
    -  This release provides two data migrations to polulate email address origin
    -  and other trace information, to make it possible to differentiate between
    -  that personal information which is to be treated as Consent-based, that
    -  which falls under Legitimate Interest.
    -
    - -- Henrik Levkowetz   29 May 2018 14:38:09 +0000
    -
    -
    -ietfdb (6.81.0) ietf; urgency=medium
    -
    -  **GDPR updates part 1**
    -
    -  This is the first in a small series of releases to address compliance with
    -  with the European GDPR (General Data Protection Regulation).
    -
    -  This release provides necessary GUI and internal changes, but lacks some
    -  admin utilities, and also data migration routines which takes some time to
    -  run, and therefore will be packaged in a separate release and applied
    -  separately.
    -
    -  From the commit log:
    -
    -  * Updated the personal information page with reviewed text from legal
    -    counsel.  Fixes issue #2503.
    -
    -  * Removed the Person.address field, which is not being used.  This was a
    -    legacy from the 2001 perl-based datatracker tables.  Fixes issue #2504.
    -
    -  * Added django-simple-history and replaced the old (and unused)
    -    PersonHistory class with a history=HistoricalRecords() field on Person.
    -    Added the needed migrations and changes to admin, resources, and settings.
    -    Related to issues #2505 and #2507.
    -
    -  * Added a new field name_from_draft to Person, to hold the name field
    -    equivalent as captured from drafts, in case name has been modified by the
    -    user and we're asked to remove that info under GDPR.  Added history for
    -    Email, and also an origin field to capture from where we got an email
    -    address (draft name, username, meeting registration, etc.)  Added a
    -    log.assertion() to Email.save() in order to ensure we don't create any
    -    email without setting origin.
    -
    -  * Added origin information to all places where we create email address
    -    entries.
    -
    -  * Removed all references to the removed Person.affiliation field.
    -
    -  * Added email origin information to some function calls that needed it.
    -
    -  * Overwrite earlier email origin when we've picked up the address from a
    -    submission.
    -
    -  * Added a consent field to the Person model.
    -
    -  * Disallow profile changes without consent given.  Together with previous
    -    commits this fixes issues #2505 and #2507.
    -
    -  * Added another category of personal information to the
    -    personal-information page, after review of personal information in the
    -    code.  Completes issue #2501.
    -
    -  * Added a dagger at the end of some fields in the account data forms to
    -    signify consent-based fields, and made the consent field required.
    -
    -  * Simplified the email.origin assignment code for outgoing liaisons.
    -
    -  * Fixed a long-standing bug in the liaison.name() code.
    -
    -  * Added assingment of the person.name_from_draft field on draft
    -    submission.
    -
    -
    -  * Updated the edit_profile template with information about consent-based
    -    fields.  Fixes issue #2502.
    -
    - -- Henrik Levkowetz   29 May 2018 11:10:28 +0000
    -
    -ietfdb (6.80.1) ietf; urgency=medium
    -
    -  This is a bugfix release which also clears the slate for the upcoming
    -  GDPR-related release.  From the commit log:
    -
    -  * Added a meeting helper function update_important_dates(), and a management
    -    command update_important_dates to update the important dates for a meeting
    -    if the offsets in the MeetingDateName table has been changed.
    -
    -  * Added some text to the important dates page for 'opensched', on request
    -    from the IESG via Stephanie.
    -
    -  * Merged in [15153] from rjsparks@nostrum.com:
    -    Changed how the mail utilities handle lists in their override and extra
    -    arguments. Added a test for send_mail_preformatted exercising override and
    -    extra.
    -
    -  * Merged in [15152] from rjsparks@nostrum.com:
    -    Send email when the responsible AD for a conflict review is changed.
    -    Include the stream manager and stream steering group when the responsible
    -    AD changes or when the telechat date changes. Fixes #2497.
    -
    -  * Merged in [15151] from rjsparks@nostrum.com:
    -    Provide an email group button for WG and RG documents. Fixes #2512.
    -
    -  * Merged in [15145] from rjsparks@nostrum.com:
    -    Secretariat requested tweak to the request for minutes template.
    -
    -  * Updated the non-WG mailing list page to include advertised lists for
    -    closed WGs, on request from the secretariat.
    -
    - -- Henrik Levkowetz   24 May 2018 15:53:08 +0000
    -
    -
    -ietfdb (6.80.0) ietf; urgency=medium
    -
    -  This release fixes a number of bugs, and adds a view that makes it easier
    -  for the secretariat to generate the meeting minutes request emails.
    -
    -  * Merged in [15125] from rjsparks@nostrum.com:
    -    Added a view that generates the 'send minutes' email for the secretariat.
    -    Fixes #2493.
    -
    -  * Merged in [15124] from rjsparks@nostrum.com:
    -    Provide a __unicode__ member for ImportantDate.
    -
    -  * Merged in [15123] from rjsparks@nostrum.com:
    -    Use importantdates for material submisssion cutoff and revision if they
    -    exist. Fixes #2514.
    -
    -  * Merged in [15119] and [15120] from rjsparks@nostrum.com:
    -    Change stream state to replaced when an ISE, IAB, or IRTF document is
    -    replaced. Fixes #1963.
    -
    -  * Merged in [15114] from rjsparks@nostrum.com:
    -    Restored a test that was unintentionally removed. Removed unused
    -    templates.  Related to #2513.
    -
    -  * Merged in [15113] from rjsparks@nostrum.com:
    -    Removed the already disabled 'Make RFC' functionality from /secr/drafts.
    -    Fixes #2513.
    -
    -    Merged in [15112] from rjsparks@nostrum.com:
    -    Removed the 'announce' functionality from /secr/drafts. Addresses part of
    -    #2513.
    -
    -  * Merged in [15111] from rjsparks@nostrum.com:
    -    Removed the \'replaces\' functionality from /secr/drafts. Addresses
    -    part of #2513.
    -
    -  * Merged in [15110] from rjsparks@nostrum.com:
    -    Made settings.URL_REGEXPS.name non-greedy. Added a test to exercise the
    -    bug at #2429. Fixes #2429.
    -
    -  * Fixed an incorrect file name in a log message.
    -
    - -- Henrik Levkowetz   08 May 2018 06:37:38 +0000
    -
    -
    -ietfdb (6.79.1) ietf; urgency=medium
    -
    -  This bugfix release fixes problems with IESG ballot clearing, marks dead
    -  code as unreachable for later removal, adds new tests to increase test
    -  coverage, and fixes some issues with the test suite.  It also tweaks the
    -  roles which are permitted to request document publication, loosens the
    -  need for trailing slashes for some URLs, and adds a 'Recent drafts' page.
    -
    -  * Merged in [15084] from rjsparks@nostrum.com:
    -    Corrected the implementation of clear_ballot. Added a test for it.
    -    Restored functionality to ballot popups that was missing because a
    -    template variable was not passed in.
    -
    -  * Added a 'recent drafts' page, showing drafs submitted the last 7 days.
    -
    -  * Merged in [15083] from rjsparks@nostrum.com:
    -    Removed memoize from latest_event.
    -
    -  * Merged in [15080] from rjsparks@nostrum.com:
    -    Marked a couple of functions as unreachable.
    -
    -  * Reverted a change to UserFactory to avoid nepalese names.  The issue is
    -    bigger, and needs a different resulution.  Changed the url pattern that
    -    used \w to match names to instead use a more inclusive regex.
    -
    -  * Fixed a PyQuery property access that should have been a method call.
    -
    -  * Merged in [15076] from rjsparks@nostrum.com:
    -    Added a test for meeting/requests.
    -
    -  * Tweaked the IPR factory to be less likely to produce invalid patent
    -    info.
    -
    -  * Merged in [15075] from rjsparks@nostrum.com:
    -    Improved testing for docs_for_ad.
    -
    -  * Merged in [15074] from rjsparks@nostrum.com:
    -    Simplified docs_in_iesg_process. Added a test for it.
    -
    -  * Merged in [15073] from rjsparks@nostrum.com:
    -    Rearranged ietf/doc/urls.py to allow matching some special pages under
    -    /doc without a trailing slash. Adjusted several of those special URLs to
    -    work without the trailing slash.
    -
    -  * Added permission for a document shepherd to request publication.  Fixes
    -    issue #2509.
    -
    - -- Henrik Levkowetz   02 May 2018 10:42:26 +0000
    -
    -
    -ietfdb (6.79.0) ietf; urgency=medium
    -
    -  **IPR patent info field fixes, IESG position API enhancement, and more.**
    -
    -  This release enhances the IESG position API to send notification emails on
    -  changes, widens some IPR disclosure form fields to accept more text, and
    -  fixes a patent application number validation issue for IPR forms.  It adds
    -  some useful links and a new filtering option to the past meetings page,
    -  updates document stream status indications so as to be less prone to
    -  misinterpretation, addresses an issue with session request forms, and fixes
    -  an issue with I-D expirations and another related to ordering of documents
    -  on IESG agendas.
    -
    -  From the commit log:
    -
    -  * Set file upload permissions to 0644 to avoid problems with photo access.
    -
    -  * Increased the length of the patent title in IPR forms
    -
    -  * Fixed a typo.  Fixes issue #2500 which caused different document ordering
    -    on the IESG agenda compared with the IESG agenda documents page.
    -
    -  * Increased the size of the patent_notes form field, and tweaked the
    -    validate_patent_number validator to accept US application numbers
    -    containing a series number and forward slash.
    -
    -  * Merged in [15055] from rcross@amsl.com:
    -    Fixed an issue where user can make two session request submissions,
    -    corrupting data.  Also, ignore deleted session requests in edit view.
    -
    -  * Merged in [15047] from rcross@amsl.com:
    -    Reduced the get_meeting buffer to handle earlier shceduling requests date.
    -
    -  * Added origin indication to a group of stats templates to make it easier
    -    to find the origin of stats configurations.
    -
    -  * Added group links to the past meetings page, and also important dates
    -    links to IETF meetings with important-date pages.
    -
    -  * Added IETF to past meetings filter pane, in order to be able to filter
    -    out interims.
    -
    -  * Fixed a problem with the expire-ids code, and added logging to catch
    -    future problems.
    -
    -  * Modified the IESG position setting API to send email messages about
    -    positions set.
    -
    -  * Tweaked the wording of coverage_changes output.
    -
    -  * Fixed an issue where simplified sorting of DocEvents resulted in some
    -    ballot icons not being shown on the IESG agenda documents page.
    -
    -  * Changed incorrect use of 404 status code in api to 400.  Fixes issue
    -    #2498.
    -
    -  * Removed what could be a misleading 'RFC' from  the stream indication in
    -    document search results.
    -
    - -- Henrik Levkowetz   23 Apr 2018 12:28:57 +0000
    -
    -
    -ietfdb (6.78.0) ietf; urgency=medium
    -
    -  **Document search on IRTF state, performance improvements**
    -
    -  This release brings document search support for filtering on IRTF states,
    -  courtesy of Mat Ford, and further performance improvements to the IESG
    -  agenda document page and document search pages.  There are also improvements
    -  to the testing infrastructure, HTML cleanup, some added API documentation,
    -  and a number of bugfixes, as follows:
    -
    -  * Merged in [15012] from ford@isoc.org:
    -    Added IRTF State option to Additional Search Criteria pulldown.
    -
    -  * Included django.utils.html.escape() in the linkify() code, and removed
    -    it from various templates, to make sure escape is consistently applied
    -    before linkify.  Fixes issue #2492.
    -
    -  * Tweaked the error return from Document.get_document_content() to be
    -    more helpful during development.
    -
    -  * Fixed various html issues.
    -
    -  * Added more information about personal API keys to the API help page.
    -
    -  * Tweaked the test runner to more consistently force the test coverage
    -    tests to be run last.
    -
    -  * Changed calls to .related_that*() and .relations_that*() to use tuples
    -    rather than lists (a slight optimization).
    -
    -  * Silenced another deprecation warning from a library.
    -
    -  * Reduced the max number of results returned by document searches from 500
    -    to 200, for a better user experience.  A faster return and a search term
    -    tweak to pinpoint the desired search result is better than a long wait and
    -    then maybe having to tweak the search terms anyway.
    -
    -  * Use .assertIn(...) in tests instead of .assertTrue(x in y) as the
    -    failure messages are much more informative
    -
    -  * Changed the signature of some document methods to not accept lists (but
    -    still accept tuples) in order to make caching possible.  Added @memoize to
    -    some methods.
    -
    -  * Added another prefetch to search doc query results.
    -
    -  * Imposed sort order (most recent docs first) on document search results,
    -    in order to retain the most recent docs in case we have to chop the result
    -    list due too many hits.
    -
    -  * Tweaked the django_cprofile_middleware patch to use a query arg of
    -    psort instead of sort, to avoid conflict with app query args 'sort'.
    -
    -  * Added back the on-agenda calendar links to document lists, now in an
    -    implementation with better performance characteristics.
    -
    -  * Updated minimum requirements for bootstrap3, to work with django 1.11
    -
    -  * Fixed an issue where the change of slide naming between IETF 96 and 97
    -    caused the datatracker to not provide correct link to pre-IETF-97
    -    materials.  Thanks to tjw.ietf@gmail.com for the heads-up.
    -
    -  * Merged in [14970] from rjsparks@nostrum.com:
    -    Factories for the ipr app. Coverage of ietf.ipr.views.ajax_search, and
    -    a factory-driven test of ietf.ipr.views.edit.
    -
    -  * Enhanced debug.py: made the mark() function indicate file and line
    -    number it was called from.  Added if debug: conditions around some other
    -    function actions.
    -
    -  * Another round of iesg page optimizations.  Reduced additional instances
    -    of individual lookups to a single lookup followed by annotation of document
    -    objects.  Reduced several instances of repeating the same work multiple
    -    times (queries for telechat documents, queries for telechat dates).
    -
    -  * Fixed a number of tests to deal correctly with model method caching.
    -
    -  * Changed the ballot_icon template tag to use an already found ballot if
    -    available, rather than doing lookups to find it (twice!).
    -
    -  * Added a patch for debug mode, to add a filtering option to the
    -    django-cprofile-middleware.
    -
    -  * Be more specific with bootstrap's layout classes for small devices in
    -    the base template, to avoid the bottom links and footer overlaying the
    -    bottom of the content area.  Fixes a problem with entering login
    -    information on small devices.
    -
    - -- Henrik Levkowetz   10 Apr 2018 16:33:46 +0000
    -
    -
    -ietfdb (6.77.1) ietf; urgency=medium
    -
    -  **Performance improvements**
    -
    -  This release brings performance improvements, focused in particular on the
    -  IESG agenda documents page.  Some of the changes will also provide
    -  performance benefits for other pages, in particular pages that lists
    -  documents, such as search result pages and WG/RG document lists.  All in
    -  all, the changes speed up the rendering of /iesg/agenda/documents with a
    -  factor of about 2.  The page generation time is still roughly proportional
    -  to the number of documents on the page, so a large number of documents on
    -  future IESG telechats will still give a slow page.  More substantial
    -  refactoring will probably be needed for further speedups.
    -
    -  From the commit log:
    -
    -  * Added an index for (doc, type) on DocEvent to speed up latest_event()
    -    queries.
    -
    -  * Changed the reviewed_by_teams list to provide acronyms directly, to avoid
    -    group lookups during template rendering.
    -
    -  * Changed telechat_page_count() to accept a list of documents if such a list
    -    has already been generated, to avoid double work.
    -
    -  * Provided telechat page counts to the template from the view, instead of
    -    repeated (costly) filtering through the telechat_page_count template
    -    filter in the template, which caused new, redundant document lookups every
    -    time.  Removed the telechat_page_count template filter altogether, due to
    -    its cost.
    -
    -  * Tweaked some lookups in fill_in_document_table_attributes().
    -
    -  * Added terms to the select_related() list for documents in IESG
    -    agenda_documents().
    -
    -  * Added a get_active_ads() utility function that uses the cache to reduce
    -    database access, and replaced database queries in various places with
    -    calls to get_active_ads().
    -
    -  * Moved some utility functions so as to reduce the likelihood of import
    -  * loops.
    -
    -  * Changed some instances of .slug to _id, to avoid unnecessary database
    -    lookups.
    -
    -  * Added a profiling middleware to development settings, if installed.
    -
    - -- Henrik Levkowetz   02 Apr 2018 11:55:07 +0000
    -
    -
    -ietfdb (6.77.0) ietf; urgency=medium
    -
    -  **Automation API endpoint: /api/meeting/session/video/url**
    -
    -  This release provides provides a new API endpoint to let video urls be
    -  associated with sessions, intended for use by Meetecho to update the
    -  datatracker with sesssion recording links as soon as a recording has been
    -  uploaded to the YouTube (or equivalent).  It also introduces a new
    -  'Recording Manager' role, used to authorize the API access.  A short
    -  description of the API is available at
    -  https://datatracker.ietf.org/api#session-video-url-api
    -
    - -- Henrik Levkowetz   30 Mar 2018 19:11:56 +0000
    -
    -
    -ietfdb (6.76.2) ietf; urgency=medium
    -
    -  This release fixes a number of blemishes and cleans the slate for merging
    -  in a meetecho API branch.
    -
    -  * Fixed an issue which could result in server 500 errors for paths like
    -    /meeting/99/session/plenary.
    -
    -  * Removed superfluous stats pages headers which would be repeated with
    -    different layout on the next line, as part of the graphs.
    -
    -  * Added a test for IPR edit.
    -
    -  * Filled in the IPR edit form, section V, with patent information derived
    -    from the patent_info field, the same way we do for the IPR update form.
    -
    -  * Added a pip version restriction to requirements.txt, as there seems to be
    -    issues with pip 9.0.2 and 9.0.3; they seem to leave dross when down- and
    -    upgrading packages.
    -
    -  * Don't show links to individual meeting stats pages when there's no
    -    content (meeting 71 and earlier currently has no attendance records).
    -
    -  * Added meeting dates to the meeting stats overview graph.
    -
    -  * Changed the name of a loop variable so as not to obscure a previous
    -    local variable.
    -
    -  * Don't show future meetings in the meeting stats overview.
    -
    -  * Changed settings so that cache keys used by memcached includes the
    -    release version, in order to avoid stale and incorrect cache content on new
    -    release deployment.  Made it easier to pick out cache key composition by
    -    normalizing the variable name.  Adjusted cache prefix and the composition
    -    of some keys to have a unique and consistent cache key prefix.
    -
    -  * Use the actual defaults from settings.py when showing the defaults on
    -    /accounts/settings/.
    -
    - -- Henrik Levkowetz   28 Mar 2018 20:54:53 +0000
    -
    -
    -ietfdb (6.76.1) ietf; urgency=medium
    -
    -  **IETF 101 code sprint, release 2**
    -
    -  This release provides improved meeting attendance statistics (under
    -  /stats/meeting/overview/), improved test coverage, additional menu entries,
    -  html template fixes, total page count on the Last Call page, the ability
    -  for ADs to clear ballots themselves without going through the secretariat,
    -  and more.  It also changes the default cookie setting for showing or hiding
    -  the duplicate left-hand menu column.  (If you don't like the new default, use
    -  the 'User>Preferences' menu item to revert to the old look.)
    -
    -  Again, many thanks to all the contributors!
    -
    -  From the commit log:
    -
    -  * Fixed some issues with agenda and proceedings code for meetings
    -    numbered 64 and below, actualized by the introduction of meeting records
    -    for such meetings for stats purposes.
    -
    -  * The template filter 'keep_spacing' can interact badly with 'wordwrap'.
    -    Removed it from several places, and made text document display more
    -    consistent.  Fixes issue #2481.
    -
    -  * Merged in [14902] from rjsparks@nostrum.com:
    -    Test coverage improvements for ietf/secr/telechat/views.
    -
    -  * Merged in [14900] from rjsparks@nostrum.com:
    -    Improvements to test coverage for ietf/secr/drafts/views.py.
    -
    -  * Merged in [14899] from rjsparks@nostrum.com:
    -    Cleaner charter factory simplifies test code.
    -
    -  * Added submenu to the Statistics menu entry, pointing at the individual
    -    stats pages, and entries for NomComs and Releases.
    -
    -  * Merged in [14896] from rjsparks@nostrum.com:
    -    Improved test coverage for ietf/doc/views_charter.py.
    -
    -  * Fixed the base template to have id='content' for the content also when
    -    not showing the left-hand menu.
    -
    -  * Updated the cookies tests to match the new left_menu default.
    -
    -  * Changed the default setting for the datatracker left-hand menu to
    -    'off'.  The top menu is always present, and works well.
    -
    -  * Tweaked the document list iCalendar links to not show for presentations
    -    on days in the past.
    -
    -  * Merged in [14884] from adam@nostrum.com:
    -    Adding page count to last call page.
    -
    -  * Merged in [14883] from adam@nostrum.com:
    -    Adding link to documents in last call to the AD dashboard side menu.
    -
    -  * Merged in [14849] from ben@nostrum.com:
    -    Give ADs the red Clear Ballot button
    -
    -  * Merged in [14880] from rjsparks@nostrum.com:
    -    Added a Draft test suite.
    -
    -  * Merged in [14879] from kivinen@iki.fi:
    -    Backfilled IETF meetings starting from 1 and backfilled the attendee
    -    numbers for them. Modified the overview attendee statistics page to use
    -    different colors for different venue continents.
    -
    -  * Tweaked the meeting registratoin import to deal more gracefully with
    -    too long names and email addresses, and to fill in the total attendees
    -    number for the meeting.
    -
    -  * Tweaked mergeready to accept an additional hold-for-merge file outside
    -    the repository.
    -
    - -- Henrik Levkowetz   26 Mar 2018 13:38:04 +0000
    -
    -
    -ietfdb (6.76.0) ietf; urgency=medium
    -
    -  **IETF 101 code sprint, release 1**
    -
    -  This release contains datatracker bugfixes and enhancements from the IETF-101
    -  Code Sprint.  It brings new views to merge duplicate person records, fixes
    -  an annoying bug in downref identification and a bunch of links that didn't
    -  point to the right document, corrects the mime-type for JSON responses, and
    -  brings substantial improvments to test coverage.
    -
    -  Many thanks to everyone who contributed!
    -
    -  * Merged in [14864] from rjsparks@nostrum.com:
    -    Improved test coverage for ietf.meeting.views.
    -
    -  * Updated Note Well.  Fixes issue #2474.
    -
    -  * Tweaked person factory ascii name generation to not include periods
    -    inside names.
    -
    -  * Tweaked a factory to make duplicate mailing list names less likely in tests
    -
    -  * Test data template tweak.
    -
    -  * Merged in [14863] from rjsparks@nostrum.com:
    -    Improved test coverage for ietf.utils.draft.
    -
    -  * Merged in [14862] from rcross@amsl.com:
    -    Add view for merge person records.
    -
    -  * Merged in [14855] from rjsparks@nostrum.com:
    -    Improved test coverage for ietf.meeting.views.
    -
    -  * Added a test case for reference extraction.
    -
    -  * Merged in [14854] from rjsparks@nostrum.com:
    -    Improved test coverage over meeting.views.
    -
    -  * Merged in [14851] from housley@vigilsec.com:
    -    Improve parser for references in Internet-Drafts. Fixes #2360
    -
    -  * Merged in [14850] from rjsparks@nostrum.com:
    -    Improvements to test coverage in ietf.meeting.views
    -
    -  * Removed premature save of upload document state (doing it after
    -    verifying that the save to file worked instead).  Tweaked materials
    -    documents revision extraction regexes.  Added a test on no change of
    -    materials rev after failed upload.  Corrected the naming of materials in
    -    make_meeting_test_data.  Refined the test crawl of meeting materials pages.
    -
    -  * Added a couple of meeting material crawls to check that internal
    -    material links aren't broken.
    -
    -  * Check attribute isn't None before accessing sub-attributes.
    -
    -  * Merged in [14845] from rcross@amsl.com:
    -    Remove unused roles/forms.py.
    -
    -  * Merged in [14844] from adam@nostrum.com:
    -    Fixing 'href' field for
    -    https://datatracker.ietf.org/meeting//json.
    -
    -  * Fixed some materials docname-with-rev regexes that were too narrow.
    -
    -  * Merged in [14843] from adam@nostrum.com:
    -    Updated (deprecated, unregistered) 'text/json' with 'application/json'
    -    everwhere.
    -
    -  * Merged in [14842] from rcross@amsl.com:
    -    Add check for deleted session when scheduling.  Fixes #2450.
    -
    -  * Fixed a bug in a RegexValidator error message string interpolation.
    -
    - -- Henrik Levkowetz   21 Mar 2018 10:58:52 +0000
    -
    -
    -ietfdb (6.75.2) ietf; urgency=medium
    -
    -  **Session iCalendar links on document lists**
    -
    -  This release adds session ical links to group document lists and document
    -  search results, fixes some issues related to upload sanitization and url
    -  resolution, improves performance for some pages, and adds and improves some
    -  tests in the test suite.  From the commit log:
    -
    -  * Merged in [14830] from rjsparks@nostrum.com:
    -    Simple coverage tests for ietf/secr/drafts/reports.py.
    -
    -  * Tweaked the document sanitizer to insert a charset meta tag after
    -    sanitization.
    -
    -  * Fixed a mistaken change in session urls.
    -
    -  * Tweaked a test case to make it easier to get at failures.
    -
    -  * Made the materials_document() view function more robust in handling
    -    various materials document names.
    -
    -  * Gave the 404 message a class which will make it easier to pick out the
    -    message during testing.
    -
    -  * Updated the meeting materials document view to handle urls with
    -    revisions.
    -
    -  * Updated the meeting document href patterns in settings.py to reflect
    -    that we now have versioned agendas, minutes, and slides.
    -
    -  * Added session ical links to document lists (WG docs, search results,
    -    etc.) for documents on upcoming meeting agendas.  Reduced the query and
    -    rendering times of document lists some more through additional
    -    prefetch_related().
    -
    -  * Added result caching for the Person.email() method.
    -
    -  * Added result caching for a couple of Document methods.
    -
    -  * Added a missing tag to the sanitizer whitelist (telling lxml's Cleaner
    -    to not clean style with style=False is apparently not always enough).
    -    Fixes issue #2470.
    -
    -  * Added a debug import.
    -
    -  * Updated a django patch to add origin information to query sets.
    -
    - -- Henrik Levkowetz   17 Mar 2018 10:42:11 +0000
    -
    -
    -ietfdb (6.75.1) ietf; urgency=medium
    -
    -  **Modified HTML upload sanitization**
    -
    -  Feedback from wgchairs@ietf.org indicated that stripping out all styling
    -  from uploaded files is too harsh.  This release modifies the sanitization to
    -  permit