Subject: New datatracker release: v6.119.0

From: Henrik Levkowetz <[email-masked]>
Date: Thu, 27 Feb 2020 14:09:20 -0800

Hi,

This is an automatic notification about a new datatracker release, 
v6.119.0, generated when running the mkrelease script.

Release notes:

ietfdb (6.119.0) ietf; urgency=medium

  **Improved email handling, and roundup of Py2/3 conversion issues**

  This release provides a reworked email sending infrastructure so that all
  emails sent by the datatracker, except for logging and failure emails sent
  to ADMINS, are captured as a Message objects.  Together with two new
  management commands, this makes it possible to recover from email delivery
  failures by re-sending any emails from the datatracker that would otherwise
  have been lost.

  This release also includes backporting Python 2/3 tranistion issues that
  were initially patched in the production code during the recent server
  transition, and a number of additional unrelated bugfixes.

  From the commit log:

  * Merged in [17336] from [email-masked]: Add [email-masked] to
    Announcement app To: address list.  Changed name of secr dashboard from WG
    Chair Dahsboard to IETF Dashboard.  

  * Merged in [17325] from [email-masked]: Allow review team secretaries
    and the secretariat to reset the next reviewer in queue for review teams
    using the RotateAlphabetically policy.  Partially addresses #2879.  

  * Fixed an issue with some tests that mocked urlopen() responses, and
    tweaked error messages on bad results in sync/rfceditor.py

  * Added charset decoding of data read from an urlopen() object in a few
    places, and removed some use-once functions that were now dead code.

  * Moved code from a couple of simple urlopen() wrappers used only once into
    the calling scripts. Removed a case of Py2 virtualenv activation.

  * Added management commands to show saved messages (unsent and otherwise)
    and to send or re-send saved messages as needed:

    - show_messages:

      Show outgoing messages that have been saved as Message objects. By
      default all messages from the last 2 weeks are shown. Selection can be
      made based on date and sent/unsent state. With the --pk option, only a
      list of primary keys are shown, otherwise, creation and send date,
      message-id, sender and primary recipients, and subject line is shown.

    - send_messages:

      Send (or re-send) messages saved as Message objects as outgoing emails.
      To show existing Message objects, use the show_messages management
      command.  Messages to send can be indicateb by date ranges, a list of
      primary keys, or a list of Message-IDs. Unless the --resend switch is
      given, the inclusion of already sent messages in the date range or
      message lists will result in an error exit, in order to prevent
      inadvertent re-sending of message.  Alternatively, the --unsent switch
      can be used to send only messages marked as not already sent from a date
      range or message list.

  * Added a migration to set an explicit content-type for Message objects
    where missing.

  * Added a migration to correct Message fields containing strings that were
    repr() of list instances instead of comma-separated email addresses.

  * Added saving of outgoing emails as Message instances, with accompanying
    test.

  * Did a slight refactoring of infer_message() and
    send_scheduled_message_from_send_queue(), and added setting of a
    Message.sent date when sent.

  * Fixed an issue where the lookup of recognized country names during draft
    submission grabbed the unicode name instead of the ascii name for
    non-ascii country strings in XML submissions.

  * Updated the list of utility python files that should be ignored by
    code coverage measurements.

  * Fixed log.log() to hand on the right type (str) to underlying functions,
    irrespective of Python version.

  * Fixed a test to be more specific when looking for a generated Message
    object, to make sure to get the right one.

  * Added html unescape for email addresses from form data that might use html
    entities for angle brackets.

  * Added a 'sent' field to Message, to be able to track sent status for
    captured outgoing messages (which don't have a SendQueue instance).

  * Fixed a number of bad Message.content_type settings when creating Message
  * objects.

  * Fixed a string vs list issue for a Message from form case.

  * Added missing .as_strings() to some gather_address_lists() calls, in order
    to assign strings rather than lists to Message CharField instances.  Fixed
    a Message content_type setting.

  * More Py2/3 adaptations fetched from production.

  * Converted send-scheduled-mail to py3

  * Added a cron script to be called every 15 minutes, to have a place where
    send-scheduled-mail can live and be invoked with the right environment.

  * Moved patch.py into our project tree -- it's not being maintained by the
    external maintainers any more.

  * Merged in Python 2/3 changes pulled from the production server after the
    switch to python 3.

  * Merged in cronjob script changes pulled from the production server after
    the switch to python 3.

  * Added cleaning of the session request form's 'comments' field, to convert
    any html entered to text.  Related to [17322].

  * Removed an instance of 'autoescape off' for submitted meeting session
    comments in a template, since it is not needed in practice; in order to
    avoid an XSS injection opportunity.

  * Updated the PLAN file, removing some completed actions.

  * Changed some remaining cases of open() to io.open(), for Py2/Py3
    consistency.

  * Tweaked settings.py to make django_extension commands available if
    installed.

 -- Henrik Levkowetz <[email-masked]> 27 Feb 2020 19:56:12 +0000

The new version is available for installation through SVN checkout, with
  'svn checkout https://svn.tools.ietf.org/svn/tools/ietfdb/tags/6.119.0'

For development, copy the new development version instead:
  'svn copy https://svn.tools.ietf.org/svn/tools/ietfdb/tags/dev/6.119.1.dev0' <YOURBRANCH>

Regards,

	Henrik
	(via the mkrelease script)