[codesprints] New datatracker release: v6.119.0

Henrik Levkowetz <henrik@levkowetz.com> Thu, 27 February 2020 22:09 UTC

Return-Path: <henrik@levkowetz.com>
X-Original-To: codesprints@ietfa.amsl.com
Delivered-To: codesprints@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CB9533A0DA6; Thu, 27 Feb 2020 14:09:28 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id NX7UzNldFLfH; Thu, 27 Feb 2020 14:09:21 -0800 (PST)
Received: from zinfandel.tools.ietf.org (zinfandel.tools.ietf.org [64.170.98.42]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 33DAD3A0D69; Thu, 27 Feb 2020 14:09:21 -0800 (PST)
Received: from henrik by zinfandel.tools.ietf.org with local (Exim 4.80) (envelope-from <henrik@levkowetz.com>) id 1j7RLM-0004YG-Mx; Thu, 27 Feb 2020 14:09:20 -0800
To: codesprints@ietf.org, iesg@ietf.org, wgchairs@ietf.org
Message-Id: <E1j7RLM-0004YG-Mx@zinfandel.tools.ietf.org>
From: Henrik Levkowetz <henrik@levkowetz.com>
Date: Thu, 27 Feb 2020 14:09:20 -0800
X-SA-Exim-Connect-IP: <locally generated>
X-SA-Exim-Rcpt-To: codesprints@ietf.org, henrik@levkowetz.com, iesg@ietf.org, wgchairs@ietf.org
X-SA-Exim-Mail-From: henrik@levkowetz.com
X-SA-Exim-Scanned: No (on zinfandel.tools.ietf.org); SAEximRunCond expanded to false
X-Clacks-Overhead: GNU Terry Pratchett
Archived-At: <https://mailarchive.ietf.org/arch/msg/codesprints/AnCfG9dlAYq-7jdmDc4D9Pcx-ak>
Subject: [codesprints] New datatracker release: v6.119.0
X-BeenThere: codesprints@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "List for coordinating \(and following up on\) codesprint activities" <codesprints.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/codesprints>, <mailto:codesprints-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/codesprints/>
List-Post: <mailto:codesprints@ietf.org>
List-Help: <mailto:codesprints-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/codesprints>, <mailto:codesprints-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 27 Feb 2020 22:09:33 -0000

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 rcross@amsl.com: Add rfp-announce@ietf.org to
    Announcement app To: address list.  Changed name of secr dashboard from WG
    Chair Dahsboard to IETF Dashboard.  

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

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

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

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

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

    - show_messages:

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

    - send_messages:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  * More Py2/3 adaptations fetched from production.

  * Converted send-scheduled-mail to py3

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

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

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

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

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

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

  * Updated the PLAN file, removing some completed actions.

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

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

 -- Henrik Levkowetz <henrik@levkowetz.com> 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)