Re: [Rfc-markdown] [xml2rfc-dev] New xml2rfc release: v3.0.0

Henrik Levkowetz <> Thu, 03 September 2020 18:25 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 5B7263A1036; Thu, 3 Sep 2020 11:25:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.847
X-Spam-Status: No, score=-2.847 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, NICE_REPLY_A=-0.948, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 2y_PYKp3mIvY; Thu, 3 Sep 2020 11:25:52 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 908403A1031; Thu, 3 Sep 2020 11:25:52 -0700 (PDT)
Received: from ([]:52909 helo=tannat.localdomain) by with esmtpsa (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <>) id 1kDtvi-0006gs-RV; Thu, 03 Sep 2020 11:25:52 -0700
References: <>
From: Henrik Levkowetz <>
Message-ID: <>
Date: Thu, 3 Sep 2020 20:25:43 +0200
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:45.0) Gecko/20100101 Thunderbird/45.8.0
MIME-Version: 1.0
In-Reply-To: <>
Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="7bXMOtrtbxsS8tc1BOltOxJ0mjhd31ieL"
X-SA-Exim-Version: 4.2.1 (built Mon, 26 Dec 2011 16:24:06 +0000)
X-SA-Exim-Scanned: Yes (on
X-Clacks-Overhead: GNU Terry Pratchett
Archived-At: <>
Subject: Re: [Rfc-markdown] [xml2rfc-dev] New xml2rfc release: v3.0.0
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "rfc-markdown is a discussion list for people writing I-Ds and RFCs in Markdown and the authors of the tools used for that." <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Thu, 03 Sep 2020 18:25:55 -0000


I've had a few questions related to installation of this release, so I
might as well add some notes about installation.  The the following
approach should work.  You may need to adapt slightly to fit your

 1. If you don't have Python 3.5 or higher, install it.  You can get it
    here: .  I'll assume python 3.8 in
    the following.  (If this fails, you should not go on with the remaining
    steps -- you're stuck with the previous version of xml2rfc until you
    can get a Python 3 running.)

 2. If you have xml2rfc installed for Python 2.7 currently:
    Run 'pip2.7 uninstall -y xml2rfc' # repeat until no version installed
    (Possibly you might need to do 'sudo pip2.7 uninstall -y xml2rfc' or
    the equivalent)

 3. Install for your python 3.  Pip3.x should not need to run as sudo or
    equivalent on most OSes:
    Run 'pip3.8 install --upgrade xml2rfc'

 4. If you have id2xml installed, make sure it's installed for the same
    python version as xml2rfc; for instance if you're moving from 2.7 to 3.8:
    'pip2.7 uninstall -y id2xml'  (or 'sudo pip2.7 uninstall -y id2xml')
    followed by 'pip3.8 install id2xml'

I hope this is helpful.

Best regards,


On 2020-09-02 13:36, Henrik Levkowetz wrote:
> Hi,
> This is an automatic notification about a new xml2rfc release, 
> v3.0.0, generated when running the mkrelease script.
> Release notes:
> xml2rfc (3.0.0) ietf; urgency=medium
>   **Transition to using the new schema v3 output formatters by default**
>   This release provides the functionality that the 2.47.0 release had (with
>   some enhancements), but is backwards incompatible because the default
>   settings for some switches has changed.  The --legacy switch must now be set
>   explicitly in order to use the old output formatters.  By default, XML input
>   files with schema v2 content will be converted to v3 on the fly and the
>   output formatting of the converted XML will be done with the new schema v3
>   formatters.  With this release, support of Python 2.7, which is past
>   end-of-life, will no longer be part of the test suite.
>   There are also a number of other changes.  From the commit log:
>   * Replaced the use of the deprecated optparse module with the newer 
>     argparse python module.
>   * Removed testing with Python 2.7, and added Python 3.8
>   * Updated the bin/mkrelease script to generate documentation HTML and text
>     for the release, place it on, and mention the
>     documentation URL in the release notes.
>   * Updated the major revision to 3, given that we no longer support Py27 and
>     have switched default output formatters.
>   * Changed bin/mkrelease to install using pip3.6 on the tools servers (the 
>     default pip might be for Py2.7).
>   * Added an 'indent' attribute for <t>, in order to support indented
>     paragraphs without the one-item unordered list workaround, as approved by
>     the schema change board.  Added default values for the 'indent' attributes
>     for <dl>, <ul>, <ol>, <t>.  For the <t> element, the 'indent' attribute
>     indicates any extra amount of indentation to be used when rendering the
>     paragraph of text.  The indentation amount is interpreted as characters when
>     rendering plain-text documents, and en-space units when rendering in formats
>     that have richer typographic support such as HTML or PDF.  One en-space is
>     assumed to be the length of 0.5 em-space in CSS units.  Only non-negative
>     integer amounts of indentation are supported.
>   * Improved an error message about bad attribute values to show the line 
>     of XML source on which the error was found.
>   * Added information about command-line switches that have negations 
>     (--no-foo... versions) to the context handed to the documentation template.
>   * Changed the default of some switches for the 3.0.0 release: --v3 => 
>     true; --legacy-date => true; --external-js => false.
>   * Improved the documentation file output for switch default values and 
>     for options with negation switches.
>   * Updated the Makefile to use the appropriate 3.x release series switches.
>   * Updated the requirements for a number of python modules.
>   * Fixed an issue where hrefs without matching ids could be generated by 
>     the HTML renderer from empty <name> elements.  This also fixed an issue 
>     with missing figure and table captions in some unusual cases.
>   * Added support for multi-level ordered lists through a '%p' (for parent) 
>     code for use in the <ol> 'type' attribute.  Fixes issue #465.
>   * Added more documentation for the --version switch
>   * Updated the schema and tests to permit <blockquote> within <aside>.  
>     Fixes issue #524.
>   * Added a list of available postal elements for a country to the warning 
>     for unused postal address parts.
>   * Added a length limitation for the running header title in paginated 
>     text documents, to avoid overwriting other parts of the running header.
>   * Changed the schema to permit nested <sub> and <sup>, as approved by the
>     v3 schema change board.
>   * Added support for outdent handling to propagate upwards to parent 
>     elements if the full needed outdent amount could not be done in the local 
>     context, in order to be able to apply artwork outdenting to <artwork> 
>     elements which aren't situated immediately under <section>.
>   * Changed many instances of reference source indications (xml:base) from
>     "" to just "".  Removed the massaging
>     of reference XML to place seriesInfo elements in the backwards-incomplatible
>     location inside reference/front.  Changed the --add-xinclude flag to use
> as the location of draft reference
>     entries.
>   * Added a couple of entries to the test suite reference cache.
>   * Improved the handling of missing day information for <date> to make sure we 
>     don't pick days outside the acceptable range for the given month and also 
>     pick a reasonable value based on whether the year and month is in the past, 
>     present or future.
>   * Improved an error message for a case of disallowed XML text content.  
>     Tweaked the 'block_tags' list.
>   * Changed the manpage template to not use comma before 'and' when 
>     rendering a list of 2 elements.
>   * Changed the schema to permit <aside> within <dl> on request from the 
>     RPC, with schema change board approval.  Updated renderers, CSS and tests 
>     accordingly.
>   * Tweaked the CSS for block elements that are direct first children of 
>     <dd> to render the same way in HTML as in text (i.e., vertically distinct, 
>     not on the same line as <dt>).
>  -- Henrik Levkowetz <>  01 Sep 2020 08:06:27 +0000
> The preferred way to install xml2rfc is by doing 'pip install xml2rfc',
> and 'pip install --upgrade xml2rfc' to upgrade.  If there are system-
> installed python modules which pip will not upgrade, you may have to
> use 'pip install --upgrade --no-deps xml2rfc' and install dependencies
> manually.
> The new version is also available through SVN checkout, with
>   'svn checkout'
> Documentation for this release is built-in, and also available at:
> Regards,
> 	Henrik
> 	(via the mkrelease script)
> _______________________________________________
> xml2rfc mailing list