Upstream changes:
Release 0.9.1 (2012-06-17)
==========================
* docutils/setup.py
- Fix [ 3527842 ]. Under Python3, converted tests and tools were
installed in the PYTHONPATH. Converted tests are now
stored in ``test3/``, tools no longer need conversion.
If you installed one of Docutils versions 0.7 ... 0.9 with
``setup.py install`` under Python3, remove the spurious
``test/`` and ``tools/`` directories in the site library root.
* docutils/test/
- Make tests independent from the location of the ``test/`` directory.
- Use converted sources (from the ``build/`` directory) for tests under
Python3.
* docutils/tools/
- Make tools compatible with both, Python 2 and 3 without 2to3-conversion.
* docutils/io.py
- Fix writing binary data to sys.stdout under Python3 (allows
``rst2odt.py`` to be used with output redirection).
* docutils/parsers/rst/directives/misc.py
- Fix [ 3525847 ]. Catch and report UnicodeEncodeError with
``locale == C`` and 8-bit char in path argument of `include` directive.
* docutils/test/alltests.py
- class `Tee`: catch UnicodeError when writing to "ascii" stream or
file under Python3.
While here,
* register egg-info.
* switch to use external roman.py module.
* set LICENSE.
Release 0.8.1 (2011-08-30)
==========================
* General:
- Fix [ 3364658 ] (Change last file with Apache license to BSD-2-Clause)
and [ 3395920 ] (correct copyright info for rst.el).
* docutils/test/
- Apply [ 3303733 ] and [ 3365041 ] to fix tests under py3k.
* docutils/writers/latex2e/__init__.py
- Clean up Babel language setting. Restores Sphinx compatibility.
Release 0.8 (2011-07-07)
========================
* General:
- Handle language codes according to `BCP 47`_.
- If the specified language is not supported by Docutils,
warn and fall back to English.
- Math support: reStructuredText "math" role and directive,
``math`` and ``math_block`` doctree elements.
- Decode command line arguments with the locale's preferred encoding
(to allow, e.g., ``--title=Dornröschen``).
- Orphaned "python" reader and "newlatex2e" writer moved to the sandbox.
- New sub-module `error_reporting`: handle encoding/decoding errors
when reporting exceptions.
- Some additions to the Docutils core are released under the 2-Clause BSD
license, see COPYING_ for details.
.. _BCP 47: http://www.rfc-editor.org/rfc/bcp/bcp47.txt
.. _COPYING: COPYING.html
* reStructuredText:
- Most directives now support a "name" option that attaches a
reference name.
- Directive content may start on the first line also when the directive
type accepts options.
* docs/dev/policies.txt:
- Recommend the 2-Clause BSD license
(http://www.spdx.org/licenses/BSD-2-Clause)
for code that is kept under the author's copyright.
* tools/buildhtml.py:
- Fix ``--local`` switch.
* Fix [ 3018371 ] Added Lithuanian mappings by Dalius Dobravolskas.
* docutils/writers/html4css1/__init__.py
- Set "lang" argument for objects with class argument
"language-<language tag>".
- New setting "math-output" with support for HTML, MathML, and LaTeX.
* docutils/writers/latex2e/__init__.py
- Fix [ 3043986 ] AttributeError using :local: with table of content.
- Place title data in the document preamble.
- Load `babel` package only if required.
- Update list of supported languages.
- New config setting "hyperref-options".
No hard-coded "unicode" hyperref option (clash with xetex).
- Set language for custom roles, paragraphs, block-quotes, and
line-quotes with class argument "language-<language tag>".
- Fix [ 3095603 ] wrong quotes output for russian and other languages.
- Convert image URI to a local file path.
- Apply [ 3148141 ] fix multicolumn support when a colspanning cell
has more than one paragraph (Wolfgang Scherer).
- \leavevmode before longtable only when needed (prevents spurious vspace)
- do not advance table counter for tables without caption
* docutils/writers/xetex/__init__.py
- New writer generating LaTeX code for compiling with ``xelatex``.
A separate writer (inheriting from latex2e) instead of a ``--xetex``
option allows separate config options for XeTeX vs. LaTeX2e.
* docutils/writers/manpage.py
- Fix: BUG#3219183 - vertical space in definition lists containing markup.
- Fix: vertical space cleaning for option group ``.``.
* tools/editors/emacs/rst.el:
- Fix [ 3001100 ] does not handle spaces in filenames
(thanks to Jakub Wilk)
* docutils/utils.py:
- strip whitespace from stylesheet arguments
- exclude combining chars from column_width
(partial fix for [ 2926161 ])
* docutils/parsers/rst/directives/misc.py:
- Fix [ 1830389 ] Replace not breaking on getting system_messages from
nested_parse
* docutils/io.py:
- Do not close() sys.stdin, sys.stdout, or sys.stderr. Prevents
``Exception ValueError: 'I/O operation on closed file.'`` with Python 3.
Components:
* HTML writer:
o Support SVG and SWF images (thanks to Stefan Rank).
o Generate valid XHTML for centered images with targets. Use CSS classes instead of "align" tags for image alignment.
* LaTeX2e writer:
o Use the \url command for URLs (breaks long URLs instead of writing into the margin).
o Preserve runs of spaces in 'inline literals'.
o Deprecate figure_footnotes setting.
o Rename use_latex_footnotes setting to docutils_footnotes.
o New latex_preamble setting.
o Use PDF standard fonts (Times/Helvetica/Courier) as default.
o hyperref package called with unicode option (see the hyperref config tips for how to override).
o Drop the special output_encoding default ("latin-1"). The Docutils wide default (usually "UTF-8") is used instead.
* manpage writer:
o Titles level 1, that is .SH, always uppercase.
o Apply patch from mg: literal text should be bold in man-pages.
General:
* io.FileInput opens files as text files with universal newline support (mode "rU", configurable with the new optional argument "mode").
* setup.py:
o Python 3 support: copy test/ and tools/ to the build-dir and convert Python sources with 2to3.
* General:
- Docutils is now compatible with Python versions from 2.3 up to 2.6
and convertible to 3.1 code.
+ Node.__nonzero__ returns True instead of 1.
+ use os.walk instead os.path.walk.
+ minimize "types" module where possible.
+ Backwards-compatible changes to remove python2.6 -3 deprecation warnings
+ Text nodes now subclass unicode rather than UserString
(which is gone in python 3.0).
+ 3.0 compatibility module docutils._compat
+ Drop 2.2 compatibility workarounds.
+ Drop extras/optparse.py and extras/textwrap.py
(stdlib modules since 2.3).
- OpenOffice export: ODT writer moved from sandbox to Doctutils core.
- Unix man page export: manpage writer moved from sandbox to Doctutils
core.
- Apply [ 1719345 ] Galician translation
- Apply [ 1905741 ] Polish translation
- Apply [ 1878977 ] make_id(): deaccent characters.
- Apply [ 2029251 ] return nonzero when tests fail.
- Fix [ 1692788 ] allow UTF-8 in style sheets.
- Fix [ 2781629 ] support non-ASCII chars in file names.
- Apply [ 2845002 ] let ``--no-raw`` disable raw *roles* too.
- Fix [ 2831643 ] by renaming DirectiveError.message to DirectiveError.msg
- Fix [ 2821266 ] --strict option works now like --halt=info.
- Fix [ 2788716 ] DirectiveError now correctly reports source and line.
- Fix [ 1627229 ] hyperlink references in substitutions.
- The "newlatex" writer is orphaned.
* reStructuredText:
- Documented Unicode characters allowed as inline markup openers,
closers, and delimiters.
- Allow units for all length specifications.
- Allow percent sign in "scale" argument of "figure" and "image" directives.
- Bugfix: The "figalign" argument of a figure now works as intended
(aligning the figure, not its contents).
- Align images with class "align-[right|center|left]"
(allows setting the alignment of an image in a figure).
* docutils/nodes.py:
- Added ``Element.__contains__`` method, for the in-operator.
* docutils/parsers/rst/states.py:
- Apply [ 1994493 ] Patch to support all kinds of quotes in inline markup.
- Added support for Unicode inline markup delimiters "‐ ‑ ‒ – —" and
" " (non-breaking space), and "¡ ¿" openers.
* docutils/parsers/directives/misc.py:
- Added ``start-line`` and ``end-line`` options to "include"
directive to select a range of lines.
- Hard tabs in literal inclusions are replaced by spaces. This is
configurable via the new ``tab-width`` option of the "include" directive
(a negative tab-width prevents tab expansion).
* docutils/utils.py:
- Add ``get_stylesheet_list`` function.
- Apply [ 2834836 ] print info at halt
* docutils/transforms/universal.py:
- Raise default priority of StripClasses to exclude stripped classes from
the ToC.
* docutils/writers/html4css1/__init__.py:
- ``--stylesheet`` and ``--stylesheet-path`` options support a comma
separated list of stylesheets.
- Address [ 1938891 ] Inline literal text creates "pre" span only when
needed to prevent inter-word line wraps.
- Use `translate` method instead of repeated `replace` calls.
- Fix [ 1757105 ] New ``table-style`` option. Added to standard table
classes to allow CSS styling that does not interfere with other
table-using constructs (field lists, citations, ...).
* docutils/writers/newlatex2e/__init__.py:
- Apply [ 1612821 ] Double quotes in literal text in Italian/German
* docutils/writers/latex2e/__init__.py (see also
`<docs/user/docutils-05-compat.sty.html>`__) :
- Add ``--embed-stylesheet`` option.
- Apply [ 1474017 ] image vertical alignment is reversed.
- Apply [ 2051599 ] multi-page tables in latex writer (from pabigot).
- Change: has_key for dictionaries (not Nodes) to in-operator.
- Merge adjacent citations into one latex cite command.
- Failsave implementation of custom roles. LaTeX compilation now ignores
unknown classes instead of aborting with an error.
- Support custom roles based on standard roles.
- LaTeX packages can be used as ``--stylesheet`` arguments without
restriction. (A style sheet is now referenced with the ``\usepackage``
command, if it ends with ``.sty`` or has no extension.)
- Add ``bp`` to lenghts without unit (prevents LaTex errors).
- Correctly write length unit ``pt`` as ``bp`` in LaTeX.
- Do not convert ``px`` to ``pt`` (``px`` is supported by pdfTeX since
2005-02-04 as a configurable length unit).
- Do not use fontenc, nor the obsolete 'ae' and 'aeguill' packages
if font-encoding is set to ''. LaTeX defaults to OT1 then.
- Set sub- and superscript role argument in text mode not as math.
Use a custom role based on sub-/superscript if you want italic shape.
- Shorter preamble and less dependencies: Load packages and define macros
only if required in the document.
- Use the name prefix ``DU`` for all Docutils specific LaTeX macros.
- New custom environments and commands with optional "classes" argument.
- Simpler LaTeX encoding, e.g. "\%" instead of "{\%}".
- Better conformance to Docutils specifications with ``--use-latex-toc``.
Support for LaTeX generated ToC also with unnumbered sections.
- If 'sectnum_xform' is False, the 'sectnum' directive triggers
section numbering by LaTeX.
- Use default font in admonitions and sidebar.
- Align of image in a figure defaults to 'center'.
- Bugfix: Newlines around targets and references prevent run-together
paragraphs.
- Fix internal hyperlinks.
- Use class defaults for page margins ('typearea' now optional).
- Float placement made configurable, default changed to "here definitely".
- Typeset generic topic as "quote block with title".
- Use template (file and configuration option).
- In the default template, load cmap.sty (fix text extraction in PDF) and
fixltx2e.sty (LaTeX patches, \textsubscript).
- Render doctest blocks as literal blocks (fixes [ 1586058 ]).
- Use `translate` instead of repeated `replace` calls for text encoding.
- Hyperlinked footnotes and support for symbol footnotes and
``--footnote-references=brackets`` with ``--use-latex-footnotes``.
- Complete pairs of binary options
(``--figure-footnotes, --figure-citations, --link-stylesheet``,
``--use-docutils-toc, --use-docutils-docinfo, --topic-abstract``)
- New defaults:
- font-encoding: "T1" (formerly implicitely set by 'ae').
- use-latex-toc: true (ToC with page numbers).
- use-latex-footnotes: true (no mixup with figures).
* docutils/writers/manpage.py
- Do not print version at document end, this is done by the viewer.
- Do not print date at document end, this is done by the viewer.
- Fix storage of docinfo fields for none standard fields.
* docutils/tools/rst2man.py
it must be unconditionally built and installed.
(when building the py-docutils package while already having it installed,
setup.py excluded the module, causing PLIST breakage with USE_DESTDIR=yes)
Release 0.5 (2008-06-25)
========================
* docutils/languages/he.py: Added to project: Hebrew mappings by
Meir Kriheli.
* docutils/parsers/rst/languages/he.py: Added to project: Hebrew
mappings by Meir Kriheli.
* docutils/frontend.py:
- Configuration files are now assumed and required to be
UTF-8-encoded.
- Paths of applied configuration files are now recorded in the
runtime setting ``_config_files`` (accessible via
``--dump-settings``).
- Added ``--strip-elements-with-class`` and ``--strip-class``
options (``strip_elements_with_classes`` and ``strip_classes``
settings).
* docutils/io.py:
- Added code to determine the input encoding from data: encoding
declarations or the presence of byte order marks (UTF-8 & UTF-16).
- Added support for IronPython 1.0.
* docutils/nodes.py:
- Added ``document.__getstate__`` method, for pickling.
* docutils/parsers/rst/states.py:
- Allow ``+`` and ``:`` in reference names.
- Unquoted targets beginning with an underscore (``.. __target:
URI``) are no longer accepted.
- Added support for multiple attributions in a physical block quote
(indented text block), dividing it into multiple logical block
quotes.
- Added support for unicode bullets in bullet lists: "•", "‣", and
"⁃".
- Added support for new object-oriented directive interface,
retaining compatibility to the old functional interface.
- Added support for throwing ``DirectiveError``'s from within
directive code.
* docutils/parsers/rst/__init__.py:
- Added ``Directive`` base class.
- Added ``DirectiveError`` base class.
- Fixed ``file_insertion_enabled`` & ``raw_enabled`` setting
definitions.
* docutils/parsers/directives/:
- Refactored all reStructuredText directives to use the new
object-oriented directive interface. Errors are now (mostly)
thrown using the new ``DirectiveError`` class.
* docutils/parsers/directives/misc.py:
- Added ``start-after`` and ``end-before`` options to ``include``
directive; thanks to Stefan Rank.
* docutils/transforms/universal.py:
- Added ``StripClassesAndElements`` transform to remove from the
document tree all elements with classes in
``settings.strip_elements_with_classes`` and all "classes"
attribute values in ``self.document.settings.strip_classes``.
* docutils/transforms/writer_aux.py:
- Added ``Admonitions`` transform to transform specific admonitions
(like ``note``, ``warning``, etc.) into generic admonitions with a
localized title.
* docutils/writers/html4css1/__init__.py:
- Moved template functionality from the PEP/HTML writer here.
- Expanded the fragments available in the ``parts`` attribute.
- Moved ``id`` attributes from titles to surrounding ``div``
elements.
- Dropped all ``name`` attributes of ``a`` elements (``id`` is
universally supported now).
- ``template.txt`` is now opened in text mode instead of binary mode
(to ensure Windows compatibility).
- ``a`` elements now have an "internal" or "external" class,
depending on reference type.
* docutils/writers/html4css1/template.txt: Added to project.
* docutils/writers/pep_html/:
- Moved template functionality to the HTML writer.
* docutils/writers/s5_html/__init__.py:
- Added ``view_mode`` & ``hidden_controls`` settings
(``--view-mode`` & ``--hidden-controls/--visible-controls``
options).
* docutils/writers/latex2e/__init__.py:
- Add ``--literal-block-env``
- Fix: escaping ``%`` in href urls.
- Move usepackage hyperref after stylesheet inclusion.
- Fix: scrartcl does not have chapter but scrreprt.
- Add newline after ``\end{verbatim}``.
- Merge smaller differences from latex2e_adaptive_preamble.
- Add ``use-part-section``.
- Put leavevmode before longtable to avoid having it moved before sub/pargraph.
- Using leavemode option_list no longer needs to check if parent
is a definition list.
- Append ``\leavemode`` to definition list terms.
- No longer write visit\_/depart_definition_list_item comments to
output.
- Table column width with 3 decimal places.
- Add table stubs support (boldfont).
- Add assemble_parts to writer.
- Add simply support for nested tables.
- Fix verbatim in tables if use-verbatim-when-possible.
- Use section commands down to subparagraph.
- Put ensuremath around some latin1 chars.
- Set ``usepackage[utf8x]{inputenc}`` for utf-8.
- New option ``--use-bibtex=style,db1,db2``.
- New option ``--reference-label`` to allow usage of LaTeX ref for
labels in section references.
- Add a label after every section to support sectionnumbers as reference
labels.
- Fix: bug# 1605376 rst2latex: bad options group list
- Remove inactive code for use_optionlist_for_option_list.
- Remove latex comments from option_list output.
- Fix: bug# 1612270 double qoutes in italian literal.
- Fix: output ``hypertarget{ node.get(refid) }{}`` from visit_target.
- Add option --use-latex-abstract.
- Image width unit ``px`` is translated to ``pt``.
- Add image height support.
- Fix: image width ``70%`` is converted ``0.700\linewidth``.
bug #1457388
- Fix: Do not escape underscores in citation reference labels if
use-latex-citations is set.
- Use centering instead of center for figure contents, to avoid vertical
space.
- Recognize table class: borderless, nolines, booktabs, standard.
- Fix: Renaming contents section does not work with latex writer; SF
bug #1487405.
- Applied patch for custom roles with classes from Edward Loper.
- Fixed bug that caused crashes with more than 256 lists.
* docutils/writers/pep_html/__init__.py:
- Changed to support new python.org website structure and
pep2pyramid.py.
* docs/howto/security.txt: "Deploying Docutils Securely", added to
project.
* tools/buildhtml.py:
-- Added ``ignore`` setting to exclude a list of shell patterns
(default: ``.svn:CVS``).
* tools/editors/emacs/rst.el:
- Changed license to "GPL".
- Added ``rst-straighten-decorations`` function.
- The ``compile`` module is now always loaded.
- Added ``rst-toggle-line-block`` function.
- Headings consisting only of non-ASCII characters are now
recognized by ``rst-toc`` and ``rst-adjust``.
- Added font-lock support for multi-line comments where the first
comment line is empty.
- Added ``(require 'font-lock)``.
* setup.py:
- Provide descriptive error message if distutils is missing.
Components:
* Added an S5/HTML writer and the rst2s5.py front end: multi-platform,
multi-browser HTML slide shows.
* The newlatex2e writer is nearing completion.
* Added a DocTree reader, publish_doctree and publish_from_doctree convenience
functions, for document tree extraction and reprocessing.
reStructuredText:
* Added directives: "container" (generic block-level container),
"default-role" (role used for `backtick` syntax), "title" (document title
metadata), and "date" (generate the current local date, for substitution
definitions).
* Length units are now supported for image sizes.
* Added standard definition files for special characters etc.
Internationalization:
* Added Japanese and Simplified Chinese language mappings, and support for
double-width CJK-characters in tables and section titles.
Documentation:
* Added a guide for distributors (package maintainers) and a guide for
developers.
General:
* Added significant Emacs support for reST.
* Added a --strip-comments option.
* --embed-stylesheet is now the default for the HTML writer (rather than
--link-stylesheet).
python*-pth packages into meta-packages which will install the non-pth
packages. Bump PKGREVISIONs on the non-pth versions to propagate the
thread change, but leave the *-pth versions untouched to not affect
existing installations.
Sync all PYTHON_VERSIONS_AFFECTED lines in package Makefiles.
Major changes since Docutils 0.3.5:
A special "line block" syntax useful for addresses, verse, and other cases
of significant line breaks has been added (also refer to the reStructuredText
Markup Specification).
Empty sections are now allowed.
A "raw" role has been added.
The LaTeX writer now escapes consecutive dashes (like "--" or "---") so that
they are no longer transformed by LaTeX to en or em dashes. If you want to
write en or em dashes using pure ASCII, please refer to the FAQ entry about
non-ASCII characters.
A dependency recorder has been added.
A directive has been added for compound paragraphs.
Many other improvements and bug fixes; see the history file of Docutils 0.3.7
at http://docutils.sourceforge.net/0.3.7/HISTORY.html.
Moved maintainership to myself as discussed with minsikkim@.
The purpose of the Docutils project is to create a set of tools
for processing plaintext documentation into useful formats, such
as HTML, XML, and TeX.