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