ietfdb (6.85.0) ietf; urgency=medium

  **NomCom nominations can be shown before opening for feedback**

  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 <henrik@levkowetz.com>  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 <henrik@levkowetz.com>  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 <henrik@levkowetz.com>  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 <area>' instead of '<area> 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 <henrik@levkowetz.com>  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 <henrik@levkowetz.com>  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 <henrik@levkowetz.com>  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 <henrik@levkowetz.com>  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 <henrik@levkowetz.com>  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 <henrik@levkowetz.com>  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 <henrik@levkowetz.com>  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 <henrik@levkowetz.com>  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 <henrik@levkowetz.com>  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 <henrik@levkowetz.com>  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 <henrik@levkowetz.com>  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 <henrik@levkowetz.com>  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 <henrik@levkowetz.com>  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 <henrik@levkowetz.com>  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 <henrik@levkowetz.com>  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/<meeting-num>/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 <henrik@levkowetz.com>  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 <henrik@levkowetz.com>  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 <style> tags in the uploads, and differentiates between fragment
  santitization (through the 'sanitize' template filter) and document
  santitization.  This release also addresses some other issue encountered
  with the new upload code, and introduces saving of uploaded files in a
  consistent encoding (UTF-8).  From the commitlog:

  * Added handling for when file magic doesn't return a definitive encoding 
    for a file.  Added a test case to excercise upload error cases.

  * Changed the meeting materials uploads to use the upload file encoding 
    found by file-magic when decoding the upload content, and also return 
    errors to the user if decoding the upload fails.  Fixes issue #2469.  This 
    will also have the benefit (since we're saving with utf-8 encoding after 
    decoding) of having meeting materials consistently stored with a the same
    encoding on the server.

  * Added a new argument encoding= to handle_upload_file() in order to be 
    able to deal better with various upload encodings.

  * Tweaked the mime type validator so it can be called also when there's no
    explicitly required mime types, in order to consistently return mime-type
    and encoding.

  * Changed to an empty iterable instead of None in the valid upload
    mime-types settings when there's no required mime type, in order to
    simplify other code.

  * Return encoding information to the FileUploadForm when doing mime type
    validation, for later use in decoding.

  * Changed html cleaning to differentiate between fragment cleaning and 
    document cleaning.  Added an lxml-based cleaner for document cleaning, also 
    permitting <style> tags (but not external style sheets).

  * Changed order of arguments in a test assert for better error legibility.

  * Updated PLAN

 -- Henrik Levkowetz <henrik@levkowetz.com>  14 Mar 2018 11:04:17 +0000


ietfdb (6.75.0) ietf; urgency=medium

  **Sanitization of HTML uploads**

  During the last few IETF meetings, there have been a few cases of agenda and
  minutes uploads that have not worked well, for various reasons.  Some have
  unintentionally used frames, and failed to include the frame contents; some
  have used iframes, which pulls the actual content from elsewhere, which
  means it won't actually be saved on the IETF servers and archived.  There
  has also been issues relating to styling and use of javascript.  This shows,
  of course, that malicious uploads (even if unintentional) are possible.

  Considering this, it seems that a good and general approach would be to do
  what is often called 'sanitization' of uploaded html content.  (Uploaded
  text/plain and markdown documents won't be affected).

  This release introduces such sanitization.

  The cost of this is that if you upload agendas and minutes in HTML format,
  you will need to check the results after upload, to make sure that the
  agenda and minutes still captures your intent after the sanitization.

  Additionally, there are, as usual, some other features and bugfixes:

  * Added sanitization of uploaded html content for session agendas and
    minutes, and did some refactoring of the upload form classes.

  * Replaced html sanitization code that called html5lib directly with calls
    to bleach, and upgraded the requirements to let us use the latest html5lib
    and bleach.

  * Modified the sanitizer and upload handler to strip not only the tags, but
    also the content of some tags, and to produce valid files (if the content
    is otherwise valid) by wrapping the content in appropriate <html> and
    <body> tags.

  * If there are both WG milestone changes and a deletion marked for a
    specific milesone, show both 'Changed' and 'Deleted' labels on the
    milestone review form.

  * Changed the handling of the milestone edit form to defer deletion if it is
    requested together with other changes to the same milestone.  Instead show
    a warning, and ask that deletion be done without simultaneous changes to
    the milestone.

  * Django's urlize filter does not deal well with adjacent parantheses.
    Replaced it with a filter based on bleach.linkify, which does better, and
    also replaced the use of the urlize() function with bleach.linkify(), to
    avoid some exceptions caused by malformed urlize output, exposed by the
    new sanitize_html().

  * Removed some dead code.

  * Made some per-group and per-session iCalendar links show only if 
    occurring in the future.

  * Added individual session icalendar links on the group materials pages.

  * Added an error message for missing email address in extracted author
    information during automated draft submission.

  * Included mailing lists for groups in state 'bof' on the non-WG mailing 
    list page, as that seems to match people's expectations better.  Thiw was 
    triggered by the observation that the 'iasa20' list was not listed on the 
    page.

  * Limited the lenght of the ipr document summary to 128, in order to not
    produce overlong message subjects.  Fixes a server 500 from 5 Mar 2018.

  * The datatracker /html/ URLs don't currently accept revision numbers.
    Fixed the URL in the announcement email for the time being.

  * Fixed a typo.  Fixes issue #2466.

 -- Henrik Levkowetz <henrik@levkowetz.com>  12 Mar 2018 15:00:40 +0000


ietfdb (6.74.0) ietf; urgency=medium

  **Various notification email improvements and additional iCalendar links**

  This release provides a number of bugfixes and enhancements to various
  notification email messages; and as a result of resolving ticket #2461
  (adding iCalendar links to session scheduling notifications), a refined
  ical_ageenda() view function which has permitted the placement of individual
  session iCalendar links in a number of useful places.  From the commit log:

  * Tweaked the routines to find Person records from draft submission
    information to find persons also if the email address case doesn't 
    match.

  * Added date information to the 'scheduled session' emails, and also a 
    link to an ical file for the group sessions.  Fixes issue #2461.

  * Tweaked some meeting-related admin classes for better search and 
    display.

  * Fixed a settings typo and updated some settings.

  * Renamed some datetime fields from 'time' to 'modified', to match their 
    semantics, and changed them to use auto_now=True.  This should fix an issue 
    with outdated timestamps on some meeting-related objects.

  * Added links for per-session ical entries to the group meetings page and 
    to draft pages when a page shows sessions where a draft is on the agenda.

  * Refactored ical_agenda() to be more general. Added parameters and code 
    to permit generation of per-group and per-session ical pages.  Added url 
    entries for per-group and per-session ical pages.  Changed some parameter 
    names to better reflect their semantics ('session'->'acronym').

  * Merged in [14715] from rjsparks@nostrum.com:
    Make a more appropriate review message when a BoF has an initial charter
    under consideration. Fixes #2458.  

  * Made sure that sessions listed in session scheduling notification 
    emails are listed in time order.  Fixes issue #2460.

  * Added TeX escaping utility functions and template filters.  Removed
    html escaping and added TeX escaping for relevant parts of the bibtext
    template.  Fixes issue #2459.

  * Removed an option which could disagree with memcached.

  * Updated PLAN

 -- Henrik Levkowetz <henrik@levkowetz.com>  04 Mar 2018 16:07:35 +0000


ietfdb (6.73.0) ietf; urgency=medium

  **Django 1.11**

  This release upgrades the datatracker to use version 1.11 of the Django
  framework.  Django 1.11 is designated as a long-term support release. It
  will receive security updates at least until April 4, 2020. The next Django
  release, 2.0, will require Python 3.4 or higher.

  Django 1.11 does not have any really notable features; but it introduces
  template-based widget rendering, deprecating the earlier class-based
  approach to creating custom widgets, adds subquery expressions, class-based
  model indexes, and some minor features, see [a].

  A full diff of the upgrade changes is available in changeset [14695].  

  * Merged in ^/personal/henrik/6.72.1-django-1.11@14676: Upgrade to Django 
    1.11

  * Adjusted ordering for a number of meeting-related models to make the 
    most relevant entries appear first in lists and drop-downs.  Fixes issue 
    #2457.

  * Updated the requirement on xml2rfc version.

  [a] https://docs.djangoproject.com/en/1.11/releases/1.11/

 -- Henrik Levkowetz <henrik@levkowetz.com>  26 Feb 2018 15:03:16 +0000


ietfdb (6.72.4) ietf; urgency=medium

  This release addresses a quite annoying bug that could occur when saving
  reviewer assignments, and widens the short floor indication string that is
  shown on the agenda from 2 to 3 characters.  Also addresses a couple of
  other bugs:

  * Rewrote the head-of-rotation review assignment loop to guarantee that it
    will terminate.  This should fix the 'gateway timeout' issues we've seen
    lately, when review request volume in some review teams have been such
    that multiple assignments to the head of queue members have triggered the
    issue.

  * Changed the floorplan short string from 2 to 3 characters, in order to
    support things like London Hilton Metropole's level -3E, 3rd lower ground
    floor East.

  * Changed the arguments to the xml2rfc parser to use normalize=True, in
    alignment with xml2rfc internal use.

  * Changed an exception handling to not depend on exceptions having a .msg
    element.

 -- Henrik Levkowetz <henrik@levkowetz.com>  23 Feb 2018 17:16:48 +0000


ietfdb (6.72.3) ietf; urgency=medium

  This release provides a bugfix and updates a requirement to avoid versions
  of the bibtexparser that don't work under Python 2.7 or require changed
  parser initialization, cleaning the slate for the Django 1.11 upgrade.

  * Merged in [14655] from housley@vigilsec.com:
    Strip the HTML tags around the new values in the mail produced by
    email_iesg_processing_document. Also, provide the previously missing URL
    at the end of the message. Fixes #2455. 

  * Added code to catch IOError exceptions when trying to apply patches.

  * Updated version requirement for bibtexparser.

 -- Henrik Levkowetz <henrik@levkowetz.com>  22 Feb 2018 18:33:07 +0000


ietfdb (6.72.2) ietf; urgency=medium

  Bugfixes and minor features:

  * Added page counts for open review requests on the reviewer assignment 
    drop-downs of /group/*/reviews/manage/unassigned/. Fixes issue #2449.

  * Added a patch for a faker problem with locale ro_RO names (default 
    first_names from a region without first_names explicitly declared are 
    returned as str instead of unicode under python 2.7, 
    https://github.com/joke2k/faker/issues/684)

  * Added a presence check before removing a list element.  Addresses a 500 
    in unassigned review form POST.

  * Fixed an issue which could arise when updating IPR declarations with no 
    value for patent_info.

  * The IPR disclosure form field for statement is too small to hold some 
    of the existing statements.  Increased from 255 to 2000.

  * Added a missing indirect dependency on PyOpenSSL (via urllib3) to 
    requirements.txt, to work around a broken dependency chain.

  * Merged in [14634] from rjsparks@nostrum.com:
    Simplified the view that lets the secretariat see and change timeslot
    types. Fixes #2313.  

  * Updated the LICENSE file to used the wording from 
    https://opensource.org/licenses/BSD-3-Clause

 -- Henrik Levkowetz <henrik@levkowetz.com>  16 Feb 2018 14:46:47 +0000


ietfdb (6.72.1) ietf; urgency=medium

  This is a bugfix release that addresses a few recent issues, as follows:

  * Merged in [14624] from rjsparks@nostrum.com:
    Allow those people who could upload bluesheets for an interim to upload
    revised bluesheets. Fixes #2442.  

  * Merged in [14623] from rjsparks@nostrum.com:
    Take a different approach to avoiding the crash when a team secretary uses
    the bulk assignment form to unassign a request. Reverts r14570. Fixes
    issue #2443.  

  * Re-worked create_proceedings_templates() so it does not blow up if it's
    run a second time for a given meeting.

  * Fixed an UnboundLocalError (only partial variable initialization) bug in
    views_ballot.py

  * Fixed a bug where the code might try to look at the first character of a
    line even when there are no characters, in test_to_dict()

 -- Henrik Levkowetz <henrik@levkowetz.com>  09 Feb 2018 10:13:09 +0000


ietfdb (6.72.0) ietf; urgency=medium

  **Updated IPR disclosure pages**

  This release introduces changes to the IPR disclosure pages, requested
  during a WG Chairs Lunch where the changes to IPR handling introduced by
  RFC8179 were presented.  From the commit log:

  * Changed the IPR disclosure page for IPR disclosure updates to show both 
    the previous and current disclosure details side-by-side.  Fixes issue 
    #2414.

  * Rewrote text_to_dict() and dict_to_text() to support unicode without 
    RFC2822 encoding issues.  Added initial values in IPR update forms, from 
    the original disclosure, in order to make updates easier. Addresses issue 
    #2413.

  * Added a new section for IPR disclosures on related documents to the IPR 
    document search result page.  Fixes issue #2412.

  * Changed the patent information text fields to individual fields for 
    patent number, inventor, title, date and notes, with validation.  Fixes 
    issue #2411.

 -- Henrik Levkowetz <henrik@levkowetz.com>  06 Feb 2018 14:18:36 +0000


ietfdb (6.71.1) ietf; urgency=low

  This is a small bugfix release related to the new non-wg mailing list index
  page, in preparation for merging in the IPR changes branch:

  * Changed the menu entry for non-wg lists to point at our own page.

  * Added view caching of the non-wg list index.

  * Fixed 2 bugs in import_mailman_listinfo; one typo and one bug which 
    prevented updating of lists that changed from advertised to not advertised.

 -- Henrik Levkowetz <henrik@levkowetz.com>  01 Feb 2018 15:02:08 +0000


ietfdb (6.71.0) ietf; urgency=medium

  **Non-WG mailing lists index; 'many authors' warning**

  This release adds a page which lists all advertised IETF mailing lists that
  are not WG lists.  The draft submission tool now shows a prominent warning
  if the number of draft authors exceed 5.  Upload of agendas, minutes, and
  other meeting materials has been tweaked to accept some files that
  previously were (incorrectly) blocked.  There are also a number of bugfixes
  and a new management command.

  From the commit log:

  * Added a page that lists all the advertised non-wg mailing lists, based on
    data fetched from mailman by a cronjob running the import_mailman_listinfo
    managemnt command.

  * Added a workaround for libmagic mislabelling plain text content with a
    line beginning with 'virtual' as text/x-c++.

  * Improved wordwrap on materials document pages.

  * Merged in [14575] from adam@nostrum.com:
    Provide authors with a prominent early warning whenever they submit a
    document with more than five authors listed.

  * Added a management command to generate apache 'Require user ...'  stanzas
    from group:type:role specifications.  This permits automated maintenance
    of role based access permissions, for instance for private IESG, IAOC etc.
    wikis.

  * Merged in [14572] from rjsparks@nostrum.com:
    Corrected the filter for closed review requests. Fixes #2152.  

  * Removed the possibility of choosing '(None)' as reviewer from the bulk
    review request edit form; this prevents a crash on line 1474 of
    ietf/group/views.py, in manage_review_request().

  * Only do coverage set/reset operations if we're in test mode. Fixes a 500
    error during draft submission yang checking.

 -- Henrik Levkowetz <henrik@levkowetz.com>  30 Jan 2018 20:59:00 +0000

ietfdb (6.70.0) ietf; urgency=medium

  **Enhanced document author search, NomCom tools, and more**

  This release expands the fields to which the 'author' entry in the document
  search form is applied, from just author name, to author name, email
  addresses, and affiliation.  This makes it more feasible to enter a company
  name in the author field, and get meaningful results.  The search results
  page now shows how many hits there are in each document category.
  Bluesheets may now be uploaded in text/plain format, not only PDF.  For the
  nomcom, there's a new eligibility view and some additional tool links in the
  menu drop-downs, and for the IESG, there's now a warning if a draft is put
  on the telechat agenda so close to the telechat date that directorate
  reviews probably won't have time to be completed.  Review request deadlines
  can now be edited, and there are also some testing enhancements.

  Commit log excerpt:

  * Made the MeetingFactory produce ietf meetings with dates appropriate 
    for the numbers.  Fixes random failures in test_eligible().

  * Merged in [14549] from rjsparks@nostrum.com:
    Allow people who can make a review request to edit the request deadline.
    Send mail to other directorate secretaries when one secretary makes a
    change to a request. Fixes #2233.

  * Added .txt, text/plain, to the permitted types for bluesheet upload.  
    Fixes issue #2437.

  * Expanded the fields that the 'author' entry of the document search form 
    is applied to, from just author name, to author name, email addresses, and 
    affiliation.  Fixes issue #2415.

  * Added hit counts to the document search result page template.

  * Removed a chunk of code that won't be executed in all test environments 
    from the test coverage measurements

  * Merged in [14539] from rjsparks@nostrum.com:
    Warn when putting a draft on a telechat that is so close that 
    directorates will probably not have time to complete a review. Fixes #2381. 

  * Added more test data for the eligibility view, in order to exercise all 
    parts of the view code.

  * Removed code generating nomcom page urls which doesn't resolve any 
    more.  Added a comment about the eligibility view for previous nomcoms.

  * Merged in [14533] from rjsparks@nostrum.com:
    Add a page for the nomcom-chair and the secretariat to view who the 
    datatracker thinks is nomcom eligible. Related to #2257.  

  * Merged in [14532] from rjsparks@nostrum.com:
    Add another external tool link to the nomcom chair's task menu.  

  * Modified the patch actions run under the 'check' management command to 
    patch an issue with a unidecode lib warning.

  * Excluded versions of the Faker lib that produces names of type string 
    instead of unicode for locale ro_RO, to avoid warnings from unidecode 
    during testing.

 -- Henrik Levkowetz <henrik@levkowetz.com>  24 Jan 2018 12:45:39 +0000


ietfdb (6.69.0) ietf; urgency=medium

  **Improved NomCom support**

  This release provides a number of enhancements to the NomCom pages, as
  well as fixes for a number of reported issues, as follows:

  * Merged in [14518] from rjsparks@nostrum.com:
    Added navigation for the nomcom-chair to external tools. Fixes #2258

  * Merged in [14516] from rcross@amsl.com:
    Added admin permissions to secretariat group for nomcom objects.   

  * Refined the URL patterns and handling of alternative meeting material 
    file formats, which were broken by an earlier refactoring (v6.57.0). Fixes 
    issue #2436.

  * Changed some URLs to match new locations after the deployment of the 
    new IETF website.  Fixes issue #2434

  * Merged in [14511] from rjsparks@nostrum.com:
    Allow all the nomcom private tabs to show on the nomcom chair
    configuration help page. Fixes #2303.  

  * Merged in [14506] from rjsparks@nostrum.com:
    Improved the resilience of the formatted_email nomcom filter. Fixes #1764.

  * Merged in [14505] from rjsparks@nostrum.com:
    Make extracting lists of nomcom-related email addresses easier for the
    nomcom chair. Fixes #1852.

  * Merged in [14504] from rjsparks@nostrum.com:
    Simplified the edit nomcom members forms. Fixes #1756.  

  * Updated docker build and config files.

  * Merged in [14497] from rjsparks@nostrum.com:
    Added navigation to nomcom pages for nomcom members. Put the RFC 
    Status change link in a saner place in the navigation. Fixes #1411 and 
    #2433.  

  * Excluded some locales from PersonFactory due to difficulties with the
    romanization of the names using our current transliteration library
    (unidecode), in particular in connection with tests doing draft author
    extraction.

  * Removed some dead code.

 -- Henrik Levkowetz <henrik@levkowetz.com>  16 Jan 2018 11:32:18 +0000

ietfdb (6.68.3) ietf; urgency=medium

  **Group history comments and other refinements**

  This is a minor release, to fix some bugs, introduce some tweaks, and
  clean the slate before the planned modifications to IPR disclosure
  pages (see issues #2411, #2412, #2413 and #2414).  From the commit log:

  * Merged in [14468] from rjsparks@nostrum.com:
    Add the ability to add a comment to a group's history. Fixes #1483.

  * Added more logging during draft resurrection.  Added a guard against
    acting on an old draft status if draft status changes occur while the
    draft expiration loop is running.

  * Modified the django patch check action from [14474] (for django issue 
    #28772) to work with arbitrary locations of the virtual Python environment, 
    rather than assuming a particular location of the virtual environment 
    directory.

  * Restricted automatic IANA state changes into 'Version Changed - Review
    Needed' on new draft revisions.  They now only occur for events before
    document approval, based on a mail conversation with Michelle.  (This is a
    preliminary release, which can come to be reverted if IANA comes back with
    a different desired resolution.)

  * Fixed some issues with a migration.  The migration has been re-run on 
    production.

 -- Henrik Levkowetz <henrik@levkowetz.com>  09 Jan 2018 14:02:11 +0000


ietfdb (6.68.2) ietf; urgency=medium

  This is a bugfix release, with minor fixes as follows:

  * Added a patch for django issue #28772, a checks action to apply the patch,
    and a setting that lists patches to be applied.

  * With a validator in place for document names (introduced some time ago) we
    will not get any new documents with invalid name strings, so we can go
    back to a simpler regexp for document name urls.

  * Removed code that has been marked unreachable for more than 5 months.

  * Added user notification about ballots that have been closed automatically
    when creating a new ballot.

  * Merged in [14467] from housley@vigilsec.com:
    Close any previous ballots when a charter goes to Internal Review or
    Extrernal Review.  Fixes #2421. 

  * Merged in [14466] from rjsparks@nostrum.com:
    Include information about previous team reviews in assignement emails.
    Fixes #2392.  

 -- Henrik Levkowetz <henrik@levkowetz.com>  31 Dec 2017 14:40:08 +0000


ietfdb (6.68.1) ietf; urgency=medium

  This is a bugfix release, with a number of minor fixes, as follows:

  * Tweaked the query filter for 'latest' meetings in the
    fetch_meeting_attendance management command to deal with future meetings
    beyond the current meeting in the database.

  * Added a guard against infinite recursion in document replacement listing
    methods to deal better with circular relationships.

  * Enhanced doc event notification emails with who and when.  Fixes issue 
    #2428.

  * Added a data migration to create yang catalog links for yang documents 
    published before the yang catalog link feature was introduced in the 
    datatracker.

  * Fixed an ungarded object attribute access.

  * Updated the API notes page with improved descriptions and information.

  * Limited the iesg ballot position API to ADs (excluding secretariat).

  * Modified the run_yang_model_checks management command to accept 
    document aliases (not only canonical names) on the command line.

  * Reverted an inadvertently included patch version.

  * Fixed some reStructuredText issues in the changelog

 -- Henrik Levkowetz <henrik@levkowetz.com>  23 Dec 2017 21:53:13 +0000

ietfdb (6.68.0) ietf; urgency=medium

  **Support for API keys.  Ballot position API: /api/iesg/position**

  This release provides infrastructure to handle API keys and easily
  build API endpoints which use API keys instead of username/password
  login.  It also introduces an API endpoint built on this infrastrucure
  in order to let ADs automate posting of their ballot positions (if for
  example they have built their own infrastructure to manage, track, and
  update ballot positions and comments).

  Pages to view, create, and disable API keys are available to logged-in
  users.  Since the use case for API keys is somewhat different (and possibly
  harder to secure) than the use case for username/password login (they might
  for instance be placed on servers in order to automate operations from the
  server) they have been given some addtional limitations, compared to
  username/password authentication.  These are the principles used:

  - Each API key is bound to a specific user with a personal profile and
    verified email.

  - API keys require an active user -- API keys cannot be used to authorise
    operations if too long a time has passed since the user logged in with
    username and password (this limit is initially set to 30 days).

  - API keys can easily be revoked by the owner (and replacement keys
    generated) in order to make it easy to recover from inadvertent
    exposure of a key.

  - Each API key is bound to a specific API endpoint.  On each use it is
    checked that the API key matches the API endpoint for which it is being
    used.

  - API key usage is logged, and users who have active (not disabled) API keys
    will receive a weekly email report for each key showing how many times it
    has been used, and at which time, as a monitoring service.

  The release also contains [14404] from rjsparks@nostrum.com:
  Include an explicitly set Responsible ADs email addresses in generated 
  aliases when a document has a group.  

 -- Henrik Levkowetz <henrik@levkowetz.com>  18 Dec 2017 17:58:46 +0000

ietfdb (6.67.1) ietf; urgency=medium

  **Fixed display of unicode document content**

  This is a bugfix release, which addresses a couple of tickets (#2423,
  #2427), and also the longstanding issue of non-unicode-aware handling of
  document content internally in the datatracker.  Drafts, agendas, minutes,
  etc.  that contain unicode characters in utf-8 encoding should now be shown
  correctly.

  Commit log excerpt:

  * Removed some dead code.

  * Third part of the document read refactoring, after [14406] and [14410].  
    This replaces all usage of the non-unicode-aware get_document_content() 
    function with unicode-aware Document.text() or Document.text_or_error() 
    methods.  This was triggered by yet another report of unicode content not 
    being shown properly, and should fix all instances of document (drafts, 
    agendas, minutes, etc.) display in the datatracker not handling unicode 
    characters properly.

  * Tweaked the file content read refactoring in [14406] to try latin-1 
    conversion if unicode doesn't work.

  * Applied a patch from kivinen@iki.fi to only show review completion date 
    when the review is completed or part completed.  Fixes issue #2423.

  * Merged in [14403] from rjsparks@nostrum.com:
    Fixed a typo in the milestones under review view. Added bootstrap 
    panels. Fixes #2427,  

  * Fixed the formatting of a number of custom checks for the django check 
    format, to be easier to read.

  * Started refactoring of reading text from document files (drafts, 
    charters, etc.) in order to normalise on one way of doing this, and making 
    that return unicode rather than undecoded bytes.  This is the first step of 
    two, in order to gauge the possible issues and report on discrepancies.

  * Improved cleaning of unidecode results in ascii name conversion.

  * Tweaked the coverage_changes management comand output.

  * Updated the IPR form update text.

  * Moved IPR form updates and Django 1.11 upgrade forward to positions 2 
    and 3 on the list.

 -- Henrik Levkowetz <henrik@levkowetz.com>  12 Dec 2017 14:40:47 +0000


ietfdb (6.67.0) ietf; urgency=medium

  **Per-year RFC feed, IANA yang modules, test improvements**

  This release contains a number of small tweaks and features, as follows:

  * Merged in [14386] from rjsparks@nostrum.com: Added a per-year RFC feed.  

  * Changed settings and handling of adhoc wiki paths to be more
    testing-friendly.

  * Changed handling of yang modules from drafts with errors, to not place
    them in separate directories, due to possible follow-on effects.  Added
    use of IANA-held modules when validating, and regular rsyncing from IANA.

  * Added better handling for attempted (mistaken) uploads to unscheduled
    sessions.

  * Fixed an incorrect comparison in a check function.

  * Improved code coverage slightly.

  * Made the ballot type representation string more expressive, showing both
    name and doc_type.

  * Added a warning message for the user if ballot creation failed due to an
    already open ballot.  This is a bad state, and should prevented by
    stricter checks before changing state, but is better than the current
    situation until we decide exactly which checks to implement.

  * Refactored the handling of BallotDocEvent in tests, only creating them as
    needed, in preparation for stricter checks on state transitions to avoid
    mismatches between state and ballot.

  * Moved the 'Search mailarchive' link on ballot pages to a more visible
    spot.

  * Merged in [14374] from kivinen@iki.fi: If draft name has rfcXXXX-bis or
    rfcXXXXbis then add rfcXXXX to diff context menu. Fixes #460 (7 years old
    ticket).  

 -- Henrik Levkowetz <henrik@levkowetz.com>  05 Dec 2017 12:30:27 +0000


ietfdb (6.66.0) ietf; urgency=medium

  **IETF 100 code sprint**

  This release contains datatracker bugfixes and enhancements from the IETF-100
  Code Sprint.  Many thanks to everyone who contributed!

  * Merged in [14365] from kivinen@iki.fi:
    Added a closed date column to the closed review list. Fixes #2150.  

  * Merged in [14362] from rcross@amsl.com:
    Improved test coverage for ietf.secr.sreq.   

  * Merged in [14359] from kivinen@iki.fi:
    Fixed save-continue to work. Fixes #2383.  

  * Merged in [14356] from kivinen@iki.fi:
    Moved the email open assignment summary from a subpage to the main review
    request page. Fixes #2091.

  * Merged in [14355] from suresh@kaloom.com:
    Changed the ballot announcement email subject to be more correct.  
    Fixes #2109

  * Changed the placement of the mail-archive search link on the ballot 
    pages.

  * Merged in [14354] from rcross@amsl.com:
    Fixed a problem where slide reordering is not retained.  Fixes #2405.   

 -- Henrik Levkowetz <henrik@levkowetz.com>  15 Nov 2017 04:17:00 +0000


ietfdb (6.65.1) ietf; urgency=medium

  This is a small release in preparation for the IETF 100 code sprint.  It
  adds a per-meeting public/private setting for important dates, and a menu
  entry for the same.  From the commit log:

  * In order to make it possible to enter meeting important dates and have the
    IESG see and approve them before they are generally visible, a by-default
    false show_important_dates flag has been added to the Meeting model, and
    code has been added to show the important dates as appropriate.  The
    secretariat will set this flag true once a meeting's important dates have
    IESG approval.  A menu link to the important dates has also been added.

  * Added a check for proper API key settings in production, and added 
    workable default API key settings for development.  This is in preparation
    for an upcoming API endpoint to permit automation of ballot potsing.

  * Updated the requirements for factory boy (it must be a version that
    has a factory.random module)

  * Changed the yang impact analysis URL setting.

  * Updated the Dockerfile to use more modern constructs in a couple of 
    places.

  * Updated docker-init with a new directory to be created.

 -- Henrik Levkowetz <henrik@levkowetz.com>  08 Nov 2017 12:30:40 +0000


ietfdb (6.65.0) ietf; urgency=medium

  **IESG recent documents page**

  This release adds a 'recent documents' page for the IESG, by request, and a
  ballot page link to a document-specific search for discusses, comments, and
  review messages in the email archives.  There's also now a brief
  introduction to the REST API under /api/, and some miscellaneous tweaks and
  fixes:

  * Added a link to draft ballot pages for a mail archive search for 
    discuss, comment, and review messages related to the draft.

  * Added a 'Recent documents' to the IESG pages.

  * Revert an incorrectly committed patch level change.

  * Tweaked the error message for review message URLs which cannot be 
    retrieved.

  * Updated some tests to match api views refactoring.

  * Added a brief REST API info page.  In preparation for signing http 
    notifications using RFC 7515, added information about API signing 
    public/private keypair.  Refactored api views to reside in api/views.py.  
    Added jwcrypto to requirements.

  * Permit ADs to do wg session materials upload.

 -- Henrik Levkowetz <henrik@levkowetz.com>  06 Nov 2017 09:56:14 +0000
  

ietfdb (6.64.1) ietf; urgency=medium

  This is a bugfix and data migration release.  Here's an extract from the
  commit log:

  * Added new checker runs for all active drafts with yang modules to the yang
    link data migration, in order to make sure to have complete yang module
    information available when running the draft yang url creation.  This
    migration now adds links to yangcatalog.org for all active drafts with
    yang modules.

  * Added a progress bar to the submission checker json field upgrade
    migration, as well as the yang links data migration.

  * Added capture of messages from xym's get_extracted_models().

  * Made the REST API accept ordering and date before/after relations for the
    meeting date field.

  * Added missing in-loop variable initializations in the yang checker code.
    Fixes issue #2397.

  * Improved the help message for the run_yang_model_checks management
    command.

  * Included invalid yang modules in the yanglint module paths, in order to
    avoid some unhelpful 'model not found' messages.  Fixes issue #2398.

  * Removed case sensitivity in the submission API when comparing the
    submitter email address with the email addresses found in the draft.
    Fixes issue #2396.

  * Added a data migration to upgrade the submission checker json details to a
    consistent format.

  * Typo and initialization value fixes.

 -- Henrik Levkowetz <henrik@levkowetz.com>  03 Nov 2017 11:03:03 +0000


ietfdb (6.64.0) ietf; urgency=medium

  **Yang resource links on yang draft pages**

  Drafts containing yang modules now get links pointing to the yang impact
  analysis, and to module metadata for each module.  Support has been added
  for ad-hoc trac instances, permitting automatic maintenance of role-based
  admin rights also for other trac instances than the WG, RG, and directorate
  wikis.  The draft submission automation API description is now referenced
  from the draft submission upload page.  'Additional URLs' for drafts are now
  sorted, rather than presented in random order.  Links pointing from draft
  review pages to mailing lists, for the full review text, are now validated
  in order to avoid presenting links to unavailable resources.  An issue with
  parameter expansion in a nomcom template has been fixed, as have various
  other issues.

  Details from the commit log:

  * Tweaked a page cache time to make newly uploaded session agendas visible
    with less delay.

  * Added a guard against iterating over None in stats.views.document_stats()

  * Added draft URLs pointing to Yang resources (impact analysis and model 
    metadata) for submissions containing Yang modules.

  * Changed the submission checkers to return more information in the 
    checker details json blob; in particular added information about individual 
    extracted code modules associated with a draft.  This is used by the yang 
    valididty checker to return a list of extracted yang modules.

  * Changed the SubmissionCheck.time field to use a default now value, 
    instead of auto_now, to permit migrations without changing the timestamps.

  * Added some more debugging output for occasional author extraction 
    failures during test.  See also [14226].

  * Added support for ad-hoc trac instances, with arbitrary names and 
    filesystem paths, but still bound to a particular group's roles for 
    management of trac admin rights.

  * Display document urls in alphabetical order

  * Permit document urls to be up to 512 bytes, rather than the default 200

  * New settings for adhoc wikis and yang document urls

  * Added a mention of the submission automation API on the submission 
    upload page.

  * Added cleaning of review_url from the review completion form, to make 
    sure it's retrievable.

  * Added some debugging code to help identify random test failures

  * Added a new field Meeting.days to capture the length of a meeting.  
    This is necessary now that we have previous meetings officially starting 
    Sunday, lasting to Friday, and future meetings starting Saturday, Lasting 
    to Friday.  We use Meeting.days to calculate Meeting.end_date().  
    Meeting.get_ietf_monday() and two cut_off() methods have also been updated 
    to be instance methods instead of class methods, and to not assume that a 
    meeting starts on Sunday.

  * Updated coverage data

  * Expanded one of the nomcom tests a bit, and updated a fixture to match 
    the current /nomcom/default/email/feedback_receipt.txt template.

  * Don't blow up when checking if the logged-in user is a document author, 
    if the user doesn't have a person record.

 -- Henrik Levkowetz <henrik@levkowetz.com>  01 Nov 2017 13:36:31 +0000


ietfdb (6.63.2) ietf; urgency=medium

  This is a bugfix release which also brings a small improvement of the
  personal profile pages.  From the commit log:

  * Fixed a URL encoding issue on the review doc pages (when linking to
    rfcdiff).

  * Merged in [14211] from rcross@amsl.com:
    Changed to not check timeslot type on delete because other types now have
    this option.

  * Changed the telechat date admin to use the 'initial-date' field value 
    instead of the now nonfunctional form.initial dictionary.  This may need 
    revisiting under Django 1.11, which has an official api to grab a form's 
    initial values.  This fixes a server 500 error on trying to save a 
    non-default telechat date.

  * Tweaked the test-runner random state handling to display the correct 
    random state filename and make sure to set the same random state on
    repeat runs.

  * Added a check in bin/mkrelease for new migrations which haven't been added
    to the repository yet.

  * Added a 'no active roles' annotation in the roles section of personal 
    profile pages if there are none.

  * Added a guard against feeding int() a non-numeric string during 
    submission confirmation and a log assertion to report same.

 -- Henrik Levkowetz <henrik@levkowetz.com>  17 Oct 2017 11:55:55 +0000


ietfdb (6.63.1) ietf; urgency=medium

  This is a small bugfix release.  From the commit log:

  * Merged in [14189] from rcross@amsl.com:
    Fixed an issue concerning the creation of new timeslots in secretariat
    scheduling tool caused by changing the meeting start date to a Saturday.  

  * Set a temporary state 'confirmed' when handling submission confirmations
    in order to avoid running the confirmation code multiple times on multiple
    form submits.

  * Changed the suggested yanglint command to use its -i switch.

  * Added bluesheet upload permission for RG Chairs; reformatted some 
    role_required() decorators.

  * Use the same layout for group additional URLs as for documents.  Fixes 
    issue #2386.

 -- Henrik Levkowetz <henrik@levkowetz.com>  09 Oct 2017 13:57:11 +0000


ietfdb (6.63.0) ietf; urgency=medium

  **Support for document-specific URL annotations**

  This release adds support for document-specific URL annotations; look
  for 'Additional URLs' on the draft status page.  These can be edited
  by the group chairs for group drafts and by the authors for individual
  drafts.  There are also some changes and enhancements related to the
  submission automation API and to the nomcom template and email handling.

  Commit log extract:

  * Changed the nomcom code to permit nomcom year interpolation in the 
    nomcom from-address and in nomcom templates.  Changed the nomcom 
    from-address setting to 'nomcom-chair-{year}@ietf.org'.  Added test
    code to verify that nomcom from-address contains the nomcom year.

  * Tweaked the submission search form to accept draft names which include 
    revision numbers.  Fixes issue #2380.

  * Added a cancel button to the submission confirmation page.  Fixes issue 
    #2379.

  * Removed the repeat of the error message in the HTTP reason string.  
    Fixes issue #2378.

  * Added 'Additional URLs' for documents, the same way we have them for
    groups.  This could be used to point to a document source repository, to
    extracted yang module files, document wikis, and other relevant resources.

  * Added migrations for document url model changes.  Updated the name 
    fixtures.  Added ability for individual draft authors to edit document urls.

  * Removed some unreachable code.

  * Another tweak to the draft author extraction code, to handle some name 
    transliterations using multiple leading grave accents.

 -- Henrik Levkowetz <henrik@levkowetz.com>  28 Sep 2017 09:33:34 +0000


ietfdb (6.62.1) ietf; urgency=medium

  This is a bugfix release which also brings in a utility script to add
  document object for some old drafts that are currently missing from
  the database.  Details:

  * Merged in [14138] from rjsparks@nostrum.com:
    Added a script to process the id-archive and add Document objects for
    drafts that are currently missing from the datatracker. Fixes #1316.  

  * Moved unidecode_name from utils.text to person.name.

  * Modified UserFactory to use a new locale for each new user, instead of the
    same locale for a whole test run.  This (almost) ensures the exercise of
    code to deal with non-ascii names, something which would not happen if a
    locale with ascii names was chosen at the start of a run.

  * Modified name.initials() to not use non-word characters as initials.

  * Modified unidecode_name() to do more normalization, to conform to the
    conventions used in internet-drafts.

  * Added saving of the factory-boy random state in order to be able to re-run
    a test suite with the same pseudo-random sequence as in a previous failed
    run.

  * Fixed an issue with email formatting in test_api_submit_ok().

  * Modified the draft author extraction code to deal better with names with
    embedded apostrophes.

  * Refined a test case which could fail incorrectly when PersonFactory
    produced multiple persons with the same name during a test run, using
    TestCase.assertMailboxContains().

  * Added a new TestCase assertion: assertMailboxContains(), to be able to
    better express some test cases.

  * Updated the PLAN

 -- Henrik Levkowetz <henrik@levkowetz.com>  20 Sep 2017 21:12:32 +0000


ietfdb (6.62.0) ietf; urgency=medium

  **API for submission automation: /api/submit**

  This release introduces an API suitable for automation of draft submission,
  as proposed by martin.thomson@gmail.com and encouraged by others.
  Instructions are available at https://datatracker.ietf.org/api/submit.  The
  interface accepts only xml uploads which can be processed on the server, and
  requires the user to have a datatracker account. A successful submit still
  requires the same email confirmation roundtrip as submissions done through
  the regular submission tool.  The release also contains some bugfixes.

  From the commit log:

  * Added ietf.utils.text.unidecode_name() and replaced various uses of 
    unidecode() with it, in order to normalize the generation of ascii versions 
    of names, to avoid different practices in space stripping and space 
    normalization in different parts of the code.

  * Added submit API instructions and fixed a bug in error handling for the 
    submission validity checkers.

  * Added an API for draft submission, at /api/submit.  Added an urls.py file
    under api/ to hold api urls, and moved those from ietf/urls.py.
    Refactored out many parts of the regular submission forms and functions in
    submit/forms.py and submit/views.py in order to re-use the appropriate
    parts for the submission API.  Moved support functions to submit/utils.py.
    Added a new validation errors for missing docName in xml-based
    submissions.  Updated the submission test document templates to use insert
    additional values.  Added failure and success test cases for automated API
    submissions, and refactored some test utility functions.

  * Tweaked Document.relations_that_doc() to accept unicode relationship 
    strings, in order to let it be called from modules importing  
    __future__.unicode_literals.

  * Tweaked the test utility function create_person() to create ascii-only
    .ascii fields, which it did not do before.

  * Modified the mailtrigger clean_duplicates to reduce email address list 
    entries with the same address but different names to one instance, and use 
    consistent unicode names for authors if known.

  * Fixed another place where updated logic is needed to get the current
    meeting when we have multiple future meetings.  Fixes issue #2371.

  * Updated meeting.helpers.get_meeting() to deal with multiple future 
    meetings the same way get_ietf_meeting() does.

 -- Henrik Levkowetz <henrik@levkowetz.com>  17 Sep 2017 15:51:49 +0000


ietfdb (6.61.0) ietf; urgency=medium

  This is a small feature release which adds directorate mail aliases,
  annoncement tool refactoring, improved handling of Yang validation
  messages and xml submission processing messages.  Details:

  * Merged in [14106] from rcross@amsl.com:
    Add support for directorates to generate-wg-aliases.  Fixes #2363.   

  * Merged in [14104] from rcross@amsl.com:
    Update secretariat admin permissions.  Change AnnouncementFrom.address 
    to CharField because full emails, with real name, fail EmailField 
    validation. Includes migration.  

  * Merged in [14103] from rcross@amsl.com:
    Change announcement tool access function to use data from 
    AnnouncementFrom objects.  Fixes #2362.   

  * Tweaked the submission checker shell invocation code to deal with 
    command lines starting with environment variable settings.

  * Changed the message shown when xml file parsing fails during draft 
    submission to include the actual error message from the xml parser.  Fixes 
    issue #2353.

  * Fixed another issue with the meeting materials urls, related to the 
    href() normalisation work.

  * Changed the handling of yang validation otput to capture errors 
    messages also when command the exit code is zero.

 -- Henrik Levkowetz <henrik@levkowetz.com>  11 Sep 2017 15:17:01 +0000


ietfdb (6.60.0) ietf; urgency=medium

  **Show NomCom eligibility on account page**

  This is a small feature release which adds person record creation during
  meeting attendance data import, fixes a previous issue with the import, and
  also uses the meeting attendence data to present NomCom eligibility
  information on peoples' account edit page.  Details:

  * Merged in ^/personal/sbirkholz/meeting_registration_more_fixes, which 
    adds creation of missing person records when importing meeting registration 
    data.  Tweaked the resulting code some.

  * Merged in [14088] from rcross@amsl.com:
    Strip whitespace from registration data during import.  Includes 
    migration for existing data.  Fixes #2356.   

  * Merged in [14086] from rjsparks@nostrum.com:
    Show whether a person is nomcom eligible on their edit_profile page. 
    Related to #2257 and #2323.  

  * Added an option to ietf.utils.draft.Draft to pull document name from 
    the source file name.

 -- Henrik Levkowetz <henrik@levkowetz.com>  03 Sep 2017 12:09:59 +0000


ietfdb (6.59.0) ietf; urgency=medium

  **Improved NomCom support.  IPR pages updated according to RFC 8179.**

  This release introduces several improvements to the NomCom pages, based on
  feedback from NomCom chairs.  The IPR pages and forms have been updated to
  refer to the current IPR RFC: 8179.  There are improvements in document
  adoption forms, session materials word-wrapping and linking, session
  scheduling status, and improvements to the test infrastructure.

  Details:

  * Fixed a problem with missing extensions for external materials URLs, 
    introduced in earlier doc.href() normalization work.

  * Merged in [14062] from housley@vigilsec.com:
    Show which RFC was in force when the IPR disclosure was submitted. 
    Fixes #2309. 

  * Merged in [14059] from rjsparks@nostrum.com:
    Made the nomcom view-feedback table sortable. Fixes #2259.  

  * Merged in [14058] from rjsparks@nostrum.com:
    Further refinements to the nominee status table. Related to #2261.  

  * Merged in [14057] from rjsparks@nostrum.com:
    Improve the nominee status table to serve as a nomcom dashboard. Fixes 
    #2261.  

  * Merged in [14056] from rjsparks@nostrum.com:
    Straightened out some DocHistory timestamps that did not align with the 
    respective DocEvent timestamps. Fixes #1972.  

  * Merged in [14055] from rjsparks@nostrum.com:
    Improved what initial states are offered when the IRTF chair or RG 
    personnel manage adoption of a document. Fixes #2319.  

  * Use the wordwrap filter instead of the fill filter when displaying 
    meeting minutes and similar, to avoid messing up the formatting.

  * Merged in [14053] from rjsparks@nostrum.com:
    Fixed typo in the meeting materials template that was causing minutes 
    for groups that met more than once to not show.  

  * Merged in [14035] from rjsparks@nostrum.com:
    Make it more obvious which sessions are scheduled and which are not 
    when viewing session details and managing materials. Fixes #2084.  

  * Simplified and corrected some code which uses doc.href(), based on the 
    recent updates to href().

  * Merged in [14018] from rcross@amsl.com:
    Add meeting_importantdate to Secretatriat admin permissions.   

  * Added an error exit when the test runner is invoked with incompatible 
    switches (--parallel and --html-report)

  * Added a test to check for missing admin models, and added the admin 
    models that were currently missing.

 -- Henrik Levkowetz <henrik@levkowetz.com>  28 Aug 2017 08:39:24 +0000


ietfdb (6.58.0) ietf; urgency=medium

  **Important dates support, link cleanup and more**

  This release is a collection of small features, bugfixes, and code cleanup.
  It contains work from the later part of the IETF 99 week, and additional
  work since then.

  * Merged in [13996] from rcross@amsl.com:
    Moved Announcement 'From:' addresses out of code and into a database
    table.  Fixes #1681.

  * Added the ability to emit detailed line-by line changes in code coverage
    to the coverage_changes management command.  Use verbosity 2 or higher.

  * Added an admin model for the MeetingRegistration class.

  * Fixed a couple of html issues introduced in the previous release.

  * Changed from using get_meetings() to get_meeting() in
    meeting.views.floor_plan(), in order to raise 404 on missing meetings.
    This fixes a server 500 on /meeting/floor-plan/ for nonexistant meetings.

  * Added a data migration to fix recent slides names containing underscores,
    and changed the code which let underscores through.  Added a document name
    validator to avoid new documents with unwanted characters in the name.

  * Increased the minimum pyflakes version; at least 0.9.2 is needed to 
    deal correctly with the global declaration list in meeting migration 0056.

  * Tweaked the test crawler, fixing a bug and adding an url exception for
    some redirected urls.

  * Added support for mime-encoding of non-ascii name parts in document 
    notify lists when generating draft email aliases.

  * Pointed at the datatracker's document pages, instead of directly at the
    document in question, for drafts and RFCs on a person's profile page.
    This reverts to the functionality as originally implemented, but uses the
    correct doc.get_absolute_url() instead of doc.href() (which incorrectly did
    the same as get_absolute_url() in some cases until recently).  
    Fixes issue #2340.

  * Made Document.href() point at the rfc when doc.is_rfc().

  * Made the materials links on a group's materials tab say 'Edit 
    Materials' for people who can edit the group.  Fixes issue #2332.

  * Merged in [13980] from rjsparks@nostrum.com:
    Removed the Historic charter link that has 404ed for several months. The 
    closest we have for the content it might have reached in the path is 
    already linked out of the concluded working groups page. Fixes #2223.  

  * Merged in [13978] from rjsparks@nostrum.com:
    Query unique person objects when searching for duplicates based on 
    aliases. Fixes #2263.  

  * Removed the old Django admin styling; things have moved on to the point
    where it doesn't work well any more.  The new Django admin style requires
    more screen space, but it seems we have to accept that now.

  * Changed the menubar link to meeting materials to explicitly point at 
    /meeting/materials/, not just /meeting/.

  * Replaced some group-specific agenda and minutes urls with 
    session-specific urls, and more consistently pointed to explicitly named 
    meeting materials.  Related to commit [13964].

  * Fixed a time arithmetic issue in meeting cutoff-date methods.

  * Changed the display of individual item update times on the materials 
    overview page.  In practice, having a tooltip on every agenda, minutes, and 
    slides link became intrusive and annoying.  Changed to display a bell if 
    the update is within one day of now, and to display the time tooltip when 
    hovering over the bell.  Also corrected the colspan numbers for cancelled 
    sessions, for consistency in the look of the materials table.

  * Added urls and views for individual meeting documents, in order to be able
    to serve them directly from the datatracker, instead of taking them from
    www.ietf.org through the CDN.  Adjusted the patterns used for href()
    accordingly. This also avoids different-origin issues.  Shifted the url
    for materials_editable_groups() to an URL more in line with what the page
    links to.  Changed the iframe urls for the agenda week view to work for
    groups with different agendas for different sessions by using href().

  * Merged in [13958] from rjsparks@nostrum.com:
    Tweak to the important dates page title.  

  * Merged in [13957] from rjsparks@nostrum.com:
    Moved Important Dates for Meetings into the datatracker. Fixes #2338.  

  * Merged in [13955] from kivinen@iki.fi:
    Changed links to previous reviews go to the doc page of the last
    result, not the review request page. The doc page will contain the
    actual review, so it has all information that is needed. Fixes #2090. 

  * Added the necessary switch argument for the registration importer's 
    --latest switch in the daily cronjob file.

  * Merged in [13934] from kivinen@iki.fi:
    Added sorting for the review team statistics tables. Fixes #2330.

  * Updated the PLAN file after the Tools Committee prioritisation meeting
    during IETF 99.

  * Changed get_timeslot_for_filename() to not blow up in the presence of 
    duplicate timeslots.

 -- Henrik Levkowetz <henrik@levkowetz.com>  31 Jul 2017 12:32:58 +0000


ietfdb (6.57.0) ietf; urgency=medium

  **IETF 99 code sprint**

  This release contains datatracker bugfixes and enhancements from the IETF-99
  Code Sprint, which was very productive :-) The release brings in many useful
  bugfixes and enhancements, as described below. Many thanks to everyone who
  contributed!

  * Made materials links on the ietf materials page visible to group
    delegates.

  * Fixed a bug in a meeting number comparison.

  * Merged in [13919] from peter@akayla.com:
    Print the group type and IRTF/IETF correctly in draft submission
    announcements.  Fixes #2034.  

  * Merged in [13918] from kivinen@iki.fi:
    Unified the review request views to use same template, so they all
    show same data, in same format.  

  * Changed etherpad links to not use the explicit 9000 port any more; it's 
    not needed and may cause issues.

  * Merged in [13916] from alireza.mohammadi@icann.org:
    Better punctuation during state change by adding \" before and after
    old and new state.  Fixes issue #1545.

  * Merged in [13911] from kivinen@iki.fi:
    Fixed sign in page so it will always scroll to top when page is loaded, 
    so the sign in fields are visible.  

  * Merged in [13908] from alireza.mohammadi@icann.org:
    Added 'last updated' timestamps on meeting materials page
    Added UTC time to the tooltip of Agenda and slides and an new column of 
    Updated. Updated column present the latest time stamp for agenda and 
    slides.  Fixes issue #1644.

  * Added an 'assignments' m2m field to the API sssion resource, in order to
    make it easier to use the API to pull out meeting sessions for a given
    meeting.

  * Added a guard for the case that slides might be removed from a session 
    while agenda page construction is in flight.

  * Added a session status field to the /meeting/agenda.json data, to make 
    cancelled session info available to the IETFers app.

  * Modified the meeting session materials template to use href(), in order 
    to be able to point at the right materials for groups with multiple 
    sessions with different materials.

  * Merged in [13905] from david.i.allan@ericsson.com:
    Made the status update forms deal better with clearing old status updates,
    showing information about the clearing instead of inserting blank entries.
    Fixes issue #2183.

  * Merged in [13903] from rjsparks@nostrum.com:
    Use a better timestamp for newrevisiondocevents when uploading agendas, 
    minutes, and slides. Fixes #2039.  

  * Merged in [13902] from rjsparks@nostrum.com:
    Include drafts associated with sessions when building session pdf and 
    tarballs. Fixes #2036.  

  * Set docker-internal UID and GID to match the external values for the 
    user.  Makes life easier when running docker under linux.

  * Merged in [13900] from peter@akayla.com:
    Allow ADs to manage meeting materials from the meeting/##/materials page.
    Fixes #2213.  

  * Merged in [13899] from rjsparks@nostrum.com:
    Allow editing of title for agendas, minutes, and bluesheets documents. 
    Fixes #2317.  

  * Merged in [13897] from rjsparks@nostrum.com:
    Send email to reviewer when request is closed with no response. 
    Fixes issue #2176.  

  * Merged in [13893] from housley@vigilsec.com:
    Made the IPR pages reference the new IPR document, RFC 8179. 
    Partial fix to #2309. 

  * Merged in [13892] from mahoney@nostrum.com:
    Made email subject 'I-D ACTION:<draft>' consistent with other 'I-D 
    Action: <draft>' email subjects. Fixes #1519.  

  * Merged in [13888] from rjsparks@nostrum.com:
    Refined the 'state changed' email message per discussion on
    tools-development. Fixes #2116.  

  * Merged in [13887] from rjsparks@nostrum.com:
    Allow minutes to be uploaded after previous minutes had been uploaded 
    and removed from the session. Fixes #2286.  

  * Changed the test telechat dates so that the first active telechat 
    doesn't change to lie in the past if the tests are run across midnight.

  * Merged in [13883] from rjsparks@nostrum.com:
    Repaired missing table id, allowing slide reordering to be saved. 
    Fixes #2327.  

  * Set docker/settings_local.py to use yanglint, so the yanglint tests will
    be run under docker.  Added libyang (with yanglint) to the Dockerfile.

 -- Henrik Levkowetz <henrik@levkowetz.com>  19 Jul 2017 12:14:58 +0000


ietfdb (6.56.0) ietf; urgency=medium

  This release clears the table for the IETF 99 sprint.  It adds minor
  improvements and bugfixes, such as better agenda and minutes upload
  validation, more easily found draft last call end dates in document history,
  added features for AGs (Area Groups) which are now treated more like WGs and
  RGs, links to the session description for edu-team sessions and similar, and
  internal code and test suite improvements:

  * Added more validation of extension, mime type, etc. for uploaded 
    meeting agendas and minutes.  Added '.md' (markdown) as an accepted file 
    type.  Html with frames is now rejected.  Factored out validation code into 
    separate functions.

  * When proceedings have been finalized, redirect meeting/xx/materials to 
    the finalized meeting/xx/proceedings page, instead of presenting an
    interstitial page.

  * Modified a test to make it less sensitive to timing vagaries causing 
    arbitrary failures.

  * Added the last call end date to the first line of the last call 
    announcement event description, on request from worley@ariadne.com.

  * Fixed a place where doc.save() was called instead of 
    doc.save_with_history().

  * Added a test for interim meeting agenda and minutes urls.

  * Did a bit of optimization of the /meeting/past/ view.

  * Fixed a problem with loosing the outermost html element when massaging 
    html agendas, which resulted in mangled agendas if that element was a
    <pre/>.

  * Merged in [13832] from rjsparks@nostrum.com:
    Treat Area Groups similar to Working Groups and Research Groups where it
    makes sense to do so.

  * Use a datatracker internal url for session agendas and minutes, to 
    avoid X-Frame-Options SAMEORIGIN preventing agenda display in frames.

  * django-bootstrap3 9.0.0 breaks compatibility with 8.x.y; disallow 9.0.0 
    and higher till we can rewrite.

  * Merged in [13830] from rjsparks@nostrum.com:
    Show all the sessions for area groups in the proceedings. Fixes #2265.  
    Should be patched into production. 

  * Added wiki creation for groups in state 'bof'

  * Replaced the local copy of the draft/rfc htmlization code with rfc2html 
    as installed modeule.

  * Added links to uploaded session agendas for sessions of type 'other',
    such as for example Edu-team sessions.

  * Added a slide abstract [Edit] button on slide document pages also for 
    empty abstracts, to provide the ability to add abstracts.

  * Added a mock of urllib2.urlopen for another test which uses 
    finalize(meeting) in order to prevent external http accesses when running 
    tests.

  * Added another surname particle.

  * Added a switch to control generation of the code coverage html report, 
    which now defaults to false.  The report can be generated post-testing with 
    "coverage html -d static/coverage/".

  * Fixed an issue with the docker/settings_local settings for yang module 
    directories.

  * Fixed a docker/run current directory issue when invoked with a command 
    to run.

  * Added log.unreachable() calls to some functions believed to be unused.

  * Added code coverage settings and configuration to ignore debug-related 
    lines of code.

 -- Henrik Levkowetz <henrik@levkowetz.com>  13 Jul 2017 12:41:10 +0000


ietfdb (6.55.3) ietf; urgency=medium

  Another bugfix release with some refactoring.  From the commit log:

  * Added reverse relationships from drafts to submissions to submission 
    checks to the Json API, to make it easier to find the yang checks for a 
    given document.

  * Reduced the number of non-functional URL patterns for interim meetings. 
    Can easily be expanded as needed.

  * Added test cases for ADs and IRTF Chair for the chartering buttons on 
    /group/chartering.

  * Make sure that test factory groups have a type.

  * Limited the pyang and xym requirements to current major version; there's a
    possibility of new API-incompatible versions with semantic versioned
    numbers appearing.

  * Call can_manage_group_type() with the right information.  Fixes an issue
    with chartering buttons not being visible for ADs. Added a log assertion
    for calls to can_manage_group_type.

  * Merged in [13775] from rcross@amsl.com:
    Refactor session edit page.  Add button to cancel a session, which sets 
    the status.  Fixes #2296.   

  * Set an url for the server_error page, for testing.

  * Added the debian security updates to apt sources for the docker image.

  * Added a check for duplicate Yang model names after xym extraction.  
    This prevents running pyang and yanglint on one module, moving it to the 
    module libs, and then failing to run the checks on a second module with the 
    same name, because the file has been moved after the first check.

  * Linked to the submission status page from the submission confirmation 
    page, in case people want to look at the text or xml which will be posted
    before confirming the submission

  * Removed some test code which isn't useful with tastypie 0.14.0

  * Updated template exclusion settings.

  * Added the new format '4' to the list of recognized formats in the 
    coverage_changes management command.

  * Added a test to verify that we can load the 500 page template

  * Tastypie 0.14.0 does not support the callback parameter as it did before; 
    disable the tests for this as we don't use it anyway.

  * On request from a user, added information about running idnits before 
    submission upload to the upload form page.

  * Fixed an issue with the scope of a server-mode-dependent variable when in
    production mode.

  * Tweaked the wording of the unexpected-encoding warning on submission
    upload.

  * Changed to check the whole draft submission text when checking mime type,
    and catch decoding errors and raise ValidationError when converting
    submission form txt file to unicode for Draft().


 -- Henrik Levkowetz <henrik@levkowetz.com>  08 Jul 2017 10:09:25 +0000


ietfdb (6.55.2) ietf; urgency=medium

  This release contains bugfixes and code refactoring:


  * Merged in [13731] from rjsparks@nostrum.com:
    Reworked how review assigments are processed in order to ensure a 
    team's queue rotates when it should. Fixes #2305.  

  * Merged in [13727] from rcross@amsl.com:
    Removed legacy external interim meeting listing.  Installed redirect to
    /meeting/past.  Fixes #2166.  

  * Upgraded xym to 0.4.2, with related changes in method calls.

  * Fixed an issue with the test_edit_replace_user() test

  * Added email address validation for the Email.address field, now that 
    we're not putting dummy addresses in it.

  * Tweaked the EmailFactory to not return email addresses longer than the
    Email.address field.

  * Added a utility function to show just the text content of the test client
    response.

  * Included the temporary yang model extraction directory in the list of
    model librarires given to yanglint, in order to support drafts with models
    referencing models in the same draft.  Fixes issue #2324.

  * Merged in [13726] from rcross@amsl.com:
    Updated the secr.rolodex app to deactivate old Users when replaced on edit.  
    Fixes #2001.   

  * Added more test objects in test_merge_users(), and fixed an issue with 
    merge_users() uncovered by the added testing.

  * Merged in [13718] from rcross@amsl.com:
    Improved User merge handling in merge_persons().  Fixes #1900.   

  * Merged in [13717] from rjsparks@nostrum.com:
    Actually use the topic audience type in the feedback view. Fixes #2320. 

  * Modified the text shown on Chairs' "Manage Document Adoption in Group"
    button and corrected the logic for which text to show.

  * Merged in [13722] and [13712] from rcross@amsl.com:
    Removed all use of request.session from secretariat apps.  Added tests for 
    affected views.  Fixes #1455.

  * Removed the copy of xym copied directly from repository -- the method 
    call we use is too unstable at the moment.  Now requiring xym=='0.4'.

  * Merged in [13628] from rcross@amsl.com:
    Grant secretariat meeting__meeting admin permissions.   

  * Added checks for the presence of yang module directories to the check 
    framework.  Tweaked some text strings.

  * Modified the yang checker to work with both versions 0.3.x and 0.4.x of 
    xym (different signatures for get_extracted_models()).

  * Removed the 'apply to all sessions' checkbox from the 
    agenda/minutes/slides upload pages for non-session timeslots, such as 
    plenaries etc. as it is rarely if ever correct to have it checked then.

  * Additional tweaks to the mailman listinfo importer.

  * Code reorganization, doing away with multiple urls_* and views_* files 
    in ietf.group.  No intentional functionality changes.

  * Made the import_mailman_listinfo management command somewhat more 
    robust.

  * Return a checker None result with exception message on xym exceptions.

  * Changed the url coverage code to handle deeper chains of url includes, 
    and to handle url includes through url lists in addition to url modules. 
    Added information in the release coverage dictionaries about the view 
    functions coupled to the urls.

  * Fixed a wrong virtualenv path in bin/mm_hourly

  * Updated PLAN

  * Updated docker/settings_local.py with new needed settings.  Added a lot 
    of quotes to docker/run in order to work better with paths containsing 
    spaces.  Touched a file during setup to be more debian compatible.

  * Variable naming tweak

  * Catch bad module names in the Yang checker (they are not currently 
    flagged by xym).

  * Changed the implementation of Submission.latest_checks() to also return 
    None checks, so it's possible to update a Passed due to no yang modules to 
    a None (no modules to check).

  * Corrected the settings names used in the yang extraction command.

 -- Henrik Levkowetz <henrik@levkowetz.com>  01 Jul 2017 10:49:33 +0000


ietfdb (6.55.1) ietf; urgency=medium

  This is a bugfix release, with some smaller enhancements.  From the commit
  log:

  * Don't deliver spurious yang extraction errors for drafts where no yang 
    modules were found.

  * Added circular parent relationship detection and logging in the
    Group.is_decendant_of() method, and form validation error on loop in the
    group edit form data cleaning.

  * Increased the test crawlers verbose output.

  * Added a guard around rendering of group.ad_role, which isn't always set.

  * Refined the appearance and wording of the 'Manage document's adoption' 
    button, to make it possible for chairs to correct an adoption in the
    wrong group.

  * Replaced the use of unaccent.asciify(), which has similar functionality 
    as unidecode.unidecode().  Changed the draft parser to work exclusively 
    with unicode text, which both makes the removal of unaccent easier, and 
    takes us closer to Py35 compatibility.  Adjusted callers of the draft 
    parser to send in unicode.

  * Removed code which has been marked as unreachable since February/March 
    2017 and has not triggering any usage indications.

  * Changed the display of people with roles on the various group pages to 
    link to both their profile page and their email address.

  * Improved the handling of surname particles, (prompted by failure to 
    handle the name of Niels ten Oever correctly).

  * Made changes to the can_adopt_draft() logic, to make it possible for a 
    chair of multiple groups to correct the mistake if adoption was made for 
    the wrong group.

  * Merged in [13615] and [13627]from rcross@amsl.com:
    Changed views that use GET requests to delete objects to use POST.
    Fixes #1796.

  * Make sure wordwrap() and friend works as intended if they are used as 
    template filters and given string arguments.

 -- Henrik Levkowetz <henrik@levkowetz.com>  20 Jun 2017 13:43:31 +0000


ietfdb (6.55.0) ietf; urgency=medium

  **Improved Yang validation support**

  This release updates and expands the Yang support in the datatracker.  In
  addition to checking yang modules in submitted drafts using pyang, it now
  also does a yanglint check.  The yang validation results are available by
  clicking on the red or green yin/yang symbols which show for drafts that
  contain yang models.

  For drafts where one or more models were found at submission time, the pyang
  and yanglint checks are re-run once per day, to catch newly arrived models
  in the library directories (both rfc and draft models).

  Additional details, from the commit log:

  * Added a new yang checker, 'yanglint', to the existing Yang checker class,
    in addition to the existing 'pyang' checker.

  * Added modal overlay displays showing the yang check results every place
    the yin/yang symbol is shown (red or green) to indicate the presencee and
    result of yang checks.  Added a Yang Validation: line in the document
    meta-information section on the document's page in the datatracker.

  * Added the result of the xym extaction to the yang check results, to make
    extration failures visible.

  * Added the version of the used xym, pyang, and yanglint commands to the
    check results.

  * Added an action to move successfully extracted and validated modules to
    the module library directories immediately on submission.

  * Added the xym repository as an svn:external component, rather than listing
    it in requirements.txt, as there has been delays of many months between
    essential features appearing in the repository, and an actual release of
    same.  We may get occasional buildbot failures if broken code is pulled in
    from the repository, but better that than the functionality failure of
    severely outdated componets.

  * Added a new management command to re-run yang validation for active drafts
    for which yang modules were found at submission time, in order to pick up
    imported models which may have arrived in the model libraries after the
    draft's submission.  Run daily from bin/daily.

  * Added a table to hold version information for external commands.  The yang
    checker output should include the version information of the used
    checkers, but seems unnecessary to run each command with its --version
    switch every time we check a module...

  * Added a new management command to collect version information for external
    commands on demand.  To be run daily from bin/daily.

  * Added tests to verify that xym, pyang and yanglint information is
    available on the submission confirmation page, and updated the yang module
    contained in the test document to validate under both pyang and yanglint.

  * Updated admin.py and resource.py files as needed.

 -- Henrik Levkowetz <henrik@levkowetz.com>  16 Jun 2017 09:38:25 +0000


ietfdb (6.54.1) ietf; urgency=medium

  **Bugfixes, floor indications on the agenda**

  This is a bugfix release, with a number of smaller fixes.  It also
  introduces floor indications on the IETF meeting agenda page.  From the
  commit log:

  * Added a guard against trying to get the room ID from a timeslot without 
    location in the secretariat schedule view.

  * Merged in [13588] from rcross@amsl.com:
    Initialize Empty-Schedule with special sessions from previous meeting on
    creation.  Fixes issue #1500.

  * Merged in [13586] from rjsparks@nostrum.com:
    Workaround for an issue with the schedule editor by ensuring no sessions
    remain scheduled in a room whose purpose has changed to something other
    than holding sessions (such as becoming unavailable).  

  * A first go at adding floor labels to the agenda pages.  The placement 
    of the labels are complicated by available whitespace beeing in different 
    horizontal positions for different types of lines.  Adding another column 
    will push the session title out of the screen on small devices.

  * Fixed a bug with missing operations on the /group/chartering/ 'Chartering
    or re-chartering' page, so that not only operations on groups in a
    chartering state is shown, but also the options to start chartering.
    Fixes issue #2312.

  * Merged in [13575] from rcross@amsl.com:
    Create new script ietf/bin/set_admin_permissions to configure Django Admin
    group permissions.  Fixes #2008.  

  * Merged in [13567] from rcross@amsl.com:
    Refactor ietf/bin/merge-person-records to facilitate testing.  Add tests.
    Fixes #2162.  

  * Merged in [13554] from rcross@amsl.com:
    Several widgets in session request form require javascript.  Prevent usage
    of page without javascript. Fixes #1767.  

  * Merged in [13559] from rcross@amsl.com:
    When changing a TelechatDate in the admin interface, retain all document
    associations.  Fixes #1349.  

  * Added a test to the test suite which checks if there are interleaved 
    schema and data migrations that have not been released yet.  Having split 
    migrations, first all schema and then all data, will permit doing 2 
    sequential releases; but if the data and schema migrations are interleaved 
    (beyond this) it is problematic to arrange for release without ending up 
    with a prolonged period when running code and table structure is out of 
    sync (while the normally more time-consuming data migrations run).

  * Narrowed a too wide try/except region in order to give more correct error
    messages on failed conversion of submitted xml drafts .  Changed the the
    strip() application to happen only on extracted author elements that
    actually have content.  Fixes an inability to upload xml-only drafts with
    missing author country information.

  * Fixed another place where None author email needed an extra guard.

  * Added blank lines between milestones, so they don't get run together if 
    they are long enough to cause line wrapping.  Fixes issue #2311.

  * Fixed a problem with a formset, they don't have self.cleaned_data, so 
    cannot return it.  Fixes issue #2310.

  * Fixed a place where a missing document author email address could cause 
    a server 500.  There may be additional places needing attention, now that 
    we're not inserting dummy addresses.

 -- Henrik Levkowetz <henrik@levkowetz.com>  13 Jun 2017 10:33:08 +0000


ietfdb (6.54.0) ietf; urgency=medium

  **Author and Meeting Statistics**

  This release provides the author and meeting statistics described by
  RFC7760: "Statement of Work for Extensions to the IETF Datatracker for
  Author Statistics".

  "The enhancements to the IETF Datatracker shall provide statistics and
  graphs about documents, document authors, author affiliation, author
  country, and author continent."

  "The statistics should also include trends relating to IETF meeting
  attendees, which the current tools do not track."

  The statistics are available from the top menu under Other >> Statistics,
  or by following links from https://tracker.tools.ietf.org/stats/ .

  As part of the release, there will be a one-time backfill extraction of
  author information about country, affiliation etc. from drafts; this
  is expected to take about 1 to 2 hours.  Statistics information will be
  incomplete until the backfill script has finished running.

  This work has been done under contract by olau@iola.dk, with caching to
  speed up page load by henrik@levkowetz.com.

  Full commits log are available at:
  https://trac.tools.ietf.org/tools/ietfdb/log/branch/iola/author-stats-r12628
  https://trac.tools.ietf.org/tools/ietfdb/log/branch/iola/author-stats-r13145
  https://trac.tools.ietf.org/tools/ietfdb/log/personal/henrik/6.52.1-authorstats

 -- Henrik Levkowetz <henrik@levkowetz.com>  08 Jun 2017 11:16:57 +0000


ietfdb (6.53.1) ietf; urgency=medium

  This is a small patch release to clear the board for the upcoming
  authorstats merge.

  * Fixed a bug in wordwrap() where an URL (or any word) longer than width 
    could prevent line breaking in following text.

  * Merged in [13532] from rjsparks@nostrum.com:
    Add an expertise field to reviewer settings. Fixes #2308. , 

  * Added dates to unreachable() calls, to make it easier to decide when to 
    remove marked code.

 -- Henrik Levkowetz <henrik@levkowetz.com>  06 Jun 2017 17:40:15 +0000


ietfdb (6.53.0) ietf; urgency=medium

  **Nomcom features, YouTube import, Better text wrapping in emails**

  This release provides the ability for NomComs to collect feedback on
  arbitrary topics, and fixes some warts on the nomcom pages.  It adds
  automated import of session recording data from YouTube, and a number of
  other secretariat tool refinements.  Review team pages now show both date of
  assignment and deadline, and reviews sent in email should not be mangled by
  unnecesary line wrapping any more.  There are also a some internal
  improvements.  From the commit log:

  * Merged in [13503] from rjsparks@nostrum.com:
    Added usernames to the email sent to the secretariat when a possible 
    duplicate person has been detected. Fixes #2307.  

  * Merged in [13501] from rjsparks@nostrum.com:
    Used a simpler widget for the public key file when editing a nomcom to
    remove confusion between clearing keys and clearing the form control.
    Fixes #2299.  

  * Merged in [13500] from rjsparks@nostrum.com:
    Provide assigned dates on review team reviewers page. Fixes #2304.
    Related to #2305.  

  * Changed all instances of the deprecated self.failUnless() unittest method 
    to self.assertTrue().

  * Merged in [13499] from rcross@amsl.com:
    Add non WG Area choices to Parent field of secretariat groups edit form.
    Fixes #1344.  

  * Improved review linebreaking tests, based on [13495] from olau@iola.dk.

  * Merged in [13492] from rcross@amsl.com:
    Removed old proceedings generation code.  Fixes #2234.   

  * Merged in [13485] from rcross@amsl.com:
    Added import of YouTube session videos, using the YouTube Data API.
    Fixes #2249.

  * Added a middleware exception handler for the case of people submitting 
    unicode outside the Basic Multilingual Plane, which cannot currently be 
    saved to the database.

  * Added a test for no-agenda templates being used for future meetings 
    without agenda. Aligned the wording in the txt and html templates.

  * Merged in [13474] from rjsparks@nostrum.com:
    Allow the nomcom to collect feedback on arbitrary topics. Fixes #2256 
    and #1846.  

  * Eliminated several variations on word wrapping, keeping only what used to
    be wrap_text(), but renamed as ietf.utils.text.wordwrap().  This performs
    better than django.utils.text.wrap() when there are indented text parts.
    Replaced django's default wordwrap filter with one calling
    ietf.utils.text.wordwrap in all templates.  Changed to triggered wrapping
    in some cases, with the maybewordwrap filter, which triggers on lines
    longer than 100 characters.  This fixes the issue with undesired wrapping
    of reviews.

  * Fixed a date arithmetic bug.

  * xml2rfc 2.6.0 does not have parser parameters which are compatible with 
    our usage.  Will be fixed in 2.6.1.  Disallow 2.6.0.

  * Added a guard against trying to list locations which are None in 
    agenda.json (there are socials with a timeslot but no location)

  * Fixed the DOI information for doc/rfc*/bibtex/ temporarily; for a 
    better fix we need to import the DOI values in ietf/sync/rfceditor.py

  * Removed the table-list.json file and support for it; there are better 
    ways of cleaning out extra local tables (see bin/drop-new-tables for a 
    starting point)

 -- Henrik Levkowetz <henrik@levkowetz.com>  05 Jun 2017 13:41:48 +0000

ietfdb (6.52.0) ietf; urgency=medium

  **Nomcom page improvements, and more**	

  This release adds nomcom and secretariat functionality, and improves the
  machine-readable json export of agenda information for the IETFers app.

  The nomcom chair now has the ability to open and close nominations,
  feedback, and nomcom processing for a position separately.  It has been made
  easier to add new positions to be filled out of the regular schedule, and
  the nomcom chair now can enable display of nominee photos on the feedback
  pages.  An issue with statistics calculation on the internal nomcom pages
  has been fixed, as well as some other annoyances.

  The secretariat now has full edit capability also for non-session meetings,
  chairs can now upload bluesheets for interim meetings, and the json export
  of agenda information now has better information about session presentation
  materials.

  As usual, a few bugs have been fixed, too, improving author information
  extraction from uploaded .xml files, and more:

  * Merged in [13418] from rcross@amsl.com:
    Add full edit capability for non-sessions.  Fixes #2235.   

  * Merged in [13417] from rjsparks@nostrum.com:
    Minor tweak to instructions for removing nomcom positions.  

  * Merged in [13413] from rjsparks@nostrum.com:
    Allow nomcoms to configure the feedback page to show nominee pictures. 
    Fixes #2252. , 

  * Merged in [13412] from rcross@amsl.com:
    Allow chairs to upload bluesheets for interim meetings.  Fixes #2165.   

  * Fixed a bug for /meeting/.../agenda.json where multiple entries for a 
    room name could occur, even if only one of them were referenced by sessions.

  * Added stripping of leading and trailing whitespace from submission data 
    (including email addresses) gleaned from submitted xml.  Changed email line 
    parsing to use email.utils.parseaddr() instead of a regex which only would 
    handle unwuoted names (and possibly not utf-8 names) correctly.

  * Merged in [13409] from rjsparks@nostrum.com:
    Add some help for the nomcom chair for when new positions are needed 
    later in a nomcom cycle. Fixes #2253.  

  * Merged in [13400] from rjsparks@nostrum.com:
    Correctly calculate statistics on the nomcom private index page. Fixes 
    #2254.  

  * Merged in [13399] from rjsparks@nostrum.com:
    Make it possible to close nominations without closing feedback. Fixes 
    #2255.  

  * Merged in [13390] from rjsparks@nostrum.com:
    Avoid confusing messages saying a key has not been entered when it has. 
    Fixes #2250.  

  * Merged in [13388] from rjsparks@nostrum.com:
    Update the feedback count badge when new feedback is provided. Fixes 
    #2260.  

  * Merged in [13383] from rjsparks@nostrum.com:
    Don't double-escape when showing feedback. Fixes #2297.  

  * Added more information about session presentations to the agenda.json 
    output, on request from pusateri@bangj.com.

  * Added raw_id_fields on DocumentAuthorAdmin to speed up form loading, 
    and added SessionPresentationAdmin to the meeting admin.py

 -- Henrik Levkowetz <henrik@levkowetz.com>  29 May 2017 23:21:29 +0000


ietfdb (6.51.0) ietf; urgency=medium

  **Improved RFC Author Information**

  This release provides the second part of the RFC Author information work
  done by rjsparks@nostrum.com, the data migrations.  Based on manual and
  automated consolidation of author information from the RFC Editor database,
  the output from the ietf/utils/draft.py parser, the existing datatracker
  data, and eyeballing the RFCs, this provides a dramatic increase of the
  quality of the RFC author information data in the datatracker.

  There are also some bugfixes:

  * Merged in [13337] from rcross@amsl.com:
    When editing interim meeting request show duration as HH:MM instead of
    HH:MM:SS.  Fixes #2226.  

  * Merged in [13290] from rjsparks@nostrum.com:
    This provides the utility used to reconcile the RFC Editor database
    against what the draft parser returns for document authors.

  * Merged in [13336] from rcross@amsl.com:
    Fix issue where deferring a ballot causes 500 error in Telechat app.  
    Fixes #1342.   

  * Merged in the data migrations from [13289] from rjsparks@nostrum.com:
    Mapped a large number of email addresses found from the RFC Editor
    database and from parsing RFCs to the right Person objects, and creating
    Person objects as necessary. Updated the documentauthors set for RFCs
    based on reconciling what the tracker already knew with the RFC Editor
    database and the parsing the RFCs. Manually inspected the Updates to
    ensure no author was inappropriately removed from the set.

 -- Henrik Levkowetz <henrik@levkowetz.com>  16 May 2017 15:34:37 +0000


ietfdb (6.50.1) ietf; urgency=medium

  This is a bugfix release, which also introduces some schema changes,
  in preparation for later data migrations.  From the commit log:

  * Merged in [13336] from rcross@amsl.com:
    Fixed an issue where deferring a ballot causes 500 error in Telechat app.
    Fixes #1342.  

  * Merged in [13333] from rcross@amsl.com:
    Corrected the Management Item Details link in telechat agenda_package.txt.
    Fixes #2158.  

  * Merged in [13328] from rcross@amsl.com:
    Set parent of new areas to IESG.  Fixes #2011.

  * Updated the utils.DumpInfo model to match the database.

  * Merged in [13324] from rcross@amsl.com:
    Disallow multi-day interim meetings with non-consecutive dates.  
    Fixes #2193.   

  * Merged in [13309] from rcross@amsl.com:
    Fixed the Edit button of session request view.  Fixes #2285.   

  * Merged in [13308] from rcross@amsl.com: Add ability for secretariat to
    skip announcement of regular interim meetings.  Fixes #2210.  

  * Merged in [13303] from rcross@amsl.com:
    Session admin edit fails if no resources selected.  Fixes #2211.

  * Added a guard to prevent problems with legacy drafts without any draft 
    state.

  * Tweaked the DRAFT_NAMES_WITH_DOT setting for another draft name 
    exception.

  * Merged in [13293] from rcross@amsl.com:
    Improve help messages for multi-day and series interim meeting types.  
    Fixes #2194.   

  * Merged in [13292] from rcross@amsl.com:
    Fixes #2002.  Trailing comma in Liaison cc_contacts field causes 
    invalid email address error.   

  * Merged in [13291] from rcross@amsl.com:
    Change From address of session request notifications from 
    session_request_developers@ietf.org to session-request@ietf.org.  Fix 
    requester information in session request cancellation email.  Fixes #1621.  

  * Updated doc resources.py with EditedAuthorsDocEventResource

  * Updated the makeresources command to use the current 
    AppCommand.handle_app_config() interface.

  * Merged in [13276] from rcross@amsl.com:
    Add group field to Roles add form validation.  Fixes #2292.   

  * Merged in [13275] from rcross@amsl.com:
    Refactor to prevent secretariat recordings entry page from timing out.  
    Fixes #2287.   

  * Merged in [13274] from rcross@amsl.com:
    Indicate which schedule is the official schedule in Select a Schedule
    drop-down.  Fixes #1456.  

  * Aligned the availability of roles edit buttons on a group's about page
    with the roles that the group edit GroupForm will accept.  Avoids
    presentin edit forms without any fields and some server 500 errors. 

  * Changed the alignment for the RFC 'Errata' label within the document name
    and title column to consistently put it at the right side of the column,
    for a tidier appearance.

  * Fixed an issue with the author extraction code.

  * Fixed a place where the LastCallDocEvent expiry value was set as a date 
    instead of a datetime.

  * Merged in [13246] from rjsparks@nostrum.com:
    Distinguish group that have session requests from those that do not on 
    the materials/editable-groups page. Fixes #2284.  

  * Tweaked the test coverage percentage numbers shown in the release test
    coverage chart to use only 3 decimal digits, not 12 ...

  * Return a person search string instead of bombing out if there are 
    multiple identical names where one don't have an active email address.

 -- Henrik Levkowetz <henrik@levkowetz.com>  14 May 2017 10:00:50 +0000


ietfdb (6.50.0) ietf; urgency=medium

  This is a small feature release which provides a management command to
  create / delete a set of related test and development data for a dummy
  nomcom ('ietf/manage.py create_dummy_nomcom'), and adds statistics charts
  for release coverage and frequency.  Room resources can now be marked as in
  use or not, to control which resources are shown on the session request
  form.  A few bugs have also been addressed, as indicated in the commit log:

  * Merged in [13230] from rjsparks@nostrum.com:
    Added scripts to create/delete a dummy nomcom to use in development
    environments.  Fixes #2283. 

  * Added charts for test coverage and release frequency.

  * Fixed an if-statement which incorrectly disabled coverage testing when 
    the parallel testing count was set to 1.

  * Removed the 'Document' tab introduced in 6.48.0

  * Moved the caching of htmlized documents into Document.htmlized() in 
    order to avoid caching failed htmliztions (usually because of a missing 
    .txt file).

  * Added filtering of room resources in the session request form based on 
    the 'used' flag of the room resource name.  Tweaked admin to show 'used' 
    for ResourceAssociations.  Added Flipchart and U-shape-layout resources 
    through a data migration, and added/modified resource icons.

  * Replaced an old unworkable email addesss in the 404 page with the current
    bugreport address, now configured in settings.py.

  * Tweaked the use of the -p option of bin/mkrelease.  Added
    sbirkholz@amsl.com to the release email addressees.

 -- Henrik Levkowetz <henrik@levkowetz.com>  19 Apr 2017 12:11:10 +0000

ietfdb (6.49.1) ietf; urgency=medium

  **IETF 98 code sprint release 2**

  This release collects the remaining sprint contributions, and in particular
  contains the move of the downref registry to the datatracker which has been
  requested by the IESG.  This release also reverts some of the changes made in
  6.48.0 with respect to presentation of htmlized drafts and RFCs.

  Excerpts from the commit log:

  * Merged in [13181] and [13205] from housley@vigilsec.com:
    This provides the downref registry work requested in ticket #2069. The
    registry has been imported to the database and can be shown, and entries
    can be added to the registry.  Dowref registry tests have been added to
    the last call test case.  Fixes issue #2069.

  * Merged in [13212] from rcross@amsl.com:
    Fixed an issue in telechat app where ballot positions for WG actions are
    incorrect.  Fixes #1336.  

  * Merged in [13197] from rcross@amsl.com:
    Fixed an issue with bin/merge-person-records when User.last_login == None.  
    Fixes #2274.   

  * Merged in [13183] from rcross@amsl.com:
    Fixed error when selecting a document on the Telechat agenda that does 
    not have a writeup.  Fixes #2262.   

  * Changed the signature of ietf.utils.aliases.dump_sublist() to include a 
    list of the alias domains, in order to be able to generate IRTF group 
    aliases @irtf.org.  Updated ietf/bin/generate-...-aliases accordingly.

  * Trying to re-apply already run migrations after loading a new databases 
    dump runs into the problem that new tables created by the migrations 
    linger, even if the tables loaded from the dump match the non-migrated 
    state.  Having lists of the tables matching the latest release available 
    makes it easy to construct an sql command to dump the extra tables, so the 
    migrations can be run.  Adding generation and saving of a table list to 
    bin/mkrelease.

  * Reverted the search result rows to the pre-6.48.0 state.

  * Changed some tests to use unicontent(r) instead of r.content, which 
    decodes non-ascii content according to the response charset.

  * Added some debug functionality which makes it possible to see from 
    where (python source file and line) an SQL query comes when looking at the 
    sql query summary available at the bottom of pages in debug mode, on 
    INTERNAL_IPS.

  * Extended the DRAFT_NAMES_WITH_DOT regexp.

  * Expand the milestone information on the document metainfo tab a bit.

  * Fixed a bug in the json_agenda data, now calculating room midpoints 
    correctly.

  * Changed a test case to look at the html being verified, rather than the 
    whole page, to avoid test failures due to for instance new menu entries.

  * Getting to the floorplans for a meeting venue required going via the
    agenda, which can take time to load.  Escpecially on a handheld device,
    when you want to see where the room of your next session is, it would be
    useful to have a menu entry to go directly to the meeting floor-plans.
    Adding one.

 -- Henrik Levkowetz <henrik@levkowetz.com>  14 Apr 2017 12:50:00 +0000


ietfdb (6.49.0) ietf; urgency=medium

  **IETF 98 code sprint release 1**

  This release contains datatracker bugfixes and enhancements from the IETF-98
  Code Sprint, where we had a record number of commits :-) The release brings
  in many useful bugfixes and enhancements, as described below. Many thanks to
  everyone who contributed!

  * Changed to use doc.canonical_name instead of doc.name when computing 
    the cache key for htmlized documents in order to trigger a new generation 
    when a draft goes to RFC.

  * Merged in [13137] from rcross@amsl.com:
    Added CANCELLED message to agenda for 'other' session types.

  * Merged in [13135] from peter@akayla.com:
    Added document titles to HTML titles.  Fixes #1957.  

  * Upgraded phantomjs in the docker image to 1.9.8.

  * Merged in [13134] from lars@netapp.com:
    Shrink all images with image_optim.  

  * Merged in [13129] from lars@netapp.com:
    Replaced a table with div.  

  * Merged in [13125] from rcross@amsl.com:

    Added a REST API endpoint to notify Datatracker that new session recording
    files are available, triggering an import.  For use by the Meetech crew.

  * Changed the creation of temporary test dirs to use names which include 
    the test class name, in order to make it possible to run test cases in 
    parallel.  Disabled coverage testing when running in parallel (those 
    classes cannot be pickled and distributed to the test runner threads, and 
    also won't pass coverage data back).  Tweaked the TestCase.tempdir() method.

  * Modified an API test to make it pickleable (for parallel test runs).

  * Merged in [13120] from rjsparks@nostrum.com:
    Be more explicit on review message subject lines. Fixes #2103.  

  * Merged in [13118] from lars@netapp.com:
    Updated vnu.jar and fixed various HTML5 nits it found during a test crawl. 

  * Merged in [13115] from mahoney@nostrum.com:
    Added draftname to email subject for review request (addresses #2144).  

  * Made relative paths work for the create_group_wikis commnand.  Added 
    wiki and svn dir patterns to docker/settings_local.py.

  * Merged in [13114] from rcross@amsl.com:
    Added the meetecho address to settings.AUDIO_IMPORT_EMAIL.   

  * Merged in [13113] from rcross@amsl.com:
    Added a Country column to meeting/NN/proceedings/attendees.  Fixes #2228.   

  * Merged in [13112] from lars@netapp.com:
    Fixed various RemovedInDjango20Warning warnings.  

  * Merged in [13109] from lars@netapp.com:
    Renamed crawl_history to make_rev_history, which is more descriptive.
    Fixes #2224 (thanks, Robert!) by generating graphs for the entire revision
    history of a doc, both forward and backward in time.  

  * Tweaked docker/run slightly.  Added 2 utility scripts docker/mailserver 
    and docker/devserver, to start a debug smtp server and a development 
    webserver in separate terminal windws.  These assume that the docker image 
    already is running.  Tweaked the settings_local in docker/ to send email to 
    the debug smtp server.

  * Changed docker/run in order to more easily be able to run multiple 
    terminals against the docker enviroment, and also start the dev server and 
    a debug smtp server in separate terminal windows.

  * Merged in [13108] from lars@netapp.com:
    Changed 'ID Tracker' to 'Datatracker' in various places. Addresses #2100. 

  * Merged in [13107] from lars@netapp.com:
    Changes to bower.json to correctly pick up assets for some new versions of
    various packages we use.  

  * Merged in [13102] from lars@netapp.com:
    Updated bootstrap-datepicker3 to 1.6.4.  

  * Merged in [13101] from lars@netapp.com:
    Updated jquery.tablesorter to v2.28.5.  

  * Merged in [13100] from lars@netapp.com:
    Removed empty template directory.  

  * Merged in [13099] from lars@netapp.com:
    Removed outdated (and unused) bootstrap version. 

  * Refined the selection of commit log info lines.

  * Merged in [13098] from lars@netapp.com:
    Updated bootstrap to 3.3.7.  

  * Updated DRAFT_NAMES_WITH_DOT for another dot draft.

  * Improved traceback for a logger.error() message.

 -- Henrik Levkowetz <henrik@levkowetz.com>  29 Mar 2017 20:01:18 +0000


ietfdb (6.48.2) ietf; urgency=medium

  Another small patch release to fix internal issues and annoyances
  users have expressed with some changes from 6.48.0:

  * Reverted some links to htmlized draft versions, on request.

  * Added an ALLOWED_HOSTS setting to settings_testcrawl.

  * Removed list emails from the ADMINS setting, and added localhost to 
    ALLOWED_HOSTS.

  * Another fix for get_file_path().

 -- Henrik Levkowetz <henrik@levkowetz.com>  23 Mar 2017 04:01:01 -0700


ietfdb (6.48.1) ietf; urgency=medium

  This is a small patch release to catch up with patches for 6.48.0 before
  generating the IETF-98 sprint participant branches.

  * Added better handling of missing documents (such as rfc575, which was
    never issued, but is still requested.)

  * Improved Document.get_file_path() to return even more correct draft
    paths.

  * Changed some test assertions so they provide more information on failure.

  * Tweaked the 'rev' pattern, and added handling of revision number format
    exceptios when breaking apart name and rev for documents which don't use
    the charter rev model.

  * Tweaks to docker/copydb.

  * On request, reverted the document rendering on the document status page 
    to the old look.

  * Changed where to look for the text version of drafts, to always look in
    the comprehensive ID archive

  * Reverted a bad css change from the rfcmarkup work.

  * Made Document.htmlized() be a bit smarter about handling documents 
    which have not been provided in .txt format.

 -- Henrik Levkowetz <henrik@levkowetz.com>  22 Mar 2017 12:37:06 +0000


ietfdb (6.48.0) ietf; urgency=medium

  **HTMLized drafts and RFCs**

  This introduces improved htmlization of drafts and RFCs in the datatracker,
  using the code originally developed for tools.ietf.org.  This initial
  changeset does not update all internal links to point at the htmlized
  document instead of at the document meta-information tab; it is expected
  that further work will change some, but certainly not all, of the internal
  document links to do so.

  Document search-result lines (and lines in document lists which use the same
  format) now link to the document meta-information tab using a circled 'i'
  information symbol, while the text link points at the htmlized text.  This
  may also change, pending feedback from users.

  Here's the changeset: https://tools.ietf.org/tools/ietfdb/changeset/13041

 -- Henrik Levkowetz <henrik@levkowetz.com>  21 Mar 2017 13:02:37 +0000


ietfdb (6.47.2) ietf; urgency=medium

  This is a patch release with bug fixes related to ballot grids and
  secretariat meeting functionality, and internal enhancements.  It also
  clears the way for the upcoming merge in of new draft htmlization code from
  tools.ietf.org.

  From the commit log:

  * Added a check to bin/mkrelease, preventing releases with both schema 
    change migrations and data migrations.  Data migrations often take some 
    time, which will delay the time between the schema changes and deployment 
    of the matching new code.

  * Refined the test crawler a bit, to avoid extracting URLs from html which
    is outside the datatracker's control, such as uploaded WG agendas.  (These
    could lead to false warnings about problems with the datatracker's links).
    Also exempted some pages with known-bad character issues from html
    validation, and refined the error reporting for html validation failures.

  * Added a utility function to create temporary directories with distinct
    name based on test-class name and given labels.  This will help in
    parallelizing the runs.

  * Silenced an unnecessary error which could occur when looking for charter
    documents for groups (such as bofs) without them, when asking the REST API
    for group descriptions.

  * Merged in [13022] from rcross@amsl.com:
    Fixed the interim meeting edit form returning 500 when the duration field
    is empty.  Fixes #2206.  

  * Merged in [13021] from rcross@amsl.com:
    Fixed an issue where editing an interim meeting duration does not update
    underlying timeslot duration.  Fixes #2203.  

  * Merged in [13018] from rcross@amsl.com:
    Fixed an issue with interim meeting time-zone getting reset on edit.
    Fixes issue #2204.  

  * Merged in [13017] from rcross@amsl.com:
    Added placeholders and validations to secretariat non-session time input 
    fields.  Fixes #2208.   

  * Applied a patch from rjsparks@nostrum.com to make ballot grids show for 
    statchg documents in ietf last call.

  * Added more email validation for draft submission author emails, and 
    blocked some paths that could lead to bad email addresses ('none') being 
    set as document author email addresses.

 -- Henrik Levkowetz <henrik@levkowetz.com>  20 Mar 2017 12:02:49 +0000


ietfdb (6.47.1) ietf; urgency=medium

  This is a small patch release which provides a few bug fixes and
  enhancements:  If no description is available for a group in the database,
  the first paragraph of the charter (if available) is provided in the REST
  API, in order to better support the new www.ietf.org website.  For cases
  where email issue reports is wanted, there is now an email address provided
  in the page footer, in addition to the issue tracker address.  Bugfixes
  as shown in the commit log:

  * Improved the log.assertion() and unreachable() functions to send a 
    deeper traceback when reporting by email, rather than just the last stack 
    frame.

  * Merged in [12990] and [12991] from rcross@amsl.com:
    Refactor session audio file import.  Add informative email.  Fixes #2164.

  * Made the default navbar colour match the production navbar, rather than 
    the dev navbar.  Gives 500 errors in production a regular navbar, rather 
    than a dev navbar.

  * Require bleach<2.0.0.  Bleach 2 requires html5lib 1.x, which requires a 
    rewrite of ietf.utils.html.

  * Modified the REST API to provide group descriptions taken from the 
    group charters if group.description is blank.

  * Added a text() methods on Document, to help with display of htmlized text.

  * Added a guard against trying to fetch milestones for a group value of 
    None.

  * Added a link to report bugs by email to the page footer.

  * Fixed a reverse url lookup issue in a template.

 -- Henrik Levkowetz <henrik@levkowetz.com>  13 Mar 2017 17:09:40 +0000


ietfdb (6.47.0) ietf; urgency=medium

  **New document WG states: Waiting for Implementation, and Held by WG**

  This is a mixed feature and bugfix release.  It adds two new document WG
  States, provides several internal enhancements, and removes a bunch of dead
  code.  Bugfixes are as indicated in this excerpt from the commit log:

  * Added a data migration which adds 2 new document WG states: 'Waiting for
    Implementation' and 'Held by WG'.

  * Added a 'rev' field to DocEvent, and removed the corresponding field from
    NewRevisionDocEvent and SubmissionDocEvent.  Added a migration for an
    initial schema change, one data migration to copy and infer revision
    information, another schema migration to remove extraneous revision field,
    and another data migration to fix up bad timestamps and bad revision info
    from the period 2016-09-10 to 2016-10-04.  Updated more than 200 instances
    of DocEvent creation to supply a 'rev' value.

  * Fixed a problem with assertion() and unreachable(), which could break if
    certain names (like 'args') were set in the calling frame.

  * Removed dead code marked as unreachable in the previous release, and added
    unreachable marks for newly identified probable dead code.

  * Added a msgid (Message-ID) field to the Message model, and added needed
    migrations for the field.  The first migration creates the new column with
    NULL values for existing rows, the second adds creation of msgid values by
    default for new rows.

  * Added a data migration to add author information to existing reviews.

  * Added code to create all appropriate aliases when a Person record is
    created, both in ietfauth and in PersonFactory.  This was not consistently
    done earlier, leading to test-suite failures for test factory persons with
    more than one given name.

  * Added document author information for review document objects.

  * Improved handling of a case where a meeting floor have been defined, but
    no floor image uploaded yet.

  * Changed email notification code for reviews done, in order to save the
    message as a Message instance before sending it.  Added test code to check
    that a Message instance is created and matches what goes out.

  * Merged in [12917] from rcross@amsl.com: Fixes #2207.
    bin/merge-person-records remove _meta.get_all_related_objects() deprecated
    in Django 1.10.  

  * Merged in [12950] from rcross@amsl.com: Provide material management access
    to Area Group chairs.  Fixes #2219.

  * Changed the state choices in the document adoption form to exclude the few
    that should not be available, rather than explicitly list all others.
    This makes it possible to add new document WG states without editing the
    code, in many cases.

 -- Henrik Levkowetz <henrik@levkowetz.com>  07 Mar 2017 10:38:08 +0000

ietfdb (6.46.1) ietf; urgency=medium

  This is a bugfix release with some minor enhancements.  From the commit
  log:

  * Merged in [12932] from rjsparks@nostrum.com:
    Changed primary but inactive email addresses to the most recently touched
    active email for a Person. If a person has more than one primary email,
    make all but the first be not primary. Fixes #2214.  

  * Merged in [12930] from rjsparks@nostrum.com:
    Use the Role email associated with a reviewer as the From when emailing 
    a review. Fixes #2201.  

  * Created a special function, log.unreachable(), to mark code unreachable, 
    and changed a function name from log.affirm() to log.assertion().

  * Added ordering to Role, and a roles section at the top of the personal 
    profile page.

  * Added svn symlink check and creation to the test suite setup.  Forced test
    settings to use an empty INTERNAL_IPS list for improved consistency in
    code coverage figures.

  * Preparation for dead code removal: Marked probable dead code with 
    affirm() statements which will signal if we ever reach that point in the 
    code.  If no signals seen, the marked functions/methods will be removed 
    after one release cycle.

  * Removed a big chunk of dead code: placement.py and related.

  * Cleaned up the remaining explicit url names, using dotted-paths to view
    functions instead.  In total almost 700 changes.

  * Tweaked an import to make Python 2to3 able to handle it, while testing
    conversion to Python 3 by means of the 2to3 tool.

  * Fixed an issue that left html meta-characters unescaped in the
    release-notes shown under /release/

  * Added an alert on the login form, to be shown if a user's password has 
    been cleared.  Adjusted url reverse strings to match the changed view 
    function.

  * Tweaked the wording on the account creation whitelisting page to 
    emphasise the wording to be asked then emailing a querent.

  * Personal profile pages already show the primary (unicode) name of a 
    person.  Added the asciified name in parentheses, if different from the 
    primary name, in the page header.

  * Tweaked the release script's bower update part.

 -- Henrik Levkowetz <henrik@levkowetz.com>  01 Mar 2017 12:27:16 +0000


ietfdb (6.46.0) ietf; urgency=medium

  **Name i18n improvements, tweaks to Group Pages and Account Setup**

  This release introduces use of non-ascii names in the name parts of outgoing
  emails instead of always using asciified names.  It improves the account
  setup workflow, improves the ease of editing group attributes and makes it
  more apparent which attributes can be edited.  It also adds a code quality
  assurance tool which makes easy notification on unexpected states available,
  and applies it to one difficult-to-debug issue.  There are also a number of
  bugfixes, as usual.  From the commit log:

  * Changes to address ease of editing various group attributes, in particular
    intended to make it easier to see that you can edit things like the
    external/additional URLs:

    - Added the ability to edit individual fields in a group's about page, and
      added edit buttons for editable fields on the about page, just as for
      documents (the ability to edit all editable fields already was available
      from the 'Edit group' button on the /group//about/ page).

    - Made the tab label for the group-about tab consistently say 'About',
      instead of 'Charter' for some groups.

    - Shifted the position of the about tab to the start of the tab line.

    - Removed the datatracker account requirement information at the top of the
      group edit page for users logged in to their account.

    - Tweaked the 'Show update' link on the 'Status Update' line.

    - Changed the label for the external URLs from 'More Info' to 'Additional
      URLs', which was already in use on the edit form.

  * Fixed a html issue on the review request page.

  * Made some changes to the missing-email submission handling.  This may have
    fixed the creation of author records containing 'none' email entries, but
    as I've not been able to reproduce the issue, this is uncertain.

  * Made the logging settings explicit in ietf/settings.py (instead of copying
    default then modifying), and added enough surrounding information to make
    it possible to read also for people not very familiar with Python's
    intricate logging infrastructure.  To a large extent to understand myself
    how the logging is set up in Django, and where to hook in the affirm()
    function.

  * Added an affirm($statement) function, which acts like an assert, and
    lets us trigger an email message with traceback when the statement to
    affirm is False.  Use instead of assert if we still want the server to
    produce a response, even if something is wrong with the internal state.

  * Added a log.affirm() call at the point where we may discover new flawed
    document author records.  Fixed a place where the generation of
    Person.ascii from Person.name wasn't done well.

  * Changed the AD email list results from get_group_ad_emails() to make more
    sense when the group is an area, not a wg.

  * Fixed url lookups for doc.views_doc.document_main() to only use
    dotted-path, and removed the doc_view explicit url name.  Fixes a 500
    error in /submit/status/NNNN/.

  * Added explicit charset setting and consistent encoding to several email
    paths through the datatracker.  After introducing support for non-ascii
    names in email addresses, using role.formatted_email() to insert names
    into email content doesn't work any more, since uncode names will now be
    rfc2047-encoded in formatted_email().  Added another method
    role.name_and_email() for this case.  Replaced another case of '%s <%s>'
    name-and-email formatting with formataddr().  Fixed some tests which did
    not send unicode email bodies to the email functions.  Fixes issue #2017.

  * Added a validator to Document.title to prevent control chars in the title
    (this complements a recent cleanup of more than 120 instances of document
    titles containing vertical tabs).

  * Changed the New Account creation to require a proper name at the same time
    as the account password is set, before actually creating the account.
    Also tweaked the password strength and confirmation code.

 -- Henrik Levkowetz <henrik@levkowetz.com>  24 Feb 2017 10:38:17 +0000


ietfdb (6.45.0) ietf; urgency=medium

  **Django 1.10**

  This release upgrades the datatracker to use version 1.10 of the Django
  framework.  Django 1.10 provides support for unicode login names, the new
  Argon2 password hasher, and makes available a number of minor conveniences.

  This release also removed support for automatic generation of dotted-path
  names for the view function in urlpatterns, which seems to violate the DRY
  (Don't Repeat Yourself) principle in programming.  I plan to have words with
  the Django developers about this during DjangoCon Europe in May.  That
  change necessitated a workaround url() function and a lot of clean-up and
  conversion.  The conversion work is not finished, but we're getting there,
  and meanwhile everything is functional with Django 1.10.  For the Django
  1.10 release notes, see [a].

  A full diff of the upgrade changes is available in changeset [12881].

  The next Django release, 1.11, will be the last version which will run on
  Python 2.7; the following release, 2.0, will require Python 3; probably
  python 3.4 or higher.  The Django 1.11 release will be a LTS (Long Term
  Support) release which will get security upgrades for 3 years after its
  release.  We should upgrade to 1.11 when it's released later this year, and
  then plan on converting the datatracker code base to Python 3, in order to
  be ready for Django 2.x before LTS ends some time in 2020.

  [a] https://docs.djangoproject.com/en/1.10/releases/1.10/

 -- Henrik Levkowetz <henrik@levkowetz.com>  20 Feb 2017 11:45:05 +0000

ietfdb (6.44.1) ietf; urgency=medium

  **Non-ASCII name support for email address fields**

  This is a bugfix relelease which provides a reworked email address handling
  in order to be able to support non-ascii names as part of email address
  fields.  It also provides reworked generation of user names in the test
  suite in order to generate names from multiple non-ascii locales.  This
  fixes issue #2080.  The release also cleans the slate for the upcoming merge
  in of the Django 1.10 branch.

 -- Henrik Levkowetz <henrik@levkowetz.com>  19 Feb 2017 11:42:27 +0000

ietfdb (6.44.0) ietf; urgency=medium

  **Improved account editing**

  This is a small feature release with some bugfixes.  It introduces the
  ability for datatracker users to change their username from the current
  one to one of the (other) active email addresses of their account, and
  the ability to indicate which of the active email addresses should be
  considered the primary email address.  It adds a menu endtry for document
  search, which was not easy to navigate to internally if you didn't know how.
  Other minor fixes are mentioned in the commit log:

  * Added the ability for logged-in users to change their login (username) 
    to any of the active email addresses of the account.  Fixes ticket #2052.

  * Tweaked the company name extraction code in class Draft.

  * Added support for indicating the primary email address of one's 
    datatracker account.  Fixes issue #2106.

  * Merged in [12835] from rcross@amsl.com:
    Fixes #2202.  Interim sessions appear unordered.  Switch templates to 
    use ordered assignments() related object manager.  Also removed now unused 
    template filters.   

  * Added a menu entry for Document Search

  * Fixed an issue with the test-crawler which could cause false positives 
    for urls containing apostrophe.

  * Fixed a html entity issue.

  * Tweaked the author extraction to recognize short lines as paragraph 
    ends, not only lines ending in '.' or ':'

  * Stabilized a number of nomcom tests by enforcing queryset ordering.

  * Added more information about submission errors and a full idnits run to 
    the manual post email sent to the secretariat.

  * Added some updates to /release/about

  * Added ordering by name to group personnel lists in edit and about 
    views.  This ordering is by the person's profile name, without attempting 
    to determine which name part is family name or given name.  Fixes #2184.

  * Extended the name_parts() method to consider military rank prefixes.

 -- Henrik Levkowetz <henrik@levkowetz.com>  16 Feb 2017 10:14:00 +0000


ietfdb (6.43.0) ietf; urgency=medium

  **Password strength meter**

  This release provides a zxcvbn-based password strenght meter when setting
  or changing a datatracker user password, and changes the default password
  hasher from PBKDF2 to BCrypt.  It adds support for datatracker management
  of additional wikis,  and changes the management of bower-packaged web
  assets to updating them to the latest minor release on each new datatracker
  release.  It also fixes a few bugs, and tweaks the IPR declaration pages to
  provide more complete information for declarations which indicate that 
  licensing conditions will be provided later.

  From the commit log:

  * Added a change password page, and linked to it from the account profile 
    page and user menu.  Added zxcvbn-based browser-side password strength 
    estimation on the various password setting, re-setting, and changing forms. 
    Added a change password test.  Changed ietfauth/urls.py to not use the 
    deprecated string form for views in urlpatterns.

  * Re-styled some auth-related forms to use a narrower form body on large 
    screens, for aesthethic reasons.

  * Added an explicit setting for the password hashers to use, in order to 
    place the bcrypt hasher first.  This makes BCrypt the default hasher.  
    Added the django_password_strength app to installed apps.

  * Added the zxcvbn bower component, for use in client-side password 
    strength estimation.

  * Added django-bcrypt (for bcrypt password hashing) and 
    django-password-strength (for browser-side zxcvbn password strength 
    estimation) to the requirements.

  * Added ordering for nomcom  Nominee objects.

  * Expanded the Nominee __unicode__() method to provide unique results by 
    including the nomcom year.

  * Tweaked the IPR Details page to show the possible a), b), and c) 
    choices under section 'V' when licensing declaration to be provided later 
    has been chosen.

  * Added a guard to prevent trying to get a document path for a meeting 
    document when the document is not associated with a meeting session.

  * Added support for management of trac wikis for explicitly named groups, 
    such as the IESG and IAOC.  Tweaked the dummy-run handling of the 
    create_group_wikis management command.

  * Added updating of static web assets to the release script.

  * Fixed a bug in a queryset argument in all_id_text(); __in was not used, 
    but the value given was a multi-row queryset.

  * @register.simple_tag now (in Django 1.9) needs explicit mark_safe() (or 
    format_html() which invokes mark_safe()).  Fixed one case which needed this.

 -- Henrik Levkowetz <henrik@levkowetz.com>  10 Feb 2017 10:52:10 +0000


ietfdb (6.42.0) ietf; urgency=medium

  **Django 1.9**

  This release upgrades the datatracker to use version 1.9 of the Django
  framework.  Django 1.9 provides pluggable password validation support,
  stricter template syntax (which prevents some common mistakes), simplified
  call syntax for some common API calls, better database consistency checks
  when creating many-to-many key relationship (preventing references to
  nonexistent entries), and more [a].  A full diff of the upgrade changes is
  available in changeset [12764].

  [a] https://docs.djangoproject.com/en/1.9/releases/1.9/

 -- Henrik Levkowetz <henrik@levkowetz.com>  01 Feb 2017 18:12:13 +0000

ietfdb (6.41.1) ietf; urgency=medium

  This is a minor bugfix release in preparation for merging in the Django 1.9
  upgrade work.  From the commit log:

  * Merged in [12748] from rcross@amsl.com:
    Added requested resources and people who must be there to email
    notifications of session requests.  Fixes #2172.  

  * Added notes to PLAN on features of the new django releases we might want
    to put to use.

  * Fixed an issue with building links from URLs which are already part of a
    link.  Fixes issue #2175.

  * Fixed a place where missing queryargument data could cause a 500 error.

  * Updated the installation instructions based on feedback from
    mlarson@amsl.com.

 -- Henrik Levkowetz <henrik@levkowetz.com>  31 Jan 2017 14:08:58 +0000

ietfdb (6.41.0) ietf; urgency=medium

  **IAB programs support and wiki support for teams and directorates**

  This release introduces support for IAB programs, and also extends the
  creation and permissions management support for Trac wikis to teams and
  directorates.  There are also some bugfixes.  From the commit log:

  * Changed the title of Section 7 of the IESG agenda as requested.  Fixes 
    issue #2167.

  * Fixed up the div tree to bring back the section navigation on the IESG
    agenda page, and fixed the div level and width for the footer.

  * Merged in [12724] from rcross@amsl.com:
    Resolved an issue with merge_person_records caused by Django 1.8 upgrade.
    Fixes issue #2141.  

  * Merged in [12722] from rjsparks@nostrum.com:
    Added programs to the datatracker. Added use of restructuredtext for group
    about pages. Generalized several places where code handles different group
    types. Improved testing of group about.  

  * Changed settings_sqlitetest so that local developer additions to context
    processors and middleware classes are avoided.

  * Added a trac-admin role name, for help in assigning trac-admin rights to
    trac instances.  Extended the create_group_wikis management command to
    create and update wikis for groups of type 'team','ag' and 'dir', in
    addition to 'wg','rg' and 'area'; and also add people with role trac-admin
    in the group or in the secretariat to those given TRAC_ADMIN permissions
    in a Trac instance.

  * Changed semantics for can_manage_group() to include chairs etc, and
    changed calls with the old semantics to use can_manage_group_type().
    Rewrote can_manage_group() in terms of can_manage_group_type() and
    additional checks.  Fixes issue #2155.

  * Merged in [12706] from rjsparks@nostrum.com:
    Restrict editing ReviewSettings.skip_next to team secretaries and the 
    secretariat. Improve validation of skip_next value. Fixes #2149.  

  * Changed the failure leeway of the code coverage test percentage from 
    0.005% back to 0.02%.

 -- Henrik Levkowetz <henrik@levkowetz.com>  26 Jan 2017 12:19:19 +0000


ietfdb (6.40.4) ietf; urgency=medium

  This is a bugfix release, with some enhancements, mostly related to the
  review tool.  From the commit log:

  * Merged in [12670]  and [12675] from rjsparks@nostrum.com:
    Make changing skip_next on a review assignment an explicit decision of the
    assigner. Commit ready for merge. Fixes #2148.

  * Enabled correct time sorting and reporting for interim meetings on 
    /group/{{acronym}}/meetings/, and tweaked the date format.  Fixes issue 
    #2145.

  * Merged in [12665] from rjsparks@nostrum.com:
    Make it easier to see who's really next in reviewer rotation.  

  * Merged in [12627] from rjsparks@nostrum.com:
    Added some convenience navigation for review team secretaries to the menu.
    Restructured the menu lightly around Documents and Role-related links.
    Added navigation from a reviewers \'My Reviews\' page back to the review
    team pages. Fixes #2079.  

  * Added a link to the group datatracker page to the new group 
    announcement (and review) emails.  Fixes issue #2140.

  * Aligned some Group edit form field limits with those of the Group 
    model.  Fixes issue #2137.

  * Excluded some non-testable files from code coverage measurements.

  * Removed an inadvertently duplicated template for-loop.  Fixes issue 
    #2136.

  * Added guards against instances of queryset filtering using an object 
    without primary key.

  * Added password reset links in 2 places; on the login form and in the User
    menu -- it's not been really easy to find the password reset page.

  * Added a variation on the manage.py script which will pick up our local 
    python virtualenv under env/.  This is for use when invoking django 
    management commands externally, for instance in email pipelines from 
    /etc/aliases.

 -- Henrik Levkowetz <henrik@levkowetz.com>  19 Jan 2017 17:40:57 +0000


ietfdb (6.40.3) ietf; urgency=medium

  **Review tool enhancements and Django 1.8 adaptations**

  This is a bugfix/enhancement release focused on addressing feedback on the
  recently introduced review management functionality and doing further
  adaptations to the Django 1.8 framework.

  From the commit log:

  * Merged in [12606] from rjsparks@nostrum.com:
    Tweaked the docevent description for the event noting that a chartering
    effort has been abandoned. Fixes #2099.

  * Merged in [12596] from rjsparks@nostrum.com:
    Show other completed reviews of a document on page showing the status of a
    review request. Fixes #2083.  

  * Merged in [12595] from rjsparks@nostrum.com:
    Improved the team review content templates. Related to #2075.  

  * Merged in [12594] from rjsparks@nostrum.com:
    Provided templates for directly entered review contents for those
    teams/review-types that have them. Fixes #2075.  

  * Merged in [12593] from rjsparks@nostrum.com:
    Send mail to team secretaries when a review is explicitly requested.
    Changed the From and Subject for assignment emails to reviewers to make it
    clearer what the review is for and who assigned it. Fixes #2053 and #2114.

  * Merged in [12589] from rjsparks@nostrum.com:
    Show additional details about a review request when completing it. 
    Fixes #2112.  

  * Merged in [12588] from rjsparks@nostrum.com:
    Changed how we display review text to follow the tecnique used with other
    large blocks of pasted or imported text (shepherds writeups for instance).
    Fixes #2104.  

  * Fixed some pyflakes and form initialization issues with the upgrade to
    DurationField.

  * Extended the form fields used for duration to accept additional formats,
    including formats the secretariat are currently using, in order to avoid
    UI trouble with the TimedeltaField --> DurationField transition.

  * Upgraded custom TimedeltaFields to use the builtin DurationField from
    Django 1.8, and adjusted forms and initialization values accordingly.

  * Merged in [12521] and [12540] from rjsparks@nostrum.com:
    Removed classes obviated in r12520.

 -- Henrik Levkowetz <henrik@levkowetz.com>  22 Dec 2016 10:08:29 +0000


ietfdb (6.40.2) ietf; urgency=medium

  **Docker image based on Debian:jessie and MySQL 5.6**

  This release doesn't provide any new datatracker functionality, but upgrades
  the Dockerfile used to build the datatracker-environment docker image to use
  the Debian Jessie release as a base, and MySQL 5.6 as the database engine.
  (Image at https://hub.docker.com/r/ietf/datatracker-environment/).  There
  are also some other fixes.

  From the commit log:

  * Upgraded the Dockerfile to use debian:jessie as a base, and use
    mysql-server 5.6.

  * Made the docker/build script behave better when trying to remove
    non-existent previous builds of the datatracker-environment docker image.

  * Made docker/updatedb less verbose when downloading a new database dump.

  * Added a tiny script to be run from within docker, to install the extra
    packages needed to run the dependency-graph and htpasswd tests.

  * Added a script which creates a tarball of binary mysql database files, and
    uploads the tarball to the developer area at www.ietf.org, for use with the
    datatracker environment docker image.

  * Simplified the release-coverage script.

  * Enabled invocation of 3 additional scripts from bin/daily (instead of 
    ../scripts/Night-runner)

  * Updated scripts in ietf/bin/ to look in env/bin/ for the virtualenv
    activation script.

  * Changed the handling of skip tests and messages in order to show which 
    tests will be skipped, and why, at the start of a test run.

 -- Henrik Levkowetz <henrik@levkowetz.com>  18 Dec 2016 15:00:54 +0000


ietfdb (6.40.1) ietf; urgency=medium

  This is a mixed bugfix and enhancements release with a lot of attention on
  the new document review support.  A number of cases of deprecated
  functionality from earlier Django version has also be fixed up to use newer
  idioms.

  From the commit log:

  * Fixed a html nit (nbsp without semicolon).

  * Merged in [12545] and [12549] from rjsparks@nostrum.com:
    Allow ads and secretaries to edit the review request comment.  Allow a
    review request to include a comment to show to the review team secretary
    at assignment time and the reviewer at review time. Fixes #2096.  

  * Merged in [12543] from rjsparks@nostrum.com:
    Provide defaults on the Request review form. Fixes #2108.  

  * Merged in [12541] from rjsparks@nostrum.com:
    Provide default filters for reviewer settings. Fixes #2093.  

  * Merged in [12520] from rjsparks@nostrum.com:
    Slight refactor of the review models to capture review team settings. 
    Allows configuring review teams to get automatic suggestions for reviews or 
    not. Provides a better admin for creating/managing review teams. Fixes 
    #2048 and #2072.  

  * Merged in [12518] from rjsparks@nostrum.com:
    Fixes href() for bluesheets. Fixes #2107.

  * Merged in [12506] from rjsparks@nostrum.com:
    Show the review requester on review team summary pages. Fixes #2095.  

  * Merged in [12505] from rjsparks@nostrum.com:
    Disallow requesting directorate reviews of RFCs (such things would better
    be done with reviews of status change documents). Fixes #2065.  

  * Tweaked mergeready to use modules in working dir, and be slightly more 
    verbose when building the mergeinfo cache.

  * Moved warnings settings from manage.py and test_runner.py to one single
    place, settings.py.  Decreased the verbosity level when invoking
    'loaddata' from the test runner.

  * Deprecation fix: Pass the result of active_review_teams() to a
    Role.objects query, instead of passing the function.

  * Deprecation fixes: Use request.GET or request.POST as appropriate, instead
    of request.REQUEST.

  * Deprecation fixes: Explicitly say that redirects are permanent.

  * Deprecation fix: Changed method of retrieving an app's models.  Also now
    importing import_module from importlib instead of from django.

  * Deprecation fixes: Removed instances of 'load future' from templates that
    don't need it any more.

  * Changed the state shown in all_id.txt for drafts which have entered IESG
    processing, but then been replaced, to show as 'Replaced' instead of 'In
    IESG Processing'.  This is consistent with how they are shown in
    all_id2.txt.

  * Added a script to list role holder emails, for use in building
    postconfirmd's whitelist.

 -- Henrik Levkowetz <henrik@levkowetz.com>  16 Dec 2016 12:59:15 +0000


ietfdb (6.40.0) ietf; urgency=medium

  **Django 1.8**

  This release upgrades the datatracker to use version 1.8 of the Django
  framework.  Django 1.8 introduces security enhancements, type checking of
  foreign-key and many-to-many-key arguments when doing database queries, and
  a number of other features [a].  The type checking in particular brought to
  light a number of places where we provided the wrong argument types (or
  multiple inconsistent argument types) to queries.  These have all been
  fixed.  The full set of changes are shown in changeset [12507].

  [a] https://docs.djangoproject.com/en/1.8/releases/1.8/

 -- Henrik Levkowetz <henrik@levkowetz.com>  13 Dec 2016 11:43:37 +0000

ietfdb (6.39.1) ietf; urgency=medium

  **Historical review data. Enhanced person profile page.  Review page enhancements.**

  This is a mixed bugfix and feature release.  From the commitlog:

  * Merged in [12489] from rjsparks@nostrum.com:
    Save a new reviewrequest for each team requested in the request form.
    Fixes #2094.  

  * Merged in [12487] from rjsparks@nostrum.com:
    Make it clearer what version was requested and what version was 
    reviewed on a reveiwers overview page. Fixes #2101.  

  * Check event type only when an event is available.

  * Merged in [12482] from rjsparks@nostrum.com:
    Improves control of email headers for review summary messages. Provides 
    team-specific templates for review summary messages. Fixes #2092 and #2082. 

  * Merged in [12479] from olau@iola.dk:
    Add missing team constraint in the check for previous reviews by a
    reviewer.  

  * Moved optional text wrapping before html escaping in markup_unicode(),
    used by get_unicode_document_content().  Fixes a problem with some
    document lines being wrapped when they should not be.

  * Fixed the manage assigned reviews template to handle the case when 
    reviewed rev is blank.  Fixes issue #2086.

  * Changed to using TestCase from ietf.utils in some places, for consistent
    test-suite failure messages.

  * Updated installation instructions.  Run migrations as the web server user;
    migrations may create files which the datatracker should be able to write.

  * Don't count the template loading done in TemplateChecksTestCase towards
    template coverage numbers.  Updated coverage numbers to match.

  * Merged in [12461] from rjsparks@nostrum.com:
    Added a migration to fetch text from reviews in the mail archives and
    populate the review documents. Fixes #2064.  Will patch into production. 

  * Added more document information to the personal profile pages at
    /person/$FULL_NAME, after a suggestion from Benoit Claise.  Fixes issue
    #2066.

  * Added new display columns to the reviewer settings admin page.

  * Merged in [12438] from rjsparks@nostrum.com:
    Don't show teams with only 'No response' reviews in the search result 
    rows, using the same logic as used for the document main page. Fixes #2070. 

  * Fixed a typo.  Fixes issue #2073.

  * Added a validator for the reviewer settings' Filter Regexp field, to 
    make sure that we don't later hit exceptions when trying to compile and use 
    the regexp entered.

  * Tweaked the admin for doc.models.Document to capture a comment about 
    changes made, and save those in the document history, using 
    .save_with_history().  This makes the admin useful again for doing document 
    changes.  See issue #2067.

  * Changed the handling of DocEvent 'rev' fields in document history.  We 
    should give DocEvent a 'rev' field which is always filled in; the current 
    handling is error prone and much to complicated.

  * Fixed errors in the test_interim_request_series() test.

  * Added a link to the meetecho session recording (not the youtube 
    conversion) on the IETF agenda page.

  * Added guards against picking up non-ascii characters in draft title and
    abstract from drafts submitted in xml form.

 -- Henrik Levkowetz <henrik@levkowetz.com>  09 Dec 2016 12:56:16 +0000


ietfdb (6.39.0) ietf; urgency=medium

  **Review tracking**

  This release adds review tracking to the datatracker.

  The functionality added satisfies the requirements captured in RFC7735 
  and is an evolution of the widely-used standalone review tracking tool 
  developed and maintained by Tero Kivinen. This release includes 
  importing the existing review data from each review team.

  Highlights of the new functionality include:

  - review team members can easily see and manage their review 
    assignments, and can complete their reviews on- or off-line, with direct 
    integration into the mailarchive tool.

  - all reviews for a document are captured in the datatracker and linked 
    from the document's main page.

  - integrated review queue management for review team secretaries, 
    automatically suggesting IETF last-call and telechat reviews.

  - ADs and working group chairs can explicitly request reviews.

  From the commit log:

  * Merged in ^/branch/iola/review-tracker-r12128@12397, bringing in the 
    review tool functionality described in RFC7735.

 -- Henrik Levkowetz <henrik@levkowetz.com>  30 Nov 2016 14:44:48 +0000

ietfdb (6.38.2) ietf; urgency=medium

  This is a bugfix release which also cleans the slate for the coming merge
  in of review tool functionality.

  * Added new clarifying text to 3 IPR-related pages, based on direction 
    from the IESG.

  * Added a migration to fix the mext meeting materials names and external 
    links, which incorrectly pointed at dmm-named objects and files.

  * Made session minutes available with the same kind of url as session
    minutes: /meeting/$num/minutes/$acronym.  (Both of these need to be
    refined to handle multiple agendas and minutes, for groups having multiple
    sessions in a meeting.)

  * Merged in [12393] from rjsparks@nostrum.com:
    Fixed bug where slides from multiple sessions for a group were not 
    all showing. Improved handling of multiple minutes and agendas for groups. 
    Fixes #2058.  Commit should be patched into production. 

  * Merged in [12392] from rcross@amsl.com:
    Add autoconversion (Powerpoint to PDF) or meeting materials files on 
    upload to new materials pages.   

  * Excluded requests 2.12.* as it has an incompatibility issue with 
    urllib3.

  * Added support for Docker for Mac, which uses hypervisor virtualisation. 
    The older VirtualBox based docker-machine should still work.

  * Merged in [12385] from rjsparks@nostrum.com:
    Added an extra highlight to the ballot_icon box when the viewer holds a 
    blocking position in that ballot. Fixes #2046.  

  * Merged in [12384] from rjsparks@nostrum.com:
    Adjust when materials links on the materials page show for the 
    secretariat.  

  * Merged in [12378] from rjsparks@nostrum.com:
    Change the lines saying that a test has failed to make it easier to 
    cut-paste to run the failed test again.  

  * Order materials on the agenda session materials popup according to the 
    sessionpresentation order.  Fixes issue #2049

 -- Henrik Levkowetz <henrik@levkowetz.com>  29 Nov 2016 13:07:38 +0000


ietfdb (6.38.1) ietf; urgency=medium

  **IETF 97 code sprint release 2**

  This release contains a further datatracker enhancement from the IETF-97
  Code Sprint:

  * Merged in [12326] from housley@vigilsec.com:
    Allow WG Chairs to manage the meeting materials when starting from 
    the old WG Chair Dashboard in ietf.secr.proceedings 

 -- Henrik Levkowetz <henrik@levkowetz.com>  17 Nov 2016 00:40:24 +0000


ietfdb (6.38.0) ietf; urgency=medium

  **IETF 97 code sprint**

  This release contains datatracker bugfixes and enhancements from the IETF-97
  Code Sprint.  This brings in many useful bugfixes and enhancements, as
  described below. Many thanks to everyone who contributed!

  * Merged in [12353] from rjsparks@nostrum.com:
    A second performance improvement for the proceedings pages.  

  * Merged in [12352] from rjsparks@nostrum.com:
    Add links to session materials pages to the rows on the by-type view of
    the agenda.  

  * Merged in [12351] from rjsparks@nostrum.com:
    Tweaked button color and position on the last call form for status-change
    documents at the secretariat's request.  

  * Merged in [12348] from rjsparks@nostrum.com:
    Performance improvements for the proceedings page.  

  * Merged in [12347] from rjsparks@nostrum.com:
    Repaired broken links on the proceedings page.  

  * Merged in [12340] and [12341] from adam@nostrum.com:
    Incorporated Robert's \'swim lane\' code to eliminate slot overlaps that
    made weekend effectively unusable.  Reworked animation code to use CSS
    animations for smoother performance.  Calendar redraw is now completely
    event driven rather than refreshed once per second.  Expanded meetings can
    now be closed with escape key.  Refactored code to make it more idomatic.
    Eliminated many globals.  Reformatted to reflect a more consistent coding
    style. 

  * Added common patterns for template file names to ignore when testing 
    template parsing and template test coverage.

  * Fixed another duplicate entry issue with materials uploads.

  * Merged in [12338] from rjsparks@nostrum.com:
    Modified the RFC feed to better support digital preservation.  Fixed an
    issue with the agenda linking to group type \'other\' slides.

  * Merged in [12334] from rcross@amsl.com:
    Fixed parameter validations in meeting.views.ajax_get_utc().  Fixes #2023.
    Also fixes a pyflakes error.

  * Merged in [12330] and [12331] from rcross@amsl.com:
    Add the ability for the Secretariat to skip the announcement when
    scheduling an IRTF interim meeting. Fixes #2015.  

  * Fixed another case where pre-existing database objects related to 
    meeting materials would cause exceptions when trying to upload updates.

  * Merged in [12329] from rjsparks@nostrum.com:
    Added groups that did not meet to the proceedings.  

  * Updated installation instructions.

  * Merged in [12320] from rcross@amsl.com:
    Change non-working-group-session edit view to use same group options 
    available when creating the non-working-group-sessions.   

  * Merged in [12318] from rjsparks@nostrum.com:
    Change the edit buttons on the materials page to be links. Move where 
    the link appears.  

  * Merged in [12317] from rjsparks@nostrum.com:
    Add links to group meetings tabs from the navbar for 
    chairs/secretaries.  

  * Merged in [12316] from rjsparks@nostrum.com:
    Guard against sessions that have no timeslot (such as for groups that 
    are not officially not meeting at an IETF meeting) in the materials upload 
    views.  

  * Merged in [12315] from rjsparks@nostrum.com:
    Add a view of past meetings.  

  * Added admin entries for a bunch of name models lacking them.

  * Added the man viewer to the Dockerfile, hence the docker image.

  * Added a --no-download option to docker/updatedb

  * Added a utf-8 encoding setting, in case the autogenerated datetime 
    string from the $ keyword uses a non-ascii locale.

  * Use rsync instead of wget to pull down the datatracker database image, 
    since wget isn't available on macs by default.

  * Fixed some issues with mkdevbranch; giving better normalization of the 
    input to uniq, and correctly using the alias list to provide the correct 
    alias for email addresses where localpart should not be used to derive the 
    svn branch name.

 -- Henrik Levkowetz <henrik@levkowetz.com>  16 Nov 2016 23:59:35 +0000


ietfdb (6.37.1) ietf; urgency=medium

  This is a bugfix release without any particular focus.  From the
  commit log:

  * Tweaked and enhanced the django admin for DocEvents.

  * Replaced the use of plain DocEvent for submission doc events with a 
    SubmissionDocEvent that carries rev and a FK to submission.

  * Restricted the permitted revisions for Trac -- the most recent revision of
    Trac (1.2.x) has a different API than 1.0.x.

  * Pip 9.0.1 does not obey requirements which lead to downgrading an 
    installed package.  Useless for our purpose.  Requiring pip<9.0 in 
    requirements.txt .

  * If a session agenda for a meeting exists, but is not bound to the 
    session, the Document.objects.create() in upload_session_agenda() will 
    fail.  Using get_or_create() instead.

  * Made the svn and libsvn symlinking code more robust against bad 
    settings.

  * Made doc.views_stat.make_title() more robust against inconsistent query 
    arguments.

  * Updated the create_group_wikis management command with additional 
    switches to make it easier to do test deployment of individual wikis.

  * Don't run ietf.checks.* more than once per invocation (under Django 
    1.7, these can be run more times than there are apps with migrations, 
    posibly as many times as twice that number).

  * Tweaked debug.py

 -- Henrik Levkowetz <henrik@levkowetz.com>  08 Nov 2016 18:01:35 +0000


ietfdb (6.37.0) ietf; urgency=medium

  **YouTube links, Fixed bibtex and tweaked meeting materials pages**

  This release brings some new small features, and a bunch of bugfixes.  The
  IETF meeting agenda now provides links to the YouTube videos generated from
  the Meetecho video stream as soon as they have been uploaded and the URL has
  been added to the datatracker.  It improves both content and rendering time
  for the new meeting materials page, and it fixes a problem with the bibxml
  entries provided by the datatracker.  It also contains enhancements to the
  development view of sql queries executed as part of generating the current
  page, the addition of function call duration to the @debug.trace decorator,
  and code refacturing which should speed up meeting-related pages in general.

  Details from the commit log:

  * Merged in [12213] from rcross@amsl.com: Fixed a bug where interim
    announcement form was initialized with lists instead of strings.  

  * Rewrote Document.href() to not do database queries when possible, as that
    has a big performance impact.  Fixed a number of tests which relied on
    href() not doing the right thing for simplified test data.  Added caching
    of canonical_name(), which can be quite heavy.  Additional refactoring in
    a number of places, to use better test data and avoid test failures for
    good code.

  * Updated the installation instructions file.

  * Added caching to avoid calling the meat of each of the Session minutes(),
    recordings(), bluesheets(), slides(), drafts() methods more than once per
    session instance.  This removes another 3*#sessions sql queries from the
    meeting materials page when the materials are all in place (less when the
    first invocation reurns nothing).

  * Removed caching of the materials page from the template (edit buttons are
    different for different users), and used select_related() and code
    re-write to reduce the sql query count from ~1900 to ~600, query time from
    ~2s to ~0.5s.  More can be done, but the page response time is more
    acceptable now.

  * Refined the sql debug view at the bottom of each page.  Added a column
    showing the WHERE clause, as that is quite helpful in working out where a
    given query is coming from.  Also added a column that indicates whether a
    query originated in view code or template rendering.  Added an sql_debug
    template variable to make it easier to switch between the sql debug view
    and using the django-debug-toolbar.

  * Added call duration information to the @debug.trace decorator.

  * Fixed a bad link to uploaded session agendas.

  * Added a Document.pub_date() method which returns the RFC publication
    datetime or other documents' new-revision datetime.  Changed the generated
    bibtex entries to use pub_date().  Added tests for the bibtex entries, and
    added 'bibtexparser' to requirements.txt, for use in testing.  Fixes issue
    #2032.

  * Added caching of Document.href() values.

  * Changed the agenda template to provide links to video recordings on
    youtube if available, instead of pointing at meetecho's archive.

  * To minimize what seems to be an increased risk of segfaults when using
    virtualenv with system packages, this commit introduces an alternative,
    which does away with the general system package availability, but adds
    symlinks to two svn related system packages when running checks.

  * Updated the INSTALL file with the changes from 6.36.0.

  * Added a note on better handling of the meeting break areas to the PLAN
    file.

 -- Henrik Levkowetz <henrik@levkowetz.com>  30 Oct 2016 12:15:26 +0000



ietfdb (6.36.0) ietf; urgency=medium

  **Trac wiki and issue tracker support**

  This release introduces a management command which will create new instances
  of Trac pages when new WGs, RGs, and Area groups are created, and also keep
  the admin permissions and issue tracker component updated with the group
  chair/secretaries and the groups documents.  Once existing wikis have been
  moved from tools.ietf.org, the management will be added to cron to be run
  regularly.

  The installation procedure changes slightly with this release, because we
  need to be able to use the system-installed subversion bindings for python.
  When running under virtualenv, it now has to be created like this::

	6.36.0 $ virtualenv --system-site-packages env

  There are also some bugfixes.  From the commit log:

  * Fixed a bug in the API cache key construction which could make the key 
    longer than necessary.

  * Added a test for meeting agenda in UTC

  * Removed some dead code.

  * Fixed the javascript code in the floor-plan template that adds room 
    links.  It didn't handle rooms without assinged floor-plans well.

  * Merged in a management command which provides glue code for creation 
    and maintenance of Trac issue tracker and wiki installations per group.  
    New groups of type wg, rg, and area will autmatically receive a Trac 
    instance.

  * Fixed a bug in testing for directory existence in the test setup.

  * Make sure that the svn component is enabled in the Trac config file, even
    if we can't find the Trac inherit-from settings file.

  * Made the wiki glue test skippable, in case the python subversion bindings
    are unavailable.  Added creation of temporary directories also for the svn
    repositores created for wikis during testing.

  * Make sure to not include draft name in the title extracted from draft 
    text.  Fixes a problem with bad info in 1id-abstracts.txt

 -- Henrik Levkowetz <henrik@levkowetz.com>  21 Oct 2016 15:14:53 +0000


ietfdb (6.35.0) ietf; urgency=medium

  **New proceedings page improvements**

  This release brings incremental improvements to the new proceedings pages;
  in particular it adds proceeding introductionary pages: Progress Report and
  Attendees.  It also fixes a large number of bugs and issues, and adds some
  performance improvements for the secretariat's schedule layout view, and for
  the IETFers app support view.

  Details from the commit log:

  * Modified a test in upcoming_ical() to not break if a group does not 
    have a parent.  Fixes a server 500 error.

  * Merged in ^/branch/proceedings/6.33.1.dev0@12141 from rcross@amsl.com:
    Added meeting proceedings introduction pages: Progress Report and 
    Attendees.  Added a data migration to provide proceedings introduction 
    information for IETF 95 and 96.

  * Merged in [12132] from rcross@amsl.com:
    Extended Liaison to_contacts field to 2000 characters.  Fixes #2024.   

  * Reverted one instance of caching, as it seems schedules can change 
    owners.

  * Fixed a schedule save-as redirect which could not match any URL, 
    leading to a 500 error.

  * Added some caching to methods which are called very often when showing 
    the meeting schedule edit view.

  * Merged in [12104] from rjsparks@nostrum.com:
    Don't show the request publication button for ise,irtf, and iab drafts 
    after publication has already been requested. Fixes #2019.  

  * The db api prefers resource URIs ending in slash -- make it so in 
    json_agenda().

  * Changed another class name that might trigger adblock.  Related to 
    issues #2016 and #2027.

  * Changed an unfortunate html class name 'adname' (Area Director name) 
    which triggered adblock.  Fixes issues #2016 and #2027.

  * Fixed room_name() to not fail when a timeslot has no location.  Fixes a 
    server 500 for agenda.json

  * Updated the requirements to exclude PyQuery 1.2.14.  PyQuery 1.2.14 fails
    on some selectors we use (in particular, line 1370 (action = ...) in
    submit.tests.do_submission_email() fails).  

  * Added the first stab at a helper script for setting up a minimal test
    environment on a new host.

  * Merged in [12099] from rjsparks@nostrum.com:
    Changed interim announcements and interim cancellation announcements to
    use mailtriggers. Added irtf-announce to announcements for IRTF groups.
    Fixes #2018.  

  * Added a migration to remove most of the duplicate 'Upload' doc events.

  * When converting submission events to doc events, post them in 
    chronological order.  Don't add upload doc events until we're past the 
    possibility of submission cancellation.

  * Merged in [12082] from rcross@amsl.com:
    Fixed an issue where interim meeting request form didn't list research
    groups when the logged-in user was both a working group chair and a
    research group chair.  

  * Made it possible to merge nominations with inactive email addresses.
    By default the SearchableEmail form field only displays active email
    addresses, but this use case needs all known email addresses.

  * Fixed inclusion of tablesorter css and js for use when displaying the
    SQL query list in development mode.

  * Added admin support for the DocumentAuthor model.

  * Fixed a place where email addresses which were not all lowercase could
    slip in, which messed up some reverse table relationships.  (This was
    found by running our check_referential_integrity management command.)

  * Fixed a problem with the error message text for the nominee email edit 
    form.

 -- Henrik Levkowetz <henrik@levkowetz.com>  17 Oct 2016 18:17:47 +0000


ietfdb (6.34.2) ietf; urgency=medium

  **Draft submission and document DOI fixes**

  This is a bugfix release which addresses several issues related to draft
  submission: incorrect timestamps and duplicate history events, a corner case
  where non-ascii draft content would cause an exception before the idnits
  message about non-ascii content was shown, and better handling of draft
  submissions where email address information is missing for some authors.
  The DOI information in the RFC feed is now represented better, and some
  pages which had invalid html has been corrected.

  Details from the commit log:

  * Added a data migration to fix up incorrect submission doc events.

  * Removed the code which created duplicate new revision doc events.
    Corrected the timestamp on approval docevents.  Changed where the
    submission upload docevent is created, to avoid spurious events for
    cancelled uploads.  Adjusted the person associated with some events from
    submitter to (System).  Added tests for the sequence of events associated
    with a submission.

  * Tweaked the admin models for submission events to show more relevant info.

  * Moved some code and tweaked the settings to ignore sql debugging functions
    when calculating code coverage.

  * Refined the sql debug info, making the table of queries sortable and
    adding duplication counts and accumulated query time.

  * Fixed some invalid html, and tweaked the html validation settings in the
    test crawler.

  * Merged in [12055] from rjsparks@nostrum.com:
    Modified the rfc feed to better represent dois. Fixes issue #2014.

  * Fixed 2 testing bugs.  Added tests for handling of submitters without 
    email and drafts with non-ascii names in the author section.

  * Code changes to handle draft submission authors without email addresses 
    better.

  * Changed to use plain_ascii() name for formatted_email() address.

  * Tweaked the text of a main menu item.

  * Added code to try various ways of handling non-ascii names/emails in draft
    submissions, in order to get past the early processing to the point where
    we run idnits and can flag non-ascii content, instead of failing with a
    server 500 error.

 -- Henrik Levkowetz <henrik@levkowetz.com>  02 Oct 2016 16:37:58 +0000


ietfdb (6.34.1) ietf; urgency=medium

  This is a bugfix release, with the most interesting fixes being to allow
  meeting materials upload before sessions have been scheduled, and to direct
  new release notifications for area drafts to the ADs, instead of to all the
  area WG chairs.  The release also contains some test suite improvements.
  Details:

  * Merged in [12038] from rjsparks@nostrum.com:
    Changed how document names are generated for agendas and slides to allow
    uploads before meetings are scheduled.  

  * Merged in [12014] from rjsparks@nostrum.com:
    Improved who to copy when sending submission confirmation mail when
    authors change.  

  * Tweaked test data to make test data sessions actually fall within their 
    meeting, and to make sure that the test_agenda_current_audio sessions are 
    in the near future.

  * Added interpolation of values from the session object when rendering 
    audio_stream_url.

  * Added a test which specifies a meeting currently under way, in order to
    make sure that code paths which are used only for current meetings are
    excercises, this reduces coverage variation due to random meeting dates.
    Also added a test for the presence of Audio stream, which isn't present on
    agenda pages of past meetings.

  * Made it possible to pass in a meeting instance to make_meeting_test_data,
    and added an audio stream UrlResource for test purposes.

  * Changed things so that the reorder_by setting has an effect on the test 
    ordering.  It didn't before, as CoverageTest was a subclass of the earlier 
    entries in the reorder_by setting.

  * Make pyflakes happier sorting out tastypie.resources.ModelResource.

  * Undid an unintended commit (code change for test purposes)

  * Change the cache key construction to deal with query arguments 
    containing spaces.  Fixes 500 errors which would otherwise occur.

 -- Henrik Levkowetz <henrik@levkowetz.com>  27 Sep 2016 07:17:01 +0000


ietfdb (6.34.0) ietf; urgency=medium

  **New proceedings pages**

  This release introduces the new proceedings pages, as an integral part of
  the datatracker.  This is the work of rjsparks@nostrum.com, with
  contributions from rcross@amsl.com.  The new proceedings pages use live data
  from the datatracker database up to the point in time when they are
  finalized; from that point on they are fixed.  They provide proceedings
  pages using the same responsive design as the rest of the datatracker, and
  since they pull agendas, slides, minutes, etc. from the database directly,
  they will be available and should be useful also during a meeting.  Feel
  welcome to inspect the IETF 96 version of the new proceedings pages at
  https://datatracker.ietf.org/meeting/96/proceedings .

  As part of this work, it is now possible to have separate session agendas
  when a group has more than one session during a meeting.  This made it
  necessary to change the upload pages for meeting materials.  They used to be
  available under /secr/proceedings/, but are now under /meeting/NN/session,
  for instance https://datatracker.ietf.org/meeting/97/session/avtext.  On the
  'meetings' tab for each group (WG, RG, etc.) there is a link to the details
  page for each session, with upload buttons available for logged-in chairs
  and group secretaries. The session details can also be reached from the
  meeting materials page.

 -- Henrik Levkowetz <henrik@levkowetz.com>  24 Sep 2016 09:31:06 +0000


ietfdb (6.33.1) ietf; urgency=high

  **Nomcom nominee merging, agenda.json enhancements**

  This release brings back merging of duplicate nominee records in the nomcom
  tool, to complement the merging of duplicate person records.  It brings a
  number of enhancements to the agenda.json output provided for the IETFers
  iOS app, and a number of bugfixes as mentioned in this changelog excerpt:

  * Merged in [11988] from rcross@amsl.com: Fix issue with proceedings for
    training sessions.  

  * Brought back the nomcom nominee merge functionality which was
    inadvertently removed in January.  There is now both a Merge Nominee and a
    Merge Person form, with additional instructions which should make it
    easier to choose the right one for the task.

  * Don't use EmptyQuerySet directly; return Class.objects.none() instead.

  * Clarified the differences between Document.href() and
    Document.get_absolute_url().  Updated PLAN.

  * On request, changed the agenda and minutes links in json_agenda to point
    at the document text instead of the document API endpoint.

  * Added an is_bof flag to json_agenda.  Also added group state information.
    Changed the group information to use historic information instead of
    current.

  * Added a link to the minutes api to json_agenda().  Changed the output json
    to use sorted keys.

  * Made retrieve_search_results() always return a queryset, which lets us use
    .exists() on the returned value as needed.

  * Made 'group' a json object in the json_agenda, and added
    session.group.type information.

  * Fixed a merge error which replaced the group group state with a duplicate
    group charter line on the group_about page.  Fixes issue #2009.

  * Changed the 1id_index generation to use a new Person method
    .plain_ascii().  Added tests for some Person name methods.

  * Changed 1id_index back to using plain names, undoing an inadvertent change
    to names with title.

  * Added object IDs to /meeting/<num>/agenda.json.

  * Datatracker buildbot (http://buildbot.tools.ietf.org:8010/waterfall)
    enhancements, tracking additional Test-Crawler measurables.

 -- Henrik Levkowetz <henrik@levkowetz.com>  23 Sep 2016 06:22:56 +0000

ietfdb (6.33.0) ietf; urgency=medium

  **Manual draft submission management**

  This release provides secretariat support for managing draft submissions
  outside of the automated datatracker draft submission tool.  In addition to
  making the secreatiat handling of draft submissions that come in by email or
  other paths easier, it also improves the datatracker submission and document
  history for these documents.

  From the commit log:

  * Merged in ^/branch/scow/track-manual-id-posts-6.31.1.dev0, which 
    provides secretariat support for managing draft submissions outside of the 
    automated datatracker draft submission tool.

  * Fixed an issue where button badges would be positioned differently on 
    firefox and webkit-based browsers.

 -- Henrik Levkowetz <henrik@levkowetz.com>  11 Sep 2016 12:39:41 +0000


ietfdb (6.32.1) ietf; urgency=low

  This is a minor bugfix release, in preparation for merging in the manual
  draft posting management code.

  * Updated the PLAN file.

  * Changed the export options and resources for charts so as to not involve a
    third-party server for image exports.

  * Started refacturing of the by now very large monolithic settings file.

  * Fixed a situation where the Change IETF WG State form gave an exception
    when the form was submitted empty, instead of informing the user.

  * Added a pylint rc-file, and fixed or silenced a number of issues found by
    pylint using the settings .pylintrc (which enable only error checking).

  * Added a missing return value used by
    ietf.middleware.SMTPExceptionMiddleware.process_exception().

  * Added a set of chart options for small activity indication graphs.  Fixed
    a pylint nit.

 -- Henrik Levkowetz <henrik@levkowetz.com>  09 Sep 2016 12:23:13 +0000


ietfdb (6.32.0) ietf; urgency=low

  **Initial charting support**

  This release brings in basic charting support, and a set of initial charts
  showing new-revision timelines for document search results and authors.
  There are also a few bugfixes:

  * Fixed a blowup which could happen if an rfc doesn't have the standards
    level set.

  * Fixed a bug in the rfceditor index sync introduced by the event saving
    refactoring.

  * Fixed document methods .get_file_path() and .href() for historic meeting
    documents, to make urls like /doc/minutes-96-detnet/1/ work.

  * Fixed a bug in bin/mkrelease.

 -- Henrik Levkowetz <henrik@levkowetz.com>  08 Sep 2016 09:05:12 +0000


ietfdb (6.31.1) ietf; urgency=low

  This release adds more proceedings generation functionality, adds slide
  ordering for session materials, adds caching for the json export for the
  'IETFers' iOS app, tweaks some fonts, and fixes a number of bugs:

  * Fixed a number of places where events were given the document time, but
    the document had not been given a new time yet, after the eventsave
    refactoring code changes of [11841].  Fixes issue #2004.

  * Updated the zone information files used by the datatracker when generating
    iCalendar content.

  * Merged in [11891] from rjsparks@nostrum.com: Modified agenda.json to
    properly handle meetings that do not have an agenda yet. Fixes #2003.  

  * Merged in [11890] from rcross@amsl.com: Modified the monthly progress
    report script to deal with unicode characters in document titles.  

  * Merged in [11889] from rcross@amsl.com: Strip .py extension of report
    scripts to match the rest.  Add svn:executable to scripts that were
    missing it.  

  * Added page caching for json_agenda().  Changed localization of naive time
    from database in json_agenda to use settings.PRODUCTION_TIMEZONE.

  * Merged in [11888] from rjsparks@nostrum.com: Added an order field to
    sessionpresentation to allow ordering slides.  Reworked the session
    details page to break slides and drafts into their own sections.  

  * Added handling for an exception which could occur for charter documents
    which does not have a matching chartered group.

  * Merged in [11877] from rjsparks@nostrum.com: Copy group chairs on
    confirmation email when a new group document revision is submitted that
    changes the author set. Fixes #1998.  

  * Styled the textarea of the charter form to use a monospaced font.
    Corrected the monospace font selection for the dbtemplate textarea.

  * Merged in [11859] from rjsparks@nostrum.com: Put WG summary information on
    the rechartering page. Fixes #2000.  

  * Merged in [11856] from rcross@amslcom: Added a missing meeting fixture.

  * Merged in [11850] from rcross@amslcom: Added support for the IETF Overview
    for the proceedings, including an editable database-stored template;
    completed tests and migrations.

  * Merged in [11855] from rjsparks@nostrum.com: Updated the instructions page
    for the submit tool to reflect what currently happens.  

  * Merged in [11849] from rcross@amsl.com: Fixed a bug with main
    secr/proceedings page and added a test.

 -- Henrik Levkowetz <henrik@levkowetz.com>  31 Aug 2016 14:20:19 +0000


ietfdb (6.31.0) ietf; urgency=low

  **Refactoring of saving document state and events**

  This release contains a major refactoring of the way document state changes
  are saved.  It contains a migration which takes a long time to run, but can
  safely run at the same time as the system is in production.

  Extract from the commit log:

  * Merged in ^/branch/iola/event-saving-refactor-r10291 (via
    ^/personal/henrik/6.30.1-eventsave), which refactors document saving to
    always use doc.save_with_history(events), and requires at least one
    accompanying event.  This branch also provides refactoring of recurring
    regexes in url patterns into a dictionary.  As part of the merge, also did
    refactoring of newer code which didn't use the save_with_history() method.

 -- Henrik Levkowetz <henrik@levkowetz.com>  25 Aug 2016 06:04:47 +0000


ietfdb (6.30.0) ietf; urgency=medium

  **Proceedings page work and improved meeting support**

  This release brings in new code to generate meeting proceedings pages,
  available only to the secretariat at this time; it adds slide links to the
  agenda for the Sunday sessions, provides a new json export of meeting data
  optimised for the iPhone IETFers app, and improves the error checking of
  form data for account creation.  It also fixes a number of bugs, as detailed
  in the changelog extract below: 

  * Merged in [11810] from rjsparks@nostrum.com:
    Corrected some missed base template references in dbtemplate from 
    the facelift effort.  

  * Merged in [11792] from rcross@amsl.com:
    Requests for virtual interim meeting should go directly Scheduled - 
    Waiting for announcement state and an email notification sent to the 
    secretariat.  Fixes issue #1994.

  * Merged in [11789] from rcross@amsl.com:
    Show timezone with interim meeting request information.  Fixes #1995.

  * Merged in [11781] from rcross@amsl.com:
    Fixed an issue with interim meeting series of more than two meetings.
    Changed to not send meeting change notifications for meetings not yet
    announced.  

  * Merged in [11756] from rjsparks@nostrum.com:
    Provides a custom json view of meetings optimized for the iphone app.  

  * Merged in ^/branch/iola/account-ascii-fixes-r11748 from olau@iola.dk:

    - Added a check for a reserved name in account registration
    - Handle Person.ascii in edit profile better to try to ensure that
      people fill it in correctly. Blank it out if it's unchanged from name
      and use unidecode to set it automatically (with a warning if it
      actually converts something).
    - Throw a validation error if a profile name contains an @ sign upon
      edit so that people do not forget to enter their name.

  * Fixed the plenary etherpad name

  * Added slide links to the Saturday/Sunday 'other' sessions.

  * Fixed the plenary jabber room name

  * Tweaked the help text for the nomcom member entry form.

  * Merged in [11780] from rjsparks@nostrum.com:
    Removed bluesheet upload from the secr/ bluesheets generation page.  Added
    navigation to session details from the meeting materials view rows.  

  * Merged in [11779] from rjsparks@nostrum.com:
    Robustness improvements for the bluesheet migrations.  

  * Merged in [11778] from rjsparks@nostrum.com:

    - Enabled and refined document_main view for bluesheets.
    - Improved migration for 95 and 96 bluesheets, adding DocAlias and DocEvent 
      creation.
    - Added bluesheet upload to the session details view.
    - Moved a function out of secr/proceedings/views into its own util.py file to 
      allow reusing it in other modules without introducing circular imports. 

  * Merged in [11770] from rjsparks@nostrum.com:
    Merged from rcross: Added Introduction header to proceedings. Added
    Acknowlegements to the meeting model. Added a view for acknowlegements.  

  * Merged in [11767] from rjsparks@nostrum.com:
    Improved some test coverage.  

  * Merged in [11766] from rjsparks@nostrum.com:
    Added status reports to proceedings. added a view for the applicable
    status report for a given meeting.  

  * Merged in [11764] from rjsparks@nostrum.com:

    - Moved the materials start, cutoff, and revision dates into the Meeting 
      object
    - Added a bit to meeting to note whether proceedings are final. 
    - Updated the proceedings view to reflect the status of that bit. 
    - Added a function that finalizes a meetings proceedings.
    - Straightened out a migration numbering collision introduced in an earlier 
      merge. 

  * Merged in [11758] from rjsparks@nostrum.com:
    Continued iterative-improvements to auto-generated proceedings:

    - Migration to create documents and sessionpresentations for ietf95 and 96
      bluesheets. Add bluesheets to proceedings.
    - Refactored columns for proceedings to group agenda, minutes, and
      bluesheets into one column.
    - Added a column for recordings. Show the recordings for all sessions for
      a group.
    - Refactored all_meeting_* functions on session. Improved (with a hack) how
      recordings are displayed.
    - Added guards against very old meetings. For more modern, past, meetings,
      added a warning that these are not the official proceedings and provide
      a link to the official proceedings. 

  * Merged in [11711] from rjsparks@nostrum.com:
    Starting a page for direct rendering of proceedings.  

 -- Henrik Levkowetz <henrik@levkowetz.com>  20 Aug 2016 11:46:27 +0000


ietfdb (6.29.0) ietf; urgency=high

  **IETF 96 Code Sprint**

  This release contains datatracker bugfixes and enhancements from the IETF-96
  Code Sprint.  This brings in many useful bugfixes and enhancements, as
  described below. Many thanks to everyone who contributed!

  * Merged in [11702], [11712], and  [11713] from rjsparks@nostrum.com:
    Repairs the javascript that renders the week-view calendar on the
    agenda page. Fixes #1984.

  * Merged in [11708] from rcross@amsl.com:
    Restricted the session request options to groups of type WG,RG or AG.
    Added a new mailtrigger to names fixture.  

  * Merged in [11699] from rcross@amsl.com:
    Changed blue_sheet_generate() to only generate blue sheets for WG and RG
    group types that have sessions on the official schedule.  

  * Merged in [11687] and [11710] from presnick@qti.qualcomm.com:
    Generate a message to Secretariat and IESG when AD changes a draft state
    to 'Approved'.  Fixes issue #796.

  * Merged in [11697] from rcross@amsl.com:
    Changed check_audio_files() to only consider sessions on the official
    schedule.  Fixes some 500 errors.   

  * Merged in [11690] from housley@vigilsec.com:
    When the Secretariat marks a session as cancelled, the HTML agenda
    shows a red CANCELLED box, the text shows *** CANCELLED ***, and (as
    before) the .ics file includes STATUS:CANCELLED.  Fixes issue #1639. 

  * Show only 'session' and 'other' type meetings on the materials page, 
    especially do not show leadership meetings.

  * Merged in [11686] from rcross@amsl.com:
    A refactor to give the secretariat a broader selection of groups to choose
    from when scheduling non-working group sessions.  

  * Merged in [11681] from suresh.krishnan@ericsson.com:
    Allow ADs to manage out of area working groups and upload proceedings for
    them. Fixes issue #1648.  

  * Merged in [11668] from suresh.krishnan@ericsson.com:
    Fixed validation of submitter name and email when they are same as the 
    holder's info. Fixes issue #1971.  

  * Tweaked meetecho URLs, and added a new template filter for string
    formatting.

  * Merged in [11666] from housley@vigilsec.com:
    Do not show updates related to a removed IPR disclosure.  Fixes #1983. 

  * Merged in [11664] from rcross@amsl.com:
    Send email to the secretariat when an interim meeting has been approved
    and is waiting for announcement.  Uses a new mailtrigger: interim_approved.  

  * Merged in [11663] from housley@vigilsec.com:
    Clarify that the consensus field is talking about whether the doument will
    include the consensus boilerplate when it is published as an RFC.  
    Fixes issue #1955. 

  * Merged in [11662] from rcross@amsl.com:
    Fixed duplicate help-block issue on Interim Meeting Request Page.   

  * Merged in [11656] from rjsparks@nostrum.com:
    Enhanced factories to simplify test writing.  

 -- Henrik Levkowetz <henrik@levkowetz.com>  20 Jul 2016 09:33:57 +0000


ietfdb (6.28.0) ietf; urgency=medium

  **Jabber, Etherpad, Audio and Meetecho links on the agenda page**

  This is a minor feature release with some bugfixes, in preparation for the
  code sprint release.  This adds links to Jabber room, Etherpad, Audio
  stream, and Meetecho video participation to the IETF meeting agenda page.

  Excerpt from the commit log:

  * Added a buildbot build to check that the minimum library version 
    required in requirements.txt works.

  * Updated requirements.txt to prevent installation of incompatible html5lib
    versions.  Increaced the requirement on setuptools to 18.5 to avoid later
    problems when downgrading to minimum required versions, then upgrading
    again.

  * Fixed a typo in the Dockerfile, and added the vim editor in the docker
    image, for vi people.

  * Merged in [11654] from rjsparks@nostrum.com:
    Call out downreferences in autogenerated last call text. Fixes #1982.  

  * Updated the version requirement for pyquery.

  * Added a test case for group home.

  * There were multiple different regex patterns in different urlpattern
    declarations, with some of them permitting characters which should not
    occur in group acronym.  Changed them to consistently use [-a-z0-9]+ .

  * If an external RfcEd/IANA command fails, capture stderr and raise an
    Exception.

  * Added links to Jabber room, Etherpad, Audio stream, and Meetecho video
    participation, up to the time a session ends; switching out Jabber,
    Meetecho and Audio streams with links to logs or recordings after the
    end of a session.

  * Made all the scripts under ietf/bin/ set up the environment the same 
    way.

 -- Henrik Levkowetz <henrik@levkowetz.com>  16 Jul 2016 13:43:47 +0000


ietfdb (6.27.0) ietf; urgency=high

  **Floor plan enhancements**

  This release builds on 6.26.0 to provide enhanced floor plan and room
  location functionality.  The room names on the agenda now link to the
  datatracker floor plan with a blinking arrow showing the room location on
  the floor plan, just as on Tony Hansen's floor plans on tools.ietf.org.  The
  floor plan page shifts to the correct floor when showing a room location.
  The floor plan page now lists functional names, in addition to room names.
  Both floor plans and blinking arrows now adapt to various screen sizes, and
  should be functional on smartphones, tablets, and laptops.

  There are also some bug fixes and enhancements unrelated to the floor plans:

  * Fixed various issues with the interim approval request email text when 
    used for non-WG groups (RGs, for instance).  Added supporting template 
    filter functions. Related to issues #1979 and #1980.

  * Modified the Alias test-data factory to work around a problem with the
    backend collapsing aliases with accented and unaccented versions of the
    same name.

  * Added a 'verbose_name' attribute to the GroupTypeName table, with 
    updated admin and a data migration to provide verbose group names.

  * Added support in the interim meeting request form for taking a group id 
    parameter as query arg.

  * Replaced the hardcoded 'Area Director' approval role in the interim
    approval notification email text with a group-dependent list of approval
    roles.  Fixes issue #1980.

  * Pre-filled the group choice in the interim meeting request form when
    linked from a button in the group's meeting tab.

  * Split up the action buttons on the group meeing tab to put buttons after
    the 'close group' button on a new line.  Added an interim meeting request
    button.

  * Modified the interim announcement text to be less rude if remote
    participation isn't supported.  Fixes issue #1979.

  * Merged in [11530] from rjsparks@nostrum.com:
    Adds a publisher to the digital preservation feed.  

 -- Henrik Levkowetz <henrik@levkowetz.com>  10 Jul 2016 16:07:07 +0000


ietfdb (6.26.0) ietf; urgency=high

  **Meeting floor plans**

  This release adds basic support for meeting venue floorplans and room
  location, including JSON API access to floorplan images and room
  coordinates.  Floorplan data for IETF 96 in Berlin is also provided in a
  data migration.  Not part of this release, but planned for a later release,
  is support for arrows pointing out rooms, and secretariat support for room
  location input.  Merged in from ^/personal/henrik/6.25.2-floorplans.

  There are also a few bugfixes included:

  * Brought back, by popular demand, a tab with the link to a group's tools 
    pages (which was removed in release 6.25.0).

  * Save submitted session agendas as UTF-8, not as ascii.  Should fix a few
    server 500 errors on session agenda uploads.

  * Added an explicit PhantomJS(port=0) as a workaround for old phantomjs 
    instances staying around and blocking the port needed to run tests.

 -- Henrik Levkowetz <henrik@levkowetz.com>  08 Jul 2016 11:32:06 +0000


ietfdb (6.25.1) ietf; urgency=low

  This is a patch release, in preparation for an upcoming feature release.
  Excerpt from the commitlog:

  * Configured the plural form of 2 models.

  * Merged in [11512] from rjsparks@nostrum.com:
    Allow RG secretaries to manipulate meeting materials. Fixes #1836.  

  * In the internet-draft submission status page, point at the datatracker 
    page for the document, rather than the repository copy of the document.

  * Added a method Person.ascii_name() for use when generating 1id-*.txt 
    files.  Added caching for Person.plain_name(). Fixes a problem with 
    non-ascii names in 1id-*.txt which lead to non-ascii names in xml2rfc 
    reference files.

  * Merged in [11504] from rcross@amsl.com:
    Removed old interim proceedings location reference.

  * Merged in [11501] from rjsparks@nostrum.com:
    Changed the search results for recordings to link to the actual recording.
    Fixes #1895.  

  * Merged in [11500] from rjsparks@nostrum.com:
    Allow non-official schedules to be viewed in the same ways the official 
    schedule for a meeting can be viewed. Fixes #1959.  

  * Merged in [11498] from rcross@amsl.com:
    Fixed interim meeting get_proceedings_url() functions.   

 -- Henrik Levkowetz <henrik@levkowetz.com>  06 Jul 2016 06:52:43 +0000


ietfdb (6.25.0) ietf; urgency=high

  **Enhanced testing**

  This release brings in added tests for template parsing and checking the
  correspondence between the dynamic and static resources that templates
  reference, and the url patterns and static resources that are actually
  available.  It makes the test coverage figures more consistent across test
  runs, checks for proper cache functioning, and adds functionality to the
  coverage_changes management command.  It also fixes a number of bugs for
  issues found as a result of the improved testing.  Finally, it changes to
  memory-based session storage, instead of database-based.

  Excerpt from the commit log:

  * Added 3 tests which checks 1) that all templates can be parsed and 
    loaded, 2) that url template-tags refer to an urlconf callback that exists, 
    and 3) that static template-tags resolve to urls that work.  This was 
    prompted by some 500 errors earlier which weren't caught by existing texts.

  * Cached the list of template paths in test_runner.py so we can call it 
    multiple times cheaply.

  * Merged in [11479] from rcross@amsl.com:
    Remove references to non-existent views from templates.

  * Fixed some missing and mistyped web assets found with 
    test_template_statics_exists().

  * Fixed a place where a logged-in user without associcated Person would 
    cause a 500 instead of 403.

  * Added settings to use the cache back-end for sessions.  Separated out 
    the preference cookie age from the session age.  Made the session age 
    refresh on each access, and set the session timeout to 4 weeks of no access.

  * Refactored the code to skip coverage testing a bit, and added skipping 
    of template and url coverage.

  * Added a production-mode check to verify that the cache is functioning 
    as expected.

  * Added missing right-angle for a div.  Made some form elements initially 
    display: none in order to avoid elements jumping around on initial form 
    rendering.  Fixed alignment of Submit and Back buttons, by proper nesting 
    and col-md- class.

  * Added a banner on top of the agenda view of unofficial agendas (which 
    now work) indicating that it's not the official agenda.

  * Added an optional parameter 'owner' to meeting.views.agenda().  Fixed 
    issues #1959 and #1615

  * Fixed a buggy urlpattern regexp which would eat up the last character 
    in an url if not given an extension.

  * Added the ability to list absolute coverage data, not only show 
    relative differences, to the coverage_changes management command.

  * Added to PLAN: lift in draft htmlization lib from tools.ietf.org

  * Added a check for the phantomjs binary to the skip-selenium tests in 
    ietf/meeting/tests_js.py, in order to be able to add selenium to 
    requirements.txt.  This will make the selenium tests run if phantomjs is 
    available on the system, without manually having to install the selenium 
    module.  This should make the buildbot run the selenium tests, too.

  * Tweaked the release page a bit, fixing vertical alignment of revision 
    comments when breaking across lines, comment appearance on iPads, and 
    introducing striped tables.

  * Changed the code test coverage checking to never register coverage 
    counts for tests that are sometimes skipped.  Removed now unwanted skip 
    settings from the releasetest settings.

  * Removed dead templates.

  * Removed dead code.

  * Language tweaks


 -- Henrik Levkowetz <henrik@levkowetz.com>  28 Jun 2016 20:50:44 +0000



ietfdb (6.24.0) ietf; urgency=high

  **Interim meeting management**

  This release adds support for management of Interim Meetings by merging in
  ^/branch/amsl/interim/6.21.0 from rcross@amsl.com.  ADs and chairs can
  request virtual or in person meetings.  Authorized users have access to
  views for approval, scheduling and notification of interim meetings.  Users
  can view a sortable / filterable list of upcoming meetings and download
  iCalendar files.  For complete details see here the statement of work:
  https://datatracker.ietf.org/doc/draft-sparks-genarea-interim-management/ 

  There are also some unrelated minor tweaks, as part of this release:

  * Added a score of setting save/restores to test setup/teardown actions.

  * Tweaked the test crawler a bit to skip some slow and meaningless checks.

  * Updated docker/settings_local.py

  * Avoid multiple doctype declarations and other html errors by parsing 
    sesion agenda html files and inserting our title and doctype.

  * Added caching to some meeting methods which are called multiple times 
    when generating the IETF agenda.

  * Fixed a bug in find-history-replacement-active-at() where multiple 
    history entries with the same timestamp would be unordered.  This led to 
    the wrong historic group info being shown in some cases (e.g.,  
    meeting/86/agenda would show dmmnew instead of dmm, leading to wrong agenda 
    links)

  * Tweaked the styling of meeting rows to avoid wrapping the interim 
    meeting names, and added meeting links for the IETF meetings.

  * Moved a check for session data being present up to before we try to use it
    in announcement.views.confirm(), fixing a server 500 error.

 -- Henrik Levkowetz <henrik@levkowetz.com>  21 Jun 2016 19:15:08 +0000


ietfdb (6.23.0) ietf; urgency=low

  **Additional account creation safeguards**

  This release provides additional safeguards against malicious account
  creation, and support functions to let the secretariat manually bypass the
  safeguards when needed.

  * Merged in ^/personal/henrik/6.22.1-acctdeps which provides additional
    account creation requirements.

  * Changed the IESG photo page to show full area name instead of area acronym
    in each box heading.  Linked the area name to the area page.  Removed the
    area acronym under each picture.  Tweaked the vertical alignment of photo
    wells.  Fixes an issue raised by housley@vigilsec.com

  * Fixed some tests.

  * Added a clean() method to the Group creation form which requires a BoF to
    have a parent group.  Fixes issue #1970.

 -- Henrik Levkowetz <henrik@levkowetz.com>  17 Jun 2016 13:20:18 +0000


ietfdb (6.22.2) ietf; urgency=low

  This is a patch release which updates various web assets (json libs
  and such).  From the commit log:

  * Merged in [11358] from lars@netapp.com:
    Updated vnu to 16.6.14.  

  * Merged in [11357] from lars@netapp.com:
    Updated various web assets.  

 -- Henrik Levkowetz <henrik@levkowetz.com>  15 Jun 2016 15:09:35 +0000


ietfdb (6.22.1) ietf; urgency=low

  This is a small bugfix release which fixes a number of issues which made
  some manual actions necessary in order to use the 6.22.0 release in
  development mode.

  * Added a missing __init__.py file.

  * Added default media and photo directories for use in development.  
    Changed settings to point to the media dir in development.

  * Fixed a bug in the default alias-file settings.

  * Improved data migration for plain_name aliases.

  * Tweaked indentation of inline python in the mkdevbranch bash script.

  * Tweaked bin/mkrelease to be more quiet.

 -- Henrik Levkowetz <henrik@levkowetz.com>  13 Jun 2016 15:13:48 +0000



ietfdb (6.22.0) ietf; urgency=medium

  **Support for profile photo and biograpy**

  This release brings in basic support for having a biography and a photo
  associated with a person's profile in the datatracker.  This makes it
  possible to provide photo presentation pages for the IESG
  [https://dt.ietf.org/iesg/photos], the IAB [https://dt.ietf.org/group/iab],
  WG chairs, [https://dt.ietf.org/wg], etc.

  It is of course possible to extend this to displaying photos as part of many
  other regular datracker pages, but this first release only aims at making
  photos available for use cases such as the IESG, IAB, and WG Chair pages
  already present (and manually maintained) at www.ietf.org.  Since the
  datatracker already has the information on who the sitting ADs, WG Chairs,
  etc. are, this release makes it feasible to automatically keep pages such as
  https://www.ietf.org/iesg/members.html up-to-date by pulling role, photo,
  and bio information from the datatracker.

 -- Henrik Levkowetz <henrik@levkowetz.com>  12 Jun 2016 10:44:03 +0000


ietfdb (6.21.1) ietf; urgency=medium

  This is a bugfix patch release, in preparation for an upcoming feature
  release.  Excerpt from the commitlog:

  * Fixed a problem with accessing a group's workflow customisation page 
    from /group/{{acronym}} instead of /wg/{{acronym}}/.

  * Changed the acceptable mime type for uploaded xml files to be either 
    text/xml or application/xml.

  * Fixed a bug found by rjsparks@nostrum.com in the submission test text 
    output.

  * Fixed a problem with person alias updates where get_or_create() could 
    find two results for one alias name because utf8_general_ci collation would 
    match multiple different utf8 forms to the same name.

  * Added an initial migration for messages.

  * Added a tiny script which extracts test coverage figures from the 
    release-coverage.json data.

  * Updated maximum file-sizes for draft submissions.  Added some 
    Trac-glue-related settings.

  * Changed some instances of error strings from ascii to unicode in order 
    to avoid problems with unicode error messages, such as the file size 
    indications generated by django.template.defaultfilters.filesizeformat().

  * Prevented people from adding ietf list-addresses to their personal 
    accounts.

 -- Henrik Levkowetz <henrik@levkowetz.com>  10 Jun 2016 09:45:36 +0000


ietfdb (6.21.0) ietf; urgency=medium

  **Rewritten document tracking support**

  The part of the datatracker that lets community members set up personal
  document tracking lists and notifications has been in need of refactoring
  for quite some time.  This release brings in a thorough refactoring and
  simplification of that code, with improved management of both personal
  and group lists.

  Here is an excerpt from the changelog:

  * Merged in ^/branch/iola/community-list-cleanup-r11172@11175 from
    olau@iola.dk, which provides rewritten community document tracking and
    notification.

  * Merged in ^/branch/iola/account-registration-fixes-r11167@11179 from 
    olau@iola.dk, which contains fixes and refactoring for the account 
    registration code, in order to better support the coming community app 
    refactoring.

  * Modified a few tests to handle the improved handling of error messages 
    (not conflating them with help text any more).

  * Improved the crontab support. 

  * Improved the help info for the coverage_changes management command.

 -- Henrik Levkowetz <henrik@levkowetz.com>  20 May 2016 10:21:30 +0000


ietfdb (6.20.0) ietf; urgency=high

  **Better yang support, reworked schedule management, cronjob release management**

  This is a mixed feature and bugfix release.  It provides additional
  support for Yang models, reworked pages for meeting schedule
  management, adds a crontab file as part of the release managed files,
  and provides a whole bunch of bugfixes.  Details below:

  * Merged in [11137] from rjsparks@nostrum.com:
    Reworked the pages that manage all the possible schedules for a 
    meeting. Removed a lot of custom javascript. Fixes issue #1921.  

  * Merged in [11133] from rjsparks@nostrum.com:
    Cleanup: Remove hooks for TowTruck.  

  * Merged in [11132] from rjsparks@nostrum.com:
    Minor template typo correction.  

  * Merged in [11129] from rjsparks@nostrum.com:
    Have person.formatted_email() return the primary address if one is so 
    marked. Fixes issue #1928.  

  * Merged in [11128] from rjsparks@nostrum.com:
    Leave out the sentence about consensus when requesting publication as 
    the ISE. Fixes issue #1952.  

  * Merged in [11122] from rjsparks@nostrum.com:
    Add page counts to doc.json. Fixes issue #1936.  

  * Merged in [11120] from rcross@amsl.com:
    Update announcement tool permissions for new IAOC chair.   

  * Merged in [11118] from rcross@amsl.com:
    Move standalone monthly report scripts to bin directory.   

  * Merged in [11116] from rjsparks@nostrum.com:
    Add an entry to GROUP_EVENT_CHOICES for status updates. Fixes issue #1948.  

  * Excluded management commands from code coverage figures -- testing is 
    possible but in many cases would be so slow that the test suite would 
    become much more painful to run.

  * Merged in [11112] and [11113] from rjsparks@nostrum.com:
    Add a page to show the active status reports all in one place. Fixes 
    issue #1951.

  * Tweaked the field names of Person name fields to make the intended use 
    clearer.

  * Fixed the function has_rfc_editor_note() to return boolean -- datetime 
    cannot be serialized as JSON, so /iesg/agenda/agenda.json was broken when 
    there was an rfc-editor-note.

  * Added a crontab file to be symlinked from /etc/cron.d/, and related 
    scripts to be run from cron.  Requires refactoring of CronRunner and 
    NightRunner scripts before activation, to avoid duplicate runs.

  * Added a django management command to populate yang model libraries from 
    RFCs and drafts.

  * Add support for legacy IPR search arguments, for compatibility with old 
    ipr search URLs.

  * Added a missing '?join' to each group's xmpp link on the charter pages,
    and removed an unwanted double slash.  Fixes issue #1950

  * Fixed the multiple (incorrect) extension problem for some materials 
    links.  Fixes issue #1947.

 -- Henrik Levkowetz <henrik@levkowetz.com>  05 May 2016 12:37:18 +0000


ietfdb (6.19.0) ietf; urgency=high

  **IETF 95 Code Sprint**

  This release contains datatracker bugfixes and enhancements from the IETF-95
  Code Sprint.  This brings many small but useful bugfixes and enhancements,
  as described below. Many thanks to everyone who contributed!

  Some additional contribution which have been received after the code sprint
  will be released later in the week.  Keep the fixes coming :-)

  * Merged in [11085] from bartosz.balazinski@interdigital.com:
    Added validation for the dependency graph output type (one of 'dot',
    'pdf', 'svg').  Added an area column to the directorate summary page.
    Commit fixes bug #1887, fixes bug #1940.  

  * Merged in [11080] from rjsparks@nostrum.com:
    Show the link for editing what agendas a document appears on more
    liberally. Fixes #1935.  

  * Merged in [11079] from kivinen@iki.fi:
    Fixed ICS UIDs so they are unique, even if the timeslot is same.
    Fixes issue #1522.  

  * Merged in [11064] [11082] from housley@vigilsec.com:
    The secretariat and the Team Chair can now edit team groups. In addition,
    if the team in within the IETF, Area Directors can edit it. And, if the
    team is within the IRTF, the IRTF Chair can edit it.  Cleaned up the
    checking permission for a user to manage a group. Also, cleanly handle a
    set of group parent links did for a loop. Fixes issue #1915.

  * Added links back to the group pages from the group names on the meeting 
    materials page.

  * Merged in [11083] from stephen.farrell@cs.tcd.ie, with some tweaks:
    Assigned default consensus for IETF stream documents, partly fixing #1403
    - IRTF/IAB may want more, this just does IETF stream.

  * Merged in [11070] from housley@vigilsec.com:
    Only the Secretariat can see the history for parked IPR statements. 
    Fixes issue #1922. 

  * Merged in [11075] from ben@nostrum.com:
    Allow meetings/materials to be queried without an explicit meeting number.
    Fixes issue #1934.  

  * Merged in [11072] from rcross@amsl.com:
    Add ability to enter recording URLs for non working group sessions. 
    Fixes issue #1885.  

  * Merged in [11058] from rjsparks@nostrum.com:
    Allow WG/RG Chairs and secretaries to edit the replaces relationship for
    any document, not just the documents in their groups. Fixes issue #1939.


 -- Henrik Levkowetz <henrik@levkowetz.com>  05 Apr 2016 17:54:10 +0000



ietfdb (6.18.1) ietf; urgency=low

  This is a small bugfix release.

  * Added (belatedly) progress bars to some long-running migrations.

  * Fixed a few issues with the docker/run script.

  * Added some debian modules to the docker/Docker file used to generate
    the docker image

 -- Henrik Levkowetz <henrik@levkowetz.com>  30 Mar 2016 11:54:31 +0000

ietfdb (6.18.0) ietf; urgency=medium

  **Status update summaries for groups, and yang symbols in yang draft listings**

  This release brings in 2 new features, as follows:

  * Merged in [10969] from rjsparks@nostrum.com:
    Capture 'Status update' summaries for groups that want to provide 
    them. These updates show on the groups charter (or about) page, and in the 
    group history. The most recent update provided before proceedings 
    corrections closing date is included in the group's page in the meeting 
    proceedings. This addresses the majority of #1773 (a ticket entered on 
    behalf of the IESG).  

  * Merged in henrik/6.16.1-pyang-work@10995:
    Added in support for displaying results from selected submission checks 
    as symbols on draft pages and in draft lists.  For now, that means that 
    drafts with yang modules will show either a green or orange yang symbol, 
    depending on the result of the submission yang validation check.

 -- Henrik Levkowetz <henrik@levkowetz.com>  28 Mar 2016 20:10:07 +0000

ietfdb (6.17.1) ietf; urgency=medium

  This is a patch release, cleaning the slate before the group status update
  feature.

  * Merged in [10974] from rjsparks@nostrum.com:
    Turn the shepherd management buttons back on for the ISE. Fixes #1925.  

  * Merged in [10973] from rjsparks@nostrum.com:
    Show the drafts from all of a groups sessions on the materials page.
    Fixes #1933.  

  * Merged in [10954] from rjsparks@nostrum.com:
    Remove the stream from the 'howpublished' component of the bibtex
    reference for an rfc. Fixes #1927.  

  * Merged in [10953] from rjsparks@nostrum.com:
    Use the same pattern for extending installed apps with middleware classes.

  * Updated docker-related files based on 6.17.0

  * Put a guard in the yang validator against trying to read a draft which 
    is absent from the staging area, and against unexpecte pyang output.

  * Fixed a problem with paging of api lists, which requires that the 
    ordering keys define a fully deterministic ordering (i.e., there may be no 
    entries with the same sort position in order to make the api paging work).  
    (The admin interface's paging does not seem to have this problem.)  Fixes 
    issue #1930.

  * Added object pk to the cache key.  Fixes issue #1929.

  * Fixed a possible index error in the yang validator checker plugin.

 -- Henrik Levkowetz <henrik@levkowetz.com>  28 Mar 2016 15:00:09 +0000


ietfdb (6.17.0) ietf; urgency=medium

  **Speedier REST API and Newest-First Search Result Ordering**

  This is a small combined feature and bugfix release. 

  It introduces better sort capability for document search results which are
  too large to present all search result items on one page.  Since 6.12.0 it
  has been possible to do both reverse and regular client-side sorts on the
  various search result columns when all the search results did fit on one
  page, but for truncated results only ascending sorts has been possible.  For
  the date column in particular, this was mostly less than useful, as it would
  present the oldest results first, rather than the most recent.  This has now
  been remedied; sorting in both directions is available also for large
  document search results.

  This release also contains various speed-related fixes.  Of particular note
  is speed imporvements of heavy REST API queries on the order of a factor 4,
  by adding caching, and speed improvements of a factor 20 for some heavy
  legacy pages, by limiting the rendered content to what is actually needed.

  Details:

  * Tweaked the test-crawler to give the same log line format for exception 
    failures as for regular log lines.

  * Merged in [10932] from rjsparks@nostrum.com:
    Restrict related documents included in the 1wg-charter* views to those
    that update or obsolete WG produced RFCs.  

  * Fixed some typos.

  * Introduced caching for the REST API resources by subclassed tastypie's
    ToOneField in order to provide caching for FK entries.

  * Removed obsolete Submission.idnits_message field.

  * Added an admin model class for SubmissionEvent.

  * Tweaked the mkdevbranch utility script to be able to make a branch for 
    one specific developer on request.

  * Corrected the path to the wrapper for postconfirm used by the draft- 
    and wg-aliases.

  * Added a workaround for thread import lock problem,
    http://bugs.python.org/issue7980.

  * Renamed a bunch of identically named MainTestCase classes.

  * Removed unused idnits_message field on Submission model.

  * Added reverse sort capability to truncated document search views.  Aligned
    the sort direction arrow with that used for the client-side tablesorter
    for untruncated results.

 -- Henrik Levkowetz <henrik@levkowetz.com>  16 Mar 2016 15:11:45 +0000


ietfdb (6.16.0) ietf; urgency=medium

  **Yang Validation of Draft Submissions**

  This release adds Yang validation of submitted drafts which contain
  Yang code, through a new plug-in architecture which makes it easy to 
  addo other submission-time checkers and validators in the future.

  It also contains a few unrelated fixes and tweaks, as follows:

  * Fixed pyflakes complaints introduced with pyflakes 1.1.0

  * Refactored draft submission checks so that new checkers can be slotted 
    in through a configuration in settings.py.  Refactored the calling of 
    idnits to use the new API, and added a pyang validation check.

  * Added new entries to requirements.txt: pyang, xym, and jsonfield.  Sorted
    the list.

  * Merged in [10880] from rjsparks@nostrum.com:
    Only show the 'Upload new revision' button when the view will actually
    let you upload a new revision.  

  * Merged in [10862] from rjsparks@nostrum.com:
    Group concluded working groups by area. Fixes #1670.  

  * Merged in [10839] from housley@vigilsec.com:
    Added test for proper eneration of the approval message with and without
    an RFC Editor Note.  Tweaked RFC Editor note display template.

 -- Henrik Levkowetz <henrik@levkowetz.com>  05 Mar 2016 15:01:38 +0000


ietfdb (6.15.0) ietf; urgency=medium

  **Session Docs, WG List Archive Tab, RFC Note enhancements**

  This release provides a number of nice enhancements:

  - Documents can now be associated with meeting sessions from the document
    information page by group chairs, secretariat, etc., through an edit button
    by the 'On Agenda' entry in the Stream info section.

  - The group pages now provide links to both the new Mailarchive and the old
    MHonArc list archives (if both exist).

  - The ability to add RFC Editor notes which will be called out on the IESG
    agenda which was introduced in release 6.14.0 has now been made available
    to the IAB, IRTF and Independent streams.

  Detailed changelog information:

  * Merged in [10861] from rjsparks@nostrum.com:
    Data cleanup: place old groups in better states and better areas.  Remove
    a few groups that appear to have never existed (as groups).  

  * Merged in [10857] from rjsparks@nostrum.com:
    Preserve the assumptions in the secr/proceedings code by isolating it from
    drafts now appearing in sessionpresentations.  

  * Merged in [10856] from rjsparks@nostrum.com:
    - Show all sessions associated with a document.
    - Remove the day/seq urls from the materials tree.
    - Allow sessionpresentation.rev to be None, meaning 'current version'.
    - Streamlined workflows to focus on current versions of a draft as a default.
    - Allow adding and editing sessionpresentations when looking at a specific document.
    - Allow adding drafts when looking at a specific session.
    - Add the meeting tab to 'team' groups.
    - Refactored several utility classes and expanded on factories.

    Fixes #1908 and #1910. 

  * Since the list-archive tab on group pages can sometimes be a tab and 
    sometimes a link out, positioning it between the always-tab and always 
    link-out entries seems reasonable.

  * Column text on the archives tab could overlap for some screen sizes.  
    Tweaked the use of bootstrap cell width styles.

  * Merged in [10848] from rjsparks@nostrum.com:
    Correct typo in template. Fixes #1914.  

  * Restricted django-bootstrap3 to versions which work with django 1.7.

  * Merged in [10718] from olau@iola.dk:
    Set daemon = True on the thread in the SMTP test server running while
    running tests. This fixes the annoying problem of the python process
    staying alive after certain bugs in the test invocation or after a
    plain Ctrl + c. 

  * Merged in [10840] from rjsparks@nostrum.com:
    Fill in the list archive tab, showing both mailarchive and mhonarc links
    when they exists. Preserve the immediate link-to-archive behavior for the
    group pages for lists that are not in mailarchive/mhonarc. Provides a url
    at the datatracker for the mailman listinfo pages to use that will show
    both types of archive.  

  * Tweaked the output of the check_referential_integrity script to specify 
    the through table name for m2m relationships.

  * Merged in [10834] from housley@vigilsec.com:
    Allow IAB, IRTF, and Independent streams to use new capability for RFC
    Editor Notes.  Do not display of document shepherd and shepherd writeup
    for non-IETF stream documents.  Do not display IESG information for IAB
    stream documents. 

  * Merged in [10828] from lars@netapp.com:
    IRTF RGs do not have a review period, the email is generated as a courtesy
    to the IAB and IESG.  

 -- Henrik Levkowetz <henrik@levkowetz.com>  29 Feb 2016 17:00:45 +0000


ietfdb (6.14.1) ietf; urgency=medium

  This is a small bugfix release.

  * Merged in [10811] from rjsparks@nostrum.com:
    Handle expiring the last call of status change documents. Be more robust
    about errors when expiring last calls. Fixes #1911.  

  * Merged in [10810] from rjsparks@nostrum.com:
    Removed a bunch of redundant displays of the django messages framework
    messages from forms.  

  * Merged in [10809] from rjsparks@nostrum.com:
    Further tweaks to rendering messages from the messaging framework.  

  * Merged in [10806] from rjsparks@nostrum.com:
    Fix a minor typo in the new rfc_editor_note code.

  * Merged in [10804] from rjsparks@nostrum.com:
    Some tweaks to handle rendering django messaging framework messages a
    little better.  

  * Merged in [10803] from rjsparks@nostrum.com:
    Create the approval ballot for charters when the charter enters external
    review (or iesg review if external review is skipped). Fixes #1792.  

  * Moved some production-path checks to the checks module, and fixed up 
    tests which changed some settings without restoring them.

  * Added caching to the smart document lookup view.

 -- Henrik Levkowetz <henrik@levkowetz.com>  11 Feb 2016 09:33:25 +0000


ietfdb (6.14.0) ietf; urgency=medium

  **Meetings Tabs on Group Pages**

  This is a mixed bugfix and feature release.  The most notable new features
  are: 

  - The WG and RG pages now have 'Meetings' tabs, which lists regular and
    interim meetings with links to agenda, minutes, and materials.

  - The IESG Telechat Agenda now shows "(Has RFC Editor Note)" after the I-D
    filename if there is an RFC Editor Note associated with the document.

  - Improved calculation of 'modified' timestamps for meetings, to make it
    possible for meeting apps like 'IETFers' to know when to fetch updated
    meeting data without having to poll all sessions and timeslots regularly
    in order to catch changes.

  Here's the full list of fixes and features:

  * Merged in [10780] from rjsparks@nostrum.com:
    Stop making active unknown-email- objects. Mark existing such objects 
    as inactive. Tweak exception handling in submit/utils to make it obvious 
    that the utilities will not change the person an existing Email record is 
    pointing to.  

  * Removed previously mandatory but unwanted '.html' suffixes on meeting views.

  * Merged in [10779] from rjsparks@nostrum.com:
    Added the ability to associate documents with sessions from the document
    main page.  Integrated the group meetings tab with the secretariat meeting
    request and meeting materials pages.  Made better use of bootstrap styling
    for the meetings tab and session details view. 

  * Consolidated multiple group contextmenu buttonlist elements into one.  
    Changed button links into plain links for agenda/minutes/materials -- makes 
    the bage less busy, takes up less room, and lessens the conflation between 
    action buttons and links.

  * Merged in [10770], [10771], [10772], and [10773] from housley@vigilsec.com:

    The IESG Telechat Agenda now shows "(Has RFC Editor Note)" after the I-D
    filename if there is an RFC Editor Note associated with the document.
    This was added to the html and txt versions of the agenda.  It was not
    added to the Secretariat view or the Scribe view of the agenda.

    For transition, when an AD edits the RFC Editor Note, they need to move
    the text from the current writeup into the new field.  Returning documents
    on the telechat agenda seems to be the biggest opportunity for something
    to fall between the cracks.  If an event of type "changed_rfc_editor_note'
    exists, and the string "RFC Editor Note" appears in the text of the most
    recent 'changed_ballot_writeup_text' event, then a message is shown that
    tells the AD to remove the RFC Editor Note from the writeup.

  * Merged in [10765] from lars@netapp.com:
    Correctly identify group work items in announce_to_lists.txt. Fixes #1901.

  * Merged in [10764] from lars@netapp.com:
    Fixed a RemovedInDjango19Warning: The django.forms.util module has been
    renamed.  Use django.forms.utils instead.

  * Merged in [10763] from lars@netapp.com:
    Updated some web assets. Also change bower.json so bower can automatically
    fetch newer minor or patch releases for the assets.  

  * Merged in [10758] from rjsparks@nostrum.com:
    Provide help-text for the new-status field when editing status change
    document relations. Fixes #1898.  

  * Merged in [10757] from rjsparks@nostrum.com:
    Fix from Ole Laursen for the javascript managing status-change document
    relationships. Fixes #1899. 

  * Merged in [10756] from rjsparks@nostrum.com:
    Tweak factories to not randomly create keys that violate constraints.  

  * Merged in [10755] from rcross@amsl.com:
    Change merge-person-records, don't delete User until we handle related 
    objects.   

  * Added a script to disambiguate document timestamps for the last 3 years,
    in order to avoid AmbiguousTimestamp exceptions and HTTP 500 errors for
    certain documents and document envents which fell in the autumn PDT-PST
    duplicate hour.

  * Changed draft submission confirmation to not fail if the login used is
    missing an associated person record.

  * Merged in [10734] from rjsparks@nostrum.com:
    Excluded concluded bofs from the set of groups for which a person can
    pre-approve drafts. Restore AD access to preapproval. (Need to consider
    adding delegate and group secretary access). Fixes #1896.  

  * Merged in [10733] from rjsparks@nostrum.com:
    Show session details for interims as well as ietf meetings.  

  * Merged in [10732] from rjsparks@nostrum.com:
    Filter unused document types from the search form. Fixes #1890.  

  * Merged in [10731] from rjsparks@nostrum.com:
    Addresses issues uncovered by the test-crawler. Adds missing DocAlias
    records for several document types. Creates DocAlias objects when
    createing Document objects for those document types. Identifies places in
    code to touch when we are ready to expose the bluesheets and recording
    document types at /doc/. (The data rows and the content store need work
    before doing so). 

  * Merged in [10728] from rjsparks@nostrum.com:
    Refactored meeting urls file without changing functionality in prepation
    for extending some views to handle interims. Reduced the level of
    redundancy in the way the urls lists were constructed.  

  * Merged in [10726] from rjsparks@nostrum.com:
    Added listing all the area directors back. Related to #1889.  

  * Merged in [10725] from rcross@amsl.com:
    Modified notification text for merges of multiple Person records for the
    same person.

  * Merged in [10723] from rjsparks@nostrum.com:
    Tweaked the rendering of Area Directors in the charter text used in
    new-work, internal review, external review, and group action messages to
    display. Fixes #1889.  

  * Merged [10721] and [10724] from rcross@amsl.com:
    Removed Test watermark from interim meeting index background.  Rewrote
    merge-person-records utility script to handle all related objects in a
    generic manner, remove old User records and handle email primary
    attribute.  Fixes #1627.

  * Merged in [10719] from rjsparks@nostrum.com:
    Added a meetings tab to the group information page. Links to minutes,
    agendas, and materials for each session at each meeting. Improves the UI
    for the session materials page.  

  * Merged in [10701] from rjsparks@nostrum.com:
    Simplified meeting.session_details. Shows all sessions for a meeting on 
    one page instead of having a page per session. Removes the by-date, 
    by-weekday, by-sequence mechanic. 

  * Changed the calculation of 'modified' time for a meeting, and also changed
    the 'updated' field for Session, TimeSlot, and SchedTimeSessAssignments to
    auto-update on any changes to the objects.

  * Enabled resource sorting by modification time for Sessions, Timeslots, and
    Assignments.  Fixed a bug which left Timeslot.duration null in the
    resources.

 -- Henrik Levkowetz <henrik@levkowetz.com>  07 Feb 2016 15:42:41 +0000


ietfdb (6.13.0) ietf; urgency=medium

  **Improved NomCom Support**

  This release provides a massive refactoring of the NomCom app, fixing
  a large number of known issues, and adding a long list of refinements,
  improvements and new features.  This whole release is the work of
  rjsparks@nostrum.com.  From the commit log:

  * Merged in [10629] from rjsparks@nostrum.com:
    This set of changes focuses on improvements to the nomcom portion of
    the datatracker. 

    These changes:

    - Simplify the nomcom form for comments. Make it more obvious who
      receives mail when a comment is supplied. Fixes #1849.

    - Simplify the nomcom form for nominations. Provide a primary workflow
      where nominations choose an existing Person, and a secondary
      workflow for nominating new people. 

    - Allow nominees to add a comment when accepting or declining a
      nomination. Fixes #1845.

    - Organize the list of nominees on the feedback page. Fixes #1786 and
      #1809.

    - Simplify the mechanisms used to display feedback message counts.

    - Regroup the feedback view to make it easier to see where to spend
      review effort. Fixes #1866.

    - Capture when nomcom members last reviewed feedback for a given
      nominee. Add badges when new feedback is avaliable. Improve the
      layout of the feedback index page. Fixes #1850.

    - Reorganize the tab navigation on the nomcom private pages. Made it
      more obvious when the chair is doing something that only the chair
      gets to see. Fixes #1788 and #1795.

    - Regroup multiselect options to make classifying pending feedback
      simpler. Make the control larger and resizable. Fixes #1495.

    - Simplify the chair's views for editing nominee records. Replace the
      merge nominee form with a request to the secretariat to merge Person
      records. Fixes #1847. 

    - Added merging nominees to the secretariat's persson merging script. 

    - Show information for concluded nomcoms. Close feedback and
      nomination for concluded nomcoms. Fixes #1856.

    - Improve the questionnaire templates, reminding the nominee that
      receiving the questionnaire does not imply they have accepted a
      nomination. Fixes #1807.

    - Remove the description field from Postion. Simplify the Position
      list and the Position edit form. Make the nomcom pages more self
      documenting. Add a page to help nomcom chiars through setting up a
      new nomcom. Fixes #1867 and #1768.

    - Remove the type from the template pathname for the requirements
      templates. Make the requirements views work for both types plain and
      rst. Changed the default type for new nomcom requirement templates
      to rst.

    - Remove 'incumbent' from the models. Fixes #1771.

    - Adjust the models for Nominee and Nomination to better associate
      Nominee objects with Person objects.

    - Remove BaseNomcomForm and the implementation of custom fieldsets.

    - Replace the custom message framework with the django provided
      messages framework.

    - Improve SearchablePersonField to show the primary email address for
      any search result where a name appears more than once.

    - Add the use of factory-boy for generating test data. Normalize
      management of a test directory for test nomcom public keys.
      Significantly improve test coverage of the nomcom related code.

 -- Henrik Levkowetz <henrik@levkowetz.com>  18 Jan 2016 09:05:42 +0000

ietfdb (6.12.1) ietf; urgency=medium

  This is a bugfix release, in preparation for the next feature release.

  * Merged in [10686] from lars@netapp.com:
    Load the js for the timeline as part of the page header, in order to
    (hopefully) avoid page re-render after the json loads. Only apply the
    gradient that signifies document expiration to I-Ds. Suppress duplicate
    x-axis labels (same month).  

  * Merged in [10685] from lars@netapp.com:
    Commit r10578 broke search result table display due to the added column.
    Fixed this.  (Also updated vnu.jar. Unrelated, but wasn't careful when
    committing.) 

  * Merged in [10684] from lars@netapp.com:
    Added a warning about the accuracy of bibliographic information for Legacy
    RFCs. 

  * Added listing of Area Directors and TBD indications which was
    inadvertently dropped from some chartering related emails during
    refactoring.  Also added testing code to verify the email body content of
    some chartering emails a bit more thoroughly.

  * Merged in [10674] from lars@netapp.com:
    More fixes to charter-related emails and some related web templates.
    Mostly focused on supporting the IRTF better, but also removing some
    redundancies (i.e., including group_info.txt instead of duplicating
    something similar.) 

  * Merged in [10673] from lars@netapp.com:
    Fixed the internal review email template and related code to handle IRTF
    RGs better.  

  * Merged in [10672] from lars@netapp.com:
    Fixed a bug that prevented the IRSG from being CC'ed, and correct its
    email address.  

  * Merged in [10671] from lars@netapp.com:
    Fixed a 'RemovedInDjango19Warning' warning.  

 -- Henrik Levkowetz <henrik@levkowetz.com>  15 Jan 2016 08:46:18 +0000


ietfdb (6.12.0) ietf; urgency=medium

  **Document timelines, table sorting, iesg agenda page counts, AD position colours**

  This is a combined feature and bugfix release.

  New features from lars@netapp.com:

  - Graphical document timelines at the top of each draft and RFC document
    page, giving an overall graphical view of the history timeline of the
    document and its ancestors.

  - Swift client-side sorting of tables, wherever it makes sense.

  - Document dependency graphs are now provided in svg format by default.
    The old pdf format is still available if desired.

  New features from rjsparks@nostrum.com:

  - Page counts on the IESG agenda and documents pages

  New features from henrik@levkowetz.com:

  - Substantially reworked AD position signal colours, with sidebars, on
    the AD view of the IESG agenda and document pages.

  There is also a long list of bugfixes, provided by rjsparks@nostrum.com,
  lars@netapp.com, housley@vigilsec.com, rcross@amsl.com, and
  henrik@levkowetz.com.  Here are details, extracted from the commit log:
  
  * Don't redirect to proceedings for future meetings which exist in the
    database but don't have a schedule yet.  We want to show tne agenda (even
    if empty) for those.

  * Merged in [10636] from rjsparks@nostrum.com:
    Refactored counting telechat pages to do it only in one place.  Count more
    accurately and make it possible to report more granularly. Added page
    counts to agenda.json.

  * Merged in [10634] from rjsparks@nostrum.com:
    Change the text used in conflict review approval messages. Fixes #1877.  

  * Merged in [10633] from housley@vigilsec.com:
    If the Internet-Draft is not the current revision, set the URLs to 
    settings.IETF_ID_ARCHIVE_URL.  Fixes #1876. 

  * Merged in [10632] from housley@vigilsec.com:
    For documents in the IETF stream, display consensus in the IESG portion 
    of the page.  For documents in other streams, disply consensis in the 
    Stream portion of the page.  Fixes #1560. 

  * Merged in [10631] from rjsparks@nostrum.com:
    Added page counts to iesg/agenda/documents and to the edit telechat date 
    form. Fixes #1772.  

  * Merged in [10630] from housley@vigilsec.com:
    Better handling of consensus for BCPs and  standards track documents.  
    Partial fix for ticket 1560. 

  * Merged in [10624] from rcross@amsl.com:
    ValueError at /ipr/new-specific.  Fixes #1873.

  * Merged in [10623] from lars@netapp.com:
    Simplify the dependency graph generation, by relying on dot to generate
    PDF (and now also SVG) directly. Default to showing SVG from the link on a
    group's page.

  * Merged in [10621] from lars@netapp.com:
    Use js tablesort almost everywhere I thought it would make sense. While I
    touched the pages, I also corrected a few minor HTML nits, capitalization
    inconsistencies and some other minor things.

  * Merged in [10605] from lars@netapp.com:
    Show IDs that expired with a fading gradient and don't extend their box
    after 185 days. Plus a bunch of cosmetic changes. 

  * Rewrote crawl_history() to be easier to read (renaming multiple 
    'retval' variables and other naming tweaks) and made it return distinct 
    revisions without the added uniqueness filtering round from 
    /personal/lars/6.11.1.dev0@10604.

  * Merged in [10591] from housley@vigilsec.com:
    Added a negative test to ensure the RFC Editor is not included on 
    notifications of manual posts by the Secretariat unless the document is in 
    the RFC Editor Queue.

  * Added a directory for staging of manually submitted drafts, instead of
    using hardcoded /tmp/, and added creation and removal of a test directory
    for this.

  * Merged in [10586] from housley@vigilsec.com:
    Added automated tests for the fix for ticket #1751. 

  * Merged in [10569] from housley@vigilsec.com:
    For manual posting of an I-D by the Secretariat, include the RFC Editor 
    on the email message if the I-D is in the RFC Editor Queue. Fixes #1751. 

  * Changed a helper function meeting_updated() to a method on Meeting, and 
    provided it as a synthetic attribute on the /api/v1/meeting/meeting/ 
    endpoints of the JSON API.

  * Merged in [10567] from housley@vigilsec.com:
    For Charters, display the Responsible AD as well as the Charter Edit AD.
    Fixes #1829. 

  * Moved the timeline colouring css to ietf.less, to pick up the brand
    colours directly.

  * Merged in /personal/lars/6.11.1.dev0@10590 from lars@netapp.com,  which 
    brings in a timeline view at the top of document pages.

  * Merged in [10551] and [10553] from lars@netapp.com:
    Added an .editorconfig file, so we can have some consistency in the project.
    (I don't care what settings we use, as long as we all use the same.)  Use
    four spaces as default (Python default, as suggested by Henrik).

  * Tweaked the colours a bit in order to make it easier for ADs to 
    distinguish between the position colours on their personalised versions of 
    iesg/agenda/documents/.

  * Added a coloured bar at the right-hand side of the ADs' view of 
    iesg/agenda/documents/, in order to make it easier to distinguish between 
    the 'yes' and 'no-objection' colour codes.

  * Moved definitions for the AD ballot position's background colours 
    (which shows each AD his own positions by colour coding) from ietf.css to 
    ietf.less, to make it easier to adjust the colours while keeping to the 
    hues of the colour palette.

  * Updated and corrected the description in the README file of of how the 
    contents of the bootstrap/dist/ directory end up in the right place for 
    static serving.

  * Merged in [10540] from lars@netapp.com:
    Update vnu HTML5 validator, and fix an HTML nit it found. 

  * Merged in [10539] from lars@netapp.com:
    Fix CSS/js inclusion of select2 from new static location. (Looks like this
    file was forgotten when we began to use bower.)  

  * Merged in [10538] from lars@netapp.com:
    Fixes for displaying IRTF RGs (call them RGs, and don't show IESG state.) 

  * Merged in [10536] from lars@netapp.com:
    Manage html5shiv and respond.js locally via bower, rather than relying on
    the CDN.  

  * Merged in [10532] from lars@netapp.com:
    Move to bootstrap 3.3.6, with a simpler way to maintain our customized
    version in the future (described in bootstrap/README-DATATRACKER.rst). 

 -- Henrik Levkowetz <henrik@levkowetz.com>  13 Jan 2016 10:28:56 +0000


ietfdb (6.11.0) ietf; urgency=medium

  **Liaison Tool Enhancement**

  This release introduces a number of requested changes and enhancements
  to the liaison tool, and a few other fixed:

  * Merged in^/personal/rcross/v6.7.3.dev0@10465, which included 
    [10382],[10464],[10465], introducing a number of usability fixes to the 
    liaison tool, including a new tab for action needed statements and the 
    ability to add comments to liaison statements' history.

  * Merged in [10503] from rjsparks@nostrum.com:
    Allow setting the stream state of a document that has not yet had any 
    stream state set. Fixes #1859.  Candidate for patch. 

  * Updated the docker README.

  * Updated the mkrelease script to send svn checkout links which specify 
    https://, not http.

 -- Henrik Levkowetz <henrik@levkowetz.com>  20 Nov 2015 20:25:07 +0000

ietfdb (6.10.0) ietf; urgency=medium

  **Prepackaged Development Environment with Docker; Test Speed-Ups**

  This release provides what is hoped to be a dramatic improvement in the time
  needed to set up an environment for datatracker development, by providing
  scripts to use prebuilt docker images and mysql database tarballs.
  The setup process should now be as easy as:

  1. Install Docker: https://docs.docker.com/engine/installation/
  2. Check out datatracker code: svn co https://svn.tools.ietf.org/svn/ietfdb/...
  3. In your working copy, pull down the database image: docker/setupdb
  4. In your working copy, start the docker container: docker/run

  A more comprehensive setup description is available on the datatracker
  development wiki:  https://wiki.tools.ietf.org/tools/ietfdb/wiki/Docker

  This release also introduces two tweaks to the test suite runner, which should
  reduce the time it takes to run the test suite by around 50%.

  Commit log details:

  * Added a utility script docker/updatedb to download and load a new dump
    into the local database, using 'manage.py dbshell'.

  * Added a utility model to hold information on when a given database dump 
    has been done.

  * Applied test speedup fixes to the testcrawler config, too.  Looks like
    ~15% speed-up of the test-crawler.

  * Added handling for an exception which can occur in bin/mergeready if a 
    branch with merge flags is moved, for example moving it to an attic after 
    merge.

  * Added support for running different containers mapping internal port 
    8000 to different external ports.  Added additional text explaining why we 
    won't run multiple containers from the same svn branch.  Did som default 
    value code refactoring.

  * Added little script to pull down and unpack a copy of the datatracker's 
    mysql database files.

  * Added tweaks to the docker setup to make it work nicely to run different 
    docker containers for different SVN branches.

  * Updated the docker init-script to not re-install MySQL; it can cause 
    more trouble than it might save; added a guard against trying to set up the 
    ietf database if MySQL isn't running; and changed the final working 
    directory to be the same as where the user invoked the 'docker/run' 
    command.  If not started via docker/run, drop into the home directory.

  * Updated docker/run with options to select a non-default 
    docker-repository and docker image tag (which now defaults to the svn 
    branch basename); added handling for missing docker environment variables, 
    and for the docker virtual machine not running.

  * Disallowed Coverage 4.0.2 in requirements.txt, as it is buggy.

  * Removed logging through ietf.utils.log.log when running tests -- should 
    shave another 15% off the test suite run time, cutting the testsuite
    running time in about half compared to earlier.

  * Merged in [10097] from olau@iola.dk, in order to speed up the test 
    suite.

 -- Henrik Levkowetz <henrik@levkowetz.com>  14 Nov 2015 00:11:45 -0800

ietfdb (6.9.0) ietf; urgency=medium

  **More IETF-94 Code**

  The release contains additional code from IETF-94 -- I think this is the
  first time we have done two substantial releases based on IETF week
  contributions.  This introduces enhancements and bug-fixes in a number of
  areas, reducing confusion in draft publication-request handling and on
  several web pages, clarifying a number of email notifications, making
  unicode names work in more places, and giving improved secretariat pages:

  * Added a first version of docker image support, with Dockerfile, docker
    init scripts, a 'docker run' wrapper, and database image generation.

  * Merged in [10431] from rjsparks@nostrum.com:
    Reduce confusion around how to send a document from a WG to the IESG
    through additional, restrictive, validation on the stream state editing
    form. Fixes bug #1418.  

  * Merged in [10430] from rjsparks@nostrum.com:
    Reflect the right group type in personnel change messages. Fixes #1746. 

  * Merged in [10429] from rjsparks@nostrum.com:
    Display the To and (if it exists) Cc correctly on the publication request
    form. Fixes #1819.  

  * Merged in [10426] from rjsparks@nostrum.com:
    Fix the links on the state help index page. Fixes #1775.  

  * Merged in [10425] from bartosz.balazinski@interdigital.com:
    Provide information about who has suggested document replaced-by 
    information in the notification email.  Fixes bug #1817.

  * Added some default aliases files to the repository, and updated the 
    aliases settings accordingly.  Appropriate production settings have been 
    added to setting_locals in production.

  * Merged in [10418] from henrik@levkowetz.com:
    Modified the test data to use some AD and WG chair names that contain 
    non-ascii characters, and fixed test issues found.

  * Merged in [10414] from rjsparks@nostrum.com:
    Put possibly replaces sections in the right columns. Fixes #1802.  

  * Keep draft aliases for 2 years rather than 1 year from posting.

  * Merged in [10405] from rjsparks@nostrum.com:
    Addresses an issue where the WG document page would show the same document
    in more than one section. Fixes #1827.  

  * Merged in [10384] from rjsparks@nostrum.com:
    When a group gives a document a new group state (particularly for the
    first time), send a message that says what happened instead of simply
    'Adopted'. Fixes #1830.  

  * Merged in [10383] and [10413] from rcross@amsl.com:
    Updated proceedings permissions.   

  * Merged in [10379] from rjsparks@nostrum.com:
    Change the acronym link on the html agenda page to go to the group's 
    charter page rather than the charter's document page.  

  * Merged in [10378] from rjsparks@nostrum.com:
    Make the internal review message reflect whether this is a new chartering
    effort or a recharter. Fixes #1814.  

  * Added testing of non-ascii unicode names of chairs and area directors.
    Fixed a series of issues with rendering of non-ascii names.

 -- Henrik Levkowetz <henrik@levkowetz.com>  08 Nov 2015 09:20:24 +0000


ietfdb (6.8.0) ietf; urgency=medium

  **IETF 94 Code Sprint**

  This release contains the datatracker bugfixes and enhancements from the
  IETF-94 Code Sprint.  This brings many small but useful bugfixes and
  enhancements, as described below. Many thanks to everyone who contributed!

  This release also brings a change which is not a code change, but rather a
  packaging change which has made the question of what the licence is for the
  datatracker code more difficult than need be.  Starting with this release,
  we don't handle version control of the Django framework by including it in
  the repository; we instead version control it throug the requirements.txt
  file.  This lets us be very simple and clear in the LICENSE file which
  covers the datatracker code.

  There are additional code sprint changes expected during the week; they will
  get their own release later in the week.

  Here are details about the changes, extracted from the commit log:

  * Added a direct menu link to tutorials under Other.  Tweaked a divider 
    visibility.

  * Merged in [10363] from rjsparks@nostrum.com:
    email_iana needs to leave address generation to mailtrigger and not try 
    to rewrap the address.  This should be patched into production. 

  * Merged in [10349] from rcross@amsl.com:
    Fixes Ticket #1834.  Sorting slides difficult when there are only two 
    of them.   

  * Merged in [10348] from rcross@amsl.com:
    Add more information to Secretariat session recordings view.   

  * Merged in [10347] from rjsparks@nostrum.com:
    Allow entering more than one email address in addtional cc on the send 
    ballot comments form. Fixes #1811.  

  * Merged in [10346] from suresh.krishnan@ericsson.com:
    Changes to unapproved milestones (e.g. attaching a draft) will not 
    trigger a mail to the WG. Fixes #1818.  

  * Fixed an issue with [10344], where the numberless /meeting/agenda/ 
    would redirect to a non-existing proceedings URL.

  * Fixed a weekday numbering problem in a test.

  * Merged in [10345] from rjsparks@nostrum.com:
    Added an RSS feed for RFCs for use with the digital preservation 
    project.

  * Merged in [10344] from rjsparks@nostrum.com:
    Return more sensible results for agendas for old meetings. Fixes #1062.

  * Merged in [10343] from housley@vigilsec.com:
    Add check to addcomment for WG/RG chair or secretary.

  * Merged in [10342] from rcross@amsl.com:
    The session request form validation needs to check that durations have
    been entered for each requested session.  Fixes issue #1794.

  * Merged in [10341] from housley@vigilsec.com:
    WG/RG chairs and secretaries can add comments to document history; get
    non-active I-Ds from www.ietf.org instead of tools.ietf.org. Fixes issues
    #1702, #1801, #1831.

  * Merged in [10340] from rcross@amsl.com:
    Change liaisons ShowAttachmentsWidget to use href().  Fixes issue #1805.  

  * Merged in [10339] from rcross@amsl.com:
    Secretariat locked out of Session Request Tool.  Fixes Ticket #1791.  

  * Merged in [10338] from rcross@amsl.com:
    Legacy session scheduling view broken.  Fixes Ticket #1806.  

  * Removed our local copy of Django, and added it to the requirements 
    instead.  Updated the LICENSE to match, as we're not carrying along 
    external components in the repository any more.

  * Replaced a remaining use of removed function smtp_error_logging().

 -- Henrik Levkowetz <henrik@levkowetz.com>  03 Nov 2015 03:15:47 +0000


ietfdb (6.7.2) ietf; urgency=medium

  This is a maintenance release which does a longtime pending model rename,
  and fixes some other small issues:

  * Merged in personal/henrik/6.7.2.dev0-schemafix [10297] from
    henrik@levkowetz.com:  Renamed class ScheduledSession to the more correct
    (but unfortunately also cumbersome) SchedTimeSessAssignment, and renamed
    reverse relationships involving this class appropriately.  Accompanying
    changes in javascript and templates.  Migrations to match.

  * Changed a field in the nomcom models to not care about the value of
    NOMCOM_PUBLIC_KEYS_DIR in the settings, as this may change between
    developers, and will cause warnings when running migrations otherwise.

  * Fixed a bug in meeting.ajax.constraint_json().

 -- Henrik Levkowetz <henrik@levkowetz.com>  27 Oct 2015 15:48:14 +0000

ietfdb (6.7.1) ietf; urgency=medium

  This is a small maintenance release with some bug-fixes and one enhancement,
  a new machine-readable list of IPR declarations per draft, recursively.

  Here are details from the commit log:

  * Changed nomcom.models.Nomcom() to use a FileSystemStorage which doesn't
    record the file system location in the migration, in order to avoid having
    model changes detected when switching from one development path to
    another.

  * Merged in [10265] from rcross@amsl.com:
    Fixed IPR notice addresses formatting.   

  * Added a new machine-readable list of IPR declarations per draft, which 
    also searches through related documents.  Extended make_test_data() with a 
    replaced document for the test draft.

  * Added a switch to the 'test' command, to write short test results to 
    file, changing the default which used to be to always write these.

  * Updated the INSTALL instructions to reflect the new way patch numbers 
    are handled in ietf/__init__.py from the 6.0.0 release.

  * Updated bin/mergeready to work with svn 1.9, which seems to return an error 
    for properties which aren't found.

 -- Henrik Levkowetz <henrik@levkowetz.com>  24 Oct 2015 20:29:34 +0000


ietfdb (6.7.0) ietf; urgency=low

  **Smart Document URLs**

  This release introduces smart document URLs, which lets you type in partial
  (but unique) document names in the browser url fields, and be taken directly
  to the matching datatracker document page.  As an example, you can type
  https://datatracker.ietf.org/doc/draft-ietf-core-links and be taken to the
  draft-ietf-core-links-json page.  For drafts, you can snip off the document
  type prefix, too:  https://datatracker.ietf.org/doc/ietf-core-links.

  If the partial string supplied matches more than one document, you'll instead
  get a search page for that name string.

  This works for other document types than drafts, too, but then you need to
  have a match at the start of the document name:
  https://datatracker.ietf.org/doc/conflict-review-cheshire does what you'd
  expect, and so does https://datatracker.ietf.org/doc/status-change- .

  Extensions are split off if supplied, and revisions redirect to the
  appropriate historic page.

  Details from the commit-log:

  * Enhanced the partial-match URL feature introduced in [10158], merged in
    [10253], so that it now handles other document types than drafts/rfcs if
    the partial string has the proper prefix, and also handles partial strings
    which don't match at the start of the document name.

  * Added a new field 'prefix' to DocTypeName -- unfortunate, but necessary 
    since the slugs don't match the document prefixes :-(

  * Merged in [10158] from olau@iola.dk:
    Add a view for /doc/foo-bar-baz that tries to redirect helpfully instead
    of just throwing a 404 in case in an inexact match.  Right now, it knows
    how to do prefix matches and handles revisions and extensions. If it can't
    find a unique match, it redirects to the search page.  Branch 

  * Merged in [10111] from olau@iola.dk:
    This fixes Javascript widgets working with DocAliases, such as the
    replaces field in draft submission, to work better with Javascript
    disabled. It also makes sense from a modelling perspective as the name
    really is a unique key for the alias.

 -- Henrik Levkowetz <henrik@levkowetz.com>  22 Oct 2015 14:50:25 +0000


ietfdb (6.6.1) ietf; urgency=low

  This is a combined bugfix and feature maintenance release:

  * Updated the code to use version 4.0.1 of coverage.py for code coverage
    measurements.  Moved the code which starts coverage measurements to
    settings_sqlitetest.py to avoid coverage measurements running when not
    doing tests. Did some additional coveage measurement refactoring.

  * Changed to use a gzipped release coverage JSON file, instead of a plain 
    JSON file, if the name given in settings.py ends in .gz.  Reduces the 
    current release coverage file size from ~1.6MB to ~200kB.  This is a 
    preparation for saving more information in the release coverage file than 
    we currently do.

  * Merged in [10220] from rjsparks@nostrum.com:
    Preserve linefeeds (using class pasted) when viewing nomcom feedback
    messages.  

  * Merged in [10219] from rjsparks@nostrum.com:
    Recognize and remove duplicate addresses while gathering. Fixes bug 
    #1815.  

  * Removed support for perma_fixtures, using the global test fixtures 
    instead.

  * Merged in [10218] from rjsparks@nostrum.com:
    Fixed an initialization problem for the new work message for recharters.  

  * Merged in [10206] from rcross@amsl.com:
    Cleaned up bluesheets upload page.  Added display of uploaded files.   

 -- Henrik Levkowetz <henrik@levkowetz.com>  19 Oct 2015 16:26:34 +0000


ietfdb (6.6.0) ietf; urgency=low

  **Mail Sending Triggers**

  This release improves visibility into where and when the datatracker
  sends email. It makes where the datatracker sends email for a given
  action data driven, and it shows where email will be sent for actions
  on documents and groups by adding an 'Email Expansions' tab to group
  and document pages, which shows which email sending triggers exist.

  * Merged in [10186] from rjsparks@nostrum.com:
    This release improves visibility into where and when the datatracker
    sends email. It makes where the datatracker sends email for a given
    action data driven, and it shows where email will be sent for actions
    on documents and groups.

 -- Henrik Levkowetz <henrik@levkowetz.com>  14 Oct 2015 19:09:29 +0000


ietfdb (6.5.1) ietf; urgency=low

  This is a minor bugfix release to clear the way for the coming email
  triggers release:

  * Merged in [10159] from rcross@amsl.com:
    Improve secretariat rolodex roles section, sort and identify concluded 
    groups.   

  * Merged in [10156] from rcross@amsl.com:
    Adjust audio file glob pattern.   

  * Added custom style to fix a problem with the navbar search field width 
    on iPads.

  * Fixed incorrect case of some urls in the ptsans stylesheet.

  * Tweaked the mkrelease verbose output.

 -- Henrik Levkowetz <henrik@levkowetz.com>  13 Oct 2015 16:53:54 +0000

ietfdb (6.5.0) ietf; urgency=medium

  **Liaison tool rewrite**

  This release merges in work from rcross@amsl.com and esanchez@yaco.es which
  provides a major rewrite of the IETF datatracker liaison support.  It
  introduces a simplified user interface, new improved and reworked data
  models, liaison statement history, improved handling of liaison-related
  emails in many ways, generalisations of liaison sender and recipient
  handling, making the tool much more flexible, improved search, status
  overview and attachment handling, and a greatly expanded test coverage.

  This work was funded by the IAOC.  The statement of work is available here:
  http://iaoc.ietf.org/documents/liaison-sow-04.pdf

 -- Henrik Levkowetz <henrik@levkowetz.com>  10 Oct 2015 09:54:56 +0000


ietfdb (6.4.2) ietf; urgency=medium

  This is a bugfix release, with details as follows:

  * Merged in [10144] from rcross@amsl.com:
    Make email address formatting consistent.   

  * Adjusted numerous document action button colours as requested by the 
    secretariat.  Fixes issue #1803

  * Provided a bit more information in rfc-editor sync warnings.

  * Added an eyecatching symbol to indicate bug-reporting, starting out very 
    large, with the intention of reducing the size as people get used to it.

  * Fixed an html issue in the agenda template, and added information to be 
    shown when no WG/RG groups have been scheduled, and the agenda session 
    customization table is empty.

  * Tweaked the anchor ids for agenda timeslots to avoid identical ids for 
    different slots.

  * Added information about which the required submission upload format 
    alternatives are (.txt or .xml).

  * Tweaked the error message for 2 submission form validation errors.

  * Changed the default settings for the test crawler from ietf.settings to 
    ietf.settings_testcrawl.

  * In [10079], the inline template was inadvertently changed from unicode 
    to ascii, which breaks a number of pages.  Fixed this.

  * Merged in [10115] from rjsparks@nostrum.com:
    Remove an extraneous field from the form that lets the nomcom chair paste
    in a questionnaire response.  

  * Merged in [10109] from rjsparks@nostrum.com:
    Make it clearer in search results when one IPR disclosure updates another.
    Fixes #1798.  

  * Fixed a typo in the meeting agenda template.  Fixes issue #1793.

  * Do utf-8 encoding of the fields in the JSON blob for meeting sessions.
    Fixes issue #1790

  * Merged in [10079] from rcross@amsl.com:
    Fixed message formatting in IPR event history.   

  * Merged in [10078] from rcross@amsl.com:
    Resolved issue where partially entered IPR related document info causes
    500 error.  

  * Added a menu item linking to the session request tool.  Fixes issue #1789.

  * Made some submission form validation errors apply to all uploads, not 
    only to .txt uploads.  Tweaked som validation error wordings.

  * Merged in [10062] from olau@iola.dk:
    Fixed a problem with timeslot.location = None in agenda_csv. 

  * Added branch/iola to places checked for 'ready for merge' tags in the 
    commit messages.


 -- Henrik Levkowetz <henrik@levkowetz.com>  08 Oct 2015 19:40:04 +0000



ietfdb (6.4.1) ietf; urgency=medium

  This is a minor release with various enhancements and bugfixes:

  * Merged in [10026] from rcross@amsl.com:
    Fixed an issue with the select2-field.js path in templates.   

  * Merged in [10004] from rjsparks@nostrum.com:
    Return new forms instead of validated forms for nomcom nominations and 
    feedback. Fixes #1703.  

  * Merged in [9996] from olau@iola.dk:
    Fixed missing save button when deleting milestones. Fixes #1762. 

  * Merged in [10002] from rjsparks@nostrum.com:
    Added a checkbox to the nomination form to indicate permission to nomcom 
    to share the nominator's name with the nominee.  

  * Added a migration for the Nomination.share_nominator field.

  * Merged in [9989] from rjsparks@nostrum.com:
    Restored the color bands to the email-alias page.  

  * Merged in [9966],[9967],[9968],[9969] from lars@netapp.com:
    Fixed HTML errors.

  * Fixed the day-of-week agenda links to not pull the agenda up so high 
    that the start of the day is obscured by the top navbar.

  * Merged in [9669] from olau@iola.dk:
    Makede the meeting agenda code use the historic info available for groups.
    In the process, added some select_related/prefetch_related code to cut the
    number of database queries in the agenda down from 4000-5000 to about 50.
    Rewritten agenda CSV code to use Python arrays rather than a template for
    improved readability/reuse. Rewritten week view to assemble its data in
    Python. Plus a few other minor cleanups, e.g. lame_description is now
    gone.  Fixes #1088.

  * Added a very simple html version of the json API, to make it easier to 
    explore the api manually.

  * Makede the selenium tests work with statifiles.

  * Improved the verification of submitted file extensions and mimetype.

 -- Henrik Levkowetz <henrik@levkowetz.com>  23 Aug 2015 19:41:24 +0000


ietfdb (6.4.0) ietf; urgency=medium

  **Serve static assets via CDN**

  This release adds support for serving static files through a CDN, rather
  than having them served by the datatracker webserver.  This will both
  offload the datatracker webserver and speed up retrieval of static files.

  By default, all external static assets (such as jquery, bootstrap,
  font-awesome, qunit, select2) are served via CDN, while the datatracker's
  own static files are not.  It is expected that the more stable datatracker
  static files will be migrated to be served via CDN also, over time.

  This release also adds support for easy update of external javascript, font,
  and css libraries by means of a new management command "bower_install" which
  makes use of the "bower" package manager.  Use of this management command
  requires that bower be installed on the development platform.  

  When deploying this and following releases, a new action is needed in order
  to make the appropriate static content available for serving via CDN:

  After checking out the release, before creating the symlink to the new release
  in the datatracker deployment directory, it is now also necessary to run
  the "collectstatic" action::

    $ ietf/manage.py collectstatic

  A note about that has been added to the README file in the datatracker
  deployment directory.

 -- Henrik Levkowetz <henrik@levkowetz.com>  06 Aug 2015 18:34:36 +0000


ietfdb (6.3.0) ietf; urgency=medium

  **Active area, directorate, team, and area group pages**

  This release provides new group overview pages for active areas, area
  groups, teams, and directorates.  It also improves the error reporting when
  drafts are submitted with invalid XML, providing line numbers and specifics
  for the issues found.  Additionally, there are a few bug fixes.

  * Merged in [9924] from rjsparks@nostrum.com:
    Added views of active areas, area groups, teams, and directorates.  Added
    navigation to those views to the base menus.  Unified the URL patterns
    shared between group/urls and group/urls_info, exposing the same view at,
    e.g., /group/stir and /wg/stir/.  Improved testing, primarily of
    group/info.py 

  * Merged in [9901] from rcross@amsl.com:
    Fixed matching audio file names with rooms.   

  * Provided a document's rfc number (if any) as part of the document fields 
    exposed in the json api.

  * Changed the code for meta-data extraction from xml files to not break 
    if a sought-after element is missing.

  * Updated the meta-data error message to say 'errors ... below' instead of
    'errors ... above', to match the relative placement of text and error
    indications.

  * Improved the error reporting for invalid xml file submissions.

  * Improved the handling of failed xml2rfc conversions when no txt document
    is submitted.

 -- Henrik Levkowetz <henrik@levkowetz.com>  01 Aug 2015 14:52:37 +0000


ietfdb (6.2.0) ietf; urgency=medium

  **XML-Only Draft Submission**

  This release adds draft submission metadata extraction from xml files, if
  they are made part of a draft submission, and it permits submission of only
  draft XML files without an accompanying text file, as long as conversion of the
  submitted XML to text format succeeds.  The release also contains numerous
  style, text and bug fixes from Lars Eggert, and improvements to the ability to
  accept draft replacement information at drafts submission time.

  * Merged in [9875] from rjsparks@nostrum.com:
    Improved the form validation for the submission replaces form. Commit
    ready for merge.

  * Merged in [9862] from rjsparks@nostrum.com:
    Ignore suggestions that a draft replaces itself.  

  * Merged in [9849] from lars@netapp.com:
    Made nav title capitalization consistent with other text.  Consistently
    add arrows for tabs that navigate away from the site. Shorten some text. 

  * Merged in [9857] from lars@netapp.com:
    Applied more of the styling from the current meta tables.  

  * Merged in [9856] from lars@netapp.com:
    Styled the metadata tables for groups, documents, etc. like Henrik 
    prefers. 

  * Merged in [9855] from lars@netapp.com:
    Fixed bugs in adding/removing documents to personal ID list. 

  * Merged in [9852] from lars@netapp.com:
    Fixed display of AD and shepherd names, and also fix the respective 
    mailto: links. 

  * Merged in [9851] from lars@netapp.com:
    Fixed the logic, so that if there are no matches and we don't want a warning
    saying that, there is also no empty table being produced. 

  * Merged in [9850] from lars@netapp.com:
    Moved state length notification after RFC Editor status (looks better). 

  * Merged in support of xml-source only drafts submissions from 
    personal/henrik/submitxml/.

  * Merged in [9843] from lars@netapp.com:
    Converted two remaining protocol-relative URLs to https.  

 -- Henrik Levkowetz <henrik@levkowetz.com>  25 Jul 2015 16:32:25 +0000


ietfdb (6.1.0) ietf; urgency=medium

  **IETF 93 Code Sprint**

  This release contains the datatracker bugfixes and enhancements from the
  IETF-93 Code Sprint.  It contains a lot of HTML validity fixes which
  makes our HTML even cleaner, fixes a number of issues, and introduces
  support for providing information about draft replacements at draft
  submissions time.  Many thanks to everyone who contributed!

  * Merged in Ole's submit-time draft replacement information work, as 
    tested and updated by Robert and Adam.

  * Added escaping of changelist content for the /release/ pages.

  * Merged in [9821] from rcross@amsl.com:
    Allow Secretariat to submit drafts during blackout period.  Fixes #1755.  

  * Merged in [9813] from rjsparks@nostrum.com:
    Added navigation to the new secretariat agenda tools. Changed the buttons 
    at the top of the agenda.html page to links.

  * Merged in [9812] from suresh.krishnan@ericsson.com:
    Added code to inform ADs, chairs and delegates of WG personnel changes.
    Fixes #1310.

  * Merged in [9809] from lars@netapp.com:
    Added some whitespace to make wrapping AD names in ballots a bit easier to
    read. 

  * Merged in [9806] from lars@netapp.com:
    Fixed a longstanging formatting issue with the ballot popup.  

  * Merged in [9803] from lars@netapp.com:
    Converted a few more URLs from http to https.  

  * Reverted some look-and-feel changes that came in with recent document
    metadata html and python refactoring, which undid fixes related to issues
    #1659 and #1663.

  * Merged in [9802] from bartosz.balazinski@interdigital.com:
    Fixed references (relative to absolute) in template
    ietf/templates/group/active_areas.html, fixed build failure on unused
    import in file 0006_auto_20150718_0509.py, 

  * Merged in [9733], [9735], [9737], [9738], [9766], [9774], [9778], [9781],
    [9783], [9784], [9789] and [9800] from lars@netapp.com: Fixed a bunch of
    HTML validation issues identified by test-crawl --validator-nu. 

  * Merged in [9796] from suresh.krishnan@ericsson.com:
    Don't allow submission for drafts that have been replaced. Fixed #1619. 

  * Merged in [9792] from jmh@joelhalpern.com:
    Removed misleading back buttons from document metadata modification pages.
    Fixes #1671.  

  * Merged in [9788] from rcross@amsl.com:
    Have RFC sync change the IESG state of draft to RFC Ed Queue when draft 
    appears in queue.  Fixes #1750.   

  * Merged in [9782] from lars@netapp.com:
    Made title capitalization consistent with other pages.  

  * Merged in [9779] from lars@netapp.com:
    Removed the code that used to calculate table_rows, now that the HTML
    doesn't use it anymore.  

  * Merged in [9775] from rcross@amsl.com:
    Added proposed groups to Blue Dot Report.  Fixes #1747.   

  * Merged in [9765] from lars@netapp.com:
    Added option to crawl as a logged-in user (--user).
    Add --pedantic option for vnu crawl, which stops the crawl on (most) errors.
    Randomized the order in which URLs are crawled, so that repeated crawls don't
    hit the same URLs in the same order. 

  * Merged in [9736] from lars@netapp.com:
    Updated the README now that the facelift has happened, and removed the
    outdated TODO.  

  * Merged in [9726] from lars@netapp.com:
    Added HTML5 validation based on validator.nu to test-crawl, with the
    --validator-nu option.

 -- Henrik Levkowetz <henrik@levkowetz.com>  21 Jul 2015 10:13:10 +0000


ietfdb (6.0.4) ietf; urgency=medium

  This is a minor release which provides some style tweaks, the ability to
  set a user preference to not show the left-hand menu, and a substantial
  number of bugfixes:

  * Merged in [9672] from rjsparks@nostrum.com:
    Restore the hash to the customized ical link.  Fixes #1732.

  * Merged in [9671] from rcross@amsl.com:
    Convert PPT materials to PDF.  Fixes #1724.

  * Merged in [9668] from rjsparks@nostrum.com:
    Draw the right number of days in the secretariats room view.  

  * Merged in [9666] from rcross@amsl.com:
    Area names hardcoded in Proceedings app.   Fixes #1723.

  * Merged in [9663] from rjsparks@nostrum.com:
    Try a different way of wrapping ballot/comment fields and shepherd 
    writeups. Related to #1673.

  * Merged in [9662] from rcross@amsl.com:
    Add Message objects to merge-person-records.   

  * Merged in [9654] from rjsparks@nostrum.com:
    Add searches across the web-based archive tool to the document's page. 
    Collapse all the searches, including ARO for ADs, under a dropdown. 
    Partially addresses #1701.  

  * Merged in [9652] and [9653] from rjsparks@nostrum.com:
    Provide color for ART.

  * Merged in [9651] from rjsparks@nostrum.com:
    Adds a graphical overview of each day by room for the secretariat to 
    assist with scheduling additional meetings.  

  * Added preference editing support for the left_menu preference setting, 
    and refactored the preference handling code substantially.  Related to 
    issues #1659 and #1663.

  * Merged in [9650] from rjsparks@nostrum.com:
    Set the parent for newly created RGs. Be more robust if an RG has no 
    parent. Test creation of an RG. Fixes #1718 and #1719.  

  * Merged in [9649] from rjsparks@nostrum.com:
    Provide a session type for sessions created to say a group is not 
    meeting. Add a test for the no_meeting view. Fixes #1720.  

  * Merged in [9641] from rjsparks@nostrum.com:
    Make parsing IANA mail for comments more flexible.  

  * Merged in [9639] from rjsparks@nostrum.com:
    Only show document versions for positions when the position is on an 
    older version. (Reapplying earlier fix). Fixes #1711.  

  * Merged in [9637] from rjsparks@nostrum.com:
    Color agenda/documents rows with position taken when viewing as an AD. 
    Fixes bug #1679.  

  * Merged in [9626] from rjsparks@nostrum.com:
    Restore the discuss-box hiding feature when a position is not blocking. 
    Fixes bug #1688.  

  * Additional tweaks to document lists, trying to reduce the number of 
    lines consumed by the status column.

  * Reduced the submenu line-height somewhat.  Related to issue #1708.

  * Fixed incorrect output of unmatched <div/> closing elements, left after 
    [9643].

  * Added a preference to not display the left-hand menubar.  Addresses 
    issues #1659 and #1663.

  * Tweaked the document list display slightly, to sqeeze in a little bit 
    more info on a page.  Addresses issue # 1663.

  * Wrap liaison statements on 78 characters rather than 71.

 -- Henrik Levkowetz <henrik@levkowetz.com>  23 Jun 2015 20:03:08 +0000


ietfdb (6.0.3) ietf; urgency=medium

  This release provides the capability to manage and graphically
  schedule additional meeting types, including leadership meetings.  It
  also fixes a number of issues, mostly related to the recent facelift.

  Details:

  * If the author of a nomcom nomination is unknown, use 'Anonymous' and no
    email address in outgoing messages, instead of '$author'.

  * Merged in [9619] from rjsparks@nostrum.com:
    Copy the RFC Editor on new version messages for drafts in any stream if
    the RFC Editor is already working on the draft. Fixes bug #1700.  

  * Merged in [9618] from rcross@amsl.com:
    Make proceedings generation more robust.   

  * Added a missing html doctype element for a popup page.

  * Don't show the unused 'author' field in the public nomcom feedback 
    form.  Fixes issue #1699.

  * Removed inappropriate group actions and information from external group 
    info pages.  Fixes issue #1651.

  * Removed a number of action buttons which aren't relevant for RFCs.  
    Fixes issue #1698.

  * Fixed a wrong row count for stream meta-info when displaying RFCs.  
    Also fixed a 'missing columns' html warning. Fixes issue #1697.

  * Merged in [9608] from rjsparks@nostrum.com:
    Show leadership when and where mail was sent at the time it is sent.  

  * Fixed a problem with nomcom classification forms showing too many 
    fields.

  * Tweaked the missing id submission revision message to work also with 
    non-ascii characters in the draft name.  Changed the disallowed character 
    error message to be more useful by providing the found document name and 
    byte codes for the disallowed characters.

  * Updated the api resources file with new meeting model fields.

  * Merged in [9604] from rcross@amsl.com:
    Updated the IAOC email address in Announcement app.   

  * Merged in [9603] from rjsparks@nostrum.com:

    - Added functionality which allows the secretariat to manage more meeting 
      types, including leadership meetings.
    - Backfilled those types of meetings from IETF91 and IETF92.
    - Addressed several facelift issues in the meeting application.

  * Merged in [9595] from rcross@amsl.com:
    Fixed an issue where an authorized individual was unable to add an
    incoming liaison.  Fixed a problem with the incoming liaison form
    requiring a deadline date for information only statements.  

  * Fixed an issue where the https: schema inadvertently had been included in
    RFCDIFF_PREFIX, causing duplicate schema specifications in some places.
    Changed name to RFCDIFF_BASE_URL and cleaned out the duplicate schema
    specifiers.

  * Added a check for model changes which haven't been captured in migrations
    to the release script.

  * Added 5 migrations for changes in model field help-text strings which
    changed in the facelift.  Also fixed the expression of the help text for
    NomCom.reminder_interval so the text itself doesn't contain quite as much
    whitespace.

  * Aligned the table header fields with the table columns in the doc history
    page.  Marked the action text safe so as to make embedded links show up as
    links.

  * Reduced the max height of submenus to avoid them extending below the screen
    bottom edge when used from the top navbar (which won't scroll).  The new
    value works on 1024x768 screens for the current areas.

 -- Henrik Levkowetz <henrik@levkowetz.com>  13 May 2015 17:23:41 +0000


ietfdb (6.0.2) ietf; urgency=medium

  This is a minor release, containing a few new development support features,
  HTML cleanup, and good number bugfixes from lars@netapp.com,
  rjsparks@nostrum.com, rcross@amsl.com and henrik@levkowetz.com

  * Added html validation to the test crawler; it will now report html 
    which fails validation with 'WARN' indications.  Reorganized the code 
    somewhat, collecting functions, globals, etc. in groups.

  * Fixed all cases of invalid html found by the test crawler.

  * Reduced the padding for compact tables.  This hopefully fixes issue 
    #1689.

  * Addressed another bug related to using SearchablePersonsField to choose 
    Person objects, rather than Email objects.  If one uses this for Person 
    objects, then object.address isn't going to be terribly useful in the form 
    ,,:-).  Addresses issue #1684, #1685 and #1686.

  * Provided the IRTF chair with access to the session request tool.  Fixes 
    issue #1687.

  * Removed emtpy items from the must-be-there list before handing the list 
    to Person.objects.filter(pk__in=...).  Fixes issues #1684, #1685

  * Merged in [9558] from rcross@amsl.com:
    Eliminated MultipleObjectsReturned when editing draft.  Fixes issue #1678.

  * Merged in [9554] from rcross@amsl.com:
    Fixes #1692.  Drag-and-Drop slide re-ordering no longer works in 
    secr/proceedings.  Consolidate / update JQuery-UI.   

  * Merged in [9548] from rjsparks@nostrum.com:
    Allow IANA to switch to (BEGIN IANA COMMENTS) at their leisure. Make 
    sure the captured events are obviously from IANA.  

  * Merged in [9546] from rcross@amsl.com:
    Fixes alignment of ballot position headers in IESG agenda moderator 
    package.   

  * Merged in [9541] and [9542] from rjsparks@nostrum.com:
    Quit putting the group email list address in the initially generated
    Notify field.  Updated the tests accordingly.

  * Merged in [9527] from rcross@amsl.com:
    Made it possible to add minutes / agenda after deleting them.  Fixes issue
    #1680.

  * Updated a bunch of links from http: to https: based on a patch from 
    lars@netapp.com.

  * Merged in [9525] from lars@netapp.com:
    Make the menu bar search field appear on slightly smaller screen widths. 

  * Merged in [9524] from lars@netapp.com:
    Add some shim js libraries for IE8 and earlier (see
    http://getbootstrap.com/getting-started/#template) Fix HTML structural
    errors in the template.  Wrap some HTML comments into Django comments, so
    they don't get sent to the client. 

  * Merged in [9519] from rcross@amsl.com:
    Fixed an issue where RelatedObjectDoesNotExist would be raised when User
    has no Person.  Fixes issue #1676.

  * Merged in [9518] from rjsparks@nostrum.com:
    Allow an AD to jump straight to the ballot editing page by right-clicking
    any ballot grid. Fixes #1669.  

  * Merged in [9516] from rjsparks@nostrum.com:
    Don't show needed positions for closed ballots. Fixes #1622.  

  * Merged in [9514] from rjsparks@nostrum.com:
    If the name attached to an additional-info URL for a group is blank, 
    show the URL instead. Fixes #1523 and #1657.  

  * Merged in [9513] from rjsparks@nostrum.com:
    Don't show concluded groups in the community list section of the 
    navbar. Fixes bug #1652.  

  * Removed local copies of html5lib and tastypie, and updated
    requirements.txt to include them.  Removed typogrify from the requirements
    list; it isn't used.

  * Added pip and setuptools, required in virtualenv, to requirements.txt,
    in order to simplify buildbot testing of package installation and version 
    testing.

  * Added copyright lines and template origin to the html templates.  

  * Added support for an 'origin' template tag which will insert the name 
    of the template file (within a html comment) into the page content when 
    TEMPLATE_DEBUG is True; with the purpose of more easily being able to 
    identify the templates from which page content comes.

 -- Henrik Levkowetz <henrik@levkowetz.com>  27 Apr 2015 08:56:36 +0000


ietfdb (6.0.1) ietf; urgency=medium

  This is a bugfix release which irons out some wrinkles discovered after
  deployment of 6.0.0.

  * Merged in [9505] from rjsparks@nostrum.com:
    Added a checkbox to cc the group list address on ballot positions if a
    document belongs to a group. Add better tests of the checkboxes on that
    form.  

  * Provided a different shortcut icon for the datatracker when run in 
    development or test mode.  Fixes issue #1667.

  * Added back the development mode header on the frontpage.

  * Adapted session_draft_list() code to handle the case when there is 
    multiple agendas for a given group acronym.  Fixes some server 500 results 
    when trying to get pdf bundles for the plenary sessions for ietf 71.

  * Put back the schema specifier for IANA and RFC-editor URLs -- they are 
    needed in parts of the code.

  * Put back the value attribute for the name/value pair of many input and
    button elements which lost the value attribute in the conversion, in order
    to let the backing form code determine which button was pressed.  Fixes
    issue #1668.

  * Shaved off some more vertical space in the document tables.  Builds on 
    [9494], addresses #1660, #1663, #1665.

  * Introduced a couple of changes to the document list row format to make 
    rows take up less vertical space: Moved the page count in under the date, 
    so it won't add vertical space, and made shepherd email addresses break 
    across lines if needed, instead of squashing the column widths of the other 
    columns.

  * Made it clearer on the document iesg review page and the ballot popup 
    page which ADs mentioned are ex-ADs, by adding parentheses in addition to 
    the dimmed text.  Fixes issue #1664

  * Removed all subsection horizontal lines from the document meta tables, 
    on suggestion from mnot@pobox.com.  Addresses issue #1659.

  * Added a missing templatetag library load instruction for bootstrap3.  
    Addresses issue #1662.

  * Replaced google-served fonts with self-hosted ones.  After a testing
    period with the current 'access plus 4 hours' Cache-Control setting,
    we should probably increase the cache control for external static files.

 -- Henrik Levkowetz <henrik@levkowetz.com>  15 Apr 2015 19:24:15 +0000


ietfdb (6.0.0) ietf; urgency=medium

  **Facelift using Bootstrap**

  During more than a year, from July 2013 to late 2014, Lars Eggert,
  <lars@netapp.com>, has worked intensively on a major facelift to the
  datatracker, porting the GUI to Bootstrap. The work took 287 separate
  commits , and comprised changes to 1016 different files.

  This work has turned the IETF Datatracker website into a responsive website
  which support use on a much larger variety of devices, from small mobile
  devices to desktops.

  The work relies heavily on the capabilities of Bootstrap, and continues to
  use the Django framework which the datatracker has been build on since
  version 2.00.

  Additional page conversion work has been done by Ole Laursen, with final
  style tweaks, bug-fixes and adaptations by Henrik Levkowetz in order to take
  care of some remaining rough edges and give it a distinct colour palette and
  a matching selection of fonts.

  The fonts, PT Serif for body text, PT Sans Caption for headers, PT Sans for
  menus, and PT Mono for monospaced documents are from ParaType, and are
  served by Google Fonts.

 -- Henrik Levkowetz <henrik@levkowetz.com>  13 Apr 2015 20:31:48 +0000

ietfdb (5.13.1) ietf; urgency=medium

  This is a bugfix release, to have a clean slate before merging in the
  Bootstrap facelift for 6.0.0.  Details:

  * Merged in [9428] from rjsparks@nostrum.com:
    Properly mark (and test) older ballot comment and discuss text after a new
    revision is submitted. Fixes bug #1656.  

  * Merged in [9426] from rcross@amsl.com:
    Add several 'From' options for IAD user of announcement tool.   

  * Merged in [9375] from rjsparks@nostrum.com:
    Put old style slides directly into archived. Migrate IETF92 materials to
    match.  

  * Merged in [9351] from rjsparks@nostrum.com:
    Removed sessonly, replacing the idea with a separate State. Add tests
    checking how materials show on agenda views.  

  * Fixed style attributes which resulted in red text on red background for
    some error messages

  * Buildbot changes: Separated out the schedulers for trunk, personal/\*and
    branch/\*.  Corrected regex patterns which extract unittest details.  Added
    a first tentative email notifier.  Added ForceSchedulers, in order to be
    able to force builds.

  * Changed all explicitly set HttpResponse content_types to specify charset.
    Django sets charset if you don't specify a content_type; if you specify
    one you also must add a charset specification (if you want one).  Fixes
    issue #1647.

  * Fixed a typo in the sort key generation for the sort on ipr count in
    document search results.

  * Updated release data and mkrelease support, which calculates the 
    release coverage snapshot without invoking tests that developers won't 
    ordinarily be able to run on their laptops/work machines.

 -- Henrik Levkowetz <henrik@levkowetz.com>  10 Apr 2015 13:44:05 +0000

ietfdb (5.13.0) ietf; urgency=medium

  **IETF 92 Code Sprint**

  This release contains the datatracker bugfixes and enhancements from the
  IETF-92 Code Sprint.  It improves the coverage of the test suite, and also
  fixes a number of issues.  Many thanks to everyone that contributed!

  * Merged in [9330] from rcross@amsl.com:
    Cleanup legacy IPR models.  Fixes ticket #1626.  

  * Merged in [9326] from rjsparks@nostrum.com:
    Test coverage improvement for group material management.  

  * Fixed a problem in Document.meeting_related(), and fixed a number of 
    tests which broke when slide objects started to return True to 
    meeting_related() without being related to a session.

  * Merged in [9319] from kivinen@iki.fi:
    Added test cases for cookie code. This will test all the cookie setting 
    code, and also adds test for draft for include_text and full_draft cookie 
    checking.  

  * Merged in [9317] from jmh@joelhalpern.com:
    Added some nomcom test cases.  

  * Changed the MEDIA_URL to use https instead of http, to be in line with 
    other efforts to move to https in general.

  * Merged in [9316] from willem@nlnetlabs.nl:
    Test fetching of wg and rg document dependency graphs.

    Also added conditional running of these tests, as they depend on the
    availability of the dot, unflatten and ps2pdf binaries, which may not
    be available on all developers' systems.

  * Merged in [9309] from tjw.ietf@gmail.com:
    Fixed #845. Commit read for merge. 

  * Merged in [9305] from willem@nlnetlabs.nl:
    Callback API test code paths 

  * Merged in [9307] from rcross@amsl.com:
    Improved test coverage of secr.drafts.   

  * Merged in [9306] from rjsparks@nostrum.com:
    Added pre-ads to .ad aliases. Keep draft aliases for drafts that have 
    become RFCs for some time.  

  * Merged in [9303] from rjsparks@nostrum.com:
    Cached the wg-charter*txt pages for a time since they are very heavy to 
    generate.  

 -- Henrik Levkowetz <henrik@levkowetz.com>  25 Mar 2015 19:07:16 +0000


ietfdb (5.12.3) ietf; urgency=medium

  This is a minor bugfix release which also addresses a number of testing
  issues, in preparation for the IETF-92 sprint on Saturday.

  * Merged in [9242] from rjsparks@nostrum.com:
    Restores add-to-community-list functionality to several pages. Fixes 
    #1601.  

  * Added a --logfile switch to the test crawler, in order to be able to 
    control whether a logfile should be used or not.  It's not particularly 
    hepful when running on a buildbot slave, which catches stdout anyway.

  * Updated the nomcom tests to use temporary test directories for data, 
    instead of the regular production settings in settings.py.

  * Updated the mergeready script to check if the 'test:unittest' property 
    has been set to 'passed' on a changeset marked 'ready for merge'.

  * Introduced a more correct implementation of the workaround to skip
    migrations during test, which also points at the code that makes this work
    at the moment.

  * Tweaked the settings_sqlitetest.py file, which normally is used during
    test suite runs, to avoid a minutes-long stepping through migrations for
    each test run.   This makes it much more workable to run individual tests.

  * Added the buildbot config file to the repository.  Deployment path: 
    trac.tools.ietf.org:/home/buildbot/masters/datatracker/master.cfg

  * Added exception capture and error message output to the coverage_changes
    management command when the --release switch to specifies a release for
    which there isn't any data.  Also tweaked the diff output for code
    coverage changes.

 -- Henrik Levkowetz <henrik@levkowetz.com>  19 Mar 2015 23:55:45 +0000


ietfdb (5.12.2) ietf; urgency=medium

  * Added test coverage data to the release pages if available for the shown
    release.  Added saving of html pages for the code coverage to a directory 
    in the static files area.  If a code coverage report is available, a link 
    to it will be shown on the release page of the current release.  Renamed 
    some setting variables related to test coverage to be more explicit and 
    precise.

  * Changed the handling of some test directory creation and removal code, to
    be more consistent.  Fixed a problem with a test that didn't create and
    remove a test directory which it used.

  * Merged in [9185] from rcross@amsl.com:
    Add DocEvent and SubmissionEvent to merge-person-records.   

  * Added tests for the presence of a VTIMEZONE section in generated agenda 
    iCalendar files.

  * Started the code coverage measurements earlier, in order to make the 
    apparent code coverage of model files less confusing.

  * Added a fudge factor to the coverage test, in order to make it easier 
    to do minor code changes without slipping under the coverage of the
    latest release.

  * Made the test runner try multiple port numbers for the SMTP server, in 
    order to handle the case where multiple test suites are in progress on the 
    same host (which can happen when multiple buildbot slaves are running tests 
    at the same time).

  * Fixed a small issue with the filter expression to select ADs for active 
    groups.

 -- Henrik Levkowetz <henrik@levkowetz.com>  15 Mar 2015 22:04:14 +0000


ietfdb (5.12.1) ietf; urgency=medium

  **Extended test coverage support, active email address fixups**

  This is a minor release which contains a number of bugfixes, and also
  introduces additional test coverage measurements and support functionality.
  It further contains two migrations which fixes a set of inactive email
  addresses which most likely should have been active, and notifies the owners
  about the change.  This means that when running migrations as part of this
  release, about 1000 notification emails will be sent out from the
  datatracker.

  Detailed changes:

  * Don't set email addresses which are created when a draft is submitted
    to inactive any more.  We now have a 'primary' field to indicate which
    email address is the primary one when a person has multiple registered
    addresses, so we don't have to rely on the timestamps on the email
    address objects to determine the primary address.

  * Added a migration which changes the active bit from False to True to 
    all email addresses associated with active drafts, and sends out 
    notification emails about this.

  * Added a managment command to show the difference in coverage data 
    between the latest release and the latest test run, and a test for the same.

  * Added a login requirement for the full document and group email alias 
    pages, but kept the individual group and document email-alias pages visible 
    without login.  Added testing of login redirects for the full email alias 
    lists, and reordered the test sequence within the test methods 
    appropriately.

  * Made sure that Email.__unicode__() will return a string even if address 
    is None.  Fixes an exception on deleting an email address for a Person 
    object in the admin interface.

  * Added per-app coverage measurements, to make the numbers shown when not 
    running the full tests suite a bit more meaningful.

  * Changed the nomcom.forms.FullFeedbackFormSet to use 
    modelformsets_factory() instead of direct subclassing, in order to avoid a 
    crash when using the form, caused by a missing instance attribute.

  * Clarified the meaning of checked/unchecked boxes in front of the email 
    addresses on the account profile management page.

  * Merged in [9143] from rcross@amsl.com:
    Add AG Secretary to Proceedings authorized roles.   

  * Merged in [9142] from rjsparks@nostrum.com:
    Avoid creating blank line before headers on IPR notification email. 
    Fixes #1609.  

  * Merged in [9141] from rjsparks@nostrum.com:
    Fix ordering issue on agenda.html.  

  * Added a new field 'primary' to the Email model, added a matching 
    migration, and a data migration to set primary fields to match the way a 
    primary address is chosen today.

  * Added a migration which captures the changed information for the
    idsubmission-cutoff-related fields of Meeting.

  * Removed the obsolete field Group._ad, and added a migration for the 
    change.

  * Added exception handling in tastypie for a case which can occur if one 
    tries to filter by regex on a FK.

  * Turned the api.py file into a module.  Moved the makeresources 
    management command to the api module.  Added some api tests.  Added 
    crawling of api files to the test-crawler.  Adjusted some resource files 
    discovered by the test suite and test-crawler.  Removed a bunch of empty 
    model files.


 -- Henrik Levkowetz <henrik@levkowetz.com>  11 Mar 2015 12:22:03 +0000

ietfdb (5.12.0) ietf; urgency=medium

  **Test coverage tests**

  This release provides measurement of how much of the code is being exercised
  by our test suite, by integrating the 'coverage.py' tool in the test suite
  itself.  The percentage of the code excercised by the test suite is compared
  with the figure from the latest release, and a lower coverage constitutes a
  test failure.  This way it shouldn't be possible to add new code without
  also adding tests, without getting a test suite failure.  This should
  encourage gradually increasing levels of test suit coverage :-)

  Additionally, similar measurements and comparisons have been added for
  template and URL coverage of the test suite; these also have been
  implemented as tests, and sinking coverage of templates or URLs in the
  test suite will result in tests failures, in the same way as for code
  coverage.

  The results of the test suit coverage of code, templates, and URLs is saved
  to disk, in order to make the coverage details available for inspection.
  Coverage data per source file/template/URL is available in json format in
  a file 'coverage-latest.json' in the working directory, and more detailed
  per-line code coverage data is available in a file '.coverage', which is
  readable by the standalone 'coverage' program from 'coverage.py' from
  http://nedbatchelder.com/code/coverage/.

  * Merged in personal/henrik/v5.11.1-dev0@9103, which provides new tests
    for the test suite's code coverage, template coverage, and URL coverage.

 -- Henrik Levkowetz <henrik@levkowetz.com>  26 Feb 2015 10:08:14 +0000


ietfdb (5.11.2) ietf; urgency=medium

  This is a minor release with a few additional bugfixes:

  * Merged in [9121] from rcross@amsl.com:
    Resolved some issues with the proceedings progress repport.

  * Merged in [9099] from rcross@amsl.com:
    Added an ietf/bin script, merge-person-records.   

  * Merged in [9097] from rcross@amsl.com:
    Editing session request causes KeyError.  Fixes #1605.

  * Changed the handling of the group edit form so as to generate a 
    ChangeStateGroupEvent for state changes, instead of a generic GroupEvent of 
    type 'info_changed'.


 -- Henrik Levkowetz <henrik@levkowetz.com>  25 Feb 2015 09:06:43 +0000


ietfdb (5.11.1) ietf; urgency=medium

  This is a minor release, providing bugfixes and some enhancements.
  Worth mentioning is pages which lets one view and search the draft- and
  wg- email alias lists, the ability to control draft submission cutoff
  individually per meeting, improved presentation of the submission cutoff
  times, and release content annotations for major releases back to 2010
  on the release overview page.  Details below:

  * Added a slightly tweaked version of timedelta, in order to support 
    handling of TimedeltaFields.

  * Made the selector for Agenda.groups() match that of Agenda.area_list() 
    by adding parent__isnull=False.  Without this, the two won't match if split 
    by area.  Fixes issue #1607.

  * Added 4 new fields to the meeting class, to hold draft submission 
    cutoff information for the meeting.  On request, changed the presentation 
    of the cutoff times to show the last submission time, rather than the 
    beginning of the cutoff time. Changed the cutoff hour format to support 
    full timedelta information, not just a given hour (this was necessary in 
    order to be able to set the requested 23:59:59 submission stop time).

  * Merged in [9083] from rjsparks@nostrum.com:
    Added dealing with /wg/foo/email-aliases, /wg/email-aliases, and 
    similar for /rg. Added an initial test suite for all invocations of the 
    email_alias views.  

  * Merged in [9070] from rjsparks@nostrum.com:
    Adds pages to view the draft and group email aliases, either as a 
    whole, or per document or group.  

  * Added newly generated .ics timezone snippets, from
    http://www.ietf.org/timezones/tzdata-latest.tar.gz.  This updates the .ics
    files to use timezone information current as of 13 Feb 2015.

  * Modified the vzic makefile to generate new zoneinfo data by fetching 
    the latest tzdata file from ietf.org/timezones/tzdata-latest.tar.gz and 
    running vzic to update the .ics files as needed.

  * Don't create empty Alias records. Fixes issue #1603.

  * Added a guard against crashing because of missing timeslot location or 
    time in check_audio_files(), which is called by create_proceedings() after 
    changes to meeting materials.  Fixes issue 1604.

  * Added back a functioning get_fieldsets() method, which was removed 
    instead of corrected in the Django 1.7 upgrade.

  * Added a missing table column to the WG document page for the case when 
    the user isn't logged in.  Addresses issue #1601 (but add links in the 
    column are still missing).

  * Added title annotations to major release entries in the changelog back 
    to 2010, and changelog parsing and release page support for the same.

 -- Henrik Levkowetz <henrik@levkowetz.com>  23 Feb 2015 20:49:11 +0000


ietfdb (5.11.0) ietf; urgency=medium

  **Django 1.7**

  This release upgrades Django from 1.6.4 to 1.7.1, and tastypie from 0.11.1 to
  0.12.1.  It changes the database migrations infrastructure from that provided
  by "south", to the builtin replacement newly introduced with Django 1.7.

  There are also a number of changes which are required by the upgrade, in
  order to make things work as expected, and some fixes to bugs revealed by
  the improved infrastructure provided by Django 1.7.

  Deployment note:  

    When deploying this, migrations need some extra care, as the new-style
    migrations which are part of the release should not actually be run -- they
    are there to provide a status snapshot as a basis for future migrations.

    In order to handle this, please use the --fake option when running migrations
    for this particular release:

	$ ietf/manage.py migrate --fake

 -- Henrik Levkowetz <henrik@levkowetz.com>  09 Feb 2015 20:17:05 +0000


ietfdb (5.10.3) ietf; urgency=medium

  This is a minor bugfix release in preparation for the upcoming upgrade from
  Django 1.6.0 to 1.7.4

  * Merged in [9007] from rjsparks@nostrum.com:
    Add the csrf_token to the form for editing document titles. Fixes #1597.  

  * Merged in [9005] from rcross@amsl.com:

    - Fixed the group link on the standalone Interim Meeting Proceedings
      directory page.

    Also removed some dead code.

  * Removed the unnecessary get_and_create() of
    community.model.DisplayConfiguration on community page GET.

  * Made the cookie handling for the 'new_enough' and 'expires_soon' cookies
    insensitive to nonnumeric values.

 -- Henrik Levkowetz <henrik@levkowetz.com>  08 Feb 2015 16:40:01 +0000


ietfdb (5.10.2) ietf; urgency=medium

  * When draft email aliases are generated, the content of the doc.notify
    field is used to generate the $draft.notify alias, and is also included in
    the $draft.all alias.  If the notify field contains either the .notify
    alias or the .all alias, this can create a mail loop.  Changed the alias
    generation code to expand (or ignore, for .notify) aliases found in the
    notify field, and changed the code which fills in the notify field with a
    default value to insert the author, ad, and shepherd aliases instead of
    the .all alias.

  * Merged in [8970] from olau@iola.dk:
    Enabled support for a custom settings file for the test crawler and added
    a simple settings file that enables caching to speed up the crawl (shaves
    ~35% off most pages, it seems) 

  * Merged in [8961] from rjsparks@nostrum.com:
    Avoid an issue with python.email breaking To header field values that it
    has to encode in bad places. Fixes #1589.  

  * Merged in [8949] from rjsparks@nostrum.com:
    Improvements to the fix to #1592.  

  * Merged in [8948] from rjsparks@nostrum.com:
    Capture out-of-area ADs in draft and group aliases. Fixes #1592.  

  * Merged in [8924] from rjsparks@nostrum.com:
    Restrict the gathering of ads for past meetings to groups that are areas.

  * Merged in [8923] from rjsparks@nostrum.com:
    Improve the approval mail contents concerning IESG contact members. 
    Fixes #1588.  

  * Merged in [8922] from rjsparks@nostrum.com:
    Fix needed-to-pas calculation to use new representation of area directors.
    Fixes #1587.  

  * Merged in [8903] from rcross@amsl.com:
    Fixed a logging problem in IPR mail handling.   

 -- Henrik Levkowetz <henrik@levkowetz.com>  05 Feb 2015 18:33:18 +0000


ietfdb (5.10.1) ietf; urgency=medium

  This is a release containing a large number of small fixes and enhancements,
  as follows:

  * Merged in [8879] from rcross@amsl.com:
    Grant hte IRTF Chair access to proceedings.  Fixes #1580.  

  * Merged in [8870] from rjsparks@nostrum.com:
    Inform the secretariat when a duplicate Alias.name is created that isn't
    already a duplicate Person.name. Improve the message that's sent when
    either duplicate Person or Alias names are detected.  

  * Merged in [8861] from rcross@amsl.com:
    Changes to allow upload of bluesheets in materials upload page.  Primarily
    for use with Interim meetings.  

  * Merged in [8856] from rjsparks@nostrum.com:
    Show out-of-area ads on /wg/. Fixes #1555. Related to #1557.  

  * Merged in [8855] from rcross@amsl.com:
    Fixed the Back and Cancel buttons in recording views.  Fixes #1577.

  * Merged in [8854] from rjsparks@nostrum.com:
    This is the second step towards ADs out of GroupInfo into Role.
    The use of group.ad has been scrubbed from the code and templates.

    - Those places that set group.ad have been directly manipulate Role 
      objects instead

    - Most places that read group.ad now use a new group.ad_role() that 
      returns a Role object, simplifing some views.

    Related to #1555 and #1557. 

  * Merged in [8853] from rcross@amsl.com:
    Fixed audio recordings which weren't showing in the proceedings.  

  * Merged in [8852] from rcross@amsl.com:
    Fixed the ability to replace minutes and agendas.  

  * Merged in [8851] from rjsparks@nostrum.com:
    This is the first step towards using Role to represent Area directors. It

    - Migrates the information captured in GroupInfo.ad to Role objects.

    - Renames GroupInfo.ad to GroupInfo._ad (retaining the current column name) 
      to prepare for deletion of that field.

    - Provides ad property accessor and setter methods implemented using the 
      group's role_set (so that the existing view code continues to work with 
      minimal changes)

    - Improved selection in many querysets that assumed only groups of type 
      'area' would have area directors.

    Related to #1557 and #1555. 

  * Merged in [8850] from rjsparks@nostrum.com:
    Changed the permission guards on edit_notify to reflect the policy that
    #1517 tried to establish.  Fixes #1517 and #1575.  

  * Merged in [8849] from rcross@amsl.com:
    Fixed several issues with IPR references in iesg templates.  

  * Merged in [8848] from rjsparks@nostrum.com:
    Don't add the group's ad to the list of people who need to be at a meeting
    if the group doesn't have an ad. Protects the field formatter from
    occurances of None in passed in lists. Patch applied to production.  

  * Merged in [8846] from rjsparks@nostrum.com:
    Added tests for document urls that provide a revision for all the document
    types the view code currently handles. Refactored parts of Document and
    DocHistory into DocumentInfo to get the tests to pass.  (but careful
    review is probably warranted). 

  * Merged in [8845] from rcross@amsl.com:
    Allowed editing of legacy disclosures which don't have required fields
    (set required=False).  

  * Merged in [8843] from rjsparks@nostrum.com:
    Reworked the definition of future_presentations and last_presented. Fixes
    #1571.  

  * Merged in [8842] from rcross@amsl.com:
    Fixed the document search result row and IESG agenda documents row links
    to IPR.  Fixes #1570.  

  * Merged in [8841] from rcross@amsl.com:
    Fixed the links to the IPR search from the doc pages.  Fixes #1569.  

  * Merged in [8840] from rjsparks@nostrum.com:
    Automatically ensure Alias records exists when Person records are changed,
    relieving multiple code locations of that responsibility. Fixes bug #1550.

  * Merged in [8801] from rjsparks@nostrum.com:
    Verify that add_state_change_event returned something before trying to 
    use attributes of the return value. Fixes bug #1566.  

  * Merged in [8726] from rjsparks@nostrum.com:
    Send mail to the secretariat when a Person is created with the same name
    as some other Person objects in case its a duplicate that needs to be
    merged. Fixes ticket #1553.  

  * Merged in [8733] from olau@iola.dk:
    Fixed an old bug in liaison tool - WG discussion lists where being CC'ed
    with their list_subscribe rather than list_email address, and the former
    is usually a URL, not an email address so cause a validation error when
    submitting the statement 

  * Merged in [8723] from rcross@amsl.com:
    Fixed a problem where trying to add duplicate name in Rolodex causes 500
    error.  Fixes ticket #1469,

  * Merged in [8718] from rjsparks@nostrum.com:
    Copy the secretariat on the message sent to the RFC Editor and IANA when a
    draft is pulled from the RFC Editor queue. Fixes ticket #1549.  

  * Merged in [8716] from rjsparks@nostrum.com:
    Highlight need for milestone review and approval in messages to leadership
    when a milestone edit requires approval. Don't bother the group when the
    only changes are those needing approval. Fixes ticket #1501.  

  * From rjsparks@nostrum.com:
    Fixed Room.__unicode__() to handle capacity None.

  * Made the generated postfix alias/virtual files include the AD emails in 
    the -chairs alias.

  * Added admin support for meeting.models.ResourceAssociation.

 -- Henrik Levkowetz <henrik@levkowetz.com>  25 Jan 2015 19:36:37 +0000


ietfdb (5.10.0) ietf; urgency=medium

  **Enhanced IPR Support**

  This release provides work from rcross@amsl.com which refactors and enhances
  the IPR support in the datatracker.  Here is an overview of the changes:

  * Updated and streamlined the database models representing IPR disclosures,
    and migrated existing data to the new models.

  * Added a new admin interface with better support for listing IPR
    disclosures and searching them.

  * Improved the Secretariat's navigation between IPR document views/search
    results and the administrative pages to edit IPR documents.

  * Introduced the ability for a disclosure submission to indicate it is
    updating more than one existing disclosure.

  * Improved the Secretariat's management interface for the 'Waiting for
    Approval' queue, and added the ability to park disclosures that are
    waiting for approval.

  * Added a Secretariat management interface for rejected and removed
    disclosures.

  * Implemented simplified forms for Secretariat updates to a disclosure.

  * Added support for managing the email communication necessary for
    processing a submission.

  The streamlined models and related coding decisions has resulted in a
  reduction in the LOC (lines of code) count by about 2000 lines, at
  the same time as the functionality has improved.  Cool :-)

 -- Henrik Levkowetz <henrik@levkowetz.com>  21 Dec 2014 21:33:54 +0000


ietfdb (5.9.0) ietf; urgency=medium

  **Enhanced Team Support**

  * Merged in [8711] from rjsparks@nostrum.com:

    Added functionality for management of group materials, focusing on groups
    of type 'team':

    - Simplifies managing the Abstract for uploaded group materials. Displays
      the abstract on the groups materials page

    - Provides SessionPresentation: a binding between Document and Session
      objects, that tracks doc version.

    - Adds helpers for finding upcoming sessions, and the most recent
      SessionPresentations whose sessions have passed

    - Generalizes the snippet concept (as a templatetage) used in the history
      tab for use on other pages

    - Adds a variant of the snippet that can be styled as an edit link

    - Provides several ways to address sessions, using sequence, dates, group
      acronyms, and day of week

    - Adds a 'Materials Manager' Role

 -- Henrik Levkowetz <henrik@levkowetz.com>  18 Dec 2014 21:29:43 +0000


ietfdb (5.8.1) ietf; urgency=medium

   This is a bugfix release for 5.8.0; it adds one file which was missing
   from the repository in the 5.8.0 release

 -- Henrik Levkowetz <henrik@levkowetz.com>  18 Dec 2014 18:40:16 +0000


ietfdb (5.8.0) ietf; urgency=medium

  **JSON Api**

  This release introduces a machine-readable API to the datatracker database
  content, based on Tastypie (https://django-tastypie.readthedocs.org/).

  Currently the API is set to read-only; but Tastypie does support
  fine-grained control of create, read, update, and delete permissions, so if
  we find that it makes sense at some point, we can open up for authenticated
  access to more than just reading database content.

  The details of which tables and objects from the database that are exposed
  in the API are controlled by a series of resources.py files; one per Django
  app.  By default, no data is exposed; in order to expose a table, the
  resources file must contain a resource specification, in the form of a
  python class which determines which table fields should be exposed, and how.

  Since we want to expose almost all the database content, rather than only a
  few selected tables, there is a lot of code which needs to be specified
  (more than 200 classes, with almost 2000 lines, at this writing) in order
  to make data available through the API.

  Rather than manually type out all of the needed classes, a management
  command (ietf/manage.py makeresources) has been added which will generate
  the needed resource classes in the resources.py files automatically.
  Existing classes will be left intact, though, which makes it feasible to
  hand tune the classes if needed, but still auto-generate resource classes
  when new tables are added.

  In addition to read access to the exposed tables and objects, the Tastypie
  API provides support for automated discovery of the available tables.  Starting
  at the URL https://datatracker.ietf.org/api/v1/, the returned machine-readable
  data provides URL information for all available API endpoints, which makes it
  possible to recurse down to all available data.

  Data is currently provided in JSON and XML format.  Adding new formats is
  fairly easy, if it should be found desriable.

 -- Henrik Levkowetz <henrik@levkowetz.com>  18 Dec 2014 16:06:05 +0000


ietfdb (5.7.4) ietf; urgency=medium

  **IETF 91 Code Sprint**

  This release contains the datatracker bugfixes and enhancements from the
  IETF-91 Code Sprint.  Many thanks to everyone that contributed!

  * Merged in [8634] from rcross@amsl.com:
    Removed the 'none selected' option from licensing options of the new IPR
    form.  

  * Merged in [8624] from rcross@amsl.com:
    Removed the secauth middleware, replacing it with role_required
    decorators.

  * Merged in [8623] from suresh.krishnan@ericsson.com:
    Added code advising the IESG Secretary of personnel changes in WGs. Fixes
    issue #1357.

  * Merged in [8609] from tterriberry@mozilla.com, with minor changes:
    Allow changing the title of a charter document.  Fixes #1334 

  * Reworked the generation of draft aliases and WG aliases, after trying 
    out the output of the previous version for real.

  * Merged in [8622] from harald@alvestrand.no:
    Adding a missing column header to the search results page.

  * Merged in [8617] from liudapeng@chinamobile.com:
    Added the possibility of choosing RGs in the search page. Fixes issue
    #1355.  

  * Merged in [8614] from harald@alvestrand.no:
    Added validation of the names given to saved meeting schedules.  Fixes
    issue #1425.

  * Merged in [8611] from rjsparks@nostrum.com:
    Allow chairs to edit the notification field. Fixes bug #1517.  

  * Merged in [8608] from rjsparks@nostrum.com:
    Allow chosing the initial state when beginning WG processing of a draft.
    Fixes bug #1406.  

  * Merged in [8602] from suresh.krishnan@ericsson.com:
    Retain the currently set of tags when document state is edited.  Fixes
    issue #1295.

  * Merged in [8585] from rjsparks@nostrum.com:
    Tests that a message is set when a shepherd is not changed. Related to
    #1508 and r8504.  

  * Merged in [8584] from rjsparks@nostrum.com:
    Reworked smtp error warning and logging to not use hard-to-read
    context_managers. Fixes bug #1390.  

  * Merged in [8573] from rcross@amsl.com:
    Fixed role_required to permit access to proposed RGs.   

  * Added code to require posting confirmation for some particular draft name
    prefixes such as 'draft-iesg-', 'draft-iana-', 'draft-rfc-', and some
    more.

  * Added a requirements.txt file which can be read by pip in order to install
    the packages needed to make the datatracker work.  Set up a virtualenv,
    and then run pip install -r requirements.txt in it.

  * Added settings for the PhantomJS ghostdriver.log and the temporary meeting
    materials and bluesheets directories used during testing, so that it's
    possible to place them in other places than the working copy.

 -- Henrik Levkowetz <henrik@levkowetz.com>  13 Nov 2014 03:37:10 +0000

ietfdb (5.7.3) ietf; urgency=medium

  * Merged in [8634] from rcross@amsl.com:
    Removed the 'none selected' option from licensing options of new IPR form.  

  * Merged in [8624] from rcross@amsl.com:
    Removed secauth middleware.  Replace with role_required decorators.  

  * Merged in [8623] from suresh.krishnan@ericsson.com:
    Added email notification to the IESG Secretary about personnel changes in
    WGs. Fixing issue #1357.  

  * Merged in [8609] from tterriberry@mozilla.com, with minor changes:
    Allow changing the title of a charter document.  Fixes #1334 

  * Reworked the script which generate draft aliases and WG aliases, after
    trying out the output of the previous version for real.  The new code
    seems to work better, based on testing on mail.ietf.org.

  * Merged in [8622] from harald@alvestrand.no:
    Added a missing column header to search result page

  * Merged in [8617] from liudapeng@chinamobile.com:
    Added support for RGs in the search popup. Fixes issue #1355.  

  * Merged in [8614] from harald@alvestrand.no:
    Added validation of the name when saving a schedule under a new name from
    the Edit Schedule view.  It now returns to the schedule view, and gives
    the user a message.  Builds on [8604]. Fixes issue #1425.

  * Merged in [8611] from rjsparks@nostrum.com:
    Allow chairs to edit documents' notification field. Fixes bug #1517.  

  * Merged in [8608] from rjsparks@nostrum.com:
    Made it possible to choose initial document state when beginning WG
    processing of a draft.  Fixes bug #1406.  

  * Merged in [8602] from suresh.krishnan@ericsson.com:
    Changed the state change form handling for drafts so that annotation tags
    aren't lost when changing state.  Fixes issue #1295.

  * Merged in [8585] from rjsparks@nostrum.com:
    Tests that a message is set when a shepherd is not changed. Related to
    #1508 and [8504].

  * Merged in [8584] from rjsparks@nostrum.com:
    Reworked smtp error warning and logging to not use hard-to-read
    context_managers. Fixes bug #1390.  

  * Merged in [8573] from rcross@amsl.com:
    Fixed role_required to permit access for chairs and secretaries of
    proposed RGs, in addition to current RGs.

  * Added some missing admin views.

  * Added a requirement for posting confirmation for some particular draft
    name prefixes such as draft-rfc-, draft-rfced-, draft-iana-, and some
    others.

 -- Henrik Levkowetz <henrik@levkowetz.com>  10 Nov 2014 18:05:57 -0800

ietfdb (5.7.2) ietf; urgency=medium

  Another bugfix release, containing a number of fixes for issues related to
  extraction of meta-information from draft submissions, and also fixes for
  some other blemishes not discovered at the time of 5.2.1.  This release
  also enhances the generation of draft author aliases, providing a 
  {draftname}.shepherd alias which points to the shepherd (if set), and adding
  the shepherd email address to the {draftname}.all alias.  The email alias
  changes will take effect as soon as the aliases are activated for @ietf.org
  (as opposed to @tools.ietf.org).  Details:

  * Addedd a temporary patch for an unwanted exception which occurred when
    trying to generate proceedings for a session which didn't have an
    assigned timeslot in an official schedule.  Happens all the time for
    interims, for example.

  * Merged in [8506] from rjsparks@nostrum.com:
    Changed the default notify address for IRTF stream documents. Fixes bug
    #1489.

  * Merged in [8505] from rjsparks@nostrum.com:
    Added code to allow removing a document shepherd, and test that it works.
    Fixes bug #1509.  

  * Merged in [8504] from rjsparks@nostrum.com:
    Added tests that would have caught bug #1508. Added message to
    edit_shepherd_email to match that added in edit_shepherd.  

  * Merged in [8498] from rjsparks@nostrum.com:
    Reworked logic flow for editing shepherds. Added message to inform the 
    user when the shepherd is not changed. Fixes bug #1508.  

  * Changed the signature line of the generate-wg-aliases script so as to show
    the script path instead of a manually maintained string (which had become
    outdated) in the signature string at the top of the generated files.

  * Added generation of {draftname}.shepherd aliases for drafts when 
    generating draft email aliases, and also added the shepherd's email address 
    to the {draftname}.all alias.  Changed the signature line of the script to 
    give the script path instead of a manually maintained string (which had 
    become outdated).

  * Fixed a bug in setting the can_edit_shepherd_writeup flag, triggered by the 
    change in what Document.shepherd refers to (now, Email, used to be Person).

  * Added 'Dr.-Ing.' to the recognised honorifics in the author extraction 
    code.

  * Did a number of changes to the author extraction method of class Draft 
    in order to make it able to match up names with double-word family names on 
    the first page (A. Foo Bar) with (familyname, given-name) ordering (Foo Bar 
    Any) in the Authors' Addresses section.  Regression tested against 200+ 
    known good author extraction results.  A number of stronger restrictions in 
    regular expressions had to be introduced to avoid regression, which is 
    probably all to the good.

  * Added support for ISO-format dates (or RFC 3339 dates, if you will) to 
    the date parsing done for the submission tool.  Also refined the regexes a 
    bit to avoid false matches on for instance things like 'Juniper 2014'.

  * Merged in [8498] from rjsparks@nostrum.com:
    Reworked the logic flow for editing shepherds. Added a message to inform the
    user when the shepherd is not changed. Fixes bug #1508.  

 -- Henrik Levkowetz <henrik@levkowetz.com>  01 Nov 2014 23:16:20 +0000


ietfdb (5.7.1) ietf; urgency=medium

  This is a minor bugfix release which empties the merge queue in preparation
  for the IETF 91 code sprint.  Details below:

  * Merged in [8456] from rcross@amsl.com:
    Fixed a bug when trying to edit a session request that doesn't exist.
    Fixed a bug when a submitted session request form does not include conflict
    input fields.  

  * Merged in [8454] from rcross@amsl.com:
    Fixed the IRTF proceedings to include Open IRTF Meeting (irtfopen).  

  * Merged in [8452] from rjsparks@nostrum.com:
    Relax ALLOWED_HOSTS when not running in production. Fixes bug #1373.  

  * Merged in [8444] from rjsparks@nostrum.com:
    Fixed a condition check problem introduced with adjustments to setting the
    returning item bit.  Fixes bug #1505.  

  * Merged in [8441] from rjsparks@nostrum.com:
    Removed the X-Frame-Options configuration.  

  * Merged in [8438] from rjsparks@nostrum.com:
    Better evaluation of whether a document type is diffable. Fixes bug #1504.

  * Merged in [8305] from rjsparks@nostrum.com:
    Replaced the return_to_url notion with logic that uses the session object.
    Related to bug #1430. 

  * Added wgchairs@ietf.org to the release notification email.  Split the 
    notification email sending into two, in order to limit the number of 
    addressees for emails going to Mailman lists.

  * Fixed a 500 error that could occur if someone manually entered a
    proceedings url so as to to upload materials to a nonexistent
    meeting/group combination.

  * Prevented 500 errors caused by a file move race condition on draft
    submission confirmation.

 -- Henrik Levkowetz <henrik@levkowetz.com>  27 Oct 2014 06:15:18 +0000


ietfdb (5.7.0) ietf; urgency=medium

  **Enhanced Person-Chooser Widget**

  This release merges in work from olau@iola.dk which enhances a number of
  pages in the datatracker where forms contain fields where a person should be
  chosen, such as for instance when choosing the shepherd of a document, so
  that they uniformly display choices which show both email address and name.

  Furthermore, changes have been made so as to make the email address
  uniformly act as reference to the person record.  

  Autocompletion is now consistently provided when looking for the email
  address or name of the person to choose.  

  This solves a number of issues where it has been difficult to choose the
  correct Person/Email combination, and where the correct email address to use
  for an association has been unavailable previously.

 -- Henrik Levkowetz <henrik@levkowetz.com>  26 Oct 2014 05:51:44 -0700

ietfdb (5.6.5) ietf; urgency=medium

  This is a minor release which brings in support for 'recording' documents,
  intended to cover audio and video recordings.  This makes it possible to
  associate links to audio and video recordings with meeting sessions, and
  will make it possible to also include such links in the proceedings.  There
  is also a database schema migration needed to support the 'recording'
  documents.

  * Merged in [8237] from rcross@amsl.com:
    Changes to support video content in proceedings ('recording' document 
    type).

  * Normalized the naming of a couple of NameModel subclasses, with a migration
    and updated fixture.

  * Added a migration to change foreign keys to NameModel models from 8 to 
    32 bytes.

 -- Henrik Levkowetz <henrik@levkowetz.com>  25 Oct 2014 09:14:15 -0700

ietfdb (5.6.4) ietf; urgency=medium

  * Merged in [8359] from rcross@amsl.com:
    fix get_or_create_nominee() to create Alias for new Person.  

  * Merged in [8156] and [8320] from rcross@amsl.com:
    Do not allow editing or submitting new session requests when the tool 
    is locked.  Fixes Ticket #1443.

  * Merged in [8308] from rjsparks@nostrum.com:
    Build the links to about_url for concluded groups correctly. Fixes bug
    #1487.  

  * Merged in [8303] from rjsparks@nostrum.com:
    Only show comment/discuss document version on the ballot page when the
    text is for a version of the document other than the current one. Fixes
    bug #1482.  

  * Merged in [8377] from rjsparks@nostrum.com:
    Removes a modify-while-iterating error, and removes a bug where two
    different bits of code thought they were responsible for deleting things
    from a global list.  Fixes bug #1498.  

  * Merged in [8301] from rcross@amsl.com:
    Changes to support consensus status.   

  * Merged in [8293] from rjsparks@nostrum.com (Note: Should what is now
    captured in the STATUSCHANGE_RELATIONS list instead be captured in the
    database in name_docrelationshipname? ):

    - Refactored editing the notify field to remove redundant code.
    - Changed the default notification list to include .all for documents, and
      the wg list for wg documents.
    - Allowed recalculating the notification list for all document types.
    - Improved the calculated notification list value for charters, 
      conflict-reviews, and status-changes.
    - Adds shepherds to the notification list when they are assigned to a
      document.
    - Adds the working group email list to the notification list when a
      document is adopted.

    Fixes issue #1438.

  * Merged in [8285] from rjsparks@nostrum.com:
    Removed templates that were no longer being used.  

  * Merged in [8271] and [8292] from rjsparks@nostrum.com:
    Send email when a the telechat date (or returning item bit) changes for a
    document.  Fixes #1452 

  * Merged in [8262] and [8263] from rjsparks@nostrum.com:

    - Changes when returning_item is automatically set to match the current
      IESGs preferences.  Removes several chunks of dead code related to editing
      telechat dates.  Improves returning item tests.
    - Refactored multiple edit_telechat functions into one function in
      doc_views.  Added a helper function for determining if ballots have
      changed to isolate the implementation.  Fixed the issue with
      update_agenda setting the returning item bit even when the user
      explicitly said not to.  Added prompting to encourage proper setting
      of the returning item bit to the edit_telechat view.

    Fixes #1209

  * Merged in [8355] from rjsparks@nostrum.com:
    Add the owners email address to the json path for schedule objects. Fixes
    ticket #1492.  

  * Merged in [8256] from rjsparks@nostrum.com:
    Allow defer for status change documents. Fixes bug #1397.  

  * Merged in [8255] from rjsparks@nostrum.com:

    - Combined defer/undefer tests from doc/tests_ballot and iesg/tests,
      extending them to demonstrate current reported bugs.
    - Made doc.active_defer_event() look for the events that are currently being
      created. This remains brittle.
    - Added email notifying the IESG of an undefer analagous to the defer email.
    - Guarded against deferring an already deferred document or undeferring a
      document that hasn't been deferred.
    - Guarded against deferring a document that's not scheduled for a telechat.

    Fixes bugs 1417, 1465, 1417 

  * Merged in [8254] from rjsparks@nostrum.com:
    Don't send mail to unknown-email-* addresses. Fixes bug #1471.  

  * Merged in [8249] from rjsparks@nostrum.com:
    Skip sheme-relative urls. Fixes bug #1466.  

  * Merged in [8239] from rjsparks@nostrum.com:
    Adds javascript to return to a page a few seconds after successfully
    logging out.  Fixes ticket #1461. 

  * Merged in [8238] from rjsparks@nostrum.com:
    Look in the right place in the filesystem for the files bits when building
    reference relations during submit. Fixes bug #1467.  

  * Merged in [8236] from rjsparks@nostrum.com:
    Log what rebuild_reference_relations returns to diagnose #1467.  

 -- Henrik Levkowetz <henrik@levkowetz.com>  13 Oct 2014 13:14:38 -0700


ietfdb (5.6.3) ietf; urgency=medium

  This is a bugfix and cleanup release, without any major new features.
  The most notable improvements are to the agenda scheduling code, where
  a number of bothersome bugs has been slain, but there are also other
  nice fixes:

  * Merged in [8229] from rjsparks@nostrum.com, with minor tweaks:
      From mcr@sandelman.ca:

        * Refactor to remove dajaxice.

	* Modified the URLs that address schedules:

	  - urls now always start with /agenda, removing the mix of /agenda and 
	    /schedule prefixes
	  - urls to a given schedule include the schedule owner (by email 
	    address)

	* Corrected issue that prevented deleting sessions.
	* Changed comment mechanism in timeslot_edit.js
	* Migration to change the email address for (System)

      Fixes bug #1426 

  * Merged in [8211] from rjsparks@nostrum.com:
    Provide a way to get back to the page the user logged out from. Fixes
    ticket #1461.  

  * Merged in [8210] from rjsparks@nostrum.com:
    Default the responsible AD for an initial charter or recharter document to
    the responsible AD for the group. Fixes ticket #1451.  

  * Merged in [8209] from rjsparks@nostrum.com:
    Fixed several places where files were not being closed.  

  * Merged in [8208] from rjsparks@nostrum.com:
    Changed the code to use doc.href rather than manually constructing URLs in
    several templates. Fixes ticket #1459.  

  * Merged in [8207] from rjsparks@nostrum.com:
    Cleanup commit before changing working HREF contents.  

  * Merged in [8204] from rjsparks@nostrum.com:
    Improves how many href urls are constructed. Updates ticket #1459.  

  * Merged in [8166] from rcross@amsl.com:
    Added the 'proposed' WG state to WG role queries for Chair and Secretary

 -- Henrik Levkowetz <henrik@levkowetz.com>  19 Sep 2014 12:28:28 -0700

ietfdb (5.6.2) ietf; urgency=medium

  **IETF 90 Code Sprint**

  This release contains the datatracker bugfixes and enhancements from the
  IETF-90 Code Sprint.  Many thanks to everyone that contributed!

  Contributions that continue to arrive during the week will be merged in
  to a new release at the end of the week or the beginning of next week.

  * Merged in [8155] from rcross@amsl.com:
    Allow Team Chairs access to proceedings.  

  * Merged in [8154] from rcross@amsl.com:
    Fixed a bug where ScheduledSession objects were still being created
    without a related session.  

  * Merged in [8150] from rjsparks@nostrum.com:
    Small cleanup refactor removing redundant configuration line in settings
    for charter text URLs.  

  * Changed the length of the NameModel slug field from 8 to 32 characters. 
    Added a corresponding migration.

  * Merged in [8146] from sunqi.csnet.thu@gmail.com:
    Changed the ietfauth file to allow to change the replaces relationship 
    without setting the doc stream. Fixes ticket #1305.  

  * Merged in [8143] from tterriberry@mozilla.com:
    Allow IRTF chair to adopt a draft into any RG.  Fixes #1082. 

  * Merged in [8137] from rjsparks@nostrum.com:
    First automated javascript test using PhantomJS and Selenium.  

  * Merged in personal/shane/v5.6.2-dev0@8144 from shane@time-travellers.org:
    Added untrack to document and search pages. Fixes #1381.

  * Merged in [8136] from denghui@chinamobile.com:
    Added display of the relevant draft revision number for ballot comments.
    Fixes issue #911.  

  * Permit really long sessions, and don't expire sessions on browser 
    close.  On request from Pete Resnick.

  * Merged in [8122] from gnocuil@gmail.com:
    Force mailing to secretary when a charter state changed to internal or
    external review.  Fixes ticket #1444.  

  * Merged in [8121] from fanpeng@chinamobile.com:
    Added a 'No Errata' indication for RFCs with no errata.  Changed the link
    to the draft text for expired drafts to use the archive at
    www.ietf.org/archive/id/ instead of tools.ietf.org/id/. Fixes ticket #1112
    and #1432.  

  * Added a meta tag to the base template, to specify a page character set.

  * Merged in [8114] from gnocuil@gmail.com:
    Changed the template to highlight groups from different areas instead of
    the same area. Fixes ticket #1368.  

  * Merged in [8099] from rjsparks@nostrum.com:
    Use the name field from the materials upload form. Fixes ticket #1445.  

 -- Henrik Levkowetz <henrik@levkowetz.com>  22 Jul 2014 14:21:25 -0700


ietfdb (5.6.1) ietf; urgency=medium

  * Added an x_frame_options setting to permit datatracker pages to be 
    embedded in tools parges, for the tools tutorial.

  * Merged in [8057] from olau@iola.dk:
    Changed Document.get_absolute_url to handle case of non-meeting-based
    group materials, fixes #1440 

  * Merged in [8045] from rcross@amsl.com:
    Added code to grant IETF Trust Chair permissions for Announcement Tool.  

  * Merged in [8003],[8004] and [8005] from fanpeng@chinamobile.com:
    Added email subscription and web-archive links to the datatracker wg
    summary page.  Fixes issue #958.

  * Rewrote the draft-alias and group-alias generation scripts to generate 
    matching aliases and virtual files for postfix.

  * Adjusted the permissions checking in has_role to accept bof chairs and 
    secretaries.

 -- Henrik Levkowetz <henrik@levkowetz.com>  15 Jul 2014 02:01:14 -0700

ietfdb (5.6.0) ietf; urgency=medium

  **Team Pages**

  This release adds group page support also for non-WG/RG groups, extending
  and generalising the work done recently to add RG pages.  In particular,
  this provides the Edu team with a place to upload and display educational
  materials.

  Changelog:

  * Merged in branch/iola/team-support from olau@iola.dk.  This generalises 
    and extends the group support for WGs and RGs so that also other groups, 
    such as for instance the Edu Team, can have pages.

  * Miscellaneous other minor changes mostly related to merging, testing and admin.
  
 -- Henrik Levkowetz <henrik@levkowetz.com>  02 Jul 2014 12:40:19 -0700

ietfdb (5.5.2) ietf; urgency=medium

  This is a bugfix release which updates the database contents with bindings for
  breaks and registration timeslots that make the agenda pages come out as
  intended.

  Changelog:

  * Modified the code which adds non-session entries to a schedule so as to 
    bind a Session object also to Break and Registration timeslots, through the 
    Schedule/Timeslot/Session m2m table.  This makes the agenda templates work 
    as expected.  There's also a migration and a standalone script that fills 
    in this information for existing schedules.

  * Tweaked the test-crawler to show the complete chain of referrers for a 
    failing URL.

  * Don't show dash after timeslot names in the ietf agenda if there's no 
    associated location.

 -- Henrik Levkowetz <henrik@levkowetz.com>  30 Jun 2014 10:21:41 -0700


ietfdb (5.5.1) ietf; urgency=medium

  This is a routine bugfix release.  Here is a list of the addressed issues:

  * Merged in [7935] from liudapeng@chinamobile.com:
    Added display of both WG conflict and person requirements to the
    session request page. Fixes issue #1384. 

  * Merged in [7924] from rcross@amsl.com:
    Now permitting IPR updates to not specify an IPR license selection.

  * Merged in [7911] from rcross@amsl.com:
    Fixed a problem which occurs when non-ascii names are used
    in session request notification emails.

  * Merged in [7910] from rjsparks@nostrum.com:
    Now paying attention to group type in all the wginfo functions.
    Fixes bug #1423.

  * Merged in [7888] from rjsparks@nostrum.com:
    Fixed a bug where links in personal document tracking list associated with
    groups which are not WGs or RGs return 500, by only turning WG and RG
    groups into links. Fixes bug #1421.

  * Merged in [7865] from rjsparks@nostrum.com:
    Addressed an issue with dragging and dropping unscheduled items back into
    the unscheduled bin (primary fix provided by Matt Miller). Fixes bug #1386.

  * Merged in [7843] from rcross@amsl.com:
    Changed the default group type field on the groups search form, from WG to
    unset.  

  * Changed the code to move drafts from the active draft repository to the 
    draft archive so that all associated files will be moved, not just those 
    with specifically listed extensions.  This fixes the problem that .xml 
    files associated with submitted drafts were moved to the unknown_ids 
    subdirectory of the archive, instead of into the archive proper.

  * Merged in [7879] and [7880] from olau@iola.dk to fix a couple of issues 
    with the 5.5.0 release.

  * Fixed a bug in the mkrelease script, introduced by changing the naming 
    convention for development tags from X.Y.Z-dev to X.Y.Z-dev0 (etc.).

 -- Henrik Levkowetz <henrik@levkowetz.com>  26 Jun 2014 13:12:50 -0700


ietfdb (5.5.0) ietf; urgency=medium

  **Research Group Pages**

  This is a feature release, which introduces pages and workflow support for
  IRTF RGs, similar to what is available for IETF WGs.  You'll find the rg pages
  under /rg/, for instance https://datatracker.ietf.org/rg/cfrg .  Having this
  new baseline in place, I'm sure we'll get requests for refinements, but
  this should be a reasonable first pass at providing this functionality.

 -- Henrik Levkowetz <henrik@levkowetz.com>  09 Jun 2014 14:25:51 -0700


ietfdb (5.4.3) ietf; urgency=medium

  * Merged in [7772] from rjsparks@nostrum.com:
    Checks that an email address will survive encoding as part of
    validating a liaison form. Fixes bug 1410.  

  * Merged in [7766] from rjsparks@nostrum.com:
    Improves the robustness of the SMTP error handling utilities. Fixes bug 
    #1409.  

  * Tweaked mkrelease to add a new development tag matching each new 
    release tag, to make it easier to create personal development branches with 
    development settings.

  * Merged [7748] from rjsparks@nostrum.com:
    Adjust when publication request button appears for documents in
    non-ietf streams. Fixes bug #1402.  

  * Merged [7740] from rjsparks@nostrum.com: 
    Fixed a crash when requesting sessions for groups that do not have
    ADs. Applied to production as 2014-05-13-sreq-rg.patch .  

  * Merged [7735] from rjsparks@nostrum.com: 
    Fixed coloring rows: The js IETF object needs to exist for the
    code to work. Fixes bug #1303.  

  * Merged [7734] from rcross@amsl.com: 
    Changes to support IAB group types, including requesting a session
    and uploading materials.  

  * Merged in [7732] from rjsparks@nostrum.com:
    Extended ScheduledSession objects were not initialized correctly, so 
    un-extending did not work. Fixes bug #1401.  

  * Added a file used by bin/mergeready to mark certain releases which has 
    earlier been marked as ready to merge with a 'hold' indication, instead.

  * Replaced a symlink with the real file -- symlink committed by mistake.

  * Added validation of successful draft title extraction on draft 
    submission upload, to avoid a later exception when trying to store draft 
    information for a draft with a null title.

  * Merged in [7726] from rcross@amsl.com:
    Fix secauth middleware to grant access to WG Secretary, RG Chair and 
    Area Director.   

  * Merged [7705] from rjsparks@nostrum.com: 
    Corrected Document vs DocHistory mismatch when working with
    status-change documents. Corrected creation of BallotDocEvent
    timestamps. Fixes bug #1396.  

  * Merged [7678] from rcross@amsl.com: 
    Show correct group type and ommit link to tools.ietf.org on BOF
    proceedings.  

  * Merged [7677] from rjsparks@nostrum.com: 
    Protect against cases where add_state_change_event can return
    None. Fixes bug # 1383.  

  * Fixed a typo (missing space) in a template.  Fixes issue #1398.

  * Added a utility command 'mergeready' which lists commits marked as 
    'Commit ready for merge' that have not yet been merged to trunk.

 -- Henrik Levkowetz <henrik@levkowetz.com>  02 Jun 2014 15:10:37 -0700


ietfdb (5.4.2) ietf; urgency=medium

  * Merged [7673] from rjsparks@nostrum.com: 
    Made several changes to better handle non-ascii UTF-8 in email messages.

      - Used multipart mime when including the original message in an error
        message to the secretariat.  Modified the way IANA review email is parsed.
	Added non-ascii UTF-8 tests to the IANA review email parser and to the
	SMTP Exception handling code. 

      - Changed how edit_mtg() is called, in order to propagate kwargs as kwargs.
	Removed repeated @check_permissions.

  * Merged [7653] from rcross@amsl.com: 
    Fixed two issues with proceedings generation.  

  * Merged in [7644] from rjsparks@nostrum.com:

      From rjsparks@nostrum.com:
      - Fixed layout issue on schedule editing page in Chrome

      - Fixed errant display of text in unscheduled group bar
        on the schedule editing page

      - Changed the instruction text on the special requests
	field of the session request form

      From rcross@amsl.com:
      - Improved scheduling of non-session items
      - Fixed issue with layout of the new notifications page
      - Fixed crash on notifications page 

 -- Henrik Levkowetz <henrik@levkowetz.com>  01 May 2014 02:14:27 +0200

ietfdb (5.4.1) ietf; urgency=high

  This is a minor bugfix release, to fix an issue with the mail handling
  infrastructure where one bad email recipient address for a notification
  message (about for instance a state change) could cause some actions related
  to the state change to be skipped:

  * Merged in [7635] from rjsparks@nostrum.com:
    Replumbed how SMTP Exceptions are handled, which involved refactoring
    several mail functions.

  * Also fixed a bug in the agenda editing code caused by a change of an
    attribute name in the python code but not doing the same change in
    templates using the attribute.

  * Changed the logic for what is the 'current' ietf meeting to disregard 
    whether there's an agenda for the meeting or not.  This lets people see the 
    correct session request page for the current meeting.  However, it also 
    makes the /meeting/agenda.html page fail because there's no schedule 
    associated with the meeting; so alternative pages saying 'No agenda 
    available' has been added, too.

  * We're now showing the login link with a http:// scheme instead of 
    https:// when in debug mode, in order to be able to log in when using 
    'python manage.py runserver', which only supports http.

 -- Henrik Levkowetz <henrik@levkowetz.com>  25 Apr 2014 17:11:32 +0200


ietfdb (5.4.0) ietf; urgency=medium

  **Enhanced Agenda Scheduling**

  This is a feature release which brings in an updated version of the agenda
  scheduling code.  There are still known bugs and rough edges, but this
  version has many bugfixes and cleaned up issues, and brings essential
  imporvements to the agenda scheduling tool.

  * Merged in [7561] from rjsparks@nostrum.com:

    Updates and bugfixes to the agenda editing features
      - Removes the pattern of using ScheduledSession m2m objects with one of
        the relationships left as None
      - Improves scheduled session state handling
      - Simplifies sending email to scheduled session requestors
      - Improved timeslot purpose and room editing
      - Improved access controls to editing forms
      - Better test coverage for the meeting views
      - Improvements to the javascript driven by prototyping automated tests
      - Better initialization of a new meeting

    On the session request form:
      - Allows specifiying room resources (projectors, meetecho)
      - Allows specifying what people must be present

    On the schedule editing page:
      - correctly calculates conflict levels
      - displays conflicts in and out of each session separately
      - italicizes BoFs
      - shows resource and people conflicts

    Adds automated placement as a management command

 -- Henrik Levkowetz <henrik@levkowetz.com>  22 Apr 2014 23:58:27 +0200


ietfdb (5.3.1) ietf; urgency=medium

  This is a minor release, with a number of bug-fixes and a few enhancements.
  Notable enhancements are the ability to set the document consens field back
  to Unknown after it has been set to Yes or No, and an enhancement to the
  test infrastructure that lets tests of email handling interact with a
  real recipient SMTP server, instead of ending in a stub.

  Details:

  * Merged in [7591] from rjsparks@nostrum.com:
    Added a real (if simple) SMTP server to the test framework and tests 
    handling of exceptions and rejected addresses. Fixes ticket #1314.  

  * Merged [7590] from rjsparks@nostrum.com: 
    Changed when the consensus field is displayed and who can edit it for IETF
    stream documents. Fixes bug #1380.  

  * Merged [7589] from rjsparks@nostrum.com: 
    Functional changes allowing consensus to be set back to Unknown. Fixes
    ticket #1150.  

  * Merged [7588] from rjsparks@nostrum.com: 
    Schema migration to allow consensus to be set back to unknown. Related to
    ticket #1150.  

  * Merged in [7587] from rjsparks@nostrum.com:
    Anyone with a role in a group could preapprove drafts. Changed that to 
    an explicit subset of roles. Fixes ticket 998.  

  * Merged in [7586] from rjsparks@nostrum.com:
    Fixed calculation of needed ballots for status-change documents. Added 
    needed ballots tests for drafts and status-change docs. Fixes bug 1116.  

  * When we deployed the rewritten public datatracker, we went from django
    auth to basic http auth.  At that time we also changed the session timeout
    time to 12 hours, from the default 2 weeks.  I see no need to use a
    non-default setting now that we're back to using django auth; changing the
    session timeout time back to 2 weeks.

  * Merged in [7519] from olau@iola.dk:
    Removed uses of gzip middleware - the decorator thing breaks the ETags 
    for some reason, as noted in issue #518, and it seems consensus is that we 
    should do this in Apache instead for the whole site 

  * Merged [7421] from olau@iola.dk: 
    Fixed a crash bug in the redirection logic that occurs when someone posts
    a draft without an access token from the email confirmation step 

  * Merged [7416] from olau@iola.dk: 
    Redo the quickfix to the "Send and Post" button bug (mentioned in issue
    #1308) so that we still do the validation correctly, but just always show
    the button (even if it's unusable) 

 -- Henrik Levkowetz <henrik@levkowetz.com>  16 Apr 2014 23:22:41 +0200


ietfdb (5.3.0) ietf; urgency=medium

  **Django Authentication replaces Basic HTTP Auth**

  This release changes user authentication for the datatracker from basic http
  auth to Django's built-in authentication.  This has the advantage of making it
  possible to log out, and log in as a different user, which can be useful,
  and it also changes the password hash storage for each user to a much stronger
  hash scheme, upon his or her first successful login after the deployment.

  The email-verification roundtrip which is required to create a new login, or
  change the password of an existing login, is retained.

  For the large majority of users, who either didn't have a password hash in
  the database before the transition to the Python/Django based database
  frontend on 16 July 2010, or had a password hash in the database, but have
  updated their password after 3 July 2012, there should be no impact.
  Password hashes have been imported as needed from the http auth password
  hash file.  The few who had a password hash in the system before 16 July
  2010, and haven't updated their password since 3 July 2012 are encouraged to
  set a new password using the password reset form at
  https://datatracker.ietf.org/accounts/reset/ .  
  If there are issues which prevent a password reset, please email
  henrik@tools.ietf.org for assistance.

 -- Henrik Levkowetz <henrik@levkowetz.com>  12 Apr 2014 20:14:17 +0200


ietfdb (5.2.1) ietf; urgency=medium

  This is a minor release, with some bugfixes and some enhancements.  It also
  contains some reworked secretariat code, which changes part of the authentication
  handling in preparation for the next release (5.3.0), which will transition
  the datatracker from using HTTP basic authentication, to Django's built-in
  authentication scheme.

  * Merged in [7568] from rcross@amsl.com: 
    Grant ISOC CEO access to announcement tool, change announcement tool from
    option 'IAB Executive Director' to 'IAB Executive Administrative Manager' 

  * Merged in [7557] from rjsparks@nostrum.com: 
    Update reference relationships (asyncronously) for new rfcs found when
    syncing with the rfc index. Fixes ticket #1347.  

  * Added some datatracker development notes from the testing extension
    (pyflakes etc.) work

  * Merged in [ 7454] and [7549] from rcross@amsl.com:
    Changes to the secretariat code, to support Django authentication instead
    of basic http auth, and fixes to the tests to work with the secauth
    middleware changes.

  * Pyflakes cleanup to be compliant with pyflakes 0.8.1, which seems to find
    things 0.8.0 didn't find.

  * Changed URLs with explicit scheme from http to https.  Emails that are
    sent out from the datatracker will now specify URLs with https:, rather
    than http.

  * Added a fix to exclude empty email addresses from the send list.

  * The ietf/patches directory doesn't work out as intended, and causes 
    some confusion with the /a/www/ietf-datatracker/patches/ directory on the 
    production server.

  * Backfilled the changelog file, back to 2.00

  * Merged in [7153] from rjsparks@nostrum.com:

    Fixed a typo in code that looks for the IRTF chair email address while 
    adding replaces relationships.
    Made that code slightly more robust.
    Fixes ticket #1253 

 -- Henrik Levkowetz <henrik@levkowetz.com>  06 Apr 2014 17:28:49 +0200


ietfdb (5.2.0) ietf; urgency=low

  **PyFlakes**

  This is a code cleanup release.  It adds a test and a managemement command
  to run pyflakes (pyflakes is a bit like 'lint' for Python) over the
  datatracker code, and provides cleaned-up code so that the new pyflakes test
  is clean.  The number of lines changed is large, but the changes to what the
  code actually does is limited to fixing bugs discovered by pyflakes during
  the cleanup.  There were around 10 such cases.

  Most of the changes are related to import statements, as the code otherwise
  was pretty clean already.  In almost all places, bulk imports using '*' has been
  replaced by explicit imports, for these reasons:

    * It makes it clear from where an imported name has come, so that a
      human reader can look for an identifier in the import statements, and
      see from where it comes, and where he should go to inspect the related
      code.

    * It makes it clear to the interpreter exactly which symbol is intended,
      in cases where the same symbol is defined in multiple modules imported
      using '*' import.  This is not a common case, but it actually turned up
      a couple of times during the cleanup.  If the '*' imports in question
      hadn't been turned into explicit imports, only the (somewhat arbitrary)
      order of the import statements would have determine which instance of a
      function or class would actually be visible to the following code.  This
      situation can make the code do something different from what was intended,
      in a quite devious way.

    * It avoids unintended import of generically named variables from other
      modules.  Altough having such variables as module globals is a bad
      practice, it happens, and sometimes unintentionally importing them
      through a '*' import will make it appear to the interpreter that a
      statement intended to use an (by mistake undefined) identically named
      local variable is in fact a valid statement which uses the imported
      symbol instead.  Without the '*' import, the situation would be
      correctly flagged by the interpreter.

    * Finally, importing all symbols explicitly makes it possible for pyflakes
      to do a better job in identifying unused and undefined symbols -- in the
      presence of '*' imports, this capability becomes much more limited.
      Several cases of bad code (use of undefined variables) was discovered
      during the cleanup only after the '*' imports were replaced by explicit
      imports.

  In many places, the import statements have been reordered to consistently
  list the generic python library imports first, followed by django imports,
  then local module imports (these typically live on the same level as ietf/
  and django/), finally followed by datatracker-specific imports.  Some people
  find that this kind of consistency in importing, both in keeping a consistent
  order, and in importing in a sequence from the more general down to the more
  specific, aids in the readability of the code.

 -- Henrik Levkowetz <henrik@levkowetz.com>  19 Mar 2014 21:41:16 +0100


ietfdb (5.1.1) ietf; urgency=medium

  This is a minor bugfix release, in preparation for merging the pyflakes test
  branch to trunk.

  * Fixed the meeting materials page so as to avoid duplicate materials
    sections for groups with multiple sessions.

  * Merged [7456] from rjsparks@nostrum.com:
    Patched meeting/ajax to close permissions vulnerability. Tweaked tests to
    check the right functionality given the permissions policy currently in
    trunk.

  * Merged [7447] from rjsparks@nostrum.com: 
    Cache the dependency graph pdf for an hour.  

  * Merged [7445] from rjsparks@nostrum.com: 
    Adds dependency graphs for drafts belonging to a group.  Removes links to
    Bill's dependency tools.  Fixes bug #536. 

 -- Henrik Levkowetz <henrik@levkowetz.com>  18 Mar 2014 22:49:58 +0100


ietfdb (5.1.0) ietf; urgency=high

  **IETF 89 Code Sprint**

  This release contains the datatracker bugfixes and enhancements from the
  IETF-89 Code Sprint.  Many thanks to everyone that contributed!  There are
  still some contributions from the sprint in the pipeline; they will be included
  in later releases.

  * Merged in [7400] from rcross@amsl.com: 
    Fixed bugs with decorators.check_permissions() to allow upload to top
    level groups,  and fixed the plenary upload check.

  * Merged in [7398] from rcross@amsl.com:
    Added X-CSRFToken AJAX request header for certain /secr/ pages needing it.

  * Merged in [7397] from rcross@amsl.com: 
    Fixed a bug where build_nonsession() not creating ScheduledSession
    objects.  

  * Merged in [7383] from jmh@joelhalpern.com:
    Changes counting logic in ballots to use actual number of ADs.
    Causes ballot email to use utility to generate requirements text 
    Fixes ticket #924

  * Merged in part of [7375] from jmh@joelhalpern.com:
    Fixed missing mailto: addresses in the meeting requests page.  Fixes issue 
    #1126.

  * Merged in part of [7375] from jmh@joelhalpern.com:
    Now sending draft update notices to IRSG for IRTF stream drafts.  Fixes 
    issue #1227.

  * Merged in [7396] and [7378] from rcross@amsl.com:
    Simplified clean_up_draft_files(). Removed references to old draft-archive
    subdirectories, and fixed for all RFC file types " Fixes ticket #1164

  * Merged in [7386] from tterriberry@mozilla.com: 
    Describe needed positions in document ballot mail.
    This uses doc.utils.needed_ballot_positions() to calculate what is needed.
    Fixes #924.

  * Merged in [7380] from bartosz.balazinski@interdigital.com:
    Changed the URL for some acoount settings from /cookies to 
    /account/settings.  Fixes ticket #806

  * Merged in [7368] from rjsparks@nostrum.com:
    Improves the detail in the messages sent when creating tickets about
    failed sent email.  Changes a locally defined exception name to look less
    like one already defined in smtplib.  This is related to ticket #1208. 

  * Merged in [7365] from rjsparks@nostrum.com: 
    Improve handling of status-change relation form submission when conditions
    (such as not running javascript) lead to the POST missing required fields.

  * Merged in [7371] from rjsparks@nostrum.com: 
    Migration to repair missing StateDocEvents from wg chairs using the
    datatracker to request publication of ietf stream documents.  Incremental
    improvement to the request publication view to create those StateDocEvents
    going forward.  This is related to bug #1312 

 -- Henrik Levkowetz <henrik@levkowetz.com>  05 Mar 2014 18:20:31 +0100


ietfdb (5.0.2) ietf; urgency=medium

  This is a minor bugfix release.

  * Merged [7292] from rjsparks@nostrum.com:
    Allow 1-3 digit RFCs in status change documents. Fixes bug #1321.

  * Fixed a server failure for person alias creation during draft submissions.

  * Fixed overflow error for meetings without timeslots, which gave server 
    errors for meeting/64/agenda.html.

  * Additional tweaks to bin/mergedevbranch.

  * Merged in [7204] from rjsparks@nostrum.com:
    Adds the IAB-parented sessions to the set of things returned as 
    'areas'.
    Fixes bug #1288 

  * Reapplied merge of [7209], which although listed in svn:mergeinfo on . 
    actually doesn't seem to have made it into the repository.

  * Only show a link to the tools page for a group if the tools page is 
    likely to exist, i.e., the group is a WG and it is or has been active.

  * Added a logging filter to filter out the 'Invalid HTTP_HOST' emails.

  * Changed the SECRET_KEY setting to take account of the settings in 
    settings_local.

  * Merged in [7138] from rjsparks@nostrum.com:
    Reworked SMTP Exception handling, adding sending a ticket to the 
    secretariat when there are errors handing messages off for delivery.
    Added SMTP exception handling to send-scheduled-mail.
    This is related to ticket #1208 

  * Added a file to hold a list of changesets which are ready for merge, as 
    a manually maintained alternative to 'Ready for merge' annotations in 
    commit messages.

  * Typo fixes.

  * Set version info and settings back to development mode

 -- Henrik Levkowetz <henrik@levkowetz.com>  25 Feb 2014 16:53:54 +0100


ietfdb (5.0.1) ietf; urgency=medium

  This is a bugfix release which collects a series of fixes and usability
  tweaks from the last months.

  * Merged [7236] from rcross@amsl.com: 
    Fixed Liaison Add CSRF token error and missing Post and Send button.
    Fixes ticket #1308.

  * Added a way to control the output of the url and template coverage tests,
    so they only will be run for verbosity greater than 1, which is controlled
    by the --verbosity switch.

  * Merged [7214] from rcross@amsl.com: 
    Changeed old references to pub.ietf.org, to datatracker.ietf.org/secr/.    

  * Merged [7213] from rcross@amsl.com: 
    Added a missing template for the secretariat apps: unauthorized.html.   

  * Merged [7209] from rcross@amsl.com: 
    Fixed a typo in secretariat drafts add().   

  * Fixed a probem with wrong URLs in atom feeds, caused by caching.  Fixes 
    issue #1307.

  * Added a blank line before new session group in the text agenda, for
    readability.

  * Added a secret key to settings.py for development use.  NOT for 
    production use; that needs to go in settings_local.py

  * Added a warning to the draft submission page about upcoming submission 
    cut-offs.  Added a value in settings.py for the number of days before the 
    first cut-off to display the waring.

  * Updated the caching settings to use memcached in production.

  * Remove spurious 'yes' in meeting requests page.

  * Merged [7215] from rjsparks@nostrum.com: Use idnits on www.ietf.org
    Fixes ticket #1200 

  * Merged [7215] from rjsparks@nostrum.com: 
    Use idnits on www.ietf.org.  Fixes ticket #1200 

  * Merged [7212] from rjsparks@nostrum.com:
    Removed the "Reason for (re)chartering" line from the charter main
    document page.  Fixes bug #1294 

  * Merged [7210] from rjsparks@nostrum.com: 
    Allow the IRTF Chair and the ISE to request a conflict review directly
    through the tracker.  Notify the Secretariat when someone other than the
    secretariat initiates a conflict review.  Notify IANA when anyone
    initiates a conflict review.  Fixes tickets #1287 and #1289 

  * Merged [7204] from rjsparks@nostrum.com:
    Adds the IAB-parented sessions to the set of things returned as "areas"
    Fixes bug #1288 

  * Merged [7077] from rjsparks@nostrum.com:
    Returns "there are no ballots to view yet" rather than 404ing when the
    ballot link is followed for a document that exists.  It is typical for
    last call to be issued (which includes a link to the ballot page) well in
    advance of creating any ballot for a document.  Fixes bug 1233 

  * Merged [7076] from rjsparks@nostrum.com:
    Sets the State(type=draft) to Replaced when a document is replaced using
    views_draft.replaces.  Sets the state back to Active or Expired when a
    document is no longer replaced by another document.  Adds tests for the
    above functionality.  Provides a patch to repair the state of documents
    pointed to by RelatedDocument(relationship__slug='replaces') objects
    created by views_draft.replaces before this fix.  Fixes bug 1234 

  * Merged [6361] from rjsparks@nostrum.com:
    Allow the secretariat and ads to change the title of a status change
    document.  Fixes bug 1141.
    Applied changes to adapt the code from Django 1.2 to 1.6: Provide a
    quoted string to {% url %} and use request.user.person instead of
    request.user.get_profile().

  * Fixed problem with nomcom RST templates not being rendered under Django 
    1.6.

  * Merged [6359] from rjsparks@nostrum.com: 
    Send email to the secretariat when a status change document is put
    directly into the last-call-requested state.  Fixes bug 1139.

  * Added stream change and state change emails in adopt_draft() -- 
    otherwise we wouldn't have the state change emails assumed in the previous 
    commit.  See issue #1246.

  * Removed the extra (misleading) email about WG adoption which is sent 
    out in addition to the state change emails when a call for addoption (WG) 
    or adoption (RG) is done using the 'Adopt Draft in Group' form.  The state 
    change messages should be sufficient, and are not misleading.  Fixes issue 
    #1246 (and 1290).

  * Handled the case in is_downref() where the src file doesn't have a 
    std_level or intended_std_level set.

  * Modified ALLOWED_HOSTS to permit some (surprising) alternative 
    HTTP_HOST names.  Are these a result of queries proxied through other 
    ietf.org domains?  The numerical address is the mail server address.  We 
    should find out why that appears, and see if it can be made to appear as 
    mail.ietf.org instead.

  * Added Matt Larson to the release notification email address list.

 -- Henrik Levkowetz <henrik@levkowetz.com>  16 Feb 2014 19:36:41 +0100

ietfdb (5.0.0) ietf; urgency=medium

  **Database Schema Conversion Complete**

  With this release, a journey which started in 2008 with a *major* redesign
  of the IETF database schema has reached its goal.  We've now converted the
  datatracker completely to the schema designed then, swapping out all the
  models that were changed, converted the database, swapped out all the GUI
  code that was built against the old models, and polished off a host of minor
  issues arising from the conversion.  All this while completing and
  integrating 10 major functionality enhancement projects and releasing more
  than 50 minor releases, with not a single day of downtime.  A history of
  release notes is available here: https://datatracker.ietf.org/release/

  In addition to bringing in the last scheduled polish of the conversion,
  this release also brings in an upgrade of the Django framework from version
  1.2 to 1.6, which gives us a number of new tools and possibilities for
  future work.
  
  A particular mention goes to Ole Laursen <olau@iola.dk>, an outstanding
  programmer at the small Danish firm IOLA, who has been doing a lot of the
  heavy lifting in coding the shim-layer which made it possible to change the
  database schema without a total re-write in the spring of 2012, followed by
  the major code re-write which has taken place since then to get rid of all
  the parts which were written to the old database schema.

  Thanks also goes to all the IETF code sprint participants who have
  contributed, and to Robert Sparks in particular who has contributed *a lot*
  to make it all come together.

  There are still some parts of the schema that need an overhaul, and plans
  exist for addressing those, but overall we should be in good shape for the
  near future, with some room to grow :-)

  Detailed change information is available at:
  - http://wiki.tools.ietf.org/tools/ietfdb/browser/trunk
  - http://wiki.tools.ietf.org/tools/ietfdb/browser/branch/iola/djangoport
  - http://wiki.tools.ietf.org/tools/ietfdb/browser/branch/iola/shimfree

 -- Henrik Levkowetz <henrik@levkowetz.com>  30 Jan 2014 22:11:28 +0100

ietfdb (4.95) ietf; urgency=medium

  This release upgrades Django from version 1.2 to version 1.6, including a
  large number of refactorings and adjustments (about 140 individual changes)
  to adapt to changes in both interfaces and the style of how things are done
  between Django 1.2 and 1.6.  The full list of changes is available here: 

    http://tools.ietf.org/tools/ietfdb/log/branch/iola/djangoport

 -- Henrik Levkowetz <henrik@levkowetz.com>  13 Jan 2014 19:14:05 +0100

ietfdb (4.90) ietf; urgency=medium

  **Shim Layer Removal**

  This release removes almost all parts of the shim-layer code which was
  used to provide a semblance of the old database schema to user-interface
  code after we moved to a new database schema in the early part of 2012.

  There should be no changes in basic functionality changes in this release,
  even if there are many small optimisations and changes in code details
  which come in as a result of the shim-layer removal.

 -- Henrik Levkowetz <henrik@levkowetz.com>  20 Dec 2013 18:07:48 +0100

ietfdb (4.84) ietf; urgency=low

  This is a minor bugfix release, in preparation for merging in the latest
  shim-removal work.

  * Merged [6859] from rcross@amsl.com: 
    Fixed calls to reverse() to match new url names since code merge

  * Merged [6858] from rcross@amsl.com: 
    Use correct URL in new IPR notification email 

  * Merged [6857] from rjsparks@nostrum.com:  
    A script to run from cron to send daily messages to IETF Announce showing
    the email header field change.  his should be run from Jan 6 to Jan 20,
    after which point we need to deploy analagous changes to the code that
    constructs last call announcements. This is related to bug #811.

  * Merged [6701] from rjsparks@nostrum.com:  
    Adds pages to show what a given document refers to and what refers to it.
    Fixes bug #1194.

  * Merged [6672] from rjsparks@nostrum.com:  
    Removed requirement to enter a phone number in various places on an IPR
    disclosure entry form.  Fixes bug #1176 

  * Fixed a typo.  Fixes issue #1216.

 -- Henrik Levkowetz <henrik@levkowetz.com>  16 Dec 2013 23:34:37 +0100

ietfdb (4.83) ietf; urgency=high

  **IETF 88 Code Sprint**

  This release provides the code from the IETF-88 code sprint, and also
  a number of fixes to things reported during the IETF.

  The number of enhancements coming out of the sprint this time is impressive;
  this may actually have been the most successful sprint till now.

  Of particular note is the new ability for chairs and others who has the
  permission to edit a document's state, to edit replaced-by information for
  documents; and the introduction of information about which documents a given
  document references, for all documents.  Future enhancements will display
  this information as diagrams and textually, and use it to re-introduce the
  dependency diagrams originally provide by Bill Fenner in his stand-alone
  dependency graph application.

  From rcross@amsl.com: 

  * Changed draft replaces action: move document to archive directory 

  From tterriberry@mozilla.com: 

  * Allow wgchairs to edit document replacement relationships.
    This actually allows anyone with can_edit_stream_info permission
    to edit the list. This does draft name completion, but does not
    currently filter those names for likely replacements. Styling is
    also basically non-existent.  Fixes #1002 

  * Added 'Track this document' link on drafts.  Fixes #1085. 

  * Mark concluded BoFs as BoFs, not Concluded WGs.  Fixes #1169. 

  From bartosz.balazinski@interdigital.com:

  * Added the new version of the shepherd writeup as a comment when it's edited.
    The new version works like this:

     -  Any shepherd writeups done before the document is submitted for
	publication are not disclosed in the history.

     -  When the document is submitted for publication the available writeup (if
	available) is added to history.

     -  Any further writeups after the document has been submitted for publication
	are disclosed in the history. 

  From suresh.krishnan@ericsson.com:

  * Refactored the mails sent when state is changed along with annotation tags.
    Don't send emails for only comment changes, just add a history entry.  For
    state changes and annotation changes, only send one email, containing
    information about both state changes and annotation tag changes.  
    Fixes issue #1127.

  From jmh@joelhalpern.com:

  * Included confirmation addresses in ID-Submission success notice.
    Fixes issue #1097. 

  * Added document titles to status change request email.  Fixes issue #1069. 

  * Added 'Last Call Issued:' to front of last call atom feed entry subjects. 

  * Fixed conflict review text for irtf docs to reference RFC 5743. 

  * Added the last call expiration date to the document header, and remove
    duplicate code for producing the iest state summary. 

  From markus.stenberg@iki.fi: 

  * Added .csv export from private community lists.  Fixes #1074

  * Took care of #841 by moving <span> correctly outside <a> altogether.

  From adam@nostrum.com: 

  * Fixed #1153: Fixes IPR disclosures being counted multiple times and
    counting of 'not yet approved' IPR disclosures. 

  From rjsparks@nostrum.com: 

    Refined Bill Fenner's regex based search through documents for references.
    This populates RelatedDocument with relations for references for each type
    draft Document; replaces these reference relationships with updated
    copies upon draft submission.  Note to deployer: There is a script to run in
    patches/fill_in_references.py that does the work of bringing the database
    up to date. It takes around 10 minutes to complete on a fast development
    laptop.  Fixes bug #1173 

  Other changes:

  * Tweaked the style used on the nomcom feedback pages a bit, to give people
    a bit more room to write in the feedback field.

  * It turns out that the get_user_email is called for every nominee listed on
    a feedback page, which is insane.  But until the template can be rewritten
    to do this in a more sane way, we cache the lookup result.

  * Changed things so the left-side navbar doesn't jump to full page width in
    the instant before the main content is loaded.  NB: Cleanup action needed:
    replace all px dimensions with em, consistently.

  * Included the IAOC update session in the training section of the agenda.

  * By preference, show the same email for a logged-in user as his login, if
    it exists; otherwise show the newest active email address.

  * Many minor fixes to agenda templates and the known-good agenda test files.

 -- Henrik Levkowetz <henrik@levkowetz.com>  06 Nov 2013 20:33:43 +0100

ietfdb (4.82) ietf; urgency=high

  * Removed the ams_filters template tag file from the meeting app -- it 
    was a copy of the ams_filters under secr/, and masked it.

  * Added another state to the possible IETFWG states in the group proxy 
    models file, to avoid exceptions.

  * Changed the 'pipe' utility to work with commands taking input
    on standard in, also when providing an emtpy string as input.
    This is now different from providing 'None' as the input
    argument, or omitting it.

  * Tweaked the utility script to find missing submission confirmation 
    emails.

  * Rewrote html and text agenda templates to take schedule as data.

  * Added the utility program (vzic) used to generate timezone-specific iCalendar 
    information, and the original .ics files generated by the utility program 
    in 2010.

  * Added some code to vzic to make it output symlinks for all timezone 
    links specified in the Olson database, not only some of them.

  * Included newly generated .ics files, from
    http://www.iana.org/time-zones/repository/releases/tzdata2013h.tar.gz.
    This updates the .ics files to use timezone information current as of 27
    Oct 2013.

  * Added links to the individual nominee fedback pages to the
    private nomcom index page, in order to make it easier to find
    and look at the feedback for a filtered set of nominees.

  * Added a template filter to do required escaping in iCalendar pages.

  * Changed the path to iCalendar vtimezone information to point into the
    release directory, so that we can make updated vtimezone information
    available directly in a release, instead of out-of-band.

  * Provided new methods Meeting.vtimezone() which return a vtimezone stanza
    for ical files, based on the timezone setting for a meeting, fetched from
    a pre- generated file; and Session.ical_status(), which provides a string
    appropriate for use in ical STATUS: entries.

  * New view code and templates for agenda pages, updating all agenda
    templates to take schedule-specific information so that they will work
    with arbitrary schedules, not just the official schedule for a meeting.

  * Updated test masters to match the changed (and now more predictable) order
    of some entries in the agenda pages.

  * Merged [6486] from rjsparks@nostrum.com: 
    Slightly more than minimal changes to have questionnaire reminders go 
    only to those nominees who have accepted but have not yet sent in a 
    questionnaire for a given position 

  * Marked some instances of code in the meetings app which used variables
    that don't exist with XXX Fixme.  Removed dependency on the logging
    module, we use syslog by default.  Replaced some log.debug() calls with
    debug.log().

  * Removed a lot of dead code and unused imports.

  * Merged [6580] from rjsparks@nostrum.com: 
    Reverted materials.html and the view that drives it to before the 4.70 
    merge.
    Tweaked the view to get (I hope) the right things. 

  * Updated the template and support functions for iPhone agenda page.

 -- Henrik Levkowetz <henrik@levkowetz.com>  31 Oct 2013 19:13:02 +0100

ietfdb (4.81) ietf; urgency=medium

  * Merged in branch/amsl/1.50@6388 from rcross@amsl.com, with secretariat
    tool announcement fixes, permission fixes, and agenda database schema
    fixes.

  * Required logins to be all-lowercase.  This was prompted by repeated
    trouble with people registering non-lowercase logins, then trying to log
    in with all-lowercase, or vice versa.

  * Merged [6465] and [6466] from rjsparks@nostrum.com:

    Added the ability to send reminders to complete questionnaires to nominees
    in the accepted state.  Changed the send_reminders management command to
    not take any arguments and run against all active nomcoms.  Removed bugs
    from the send_reminders management command and added tests for it.
    Adjusted several dbtemplate titles and content.  Fixes bug 1157

  * Merged [6468] and [6469] from ejimenez@yaco.es:

    Now a Nomcom incumbent can be set to None for positions. Fixes #1156.

  * Let Timeslot.session() Return the first session, rather than none, for
    timeslots with multiple associated sessions for the public schedule.

  * Made the timeslots sent to the agenda.ics and agenda.txt template
    distinct, to avoid duplicate agenda items.  Fixes issue #1155.

  * Added caching for the somewhat costly TimeSlot.session() method/property.
    This speeds up text agenda generation using the legacy template
    substantially.

  * Tweaked the strings displayed when a plenary agenda cannot be shown.

  * Changed the select statement in MeetingProxy.sessions() to produce correct
    results for the official agenda, and filter out timeslot entries without
    scheduled sessions.

  * Remove the AD information from the text agenda until we fix the database
    so that it displays consistently correctly for past meetings.

  * Reverted to release 4.72 versions of several functions and methods,
    starting with agenda_info() and the view functions that use it.  Also
    changed meeting/tests/agenda.py to accept matching return values.
    Reverted old supporting models and proxy models to 4.72 versions, too, in
    meeting/proxy.py and proceedings/models.py.  Updated the proxy models
    which rely on TimeSlot to work properly with the m2m sessions field, and
    adjusted some other functions, such as session_agenda() to also understand
    the m2m sessions field (and its reverse).  Added an understanding of the
    "bof-conc" state to the code which returns 'BOF' or 'WG' for agenda
    templates.

  * Reverted to release 4.72 versions of txt, ics, and csv agendas, with minor
    tweaks.

  * Improved the test suite with improved diff tests for retrieved urltest
    files.  A number of other test tweaks and enhancements, including several
    known-good master files to diff generated pages against.

  * Cleanup action: replaced the noTable block construct with start/end
    table_content blocks in order to not have to open and close tables in
    different blocks, and not have empty tables lying about.

  * Reinstated the release 4.72 get_agenda_info() as legacy_get_agenda_info(),
    and tweaked it to work with the new Timeslot model's sessions field.
    Reverted the html agenda view code to use legacy_get_agenda_info(), based
    on the release 4.72 code.  This is a fix to display the html agenda for
    now, and will need more cleanup, but this should be done without
    introducing scheduledsession instances to the template.

  * Added a property method to return what the 'session' field used to return,
    but based on the 'sessions' m2m field filtered with the meeting agenda.
    This is right for the main meeting agenda, but not for personal schedule
    layouts, so this isn't a final fix.

  * Reverted html agenda templates to release 4.72 state, except for a jquery
    version change and moving inline weekview javascript to a separate file.

  * Changed the WG edit form so that once an acronym has been set, the acronym
    field is read-only; also changed the form validation to not permit changes
    to an existing acronym.

  * Changed NOMCOM_FROM_EMAIL to be the Nomcom chair instead of the
    secretariat. Fixes issue #1152.

  * Merged [6413] from rjsparks@nostrum.com: Removed redundant call to
    not_duplicated from the nomcom/private_index template.  It was already
    applied in the view, and interacted badly with the list comprehension
    method of filtering for NomineePositions that had associated questionnaire
    responses.  Fixes bug 1151.

  * Added Ryan to the admin list so he'll get 500 notifications.

 -- Henrik Levkowetz <henrik@levkowetz.com> 21 Oct 2013 22:58:26 +0200


ietfdb (4.80) ietf; urgency=high

  **Agenda Scheduling Tool**

  This is a major release which provides the code drop from phase 3 of the
  Agenda Scheduling Tool.  The code has been merged in, and a lot of minor
  alignments done.  Deployment of this will make the phase 3 agenda editing
  tools available from the main ietf site, will align the database schema with
  that used in the ongoing development work, and will provide the correct
  models for secretariat tool adaptations.

  Other changes:

  * Reworked the TestCase code and fixture loading substantially, resulting
    in a substantial speed increase for tests when run on a transaction-
    capable database engine.

  * Added an index page for nomcoms, at /nomcom/, with links to nomcom 
    pages and announcements, where they exist.

  * Fixed some bugs in the EncryptedTextField class.

  * Fixed the language of the nomination confirmation message.

  * Changed 'requirement' to 'desired expertise' in user-visible places in 
    the nomcom app.

  * Fixed a wrong secretariat template extension name.

  * Provide the missing safe_rep function required in the back-ported 
    assertIsNone() test case method.

  * Added an explanatory paragraph to the Desired Expertise page.

  * The exception string for submission upload read errors seems to have 
    changed after we switched to wsgi, from "Client read error" to "request 
    data read error".  Now looking for just "read error" to catch both.

  * Tweaked the introductory text on the Nomcom Desired Expertise page.

  * Added a makefixture management command, from 
    http://djangosnippets.org/snippets/918/, somewhat hacked.

  * Updated the test fixtures, built to be more internally consistent in order
    to be able to pre-load them for the test suite.

  * Fixed the many times duplicated position names in the position selection 
    drop-down list in the nomcom private index page.  Fixes issue #1137.

 -- Henrik Levkowetz <henrik@levkowetz.com>  03 Oct 2013 16:22:39 +0200


ietfdb (4.72) ietf; urgency=medium

  * Added a migration for a new ConstraintName field: penalty

  * Fixed 2 issues with the wg document list: Wrong heading for the related 
    docs, and candidate wg docs listed as wg docs, rather than related docs.

  * Fixed an issue arising when trying to edit a document state when there's
    no prior state, and removed the link to edit the document state when
    there's no set state.

  * Tweaked the template used to generate the various 1wg-charter*.txt 
    files to properly fetch email addresses.

  * Merged in a fix from rjsparks@nostrum.com for incorrect IANA 
    notification email addresses.

  * Added Nomcom role suport to role_required() through has_role().  This will
    let us get rid of the more specialized ad_hoc nomcom_memeber_required()
    function which can't handle access for multiple roles.

  * Replaced the ad_hoc nomcom_member_required() decorator with the generic 
    role_required() decorator.  Changed access permission for nomcom-chair only 
    pages to also permit nomcom advisor access (this lets the previous nomcom 
    chair explain and assist as needed).  Also tweaked some text strings in the 
    email feedback pipe script.

  * Added a WSGI connector for the datatracker, to let us run under mod_wsgi.

  * Modified the code which accumulates ipr disclosures associated with a 
    document, shown as an IPR count in search results.  The previous code had 
    two deficiencies: it could count some IPR disclosures twice, and it also 
    included withdrawn and pending disclosures.  The current count matches the 
    IPR search results better.

  * Moved the nomcom private key storage out of the source tree, which is a 
    silly place to put it.

  * Added a dev-specific robots.txt, which blocks all robots.

  * Merged in the latest secretariat code from rcross@amsl.com, from
    branch/amsl/trunkmerge@6149.

  * Added the ability to search for documents from a certain stream to the
    main document search form.

  * Added overview pages for non-ietf-stream documents (ise, iab, irtf), and
    links to them form the sidebar.

  * Removed the old ad documents page and its view function, and put in a
    redirect from the temporary /ad2/ url to the /ad/ url.  Also replaced the
    two AD document links in the lefthand menubar with one pointing to the new
    view (under the old URL).

 -- Henrik Levkowetz <henrik@levkowetz.com>  19 Sep 2013 21:31:42 +0200

ietfdb (4.71) ietf; urgency=medium

  * Merged in personal/rjs/r6117-pubreq@6119:

    - Made Publication Request (for documents from IETF working groups) an
      explicit action rather than a side-effect.

    - Simplified the working group state edit form.

    - Added hints to the WG state edit form to use the document's main page to
      request publication.

    - If a document is moved into IESG processing directly by the secretariat or
      an AD (old processing path), set working group state accordingly.


  * Merged in branch/iola/shimfree@6083.  This cleans up and moves relevant 
    code from idrfc/ to doc/.  There should now only be a bit of old wrapper 
    code left in idrfc; that will go away when the remaining models which use 
    it are cleaned up.

  * Fixed the manage.py command so it adds our own import path to the Python 
    path automatically; people won't have to explicitly add pythonpath any
    more::

      $ PYTHONPATH=$PWD ietf/manage.py ...

  * Applied a patch from rjsparks@nostrum.com to fix a line colouring bug in 
    IPR lists.

  * Fixed a regression: wrong URL to IESG state diagram in state help.  Fixes 
    issue #1119.

  * Merged personal/rjs/v4.70@6042:

    - Made reporting IPR consistant across document searches, IPR 
      searches, AD document queues, last calls, and agendas. All these points now 
      report on the document(s) being directly queried, and the documents those 
      transitively replace or obsolete.

    - Brought search results against WGs and document titles into 
      consistency with results from searching for individual documents

    - Added the IPR count to the link on the documents main page (when 
      not zero)

    - Built on Henrik's reimplementation of all_related\_\*, making the 
      \*_related_\* functions return DocAlias? lists consistently, and added 
      corresponding _relations_ functions to get lists of actual RelatedDocument? 
      objects.

    - Added getting the DocAlias? with the same name to Document

    - Added getting related IPR disclosures (as described in the first 
      bullet) to Document

    - Simplified ipr/related.py

    - Removed the use of DraftLikeDocAlias? and IETFWG from 
      ipr/search.py. Retooled the various search functions and templates to use 
      DocAlias? and IprDocAlias? directly.

    - Removed dead code from ipr/search.py

    - Removed the special handling of WG 2000 from ipr/search.py 

    This fixes bug #1071

  * Fixed a regression in display of IESG state; added back substate 
    information.  Fixes issue #1117.

  * Added template rendering verification on dbtemplate form submission in 
    order to catch errors in edited templates before they are committed.  This 
    should prevent server 500 errors when rendering dbtemplate pages.  Fixes 
    issue #1113.

  * Selectively removed the agenda and minutes warnings from the meeting 
    materials page, for educational sessions where agenda and minutes aren't 
    expected.  Fixes issue #1115.

  * Changed the order of the files diffed in the draft diff links on the 
    history page.  Fixes issue #1114.

  * Added Auto-Submitted and Precedence header fields to outgoing email 
    messages.

  * Fixed a possible KeyError bug for a missing form field 'by'.

  * Added code to expire last calls for statechg documents too (in addition 
    to iesg drafts) with the expire-last-call script.  Fixes issue #1092.

  * Added secretaries to those who are authorized to edit stream info for a 
    document.

  * Added a penalty field to the ConstraintNames, for use in agenda 
    scheduling.

  * Refactored group membership code, adding advisors and liaisons to the 
    membership list.  Needed for the nomcom code.

  * Fixed the broken WG document list template (regression caused by the 
    shimfree merge).

  * Fixed the red-on-red error message style which came in with the nomcom 
    code merge.

  * Fixed the nomcom email pipe command to read from stdin if no file given, 
    and give better error messages.

  * Added migrations which should have been part of release 4.70.

 -- Henrik Levkowetz <henrik@levkowetz.com>  09 Sep 2013 21:40:25 +0200

ietfdb (4.70) ietf; urgency=high

  **NomCom Support**

  This release provides a datatracker nomcom app, ported from the earlier
  standalone nomcom app written by henrik.  It includes public nomcom
  pages which provides an interface for members of the community to
  propose and comment on nominees for the positions the nomcom is filling,
  and private nomcom pages for secure management and browsing of positions,
  nominees, and comments.

 -- Henrik Levkowetz <henrik@levkowetz.com>  06 Aug 2013 12:15:56 +0200

ietfdb (4.61) ietf; urgency=medium

  **IETF 87 Code Sprint**

  This release provides the code from the IETF-87 code sprint, and also
  a number of fixes to things reported during the IETF, and some enhancements
  requested.

  Noticeable enhancements are that document search now permits you to search
  for all kind of documents, not only for drafts and RFCs (you can searc for
  charters, slides and whatnot); that Research Group chairs now have the
  ability to manage their documents in the tracker; and that the tracker now
  has the ability to generate WG and draft email aliases, which permits us to
  plan a transition of the email aliases to the main ietf mail server.

  There are however many other much requested fixes and enhancements :-)

  From markus.stenberg@iki.fi:

  * Added support and scripts for generation of wg- and draft-aliases.  
    Fixes issue #713.

  From adam@nostrum.com: 

  * Added the capability to search for all kinds of documents in the main
    datatracker search page.  Fixes bug #838.

  * Added tooltip capability to document tabs, and tooltips for disabled 
    IESG Evaluation/Review tab.  Fixes bug #448.

  * Added a document link to the emails sent on discuss/comment changes.  
    Fixes bug #916 

  From rjsparks@nostrum.com: 

  * Added related documents to the set of documents checked for IPR 
    declarations when building last call text. Partially addresses #1071.

  From suresh.krishnan@ericsson.com: 

  * When working group chairs added an annotation to a document, the date 
    on the history entry was wrong. It has now been fixed. Fixes issue #1046.

  * Fixed the last call processing code to identify the new placeholder 
    writeup. Fixes issue #884.

  Other fixes:

  * Added group secretaries to those authorise to edit group document 
    meta-information.

  * Added RG chairs and secretaries to those authorized to edit group document
    meta-information.

  * Added a landing page for missing associations between login and Person record.

  * Tweaked the charter-and-milestones presentation in order to not blow up on
    bad character encodings in charter file.

  * Added back the 'Request Publication' action (regression loss) on draft 
    pages for the non-ietf streams.

  * Fixed a bug in rendering the AD/Shepherd column in document list pages, 
    when no AD is associated with a document.  Fixes issue #1079.

  * Modified the doc stream-change edit form to reset doc.group to None on 
    stream changes.  Fixes issue #1078.

  * Fixed double plural 's' caused by the use of 'pluralize' in the 
    template *and* plural forms for the group headers returned by 
    fill_in_search_attributes().  Fixes issue #1077.

  * Fixed the incorrect blankline placemnt in the refactored template for 
    id-index and id-abstracts, when generating abstracts.  Fixes issue #1076.

  * Added convenience methods to the Document class to recursively retrieve 
    all forward / reverse relationship of a kind or set of kinds.

  * Fixed the handling of help pages for doc states.

  * Added a direct link to the cookie options in use by the datatracker to 
    the lefthand menubar.  Fixes issue #1075.

  * Fixed a regression: restore diff pane in history page for RFCs.

  * Fixed a regression: display of full draft/rfc text now again obeys the 
    full_draft cookie setting.

  * Changed the mimetype detection code to only read first 4k block of 
    file, not the whole file.

  * Made the code which uses the 'magic' module to determine file type and 
    encoding work with both the old and new interface to python-magic.

  * Added a guard to prevent duplicate RFC-Editor notifications for 
    approved documents, and added logging to the notification routine.

 -- Henrik Levkowetz <henrik@levkowetz.com>  01 Aug 2013 18:26:21 +0200

ietfdb (4.60) ietf; urgency=high

  **Shimfree Document Pages**

  This release provides new shimfree code in /doc/ which replaces code mainly
  from /idrfc/ and /idindex/.  It comprises the first two code drops from the
  shimfree project.  There are also some additional functionality, as detailed
  below.

  * Added an index page at /help/state, listing the document states that
    have help information.

  * On request form the secretariat, added a note to the new I-D announcement
    messages about there being a couple of minutes delay between submission
    and the appearance of htmlized document and diff on the tools servers.

  * Merged in two huge chunks of shim-layer removals from olau@iola.dk,
    comprising:

     - Deleted dead code in many places.

     - Renamed id-something to draft-something, make the "is
       this eligible for expiration" logic clearer

     - Added a name for IPR search URL

     - Revamped the ballot popup view

     - URL reversed the IPR search link instead of hardcoding it

     - Cleaned up search views and remove dead code, port them to the new DB
       schema, hack related views in iesg/ and wginfo/ to use the new search
       interfaces, avoid camelCase in search GET parameters (with
       backwards-compat fallback), add some simple search unit tests, remove
       caching from views_search.py index pages as they're now pretty fast to
       generate, rewrite ballot popup JS, regularize some CSS classes to use
       hyphen-notation rather than camelCase, move some of the search
       templates to doc/.  idrfc/ now mostly contains some wrapper code still
       in use by other subdirs, some ported code not yet moved, and dead code.

     - Fixed output bug in test crawler and print referrer upon errors so it's
       easier to figure out where a link came from

     - Added /doc/in-last-call/ to crawler, report original page as referrer in
       a redirect chain rather than intermediate URL

     - Ported idindex to new schema, speed them up, add tests, refactor index
       page in views_search to share code with the text index file, get rid
       of some special-case idindex filters from ietf_filters, move
       "/drafts/" redirects to a file in /doc/

     - Ported /idtracker/status/ and /idtracker/status/last-call/ overview of
       drafts in IESG process to new schema in /doc/iesg/ and
       /doc/iesg/last-call/

     - Added redirects for all of /idtracker/\*, removed all view code and other
       dead code from idtracker/

     - Removed the idtracker sitemap indexing drafts - in its current form,
       it adds nothing of value to the HTML-based /doc/all/ view, and it's
       pretty slow

     - Ported idtracker feeds to new schema, move them to doc/, cleaned up
       idtracker/ - only templatetags/ietf_filters and proxy code is left

     - Removed .related many to many relationship, it's not really useful
       since we always have to restrict on the relationship type anyway,
       instead add two helpers for doing the necessary queries (in both
       directions)

     - Added migration for transforming the .desc on the new_revision events
       into something more akin to what is actually shown in the history page

     - Added migration for blanking IESG notes that just consist of "RFC
       XXXX", these have been superfluous for some time

     - Grant stream chairs access to changing the stream on a draft

     - Hacked the format_history_text filter to be less weird, using the same
       formatting for snippets and full text, also link up legacy ballot set
       events

     - Moved the decoraters + utilities to new ietfauth/utils.py file

     - Added simple helper to Email to identify invalid email addresses (from
       legacy author entries)

     - Used new new_revision .desc format for when drafts are submitted

     - Improved the looks of the button class by adding extra contrast and a
       linear gradient. Currently the gradient is only visible in fairly
       recent browsers.

     - Rewrote draft and RFC tabs in terms of the new schema, porting
       write-up and history tabs as well

     - Fixed two bugs in RFC Editor syncing: make sure documents we don't know
       beforehand get a "draft" type and make sure individually submitted
       drafts get the type="individ" group instead of NULL

     - Made the CSS-styled button feel a bit nicer to use by flattening the
       active state, also introduce some temporary styles until browsers
       catch up with the standard syntax

     - Added migrations for fixing 1) a dummy RFC entry, 2) three stand-alone
       RFCs that didn't get their doc.type set, 3) a big bunch of historic
       stand-alone RFCs that have doc.group=None - set these to the individual
       submission "none" group for the time being so the view code doesn't
       have to deal with a special case.  In some cases this is wrong since
       there actually was a WG associated but unfortunately fixing them
       properly requires detective work (probably parsing the RFCs) and in at
       least some cases recreating historic WGs. In case someone ends up doing
       this, the documents to check can still be found with
       Document.objects.filter(name__startswith="rfc", group__type="individ")
       since there are almost no new RFCs that didn't went through the I-D
       process.

     - Merged the I-D and RFC views by showing I-D information on RFCs too.
       I-Ds that have been published as RFCs redirect to the RFC URL. Also
       support alias URLs so e.g. /doc/bcpXXXX redirects to /doc/rfcXXXX.

     - Fixed revision augmentation so events after RFC publication gets a "RFC"
       designation

     - Fixed a bug with tabs not using provided name but rather doc.name

     - Displaying draft-iesg state rather than doc.friendly_state as IESG state,
       also show a notice that the IESG state refers to post-RFC processing
       if it does, like the old separate RFC page did

     - Fixed the RFC number doc.note migration to catch combined "RFC XXX; BCP
       XXX" notes too, use the opportunity to remove inserted HTML tags from
       notes and rely on linebreaksbr filter instead (the other thing was a
       left-over from the Perl days), update the various uses of the note to
       reflect that

     - Refactored slightly to make views_doc.py independent of other idrfc code

     - Moveed idrfc/views_doc.py to doc/ with associated templates, replace the
       somewhat fragile simple URL tests for views_doc.py with ordinary unit
       tests. The new tests are still fairly basic but at least test more
       than the URL tests did.

     - Made sure RFC's (and BCP/STD/FYI) are stored as RFC123 instead of
       RFC0123 in the alias table with a new migration and a change to the
       RFC Editor sync, this in turn makes /doc/std1/ do the right thing

     - Now /doc/std1/ works, we can actually do a local link in
       urlize_ietf_docs rather than linking to the tools.ietf.org server

     - Fixed history text formatter: sanitize HTML before adding linebreaks and
       non-breaking spaces, this cuts the time to render a history page with
       long comments in half

     - Added a test crawler that walks through the crawlable part of the site,
       reporting errors and slow pages

     - Got rid of initial "No record" positions when showing old positions,
       it's just noise

     - Added a .select_related() to the document main tab to reduce the number
       of DB queries, unfortunately it seems it doesn't really help with
       Django 1.2.x due to a bug (Document inherits from DocumentInfo which
       makes things a bit more complicated)

     - Introduced a simple cache in doc.get_state so repeated reads don't
       cause a DB query

     - Cleaned up the search code in preparation for removal of the shim-layer;
       use a static button and don't send extraneous GET parameters

 -- Henrik Levkowetz <henrik@levkowetz.com>  23 Jul 2013 18:32:52 +0200

ietfdb (4.53) ietf; urgency=low

  This release provides improvements in the test suite, which nows runs
  cleanly with test database rollbacks (using InnoDB) in less than half he
  time it takes to run with a MyISAM test database without rollback support.
  Most of the time is now spent on the page load tests, not on fixture
  re-loading.

 -- Henrik Levkowetz <henrik@levkowetz.com>  15 Jul 2013 09:32:18 +0200

ietfdb (4.52) ietf; urgency=medium

  This is a minor bugfix release, in preparation for the next major  merge.  

  * Fixed problem with caching of utc agenda -- use a separate cache name for
    this.

  * Permit unicode milestone text (using unicode() instead of str() in
    comparison when looking for milestone changes).  Fixes issue #1065.

  * Added a list of releases below the release notes at /releases/*

  * From RjS: Added a case in the render_ballot_icon() filter for statchg
    documents.

  * Removed duplicate '.errorlist' style.

  * Fixed missing name change when moving settings from rfceditor module to
    settings.py.

  * Merged [5613] from mcr@sandelman.ca: include a way to dump timedeltafields
    so that it is possible to save data to fixtures.

  From olau@iola.dk:

  * Skip IANA - Review Needed and Version Changed - Review Needed changes from
    IANA as it turns out that the Datatracker is the authoritative source on
    these states. Also improve logging so that the raw JSON from IANA is
    dumped, the parsed JSON on imported changes is dumped and we write to
    syslog before starting a sync script in the notification view.

  * Only add charter state change link when chartering, it doesn't make sense
    for an approved charter. Fixes #861.

  * Don't display group.comments on the charter document page. Apparently
    group.comments have been used by the Secretariat in the past for
    chartering comments, but it's not possible to edit the field and the whole
    thing doesn't make sense from a modelling perspective - a feature like
    this should probably use the note field on the charter.  Fixes issue
    #1048.

  * Don't crash if an attachment has been created already, just reuse it -
    this case shouldn't actually happen, but apparently sometimes does,
    probably due to a concurrency issue

  * Add link to charter pages from the milestones editing page (besides the
    cancel button), fixes #1044.

  * Special-case proposed working groups with respect to milestones, they get
    the charter milestones on the WG charter page rather than the current set

  * Show approved milestones on /doc/charter-xyz/ page if the charter is
    approved instead of only showing proposed milestones for proposed charters

 -- Henrik Levkowetz <henrik@levkowetz.com>  14 Jul 2013 16:05:36 +0200

ietfdb (4.51) ietf; urgency=low

  This is a minor bugfix release, in preparation for the next major
  merge.  Fixes:

  * Use argument 'draft' for document instead of 'approved_draft_name' when 
    sending sync notifications to the RFC-Editor.

  * Moved settings for RFC-Editor sync to settings.py.

  * Don't actually do a post to the rfc-editor's state sync interface for a 
    publication request when not in production mode.

  * Merged [5770] from rjsparks@nostrum.com: 

    - Added editing last call messages, requesting, issuing and tracking IETF 
      LCs to status-change documents

    - Added a Cancel button to the form that allows editing the relations for 
      status-change documents

    - Added instructions to the agenda section 3.3

    This adds states to status-change- documents and has a migration that 
    must be applied.  Fixes bug #1039

 -- Henrik Levkowetz <henrik@levkowetz.com>  09 Jun 2013 22:03:29 +0200

ietfdb (4.50) ietf; urgency=medium

  **Milestone Management**

  This is a major feature release, which introduces datatracker support
  for milestone management.  WG Chairs will, if they are logged in, see
  an 'Add or edit milestones' button on the WG's Charter page in the
  datatracker, just below the charter text, and Area Directors and
  Secretariat staff will see a new link 'Milestones' in the left-hand
  menu-bar, leading to a page which lists Milestones Needing Review.

 -- Henrik Levkowetz <henrik@levkowetz.com>  16 May 2013 00:34:16 +0200

ietfdb (4.45) ietf; urgency=medium

  This release contains bugfixes and some minor features.

  * Added IAB Chair permission for some IESG agenda links.

  * Added alternative names for 2 iana states which seems to have changed 
    name since the code was originally deployed.  Also added a guard against 
    sending state change emails when the iana state hasn't actually changed.

  * Don't use non-ascii names in the email lists (at least for now), as the
    the code doesn't generate proper email header IDN encoding for non-ascii
    addresses.

  * Added the secretariat to the recipient list for publication request 
    emails generated by the datatracker.  Fixes issue #964.

  * Fixed a problem with checking shepherd writeup editing permissions for 
    logged-in users with no associated person object.

  * Reverted a change from [5602], reinstating the explicit To: field for
    last-call announcements, because removing it caused the copies of the
    announcements destined for email lists to be held by Mailman for
    moderation because of implicit destination.  Relates to issue #811.

  * Changed additional places to use IANA sync settings from settings.py

  * Merged [5645],[5646] and [5647] from olau@iola.dk:

    - Added support for notifying the RFC Editor upon draft approval

    - Added action to post to RFC Editor on non-IESG publication requests too

    - Fixed a bug that the CC on the announcement copy sent to IANA wasn't
      cleared causing people on the CC to get duplicate emails

  * Refined the INSTALL instructions for secretariat releases.

  * Added instructions on updating the release version and date for patch 
    releases.

  * Added RjS to the ADMINS setting, so he will receive exception emails.

 -- Henrik Levkowetz <henrik@levkowetz.com>  14 May 2013 21:50:09 +0200


ietfdb (4.44) ietf; urgency=medium

  This is a combined bugfix and feature release.  It provides improvements to
  last-call messages, the display of document shepherd information, the
  content of AD pages, IESG ballot information, and various forms; and it
  fixes a number of bugs.

  From rjsparks@nostrum.com:

  * Merged [5600] and [5602]:  Changed the header to last call messages to IETF
    Announce and to IANA to make replying to the announcement less likely to
    create an unnecessary ticket.

  * Merged [5569] and [5572]: Small fixes in 4.43 and showing the shepherd
    (when there is one) on search results, documents for this ad, and wg
    document lists.  Fixes bug #972.

  * Merged [5570]: Moves the interface to edit shepherds and sheperd writeups
    out of the wgtracker interface and into the doc views (via idrfc).  Added a
    little to the simple authorization code (can_edit) in idrfc.  Added a way
    to reset the writeup to the current templates (leaving extension points to
    take templates for non-ietf stream documents).  Fixes bug #967. (This also
    fixes tickets #834 and #691 (which were effectively duplicates of #967)

  * Merged [5595]: Tweaked the grouping code to not break documents of the
    same type up 

  * Merged [5476]:

    - Added a document type for changing the publication status of other 
      documents, and the UI for manipulating them.

    - Added charters, conflict reviews, and status changes to the AD's 'My 
      Documents' page

    - Improved the presentation of all document types on the Agenda, Future 
      Telechats, Scribe and Moderator package pages

    - Made the reverse name for document relationships explicit rather than 
      deriving them from forward names

    - Added a way to get to the underlying Document (when it exists) from 
      an RfcWrapper

    - Unified several common forms used by different document types 

  From henrik@levkowetz.com:

  * Changed which email addresses the submission tool uses for confirmation 
    emails and sending out full submission status URLs from the emails found in 
    the submitted document (which could be empty, broken, or intentionally 
    different than the original authors) to the author emails from the previous 
    version, where a previous version exists.  This fixes breakage which can 
    occur when no valid email addresses can be found in a broken submission, 
    and also ensures that at least one of the authors of a previous version 
    signs off on a new version, preventing submission hijacking.

  * Added a section to the meeting materials page for IAB sessions. Added a 
    link bar at the top to make it easier to find sections like Training and 
    IAB.

  * Don't list documents replaced by other documents in the IESG Status 
    list at /idtracker/status/.

  * Fixed a bug which would set the state in the event accompanying a WG 
    activation to 'Proposed', which messes up various views.

  * Add new tag 'rev-wg' to the list of valid annotation tags for the ietf 
    stream.  Note: This list and those on nearby lines needs to be refactored 
    into a table, instead of sitting in the code.

  * Added instructions on how to patch the production code (if necessary) 
    to the INSTALL description.

  * Fixed rounding issue in IESG positions neded calculation.  Fixes issue 
    #974.

  * Made agenda views with timezone information work also for earlier
    meetings (those without timezone data available).

 -- Henrik Levkowetz <henrik@levkowetz.com>  16 Apr 2013 00:49:24 +0200


ietfdb (4.43) ietf; urgency=high

  **IETF 86 Code Sprint**

  From Jim Schaad <ietf@augustcellars.com>: 

  * Working Group document page now allows for addition of documents to 
    community lists. 

  * Added new rules to the atom tracker for picking up documents in specific 
    states

  * Added new rules to the atom tracker for picking up RFCs

  * Changed the header fields on the RFC table so that they reflect RFC 
    descriptions rather than I-D descriptions. 

  * Increased the set of information being returned on the atom viewer to 
    reflect IETF specific information. 

  From housley@vigilsec.com: 

  * Send email to statements@ietf.org when a pending liaison statement gets 
    queued. 

  From jmh@joelhalpern.com: 

  * Fixed the moderator package Conflict review text. 

  * Added the document notification list to the destination email addresses
    when the document leaves IETF LC.

  * Repaired the ballot requirements string

  * Removed the 'Set all to not on agenda' button, as it is never used. 

  From adam@nostrum.com:

  * Fixed formatting for history page.  Relates to issue #210.

  * Added links to the session request page

  * Two changes: (1) searches by substring rather than 'begins with' (to
    allow, e.g., searching by last name); and (2) limits results to 10 entries
    (to limit server load and limit effectiveness of email-scraping attacks) 

  * Fixed agenda oscillation problem (removed scrollbars from iframe)

  From cabo@tzi.org: 

  * Added javascript functionality to make the UTC agenda convert it's UTC
    times to Browser local time.

  From rcross@amsl.com: 

  * Ticket #673: Add the ability for the secretariat to clear a ballot to 
    the tracker 

  From suresh.krishnan@ericsson.com: 

  * Checking for loss of comments when AD enters comments without changing 
    state. Also modified the base css to have an unified errorlist format. 

  From henrik@levkowetz.com

  * Some additional tweaks to the INSTALL text.

  * Added a note on secretariat releases.  Reformatted to resolve rst 
    markup mistakes -- '$ rst2pdf INSTALL' now works.

  * Ask people to use their account profile management form to add email 
    addresses, instead of creating new accounts, on the create-account form.

  * Tweaked mergedevbranch to make the sprint merge/test cycle a little bit 
    easier.

  * Tweaked the code from [5518] to handle the case where a document 
    doesn't have any state set yet.

  * Changed the community tool email notification code to not try to send 
    to nobody, and to use individual To: addressing rather bulk Bcc: addressing.


 -- Henrik Levkowetz <henrik@levkowetz.com>  13 Mar 2013 19:26:54 +0100


ietfdb (4.42) ietf; urgency=high

  This release brings only minor new functionality to the datatracker
  (timezone indications on the html agenda, and an UTC version of the
  html agenda), but it's important because it includes the secretariat
  tools as part of the datatracker release and source repository, and
  makes the test suite also run secretariat app tests.
  
  Details:

  * Provides the html agenda for IETF meetings with local timezone indications,
    and adds a new html agenda with UTC timezone indications.

  * Merged in branch/amsl/trunkmerge@5449 from rcross@amsl.com, with some 
    tweaks.  This provides the secretariat apps.

  * In order that document states (which may be used by old documents) 
    should not need to be removed when state machines change and states go out 
    of use, all document states have a 'used' field.  The code which accesses 
    the state fields have not been requiring that used=True for the states 
    returned, which is an error.  Fixed this by adding 'used=True' to all 
    State.objects.get() and State.objects.filter() call where it's relevant.

  * Applied patch from olau@iola.dk for some email problems, see issues
    #949 and #877.

  * With RFC6410, there are only two RFC maturity levels, 'Proposed 
    Standard' and 'Internet Standard'. Added a mapping between 'Internet 
    Standard' and slug 'std', to be able to process newer RFC info from the RFC 
    Editor.


 -- Henrik Levkowetz <henrik@levkowetz.com>  06 Mar 2013 20:37:14 +0100


ietfdb (4.41) ietf; urgency=low

  This release is a minor release, with bugfixes and some enhancements
  to the community draft-tracking feeds.

  For detailed commit messages, please see:
    http://wiki.tools.ietf.org/tools/ietfdb/log/trunk

  * Added a set of help pages for document states, and dded links from the
    new IANA states to help pages describing the different states.

  * From rjsparks@nostrum.com:
    Fixed a bug in the state change logging which caused the wrong document
    state log entries in some cases.

  * Merged [5426] from ietf@augustcellars.com: 
    Make sure that the same rule cannot be entered twice in a community 
    list.

  * Merged [5425] from ietf@augustcellars.com: 
    Modify atom change feed so that 
    1.  It returns the last 14 days of changes rather than the last 20
    2.  Change the atom template so that it has correct time offsets rather 
    than saying that PST and UTC are the same
    3.  Change the atom template so that it uses content rather than 
    summary and return HTML content with line breaks as needed. 

  * Merged [5424] from ietf@augustcellars.com: 
    Close the image tag.  An empty image tag displays on IE although it 
    does not display on Firefox. 

  * Added variations on the recognized date formats during submitted draft 
    parsing, such that comma need not be followed by whitespace in the formats 
    using comma as a separator between some of the fields.  Added extraction of 
    drafts referenced by a document, in addition to RFCs referenced.

  * Modified the set of permissible parents for session groups, in order to 
    permit an IAB-sponsored BoF to appear on the agenda.

 -- Henrik Levkowetz <henrik@levkowetz.com>  27 Feb 2013 23:24:53 +0100


ietfdb (4.40) ietf; urgency=high

  **RFC-Editor and IANA Document State Data Exchange**

  This release is a major feature release, which provides the means to do
  state synchronization to and from the RFC-Editor and IANA, so that relevant
  state changes to drafts and RFCs at any of the 3 organizations can be
  picked up and reflected automatically in the tracking system used by the
  others.  

  This release is the last piece of a multi-year effort to make the tracker
  provide seamless tracking of state information from the very first beginnngs
  of a document (which is provided through the community tracker part of the
  IETD datatracker, which lets anyone in the community set up tracking
  notifications for their specific set of documents) all the way through the
  working group process, IESG processing, to the final IANA and REF-Editor
  processing and publication.

  There isn't a lot of eye-candy associated with the current release, but
  as we get the RFC-Editor and IANA ends set up to use the notification
  interfaces provided in this release, the state shown in the datatracker
  should faithfully and timely reflect the state changes in the RFC-Editor
  and IANA parts of the process.

  For detailed commit messages, please see:
    http://wiki.tools.ietf.org/tools/ietfdb/log/branch/iola/statesync

 -- Henrik Levkowetz <henrik@levkowetz.com>  20 Jan 2013 16:38:22 +0100

ietfdb (4.37) ietf; urgency=low

  This is a minor bug-fix release of the datatracker.  It fixes issues with
  presentation of IESG discusses and comments, anchor names in the materials
  list page, details of the 1wg-summary.txt page, and some other minor issues.

  * Merged in a patch from housley@vigilsec.com to handle different 
    documents better in the agenda JSON output.

  * Added simple logging of test runs, to make it easier to be sure that 
    tests has been run successfully on the latest code.

  * Added a new field, #16: draft AD (name and email) to all_id2.txt

  * Made the IPR country field wider to accomodate IPR disclosures 
    referencing many patent instances in many countries.

  * Updated draft submission author extraction module to handle dash-separated
    double given names.

  * Tweaks and fixes to the IESG scribe template templates.

  * Added a filter for use in displaying document comments and discusses 
    which unfortunately sometimes use html <br> markup, which should give line 
    breaks, and sometimes contain <email@domain> which should *not* be 
    interpreted as html, but rendered as &lt;...

  * Limited the 1wg-summary list and friends to WGs, (excluding the 'iesg' 
    area which lists the areas as subgroups, for instance).

  * Resolved a naming conflict between the builtin messages framework and a 
    variable named messages in wgcharter.views.change_state.  Fixes issue #901.

  * Tweaked the handling of the syslog module not being available on 
    windows.

  * Fixed what may have been a regression in the form of the anchors in the 
    materials list page.

 -- Henrik Levkowetz <henrik@levkowetz.com>  16 Dec 2012 19:30:30 +0100

ietfdb (4.36) ietf; urgency=medium

  **IETF 85 Code Sprint**

  This release contains the features and bugfixes from the IETF-85 code
  sprint, providing improved WG chair document handling, improved document and
  agenda display.  The code in this release has been contributed by Robert
  Sparks, Joel Halpern, Ryan Cross, Adam Roach, and Henrik Levkowetz.  

  From rjsparks@nostrum.com:

  * Enabled diff on the conflict review history tab.  Fixes bug #882 

  * Made it more obvious when an intended status or shepherding AD is not set
    Removed an unused template Show reset approval text immediately.  Fixes
    bug #900 

  From jmh@joelhalpern.com:

  * Moved the Replaced By: line in docent headers up to main header with
    Replaces: 

  * Added a link to the Shepherd update page to get back to the document 
    manipulatin page. 

  * Made comments optional on WG adoption and WG state changes. 

  * Corrected the test of final shepherd update flag. 

  From rcross@amsl.com: 
  * Changed CONFLICT_REVIEW_PATH from conflict_reviews to conflict-reviews 

  From adam@nostrum.com: 

  * Fixed '%2C' bug introducted (exposed?) by Apple's iCloud handling of 
    URLs 

  * Fixed time column wrapping problem that exhibits in (at least) Safari. 

  From henrik@levkowetz.com:

  * Tweaked the changelog presentation to work irrespective of current 
    directory, and give a sensible 404 if the changelog can't be found.

  * Tweaked the html agenda a little bit by adding a day indication for 
    each timeslot, to make it easier to see which day you're actually seeing 
    when the day separator is outside the window.

 -- Henrik Levkowetz <henrik@levkowetz.com>  07 Nov 2012 20:41:36 +0100

ietfdb (4.35) ietf; urgency=medium

  This release provides a long list of fixes and minor enhancements, covering
  more than 50 different items found through feedback from users.  Major
  contributors were Robert Sparks, Adam Roach, and Henrik.  The changelog will
  be available at http://datatracker.ietf.org/release/4.35 after deployment.
  The commit log is at http://trac.tools.ietf.org/tools/ietfdb/log/trunk

  Details:

  * Added an 'email sent' success message after sending out a WG review 
    announcement.  Todo: Add equivalent messages in all other situations 
    where email is sent out, for consistency.

  * Added various things which lets us use Django's messages framework to 
    give feedback to users.  This includes adding the messages middleware in 
    settings.py, adding a message display are at the top of the page base 
    template, and adding style setting for message display.

  * Tweaked test/mergedevbranch in a number of places in order to simplify 
    handling (merging and testing) of multiple merges.

  * Merged [4909] from rjsparks@nostrum.com: 
    Reimplemented clear_ballot to close the existing ballot and create a 
    new one. Changed the all_positions code to only return synthetic 
    no-positions for current ADs when a ballot is actually open 

  * Merged [4904] from adam@nostrum.com: 
    Fixing conflict list; adding AD column. 

  * Merged [4885] from rjsparks@nostrum.com: 
    Refactored close_open_ballots, creating a way to close one abllot at a 
    time. rewrote the clear ballot code to close each open ballot and open a 
    new one 

  * Modified the format of the changelog to confirm fully to the debian 
    changelog format.

  * Added a simple page to show release information parsed from a release's 
    changelog file.

  * Improved the handling of iCalendar timezone information -- instead of 
    simplified VTIMEZONE information generated from a template, the VTIMEZONE 
    information for a meeting's timezone is read from file (where it presumably 
    has been generated from the Olson timezone database, for instance using 
    vzic.

  * Added an utility script to extract information about the outgoing 
    confirmation request email related to a draft submission.

  * Added a management command to generate bibxml files for drafts.  It's 
    not fully cooked yet, as it needs to differentiate between documents which 
    are currently drafts, and those that have been published as RFCs, but the 
    basics are there.

  * Add an name utility function to return a name's initials. Handle names 
    with an uppercase surname to the left of the given name correctly.

  * Added support for reverse-order (i.e., Japanese, Chinese, and other) 
    names with uppercase family name in the draft submission author extraction.

  * Added an 'agenda_note' field to meeting.models.Meeting, and added 
    display of content (if any) in html and txt agendas.  

  * Fixed a misleading error message given when disallowed character occurs 
    in a draft filename.

  * Merged [4879] from rjsparks@nostrum.com: 
    Changed 'protocol writeup' to 'shepherd writeup' in several templates.
    Fixes bug #885 

  * Merged [4873] from rjsparks@nostrum.com: 
    Includes the conflict-review document contents in the email sent with 
    the results of the conflict review.
    Fixes bug #883 

  * Merged [4866] from rjsparks@nostrum.com: 
    Show link to pending liaison statements to approve to the secretariat.
    This fixes bug #878 

  * Merged [4836] from housley@vigilsec.com: 
    Add stream to conflict-review documents in the agenda.json object for 
    the IESG telechat agenda 

  * Merged [4825] from rjsparks@nostrum.com: 
    Updated tests to deal with the mandatory state field

  * Merged [4811] from rjsparks@nostrum.com: 
    Cleaned up setting wg state, leaving events, and facilitated creating 
    an initial charter for an existing unchartered group 

  * Merged [4806] from rjsparks@nostrum.com: 
    Better handling for BoFs, particularly those that won't create WGs 

  * Updated wginfo/tests.py to work with the merged wginfo/edit.py which 
    requires the wg state to be set.

  * Fixed a problem with the spiffy ajax handling of email fields when test 
    cases submit a textual list of email addresses instead of a python list.

  * Use decorator.decorator consistenly in debug wrappers.

  * Updated version of debug.py, which adds timing and profiling support 
    functions.

  * Added Michele Simionato's decorator module, for use in debug.py

  * Merged [4805] from rjsparks@nostrum.com: 
    When abandoning a chartering effort, only revert to approved charters 
    if there's a chance one is there.
    Fixes bug #868 

  * Merged [4805] from rjsparks@nostrum.com: 
    When abandoning a chartering effort, only revert to approved charters 
    if there's a chance one is there.
    Fixes bug #868 

  * Removed debug statements

  * Added the creation of a WG state change event for WG state changes.

  * Tweak the GroupHistoryAdmin list_display.

  * Fixed missing import of Role.

  * Added a docstring note about the convention for when 
    save_*_in_history() shoudl be called.

  * Merged [4842] from rjsparks@nostrum.com: 
    Warn when putting a charter in an unusual state onto a telechat agenda 

  * Merged [4841] from rjsparks@nostrum.com: 
    Allows the IESG Note field to be edited even when empty. 

  * Merged [4840] from rjsparks@nostrum.com: 
    Added more information about RFC5742 conflict review documents to the 
    /agenda, moderator, and scribe pages.
    Fixes bug #874 

  * Merged [4858] from rcross@amsl.com: 
    The IPR notification email was still referring to the old CGI admin 
    script; fixed. 

  * Merged [4835] from rjsparks@nostrum.com: 
    Improve the robustness of get_wg_section 

  * Merged [4833] from rjsparks@nostrum.com: 
    Send email to IANA and the IESG when entering IESG evaluation of an 
    RFC5742 conflict review 

  * Added a script to create NewRevisionDocEvent entries for charter files.

  * Fixed an instance of old use of first_name, last_name in submission 
    tool code.

  * Fix up scribe template to suite John, undoing a number of fixes from 
    the sprint.

  * Add shepherd field to all_id2.txt

  * Reverted a number of changes to the scribe template which made life 
    more difficult for the scribe.

  * Fixed a problem with blocking comments on charter documents pointed out 
    by rjsparks@nostrum.com.

  * Fixed another typo.

  * Show ballot positions also for documents without an active ballot.

  * Fix typo in import.

  * Fixed a password reset url which didn't work due to a wrong keyword 
    name in the urlpattern.

  * Don't try to add a ballot's AD email addresses to a new version 
    notification email if there's no ballot.  Also did some linguistic fixes, 
    and got rid of a wildcard import.

  * Make the mergedevbranch script more flexible in accepting different 
    partial repository paths on the command line.

  * Make .ballot_open() available on DocumentInfo instead of on Document, 
    too.

  * Fixed a crash for the case where we're looking at a historic charter 
    page and there's no active ballot for the histoic charter.

  * Make .active_ballot() available on DocumentInfo instead of on Document, 
    to make charter history snapshots work.

  * Merged [4773] from olau@iola.dk:
    Encode uploaded charter text with UTF-8 to avoid crashing on Unicode 
    content 

 -- Henrik Levkowetz <henrik@levkowetz.com>  30 Oct 2012 15:19:09 +0100

ietfdb (4.34) ietf; urgency=medium

  * Merged in [4772] from rjsparks@nostrum.com, a big chunk which in itself
    combines a number of separate fixes: 

    Liasion Manager:

    * Patch from Yaco to avoid resetting the From field when changing other 
      items on the form

    * Gave the secretariat the ability to find/approve any unapproved 
      liaisons

    * Changed all the email code to use ietf.mail.utils (and removed the 
      fake-mail concept)

    Charter documents and the Agenda pages:

    * Added charter documents to iesg/agenda and iesg/agenda/documents

    * Synced the ordering of drafts on iesg/agenda and iesg/agenda/documents

    * Allow setting a responsible AD for charter documents

    * Changed the UI of the charter page to use editlink for changing 
      attributes and buttons for actions (to align with drafts and 
      conflict-reviews)

    Moderator package:

    * Refactor: Simplified access to the current BallotDocEvent from a 
      Document

    * Added functions to BallotDocEvents? to faciliate access to 
      BallotPositionDocEvents?, both for all positions, and current AD postions.

    * Updated the moderator package to use the Documents from _agenda_data.

    * Added a filter to assist with rendering the moderator package.

    * Fixed a bug where different functions in idrfc/views_ballot were 
      using log_state_changed expecting different implementations (a cleanup task 
      should reconcile the _three_ implementations in the codebase of that 
      function).

    Cleanup from codesprint:

    * Removed some duplication between doc/util and doc/models by moving 
      things into doc/models

    * Do not show non-empty discuss text when the ballot position is not 
      blocking

    * Added a migration to update non-blocking ballot positions that have 
      non-empty discuss text

    DEPLOYMENT NOTES
    Please be aware that migration step will take a few minutes to complete.
    Fixes issue #865 

  * Tweaked the author extraction code to handle company names in the author
    list on the first page, when the company names contain a comma, such as
    for instance 'Foo Bar, Inc'.

  * Added support for get_file_path() for conflrev documents based on branch 
    /personal/rcross/v4.32@4722, but tweaked to return only the directory, not 
    the full directory+name+ext path, in order to behave the same way as for 
    other document types.

  * Merged in [4746] from adam@nostrum.com: 
    Adding slides to agenda page 

  * Merged in [4738] from adam@nostrum.com: 
    Added a link to the cookie page, at Robert's request 

  * Merged in [4737] from adam@nostrum.com: 
    Fixed profile update page to keep Alias table up to date. Also, roles 
    for inactive groups are no longer displayed on the profile page. 

  * Applied fix from rjsparks@nostrum.com: Remove old document filtering 
    which is now to strict, letting conflict review documents show in the iesg 
    agenda.

  * Applied fix from adam@nostrum.com: Display meeting materials with 
    correct ordering.

  * Removed the ValueError exceptions introduced in the previous revision 
    of the draft author extraction code.  Fixes issue #858.

  * Fixed problem with diff links which erroneously included a template 
    variable interpolation.

  * Fixed problem with displaying ISE stream documents.

  * Fixed the update password request form to *not* give an error for 
    existing accounts ,:-)

  * Fixed some parameter names in the ietfauth urlconf which had reverted to 
    an old form in a recent merge.

  * Used the .plain_name Person attribute in the agenda documents form 
    instead of the full .name attribute.

  * The call to liaison_manager_sdos() in set_organization_field was 
    missing a Person parameter -- added it.

 -- Henrik Levkowetz <henrik@levkowetz.com>  22 Aug 2012 14:57:33 +0200

ietfdb (4.33) ietf; urgency=medium

  **IETF 84 Code Sprint**

  This is the IETF-84 codesprint release:

  * Changeset [4724] from rbarnes@bbn.com:
    Adjusted the scribe template to make it XHTML compliant and fix what 
    Robert broke 

  * Changeset [4721] from adam@nostrum.com: 
    Adding an 'href' method to documents. It doesn't work for documents 
    of type 'liai-att' or 'liaison', but it's a good start. 

  * Changeset [4709] from housley@vigilsec.com: 
    Ability to fetch the IESG Telechat Agenda as a JSON object 
    (agenda.json). 

  * Changesets [4720], [4706], and [4705] from adam@nostrum.com: 
    Adding self-management page for user profile information 

  * Changeset [4704] from suresh.krishnan@ericsson.com: 

    - When the state changes from whatever to Publication Requested, the 
      regular state change mail will go out.

    - The regular state change mail will be sent to the authors and the wg 
      chairs (this is the current behavior).

    - Now, in addition to this regular state change mail, another mail will 
      be sent with the title 'Publication has been requested for draft 
      <draft-name>' and this mail will be sent to the AD responsible for the WG. 
      I considered sending the mail to both the ADs but decided not to bother the 
      other AD :-).  

  * Changeset [4701] from rjsparks@nostrum.com: 
    Moved the prefix for the URI to use for rfcdiff into settings.py.
    Fixes bug #808 

 -- Henrik Levkowetz <henrik@levkowetz.com>  30 Jul 2012 23:54:19 +0200

ietfdb (4.32) ietf; urgency=medium

  This is a feature release that provides support for a new document type,
  Conflict Review documents (conflrev-\*.txt).

  From rjsparks@nostrum.com:

  * Adds a new document type for conflict reviews, with a ballot for the IESG
    5742 response to a review request

  * Integrated the new document type into the iESG agenda views (including RSS
    feeds)

  * Removed the Edit and Add buttons from the document main view.

  * Replaced Add with actions appropriate for the document type, such as
    "Begin IESG Processing" or "Begin IETF Conflict Review", and made most data
    directly editable on the document's main page, depending on access
    permissions.

  * Removed a manual editing step that the secretariat had to perform when
    sending conflict review messages. The view now composes the message
    correctly given the stream.

  * Added a pencil icon motif to differentiate fields that are editable.

  * Generalized several views and helper functions to use Document instead of
    (e.g.) IdWrapper

  * Generalized reading documents from the repository

  * Added a way to get from IdWrapper to the underlying Document to facilitate
    migrating way from the Wrapper classes

  * Added many helpers to Document to assist with migrating off IdWrapper

  * Minor fixes and other changes

    - Fixes to document main view to avoid (silent) template failures. 

    - Began removing some of the code that is no longer reachable post-migration

    - Corrected the behavior of the undefer code and added test cases for it

    - Improved initial population of notification lists and added the ability
      to regenerate the initial list

  * Made the test code that scans for template coverage more robust.

  Deployment notes:
    * new setting: CONFLICT_REVIEW_PATH. The associated directory will need to be created

 -- Henrik Levkowetz <henrik@levkowetz.com>  28 Jul 2012 18:29:34 +0200

ietfdb (4.31) ietf; urgency=medium

  This is primarily a bugfix-release, catching a lot of issues related to the
  most recent few releases.  

  A few features have also been included, liste first:

  * Added support for IRTF liaisons.

  * Improved I-D submission author extraction code, adding support for 
    extraction of affiliation, improved date format extraction, support
    for additional (unusual) name abbreviation patterns, and more.

  Bugfixes.  Not all fixes are mentioned here; for a complete list please see
  the commitlog.

  * Fixed a language typo in the registration confirmation page.

  * Tweaked the community tracker notification email.

  * Changed and tweaked various I-D submission emails in order to 1) make it 
    less likely that they would be classified as spam (better ratio of English 
    text to hash urls) and 2) provide better consistency in formatting of 
    key/value information.

  * From adam@nostrum.com: Fixed an URL in the agenda.csv file which hadn't 
    been updated to match current naming conventions and code.

  * Added new RFC-Editor state tag 'AUTH48-DONE' to the rfc-ed-queue mirror 
    script.

  * Tweaked the meeting materials list to avoid duplicate rows for WGs with 
    more than one slot, as long as the materials list is the same (which is the 
    only thing supported by other parts of the system at this time).

  * Applied ballot popup patch from olau@iola.dk.

  * Made links to other versions available also for expired documents.

  * Changed community I-D tracking rule update frequency to every hour.

  * Rewrote the view and template code for the meeting materials list, 
    which was showing nothing.  Better to do the rewrite for the new models 
    than trying to dig into why the proxy models doesn't work any more.

  * Fixed id_abstracts to include drafts assigned directly to areas, not 
    only individual and WG drafts.

  * Fixed 1wg-charters.txt (and friends) to not list the areas as if they were 
    WGs.

  * Updated utils/draft.py and modified the submit app code accordingly.

  * Merged in [4604] from adam@nostrum.com, which fixes problems with the 
    html agenda code related to the schema transition.

  * Ballot ids are limited to integers, rather than being descriptive as 
    intended at one point.  Adjusted the url regexes accordingly.  Patch from 
    olau@iola.dk.

  * Introduced a line break to clean up the state display for tracked drafts 
    a bit.

  * Make the link to the search form more prominent in the community list 
    explicitly added documents page.

  * Sorted WGs in the community rules drop-down list by acronym rather than 
    WG name.

  * Provided a more comprehensive document state indication.  May need 
    further refinement.

  * Tweaked the community tracker links in the lefthand menubar to avoid 
    line breaking for the WG documents link visible to WG chairs.

  * Enabled the check for existing account, disabled when we started using 
    self-service http password reset, but hadn't started creating accounts yet. 

  * Refactored the two confirm*() methods in ietfauth/views.py; they need the 
    same processing, only the templates to use differ.

  * Fixed the back-link on personal list email subscription confirmation page -- 
    it just lead to the confirmation page itself, now leads to read-only list 
    view.

  * When logged in as secretariat, at /iesg/agenda/ or 
    /iesg/agenda/documents/, and clicking on the position matrix for a 
    document, the overlay window would give a code 500 error, because of a 
    missing ballot id in the templates' url lookup.  Fix this by providing the 
    ballot id.

 -- Henrik Levkowetz <henrik@levkowetz.com>  28 Jul 2012 01:51:26 +0200

ietfdb (4.30) ietf; urgency=medium

  **Community Document Tracking Support**

  This is a feature release which provides the community document tracking
  functionality defined in RFC 6293.

  * Merged community tracking branch from esanchez@yaco.es, 
    r3175-3679,3713-3830.

  Some additional fixes and smaller upgrades have also been included, as
  follows:

  From esanchez@yaco.es:

  * Patch to add a new IETF liaison-sending entity "IESG and IAB".

  From olau@iola.dk:

  * Small patch to avoid constant 500 traceback when someone tries to push an
    invalid cookie.

  From henrik@levkowetz.com:

  * Fix a bug which made the community tracking code crash when search 
    results would show an old RFC without an associated draft.

  * Tweak the menubar listing of community tracking to show when login is 
    needed, some other text tweaks, and fitting the I-D tracking links under 
    Drafts and RFCs where they seem to belon.g

  * Minor cleanup of test_runner.py. Added guards against settings which 
    can make tests inexplicably fail.  Updated check to avoid running tests on 
    production server.

  * Remove old non-functional "management issues" link from IESG agenda 
    section 6 title.

  * Add a way to reach charter urls given a wg name rather than the charter 
    document name.

  * Add some help for chairs which fuss about not being able to clearly see 
    that they need to be logged in in order to handle approvals.

  * Behave slightly more gracefully if a submission has already been moved 
    into place, and we are asked to do it again.

  * Disable the reference-to/referenced-by rules of the community app;
    they will only produce hits after we populate the document relationship
    table with reference information.

  * Simplify "document by WG" display name code.

  * Correct typo in community draft tracking subscription confirmation 
    email.

  * Changed the group link on the personal doc list page to use the group 
    acronym instead of whole name, and made the acronym a link to the wg 
    documents page.

  * Tweaked the display of explicitly added documents (saying "explicitly" 
    rather than "manually", and including the active/expired/rfc state of the 
    document.

  * When adding a rule for I-Ds, only apply the selection to active I-Ds,
    not those which are expired or published.

  * Changes to the rule specifications for document tracking lists: 
    Simplify the filter rules, show acronym in wg and area selection lists, 
    list only ADs of active areas.

  * Fixups to the merged code, to match the code refactoring done to trunk
    after the split off of the community development branch.

  * Removed the grep based searches in utils.py; they are too costly.  If 
    tracing lists based on word search is needed, another implementation must 
    be found.

  * Other minor cleanup.

 -- Henrik Levkowetz <henrik@levkowetz.com>  03 Jul 2012 17:01:08 +0200

ietfdb (4.21) ietf; urgency=medium

  This is a bugfix release for the charter release (4.20) with some
  extra changes which were pending: Updated via-rfc-editor handling,
  better /meeting/requests page, added WG document approval page.

  From olau@iola.dk:  

  * Add approval/pre-approval page for Secretariat and WG Chairs, with
    subpages for adding and canceling pre-approvals and a set of
    migrations for replacing the old IdApprovedDetail with a slightly less
    confusing Preapproval model.

  * Add listing of recently approved drafts to approval page by request
    from Barry Leiba.

  * Replace get_profile() hack with a test on the user instead, this
    also makes the ballot icon more robust against users without profiles
    (which shouldn't happen, but apparently we sometimes get one which
    results in a crash rather than something more graceful)

  * Give the incoming name to the top renderer so the links are internally
    consistent, this is needed because we still have different views for
    /doc/rfcXXXX/ and /doc/draft-foo-bar/

  * Fix regexp fix - [.-_] does not mean "dot or dash or underscore", it
    means all characters between dot and underscore

  * Include _ in allowed document name regexp, we currently have 7 drafts
    with _ in the database despite it not being valid - they can be found
    with:
    select name from doc_document where name like '%\_%' and type_id = "draft";

  * Fix flow of approval of charters/announcement of the WG action based
    on feedback from Cindy Morgan, now there's a link on the approval page
    to go to the edit page which sends you back upon saving, and the edit
    page doesn't provide a button to send the announcement since you
    should do that on the approve page (instead it provides a link).

  * Include current milestones in charter action/review announcements,
    fixes issue #835.

  * Add CC for group mailing list in action/review emails, fixes issue #837.

  * Fix link to charter .txt file on agenda page

  * Apparently, CHARTER_TXT_URL http://www.ietf.org/charters/ is really
    http://www.ietf.org/charter/, fix this in the settings.py file

  * Replace get_profile() hack with a test on the user instead, this
    also makes the ballot icon more robust against users without profiles
    (which shouldn't happen, but apparently we sometimes get one which
    results in a crash rather than something more graceful)

  * Give the incoming name to the top renderer so the links are internally
    consistent, this is needed because we still have different views for
    /doc/rfcXXXX/ and /doc/draft-foo-bar/

  * Fix regexp fix - [.-_] does not mean "dot or dash or underscore", it
    means all characters between dot and underscore

  * Include _ in allowed document name regexp, we currently have 7 drafts
    with _ in the database despite it not being valid - they can be found
    with:
    select name from doc_document where name like '%\_%' and type_id = "draft";

  * Fix flow of approval of charters/announcement of the WG action based
    on feedback from Cindy Morgan, now there's a link on the approval page
    to go to the edit page which sends you back upon saving, and the edit
    page doesn't provide a button to send the announcement since you
    should do that on the approve page (instead it provides a link).

  * Include current milestones in charter action/review announcements,
    fixes issue #835.

  * Add CC for group mailing list in action/review emails, fixes issue #837.

  * Fix link to charter .txt file on agenda page

  From rjsparks@nostrum.com:

  * Expose how many pages each document contains on the docs on future
    telechats page.  Fixes bug #828

  * Replaced the concept of a tag (via-rfc) identifying ise or irtf document
    (previously the idinternal.via_rfc_editor boolean) with looking at the
    document's stream.  Removed the stream editing form - that functionality
    is on the edit info form.  Put the old-ADs back into the list of choices
    when editing a document's info.  This (re) fixes bug #749

  * Fixed a bug in determining if a document is on the agenda, leftover
    from transition to new schema.

  From adam@nostrum.com:

  * Fix to the requests data page:

     - uses native schema for much greater efficiency

     - Uses meeting ID properly, so it can find future meetings
       even if their ID does not match the meeting number

     - Dramatic improvements to layout

  From henrik@levkowetz.com:

  * Try to not use explicit .html extensions in the urls.  Redirect from 
    those to .html-less urls.

  * Added a new field 'short' to Session, to help produce file names for 
    agendas, minutes and slides for groups with different named session, such 
    as for instance 'edu'.  Generating distinct filenames directly from the 
    name field gives too long names.

  * Quick fix for extensionless get_absolute_url().  XXX Fixme: needs 
    bigger refactoring.

  * Quick fix for crash when going to /wg/imapmove/charter/.  I'm not happy 
    about the 'charter-ietf-' constant which now appears several places in the 
    code; we need settings which defines the correct name pattern for different 
    document types (or a table or table column, maybe).  But this hopefully 
    will make it possible to continue processing proposed WGs ...

  * Added missing '{{' before 'submission.filename' in draft announcement 
    email templates.

  * Other minor fixes

 -- Henrik Levkowetz <henrik@levkowetz.com>  11 Jun 2012 18:40:14 +0200

ietfdb (4.20) ietf; urgency=medium

  **WG Charter Management**

  This release introduces major new functionality for managing WG charters
  as documents.  A large number of related and unrelated fixes has also been
  included, an almost complete list is available below, latest first:

  * Added a debug utility module on the same level as south,html5lib etc.

  * Don't try to call get_profile() on a user if the method isn't available.

  * Merged in fixes from Ole, from branch/charter:r4382-4407, and some 
    changes from Henrik (removing the use of pos.blocked in views_ballot.py, 
    and setting a ballot id in idrfc/testsREDESIGN.py) to make 
    idrfc.EditPositionTestCase succeed.

  * Don't include interim meetings in those considered for the default 
    meeting number for the '/meeting/' url.

  * Tweaked the error messages for acronym collisions in the create-wg form.

  * Added quotes around the WG name in the state change text, for better 
    readability.

  * Applied a fix to missing nomcom chair in [4384] instead of [4385].

  * Made arguments to url help_charter_states match the definition in 
    ietf/idrfc/urls.py.

  * Fixed a bug in picking up blocking text (patch provided by olau@iola.dk).

  * Added a parameter to make the commitlog script useful for other branches 
    than the current.

  * Catch exception which is raised if a nomcom NN group has been created, 
    but no nomcom chair has been announced and added yet.

  Merged in [4364] from rjsparks@nostrum.com:

  * Expose how many pages each document contains on the docs on future 
    telechats page. Fixes bug #828 

  Merged in fixes to the charter branch (r4345 - r4353 and r4354 - r4381)
  from olau@iola.dk.:

  * Check and sanitize text file upload (code is factored out in a new
    helper so it can be reused elsewhere in the future).

  * Move charter state help to /doc/help/state/charter/.

  * Say "generate" rather than "edit" when there's no text in the boxes

  * Don't show diff box if there's only 1 entry (and itself).

  * Say "Charter" rather than "Recharter" on the charter /doc/ page if the 
    group is proposed or a BoF.

  * Treat BoF as proposed WG.

  * s/WG/group/ in acronym clash error message.

  * Add a star to the required fields.

  * Fix test broken by previous commit.

  * Fix buggy new group acronym check.

  * Amend previous commit to generate writeups on entering internal review 
    instead.

  * Generate action and review text automatically.

  * Make phrasing sligtly more clear.

  * Make it move obvious what the change state view actually does by
    rephrasing the form.

  * Fix some phrasing bugs.

  * Fix terminology confusion and say "send ballot" rather than "issue
    ballot" to clear up that it is not actually created.

  * Fix wording of send ballot comment, the actual text was still specific
    to drafts.

  * Don't show edit button for snapshots.

  * Fix bug in hiding "external review needed" checkbox.

  * Create charters in state notrev instead of intrev, as a side effect
    this fixes a problem with comments not being saved when starting
    review on charter.

  * Use revision numbers to identify ballots and put a warning on closed 
    ballots.

  * Fix bug in event description when copying over the final approved
    charter file.

  * Offer text from latest approved revision in case there's no initial text
    for a recharter submit form.

  * Reverse direction of revisions on charter /doc/ page to match 
    tools.ietf.org/html/draft-\*.

  * Change max acronym length to 10 instead of 8

  Additional fixes from Henrik:

  * Fixed the signature of DocEventAdmin method (needs explicit 'self' parameter)

  * Added various fixes and correction of merge errors.

  * Merged in fixes to the migration from olau@iola.dk.

  * Merged in the charter branch from olau@iola.dk.

  From Adam:

  * Added a fix for empty .ics files

 -- Henrik Levkowetz <henrik@levkowetz.com>  11 Jun 2012 18:40:14 +0200

ietfdb (4.02) ietf; urgency=medium

  Merged [4288] from rjsparks@nostrum.com: 

  * Made several changes to correctly use the new (RFC6410)  "Internet Standard" level
    in email that gets sent at various stages in the handling of documents.  Fixes bug 821.

  Merged branch/iola/migration-fixes@4319, containing these changesets from olau@iola.dk:

  * [4319]: Only query for regular IETF meetings when calculating cut off dates
    (reported by Ryan Cross).

  * [4311]: Fix bug in liaison form that prevents Secretariat users from posting
    statements on behalf of SDO liaison managers in some cases.

  * [4310]: Fix problem with direct replyto path in liaison form not using role
    emails (reported by Stephanie McCammon).

  * [4307]: Fix missing return in liaison proxy, fixes problem with from email
    on https://datatracker.ietf.org/liaison/1154/ as reported by Stephanie
    McCammon.

  * [4260]: Move note about IANA scraping messages, apparently I managed to
    put it in the wrong place (they're of course scraping draft approvals, not
    the ballot announcements).

  * [4253]: Move last call announcement text to last call event rather than
    stuffing it inside the state change event.

  * [4252]: Declare coding system to work around annoying problem when the
    date produced by SVN is localized.

 -- Henrik Levkowetz <henrik@levkowetz.com>  26 Apr 2012 22:27:36 +0200

ietfdb (4.01) ietf; urgency=medium

  **IETF 83 Code Sprint**

  * Made various fixes to test cases in order to support the new code and
    database setup.

  * Merged [4265] from adam@nostrum.com: 
    Migrated HTML agenda to new data model. This has several improvements, 
    as well, such as clearer marking of BOFs. 

  * Merged [4226] from adam@nostrum.com: 
    Updated agenda.ics to use new data model. Also, tons more efficient. 
    Additionally, the description field now includes links to relevant meeting 
    materials. 

  * Merged [4224] from york@isoc.org: 
    Related to #816 - Modified base.html so that the logo is clickable as 
    well as the text. 

  * Merged [4223] from york@isoc.org: 
    Related to #817 - added a 401.html page for responding to 
    authentication failures 

  * Merged [4212] from rcross@amsl.com: 
    Ticket #673 Add ability to clear ballot 

  * Merged [4214] from york@isoc.org: 
    Fixes #816 - Turns datatracker.ietf.org into a clickable link 

  * Merged [4213] from suresh.krishnan@ericsson.com: 
    Making doc writeup available as read-only text to regular users who are 
    not shepherd/AD/Secretariat etc. 
    Adding a link for viewing a writeup to the main datatracker page.  

  * Merged [4205] from shane@time-travellers.org: 
    Added a link to the datatracker main document page when we announce a 
    new document 

  * Merged [4207] from adam@nostrum.com: 
    Ported week view over to use the new meeting data model 

  * Merged [4204] from shane@time-travellers.org: 
    Adds a link to the datatracker main document page in the new-version 
    notification messages 

  * Added a fix to catch summer/wintertime changes.

 -- Henrik Levkowetz <henrik@levkowetz.com>  22 Apr 2012 20:38:00 +0200

ietfdb (4.00) ietf; urgency=medium

  **New Database Schema**

  * This is the official release of the 4.00 series releases, which expects
    the redesigned database schema, and thus has an all new models layer.

    For a full changelog, please go tot he commit log for the iola/conversion
    branch, web accessible at:
    http://trac.tools.ietf.org/tools/ietfdb/log/branch/iola/conversion/

 -- Henrik Levkowetz <henrik@levkowetz.com>  24 Mar 2012 10:33:43 +0100

ietfdb (3.64) ietf; urgency=medium

  **IETF 82 Code Sprint**

  This release contains the features and bugfixes from the IETF-82
  code sprint.

  From adam@nostrum.com: 

  * Fixed a bug in is_authorized_in_draft_stream: would never return true 
    for WG chairs.

  From lars.eggert@nokia.com: 

  * Automatically set the recipients of RFC5742 review emails sent by the 
    IESG based on the RFC Stream. 

  * Fixed a typo. 

  From rjsparks@nostrum.com: 

  * Marked area directors who are not on the current IESG with square 
    brackets on the discuss summary page.  Fixes bug 666.

  * Changed the AD status page to group documents by current state.
    Fixes bug 742.

  * Changed the edit info form to allow (force) setting the stream when 
    editing or adding a document to the iesg tracker.  Fixes bug 743.

  From henrik@levkowetz.com:

  * Added a colour indication to the Area/WG overview page showing 
    responsible AD for each WG.  Also some html reformatting for better 
    readability.

  * Be more specific about the submission startup time on meeting Monday.  
    Indicate time and timezone for more cases on the submission form.

  * Various fixes to test fixtures and admin pages.

 -- Henrik Levkowetz <henrik@levkowetz.com>  16 Nov 2011 07:08:11 +0100

ietfdb (3.63) ietf; urgency=medium

  This is a feature release which adds support for Alternate Stream draft
  tracking, similar to the WG Chair draft tracking.  Some bug fixes have
  also been included.

  From esanchez@yaco.es:

  * Merged /branch/yaco/wgchairs.r3120:r3154-3558 from esanchez@yaco.es.  
    This adds support for alternate streams document tracking, similar to the 
    WG chairs tracking functionality.

  * Merged /branch/yaco/wgchairs.r3120/static/media:r3152-3153.  Do not 
    show the draft addoption form when editing stream. See #671.

  * Merged /branch/yaco/wgchairs.r3120/static/media:r3122-3152.  Do no try 
    to create an already existing model. See #671.

  From henrik@levkowetz.com:  

  * Improved handling of a particular IO Error that sometimes occur during 
    draft submission.

  * Removed some of the bling and unnecessary information from the document 
    WG state display.

  * Aligned the workflow admin display lists with the current model fields.

 -- Henrik Levkowetz <henrik@levkowetz.com>  03 Nov 2011 13:50:14 +0100

ietfdb (3.62) ietf; urgency=medium

  This is a minor bugfix release in preparation for merging in the Alternate
  Streams draft tracker enhancements.

  * Fixed a problem where server IO failures could be silently discarded
    resulting in an ID submission upload being quietly ignored, returning
    the upload form anew.

  * Changed to a more helpful text on the 500 server error page.

  * Tweaked various submission cutoff message strings.  Also made the cut-off
    messages use the actual hour defined in settings, rather than a hardcoded
    string saying '5 PM (PT)' ...

  * Cleaned up the display of 'Sign In' and version number when rendering the 
    base template without context (which is the case for the 500 server error 
    template).

  * Fixed a wrong settings variable (introduced when merging code from the 
    yaco idsubmit branch for v3.61).  Refine the error report for failures to 
    move files from staging to repository.

  * Refined the admin list page for submission details a bit.

  * Change the 'Sign In' link to be https, preventing clear-text passwords
    over the wire (given the current use of basic http auth, rather than
    diget auth, on the web server).

  * Added a 'Report a bug' link in the lefthand column, below the version
    indication.

  * The cutoff hour setting is in UTC, not PST or PDT.  Adjusted 
    accordingly in the settings file.

 -- Henrik Levkowetz <henrik@levkowetz.com>  26 Oct 2011 15:55:18 +0200

ietfdb (3.61) ietf; urgency=medium

  From esanchez@yaco.es: 

  * Check for missed files on staging area. Fixes #707 

  * Validate title extraction. Fixes #706 

  From henrik@levkowetz.com:

  * Improved extraction of draft title during submission.

  * Fixed a problem where the scan for an author's email address was
    prematurely terminated because another author's affiliation also was part
    of this author's address information.

  * Changed the length of the username field from 30 to 64 characters,
    to avoid datatracker login problems for people with long email
    addresses.

  * Speeded up things and increased reliability during submission author
    information extraction by looking for a recognizable author's address
    section, and not searching for author names earlier in the document if
    found.  Fixes a known bad case where the author name occurred in the
    middle of a draft.

  * Added handling for the case where an author name is followed by 
    parentheses which are not closed on the same line.

  * Added some columns to the admin interface for WgProceedingsActivities.
    Fixed breakage in the feeds code caused by table entries for this model
    containing meeting FKs which don't have an associated meeting entry.  The
    base problem of broken table entries remain, though.

 -- Henrik Levkowetz <henrik@levkowetz.com>  19 Oct 2011 15:46:27 +0200

ietfdb (3.60) ietf; urgency=medium

  **Self-Service Password Management**

  * Added basic automated apache password management functionality.

 -- Henrik Levkowetz <henrik@levkowetz.com>  26 Aug 2011 21:43:47 +0200

ietfdb (3.59) ietf; urgency=medium

  * Merged [3331] from rjsparks@nostrum.com: 
    Make it more likely that one will issue a ballot when it makes sense 
    to do so.  Fixes bug 703. 
  * From smccammon@amsl.com:
    Updated field help for liaison statements, to match the current form.

 -- Henrik Levkowetz <henrik@levkowetz.com>  19 Aug 2011 00:11:00 +0200

ietfdb (3.58) ietf; urgency=medium

  * Merged [3272] from rjsparks@nostrum.com:
    Fixed errors with the edit state link, the new ability to set an initial
    state when adding a document, the status date on the edit state form, and
    brought several tests up to date.  Fixes issues 695, 696, 697, and 698.

 -- Henrik Levkowetz <henrik@levkowetz.com>  12 Aug 2011 22:42:14 +0200

ietfdb (3.57) ietf; urgency=medium

  **IETF 81 Code Sprint**

  * Merged [3254] from suresh.krishnan@ericsson.com: 
    Added a link to the ARO search including the IESG lists 

  * Merged [3249] from suresh.krishnan@ericsson.com: 
    Allowing adding documents in AD is watching state in addition to the 
    default Publication Requested state. Fixes issue #684 

  * Merged [3245] from rjsparks@nostrum.com: 
    Removes the "Change State" button and makes changing state a link 
    further up on the form.  This fixes bug 683, but creates a new one that
    we will need to address later - editing the state of an RFC that is going
    through the iesg process again (for going to draft in place for example)
    will need followup once the changes to get an rfc into that state easily
    are made.

  * Merged [3246] from adam@nostrum.com: 
    Adding page to allow viewing meeting slot requests as they are made. 
    There's no link to these yet. 

  * Merged [3240] from adam@nostrum.com: 
    Added csv output format for meeting agenda information, to assist
    external applications (e.g., Android app, iPhone app) in harvesting
    and displaying meeting agenda info. 

  * Merged [3182] from adam@nostrum.com: 
    Fix for bug 677 -- no longer assume that code sprint will always be 
    scheduled. 

  * Merged [3181] from adam@nostrum.com: 
    Fix for bug 676 

  * Merged [3166] from rjsparks@nostrum.com: 
    Simple changes to EditInfoForm field initialization 

  * Various bugfixes and admin enhancements from henrik@levkowetz.com:

    - Some enhancements to the admin for IDInternal

    - Fix a bug where the wrong text was shown for IPR declarations which 
      specified that licensing terms would be announced later (option d).

    - Fix a bug where the plenary entries in the html agenda didn't have 
      links to the room map.

    - Enhance the admin list page for Stream a bit.

    - Add some debug output utility functions.

    - Tweak the admin list for WgMeetingSession to show wg acronym instead of 
      group id.

 -- Henrik Levkowetz <henrik@levkowetz.com>  27 Jul 2011 23:13:30 +0200

ietfdb (3.56) ietf; urgency=medium

  This is a minor release with various bugfixes and minor admin enhancements.
  The most long-term noticable enhancement is added support for app- and
  module-specific admin email addresses which will receive stack traces on
  uncaught exceptions.

  Details:

  * Change the cutoff-settings to match what's desired.  Move CUTOFF_HOUR 
    to settings.  Change the submission page template to not show the form 
    during the down period.

  * Set up app-specific email addresses so the respective developers will 
    be notified about failures in code they have worked with.  Make django
    pick up app- and module-specific admin email addresses for stack trace
    messages.

  * Make admin form lists work a bit better with non-ascii content in 
    non-unicode tables.

  * Admin support for StreamedID, so one can look at it.

  * Get person info without limiting hits to iesglogins.  WG Chairs will have 
    logins but not IESG logins ...

  * Tweak ipr search to only look for IPRs in the appropriate state.

  * Tweak PersonOrOrgName.email() to handle non-ascii names a bit better.

  * Don't let the linewrapping algorithm churn infinitely.

  * Some IPR admin tweaks.  Provide a __unicode__ method and show a contact 
    even if multiple have been set for an IPR declaration.

 -- Henrik Levkowetz <henrik@levkowetz.com>  23 Jul 2011 15:27:36 +0200

ietfdb (3.55) ietf; urgency=medium

  This release adds the wgchair tracker functionality, and also contains
  some bugfixes.

  Feature:

  * Merged in branch branch/yaco/wgchairs from esanchez@yaco.es.  This 
    provides the WG Chair Tracker functionality.

  Fixes:

  * Changed the default initial state for a WG document to 'WG Document', 
    instead of 'Call for Adoption ...'.

  * Labelled the link to edit a document's WG state 'Change WG State', in 
    order to not confuse it with changing the IESG state.

  * Reordered the state information for a document into related groups, 
    separated by rulers.  Add some indentation to the template code to make it 
    a bit easier to read in some places.

  * Made the WG a draft belongs to into a link to the WG page.

  * Corrected an inappropriate use of the idsubmission repository location 
    instead of the ID repository.  Reported by Robert Sparks.

  * Correct the text (add an omitted word 'press').  Reported by Tomas Narten.

  * Fixed a problem with author extraction when a given name is the same as 
    the surname.

  * Only try to return a shepherd for a document if one has been assigned 
    to the document.

  * Merged in changes from esanchez@yaco.es, changeset [3067].  Makes 
    Liaisons' Date field editable.

  * Added a bit of admin goodness for MeetingSessions.

 -- Henrik Levkowetz <henrik@levkowetz.com>  24 May 2011 22:58:44 +0200

ietfdb (3.54) ietf; urgency=medium

  From rjsparks@nostrum.com:

  * Restructured the position editing page to better integrate the defer button.
    Fixes bug #659

  * Copied the jquery-1.5.1.min.js library into /static/js/lib (from
    /static/js) because that's where the main document template was looking for
    it. There have probably been several problems since the change that left
    this dangling that showed up as things not behaving, but not as errors. The
    one that clued me in was the discuss text-box not being hidden when the
    position wasn't DISCUSS.  They should all behave better now.

  * Added a django form validator to the discuss text field to not allow
    actions when the position is Discuss, but the discuss-text is empty.  2 and
    3 together fix bug #660

  * Added logic to the undefer fuction to put the document back on the
    previous telechat (if that hasn't already passed). That is, date1 from
    telechat dates, and not date2.  Fixes bug #661

  * Changed the last_call_announcement generation function's template to
    include the abstracts from the document sets (which with modern usage means
    the abstract of the document) reflecting the IESGs decision of a few months
    back.  Fixes bug #662

  * Removed the old tracker link from the document's main page. Fixes bug #663 

  From henrik@levkowetz.com:

  * Handle email recipient lists which contain 'None' elements correctly.
    Fixes an instance of failure to send notifications about a submitted
    draft where an author email address was missing.

  * Add an admin interface to the I-D submission app, to make it easier to
    handle manual tasks related to submissions.

  * Add the submission hash to initial-revision-approval emails to WG chairs,
    so their approvals will take effect.  Fixes a problem where WG Chair
    approvals of WG draft submissions didn't take effect

  * Apply 'autoescape off' to all email templates which don'have it but 
    might need it, to avoid html entity escapes in emails.  Fixes another
    set of instances where this potentially could occur.

  * We cannot currently assume that BallotInfo entries matching 
    IDInternal.ballot exists. It seems ballot may be set to a value before the 
    actual ballot entry is created, possibly by some old secretariat tool. Very 
    broken, but we need to survive it :-(  Fixes a crash in the admin
    interface.

  * Reordered entries of submission forms and notification emails to be
    more appropriate.

  * Changed wrapping of formatted text to expand tabs during text wrapping, in
    order to get consistent indentation handling.

 -- Henrik Levkowetz <henrik@levkowetz.com>  10 May 2011 14:57:09 +0200

ietfdb (3.53) ietf; urgency=medium

  From esanches@yaco.es:

  * Do not allow cancellation of submissions with GET requests, and Ensure
    that 'get full url', 'approve' and 'force' views are called via POST
    request. Insert a button to perform the last step of autopost via POST
    request. Fixes #650  

  * Do not assume that the two_pages_field field is not None. Fixes #651

  * Allow creation dates that are 3 days after or 3 days before the current
    date. Fixes #652

  * Change substate from Revised ID Needed to AD Followup if needed. Fixes #654

  * Fix expected revision for expired drafts. Fixes #656

  * Send announcements when posting new version of a draft. Fixes #649

  From henrik@levkowetz.com:

  * Previous IPR information in last call announcements could be 
    incomplete.  Use a better search for IPR declarations related to a 
    document, and include the IPR information in the last call preview.
    Fixes an AD request and a request from the IESG

  * When extracting meta-information from drafts, it is required that some 
    data reside on the first page.  Split unpaginated drafts into chunks so we 
    can adhere better to this.  Fixes a bug where submission filename was
    picked up (incorrectly) later in a document.

  * Wrap long lines in the 'save and send email' view of AD ballot comments 
    and discusses.  Fixes a request from the IESG

  * Give development and test deployment a /robots.txt which doesn't permit 
    robots.  Avoids indexing of development servers by web spiders.

 -- Henrik Levkowetz <henrik@levkowetz.com>  04 May 2011 00:37:33 +0200

ietfdb (3.52) ietf; urgency=medium

  * A very small bugfix release, providing the ability for secretariat staff
    to post liaisons on behalf of others, and when doing so assuming the
    powers of the liaison manager they are posting for.  This contains the
    changes that should have been part of 3.51, but wasn't...

 -- Henrik Levkowetz <henrik@levkowetz.com>  18 Apr 2011 12:27:29 +0200

ietfdb (3.51) ietf; urgency=medium

  * A very small bugfix release, providing the ability for secretariat staff
    to post liaisons on behalf of others, and when doing so assuming the
    powers of the liaison manager they are posting for.

 -- Henrik Levkowetz <henrik@levkowetz.com>  13 Apr 2011 16:20:21 +0200

ietfdb (3.50) ietf; urgency=medium

  **Submission Tool Rewrite**

  * For this release, the idsubmit port from esanchez@yaco.es has been merged
    in, which constitute substantial added functionality.  This integrates the
    draft upload functionality with the python/django datatracker; it improves
    draft submission handling and security, and fixes problems with database
    breakage and inconsistency caused by the old implementation.  With this also
    comes a major improvement of author extraction from draft text, provided by
    the ietf/utils/draft.py module from henrik@levkowetz.com.

  * Deployment note:  Once the new release has been placed in its deployment
    directory, and the correct settings_local.py has been copied in, a command
    needs to be run in order to update the database tables to work with the new
    code.  In the directory containing the ietf/ directory, run this command:

        $ PYTHONPATH=$PWD ietf/manage.py migrate

    The output should be as follows::

	Running migrations for liaisons:
	- Nothing to migrate.
	Running migrations for submit:
	 - Migrating forwards to 0003_add_extra_name_fields.
	 > submit: 0001_initial
	 > submit: 0002_add_submission_hash
	 > submit: 0003_add_extra_name_fields
	 - Loading initial data for submit.

    Once this is done, the regular deployment routine should be continued.

 -- Henrik Levkowetz <henrik@levkowetz.com>  12 Apr 2011 18:23:44 +0200

ietfdb (3.16) ietf; urgency=medium

  This is a minor bugfix release.

  * Merged in [3029] from esanchez@yaco.es.  Make the Cc: field of new 
    liaisons editable.

  * Set the 'person' field of the LegacyLiaisonUser in the admin interface 
    to be handled as a raw id field with search button, rather than as a choice 
    list.  This should make admin updates involving the LegacyLiaisonUser table
    much speedier.

  * Added a new fix for empty query strings to /meeting/agenda/agenda.ics.  
    (The QUERY_STRING in request.META is not set the same way under the builtin
    server as under Apache; under apache there will be a QUERY_STRING entry wich
    is explicitly Null.  Handles this.)

  * Included a javascript change not previsously merged in from branch/yaco/liaison/.

 -- Henrik Levkowetz <henrik@levkowetz.com>  07 Apr 2011 17:15:41 +0200

ietfdb (3.15) ietf; urgency=medium

  This is a minor bugfix release.

  * Fix the weekday-dependent plenary information in the materials list.

  * In urls under /wg/, only accept wgnames which adhere to the constraints
    currently practiced.  (Before this change, the URL patterns would match wg
    names containing non-ascii characters, which later would bomb due to mix of
    collations when accessing the database. Might as well return a 404 at once
    instead).

  * Don't return 500 if the /meeting/agenda/agenda.ics URL is without query part.

  * Get rid of a print statement used during testing.

 -- Henrik Levkowetz <henrik@levkowetz.com>  06 Apr 2011 15:17:11 +0200

ietfdb (3.14) ietf; urgency=medium

  **IETF 80 Code Sprint**

  * From lars.eggert@nokia.com: 
    Update jQuery to 1.5.1 and jQuery UI to 1.8.11.

  * From adam@nostrum.com: 
    On the agenda page, for the custom agenda display, now only displays groups
    that are actually meeting.

  * From lars.eggert@nokia.com: 
    Remove unused images. Convert GIFs to smaller PNGs.
    Optimize all images with http://www.smushit.com/ysmush.it/ 

  * From lars.eggert@nokia.com: 
    Change default vertical alignment of various datatracker tables
    for better readability.

  * From peter.musgrave@magorcorp.com: 
    Fix typo. Fixes #566.

  * From jelte@nlnetlabs.nl: 
    Make search result table headers clickable; clicking will sort on said 
    column, fixes #484.

  * From peter.musgrave@magorcorp.com: 
    Don't show AD/Secretariat links for Last Call etc. if they will 404.
    Fixes #550.

  * From adam@nostrum.com: 
    Meeting boxes now expand to reveal all text when users hover over them.
    Fixes ticket #602. 

  * From kivinen@iki.fi: 
    Added an URL to retrieve a text/plain version of the list of drafts for
    a given WG.  Useful for building WG-speific ePub documents of a WG's
    drafts.

  * From shane@time-travellers.org:
    Updated the JavaScript associated with the search page to 
    control whether the 'search' button is enabled or not. It is
    now enabled if either the main search box has input, or if
    any of the sub-options have input, or both.

  * From rjsparks@nostrum.com: 
    Adds a view of documents currently in IETF Last Call.  Fixes #630.

  * From bmheight@gmail.com:
    Remove explicit URLs in the code, using reverse() and the newly created
    helper function reverse_lazy().  Fixes #628.

  * From rjsparks@nostrum.com: 
    Changed the way ballot discuss/comment texts are displayed to
    put the text from current ADs first, and mark ex-ADs with []
    following the convention on the left bar.  This fixes issue #608 

  * From adam@nostrum.com: 
    Added ical-format agenda.  Fixes issue #601.

  * From peter.musgrave@magorcorp.com: 
    Add IPR column to IESG Telechat Agenda.  Fixes issue #552.

  * From rjsparks@nostrum.com: 
    Add a defer/undefer button to the edit_position dialog.  Fixes issue #627.

  * From kivinen@iki.fi: 
    Changed cookie settings to be valid for 10 years, they used to be valid
    until the end of session.

 -- Henrik Levkowetz <henrik@levkowetz.com>  28 Mar 2011 19:43:25 +0200

ietfdb (3.13) ietf; urgency=medium

  * Provide a full URL to IPR issues in the last call email, rather than just
    the local url path.  Fixes an issue reported by Russ.

  * Tweak the admin interface for WGs and Chairs, adding some useful links 
    to the tabular displays.

  * Add refinements for the liaison admin interface.  Show contact link and 
    coloured Login/User links to show broken entries.

  * Wrap the sdo name query in a try clause to avoid server 500 errors.

  * Only try to populate the liaison user/email list from the from_entity 
    if it's set.

  * Make the document announcement default Cc: somewhat configurable.  
    Remove iab@iab.org (on request).

  * Link to the State help page from the 'State:' label.

  * Don't use '&lt;' and '&gt;' in text/plain email text.

  * Don't permit just any characters in the document name; limit this to 
    characters we currently permit in the names, or which has occurred in 
    posted documents.  Fixes a problem where non-ascii characters were 
    propagated to the database search and caused collation sequence exceptions, 
    instead of giving 404 errors.

  * Remove the To/From/Subject headers from extra headers to prevent 
    duplicate headers.

 -- Henrik Levkowetz <henrik@levkowetz.com>  26 Mar 2011 09:27:14 +0100

ietfdb (3.12) ietf; urgency=medium

  Note: Deploying this release requires a database schema update, see below.

  From esanches@yaco.es:

  * Allow an SDO Liason Manager to send outgoing liaison from any IETF
    Entity to his SDO.

  * Allow the secretariat to send liaisons on behalf of another user.

  * On login, retrieve the person record related to the login from the 
    legacy tables of non IESG logins. Provides the link between login name
    and person listed in the liaison manager table.  Fixes #576.

  * Refined handling of the To: and From: address lists when the Liaison
    Manager is also a WG Chair or AD.

  From henrik@levkowetz.com:

  * Add a clean_whitespace filter in some places to get rid of any newlines 
    embedded in document titles.  Fixes a problem with bad email headers
    in announcements related to documents with newlines embedded in the title.

  * Don't try to send out mail which has no recipients.  Fixes a crash when
    trying to send announcements related to drafts which have an empty
    'email notes to' field.

  * Fix typo in method calls to send email, fixes a crash when submitting
    liaison statements.

  * Renamed 'LiaisonDetail.taken_care' field to 'action_taken'.  
    Miscellaneous associated fixes.  Enhanced liaison-related admin pages.

  Note: Deploying this release requires an additional steps to create
    a new column in a table.  This is done as a South migration
    (see http://south.aeracode.org/ for more info on South):

    # 8<----------
    # First the regular checkout and prepare:

       cd /a/www/ietf-datatracker
       svn co http://svn.tools.ietf.org/svn/tools/ietfdb/tags/3.12
       cp web/ietf/settings_local.py 3.12/ietf/
       cd 3.12

    # Next, apply the migrations:
 
       PYTHONPATH=$PWD ietf/manage.py migrate liaisons

    # Then carry on with the usual actions:

       cd ../
       rm ./web; ln -s 3.12 web
       sudo /etc/init.d/apache restart

    # 8<----------

 -- Henrik Levkowetz <henrik@levkowetz.com>  02 Feb 2011 18:34:58 +0100

ietfdb (3.11) ietf; urgency=medium

  * Fixed a bug in the IPR Search, where searches against the IPR notice
    content would fail (Only try to open a legacy url if it leads to a
    file; not if it leads to a directory).

  * For a new IESG tracker document, only add a history comment about
    previous history if some previous history exists (i.e., if the replaced 
    document also existed in the IESG tracker).

  * Show status of Dead Expired documents appropriately; just 'Expired' is 
    insufficient.

  * Restore, for the secretariat only, the re-scheduling functionality of 
    the /iesg/agenda/documents/ page which was removed in [2366] as the ADs 
    felt that it made the page too busy.

  * Propagate all extra fields on to the final email sending function, not 
    only the Cc and Bcc fields.  Restores previously missing Reply-To: headers.

  * Turn autoescaping off for everything in text/plain email templates.  Fixes
    multiple problems with '<' and '>' in emails showing up as '&lt;' and
    '&gt;', and related problems.

  * The liaison tool is deployed.  Show the links to the new tool.

  * Prevent things from crashing if some of the email fields are null for a 
    liaison.

  * It should be possible to edit the area of a draft even if it's been set 
    before.  Re-enabled the area list box on the document/edit/info/ page.

  * Corrected spelling error in list_display specification for the 
    PersonOrOrgInfo Admin page.

  * Corrected the path to the draft archive in the settings file.

    (Some of the fixes above has been deployed already before this release
    by patching the previous release on the server.)

 -- Henrik Levkowetz <henrik@levkowetz.com>  28 Jan 2011 13:15:40 +0100

ietfdb (3.10) ietf; urgency=medium

  * Fix css for IPR header (status column was included by mistake).  Fixes 
    issue #546.

  * Tweak some GUI strings in the Liaison Manager

  From adam@nostrum.com: 

  * Added week-at-a-time view to agenda page when viewing selected areas 
    and/or groups. If no groups are selected, the week view is hidden, leaving the
    base-level functionality unchanged. 

  From peter.musgrave@magorcorp.com: 

  * 548# Link in IPR column should use an absolute, not relative URL.  This 
    fixes issue #546.

  From kivinen@iki.fi: 

  * Added new setting to the /cookies page which enables always showing
    full document text instead of showing beginning of the document. This 
    fixes issue #551.

  From rjsparks@nostrum.com: 

  * Refined the email sent when an position changes.

 -- Henrik Levkowetz <henrik@levkowetz.com>  07 Dec 2010 21:39:17 +0100

ietfdb (3.09) ietf; urgency=medium

  **IETF 79 Code Sprint**

  From suresh.krishnan@ericsson.com: 

  * Added the last call e-mail event to the draft history page. 

  * Added a search function for drafts on their respective mailing lists.
    Fixes issue #458.

  From adam@nostrum.com: 

  * Added tarfile and pdf-composite links and functionality to download
    working group documents from the agenda page. Fixes #539

  From peter.musgrave@magorcorp.com: 

  * Added column 'IPR' to documnet table for WG docs and by AD docs, and also
    in search results. Fixes issue #497.

  From kivinen@iki.fi: 

  * Make the idea of what is 'soon' and 'new' in the I-D and RFC lists
    configurable.

  From lars.eggert@nokia.com: 

  * Fix for #467: History tab: Avoid HTTP/HTTPS warning for the diff tool form
    submission.

  * Fix for #456: Make it possible for an IESG member to add a comment (for
    the document history) in the 'change document state' dialog

  * Fix for #537: Remove redundant "by" info from doc history text.

  * Fix for #525. Adds more information to the document history tab,
    specifically changes to writeup, announcement and last-call text.

  * Fix for #372. Makes the position editing form display the name of the
    document being edited.

  * Fix for #526 and #530: Change the format of the notification email sent
    out when an AD posts a ballot position on a draft, it by default CCs that
    email to the authors and chairs, and adds some explanatory text to the body
    of those messages. 

  From rjsparks@nostrum.com: 

  * Changed the language used in the last call email to be closer to the
    language the tracker uses when no IPR declarations are found directly on the
    draft. Fixes #506

  * Retained search results on login. Fixes #482.

  * Added filename to the subject of Protocol Action and Document Action email
    messages (and fixed a bug that was preventing CC/BCC from being honored).
    Fixes issue #528.

  From fenner@fenron.net: 

  * Split the /doc/ tabs into separate pages. This fixes #533. (Eventually,
    this will use <link rel=prefetch> to ask the tabs to be prefetched when the
    first tab is loaded, as documented at
    https://developer.mozilla.org/en/Link_prefetching_FAQ, but as there is some
    issues with this which haven't been fully resolved, the prefetch part is not
    part of this release.)

  * Fill in the X-IETF-IDTracker header with the I-D Tracker version number.
    This fixes #513

  * Added support for admin site documentation 

  From henrik@levkowetz.com:

  * Updated IESG Agenda Section 3.3 title

  * Added fix for announcement email multipart bug, in part contributed
    by glen@amsl.com and tony@att.com.

  * Other minor fixes

 -- Henrik Levkowetz <henrik@levkowetz.com>  09 Nov 2010 10:42:13 +0100

ietfdb (3.08) ietf; urgency=medium

  From olau@iola.dk:

  * Ported scripts for expiration of drafts and last-calls, and sending
    scheduled announcements.

    The command-line front-ends are in bin/ as expire-ids, expire-last-calls
    and send-scheduled-mail. The last one already existed with some code, but
    it's not certain it actually worked. The new one accepts the same arguments
    as the Perl script (there's a little bit of help if you run it).

    All three log to syslog.  They need to be started from cron with
    PYTHONPATH=/a/www/ietf-datatracker/web , in the same manner as other
    scripts which use the django models to interact with the database.

 -- Henrik Levkowetz <henrik@levkowetz.com>  27 Oct 2010 13:52:26 +0200

ietfdb (3.07) ietf; urgency=medium

  From esanchez@yaco.es:

  * Merged in Yaco's Liaison Management Tool Port & Rewrite.  Enjoy!

  Note: Deploying this release requires additional steps; to verify
  that liaison related settings in settings.py are correct, and to create
  new tables and update existing tables and table content.  The latter
  is done as South migrations (see http://south.aeracode.org/ for more
  info on the South app).  More extensiive documentation about the actions
  needed are provided in the user manual (doc/LSMT_user_manual.pdf in
  the release).  The brief version follows::

    # 8<----------
    # First the regular checkout and prepare:

       cd /a/www/ietf-datatracker
       svn co http://svn.tools.ietf.org/svn/tools/ietfdb/tags/3.07
       cp web/ietf/settings_local.py 3.07/ietf/
       cd 3.07

    # Verify that the new variables in settings.py are correct; if not,
    # add the correct settings in settings_local.py and inform the release
    # manager of the correct settings so they can be incorporated in the
    # next release.  The variables in question are (as set in the release):
    #
    # # The email address from wich all liaison emails come:
    # LIAISON_UNIVERSAL_FROM = 'Liaison Statement Management Tool <lsmt@' + IETF_DOMAIN + '>'
    #
    # # The filesystem path where the liaison attachments will be saved:
    # LIAISON_ATTACH_PATH = '/a/www/ietf-datatracker/documents/LIAISON/'
    #
    # # The url from where the webserver serves the liaison attachments
    # LIAISON_ATTACH_URL = '/documents/LIAISON/'

    # Next, the changes to the MySQL tables will be done.
    # You can list the table migrations which will be applied if desired,
    # this should list migrations from 0001_... to 0009_... under liaisons:

       PYTHONPATH=$PWD ietf/manage.py migrate --list

    # Apply the migrations:
 
       PYTHONPATH=$PWD ietf/manage.py migrate

    # Add the static/doc location as statically served files to the apache
    # configuration.  Fix line 6 in etc/apache2/vhoosts.d/ietf-datatracker.common
    # to read:
    #  <LocationMatch "^/(?!(cgi-bin|css|documents|error|idst|images|js|media|doc|private)/|robots.txt).*$">
    # (i.e., add '|doc' to the exception list).

    # Then carry on with the usual actions:

       cd ../
       rm ./web; ln -s 3.07 web
       sudo /etc/init.d/apache restart

    # 8<----------

  Once the datatracker is up and running with the new liaison tool in
  place, liaison role assignments have to be done as described in
  the LSMT user manual (in doc/LSMT_user_manual.pdf) page 14, summarized
  by Patrik on the yaco-liaison-tool mailing list:

    1. Add the IAB and IETF chairs, wg chairs, area directors etc as
    apropriate (as described in the document).

    2. Add the liaisons in the IETF assigned and named on the IAB list of
    liaisons.

 -- Henrik Levkowetz <henrik@levkowetz.com>  26 Oct 2010 16:11:24 +0200

ietfdb (3.06) ietf; urgency=medium

  From rjsparks@nostrum.com:

  * Changed the navigation round editing ballots and sending discuss/email so
    that the user comes back to the page the edit started from.

  * Fix for ticket #374 (all in base.js) and removal of a vestigial 'save all
    changes' button from the iesg/agenda/documents page.

  * Split the ballot writeups page into three pages, for a more
    understandable user interface.

  From henrik@levkowetz.com:

  * Fix a presentation bug in /iesg/agenda/documents.txt

 -- Henrik Levkowetz <henrik@levkowetz.com>  20 Sep 2010 16:45:37 +0200

ietfdb (3.05) ietf; urgency=medium

  Bugfix release.  Fixes the following issues (for more details, see the
  release page http://trac.tools.ietf.org/tools/ietfdb/milestone/3.05)

  From olau@iola.dk:

  * #354  Document State Change Edit lacks dropdowns in IE 8

  * #359  Test cases fail in fresh checkout from iesg-tracker branch

  * #364  Impossible to move back to No-Position

  * #366  The popup view of current positions when you left click on the
    grids needs to be smarter when it doesn't fit on the display.

  * #369  IDInternal entry with missing information generated

  * #370  Documents marked for telechat not on the web agenda

  From Henrik:

  * #367  Document state age not always shown correctly

  * #355  tarfile generation fails on production system

  * #371  When a draft lacks creation date, the all_id* and 1id_*
    generating script fail

 -- Henrik Levkowetz <henrik@levkowetz.com>  24 Aug 2010 15:42:30 +0200

ietfdb (3.04) ietf; urgency=medium

  **IETF 78 Code Sprint**

  * From Adam Roach: Make the selectable WG agenda feature of the datatracker
    IETF Agenda less resource intensive by not preloading all WG agendas.

  * From Peter Musgrave: Improve the selection of listed 'related documents'
    on the WG document pages.

  * From olau@iola.dk: Fix for issue #351 which caused server error when
    editing the state of a document (as IESG user).

  The following features were included already in v3.03, but by mistake
  weren't listed in the changelog for that revision:

  * IETF 78 Sprint code from Peter Musgrave: Add related documents section to
    the wg documents page (e.g., /wg/sipclf/).

  * IETF 78 Sprint code from Robert Sparks: Relabel the 'Issue Ballot' button
    (for AD use, on the draft info page).

  * IETF 78 Sprint code from Robert Sparks: provide a downloadable tarball of
    the documents on the IESG agenda of a given date.

 -- Henrik Levkowetz <henrik@levkowetz.com>  28 Jul 2010 16:13:23 +0200

ietfdb (3.03) ietf; urgency=medium

  * IETF 78 Sprint code from Adam Roach: Make the IETF agenda page view 
    user-modifiable, providing a custom bookmarkable agenda view for each user.

  * Make WG agendas available trough datatracker URLs; this will avoid 
    problems when the text from these pages are incorporated in frames in other 
    datatracker pages.  Example: /meeting/78/agenda/sipcore

 -- Henrik Levkowetz <henrik@levkowetz.com>  27 Jul 2010 15:09:56 +0200

ietfdb (3.02) ietf; urgency=medium

  * Remove the per-document rescheduling dropdown boxes from the future iesg
    telechat document list (/iesg/agenda/documents/).  Fixes issue #346.

 -- Henrik Levkowetz <henrik@levkowetz.com>  21 Jul 2010 15:30:46 +0200

ietfdb (3.01) ietf; urgency=medium

  * Add a button to issue a ballot for documents which has entered IESG 
    processing but don't have a ballot yet.

  * Always make idinternal.docstate() return a string -- there are callers 
    that assume this, like the script which generates all_id2.

  * Don't fail with a server error (500) if a bad draft name (containing 
    for instance newlines) is entered -- just return a 404.

  * For WG charters under evaluation, show the year too, not only month and 
    day.  This will reveal bad date information in the charter files.

  * If we fail to parse the date of a WG charter under evaluation, use 1 
    Jan 1900, and carry on.  Don't fail with a server error.

 -- Henrik Levkowetz <henrik@levkowetz.com>  20 Jul 2010 18:41:31 +0200

ietfdb (3.00) ietf; urgency=medium

  **IESG Datatracker Port to Python/Django**

  * This release adds the IOLA port of the former Perl IESG datatracker to
    the Python/Django datatracker.  This should make most AD actions on
    drafts available through the Django datatracker, normally from the
    datatracker.ietf.org/doc/<draftname>/ page or from the /doc/ad/.../
    page, or expressed UI-wise: from the pages reached from the 'AD Dashboard'
    menu at the top of the lefthand menubar in the datatracker.  This
    includes actions such as:

    - Change draft state
    - Edit draft metadata
    - Defer ballot, undefer ballot
    - Handle ballot comments
    - Handle ballot writeups
    - Approve ballots
    - Initiate last call

    Secretariat staff actions supported through the Django datatracker now
    includes:

    - Manage telechat dates
    - Manage working group descriptions

    Tweaks to the new interface and capabilities will be releases with
    a short release cycle, as they are discovered and fixed over the next
    weeks.

 -- Henrik Levkowetz <henrik@levkowetz.com>  16 Jul 2010 18:14:48 +0200

ietfdb (2.52) ietf; urgency=medium

  * Added machine-readable ballot information (tsv and json) for drafts with
    ballots: /doc/<draftname>/ballot.tsv and /doc/<draftname>/ballot.json .
    Json data for the whole document is available for all drafts at
    /doc/<draftname>/doc.json .

  * Added Unicode NFKC normalization of paths.  Somebody just tried to access 
    /wg/ipfix/charter/ with 'fi' represented as the unicode ligature \ufb01...

  * Changed the text emitted during testing to have less noise at the
    beginning of the line -- only 'OK', 'Fail', and the initial line of coverage
    reports now starts at the beginning of the line, without whitespace.  This
    makes it easier to scan a test run visually to find reported failures.

 -- Henrik Levkowetz <henrik@levkowetz.com>  16 Jul 2010 13:02:46 +0200

ietfdb (2.51) ietf; urgency=medium

  * Add an html sanitizer and a sanitize_html template filter.  This uses
    the html5lib, which has also been included in the svn tree.

  * Provide better handling of both text/plain document comments and 
    document comments which contain html tags.  Adds urlization, 
    linebreak-preservation and html sanitization.  Html sanitization would be 
    better applied when adding comments, but we're not yet a position to 
    enforce this for all input paths.

  * Catch an additional exception which can occur during generation of 
    all_id2.txt

 -- Henrik Levkowetz <henrik@levkowetz.com>  07 May 2010 12:26:58 +0200

ietfdb (2.50) ietf; urgency=medium

  From RjS: 

  * Don't send mail if we don't have any recipients...

  From Pasi:

  * /iesg/agenda/: fix bug related to non-existing ballots

  * Removed old (unused) YUI js/css

  * /ipr/search/: avoid exception for unexpected search types; comment out 
    debug logging

  * /doc/active, all: add link to all_id2.txt

  * /liaison/: add link to liaison statement manager tool

  From Henrik:

  * Make version information on the web pages a little less cryptic.

  * Tweak the IESG agenda page for better placement of IPR information; 
    requested by Russ.  Also align the ballot graphics.

  * Add admin site support for the DocumentComment model.

  * If replaced-by information exists, display it, even if the document 
    state seems to be incorrect (something else than 'Replaced').


 -- Henrik Levkowetz <henrik@levkowetz.com>  26 Apr 2010 11:45:24 +0200

ietfdb (2.49) ietf; urgency=medium

  From Pasi:

  * New script to generate all_id2.txt. This should be called in
    www6s/scripts/datatracker-updater: run "python -m
    ietf.idindex.generate_all_id2_txt" and place its output
    in $ID/all_id2.txt.

  * /wg/: link to both www.ietf.org and tools lists of concluded WGs

  * /doc/: show full responsible AD name for old drafts, too

  * Eliminated some cases where exceptions could be thrown

  * Various minor tweaks and fixes

  From Henrik:

  * Added commands to the mkrelease script to update the IETF Tools feed 
    with release information.

 -- Henrik Levkowetz <henrik@levkowetz.com>  24 Mar 2010 21:11:27 +0100

ietfdb (2.48) ietf; urgency=medium

  From Pasi:

  * Show comments feed link only if it exists (=document is in IDInternal)

  * Fixed a broken link on main page

  * Move new look-and-feel base templates from templates/idrfc/ to just 
    templates/

  * Remove more unused code

  * Replaced /idtracker/help/evaluation/ with redirect to www.ietf.org

  * /wg/: fix mailto links for WG chairs

  * /doc/: show telechat date in search results list

  * Show correct version number of expired drafts

  * /doc/rfcNNNN/: show rfc stream

  * Use new look for more pages

  * Replaced most of /idtracker/ (search, document page, ballot page, 
    comment page) with redirects to /doc/

  * /doc/\*: Show information about ballot sets

  * Refactoring /wg/: use redirects instead of redundant URLs; removed old 
    charter pages (not used/linked to); misc. cleaning

  * Point to /wg/<acronym>/ in left navbar and /meeting/agenda/


 -- Henrik Levkowetz <henrik@levkowetz.com>  22 Mar 2010 00:26:41 +0100

ietfdb (2.47) ietf; urgency=medium

  **IETF 77 Code Sprint**

  From Suresh: 

  * Added a link to the draft pages with email address to the draft authors

  From RjS:

  * Added STD/FYI/BCP info to the standard RFC display page

  * Added a link to the comment feed next to the nits link 

  From Bill:

  * Output a summary of what's needed for the document to be approved in
    the main and ballot views. 

  From Tony:

  * Search plugin for Firefox/IE/etc.

  From Pasi:

  * Correctly handle entities (like &gt;) in IESG note field

  * New script for finding database tables with non-ASCII data

  * /doc/\*: allow direct links to tabs/individual comments

  * /iesg/agenda/: show management item text if logged in as AD

  * /wg/acronym/: fix warning for concluded WGs

  * Support PPTX meeting slides

 -- Henrik Levkowetz <henrik@levkowetz.com>  21 Mar 2010 03:03:42 +0100

ietfdb (2.46) ietf; urgency=medium

  From Robert:

  * Add the I-D expiration notification script.

  \*\*\* Please add the following cron entry::

    # Send notifications about pending I-D expirations.
    42 4 \* \* 1 /a/www/ietf-datatracker/web/ietf/bin/notify-expirations

  From Henrik:

  * Adding the south schema migration app (http://south.aeracode.org/).

  * Change the text of IPR search result to more correctly reflect the 
    status of the search result when IPR has been found on documents related to 
    a listed document, but not on that document itself.

  From Pasi:

  * Use the new look for a bunch of additional pages

  * /admin/: fix login redirects to work with RemoteUserMiddleware; hide 
    password changing functionality (which doesn't work with RemoteUser anyway)

  * /ipr/: remove separate list for updating

  * /wg/acronym/\*: clearer warning about concluded WGs

  * A lot of various code and deployment cleanup

  * A lot of minor tweaks and fixes (tooltips, links, and more)

  * /doc/rfcNNNN/: include link to errata
  * /doc/rfcNNN/: include links to PDF/PS versions (if they exist); handle 
    RFCs that are not available as .txt

  * Added meta description tags (to improve search result usability): 
    drafts/RFCs, IPR disclosures, liaison statements

  * Cache/gzip meeting agenda and materials pages

  * If draft doesn't exist under /idtracker/, redirect to /doc/ instead of 
    showing error

  * Show /doc/ad/first.last/ only for ADs, not other folks in IESGLogin 
    table

  * Fixed bunch of null/unique attributes for model fields

  * New script to check for violated database constraints (NOT NULL, 
    UNIQUE, FOREIGN KEY)

 -- Henrik Levkowetz <henrik@levkowetz.com>  21 Mar 2010 00:36:05 +0100

ietfdb (2.45) ietf; urgency=medium

  From Pasi:

  * Use wg_www_pages table (and removed unused idtracker_areaurl).
    Requires applying changes to database as follows:

	cd /a/www/ietf-datatracker/2.45/ietf
	PYTHONPATH=../ python manage.py dbshell < ../test/sql_fixup.sql

  * Parse stream/wg/file formats from rfc-index.xml; prepare for parsing 
    auth48 info from queue2.xml

  * IPR disclosures: Don't include .doc/.html inline; don't fail if file 
    does not exist

  * Replaced /drafts/* with redirects

  * Show datatracker version+date in new look, too

  * IESG discuss page: shade even/odd rows

  * Use new look for IETF meeting agenda; add color-coding support (like 
    tools has).  Also use new look for /iesg/agenda/, /ipr/ and /ipr/NNN/
  * Show RFC publication date as YYYY-MM (since we don't currently have the 
    day)

  * Fix searching for RFCs that are processed by IESG; made 'advanced 
    search' options mutually exclusive

  * For plain text RFCs, point to www.rfc-editor.org instead of www.ietf.org

  * Fix page title for 404/500 pages (ticket:298)


  From Henrik:

  * Apply django changeset 12634 to our copy, to permit usernames 
    containing '@'.  See http://code.djangoproject.com/changeset/12634 .

 -- Henrik Levkowetz <henrik@levkowetz.com>  11 Mar 2010 14:41:47 +0100

ietfdb (2.44) ietf; urgency=medium

  From Robert:

  * Moved old (1995-2003) liaison statements from the template file
    to the database. This requires applying database fixups as
    follows:

        cd /a/www/ietf-datatracker/2.44/ietf
        PYTHONPATH=../ python manage.py dbshell < ../test/liaison_fixup.sql

    And updating the liaison files as follows:

	cd /a/www/ietf-datatracker/documents/LIAISON/
        # TAKE A BACKUP OF THE WHOLE DIRECTORY, JUST IN CASE
	. /a/www/ietf-datatracker/2.44/test/liaison_fixup.sh

  From Pasi:

  * Use new look for more pages

  * Make obsoletes/updates/etc. lists links (with new urlize_ietf_docs 
    template filter)

  * Always show year in /idtracker/status/ dates

  * /doc/rfcNNNN/: show the internet-draft name (if known) and link to its 
    history; show information about post-RFC IESG processing

  * Use yellow for 'abstain' also in /iesg/agenda/documents/

  * IESG ballot grid icon: show 'abstain' as yellow instead of gray

  * IESG telechat agenda: include "private" links also if logged in, link 
    from document list

  * Added /doc/all/ page

  * Better output if /doc/ search doesn't match anything

  * Show state-change-notice-to field in /doc/ (to AD/secretariat)

  * Make IESG telechat agenda feed discoverable

  * Added IPR/dependency links and edit/add buttons for RFCs, too; some 
    template refactoring

  * Avoid exceptions from MySQL when searching for non-ASCII draft names/WG 
    acronyms/etc.

  * Handle non-ASCII characters gracefully in old cgi-bin script redirects

  * IPR search: handle non-numeric RFC numbers/ID document tags gracefully 
    (instead of uncaught exception)

  * Change Atom feeds (+couple of other places) to point to /doc/draft-.. 
    instead of /idtracker/draft-.../

  From Henrik:

  * In PersonOrOrgInfo.email(), try harder to find a relevant email address.
    The new code will eventually fall back to a broad filter which matches that
    of the perl code which creates WG charter pages, where the old code would
    sometimes result in django-generated charter pages with missing email
    addresses.

  * Serve ipr disclosures which are available on the server directly, 
    instead of through an external http link in an <iframe/>.  The <iframe/> 
    method can result in mixing https and http content in the page, which some 
    browser take issue with.

  * Add back in rudimentary Django Admin support which was lost in the 0.96 
    -> 1.1 transition.

 -- Henrik Levkowetz <henrik@levkowetz.com>  01 Mar 2010 13:17:16 +0100

ietfdb (2.43) ietf; urgency=medium

  From Pasi:

  * New main datatracker page!

  * Use normal POST instead of AJAX for search, in order to be able to go
    back to the search result list with the browser back button

  * Added pointers (but no redirect yet) to new pages to /idtracker/ and 
    /idtracker/draft-foo-bar/

  * Added javascript redirect for /drafts/draft-foo-bar/ page

  * Fix history/comment tab for RFCs

  * Added more links to other versions (like tools html)

  * Fixed bug in submitting general license statements

  * Fixed ballot icon width problem in Safari (regression introduced in 
    2.42)

  * Replaced /drafts/all_id.html with redirect (there are no links to it, 
    and according to logs nobody is using it)

  * Added rel=nofollow to various links

  * Improve coloring for "for N days" information

 -- Henrik Levkowetz <henrik@levkowetz.com>  01 Mar 2010 13:05:22 +0100

ietfdb (2.42) ietf; urgency=medium

  From Pasi:

  * Use an ietf icon in an alternative colour for the new datatracker
    interface.

  * Include 30 items instead of 15 in IPR disclosure atom feed

  * Document page: show IESG telechat date; show state for RFCs (if 
    applicable)

  * Move search button JavaScript to right template file

  * IESG discuss page: better switching between all/by me/for me

  * Less SQL queries for per-document page

  * Moderator package: always show last call end date, fix bug in showing 
    ballot.  Include previous minutes.

  * Show small comment icon (instead of asterisk) when ballot has text.
    Show comment icon also next to discuss/comment text

  * Use a local copy of YUI library instead of pointing to Google CDN (this 
    allows us to work with pure IPv6); upgrade to YUI 2.8.0r4

  * Make RFC editor status a link (to queue)

  * Add link to comments Atom feed

  * Right-click ballot icon to edit your position (when logged in as IESG)

 -- Henrik Levkowetz <henrik@levkowetz.com>  26 Jan 2010 11:54:06 +0100

ietfdb (2.41) ietf; urgency=medium

  * The 'current agenda' url can fail between meetings, when the 'current 
    meeting number' has been bumped up, but not all relevant information has 
    been entered yet.  Fall back to the most recent meeting for which an agenda 
    can be produced in that case.

  * The self.affiliation() call can sometimes cause an exception, too, due 
    to the deficiencies of the database.  Use something safer as fallback.

  From Pasi:

  * Show various edit buttons only to ADs/secretariat

  * Simplify WG menu a bit

  * Fix comment handling for drafts not in idinternal; use select_related 
    to reduce SQL queries

  * Make sure DOCTYPE is first (without empty lines above it)

  * Use GZipMiddleware for per-document page (result is 25% of original, 
    and loads visibly faster)

  * Close ballot dialog if Escape is pressed

  * Fix ballot dialog not appearing (in new tracker UI)

  * Add timestamp to scribe template

  * Show ballot comments even if AD has no position

  * Improved history tab in "new tracker UI"; per-document page now works 
    better without JavaScript; internal refactoring/cleaning of per-document 
    page

  * Better abstract cleaning (to remove new-style boilerplate)

  * Updated independent submission text to point to RFC 5742 instead of 3932

  * Time out after 30 seconds iwhen downloading

  * Normalize linebreaks in iesg/{agenda.txt,agenda_package.txt} to LF

  * Don't indent management item texts (looks a bit nicer)

  * Don't choke on non-ASCII characters in agenda notes

  * Cleaned/simplified left navbar in "new tracker UI"

  * Removed unused HTML (related to the old authentication system)

 -- Henrik Levkowetz <henrik@levkowetz.com>  13 Jan 2010 18:25:22 +0100

ietfdb (2.40) ietf; urgency=medium

  * Fixed bug in charter templates -- need to test that milestone.done is 
    'Done', as it can also be set to 'No'...

  From Pasi:
  * Added roll call to moderator package; added agenda package email

  * Updated moderator package texts

  * Removed unused image (for the already-retired mailing list request tool)

  * Restrict /iesg/agenda/moderator_package.html to ADs and secretariat

  * Added group_required authentication/authorization decorator

  * Minor refactoring of IESG telechat agenda management item code (to 
    allow access controlled pages in the future)

  * Fix line breaks in IESG telechat moderator package

  * Removed the now-executed commands from sql_fixup.sql

 -- Henrik Levkowetz <henrik@levkowetz.com>  04 Dec 2009 12:02:12 +0100

ietfdb (2.39) ietf; urgency=medium

  From Pasi:

  * Replaced old authentication/authorization system with a new one
    (which uses Apache's authentication). This requires applying
    database fixups as follows:

        cd /a/www/ietf-datatracker/2.39/ietf
        PYTHONPATH=../ python manage.py dbshell < ../test/sql_fixup.sql
	PYTHONPATH=../ python manage.py syncdb

    And adding something like this to Apache configuration:

	<LocationMatch "^/accounts/login/">
        AuthType Basic
        AuthName "IETF Datatracker"
        AuthUserFile /a/www/htpasswd
	Require valid-user
	</LocationMatch>

  * Fixed ballot icon/etc. to work with the new auth/authz system

  * Fixed escaping in text meeting agenda (ticket #331)

  * Added first beta of IESG telechat moderator package (not fully working 
    yet)

  * Added ASCII version of IESG telechat agenda

  * Refactored/cleaned IESG telechat agenda code (and removed support for 
    ballot sets)

  * Removed some unused code

  * Replaced non-WG mailing list page with redirect to ietf.org

  * Removed some Django 0.96-only code

 -- Henrik Levkowetz <henrik@levkowetz.com>  30 Nov 2009 10:38:41 +0100

ietfdb (2.38) ietf; urgency=medium

  Miscellaneous minor fixes:

  * Added differentiating colours for BOF sessions in iPhone agenda

  From Pasi:

  * Fix bug in urlize (http://code.djangoproject.com/ticket/12183)

  * Added missing safe tags

  * Fixed Russ' email address in mkrelease

  * Updated account information template (fixes exception)

  * Show action items in IESG agenda; updated some links in IESG agenda

  * Fixed a bug in idtracker search (probably introduced by changeset 
    1842); new test case for that
  
 -- Henrik Levkowetz <henrik@levkowetz.com>  12 Nov 2009 04:54:00 +0100

ietfdb (2.37) ietf; urgency=medium

  **IETF 76 Code Sprint**

  * With this release, the datatracker is changed to run under Django 1.1
    rather than under 0.96, and in this sense it is a major release.  There
    is however very few changes that can be seen by the users, which is the
    reason why there is no major bump in the release number.

  Major changes, from Pasi and the code sprint participants:

  * Imported django/ directory from Django-1.1.1.tar.gz, placed in parallel
    with the top-level ietf/ directory in the tree.  This lets us run with
    a version of Django which could possibly be different than the system
    installed version.

  * Automated conversion of the code base to django-1.1 conventions, e.g.
    to use max_length instead of maxlength in model declarations.

  * Lots of escape and safe filters added to the templates, to handle the
    transition from 0.96 to 1.1.  This work was contributed by a number of
    people durint the IETF 76 code sprint::

	Pasi Eronen (also leading up to the IETF 76 code sprint)
	Tony Hansen
	Ben Campbell
	Tero Kivinen
	Adam Roach
	Arifumi Matsumoto

  * Code cleanup, including removal of unused and seldomly used code (in
    particular the code for mailing list change requests)

  * A lot more test cases added, in preparation for the transition to 1.1;
    also refinement of the testing framework.

  From Lars Eggert:

  * Support the use of UTF-8 in emails

  * Fixed the IPR submission tool to work under Django 1.1

 -- Henrik Levkowetz <henrik@levkowetz.com>  09 Nov 2009 10:59:20 +0100

ietfdb (2.36) ietf; urgency=medium

  From Pasi:

  * Code cleanup.
  
  * Test enhancements

  * Fixed various Django 1.x bugs

  * IPR disclosure page was showing the latest revision number, not the 
    revision for which the disclosure was submitted.  Fixed

  * Minor tweaking of scribe template based on comments from John

  * Handle non-ASCII characters correct on both Django 0.96 and 1.x

  * Removed unused (and unfinished) idtracker editing code

  * Fixed a bug where missing revision date caused an exception

 -- Henrik Levkowetz <henrik@levkowetz.com>  03 Nov 2009 14:35:35 +0100

ietfdb (2.35) ietf; urgency=medium

  From Pasi:

  * Changed slightly alternating row coloring for search results --> saved 
    100+ lines of code

  * Refactoring, removing old dead code and templates

  * Fixed dependency link (point to fenron.net instead of fenron.com)

  * More escaping fixes for Django 1.x

  * Refactored testing code and many added test cases

  * Fixed a number of problems and failures in IPR submisions and updates

  * Removed account creation/password changing functionality

  From Henrik:

  * Handle the case when the time specification of a comment is incomplete, 
    during generation of document feeds.


 -- Henrik Levkowetz <henrik@levkowetz.com>  22 Oct 2009 19:08:44 +0200

ietfdb (2.34) ietf; urgency=medium

  From Pasi:

  * Updated IESG telechat narrative scribe template based on feedback

  * Added more test cases, and added some enhancements to the test framework.

  * Added more safe/escape tags for Django 1.x, and other fixes for Django 1.1

  * Added support for comparing only a subset pages via URLPREFIX variable

  * Removed a bunch of unused code/templates

  * Fixed some ballot issues.

  * Gracefully handle non-ASCII IPR disclosure files

  From Henrik:

  * Fixed grouping problems in 1wg-summary.txt due to incomplete grouping
    key in template.

 -- Henrik Levkowetz <henrik@levkowetz.com>  08 Oct 2009 15:26:42 +0200

ietfdb (2.33) ietf; urgency=medium

  From Pasi  <pasi.eronen@nokia.com>:

  * Added narrative minutes template

  * New script for comparing output from Django 0.96 vs 1.x

  * Added a bunch of safe/escape tags for Django 1.x

  * Handle persons with non-ASCII names correctly in Django 1.x

  * Improve test coverage for meeting/, idrfc/

  * Multiple bugfixes for days-in-state information

  * Avoid using IDInternal.documentcomment_set -- it breaks in Django 1.x 
    because the foreign key isn't really a foreign key

  * Fix author name (Unicode) and pubdate (datetime vs. date) for Django 1.x

  * Use IDInternal.comments method to avoid foreign key problems; support 
    Unicode in jsonify_helper

  * Comment out unused permission code (causes test failures on Django 1.x)

  * Fixes so test suite runs better on Django 1.x

  * Make IPR form work with both Django 0.96 and 1.x

  From Henrik:

  * Return 404 not found when the wg acronym given as part of a wg charter 
    URL can't be found.

  * Sometimes a documents lc_sent_date is None; don't let the last-call 
    feed break if that happens.

  * Add debian-style control file with metainformation.

 -- Henrik Levkowetz <henrik@levkowetz.com>  22 Sep 2009 15:49:00 +0200

ietfdb (2.32) ietf; urgency=medium

  * Make the 1wg-charters.txt page stable, not changing dependent on the
    order in which the database backend returns records.

  * Various fixes to the new charter page generation.  Removed the area
    prefix for secretaries (secretaries aren't area secretaries, they're
    secretaries to the group).  Added tech advisors and WG editors.
    Fixed html for secretary lists.

  * Fixed link in Slides model (should be moved to templates, I suspect)
    which has changed since ietf-74.  Todo: Should be made consistent in
    the archives, or failing that, be dependent on the meeting number
    (ugh!).

  * Show correct days-in-state information (hopefully). From Pasi.

  * Cleaning of IPR disclosure submission form internals  
    to simplify Django 1.0 transition.  From Jelte and Pasi.	 

  * Make WG summary available also with the same name as before
    (1wg-summary.txt).  Fix the template to more closely match
    the old layout, for screenscraping scripts.

  * Make Django testing framework work again.  From Pasi.

  * Minor fixes to bugs found by the testing framework.  From Pasi. 	 

  * Replaced /liaison/managers/ with redirect to static page
    on www.ietf.org.  From Pasi.
	
 -- Henrik Levkowetz <henrik@levkowetz.com>  04 Sep 2009 16:19:53 +0200

ietfdb (2.31) ietf; urgency=medium

  * Fix dropped plenary agendas in the html agenda page.

  * Some Django 1.0 related fixes plus conversion script.  From Pasi.
	
 -- Henrik Levkowetz <henrik@levkowetz.com>  28 Jul 2009 16:30:28 +0200

ietfdb (2.30) ietf; urgency=medium

  * Merged in Adam and Ben's rewrite of the WG charter page generation,
    which is used to produce the individual WG charter.txt and charter.html
    pages, and also used by the script which produces 1wg-charters.txt.

  * Also merged in Arifumi and RjS' rewrite of the script which produces
    1wg-charters.txt.

 -- Henrik Levkowetz <henrik@levkowetz.com>  28 Jul 2009 14:14:17 +0200

ietfdb (2.29) ietf; urgency=medium

  * New script bin/abstracts.py, intended to be run as a cronjob, to generate
    the ID abstracts files.  Merged in from Jelte.
	
  * Fixed bug in wg-dir.html to support additional area URLs properly.  
    From Chris.

  * Added new rfcurl filter to eliminate hardcoded references to RFC URLs
    primarily in the liaisons and drafts pages.  From Chris.

  * Fixed URLs that were broken or outdated by the IETF web page
    re-organization throughout the tree.  In particular, references to
    html.charters in URLs, and old charter references.  Including many
    broken links in leftmenu.  From Chris.

  * Some Django 1.0 related fixes plus conversion script.  From Pasi.
	
 -- Henrik Levkowetz <henrik@levkowetz.com>  25 Jul 2009 19:46:45 +0200

ietfdb (2.28) ietf; urgency=medium

  * Show full name in document comment log.  From Pasi.

  * Optimize meeting agenda page to use less SQL queries.  From Pasi.

  * Include version in iesg/agenda/documents.txt.  From Pasi.

 -- Henrik Levkowetz <henrik@levkowetz.com>  25 Jul 2009 14:38:41 +0200

ietfdb (2.27) ietf; urgency=medium

  * Add support for an iPhone specific agenda format.  Going to the html
    agenda will now give an iPhone version if accessed by iPhone.

  * Added AGENDA_PATH config variable to settings.py, and removed hardcoded
    agenda path.

  * Added a new template filter to truncate a string based on character count,
    rather than word count.

  * Added support for an additional field in the Meeting model, to hold
    meeting time zone information.

  * Added cookie-based coloring of agenda lines, using the same mechanism as
    on http://tools.ietf.org/agenda/nn/

  * Various updates to agenda presentations.  Make text agenda adhere better
    to earlier format (for users who process it) and fix various flaws in the
    html agenda.

  * Replaced IESG minutes with redirect, and removed related feed/sitemap.
    From Pasi.

  * Correctly handle discusses for RFCs on /iesg/discusses/ page.  From Pasi.

  * Fixed broken links in "new layout" navigation bar.	From Pasi.

  * Other minor fixes.

 -- Henrik Levkowetz <henrik@levkowetz.com>  24 Jul 2009 16:38:03 +0200

ietfdb (2.26) ietf; urgency=medium

  * Fixed parsing of REF state in RFC Editor queue.

  * Include draft version in document comment Atom feed.	

  * Minor formatting bugfixes (should work better with IE6 and Safari)
    in "new layout" (idrfc).

  * Minor fixes to showing "days in state" data.
	
 -- Pasi Eronen <pasi.eronen@nokia.com>  28 May 2009 14:03:45 +0200

ietfdb (2.25) ietf; urgency=medium

  * Refactored IdRfcWrapper and lots of improvements to ID/RFC pages.

  * New "Documents on Future IESG Telechat Agendas" page; some
    improvements for the "IESG Discuss Positions" page.

  * Improved "Sign in" dialog for new ID/RFC pages.
	
  * Better error message if cookies are not supported when logging in.

  * Include all comments (not just 15) in document comment Atom feed; 
    correctly sort comments on same date.
	
  * New template tags for comparisons: greater_than/less_than/equal.

  * Get YUI base URL from settings instead of hardcoding.
	
 -- Pasi Eronen <pasi.eronen@nokia.com>  12 May 2009 14:45:17 +0200

ietfdb (2.24) ietf; urgency=medium

  * Merged in code from Pasi for new ID/RFC search and per-document pages,
    and IESG "discuss report".

  * Added missing images for liaison_manager.cgi to static/images/.

  * More sensible error message if settings_local.py is not found.
	
  * Fix feed problem for non-ascii names. From Pasi Eronen. 

  * ** NOTE: This release uses the Django cache framework, and requires
    that the cache directory in settings.py (/a/www/ietf-datatracker/cache/)
    exists.

  * Fix problem with area model in admin interface

 -- Henrik Levkowetz <henrik@levkowetz.com>  26 Apr 2009 16:02:00 +0200

ietfdb (2.23) ietf; urgency=medium

  * Fixed a wrong link in the html agenda (from Henrik)

  * Removed the explicit database server ip address in settings.py
    (from Henrik)

  * Integrated updated authorization system.  This requires applying
    database fixups as follows:

	cd /a/www/ietf-datatracker/2.23/ietf
	python manage.py dbshell < ../test/sql_fixup.sql

    The existing htpasswd file can be imported into this new system
    as follows:

	export PYTHONPATH=/a/www/ietf-datatracker/2.23
	export DJANGO_SETTINGS_MODULE=ietf.settings
	/a/www/ietf-datatracker/2.23/ietf/bin/import-users /a/www/htpasswd

    Please capture the output of the import-users script, as it will
    help us resolve any troubles that users have.

  * Fixed infinite loop in wrapping code that prevented display of certain
    document comments

 -- Bill Fenner <fenner@fenron.com>  24 Mar 2009 17:48:12 PDT

ietfdb (2.22) ietf; urgency=medium

  * Fixed the menubar nomcom link.

  * Merged in Chris' django-based replacement for the old perl-based
    WG overview page, the 1wg-summary.txt and 1wg-summary-by-acronym.txt
    pages.

 -- Henrik Levkowetz <henrik@levkowetz.com>  22 Mar 2009 2:22:09 +0100

ietfdb (2.21) ietf; urgency=medium

  * Merged in Adams django-based replacement for the old perl-based
    nomcom announcement pages.

 -- Henrik Levkowetz <henrik@levkowetz.com>  22 Mar 2009 1:09:00 +0100

ietfdb (2.20) ietf; urgency=medium

  * Merged in Roberts django-based replacement for the old perl script 
    generating all_id.txt

 -- Henrik Levkowetz <henrik@levkowetz.com>  22 Mar 2009 0:20:03 +0100

ietfdb (2.19) ietf; urgency=medium

  * Merged in code from Pasi containing auxiliary tables and support scripts
    for his new document meta-information pages.

  * Merged in code from Pasi for a machine-readable list of documents on the
    next iesg-agenda.

  * ** To deploy this release, the Django db sync command has to be run
    (python .../ietf/manage.py syncdb) and the cron scripts which fetch
    information from the RFC-editor and tools.ietf.org has to be set up
    to run **

 -- Henrik Levkowetz <henrik@levkowetz.com>  21 Mar 2009 22:33:07 +0100

ietfdb (2.18) ietf; urgency=medium

  * Made the plenary agenda font larger

  * Don't show break location information for lunch breaks (requires new
    column in non_session table, with the show_break_location information).

 -- Henrik Levkowetz <henrik@levkowetz.com>  05 Mar 2009 0:56:10 +0100

ietfdb (2.17) ietf; urgency=medium

  * Fixed the agena problem where breaks would not have the right name.  Also
    refactor and simplify the agenda code and templates.  Requires some database
    changes, too.

  * Made the liaison statement list inherit from base.html, to have the same style

  * Changed to table layout for the base page.  Not puristic, but the non-table
    approach had problems with some pages, (some content being forced to start
    below the lefthand menu even when there was space higher up), and I could see
    no easy way to fix it.

  * Added the text from the original IPR declaration to the detail page for
    declarations submitted by mail.  Made the link to the email text page more
    prominent. Fixed some html issues.

  * Added a link to the meeting agenda to the lefthand menu, and did some minor
    fixes to the html.

  * Added more people to the autogenerated release mail.

 -- Henrik Levkowetz <henrik@levkowetz.com>  02 Mar 2009 21:51:33 +0100

ietfdb (2.16) ietf; urgency=medium

  * Added per-draft IPR information to the IESG agenda
  * From Pasi: Fixed links for RFCs in IESG agenda, and show deferred ballots 
  * Added a test and development view which (sort of) lets you look at 
    old IESG telechat agendas by date
  * Added a machine-readable view listing IPR declarations per draft/rfc

 -- Henrik Levkowetz <henrik@levkowetz.com>  18 Feb 2009 13:46:35 +0100

ietfdb (2.15) ietf; urgency=medium

  * Merged in Pasi's fixes for links in the public version of the IESG agenda

  * Fix som nits in the new IESG agendapage (show and link to drafts with
    explicit revision numbers, and provide direct links to the text-only
    version of drafts)

 -- Henrik Levkowetz <henrik@levkowetz.com>  12 Feb 2009 13:22:08 +0100

ietfdb (2.14) ietf; urgency=medium

  * Changed to BSD license instead of OSL in the LICENSE file.

  * Updated broken links in the lefthand menubar in base.html

  * Added an explicit "This IPR disclosure was removed" message for
    removed IPR disclusures

  * Merged in code from Pasi, fixing some broken links in the IESG
    agenda pages

 -- Henrik Levkowetz <henrik@levkowetz.com>  03 Feb 2009 13:09:35 +0100

ietfdb (2.13) ietf; urgency=medium

  * Fixed IETFWG.area_acronym() so it works, and added IETFWG.area_directors()

  * Added to the mkrelease script the generation of a mail about the
    release to various interested parties.

  * Changed the IDtracker's 'not in the tracker' error message, as it
    sounded a bit as if there was no record of the draft in question.

  * Added a new better blue-background ietf logo

  * Merged in code for a new IESG telechat agenda page at /iesg/agenda/, 
    from Pasi Eronen <pasi.eronen@nokia.com>

  * Made the dunn_sent_date field of InternetDrafts optional

  * Removed references to code not yet merged in, related to wg charters

 -- Henrik Levkowetz <henrik@levkowetz.com>  06 Nov 2008 17:20:49 +0100

ietfdb (2.12) ietf; urgency=medium

  * settings.py: Fixed broken setting for database host, which had a
    hardcoded IP address when it should be empty.

 -- Henrik Levkowetz <henrik@levkowetz.com>  06 Nov 2008 17:20:49 +0100

ietfdb (2.11) ietf; urgency=medium

  * Template and layout fixes.  Removed broken links from the lefthand
    menu-bar.

 -- Henrik Levkowetz <henrik@levkowetz.com>  06 Nov 2008 17:20:49 +0100

ietfdb (2.10) ietf; urgency=medium

  * Changed look-and-feel of the datatracker, by introducing a different
    style sheet, and using a more consistent style, and introducing a
    lefthand menubar.

  * Make IDInternal.docstate() consistent in the type of the returned
    information.  Tweaked the format of returned docstate information
    to not have spaces around the :: separator between state and substate.

  * Fixed the help page for ballot symbols, which had a very old text
    which no longer was correct.

 -- Henrik Levkowetz <henrik@levkowetz.com>  06 Nov 2008 17:20:49 +0100

ietfdb (2.09) ietf; urgency=medium

  * Merged in support for a new URL, /list/wg/, which lists the archive
    URLs for WG mailing lists, from Chris Newman <chris.newman@sun.com>

 -- Henrik Levkowetz <henrik@levkowetz.com>  06 Nov 2008 17:20:49 +0100

ietfdb (2.08) ietf; urgency=medium

  * Fixed mkrelease to handle minor numbers greater than 07 ,;-)

  * Changed agenda templates, adding a note about agenda being subject to change.

  * Backporting change from deployment copy, reflecting a change in
    path and URL of presentation slides.

 -- Henrik Levkowetz <henrik@levkowetz.com>  06 Nov 2008 17:20:49 +0100

ietfdb (2.07) ietf; urgency=medium

  The full list of changes is here, highlights below:
  http://tools.ietf.org/tools/ietfdb/log/branch/2.00?rev=1161&stop_rev=1070

  * Adjustments to the default settings, to match the new deployment environment
    at AMS

  * Template updates for agendas: 
      - Use python, not template-language, to decide if the month is
	different.  
      - Don't use "odate" and add a space where   appropriate.  
      - Use a datetime and time zone instead of hardcoding (ET).
	(let the model combine the date and the time)

  * Per suggestion from John Klensin, add a link directly to the text of the
    I-D, but only give the explicit link to the draft if it's active.

  * Expanded description of a document on the agenda.

  * Added authorization infrastructure.  No impact on current functionality,
    but needed for future features.

  * Added a feed for documents on the IESG telechat.  Improved the admin
    interface for iesg_login and irtf rg's and chairs.

  * /meeting/ now redirects to meeting/<current>/materials.html

  * Licencing information added.  IETF Trust copyright added as needed.

 -- Henrik Levkowetz <henrik@levkowetz.com>  19 May 2008 02:11:25 +0200

ietfdb (2.06) ietf; urgency=medium

  This was a patch release to fix issue #237

 -- Henrik Levkowetz <henrik@levkowetz.com>  05 Nov 2007 16:55:04 +0100

ietfdb (2.05) ietf; urgency=medium

  * Fixed problems with the rfc feed.  Fixes #217

  * Added 2 liaison feeds

  * Fixed a number of template and email problems

  * Refactoring and cleanup work

 -- Henrik Levkowetz <henrik@levkowetz.com>  31 Oct 2007 08:37:37 +0100
ietfdb (2.04) ietf; urgency=medium

  * Fixed a number of issues with the meeting agenda page.

 -- Henrik Levkowetz <henrik@levkowetz.com>  16 Jul 2007 22:19:27 +0200

ietfdb (2.03) ietf; urgency=medium

  * Many minor template fixes

  * Added more feeds.

  * Additions to the test framework

  * Tweaks to the announce app.  Closes ticket #202

  * Tweaked an url regex.  Fixes #204.

 -- Henrik Levkowetz <henrik@levkowetz.com>  10 Jul 2007 00:00:03 +0200

ietfdb (2.02) ietf; urgency=medium

  * Updates to tests, redirects, feeds, and templates to fix various blemishes.
    Fixes issue #168.

  * Improved error message for empty search result.  Fixes issue #175

  * Handle non-numeric flag values.  Fixes issue #178

  * Removed old footer.  Fixes issue #164

  * Added missing image files.  Fixes issue #156

  * Replaced some hardcoded links with redirects.  Fixes issue #163

  * Fixes for issues #182, #185

 -- Henrik Levkowetz <henrik@levkowetz.com>  03 Jul 2007 00:00:04 +0200

ietfdb (2.01) ietf; urgency=high

  This is a minor bugfix release.

  * Added a missing blue ball image used in many pages.

  * Fixed some broken links under /ipr

  * Other minor tweaks

 -- Henrik Levkowetz <henrik@levkowetz.com>  28 Jun 2007 10:55:52 +0200

ietfdb (2.00) ietf; urgency=medium

  **Public Datatracker Port to Python/Django**

  This release is a complete re-write of the CGI/Perl-based IESG datatracker
  in Python, using the Django framework.  It comprises about 8000 lines of
  Python code, and 6000 lines of template code.  The work was done as a
  skunkworks project by Bill Fenner and Henrik Levkowetz from mid-April
  to mid-May 2007, and continued as an official project from then on.

 -- Henrik Levkowetz <henrik@levkowetz.com>  28 Jun 2007 02:34:50 +0200