1.. -*- coding: utf-8 -*- 2 3================== 4 Docutils History 5================== 6 7:Author: David Goodger; open to all Docutils developers 8:Contact: docutils-develop@lists.sourceforge.net 9:Date: $Date: 2021-04-17 14:41:26 +0200 (Sa, 17. Apr 2021) $ 10:Revision: $Revision: 8705 $ 11:Web site: https://docutils.sourceforge.io/ 12:Copyright: This document has been placed in the public domain. 13 14.. contents:: 15 16Release 0.17.1 (2021-04-16) 17=========================== 18 19 20* docutils/utils/math/latex2mathml.py 21 22 - Fix bug #406 (MathML translation of ``\mathbf``). 23 24* docutils/writers/latex2e/__init__.py: 25 26 - Open "docutils.sty" with encoding set to "utf8". 27 Fixes bug #414: error with Py3k when locale encoding is "ascii". 28 29* docutils/parsers/*.py, docutils/transforms/*.py 30 31 - Provide fallbacks for parser config settings 32 to facilitate programmatic use. 33 34* docutils/writers/manpage.py 35 36 - Apply patch #160: move macro defs above ``.TH`` 37 (thanks Willie and sorry for the delay). 38 39Release 0.17 (2021-04-03) 40========================= 41 42* General 43 44 - Installing with ``setup.py`` now requires ``setuptools``. 45 Alternatively, install with `pip`_ (or "manually"). 46 - Use importlib.import_module() to programmatically import modules. 47 - Fix bug #385: Import of language modules. 48 49 .. _pip: https://pypi.org/project/pip/ 50 51* docutils/MANIFEST.in 52 53 - Exclude test outputs. 54 55* docutils/__init__.py 56 57 - VersionInfo: ValueError for invalid values, fix comparison to tuples. 58 59* docutils/languages/ 60 docutils/parsers/rst/languages/ 61 62 - Apply patch # 177 Arabic mappings by Shahin. 63 - Apply patch for bug #399 Fixes in Korean translation by Shinjo Park. 64 65* docutils/nodes.py 66 67 - Apply patch #165 "Fix error when copying `system_message` node" 68 by Takeshi KOMIYA. 69 - Apply version of patch #167 "Let document.set_id() register all 70 existing IDs" (thanks to Takeshi KOMIYA). 71 - Fix bug #410: Use a "property" function to recursively fetch 72 `Node.document` value from parent node. 73 74* docutils/parsers/recommonmark_wrapper.py 75 76 - New, **experimental** wrapper to integrate the 77 `recommonmark`__ Markdown parser for use with Docutils. 78 Currently only tested with recommonmark version 0.4.0. 79 80 __ https://pypi.org/project/recommonmark/ 81 82* docutils/parsers/rst/directives/body.py 83 84 - Make the sidebar's "title" argument optional (feature request #69). 85 86* docutils/parsers/rst/directives/html.py 87 88 - Make "meta" elements available for "latex" and "odt". 89 90* docutils/parsers/rst/directives/misc.py 91 92 - Prevent infinite inclusion loops. 93 94* docutils/parsers/rst/roles.py 95 96 - Apply patch #174 `Lowercase new role names on registration` 97 by John Thorvald Wodder II. 98 99* docutils/utils/smartquotes.py 100 101 - Fix bug #383: Smart quotes around opening and separator characters. 102 103* docutils/transforms/components.py 104 105 - Allow a comma-separated list of formats for the Filter transform. 106 107* docutils/writers/html* 108 109 - Implement feature request #40 `Option to embed images as data URI`. 110 111* docutils/writers/html5_polyglot/__init__.py 112 113 - Use the new semantic tags <main>, <section>, <header>, 114 <footer>, <aside>, <figure>, and <figcaption>. 115 See ``minimal.css`` and ``plain.css`` for styling rule examples. 116 117 Change the `initial_header_level` setting default to "2", as browsers 118 use the `same style for <h1> and <h2> when nested in a <section\>`__. 119 120 __ https://stackoverflow.com/questions/39547412/same-font-size-for-h1-and-h2-in-article 121 122 - Use HTML text-level tags <small>, <s>, <q>, <dfn>, <var>, <samp>, <kbd>, 123 <i>, <b>, <u>, <mark>, and <bdi> if a matching class value 124 is found in `inline` and `literal` elements. 125 Use <ins> and <del> if a matching class value 126 is found in `inline`, `literal`, or `container` elements. 127 Use <small> for generated code line numbers. 128 129 - Fix bug #398: properly close link tag to "schema.dcterms". 130 131 - Add a `viewport meta tag`__ to fix rendering in mobile browsers. 132 133 __ https://developer.mozilla.org/en-US/docs/Web/HTML/Viewport_meta_tag 134 135 - Use <video> for images with video MIME types supported by HTML5. 136 137* docutils/writers/html5_polyglot/minimal.css 138 139 - Move non-essential styling to ``plain.css``. 140 Small fixes and tweaks. 141 142 - Support "captionbelow" class value for tables. 143 144 - Display code line numbers as pseudo-elements which are skipped 145 when copying text from code blocks. Solves feature request #32. 146 147* docutils/writers/html5_polyglot/plain.css 148 149 - Support numbered figures. 150 151* docutils/writers/html5_polyglot/responsive.css 152 153 - New optional style that adapts to different screen sizes. 154 155* docutils/writers/latex2e/__init__.py: 156 157 - Use LaTeX environments for admonitions and "class wrappers" for styling 158 admonitions and titles if the new configuration setting 159 `legacy_class_functions`_ is False. 160 161 .. _legacy_class_functions: docs/user/config.html#legacy-class-functions 162 163 - Remove backwards compatibility code for the deprecated 164 `styling command`__ prefix ``\docutilsrole``. 165 166 __ docs/user/latex.html#custom-interpreted-text-roles 167 168 - Remove legacy LaTeX stylesheet ``docutils-05-compat.sty``. 169 170 - Support the `memoir` LaTeX document class. 171 Fixes bugs #390, #391, and #392. Thanks to John Thorvald Wodder II. 172 173 - The special value "auto" for the `graphicx_option`_ setting 174 is no longer supported (it never worked for xetex/luatex). 175 176 .. _graphicx_option: docs/user/config.html#graphicx-option 177 178 - Most helper commands and element definitions are now defined in the 179 LaTeX package `docutils.sty`_ and only inserted in the document 180 preamble if the `stylesheet`__ setting does not list "docutils". 181 182 .. _docutils.sty: https://ctan.org/pkg/docutils 183 __ docs/user/config.html#stylesheet-latex-writers 184 185 - Apply patch #173 "Make \*TeX writers convert nonstandard table 186 classes to DUclass environments" by John Thorvald Wodder II. 187 188 - Fix bug #408 "Incorrect assert in latex writer 189 for multiple citation references". 190 191 - Apply patch #175 "Fix alignment of nested tables" 192 by John Thorvald Wodder II. Additional fixes to table alignment. 193 194 - Do not write Docutils-generated ToC, when ``use_latex_toc`` 195 is True. (This did happen when publishing from a doctree.) 196 197 - Set PDF document properties from "meta" directive content. 198 199 - Apply version of patch #176 "LaTeX writer: Append \leavevmode to 200 non-docinfo field names" by John Thorvald Wodder II. 201 202* docutils/writers/manpage.py 203 204 - Fix #394 fix missing new line after rubric. 205 - Patch #168 fix crashing on empty citation (by Takeshi KOMIYA). 206 - Fix #126 manpage title with spaces. 207 - Fix #380 commandline option problem in sphinx. 208 209* docutils/writers/odf_odt/__init__.py: 210 211 - Fix/improve metadata handling: 212 fix "keyword" splitting, 213 allow generic fields (stored as "Custom Properties"). 214 215* docutils/writers/pseudoxml.py: 216 217 - New option `detailled`__. 218 219 __ docs/user/config.html#detailled 220 221* test/DocutilsTestSupport.py 222 223 - Run python3 test like python2 against source not the build/-directory 224 225* tools/docutils-cli.py 226 227 - New generic command line front end that allows the free selection of 228 reader, parser, and writer components. 229 230 231Release 0.16 (2020-01-16) 232========================= 233 234* General 235 236 - Dropped support for Python 2.6, 3.3 and 3.4 237 - Docutils now supports Python 2.7 and Python 3.5+ natively 238 (without conversion by ``2to3``). 239 - Keep `backslash escapes`__ in the document tree. Backslash characters in 240 text are be represented by NULL characters in the ``text`` attribute of 241 Doctree nodes and removed in the writing stage by the node's 242 ``astext()`` method. 243 244 __ http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#escaping-mechanism 245 246* docutils/io.py 247 248 - Remove the `handle_io_errors` option from io.FileInput/Output. 249 250* docutils/nodes.py 251 252 - Speed up Node.next_node(). 253 - If `auto_id_prefix`_ ends with "%", this is replaced with the tag name. 254 - Warn about Node.traverse() returning an iterator instead of a list 255 in future. 256 257 .. _auto_id_prefix: docs/user/config.html#auto-id-prefix 258 259* docutils/statemachine.py 260 261 - Patch [ 158 ]: Speed up patterns by saving compiled versions (eric89gxl) 262 263* docutils/transforms/universal.py 264 265 - Fix [ 332 ]: Standard backslash escape for smartquotes. 266 - Fix [ 342 ]: No escape in roles descending from `inline literal`. 267 268* docutils/utils/__init__.py 269 270 - unescape() definition moved to `nodes` to avoid circular import 271 dependency. Fixes [ 366 ]. 272 273* docutils/writers/latex2e/__init__.py: 274 275 - Fix topic subtitle. 276 - Make "rubric" bold-italic and left aligned. 277 - Fix [ 339 ] don't use "alltt" or literal-block-environment 278 in admonitions and footnotes. 279 - Deprecation warning for ``\docutilsrole``-prefixed styling commands. 280 - Add "latex writers" to the `config_section_dependencies`. 281 - Ignore classes for `rubric` elements 282 (class wrapper interferes with LaTeX formatting). 283 284* docutils/writers/manpage.py 285 286 - Apply fix for [ 287 ] comma after option is bold. 287 - Apply fix for [ 289 ], line starting with ``.`` in a text. 288 289* docutils/writers/odf_odt/__init__.py: 290 291 - Fix: ElementTree.getchildren deprecated warning 292 293* docutils/writers/xetex/__init__.py: 294 295 - Add "latex writers" to the `config_section_dependencies`. 296 297* test/alltests.py 298 299 - Fix: 377 ResourceWarning: unclosed file python3.8 300 Close alltests.out with atexit. 301 302* test/functional/* 303 304 - Fix: 377 ResourceWarning: unclosed file python3.8 305 Read defaults file with context. 306 307 - Set "auto_id_prefix" to "%" (expands to tag-names). 308 Results in descriptive links in HTML and more localized changes when 309 editions to the input add or remove auto-ids. 310 311* test/test_io.py: 312 313 - Apply patch #157: avoid test failure because of a ``ResourceWarning``. 314 315* test/test_writers/test_odt.py: 316 317 - Fix [ 359 ]: Test suite failes on Python 3.8. odt xml sorting. 318 Use ElementTree instead of minidom. 319 320* tools/buildhtml.py 321 322 - New option `html-writer`_. 323 324 .. _html-writer: docs/user/config.html#html-writer 325 326 327Release 0.15.1 (2019-07-24) 328=========================== 329 330source: branches/rel-0.15 331 332Bugs #366 fix release for python2 only. 333 334 335Release 0.15 (2019-07-20) 336========================= 337 338* General 339 340 - Dropped support for Python 2.4, 2.5, 3.1, and 3.2. 341 - Infrastructure automation. 342 343* docs/ref/rst/restructuredtext.txt: 344 345 - Document rST syntax change: Tokens like ``:this:example:`` are now valid 346 field list names (instead of ordinary text). 347 348* docutils/io.py 349 350 - Fix [ 348 ] Since Python 3.4, the 'U' universal newlines mode has been 351 deprecated (thanks to hugovk). 352 353* docutils/languages/ko.py 354 docutils/parsers/rst/languages/ko.py: 355 356 - Apply [ 153 ] Korean mappings by Thomas Sungjin Kang. 357 358* docutils/nodes.py 359 360 - Fix [ 251 ] system_message.copy() TypeError. 361 - Element.copy() also copies `document`, `line`, and `source` attributes. 362 363* docutils/parsers/rst/__init__.py: 364 365 - Apply [ 152 ] reset `default role` at end of document. 366 367* docutils/parsers/rst/states.py: 368 369 - Allow embedded colons in field list field names. 370 371* docutils/parsers/rst/directives/html.py: 372 373 - Fix bug #281: Remove escaping backslashes in meta directive content. 374 375* docutils/parsers/rst/directives/misc.py: 376 377 - Don't convert tabs to spaces, if `tab_width` is negative in 378 `include` directive with `code` option. 379 380* docutils/parsers/rst/directives/tables.py: 381 382 - Apply patch #121: Add "width" option for the table directives. 383 384* docutils/transforms/frontmatter.py: 385 386 - Add field name as class argument to generic docinfo fields unconditionally. 387 388* docutils/transforms/references.py: 389 390 - Fix bug #331: fixed the "trim" options of the "unicode" directive. 391 392* docutils/utils/__init__.py: 393 394 - Deprecate `unique_combinations` (obsoleted by `itertools.combinations`). 395 396* docutils/utils/smartquotes.py: 397 398 - Fix bug #332: use open quote after whitespace, ZWSP, and ZWNJ. 399 400* docutils/writers/html5_polyglot/ 401 402 - automatically add HTML5-compatible meta tags for docinfo items 403 "authors", "date", and "copyright". 404 405* docutils/writers/_html_base.py 406 407 - Fix bug #358: Non-breaking space removed from fixed-width literal. 408 409* docutils/writers/latex2e/__init__.py: 410 411 - Fix bug #323: spurious ``\phantomsection`` and whitespace in 412 ``parts['title']``. 413 - Fix bug #324: Invalid LaTeX for table with empty multicolumn cell. 414 - Fixes to literal block handling. 415 416 417Release 0.14 (2017-08-03) 418========================= 419 420* docs/ref/docutils.dtd: 421 422 - Enable validation of Docutils XML documents against the DTD: 423 424 Use attribute type NMTOKEN instead of REFID for the `refid` attribute 425 and NMTOKENS for `backrefs`: REFID refers to an ID type instance, 426 however, the `ids` attribute cannot use the ID type because `XML only 427 allows one ID per Element Type`__ and doesn't support a multiple-ID 428 "IDS" attribute type. 429 430 __ https://www.w3.org/TR/REC-xml/#sec-attribute-types 431 432* docs/ref/rst/restructuredtext.txt: 433 434 - Added documentation for escaped whitespace in URI contexts. 435 - Clarify use of Unicode character categories. 436 437* docutils/parsers/rst/states.py: 438 439 - Added functionality: escaped whitespace in URI contexts. 440 - Consistent handling of all whitespace characters in inline markup 441 recognition. Fixes [ 307 ] and [ 3402314 ] (now [ 173 ]). 442 443* docutils/parsers/rst/directives/images.py: 444 445 - Added support for escaped whitespace in URI contexts. 446 447* docutils/parsers/rst/directives/tables.py: 448 449 - Rework patch [ 120 ] (revert change to ``Table.get_column_widths()`` 450 that led to problems in an application with a custom table directive). 451 452* docutils/transforms/frontmatter.py: 453 454 - Fix [ 320 ] Russian docinfo fields not recognized. 455 456* docutils/transforms/references.py: 457 458 - Don't add a second ID to problematic references. 459 460* docutils/transforms/universal.py: 461 462 Fix SmartQuotes: warn only once if language is unsupported, 463 keep "rawsource" when "educating" quotes. 464 465* docutils/utils/__init__.py: 466 467 - Added ``split_escaped_whitespace`` function, support for escaped 468 whitespace in URI contexts. 469 470* docutils/utils/error_reporting.py: 471 472 - Fix [ 321 ] Import block might cause name error. 473 474* docutils/utils/smartquotes.py: 475 476 - Update quote definitions for languages et, fi, fr, ro, sv, tr, uk. 477 - New quote definitions for hr, hsb, hu, lv, sh, sl, sr. 478 - Fix [ 313 ] Differentiate apostrophe from closing single quote 479 (if possible). 480 - Fix [ 317 ] Extra space inserted with French smartquotes. 481 - Add command line interface for stand-alone use (requires 2.7). 482 483* docutils/writers/_html_base.py: 484 485 - Provide default title in metadata (required by HTML5). 486 - Fix [ 312 ] HTML writer generates invalid HTML if the table has two tags. 487 - Fix [ 319 ] The MathJax CDN shut down on April 30, 2017. For security 488 reasons, we don't use a third party public installation as default but 489 warn if math-output_ is set to MathJax without specifying a URL. 490 491* docutils/writers/html4css1/__init__.py: 492 493 - Apply [ 125 ] HTML writer: respect automatic table column sizing. 494 495* docutils/writers/latex2e/__init__.py: 496 497 - Handle class arguments for block-level elements by wrapping them 498 in a "DUclass" environment. This replaces the special handling for 499 "epigraph" and "topic" elements. 500 501* docutils/writers/manpage.py: 502 503 - Apply [ 141 ] Handling inline in manpage writer. 504 505* docutils/writers/odf_odt/__init__.py: 506 507 - Command setting ``language`` now sets the default language 508 of the generated ODF document. 509 - The use of image directive options :width: (%), :scale:, etc now 510 set the width/height/size of images in the generated ODF 511 documents. 512 - The heading/title of admonitions now reflects the language 513 specified by the ``language`` setting. 514 - Fixed [ 306 ] only first of multiple "image" directives with the same URL 515 shown in output. 516 - Fixed [ 282 ] python3: AttributeError. 517 518* tools/rst2html4.py: New front-end. 519 520* tools/dev/generate_punctuation_chars.py: New skript 521 to test and update utils.punctuation_chars. 522 523 524Release 0.13.1 (2016-12-09) 525=========================== 526 527* docutils/languages/fa.py 528 docutils/parsers/rst/languages/fa.py 529 docutils/languages/la.py 530 docutils/parsers/rst/languages/la.py: 531 532 - Apply [ 133 ] Persian mappings by Shahin Azad. 533 - Apply [ 135 ] Language modules for Latvian by Alexander Smishlajev 534 535* docutils/nodes.py 536 537 - Fix [ 253 ] Attribute key without value not allowed in XML. 538 539* docutils/parsers/ 540 541 - Apply [ 103 ] Recognize inline markups without word boundaries. 542 - Enable escaping in embedded URIs and aliases (fixes [ 284 ]). 543 544* docutils/parsers/rst/__init__.py 545 546 - Fix [ 233 ] Change the base URL for the :rfc: role. 547 548* docutils/parsers/rst/directives/tables.py 549 550 - Apply [ 120 ] tables accept option widths: list of relative widths, 'auto' 551 or 'grid'. 552 553 - Implement feature request [ 48 ] 554 Add :align: option to the table directives. 555 Thanks to Takeshi KOMIYA for the patch. 556 557* docutils/parsers/rst/roles.py 558 559 - Fix [ 295 ] Class argument for custom role inheriting from math. 560 561* docutils/parsers/rst/tableparser.py 562 563 - Really fix [ 159 ] Spurious table column alignment errors. 564 565* docutils/transforms/frontmatter.py 566 567 - Add name of generic bibliographic fields as a "classes" attribute value 568 (after conversion to a valid identifier form). 569 570* docutils/utils/error_reporting.py 571 572 - Fix [ 130 ] support streams expectiong byte-strings in ErrorOutput. 573 574* docutils/utils/math/math2html.py 575 576 - Add ``\colon`` macro, fix spacing around colons. Fixes [ 246 ]. 577 - New upstream version (additional macros, piecewise integrals and sums). 578 579* docutils/writers/_html_base.py 580 581 - New auxiliary module for definitions common to all HTML writers. 582 583* docutils/writers/html5_polyglot/ 584 585 - New HTML writer generating clean, polyglot_ markup conforming to 586 `HTML 5`_. 587 588 The CSS stylesheets ``minimal.css`` and ``plain.css`` contain required 589 and recommended layout rules. 590 591* docutils/writers/html4css1/__init__.py 592 593 - Add "docutils" to class values for "container" object to address [ 267 ]. 594 - Apply patch [ 119 ] by Anatoly Techtonik: use absolute paths for 595 ``default_stylesheet_path`` and ``default_template_path``. 596 - Fix [ 266 ] creating labels/class values in description list items. 597 - Do not use <sup> and <sub> tags inside <pre> (parsed-literal blocks). 598 - Fix footnotes with content that does not start with a paragraph. 599 - Use https in default MathJax URL (report Alan G Isaac). 600 - Outsourcing of common code to _html_base.py. 601 602* docutils/writers/latex2e/__init__.py 603 604 - Fix [ 262 ] Use ``\linewidth`` instead of ``\textwidth`` for figures, 605 admonitions and docinfo. 606 607 - Use absolute path for ``default_template_path``. 608 609 - Removed deprecated options ``--use-latex-footnotes`` and 610 ``--figure-footnotes``. 611 612 - Cleaner LaTeX code for enumerations and literal blocks. 613 614 - Use "hyperref" package together with "bookmark" (improved hyperlinking 615 by the same author). 616 617 - Fix [ 286 ] Empty column title cause invalid latex file. 618 619 - Fix [ 224 ] Fix rowspan support for tables. 620 621 - Let LaTeX determine the column widths in tables with "colwidths-auto". 622 Not suited for multi-paragraph cells! 623 624* docutils/writers/odf_odt/__init__.py 625 626 - remove decode.encode of filename stored in zip. 627 628* docutils/writers/xetex/__init__.py 629 630 - LuaLaTex compatibility: do not load "xunicode". 631 632* tools/ 633 634 - New front-end ``rst2html5.py``. 635 636* tox.ini 637 638 - Test py26, py27, py33 and py34. 639 640 To use, install the ``tox`` package via pip or easy_install and use 641 tox from the project root directory. 642 643.. _polyglot: http://www.w3.org/TR/html-polyglot/ 644.. _HTML 5: http://www.w3.org/TR/html5/ 645.. _XHTML 1.0: http://www.w3.org/TR/xhtml1/ 646 647 648Release 0.12 (2014-07-06) 649========================= 650 651* docs/ref/rst/directives.txt 652 653 - Update "math" and "csv-table" descriptions. 654 655* docutils/parsers/rst/directives/images.py 656 657 - Fix [ 258 ] figwidth="image" generates unitless width value. 658 659* docutils/parsers/rst/states.py 660 661 - Improve error report when a non-ASCII character is specified as 662 delimiter, quote or escape character under Python 2. 663 Fixes [ 249 ] and [ 250 ]. 664 665* docutils/writers/html4css1/__init__.py 666 667 - Don't add newline after inline math. 668 Thanks to Yury G. Kudryashov for the patch. 669 670* docutils/writers/latex2e/__init__.py 671 672 - Fix [ 239 ] Latex writer glues paragraphs with figure floats. 673 - Apply [ 116 ] by Kirill Smelkov. Don't hardcode \large for subtitle. 674 675* docutils/writers/odf_odt/__init__.py 676 677 - Apply patch by Jakub Wilk to fix bug [ 100 ]. 678 679* test/test_error_reporting.py 680 681 - Fix [ 223 ] by removing redundant tests we do not have control over. 682 683* test/test_nodes.py 684 685 - Apply [ 115 ] respect fixed 2to3 string literal conversion behavior. 686 687Release 0.11 (2013-07-22) 688========================= 689 690* General 691 692 - Apply [ 2714873 ] Fix for the overwritting of document attributes. 693 - Support embedded aliases within hyperlink references. 694 - Fix [ 228 ] try local import of docutils components (reader, writer, parser, 695 language module) before global search. 696 697* docutils/nodes.py 698 699 - Fix [ 3601607 ] node.__repr__() must return `str` instance. 700 701* docutils/parsers/rst/directives/__init__.py 702 703 - Fix [ 3606028 ] ``assert`` is skipped with ``python -O``. 704 705* docutils/parsers/rst/directives/images.py 706 707 - Apply [ 3599485 ] node source/line information for sphinx translation. 708 709* docutils/parsers/rst/directives/tables.py 710 711 - Fix [ 210 ] Python 3.3 checks CVS syntax only if "strict" is True. 712 713* docutils/parsers/rst/states.py 714 715 - Fix [ 157 ] Line block parsing doesn't like system message. 716 - Always import our local copy of roman.py (report Larry Hastings). 717 718* docutils/transforms/references.py 719 720 - Fix [ 3607029 ] traceback with embedded alias pointing to missing target. 721 722* docutils/utils/__init__.py 723 724 - Fix [ 3596884 ] exception importing ``docutils.io``. 725 726* docutils/writers/html4css1/__init__.py 727 728 - Fix [ 3600051 ] for tables in a list, table cells are not compacted. 729 - New setting `stylesheet_dirs`: Comma-separated list of directories 730 where stylesheets are found. Used by `stylesheet_path` when expanding 731 relative path arguments. 732 - New default for math-output_: ``HTML math.css``. 733 - Avoid repeated class declarations in html4css1 writer 734 (modified version of patch [ 104 ]). 735 736.. _math-output: docs/user/config.html#math-output 737 738* docutils/writers/latex2e/__init__.py 739 740 - Drop the simple algorithm replacing straight double quotes with 741 English typographic ones. 742 Activate the SmartQuotes_ transform if you want this feature. 743 - Fix literal use of babel shorthands (straight quote, tilde, ...). 744 - Fix [ 3603246 ] Bug in option "--graphicx-option=auto". 745 - New setting `stylesheet_dirs`. 746 747.. _SmartQuotes: docs/user/config.html#smart-quotes 748 749* docutils/writers/manpage.py 750 751 - Fix [3607063] handle lines starting with a period. 752 - Fix option separating comma was bold (thanks to Bill Morris). 753 754Release 0.10 (2012-12-16) 755========================= 756 757* General 758 759 - Dropped support for Python 2.3. 760 - ``docutils/math``, ``docutils/error_reporting.py``, and 761 ``docutils/urischemes.py`` moved to the utils package. 762 - Fix [3541369] Relative __import__ also with Python 3.3. 763 - Fix [3559988] and [3560841] __import__ local writer, reader, languages 764 and parsers for Python 2.7 up. 765 - Fix import of PIL.Image. 766 - Change default of "syntax highlight" option to "long", 767 basic syntax highlight styles for LaTeX and HTML. 768 769* docutils/io.py 770 771 - FileInput/FileOutput: no system-exit on IOError. The `handle_io_errors` 772 option is ignored and will be removed in a future release. 773 - Fix Py3k error writing to stdout with encoding differing from default. 774 - Fix opening binary files under Py3k (thanks to Dominic Fitzpatrick). 775 776* docutils/parsers/rst/directives/misc.py 777 778 - Fix [ 3546533 ] Unicode error with `date` directive. 779 780* docutils/transforms/universal.py 781 782 - SmartQuotes transform for typographic quotes and dashes. 783 784* docutils/utils/__init__.py 785 786 - normalize_language_tag() now returns `BCP 47`_ conformant tags 787 with subtags separated by ``-``. 788 789* docutils/writers/html4css1/__init__.py 790 791 - Use ``<code>`` tag for inline "code", 792 do not drop nested inline nodes (syntax highlight tokens). 793 - Customizable MathJax URL (based on patch by Dmitry Shachnev). 794 - No line break after opening inline math tag. 795 796* docutils/writers/manpage.py 797 798 - Apply [ 3527401 ] addmonition's don't preserve indentation 799 - Apply [ 3527397 ] Add indentation to literal blocks in manpage writer. 800 801* docutils/writers/xetex/__init__.py 802 803 - Apply [ 3555160 ] ensure order of "otherlanguages". 804 - Fix section numbering by LaTeX. 805 806* docutils/writers/s5_html/__init__.py 807 808 - Fix [ 3556388 ] Mathjax does not work with rst2s5. 809 810* docutils/writers/s5_html/docutils_xml.py 811 812 - Fix [ 3552403 ] Prevent broken PyXML replacing stdlibs xml module. 813 - Fix/improve output with ``--indent`` option. 814 815* setup.py 816 817 - Tag ``math.css`` stylesheet as data file (patch by Dmitry Shachnev). 818 819* tools/test/test_buildhtml.py 820 821 - Fix [ 3521167 ] allow running in any directory. 822 - Fix [ 3521168 ] allow running with Python 3. 823 824 825Release 0.9.1 (2012-06-17) 826========================== 827 828* setup.py 829 830 - Fix [ 3527842 ]. Under Python 3, converted tests and tools were 831 installed in the PYTHONPATH. Converted tests are now 832 stored in ``test3/``, tools no longer need conversion. 833 834 If you installed one of Docutils versions 0.7 ... 0.9 with 835 ``setup.py install`` under Python 3, remove the spurious 836 ``test/`` and ``tools/`` directories in the site library root. 837 838* test/ 839 840 - Make tests independent from the location of the ``test/`` directory. 841 - Use converted sources (from the ``build/`` directory) for tests under 842 Python 3. 843 844* tools/ 845 846 - Make tools compatible with both, Python 2 and 3 without 2to3-conversion. 847 848* docutils/io.py 849 850 - Fix writing binary data to sys.stdout under Python 3 (allows 851 ``rst2odt.py`` to be used with output redirection). 852 853* docutils/parsers/rst/directives/misc.py 854 855 - Fix [ 3525847 ]. Catch and report UnicodeEncodeError with 856 ``locale == C`` and 8-bit char in path argument of `include` directive. 857 858* test/alltests.py 859 860 - class `Tee`: catch UnicodeError when writing to "ascii" stream or 861 file under Python 3. 862 863Release 0.9 (2012-05-02) 864======================== 865 866* General: 867 868 - New reStructuredText "code" role and directive and "code" option 869 of the "include" directive with syntax highlighting by Pygments_. 870 - Fix parse_option_marker for option arguments containing ``=``. 871 - Fix [ 2993756 ]: import Python Imaging Library's Image module 872 via ``import PIL`` as starting with PIL 1.2, 873 "PIL lives in the PIL namespace only" (announcement__). 874 875.. _Pygments: http://pygments.org/ 876__ http://mail.python.org/pipermail/image-sig/2011-January/006650.html 877 878* setup.py 879 880 - Fix [ 2971827 ] and [ 3442827 ] 881 extras/roman.py moved to docutils/utils/roman.py 882 883* docutils/frontend.py 884 885 - Fix [ 3481980 ] Use os.getcwdu() in make_paths_absolute(). 886 887* docutils/io.py 888 889 - Fix [ 3395948 ] (Work around encoding problems in Py3k). 890 - `mode` argument for FileOutput avoids code replication in 891 BinaryFileOutput. 892 - New exceptions InputError and OutputError for IO errors in 893 FileInput/FileOutput. 894 895* docutils/core.py: 896 897 - No "hard" system exit on file IO errors: catch and report them in 898 `Publisher.reportException` instead. Allows handling by a calling 899 application if the configuration setting `traceback` is True. 900 901* docutils/utils.py -> docutils/utils/__init__.py 902 903 - docutils.utils is now a package (providing a place for sub-modules) 904 905 .. note:: docutils/math, docutils/error_reporting.py, and 906 docutils/urischemes.py will move to the utils package in the next 907 release, too. See RELEASE-NOTES__ 908 909 __ RELEASE-NOTES.html 910 911 - DependencyList uses io.FileOutput and 'utf8' encoding to prevent 912 errors recording non-ASCII filenames (fixes [ 3434355 ]). 913 914 - Fix relative_path() with source=None and `unicode` target. 915 916* docutils/parsers/rst/states.py 917 918 - Fix [ 3402314 ] allow non-ASCII whitespace, punctuation 919 characters and "international" quotes around inline markup. 920 - Use `field_marker` pattern to look for start of a 921 directive option block (fixes [ 3484857 ]). 922 923* docutils/parsers/rst/tableparser.py 924 925 - Fix [ 2926161 ] for simple tables. 926 (Combining chars in grid tables still contribute to cell width.) 927 928* docutils/writers/latex2e/__init__.py 929 930 - Support the `abbreviation` and `acronym` standard roles. 931 - Record only files required to generate the LaTeX source as dependencies. 932 - Fix handling of missing stylesheets. 933 - Use ``\setcounter{secnumdepth}{0}`` instead of ``*``-versions 934 when suppressing LaTeX section numbering. 935 - Use ``\DUtitle`` for unsupported section levels 936 - Apply [ 3512791 ] do not compare string literals with "is" 937 938* docutils/writers/xetex/__init__.py 939 940 - Avoid code duplication with latex2e writer (solves [ 3512728 ]). 941 942* docutils/writers/html4css1/__init__.py 943 944 - Change default for `math-output` setting to MathJax. 945 - Fix handling of missing stylesheets. 946 947* docutils/writers/docutils_xml.py 948 949 - Use the visitor pattern with default_visit()/default_depart() methods 950 instead of minidom to facilitate special handling of selected nodes. 951 - Support raw XML (inserted as-is inside a <raw></raw> node). 952 953* docutils/writers/manpage.py 954 955 - Do not emit comment line with trailing blank. Problematic for VCS. 956 957Release 0.8.1 (2011-08-30) 958========================== 959 960* General: 961 962 - Fix [ 3364658 ] (Change last file with Apache license to BSD-2-Clause) 963 and [ 3395920 ] (correct copyright info for rst.el). 964 965* test/ 966 967 - Apply [ 3303733 ] and [ 3365041 ] to fix tests under Py3k. 968 969* docutils/writers/latex2e/__init__.py 970 971 - Clean up Babel language setting. Restores Sphinx compatibility. 972 973Release 0.8 (2011-07-07) 974======================== 975 976* General: 977 978 - Handle language codes according to `BCP 47`_. 979 - If the specified language is not supported by Docutils, 980 warn and fall back to English. 981 - Math support: reStructuredText "math" role and directive, 982 ``math`` and ``math_block`` doctree elements. 983 - Decode command line arguments with the locale's preferred encoding 984 (to allow, e.g., ``--title=Dornröschen``). 985 - Orphaned "python" reader and "newlatex2e" writer moved to the sandbox. 986 - New sub-module `error_reporting`: handle encoding/decoding errors 987 when reporting exceptions. 988 - Some additions to the Docutils core are released under the 2-Clause BSD 989 license, see COPYING_ for details. 990 991 .. _BCP 47: http://www.rfc-editor.org/rfc/bcp/bcp47.txt 992 .. _COPYING: COPYING.html 993 994* reStructuredText: 995 996 - Most directives now support a "name" option that attaches a 997 reference name. 998 999 - Directive content may start on the first line also when the directive 1000 type accepts options. 1001 1002* docs/dev/policies.txt: 1003 1004 - Recommend the 2-Clause BSD license 1005 (http://opensource.org/licenses/BSD-2-Clause) 1006 for code that is kept under the author's copyright. 1007 1008* tools/buildhtml.py: 1009 1010 - Fix ``--local`` switch. 1011 1012* Fix [ 3018371 ] Added Lithuanian mappings by Dalius Dobravolskas. 1013 1014* docutils/writers/html4css1/__init__.py 1015 1016 - Set "lang" argument for objects with class argument 1017 "language-<language tag>". 1018 - New setting "math-output" with support for HTML, MathML, and LaTeX. 1019 1020* docutils/writers/latex2e/__init__.py 1021 1022 - Fix [ 3043986 ] AttributeError using :local: with table of content. 1023 - Place title data in the document preamble. 1024 - Load `babel` package only if required. 1025 - Update list of supported languages. 1026 - New config setting "hyperref-options". 1027 No hard-coded "unicode" hyperref option (clash with xetex). 1028 - Set language for custom roles, paragraphs, block-quotes, and 1029 line-quotes with class argument "language-<language tag>". 1030 - Fix [ 3095603 ] wrong quotes output for russian and other languages. 1031 - Convert image URI to a local file path. 1032 - Apply [ 3148141 ] fix multicolumn support when a colspanning cell 1033 has more than one paragraph (Wolfgang Scherer). 1034 - \leavevmode before longtable only when needed (prevents spurious vspace) 1035 - do not advance table counter for tables without caption 1036 1037* docutils/writers/xetex/__init__.py 1038 1039 - New writer generating LaTeX code for compiling with ``xelatex``. 1040 1041 A separate writer (inheriting from latex2e) instead of a ``--xetex`` 1042 option allows separate config options for XeTeX vs. LaTeX2e. 1043 1044* docutils/writers/manpage.py 1045 1046 - Fix: BUG#3219183 - vertical space in definition lists containing markup. 1047 - Fix: vertical space cleaning for option group ``.``. 1048 1049* tools/editors/emacs/rst.el: 1050 1051 - Fix [ 3001100 ] does not handle spaces in filenames 1052 (thanks to Jakub Wilk) 1053 1054* docutils/utils.py: 1055 1056 - strip whitespace from stylesheet arguments 1057 - exclude combining chars from column_width() 1058 (partial fix for [ 2926161 ]) 1059 1060* docutils/parsers/rst/directives/misc.py: 1061 1062 - Fix [ 1830389 ] Replace not breaking on getting system_messages from 1063 nested_parse 1064 1065* docutils/io.py: 1066 1067 - Do not close() sys.stdin, sys.stdout, or sys.stderr. Prevents 1068 ``Exception ValueError: 'I/O operation on closed file.'`` with Python 3. 1069 1070Release 0.7 (2010-07-07) 1071======================== 1072 1073* General: 1074 1075 - Fix [ 2881769 ] setup configuration. 1076 - Fix [ 2788716 ] reporting problems in included files. 1077 1078* docutils/io.py 1079 1080 - FileInput opens files as text files with universal newline support 1081 (mode "rU", configurable with the new optional argument "mode"). 1082 1083* docutils/nodes.py 1084 1085 - Fix [ 2975987 ] repr(Text) failed with long string (Jeffrey C. Jacobs). 1086 1087* docutils/utils.py 1088 1089 - Fix [ 2923723 ] let decode_path() tolerate path == None 1090 1091* docutils/writers/html4css1/__init__.py 1092 1093 - Support SVG and SWF images (thanks to Stefan Rank). 1094 - Generate valid XHTML for centered images with targets. 1095 Use CSS classes instead of "align" tags for image alignment. 1096 1097* docutils/writers/latex2e/__init__.py 1098 1099 - Use `transforms.writer_aux.Admonitions` to "normalize" special 1100 admonitions. 1101 - Use the ``\url`` command for URLs (breaks long URLs instead of 1102 writing into the margin). 1103 - Preserve runs of spaces in `inline literals`__. 1104 - Deprecate ``figure_footnotes`` setting. 1105 - Rename ``use_latex_footnotes`` setting to `docutils_footnotes`__. 1106 - New ``latex_preamble`` setting. 1107 - Use PDF standard fonts (Times/Helvetica/Courier) as default. 1108 - Fix hyperlink targets (labels) for images, figures, and tables. 1109 - Apply [ 2961988 ] Load babel after inputenc and fontenc. 1110 - Apply [ 2961991 ] Call hyperref with unicode option. 1111 - Drop the special `output_encoding`__ default ("latin-1"). 1112 The Docutils wide default (usually "UTF-8") is used instead. 1113 - Render inline markup in document title and subtitle. 1114 - Fix numbering depth with LaTeX section numbering. 1115 - Update Unicode -> LaTeX translations. 1116 - Fix bug with topic directive (thanks to Alan G Isaac for reporting). 1117 1118__ docs/ref/restructuredtext.html#inline-literals 1119__ docs/user/config.html#docutils-footnotes 1120__ docs/user/config.html#output_encoding 1121 1122* docutils/writers/manpage.py 1123 1124 - Fix: supported attribute (thanks to peter2108). 1125 - Remove trailing blanks in code (keep in sync with mercurial version). 1126 - Titles level 1, that is ``.SH``, always uppercase. 1127 - Apply patch from mg: literal text should be bold in man-pages. 1128 1129* docutils/nodes.py 1130 1131 - Fix: encoding ``'ascii'`` must be lowercase to prevent problems for 1132 turkish locale. 1133 1134* setup.py: 1135 1136 - Python 3 support: copy test/ and tools/ to the build-dir 1137 and convert Python sources with 2to3. 1138 1139 1140Release 0.6 (2009-10-11) 1141======================== 1142 1143* General: 1144 1145 - Docutils is now compatible with Python versions from 2.3 up to 2.6 1146 and convertible to 3.1 code. 1147 1148 + Node.__nonzero__ returns True instead of 1. 1149 + use os.walk instead os.path.walk. 1150 + minimize "types" module where possible. 1151 + Backwards-compatible changes to remove python2.6 -3 deprecation warnings 1152 + Text nodes now subclass unicode rather than UserString 1153 (which is gone in python 3.0). 1154 + 3.0 compatibility module docutils._compat 1155 1156 + Drop 2.2 compatibility workarounds. 1157 + Drop extras/optparse.py and extras/textwrap.py 1158 (stdlib modules since 2.3). 1159 1160 - OpenOffice export: ODT writer moved from sandbox to Doctutils core. 1161 - Unix man page export: manpage writer moved from sandbox to Doctutils 1162 core. 1163 1164 - Apply [ 1719345 ] Galician translation 1165 - Apply [ 1905741 ] Polish translation 1166 - Apply [ 1878977 ] make_id(): deaccent characters. 1167 - Apply [ 2029251 ] return nonzero when tests fail. 1168 - Fix [ 1692788 ] allow UTF-8 in style sheets. 1169 - Fix [ 2781629 ] support non-ASCII chars in file names. 1170 - Apply [ 2845002 ] let ``--no-raw`` disable raw *roles* too. 1171 - Fix [ 2831643 ] by renaming DirectiveError.message to DirectiveError.msg 1172 - Fix [ 2821266 ] --strict option works now like --halt=info. 1173 - Fix [ 2788716 ] DirectiveError now correctly reports source and line. 1174 - Fix [ 1627229 ] hyperlink references in substitutions. 1175 1176 - The "newlatex" writer is orphaned. 1177 1178* reStructuredText: 1179 1180 - Documented Unicode characters allowed as inline markup openers, 1181 closers, and delimiters. 1182 - Allow units for all length specifications. 1183 - Allow percent sign in "scale" argument of "figure" and "image" directives. 1184 - Bugfix: The "figalign" argument of a figure now works as intended 1185 (aligning the figure, not its contents). 1186 - Align images with class "align-[right|center|left]" 1187 (allows setting the alignment of an image in a figure). 1188 1189* docutils/nodes.py: 1190 1191 - Added ``Element.__contains__`` method, for the in-operator. 1192 1193* docutils/parsers/rst/states.py: 1194 1195 - Apply [ 1994493 ] Patch to support all kinds of quotes in inline markup. 1196 - Added support for Unicode inline markup delimiters "‐ ‑ ‒ – —" and 1197 " " (non-breaking space), and "¡ ¿" openers. 1198 1199* docutils/parsers/directives/misc.py: 1200 1201 - Added ``start-line`` and ``end-line`` options to "include" 1202 directive to select a range of lines. 1203 - Hard tabs in literal inclusions are replaced by spaces. This is 1204 configurable via the new ``tab-width`` option of the "include" directive 1205 (a negative tab-width prevents tab expansion). 1206 1207* docutils/utils.py: 1208 1209 - Add ``get_stylesheet_list`` function. 1210 - Apply [ 2834836 ] print info at halt 1211 1212* docutils/transforms/universal.py: 1213 1214 - Raise default priority of StripClasses to exclude stripped classes from 1215 the ToC. 1216 1217* docutils/writers/html4css1/__init__.py: 1218 1219 - ``--stylesheet`` and ``--stylesheet-path`` options support a comma 1220 separated list of stylesheets. 1221 - Address [ 1938891 ] Inline literal text creates "pre" span only when 1222 needed to prevent inter-word line wraps. 1223 - Use `translate` method instead of repeated `replace` calls. 1224 - Fix [ 1757105 ] New ``table-style`` option. Added to standard table 1225 classes to allow CSS styling that does not interfere with other 1226 table-using constructs (field lists, citations, ...). 1227 1228* docutils/writers/newlatex2e/__init__.py: 1229 1230 - Apply [ 1612821 ] Double quotes in literal text in Italian/German 1231 1232* docutils/writers/latex2e/__init__.py: 1233 1234 - Add ``--embed-stylesheet`` option. 1235 - Apply [ 1474017 ] image vertical alignment is reversed. 1236 - Apply [ 2051599 ] multi-page tables in latex writer (from pabigot). 1237 - Change: has_key for dictionaries (not Nodes) to in-operator. 1238 - Merge adjacent citations into one latex cite command. 1239 - Failsave implementation of custom roles. LaTeX compilation now ignores 1240 unknown classes instead of aborting with an error. 1241 - Support custom roles based on standard roles. 1242 - LaTeX packages can be used as ``--stylesheet`` arguments without 1243 restriction. (A style sheet is now referenced with the ``\usepackage`` 1244 command, if it ends with ``.sty`` or has no extension.) 1245 - Add ``bp`` to lenghts without unit (prevents LaTex errors). 1246 - Correctly write length unit ``pt`` as ``bp`` in LaTeX. 1247 - Do not convert ``px`` to ``pt`` (``px`` is supported by pdfTeX since 1248 2005-02-04 as a configurable length unit). 1249 - Do not use fontenc, nor the obsolete 'ae' and 'aeguill' packages 1250 if font-encoding is set to ''. LaTeX defaults to OT1 then. 1251 - Set sub- and superscript role argument in text mode not as math. 1252 Use a custom role based on sub-/superscript if you want italic shape. 1253 - Shorter preamble and less dependencies: Load packages and define macros 1254 only if required in the document. 1255 - Use the name prefix ``DU`` for all Docutils specific LaTeX macros. 1256 - New custom environments and commands with optional "classes" argument. 1257 - Simpler LaTeX encoding, e.g. "\%" instead of "{\%}". 1258 - Better conformance to Docutils specifications with ``--use-latex-toc``. 1259 Support for LaTeX generated ToC also with unnumbered sections. 1260 - If 'sectnum_xform' is False, the 'sectnum' directive triggers 1261 section numbering by LaTeX. 1262 - Use default font in admonitions and sidebar. 1263 - Align of image in a figure defaults to 'center'. 1264 - Bugfix: Newlines around targets and references prevent run-together 1265 paragraphs. 1266 - Fix internal hyperlinks. 1267 - Use class defaults for page margins ('typearea' now optional). 1268 - Float placement made configurable, default changed to "here definitely". 1269 - Typeset generic topic as "quote block with title". 1270 - Use template (file and configuration option). 1271 - In the default template, load cmap.sty (fix text extraction in PDF) and 1272 fixltx2e.sty (LaTeX patches, \textsubscript). 1273 - Render doctest blocks as literal blocks (fixes [ 1586058 ]). 1274 - Use `translate` instead of repeated `replace` calls for text encoding. 1275 - Hyperlinked footnotes and support for symbol footnotes and 1276 ``--footnote-references=brackets`` with ``--use-latex-footnotes``. 1277 - Complete pairs of binary options 1278 (``--figure-footnotes, --figure-citations, --link-stylesheet``, 1279 ``--use-docutils-toc, --use-docutils-docinfo, --topic-abstract``) 1280 - New defaults: 1281 - font-encoding: "T1" (formerly implicitely set by 'ae'). 1282 - use-latex-toc: true (ToC with page numbers). 1283 - use-latex-footnotes: true (no mixup with figures). 1284 1285* docutils/writers/manpage.py 1286 1287 - Do not print version at document end, this is done by the viewer. 1288 - Do not print date at document end, this is done by the viewer. 1289 - Fix storage of docinfo fields for none standard fields. 1290 1291* docutils/tools/rst2man.py 1292 1293Release 0.5 (2008-06-25) 1294======================== 1295 1296* docutils/languages/he.py: Added to project: Hebrew mappings by 1297 Meir Kriheli. 1298 1299* docutils/parsers/rst/languages/he.py: Added to project: Hebrew 1300 mappings by Meir Kriheli. 1301 1302* docutils/frontend.py: 1303 1304 - Configuration files are now assumed and required to be 1305 UTF-8-encoded. 1306 - Paths of applied configuration files are now recorded in the 1307 runtime setting ``_config_files`` (accessible via 1308 ``--dump-settings``). 1309 - Added ``--strip-elements-with-class`` and ``--strip-class`` 1310 options (``strip_elements_with_classes`` and ``strip_classes`` 1311 settings). 1312 1313* docutils/io.py: 1314 1315 - Added code to determine the input encoding from data: encoding 1316 declarations or the presence of byte order marks (UTF-8 & UTF-16). 1317 - Added support for IronPython 1.0. 1318 1319* docutils/nodes.py: 1320 1321 - Added ``document.__getstate__`` method, for pickling. 1322 1323* docutils/parsers/rst/states.py: 1324 1325 - Allow ``+`` and ``:`` in reference names. 1326 - Unquoted targets beginning with an underscore (``.. __target: 1327 URI``) are no longer accepted. 1328 - Added support for multiple attributions in a physical block quote 1329 (indented text block), dividing it into multiple logical block 1330 quotes. 1331 - Added support for unicode bullets in bullet lists: "•", "‣", and 1332 "⁃". 1333 - Added support for new object-oriented directive interface, 1334 retaining compatibility to the old functional interface. 1335 - Added support for throwing ``DirectiveError``'s from within 1336 directive code. 1337 1338* docutils/parsers/rst/__init__.py: 1339 1340 - Added ``Directive`` base class. 1341 - Added ``DirectiveError`` base class. 1342 - Fixed ``file_insertion_enabled`` & ``raw_enabled`` setting 1343 definitions. 1344 1345* docutils/parsers/directives/: 1346 1347 - Refactored all reStructuredText directives to use the new 1348 object-oriented directive interface. Errors are now (mostly) 1349 thrown using the new ``DirectiveError`` class. 1350 1351* docutils/parsers/directives/misc.py: 1352 1353 - Added ``start-after`` and ``end-before`` options to ``include`` 1354 directive; thanks to Stefan Rank. 1355 1356* docutils/transforms/universal.py: 1357 1358 - Added ``StripClassesAndElements`` transform to remove from the 1359 document tree all elements with classes in 1360 ``settings.strip_elements_with_classes`` and all "classes" 1361 attribute values in ``self.document.settings.strip_classes``. 1362 1363* docutils/transforms/writer_aux.py: 1364 1365 - Added ``Admonitions`` transform to transform specific admonitions 1366 (like ``note``, ``warning``, etc.) into generic admonitions with a 1367 localized title. 1368 1369* docutils/writers/html4css1/__init__.py: 1370 1371 - Moved template functionality from the PEP/HTML writer here. 1372 - Expanded the fragments available in the ``parts`` attribute. 1373 - Moved ``id`` attributes from titles to surrounding ``div`` 1374 elements. 1375 - Dropped all ``name`` attributes of ``a`` elements (``id`` is 1376 universally supported now). 1377 - ``template.txt`` is now opened in text mode instead of binary mode 1378 (to ensure Windows compatibility). 1379 - ``a`` elements now have an "internal" or "external" class, 1380 depending on reference type. 1381 1382* docutils/writers/html4css1/template.txt: Added to project. 1383 1384* docutils/writers/pep_html/: 1385 1386 - Moved template functionality to the HTML writer. 1387 1388* docutils/writers/s5_html/__init__.py: 1389 1390 - Added ``view_mode`` & ``hidden_controls`` settings 1391 (``--view-mode`` & ``--hidden-controls/--visible-controls`` 1392 options). 1393 1394* docutils/writers/latex2e/__init__.py: 1395 1396 - Add ``--literal-block-env`` 1397 - Fix: escaping ``%`` in href urls. 1398 - Move usepackage hyperref after stylesheet inclusion. 1399 - Fix: scrartcl does not have chapter but scrreprt. 1400 - Add newline after ``\end{verbatim}``. 1401 - Merge smaller differences from latex2e_adaptive_preamble. 1402 - Add ``use-part-section``. 1403 - Put leavevmode before longtable to avoid having it moved before sub/pargraph. 1404 - Using leavemode option_list no longer needs to check if parent 1405 is a definition list. 1406 - Append ``\leavemode`` to definition list terms. 1407 - No longer write visit\_/depart_definition_list_item comments to 1408 output. 1409 - Table column width with 3 decimal places. 1410 - Add table stubs support (boldfont). 1411 - Add assemble_parts to writer. 1412 - Add simply support for nested tables. 1413 - Fix verbatim in tables if use-verbatim-when-possible. 1414 - Use section commands down to subparagraph. 1415 - Put ensuremath around some latin1 chars. 1416 - Set ``usepackage[utf8x]{inputenc}`` for utf-8. 1417 - New option ``--use-bibtex=style,db1,db2``. 1418 - New option ``--reference-label`` to allow usage of LaTeX ref for 1419 labels in section references. 1420 - Add a label after every section to support sectionnumbers as reference 1421 labels. 1422 - Fix: bug# 1605376 rst2latex: bad options group list 1423 - Remove inactive code for use_optionlist_for_option_list. 1424 - Remove latex comments from option_list output. 1425 - Fix: bug# 1612270 double qoutes in italian literal. 1426 - Fix: output ``hypertarget{ node.get(refid) }{}`` from visit_target. 1427 - Add option --use-latex-abstract. 1428 - Image width unit ``px`` is translated to ``pt``. 1429 - Add image height support. 1430 - Fix: image width ``70%`` is converted ``0.700\linewidth``. 1431 bug #1457388 1432 - Fix: Do not escape underscores in citation reference labels if 1433 use-latex-citations is set. 1434 - Use centering instead of center for figure contents, to avoid vertical 1435 space. 1436 - Recognize table class: borderless, nolines, booktabs, standard. 1437 - Fix: Renaming contents section does not work with latex writer; SF 1438 bug #1487405. 1439 - Applied patch for custom roles with classes from Edward Loper. 1440 - Fixed bug that caused crashes with more than 256 lists. 1441 1442* docutils/writers/pep_html/__init__.py: 1443 1444 - Changed to support new python.org website structure and 1445 pep2pyramid.py. 1446 1447* docs/howto/security.txt: "Deploying Docutils Securely", added to 1448 project. 1449 1450* tools/buildhtml.py: 1451 1452 -- Added ``ignore`` setting to exclude a list of shell patterns 1453 (default: ``.svn:CVS``). 1454 1455* tools/editors/emacs/rst.el: 1456 1457 - Changed license to "GPL". 1458 - Added ``rst-straighten-decorations`` function. 1459 - The ``compile`` module is now always loaded. 1460 - Added ``rst-toggle-line-block`` function. 1461 - Headings consisting only of non-ASCII characters are now 1462 recognized by ``rst-toc`` and ``rst-adjust``. 1463 - Added font-lock support for multi-line comments where the first 1464 comment line is empty. 1465 - Added ``(require 'font-lock)``. 1466 1467* setup.py: 1468 1469 - Provide descriptive error message if distutils is missing. 1470 1471 1472Release 0.4 (2006-01-09) 1473======================== 1474 1475* General: 1476 1477 - Updated the project policies for trunk/branch development & 1478 version numbering. 1479 1480* docutils/__init__.py: 1481 1482 - Added ``__version_details__`` attribute to describe code source 1483 (repository/snapshot/release). 1484 - Replaced ``default_transforms`` attribute of TransformSpec with 1485 ``get_transforms()`` method. 1486 1487* docutils/core.py: 1488 1489 - Added ``publish_doctree`` and ``publish_from_doctree`` convenience 1490 functions, for document tree extraction and reprocessing. 1491 1492* docutils/io.py: 1493 1494 - Added ``DocTreeInput`` class, for reprocessing existing documents. 1495 - Added support for non-Unicode (e.g. binary) writer output. 1496 1497* docutils/nodes.py: 1498 1499 - Re-introduced ``Targetable.indirect_reference_name``, for 1500 MoinMoin/reST compatibility (removed in r3124/r3129). 1501 - Added ``serial_escape`` function; escapes string values that are 1502 elements of a list, for serialization. Modified Docutils-XML 1503 writing (``Element._dom_node``) and pseudo-XML writing 1504 (``Element.starttag``) to use ``serial_escape``. 1505 - Added ``Node.deepcopy()`` method. 1506 - Removed the internal lists ``document.substitution_refs``, 1507 ``document.anonymous_refs``, and ``document.anonymous_targets``. 1508 - Added a "container" element. 1509 - Fixed bug where values of list-valued attributes of elements 1510 originating from custom interpreted text roles (i.e., with custom 1511 classes) were being shared between element instances. Reported by 1512 Shmuel Zeigerman. 1513 1514* docutils/statemachine.py: 1515 1516 - Added trailing whitespace stripping to ``string2lines()``. 1517 - Added ``StringList.pad_double_width()`` & ``.replace()`` for East 1518 Asian double-width character support. 1519 1520* docutils/utils.py: 1521 1522 - Added ``east_asian_column_width()`` for double-width character 1523 support. 1524 1525* docutils/languages/ja.py: Added to project: Japanese mappings by 1526 Hisashi Morita. 1527 1528* docutils/languages/zh_cn.py: Added to project: Simplified Chinese 1529 mappings by Panjunyong. 1530 1531* docutils/parsers/null.py: Added to project; a do-nothing parser. 1532 1533* docutils/parsers/rst/__init__.py: 1534 1535 - Added validator to tab_width setting, with test. Closes SF bug 1536 #1212515, report from Wu Wei. 1537 1538* docutils/parsers/rst/states.py: 1539 1540 - Fixed bug with escaped colons indicating a literal block. 1541 - Fixed bug with enumerated lists (SF#1254145). 1542 - Backslash-escaped colons inside of field names are now allowed. 1543 - Targets (implicit and explicit), anonymous hyperlink references 1544 and auto-numbered footnote references inside of substitution 1545 definitions are now disallowed. 1546 - Fixed bug: list items with blank first lines. 1547 - Fixed bug: block quote attributions with indented second lines. 1548 - Added East Asian double-width character support (Python 2.4 only). 1549 1550* docutils/parsers/rst/tableparser.py: 1551 1552 - Added East Asian double-width character support (Python 2.4 only). 1553 1554* docutils/parsers/rst/directives/body.py: 1555 1556 - Added the "container" directive. 1557 1558* docutils/parsers/rst/directives/misc.py: 1559 1560 - Added the "default-role", "title", and "date" directives. 1561 - Added standard data file syntax to the "include" directive. 1562 - Added support for "class" directive content. 1563 1564* docutils/parsers/rst/directives/images.py: 1565 1566 - Added ``indirect_reference_name`` support for images with a target 1567 option. 1568 - Added support for image width and height units. 1569 - Fixed bug with image "target" options. 1570 1571* docutils/parsers/rst/directives/references.py: 1572 1573 - Added "class" attribute to "target-notes" directive, for 1574 footnote_reference classes. 1575 1576* docutils/parsers/rst/include/: Directory added to project; contains 1577 standard data files for the "include" directive. Initial contents: 1578 character entity substitution definition sets, and a set of 1579 definitions for S5/HTML presentations. 1580 1581* docutils/parsers/rst/languages/ja.py: Added to project: Japanese 1582 mappings by David Goodger. 1583 1584* docutils/parsers/rst/languages/zh_cn.py: Added to project: 1585 Simplified Chinese mappings by Panjunyong. 1586 1587* docutils/readers/__init__.py: 1588 1589 - Added universal.Decorations and universal.ExposeInternals 1590 transforms as default transforms for all readers. 1591 - Added ``ReReader`` base class for readers that reread an existing 1592 document tree. 1593 1594* docutils/readers/doctree.py: Added to project; a reader for existing 1595 document trees. 1596 1597* docutils/transforms/frontmatter.py: 1598 1599 - Fixed the DocInfo transform to handle SVN-style expansion of the 1600 "Date" keyword. 1601 - In ``DocInfo.extract_authors``, treat the contents of "authors" 1602 fields uniformly. 1603 1604* docutils/transforms/misc.py: 1605 1606 - Added misc.Transitions transform, extracted from 1607 universal.FinalChecks. 1608 1609* docutils/transforms/references.py: 1610 1611 - Added references.DanglingReferences transform, extracted from 1612 universal.FinalChecks. 1613 - Fixed bug with doubly-indirect substitutions. 1614 - Added footnote_reference classes attribute to "TargetNotes". 1615 - Fixed bug with circular substitution definitions that put Docutils 1616 into an infinite loop. 1617 1618* docutils/transforms/universal.py: 1619 1620 - Added universal.ExposeInternals transform, extracted from 1621 universal.FinalChecks. 1622 - Removed universal.FinalChecks transform (logic has been moved to 1623 several new transforms). 1624 - Fixed bug with the "expose_internals" setting and Text nodes 1625 (exposed by the "rawsource" internal attribute). 1626 - Added the universal.StripComments transform, implementation of the 1627 "strip_comments" setting. 1628 1629* docutils/transforms/writer_aux.py: Added to project; auxiliary 1630 transforms for writers. 1631 1632 - Added ``Compound`` transform, which flattens compound paragraphs. 1633 1634* docutils/writers/: Several writer modules (html4css1.py) were 1635 converted into packages. Support modules and data files have been 1636 moved into the packages. The stylesheets for the HTML writers are 1637 now installed along with the code, the code knows where to find 1638 them, and the default is to use them (actually, to embed them). 1639 Some adjustments to configuration files may be necessary. The 1640 easiest way to obtain the new default behavior is to remove all 1641 settings whose name includes "stylesheet". 1642 1643* docutils/writers/__init__.py: 1644 1645 - Added universal.Messages and universal.FilterMessages transforms 1646 as default transforms for all writers. 1647 - Added ``UnfilteredWriter`` base class for writers that pass the 1648 document tree on unchanged. 1649 1650* docutils/writers/docutils_xml.py: 1651 1652 - Made ``xmlcharrefreplace`` the default output encoding error 1653 handler. 1654 1655* docutils/writers/html4css1/: 1656 1657 - Added support for image width and height units. 1658 - Made ``xmlcharrefreplace`` the default output encoding error 1659 handler. 1660 - Made ``--embed-stylesheet`` the default rather than 1661 ``--link-stylesheet``. 1662 - Moved "id" attribute from container (section etc.) to title's <a> 1663 tag, to be on the same tag as "name". 1664 (!!! To be reverted in Docutils 0.5.) 1665 - Added vertical space between fields of field lists. 1666 - Added ``--compact-field-lists`` option to remove vertical space in 1667 simple field lists. 1668 - Made cloaking of email addresses with ``--cloak-email-addresses`` 1669 less obtrusive. 1670 - Fixed support for centered images. 1671 - Added support for class="compact" & class="open" lists. 1672 1673* docutils/writers/latex2e/: 1674 1675 - Underscores in citekeys are no longer escaped. 1676 1677* docutils/writers/newlatex2e/unicode_map.py: Added to project; 1678 mapping of Unicode characters to LaTeX equivalents. 1679 1680* docutils/writers/s5_html/: Package added to project; writer for 1681 S5/HTML slide shows. 1682 1683* docs/dev/distributing.txt: Added to project; guide for distributors 1684 (package maintainers). 1685 1686* docs/dev/hacking.txt: Added to project; guide for developers. 1687 1688* docs/ref/doctree.txt: 1689 1690 - Updated for plural attributes "classes", "ids", "names", 1691 "dupnames". 1692 - Added the "container" element. 1693 1694* docs/ref/docutils.dtd: 1695 1696 - Updated for plural attributes "classes", "ids", "names", 1697 "dupnames". 1698 1699* docs/user/emacs.txt: Added to project; a document about Emacs 1700 support for reStructuredText and Docutils. 1701 1702* docs/user/links.txt: Added to project; lists of Docutils-related 1703 links. 1704 1705* docs/user/mailing-lists.txt: Added to project; information about 1706 Docutils-related mailing lists and how to access them. 1707 1708* docs/user/slide-shows.txt: Added to project; example of and docs for 1709 the S5/HTML writer (``rst2s5.py`` front end). 1710 1711* docs/ref/rst/definitions.txt: "reStructuredText Standard Definition 1712 Files", added to project. 1713 1714* test/coverage.sh: Added to project; test coverage script. 1715 1716* test/DocutilsTestSupport.py: 1717 1718 - Added support for specifying runtime settings at the suite level. 1719 1720* test/test_functional.py: 1721 1722 - Added the ``clear_output_directory`` function. 1723 - Added support for ``_test_more`` functions in functional test 1724 config files. 1725 1726* tools/rst2s5.py: Added to project; front end for the S5/HTML writer. 1727 1728* tools/rstpep2html.py: Renamed from pep.py. 1729 1730* tools/dev/create_unimap.py: Added to project; script to create the 1731 docutils/writers/unimap_latex.py mapping file. 1732 1733* tools/dev/profile_docutils.py: Added to project; profiler script. 1734 1735* tools/dev/unicode2rstsubs.py: Moved from tools/unicode2rstsubs.py. 1736 1737* tools/editors/emacs/restructuredtext.el, 1738 tools/editors/emacs/rst-html.el, tools/editors/emacs/rst-mode.el: 1739 Removed from project; the functionality is now contained in rst.el. 1740 1741* tools/editors/emacs/rst.el: Added to project. Added many features 1742 and fixed many bugs. See docs/user/emacs.txt for details. 1743 1744* tools/stylesheets: Removed from project. Stylesheets have been 1745 renamed and moved into writer packages. 1746 1747 1748Release 0.3.9 (2005-05-26) 1749========================== 1750 1751* General: 1752 1753 - Eliminated and replaced all uses of the old string attributes 1754 ``id``, ``name``, ``dupname`` and ``class`` with references to the 1755 new list attributes ``ids``, ``names``, ``dupnames`` and 1756 ``classes`` throughout the whole source tree. 1757 1758* docutils/core.py: 1759 1760 - Enabled ``--dump-*`` options when ``--traceback`` specified, 1761 allowing for easier debugging. 1762 - In ``Publisher.publish()``, expanded the generic top-level 1763 exception catching. 1764 1765* docutils/examples.py: 1766 1767 - Added ``internals`` function for exploration. 1768 1769* docutils/io.py: 1770 1771 - Fixed ``Input.decode`` method to apply heuristics only if no 1772 encoding is explicitly given, and to provide better reporting of 1773 decoding errors. 1774 - The ``Input.decode`` method now removes byte order marks (BOMs) 1775 from input streams. 1776 1777* docutils/nodes.py: 1778 1779 - ``image`` element class changed to subclass of Element, not 1780 TextElement (it's an empty element, and cannot contain text). 1781 - Added ``attr_defaults`` dictionary for default attribute values. 1782 - Added empty list as default value for the following attributes: 1783 ``ids``, ``names``, ``dupnames``, ``classes``, and ``backrefs``. 1784 - Added ``document.decoration`` attribute, 1785 ``document.get_decoration`` method, and ``decoration.get_header`` 1786 & ``.get_footer`` methods. 1787 - Added ``Element.update_basic_atts()`` and ``Element.substitute()`` 1788 methods. 1789 1790* docutils/utils.py: 1791 1792 - Removed ``docutils.utils.Reporter.categories``, 1793 ``docutils.utils.ConditionSet``, and all references to them, to 1794 simplify error reporting. 1795 1796* docutils/languages/nl.py: Added to project; Dutch mappings by 1797 Martijn Pieters. 1798 1799* docutils/parsers/rst/__init__.py: 1800 1801 - Added settings: ``file_insertion_enabled`` & ``raw_enabled``. 1802 1803* docutils/parsers/rst/states.py: 1804 1805 - Added check for escaped at-mark to prevent email address recognition. 1806 - Fixed option lists to allow spaces inside ``<angle-bracketed option 1807 arguments>``. 1808 - Allowed whitespace in paths and URLs. 1809 - Added auto-enumerated list items. 1810 - Fixed bug that assumed ``.. _`` and ``.. |`` were invariably 1811 followed by text. 1812 - Added support for table stub columns. 1813 1814* docutils/parsers/rst/directives/__init__.py: 1815 1816 - Allowed whitespace in paths (``path`` function). 1817 - Added ``uri`` directive option conversion function. 1818 1819* docutils/parsers/rst/directives/body.py: 1820 1821 - Fixed illegal context bug with "topic" directive (allowed within 1822 sidebars; not within body elements). 1823 1824* docutils/parsers/rst/directives/images.py: 1825 1826 - Allowed whitespace (stripped) in "image" & "figure" directive URLs. 1827 - Added support for the ``file_insertion_enabled`` setting in the 1828 "figure" directive (disables "figwidth" option). 1829 - "image" directive: added checks for valid values of "align" option, 1830 depending on context. "figure" directive: added specialized 1831 "align" option and attribute on "figure" element. 1832 - Made ":figwidth: image" option of "figure" directive work again. 1833 - Fixed bug with reference names containing uppercase letters 1834 (e.g. ``Name_``) in "target" option of "image" directive. 1835 1836* docutils/parsers/rst/directives/misc.py: 1837 1838 - Fixed "include" and "raw" directives to catch text decoding 1839 errors. 1840 - Allowed whitespace in "include" & "raw" directive paths. 1841 - Added support for ``file_insertion_enabled`` & ``raw_enabled`` 1842 settings in "include" & "raw" directives. 1843 1844* docutils/parsers/rst/directives/parts.py: 1845 1846 - Added "header" & "footer" directives. 1847 - Fixed illegal context bug with "contents" directive (topics 1848 allowed within sidebars; not within body elements). 1849 1850* docutils/parsers/rst/directives/tables.py: 1851 1852 - Added "list-table" directive. 1853 - Caught empty CSV table bug. 1854 - Added support for the ``file_insertion_enabled`` setting in the 1855 "csv-table" directive. 1856 - Added ``stub-columns`` option to "csv-table" and "list-table" 1857 directives. 1858 1859* docutils/parsers/rst/languages/nl.py: Added to project; Dutch 1860 mappings by Martijn Pieters. 1861 1862* docutils/readers/standalone.py: 1863 1864 - Added ``--section-subtitles`` and ``--no-section-subtitles`` 1865 options to activate or deactivate the SectSubTitle transform. 1866 1867* docutils/transforms/frontmatter.py: 1868 1869 - Added SectSubTitle transform to promote titles of lone 1870 subsections to subtitles. 1871 1872* docutils/transforms/references.py: 1873 1874 - Fixed mislocated internal targets bug, by propagating internal 1875 targets to the next node, making use of the newly added support 1876 for multiple names and IDs. 1877 - Fixed duplicate footnote label bug. 1878 - Replaced ``ChainedTargets`` with more generic ``PropagateTargets`` 1879 transform. 1880 1881* docutils/writers/html4css1.py: 1882 1883 - Fixed unencoded stylesheet reference bug (characters like "&" in 1884 stylesheet references). 1885 - ``target`` nodes now appear as ``span`` tags (instead of ``a`` 1886 tags). 1887 - Added support for multiple IDs per node by creating empty ``span`` 1888 tags. 1889 - Added the ``field_name_limit`` & ``option_limit`` settings & 1890 support. 1891 - Added support for table stub columns. 1892 - Added support for the ``align`` attribute on ``figure`` elements. 1893 - Added the ``cloak_email_addresses`` setting & support. 1894 - Added ``html_prolog``, ``html_head``, ``html_body``, 1895 ``html_title``, & ``html_subtitle`` to parts dictionary exposed by 1896 ``docutils.core.publish_parts``. 1897 - Added support for section subtitles. 1898 1899* docutils/writers/latex2e.py: 1900 1901 - Fixed tables starting with more than one multirow cell. 1902 - Improved --use-latex-docinfo so that organization/contact/address 1903 fields are lumped with the last author field and appear on the 1904 titlepage. 1905 - Made sure the titlepage is always shown with --use-latex-docinfo, 1906 even if the document has no title. 1907 - Made sure that latex doesn't fill in today's date if no date field 1908 was given. 1909 - Added support for section subtitles. 1910 1911* docutils/writers/newlatex2e.py: Added to project; a new LaTeX writer 1912 (under development). 1913 1914* docutils/writers/null.py: Added to project; a do-nothing Writer. 1915 1916* docs/api/publisher.txt: 1917 1918 - Added "``publish_parts`` Details" section. 1919 1920* docutils/dev/repository.txt: Added to project; information about the 1921 Docutils Subversion repository. 1922 1923* docs/ref/docutils.dtd: 1924 1925 - Added a ``stub`` attribute to the ``colspec`` element via the 1926 ``tbl.colspec.att`` parameter entity. 1927 - Allowed topic elements within sidebars 1928 - Added an ``align`` attribute to the ``figure`` element. 1929 1930* tools/rst2newlatex.py: Added to project; front end for the new LaTeX 1931 writer. 1932 1933 1934Release 0.3.7 (2004-12-24) 1935========================== 1936 1937* docutils/frontend.py: 1938 1939 - Added options: --input-encoding-error-handler, 1940 --record-dependencies, --leave-footnote-reference-space, 1941 --strict-visitor. 1942 - Added command-line and config file support for "overrides" setting 1943 parameter. 1944 1945* docutils/io.py: 1946 1947 - Added support for input encoding error handler. 1948 1949* docutils/nodes.py: 1950 1951 - Added dispatch_visit and dispatch_departure methods to 1952 NodeVisitor; useful as a hook for Visitors. 1953 - Changed structure of ``line_block``; added ``line``. 1954 - Added ``compound`` node class. 1955 - Added a mechanism for Visitors to transitionally ignore new node 1956 classes. 1957 1958* docutils/utils.py: 1959 1960 - Moved ``escape2null`` and ``unescape`` functions from 1961 docutils/parsers/rst/states.py. 1962 1963* docutils/parsers/rst/roles.py: 1964 1965 - Added "raw" role. 1966 - Changed role function API: the "text" parameter now takes 1967 null-escaped interpreted text content. 1968 1969* docutils/parsers/rst/states.py: 1970 1971 - Fixed bug where a "role" directive in a nested parse would crash 1972 the parser; the state machine's "language" attribute was not being 1973 copied over. 1974 - Added support for line block syntax. 1975 - Fixed directive parsing bug: argument-less directives didn't 1976 notice that arguments were present. 1977 - Removed error checking for transitions. 1978 - Added support for multiple classifiers in definition list items. 1979 - Moved ``escape2null`` and ``unescape`` functions to docutils/utils.py. 1980 - Changed role function API: the "text" parameter now takes 1981 null-escaped interpreted text content. 1982 - Empty sections and documents are allowed now. 1983 1984* docutils/parsers/rst/directives/__init__.py: 1985 1986 - Added ``encoding`` directive option conversion function. 1987 - Allow multiple class names in class_option conversion function. 1988 1989* docutils/parsers/rst/directives/body.py: 1990 1991 - Converted the line-block directive to use the new structure. 1992 - Extracted the old line-block functionality to the ``block`` 1993 function (still used). 1994 - Added ``compound`` directive (thanks to Lea Wiemann). 1995 1996* docutils/parsers/rst/directives/misc.py: 1997 1998 - Added "encoding" option to "include" and "raw" directives. 1999 - Added "trim", "ltrim", and "rtrim" options to "unicode" directive. 2000 - Allow multiple class names in the "class" directive. 2001 2002* docutils/parsers/rst/directives/parts.py: 2003 2004 - Directive "sectnum" now accepts "prefix", "suffix", and "start" 2005 options. Thanks to Lele Gaifax. 2006 2007* docutils/parsers/rst/directives/tables.py: 2008 2009 - Added "encoding" directive to "csv-table" directive. 2010 - Added workaround for lack of Unicode support in csv.py, for 2011 non-ASCII CSV input. 2012 2013* docutils/transforms/misc.py: 2014 2015 - Fixed bug when multiple "class" directives are applied to a single 2016 element. 2017 - Enabled multiple format names for "raw" directive. 2018 2019* docutils/transforms/references.py: 2020 2021 - Added support for trimming whitespace from beside substitution 2022 references. 2023 2024* docutils/transforms/universal.py: 2025 2026 - FinalChecks now checks for illegal transitions and moves 2027 transitions between sections. 2028 2029* docutils/writers/html4css1.py: 2030 2031 - HTMLTranslator.encode now converts U+00A0 to " ". 2032 - "stylesheet" and "stylesheet_path" settings are now mutually 2033 exclusive. 2034 - Added support for the new line_block/line structure. 2035 - --footnote-references now overrides 2036 --trim-footnote-reference-space, if applicable. 2037 - Added support for ``compound`` elements. 2038 - Enabled multiple format names for "raw" directive. 2039 - ``<p>`` tags of a paragraph which is the only visible child of the 2040 document node are no longer stripped. 2041 - Moved paragraph-compacting logic (for stripping ``<p>`` tags) to 2042 new method ``should_be_compact_paragraph()``. 2043 - Added class="docutils" to ``dl``, ``hr``, ``table`` and ``tt`` 2044 elements. 2045 - "raw" elements are now surrounded by ``span`` or ``div`` tags in 2046 the output if they have their ``class`` attribute set. 2047 - The whole document is now surrounded by a ``<div 2048 class="document">`` element. 2049 - Body-level images are now wrapped by their own ``<div>`` elements, 2050 with image classes copied to the wrapper, and for images which 2051 have the ``:align:`` option set, the surrounding ``<div>`` now 2052 receives a class attribute (like ``class="align-left"``). 2053 2054* docutils/writers/latex2e.py: 2055 2056 - no newline after depart_term. 2057 - Added translations for some Unicode quotes. 2058 - Added option "font-encoding", made package AE the default. 2059 - "stylesheet" and "stylesheet_path" settings are now mutually 2060 exclusive. 2061 - --footnote-references now overrides 2062 --trim-footnote-reference-space, if applicable. 2063 - The footnote label style now matches the footnote reference style 2064 ("brackets" or "superscript"). 2065 - Added support for ``compound`` elements. 2066 - Enabled multiple format names for "raw" directive. 2067 2068* docs/ref/docutils.dtd: 2069 2070 - Changed structure of the ``line_block`` element; added ``line``. 2071 - Added ``compound`` element. 2072 - Added "ltrim" and "rtrim" attributes to 2073 ``substitution_definition`` element. 2074 - Enabled multiple format names for ``raw`` element. 2075 - Enabled multiple classifiers in ``definition_list_item`` elements. 2076 2077* docs/ref/rst/directives.txt 2078 2079 - Marked "line-block" as deprecated. 2080 - "Class" directive now allows multiple class names. 2081 - Added "Rationale for Class Attribute Value Conversion". 2082 - Added warning about "raw" overuse/abuse. 2083 2084* docs/ref/rst/restructuredtext.txt: 2085 2086 - Added syntax for line blocks. 2087 - Definition list items may have multiple classifiers. 2088 2089* docs/ref/rst/roles.txt: 2090 2091 - Added "raw" role. 2092 2093* tools/stylesheets/default.css: 2094 2095 - Added support for the new line_block structure. 2096 - Added "docutils" class to ``dl``, ``hr``, ``table`` and ``tt``. 2097 2098 2099Release 0.3.5 (2004-07-29) 2100========================== 2101 2102General: 2103 2104* _`Documentation cleanup/reorganization`. 2105 2106 - Created new subdirectories of docs/: 2107 2108 * ``docs/user/``: introductory/tutorial material for end-users 2109 * ``docs/dev/``: for core-developers (development notes, plans, etc.) 2110 * ``docs/api/``: API reference material for client-developers 2111 * ``docs/ref/``: reference material for all groups 2112 * ``docs/howto/``: for component-developers and core-developers 2113 * ``docs/peps/``: Python Enhancement Proposals 2114 2115 - Moved ``docs/*`` to ``docs/user/``. 2116 - Moved ``pysource.dtd``, ``pysource.txt``, ``semantics.txt`` from 2117 ``spec/`` to ``docs/dev``. 2118 - Moved ``doctree.txt``, ``docutils.dtd``, ``soextblx.dtd``, 2119 ``transforms.txt`` from ``spec/`` to ``docs/ref/``. 2120 - Moved ``alternatives.txt``, and ``problems.txt`` from 2121 ``spec/rst/`` to ``docs/dev/rst/``. 2122 - Moved ``reStructuredText.txt``, ``directives.txt``, 2123 ``interpreted.txt``, and ``introduction.txt`` from ``spec/rst/`` 2124 to ``docs/ref/rst/``. Renamed ``interpreted.txt`` to 2125 ``roles.txt``, ``reStructuredText.txt`` to 2126 ``restructuredtext.txt``. 2127 - Moved ``spec/howto/`` to ``docs/howto``. 2128 2129 In order to keep the CVS history of moved files, we supplied 2130 SourceForge with a `script for modifying the Docutils CVS 2131 repository`__. 2132 2133 __ http://cvs.sourceforge.net/viewcvs.py/*checkout*/docutils/sandbox/davidg/infrastructure/cvs-reorg.sh?content-type=text/plain&rev=1.5 2134 2135 After running the cleanup script: 2136 2137 - Added ``docs/index.txt``. 2138 - Added a ``.htaccess`` file to the ``web`` module, containing 2139 redirects for all old paths to new paths. They'll preserve 2140 fragments (the "#name" part of a URL), and won't clutter up the 2141 file system, and will correct the URL in the user's browser. 2142 - Added ``BUGS.txt``, ``docs/dev/policies.txt``, 2143 ``docs/dev/website.txt``, ``docs/dev/release.txt`` from all but 2144 the "To Do" list itself in ``docs/dev/todo.txt``. 2145 - Moved "Future Plans" from ``HISTORY.txt`` to new "Priorities" 2146 section of ``docs/dev/todo.txt``. 2147 - Added ``THANKS.txt`` from "Acknowledgements" in ``HISTORY.txt``. 2148 - Added "How To Report Bugs" to ``BUGS.txt``. 2149 - Went through all the sources and docs (including under web/) and 2150 updated links. Mostly done by Lea Wiemann; thanks Lea! 2151 (Still need to update links in the sandboxes.) 2152 2153Specific: 2154 2155* BUGS.txt: Added to project. 2156 2157* THANKS.txt: Added to project. 2158 2159* docutils/__init__.py: 2160 2161 - 0.3.4: Post-release. 2162 2163* docutils/core.py: 2164 2165 - Added special error handling & advice for UnicodeEncodeError. 2166 - Refactored Publisher.publish (simplified exception handling & 2167 extracted debug dumps). 2168 - Renamed "enable_exit" parameter of convenience functions to 2169 "enable_exit_status". 2170 - Enabled traceback (exception propagation) by default in 2171 programmatic convenience functions. 2172 - Now publish_file and publish_cmdline convenience functions return 2173 the encoded string results in addition to their regular I/O. 2174 - Extracted common code from publish_file, publish_string, and 2175 publish_parts, into new publish_programmatically. Extracted 2176 settings code to ``Publisher.process_programmatic_settings``. 2177 - In Publisher.publish, disabled ``settings_overrides`` when 2178 ``settings`` is supplied; redundant. 2179 2180* docutils/frontend.py: 2181 2182 - Added help text for "--output-encoding-error-handler" and 2183 "--error-encoding-error-handler". 2184 - Renamed "--exit" to "--exit-status". 2185 - Simplified default-setting code. 2186 2187* docutils/parsers/rst/__init__.py: 2188 2189 - Added "--pep-base-url" and "--rfc-base-url" options. 2190 2191* docutils/parsers/rst/states.py: 2192 2193 - Made URI recognition more aggressive and intelligent. 2194 2195* docutils/parsers/rst/directives/__init__.py: 2196 2197 - Added several directive option conversion functions. 2198 2199* docutils/parsers/rst/directives/body.py: 2200 2201 - Moved "table" directive to tables.py. 2202 2203* docutils/parsers/rst/directives/tables.py: Table-related directives, 2204 added to project. 2205 2206* docutils/writers/latex2e.py: 2207 2208 - Added "--table-style=(standard|booktabs|nolines)" 2209 - figures get "here" option (LaTeX per default puts them at bottom), 2210 and figure content is centered. 2211 - Rowspan support for tables. 2212 - Fix: admonition titles before first section. 2213 - Replace ``--`` in literal by ``-{}-`` because fontencoding T1 has endash. 2214 - Replave ``_`` in literal by an underlined blank, because it has the correct 2215 width. 2216 - Fix: encode pdfbookmark titles, ``#`` broke pdflatex. 2217 - A few unicode replacements, if output_encoding != utf 2218 - Add "--graphicx-option". 2219 - Indent literal-blocks. 2220 - Fix: omit ``\maketitle`` when there is no document title. 2221 2222* docs/index.txt: "Docutils Project Documentation Overview", added to 2223 project. 2224 2225* docs/api/cmdline-tool.txt: "Inside A Docutils Command-Line Front-End 2226 Tool", added to project. 2227 2228* docs/api/publisher.txt: "The Docutils Publisher", added to project. 2229 2230* docs/api/runtime-settings.txt: "Docutils Runtime Settings", added to project. 2231 2232* docs/dev/policies.txt: Added to project (extracted from 2233 ``docs/dev/todo.txt``, formerly ``spec/notes.txt``). 2234 2235* docs/dev/release.txt: Added to project (extracted from 2236 ``docs/dev/todo.txt``, formerly ``spec/notes.txt``). 2237 2238* docs/dev/testing.txt: Added to project. 2239 2240* docs/dev/website.txt: Added to project (extracted from 2241 ``docs/dev/todo.txt``, formerly ``spec/notes.txt``). 2242 2243* docs/ref/rst/directives.txt: 2244 2245 - Added directives: "table", "csv-table". 2246 2247* docs/user/rst/cheatsheet.txt: "The reStructuredText Cheat Sheet" 2248 added to project. 1 page for syntax, and a 1 page reference for 2249 directives and roles. Source text to be used as-is; not meant to be 2250 converted to HTML. 2251 2252* docs/user/rst/demo.txt: Added to project; moved from tools/test.txt 2253 with a change of title. 2254 2255* test/functional/, contents, and test/test_functional.py: Added to 2256 project. 2257 2258* tools/buildhtml.py: Fixed bug with config file handling. 2259 2260* tools/html.py: Removed from project (duplicate of rst2html.py). 2261 2262* tools/pep2html.py: Removed from project (duplicate of Python's 2263 nondist/peps/pep2html.py; Docutils' tools/pep.py can be used for 2264 Docutils-related PEPs in docs/peps/). 2265 2266* tools/rst2pseudoxml.py: Renamed from publish.py. 2267 2268* tools/rst2xml.py: Renamed from docutils-xml.py. 2269 2270* tools/test.txt: Removed from project; moved to 2271 docs/user/rst/demo.txt. 2272 2273* setup.py: Now also installs ``rst2latex.py``. 2274 2275 2276Release 0.3.3 (2004-05-09) 2277========================== 2278 2279* docutils/__init__.py: 2280 2281 - 0.3.1: Reorganized config file format (multiple sections); see 2282 docs/config.txt. 2283 - Added unknown_reference_resolvers attribute to TransformSpec. 2284 - 0.3.2: Interpreted text reorganization. 2285 - 0.3.3: Released. 2286 2287* docutils/core.py: 2288 2289 - Catch system messages to stop tracebacks from parsing errors. 2290 - Catch exceptions during processing report & exit without 2291 tracebacks, except when "--traceback" used. 2292 - Reordered components for OptionParser; application comes last. 2293 - Added "config_section" parameter to several methods and functions, 2294 allowing front ends to easily specify their config file sections. 2295 - Added publish_parts convenience function to allow access to individual 2296 parts of a document. 2297 2298* docutils/examples.py: Added to project; practical examples of 2299 Docutils client code, to be used as-is or as models for variations. 2300 2301* docutils/frontend.py: 2302 2303 - Added "--traceback" & "--no-traceback" options ("traceback" 2304 setting). 2305 - Implemented support for config file reorganization: 2306 ``standard_config_files`` moved from ``ConfigParser`` to 2307 ``OptionParser``; added 2308 ``OptionParser.get_config_file_settings()`` and 2309 ``.get_standard_config_settings()``; support for old "[options]" 2310 section (with deprecation warning) and mapping from old to new 2311 settings. 2312 - Reimplemented setting validation. 2313 - Enabled flexible boolean values: yes/no, true/false, on/off. 2314 - Added ``Values``, a subclass of ``optparse.Values``, with support 2315 for list setting attributes. 2316 - Added support for new ``DOCUTILSCONFIG`` environment variable; 2317 thanks to Beni Cherniavsky. 2318 - Added "--no-section-numbering" option. 2319 2320* docutils/io.py: 2321 2322 - Catch IOErrors when opening source & destination files, report & 2323 exit without tracebacks. Added ``handle_io_errors`` parameter to 2324 ``FileInput`` & ``FileOutput`` to enable caller error handling. 2325 2326* docutils/nodes.py: 2327 2328 - Changed ``SparseNodeVisitor`` and ``GenericNodeVisitor`` dynamic 2329 method definitions (via ``exec``) to dynamic assignments (via 2330 ``setattr``); thanks to Roman Suzi. 2331 - Encapsulated visitor dynamic assignments in a function; thanks to 2332 Ian Bicking. 2333 - Added indirect_reference_name attribute to the Targetable 2334 class. This attribute holds the whitespace_normalized_name 2335 (contains mixed case) of a target. 2336 2337* docutils/statemachine.py: 2338 2339 - Renamed ``StringList.strip_indent`` to ``.trim_left``. 2340 - Added ``StringList.get_2D_block``. 2341 2342* docutils/utils.py: 2343 2344 - Added "level" attribute to SystemMessage exceptions. 2345 2346* docutils/languages/af.py: Added to project; Afrikaans mappings by 2347 Jannie Hofmeyr. 2348 2349* docutils/languages/cs.py: Added to project; Czech mappings by Marek 2350 Blaha. 2351 2352* docutils/languages/eo.py: Added to project; Esperanto mappings by 2353 Marcelo Huerta San Martin. 2354 2355* docutils/languages/pt_br.py: Added to project; Brazilian Portuguese 2356 mappings by Lalo Martins. 2357 2358* docutils/languages/ru.py: Added to project; Russian mappings by 2359 Roman Suzi. 2360 2361* docutils/parsers/rst/roles.py: Added to project. Contains 2362 interpreted text role functions, a registry for interpreted text 2363 roles, and an API for adding to and retrieving from the registry. 2364 Contributed by Edward Loper. 2365 2366* docutils/parsers/rst/states.py: 2367 2368 - Updated ``RSTState.nested_parse`` for "include" in table cells. 2369 - Allowed true em-dash character and "---" as block quote 2370 attribution marker. 2371 - Added support for <angle-bracketed> complex option arguments 2372 (option lists). 2373 - Fixed handling of backslashes in substitution definitions. 2374 - Fixed off-by-1 error with extra whitespace after substitution 2375 definition directive. 2376 - Added inline markup parsing to field lists' field names. 2377 - Added support for quoted (and unindented) literal blocks. 2378 Driven in part by a bribe from Frank Siebenlist (thanks!). 2379 - Parser now handles escapes in URIs correctly. 2380 - Made embedded-URIs' reference text omittable. Idea from Beni 2381 Cherniavsky. 2382 - Refactored explicit target processing code. 2383 - Added name attribute to references containing the reference name only 2384 through whitespace_normalize_name (no case changes). 2385 - parse_target no longer returns the refname after going through 2386 normalize_name. This is now handled in make_target. 2387 - Fixed bug relating to role-less interpreted text in non-English 2388 contexts. 2389 - Reorganized interpreted text processing; moved code into the new 2390 roles.py module. Contributed by Edward Loper. 2391 - Refactored ``Body.parse_directive`` into ``run_directive`` and 2392 ``parse_directive_block``. 2393 2394* docutils/parsers/rst/tableparser.py: 2395 2396 - Reworked for ``StringList``, to support "include" directives in 2397 table cells. 2398 2399* docutils/parsers/rst/directives/__init__.py: 2400 2401 - Renamed ``unchanged()`` directive option conversion function to 2402 ``unchanged_required``, and added a new ``unchanged``. 2403 - Catch unicode value too high error; fixes bug 781766. 2404 - Beefed up directive error reporting. 2405 2406* docutils/parsers/rst/directives/body.py: 2407 2408 - Added basic "table" directive. 2409 2410* docutils/parsers/rst/directives/images.py: 2411 2412 - Added "target" option to "image" directive. 2413 - Added name attribute to references containing the reference name only 2414 through whitespace_normalize_name (no case changes). 2415 2416* docutils/parsers/rst/directives/misc.py: 2417 2418 - Isolated the import of the ``urllib2`` module; was causing 2419 problems on SourceForge (``libssl.so.2`` unavailable?). 2420 - Added the "role" directive for declaring custom interpreted text 2421 roles. 2422 2423* docutils/parsers/rst/directives/parts.py: 2424 2425 - The "contents" directive does more work up-front, creating the 2426 "topic" and "title", and leaving the "pending" node for the 2427 transform. Allows earlier reference resolution; fixes subtle bug. 2428 2429* docutils/parsers/rst/languages/af.py: Added to project; Afrikaans 2430 mappings by Jannie Hofmeyr. 2431 2432* docutils/parsers/rst/languages/cs.py: Added to project; Czech 2433 mappings by Marek Blaha. 2434 2435* docutils/parsers/rst/languages/eo.py: Added to project; Esperanto 2436 mappings by Marcelo Huerta San Martin. 2437 2438* docutils/parsers/rst/languages/pt_br.py: Added to project; Brazilian 2439 Portuguese mappings by Lalo Martins. 2440 2441* docutils/parsers/rst/languages/ru.py: Added to project; Russian 2442 mappings by Roman Suzi. 2443 2444* docutils/transforms/parts.py: 2445 2446 - The "contents" directive does more work up-front, creating the 2447 "topic" and "title", and leaving the "pending" node for the 2448 transform. Allows earlier reference resolution; fixes subtle bug. 2449 - Added support for disabling of section numbering. 2450 2451* docutils/transforms/references.py: 2452 2453 - Verifying that external targets are truly targets and not indirect 2454 references. This is because we are now adding a "name" attribute to 2455 references in addition to targets. Note sure if this is correct! 2456 - Added code to hook into the unknown_reference_resolvers list for a 2457 transformer in resolve_indirect_target. This allows the 2458 unknown_reference_resolvers to keep around indirect targets which 2459 docutils doesn't know about. 2460 - Added specific error message for duplicate targets. 2461 2462* docutils/transforms/universal.py: 2463 2464 - Added FilterMessages transform (removes system messages below the 2465 verbosity threshold). 2466 - Added hook (via docutils.TransformSpec.unknown_reference_resolvers) 2467 to FinalCheckVisitor for application-specific handling of 2468 unresolvable references. 2469 - Added specific error message for duplicate targets. 2470 2471* docutils/writers/__init__.py: 2472 2473 - Added assemble_parts method to the Writer class to allow for 2474 access to a documents individual parts. 2475 - Documented & set default for ``Writer.output`` attribute. 2476 2477* docutils/writers/html4css1.py: 2478 2479 - Fixed unicode handling of attribute values (bug 760673). 2480 - Prevent duplication of "class" attribute values (bug report from 2481 Kirill Lapshin). 2482 - Improved table grid/border handling (prompted by report from Bob 2483 Marshall). 2484 - Added support for table titles. 2485 - Added "<title />" for untitled docs, for XHTML conformance; thanks 2486 to Darek Suchojad. 2487 - Added functionality to keep track of individual parts of a document 2488 and store them in a dictionary as the "parts" attribute of the writer. 2489 Contributed by Reggie Dugard at the Docutils sprint at PyCon DC 2004. 2490 - Added proper support for the "scale" attribute of the "image" 2491 element. Contributed by Brent Cook. 2492 - Added ``--initial-header-level`` option. 2493 - Fixed bug: the body_pre_docinfo segment depended on there being a 2494 docinfo; if no docinfo, the document title was incorporated into 2495 the body segment. Adversely affected the publish_parts interface. 2496 2497* docutils/writers/latex2e.py: 2498 2499 - Changed default stylesheet to "no stylesheet" to avoid latex complaining 2500 about a missing file. 2501 - Added options and support: ``--compound-enumerators``, 2502 ``--section-prefix-for-enumerators``, and 2503 ``--section-enumerator-separator``. By John F Meinel Jr (SF patch 2504 934322). 2505 - Added option ``--use-verbatim-when-possible``, to avoid 2506 problematic characters (eg, '~' in italian) in literal blocks. 2507 - It's now possible to use four section levels in the `book` and 2508 `report` LaTeX classes. The default `article` class still has 2509 three levels limit. 2510 2511* docs/config.txt: "Docutils Configuration Files", added to project. 2512 Moved config file entry descriptions from tools.txt. 2513 2514* docs/tools.txt: 2515 2516 - Moved config file entry descriptions to config.txt. 2517 2518* spec/notes.txt: Continual updates. Added "Setting Up For Docutils 2519 Development". 2520 2521* spec/howto/rst-roles.txt: "Creating reStructuredText Interpreted 2522 Text Roles", added to project. 2523 2524* spec/rst/reStructuredText.txt: 2525 2526 - Added description of support for <angle-bracketed> complex option 2527 arguments to option lists. 2528 - Added subsections for indented and quoted literal blocks. 2529 2530* test: Continually adding & updating tests. 2531 2532 - Added test/test_settings.py & test/data/config_*.txt support 2533 files. 2534 - Added test/test_writers/test_htmlfragment.py. 2535 2536* test/DocutilsTestSupport.py: 2537 2538 - Refactored LaTeX publisher test suite/case class names to make 2539 testing other writers easier. 2540 - Added HtmlWriterPublishTestCase and HtmlFragmentTestSuite classes 2541 to test the processing of HTML fragments which use the new 2542 publish_parts convenience function. 2543 2544* tools/buildhtml.py: 2545 2546 - Added support for the "--prune" option. 2547 - Removed dependency on pep2html.py; plaintext PEPs no longer 2548 supported. 2549 2550* tools/docutils.conf: 2551 2552 - Updated for configuration file reorganization. 2553 2554* tools/rst2html.py: 2555 2556 - copied from tools/html.py 2557 2558* setup.py: 2559 2560 - added a 'scripts' section to configuration 2561 - added 'tools/rst2html.py' to the scripts section 2562 2563 2564Release 0.3 (2003-06-24) 2565======================== 2566 2567General: 2568 2569* Renamed "attribute" to "option" for directives/extensions. 2570 2571* Renamed transform method "transform" to "apply". 2572 2573* Renamed "options" to "settings" for runtime settings (as set by 2574 command-line options). Sometimes "option" (singular) became 2575 "settings" (plural). Some variations below: 2576 2577 - document.options -> document.settings (stored in other objects as 2578 well) 2579 - option_spec -> settings_spec (not directives though) 2580 - OptionSpec -> SettingsSpec 2581 - cmdline_options -> settings_spec 2582 - relative_path_options -> relative_path_settings 2583 - option_default_overrides -> settings_default_overrides 2584 - Publisher.set_options -> Publisher.get_settings 2585 2586Specific: 2587 2588* COPYING.txt: Added "Public Domain Dedication". 2589 2590* FAQ.txt: Frequently asked questions, added to project. 2591 2592* setup.py: 2593 2594 - Updated with PyPI Trove classifiers. 2595 - Conditional installation of third-party modules. 2596 2597* docutils/__init__.py: 2598 2599 - Bumped version to 0.2.1 to reflect changes to I/O classes. 2600 - Bumped version to 0.2.2 to reflect changes to stylesheet options. 2601 - Factored ``SettingsSpec`` out of ``Component``; separately useful. 2602 - Bumped version to 0.2.3 because of the new "--embed-stylesheet" 2603 option and its effect on the PEP template & writer. 2604 - Bumped version to 0.2.4 due to changes to the PEP template & 2605 stylesheet. 2606 - Bumped version to 0.2.5 to reflect changes to Reporter output. 2607 - Added ``TransformSpec`` class for new transform system. 2608 - Bumped version to 0.2.6 for API changes (renaming). 2609 - Bumped version to 0.2.7 for new ``docutils.core.publish_*`` 2610 convenience functions. 2611 - Added ``Component.component_type`` attribute. 2612 - Bumped version to 0.2.8 because of the internal parser switch from 2613 plain lists to the docutils.statemachine.StringList objects. 2614 - Bumped version to 0.2.9 because of the frontend.py API changes. 2615 - Bumped version to 0.2.10 due to changes to the project layout 2616 (third-party modules removed from the "docutils" package), and 2617 signature changes in ``io.Input``/``io.Output``. 2618 - Changed version to 0.3.0 for release. 2619 2620* docutils/core.py: 2621 2622 - Made ``publish()`` a bit more convenient. 2623 - Generalized ``Publisher.set_io``. 2624 - Renamed ``publish()`` to ``publish_cmdline()``; rearranged its 2625 parameters; improved its docstring. 2626 - Added ``publish_file()`` and ``publish_string()``. 2627 - Factored ``Publisher.set_source()`` and ``.set_destination()`` 2628 out of ``.set_io``. 2629 - Added support for "--dump-pseudo-xml", "--dump-settings", and 2630 "--dump-transforms" hidden options. 2631 - Added ``Publisher.apply_transforms()`` method. 2632 - Added ``Publisher.set_components()`` method; support for 2633 ``publish_*()`` conveninece functions. 2634 - Moved config file processing to docutils/frontend.py. 2635 - Added support for exit status ("exit_level" setting & 2636 ``enable_exit`` parameter for Publisher.publish() and convenience 2637 functions). 2638 2639* docutils/frontend.py: 2640 2641 - Check for & exit on identical source & destination paths. 2642 - Fixed bug with absolute paths & "--config". 2643 - Set non-command-line defaults in ``OptionParser.__init__()``: 2644 ``_source`` & ``_destination``. 2645 - Distributed ``relative_path_settings`` to components; updated 2646 ``OptionParser.populate_from_components()`` to combine it all. 2647 - Require list of keys in ``make_paths_absolute`` (was implicit in 2648 global ``relative_path_settings``). 2649 - Added "--expose-internal-attribute", "--dump-pseudo-xml", 2650 "--dump-settings", and "--dump-transforms" hidden options. 2651 - Removed nasty internals-fiddling ``ConfigParser.get_section`` 2652 code, replaced with correct code. 2653 - Added validation functionality for config files. 2654 - Added "--error-encoding" option/setting, "_disable_config" 2655 internal setting. 2656 - Added encoding validation; updated "--input-encoding" and 2657 "--output-encoding"; added "--error-encoding-error-handler" and 2658 "--output-encoding-error-handler". 2659 - Moved config file processing from docutils/core.py. 2660 - Updated ``OptionParser.populate_from_components`` to handle new 2661 ``SettingsSpec.settings_defaults`` dict. 2662 - Added support for "-" => stdin/stdout. 2663 - Added "exit_level" setting ("--exit" option). 2664 2665* docutils/io.py: 2666 2667 - Split ``IO`` classes into subclasses of ``Input`` and ``Output``. 2668 - Added automatic closing to ``FileInput`` and ``FileOutput``. 2669 - Delayed opening of ``FileOutput`` file until ``write()`` called. 2670 - ``FileOutput.write()`` now returns the encoded output string. 2671 - Try to get path/stream name automatically in ``FileInput`` & 2672 ``FileOutput``. 2673 - Added defaults for source & destination paths. 2674 - Allow for Unicode I/O with an explicit "unicode" encoding. 2675 - Added ``Output.encode()``. 2676 - Removed dependency on runtime settings; pass encoding directly. 2677 - Recognize Unicode strings in ``Input.decode()``. 2678 - Added support for output encoding error handlers. 2679 2680* docutils/nodes.py: 2681 2682 - Added "Invisible" element category class. 2683 - Changed ``Node.walk()`` & ``.walkabout()`` to permit more tree 2684 modification during a traversal. 2685 - Added element classes: ``line_block``, ``generated``, ``address``, 2686 ``sidebar``, ``rubric``, ``attribution``, ``admonition``, 2687 ``superscript``, ``subscript``, ``inline`` 2688 - Added support for lists of nodes to ``Element.insert()``. 2689 - Fixed parent linking in ``Element.replace()``. 2690 - Added new abstract superclass ``FixedTextElement``; adds 2691 "xml:space" attribute. 2692 - Added support for "line" attribute of ``system_message`` nodes. 2693 - Added support for the observer pattern from ``utils.Reporter``. 2694 Added ``parse_messages`` and ``transform_messages`` attributes to 2695 ``document``, removed ``messages``. Added ``note_parse_message`` 2696 and ``note_transform_message`` methods. 2697 - Added support for improved diagnostics: 2698 2699 - Added "document", "source", and "line" internal attributes to 2700 ``Node``, set by ``Node.setup_child()``. 2701 - Converted variations on ``node.parent = self`` to 2702 ``self.setup_child(node)``. 2703 - Added ``document.current_source`` & ``.current_line`` 2704 attributes, and ``.note_source`` observer method. 2705 - Changed "system_message" output to GNU-Tools format. 2706 2707 - Added a "rawsource" attribute to the ``Text`` class, for text 2708 before backslash-escape resolution. 2709 - Support for new transform system. 2710 - Reworked ``pending`` element. 2711 - Fixed XML DOM bug (SF #660611). 2712 - Removed the ``interpeted`` element class and added 2713 ``title_reference``, ``abbreviation``, ``acronym``. 2714 - Made substitutions case-sensitive-but-forgiving; moved some code 2715 from the parser. 2716 - Fixed Unicode bug on element attributes (report: William Dode). 2717 2718* docutils/optik.py: Removed from project; replaced with 2719 extras/optparse.py and extras/textwrap.py. These will be installed 2720 only if they're not already present in the Python installation. 2721 2722* docutils/roman.py: Moved to extras/roman.py; this will be installed 2723 only if it's not already present in the Python installation. 2724 2725* docutils/statemachine.py: 2726 2727 - Factored out ``State.add_initial_transitions()`` so it can be 2728 extended. 2729 - Converted whitespace-specific "blank" and "indent" transitions 2730 from special-case code to ordinary transitions: removed 2731 ``StateMachineWS.check_line()`` & ``.check_whitespace()``, added 2732 ``StateWS.add_initial_transitions()`` method, ``ws_patterns`` & 2733 ``ws_initial_transitions`` attributes. 2734 - Removed ``State.match_transition()`` after merging it into 2735 ``.check_line()``. 2736 - Added ``StateCorrection`` exception. 2737 - Added support for ``StateCorrection`` in ``StateMachine.run()`` 2738 (moved ``TransitionCorrection`` support there too.) 2739 - Changed ``StateMachine.next_line()`` and ``.goto_line()`` to raise 2740 ``EOFError`` instead of ``IndexError``. 2741 - Added ``State.no_match`` method. 2742 - Added support for the Observer pattern, triggered by input line 2743 changes. 2744 - Added ``strip_top`` parameter to 2745 ``StateMachineWS.get_first_known_indented``. 2746 - Made ``context`` a parameter to ``StateMachine.run()``. 2747 - Added ``ViewList`` & ``StringList`` classes; 2748 ``extract_indented()`` becomes ``StringList.get_indented()``. 2749 - Added ``StateMachine.insert_input()``. 2750 - Fixed ViewList slice handling for Python 2.3. Patch from (and 2751 thanks to) Fred Drake. 2752 2753* docutils/utils.py: 2754 2755 - Added a ``source`` attribute to Reporter instances and 2756 ``system_message`` elements. 2757 - Added an observer pattern to ``utils.Reporter`` to keep track of 2758 system messages. 2759 - Fixed bugs in ``relative_path()``. 2760 - Added support for improved diagnostics. 2761 - Moved ``normalize_name()`` to nodes.py (``fully_normalize_name``). 2762 - Added support for encoding Reporter stderr output, and encoding 2763 error handlers. 2764 - Reporter keeps track of the highest level system message yet 2765 generated. 2766 2767* docutils/languages: Fixed bibliographic field language lookups. 2768 2769* docutils/languages/es.py: Added to project; Spanish mappings by 2770 Marcelo Huerta San Martin. 2771 2772* docutils/languages/fr.py: Added to project; French mappings by 2773 Stefane Fermigier. 2774 2775* docutils/languages/it.py: Added to project; Italian mappings by 2776 Nicola Larosa. 2777 2778* docutils/languages/sk.py: Added to project; Slovak mappings by 2779 Miroslav Vasko. 2780 2781* docutils/parser/__init__.py: 2782 2783 - Added ``Parser.finish_parse()`` method. 2784 2785* docutils/parser/rst/__init__.py: 2786 2787 - Added options: "--pep-references", "--rfc-references", 2788 "--tab-width", "--trim-footnote-reference-space". 2789 2790* docutils/parsers/rst/states.py: 2791 2792 - Changed "title under/overline too short" system messages from INFO 2793 to WARNING, and fixed its insertion location. 2794 - Fixed enumerated list item parsing to allow paragraphs & section 2795 titles to begin with enumerators. 2796 - Converted system messages to use the new "line" attribute. 2797 - Fixed a substitution reference edge case. 2798 - Added support for "--pep-references" and "--rfc-references" 2799 options; reworked ``Inliner`` code to make customization easier. 2800 - Removed field argument parsing. 2801 - Added support for short section title over/underlines. 2802 - Fixed "simple reference name" regexp to ignore text like 2803 "object.__method__"; not an anonymous reference. 2804 - Added support for improved diagnostics. 2805 - Reworked directive API, based on Dethe Elza's contribution. Added 2806 ``Body.parse_directive()``, ``.parse_directive_options()``, 2807 ``.parse_directive_arguments()`` methods. 2808 - Added ``ExtensionOptions`` class, to parse directive options 2809 without parsing field bodies. Factored 2810 ``Body.parse_field_body()`` out of ``Body.field()``, overridden in 2811 ``ExtensionOptions``. 2812 - Improved definition list term/classifier parsing. 2813 - Added warnings for unknown directives. 2814 - Renamed ``Stuff`` to ``Struct``. 2815 - Now flagged as errors: transitions at the beginning or end of 2816 sections, empty sections (except title), and empty documents. 2817 - Updated for ``statemachine.StringList``. 2818 - Enabled recognition of schemeless email addresses in targets. 2819 - Added support for embedded URIs in hyperlink references. 2820 - Added backslash-escapes to inline markup end-string suffix. 2821 - Added support for correct interpreted text processing. 2822 - Fixed nested title parsing (topic, sidebar directives). 2823 - Added special processing of backslash-escaped whitespace (idea 2824 from David Abrahams). 2825 - Made substitutions case-sensitive-but-forgiving; moved some code 2826 to ``docutils.nodes``. 2827 - Added support for block quote attributions. 2828 - Added a kludge to work-around a conflict between the bubble-up 2829 parser strategy and short titles (<= 3 char-long over- & 2830 underlines). Fixes SF bug #738803 "infinite loop with multiple 2831 titles" submitted by Jason Diamond. 2832 - Added explicit interpreted text roles for standard inline markup: 2833 "emphasis", "strong", "literal". 2834 - Implemented "superscript" and "subscript" interpreted text roles. 2835 - Added initial support for "abbreviation" and "acronym" roles; 2836 incomplete. 2837 - Added support for "--trim-footnote-reference-space" option. 2838 - Optional space before colons in directives & hyperlink targets. 2839 2840* docutils/parsers/rst/tableparser.py: 2841 2842 - Fixed a bug that was producing unwanted empty rows in "simple" 2843 tables. 2844 - Detect bad column spans in "simple" tables. 2845 2846* docutils/parsers/rst/directives: Updated all directive functions to 2847 new API. 2848 2849* docutils/parsers/rst/directives/__init__.py: 2850 2851 - Added ``flag()``, ``unchanged()``, ``path()``, 2852 ``nonnegative_int()``, ``choice()``, and ``class_option()`` 2853 directive option helper functions. 2854 - Added warnings for unknown directives. 2855 - Return ``None`` for missing directives. 2856 - Added ``register_directive()``, thanks to William Dode and Paul 2857 Moore. 2858 2859* docutils/parsers/rst/directives/admonitions.py: 2860 2861 - Added "admonition" directive. 2862 2863* docutils/parsers/rst/directives/body.py: Added to project. Contains 2864 the "topic", "sidebar" (from Patrick O'Brien), "line-block", 2865 "parsed-literal", "rubric", "epigraph", "highlights" and 2866 "pull-quote" directives. 2867 2868* docutils/parsers/rst/directives/images.py: 2869 2870 - Added an "align" attribute to the "image" & "figure" directives 2871 (by Adam Chodorowski). 2872 - Added "class" option to "image", and "figclass" to "figure". 2873 2874* docutils/parsers/rst/directives/misc.py: 2875 2876 - Added "include", "raw", and "replace" directives, courtesy of 2877 Dethe Elza. 2878 - Added "unicode" and "class" directives. 2879 2880* docutils/parsers/rst/directives/parts.py: 2881 2882 - Added the "sectnum" directive; by Dmitry Jemerov. 2883 - Added "class" option to "contents" directive. 2884 2885* docutils/parsers/rst/directives/references.py: Added to project. 2886 Contains the "target-notes" directive. 2887 2888* docutils/parsers/rst/languages/__init__.py: 2889 2890 - Return ``None`` from get_language() for missing language modules. 2891 2892* docutils/parsers/rst/languages/de.py: Added to project; German 2893 mappings by Engelbert Gruber. 2894 2895* docutils/parsers/rst/languages/en.py: 2896 2897 - Added interpreted text roles mapping. 2898 2899* docutils/parsers/rst/languages/es.py: Added to project; Spanish 2900 mappings by Marcelo Huerta San Martin. 2901 2902* docutils/parsers/rst/languages/fr.py: Added to project; French 2903 mappings by William Dode. 2904 2905* docutils/parsers/rst/languages/it.py: Added to project; Italian 2906 mappings by Nicola Larosa. 2907 2908* docutils/parsers/rst/languages/sk.py: Added to project; Slovak 2909 mappings by Miroslav Vasko. 2910 2911* docutils/readers/__init__.py: 2912 2913 - Added support for the observer pattern from ``utils.Reporter``, in 2914 ``Reader.parse`` and ``Reader.transform``. 2915 - Removed ``Reader.transform()`` method. 2916 - Added default parameter values to ``Reader.__init__()`` to make 2917 instantiation easier. 2918 - Removed bogus aliases: "restructuredtext" is *not* a Reader. 2919 2920* docutils/readers/pep.py: 2921 2922 - Added the ``peps.TargetNotes`` transform to the Reader. 2923 - Removed PEP & RFC reference detection code; moved to 2924 parsers/rst/states.py as options (enabled here by default). 2925 - Added support for pre-acceptance PEPs (no PEP number yet). 2926 - Moved ``Inliner`` & made it a class attribute of ``Reader`` for 2927 easy subclassing. 2928 2929* docutils/readers/python: Python Source Reader subpackage added to 2930 project, including preliminary versions of: 2931 2932 - __init__.py 2933 - moduleparser.py: Parser for Python modules. 2934 2935* docutils/transforms/__init__.py: 2936 2937 - Added ``Transformer`` class and completed transform reform. 2938 - Added unknown_reference_resolvers list for each transformer. This list holds 2939 the list of functions provided by each component of the transformer that 2940 help resolve references. 2941 2942* docutils/transforms/frontmatter.py: 2943 2944 - Improved support for generic fields. 2945 - Fixed bibliographic field language lookups. 2946 2947* docutils/transforms/misc.py: Added to project. Miscellaneous 2948 transforms. 2949 2950* docutils/transforms/parts.py: 2951 2952 - Moved the "id" attribute from TOC list items to the references 2953 (``Contents.build_contents()``). 2954 - Added the ``SectNum`` transform; by Dmitry Jemerov. 2955 - Added "class" attribute support to ``Contents``. 2956 2957* docutils/transforms/peps.py: 2958 2959 - Added ``mask_email()`` function, updating to pep2html.py's 2960 functionality. 2961 - Linked "Content-Type: text/x-rst" to PEP 12. 2962 - Added the ``TargetNotes`` PEP-specific transform. 2963 - Added ``TargetNotes.cleanup_callback``. 2964 - Added title check to ``Headers``. 2965 2966* docutils/transforms/references.py: 2967 2968 - Added the ``TargetNotes`` generic transform. 2969 - Split ``Hyperlinks`` into multiple transforms. 2970 - Fixed bug with multiply-indirect references (report: Bruce Smith). 2971 - Added check for circular indirect references. 2972 - Made substitutions case-sensitive-but-forgiving. 2973 2974* docutils/transforms/universal.py: 2975 2976 - Added support for the "--expose-internal-attributes" option. 2977 - Removed ``Pending`` transform classes & data. 2978 2979* docutils/writers/__init__.py: 2980 2981 - Removed ``Writer.transform()`` method. 2982 2983* docutils/writers/docutils-xml.py: 2984 2985 - Added XML and doctype declarations. 2986 - Added "--no-doctype" and "--no-xml-declaration" options. 2987 2988* docutils/writers/html4css1.py: 2989 2990 - "name" attributes only on these tags: a, applet, form, frame, 2991 iframe, img, map. 2992 - Added "name" attribute to <a> in section titles for Netscape 4 2993 support (bug report: Pearu Peterson). 2994 - Fixed targets (names) on footnote, citation, topic title, 2995 problematic, and system_message nodes (for Netscape 4). 2996 - Changed field names from "<td>" to "<th>". 2997 - Added "@" to "@" encoding to thwart address harvesters. 2998 - Improved the vertical whitespace optimization; ignore "invisible" 2999 nodes (targets, comments, etc.). 3000 - Improved inline literals with ``<span class="pre">`` around chunks 3001 of text and `` `` for runs of spaces. 3002 - Improved modularity of output; added ``self.body_pre_docinfo`` and 3003 ``self.docinfo`` segments. 3004 - Added support for "line_block", "address" elements. 3005 - Improved backlinks (footnotes & system_messages). 3006 - Improved system_message output. 3007 - Redefined "--stylesheet" as containing an invariant URL, used 3008 verbatim. Added "--stylesheet-path", interpreted w.r.t. the 3009 working directory. 3010 - Added "--footnote-references" option (superscript or brackets). 3011 - Added "--compact-lists" and "--no-compact-lists" options. 3012 - Added "--embed-stylesheet" and "--link-stylesheet" options; 3013 factored out ``HTMLTranslator.get_stylesheet_reference()``. 3014 - Improved field list rendering. 3015 - Added Docutils version to "generator" meta tag. 3016 - Fixed a bug with images; they must be inline, so wrapped in <p>. 3017 - Improved layout of <pre> HTML source. 3018 - Fixed attribute typo on <colspec>. 3019 - Refined XML prologue. 3020 - Support for no stylesheet. 3021 - Removed "interpreted" element support. 3022 - Added support for "title_reference", "sidebar", "attribution", 3023 "rubric", and generic "admonition" elements. 3024 - Added "--attribution" option. 3025 - Added support for "inline", "subscript", "superscript" elements. 3026 - Added initial support for "abbreviation" and "acronym"; 3027 incomplete. 3028 3029* docutils/writers/latex2e.py: LaTeX Writer, added by Engelbert Gruber 3030 (from the sandbox). 3031 3032 - Added french. 3033 - Double quotes in literal blocks (special treatment for de/ngerman). 3034 - Added '--hyperlink-color' option ('0' turns off coloring of links). 3035 - Added "--attribution" option. 3036 - Right align attributions. 3037 3038* docutils/writers/pep_html.py: 3039 3040 - Parameterized output encoding in PEP template. 3041 - Reworked substitutions from ``locals()`` into ``subs`` dict. 3042 - Redefined "--pep-stylesheet" as containing an invariant URL, used 3043 verbatim. Added "--pep-stylesheet-path", interpreted w.r.t. the 3044 working directory. 3045 - Added an override on the "--footnote-references" option. 3046 - Factored out ``HTMLTranslator.get_stylesheet_reference()``. 3047 - Added Docutils version to "generator" meta tag. 3048 - Added a "DO NOT EDIT THIS FILE" comment to generated HTML. 3049 3050* docs/tools.txt: 3051 3052 - Added a "silent" setting for ``buildhtml.py``. 3053 - Added a "Getting Help" section. 3054 - Rearranged the structure. 3055 - Kept up to date, with new settings, command-line options etc. 3056 - Added section for ``rst2latex.py`` (Engelbert Gruber). 3057 - Converted settings table into a definition list. 3058 3059* docs/rst/quickstart.txt: 3060 3061 - Added a table of contents. 3062 - Added feedback information. 3063 - Added mention of minimum section title underline lengths. 3064 - Removed the 4-character minimum for section title underlines. 3065 3066* docs/rst/quickref.html: 3067 3068 - Added a "Getting Help" section. 3069 - Added a style to make section title backlinks more subtle. 3070 - Added mention of minimum section title underline lengths. 3071 - Removed the 4-character minimum for section title underlines. 3072 3073* extras: Directory added to project; contains third-party modules 3074 that Docutils depends on (optparse, textwrap, roman). These are 3075 only installed if they're not already present. 3076 3077* licenses: Directory added to project; contains copies of license 3078 files for non-public-domain files. 3079 3080* spec/doctree.txt: 3081 3082 - Changed the focus. It's about DTD elements: structural 3083 relationships, semantics, and external (public) attributes. Not 3084 about the element class library. 3085 - Moved some implementation-specific stuff into ``docutils.nodes`` 3086 docstrings. 3087 - Wrote descriptions of all common attributes and parameter 3088 entities. Filled in introductory material. 3089 - Working through the element descriptions: 55 down, 37 to go. 3090 - Removed "Representation of Horizontal Rules" to 3091 spec/rst/alternatives.txt. 3092 3093* spec/docutils.dtd: 3094 3095 - Added "generated" inline element. 3096 - Added "line_block" body element. 3097 - Added "auto" attribute to "title". 3098 - Changed content models of "literal_block" and "doctest_block" to 3099 ``%text.model``. 3100 - Added ``%number;`` attribute type parameter entity. 3101 - Changed ``%structural.elements;`` to ``%section.elements``. 3102 - Updated attribute types; made more specific. 3103 - Added "address" bibliographic element. 3104 - Added "line" attribute to ``system_message`` element. 3105 - Removed "field_argument" element; "field_name" may contain 3106 multiple words and whitespace. 3107 - Changed public identifier to docutils.sf.net. 3108 - Removed "interpreted" element; added "title_reference", 3109 "abbreviation", "acronym". 3110 - Removed "refuri" attribute from "footnote_reference" and 3111 "citation_reference". 3112 - Added "sidebar", "rubric", "attribution", "admonition", 3113 "superscript", "subscript", and "inline" elements. 3114 3115* spec/pep-0256.txt: Converted to reStructuredText & updated. 3116 3117* spec/pep-0257.txt: Converted to reStructuredText & updated. 3118 3119* spec/pep-0258.txt: Converted to reStructuredText & updated. 3120 3121* spec/semantics.txt: Updated with text from a Doc-SIG response to 3122 Dallas Mahrt. 3123 3124* spec/transforms.txt: Added to project. 3125 3126* spec/howto: Added subdirectory, for developer how-to docs. 3127 3128* spec/howto/rst-directives.txt: Added to project. Original by Dethe 3129 Elza, edited & extended by David Goodger. 3130 3131* spec/howto/i18n.txt: Docutils Internationalization. Added to 3132 project. 3133 3134* spec/rst/alternatives.txt: 3135 3136 - Added "Doctree Representation of Transitions" from 3137 spec/doctree.txt. 3138 - Updated "Inline External Targets" & closed the debate. 3139 - Added ideas for interpreted text syntax extensions. 3140 - Added "Nested Inline Markup" section. 3141 3142* spec/rst/directives.txt: 3143 3144 - Added directives: "topic", "sectnum", "target-notes", 3145 "line-block", "parsed-literal", "include", "replace", "sidebar", 3146 "admonition", "rubric", "epigraph", "highlights", "unicode" and 3147 "class". 3148 - Formalized descriptions of directive details. 3149 - Added an "align" attribute to the "image" & "figure" directives 3150 (by Adam Chodorowski). 3151 - Added "class" options to "topic", "sidebar", "line-block", 3152 "parsed-literal", "contents", and "image"; and "figclass" to 3153 "figure". 3154 3155* spec/rst/interpreted.txt: Added to project. Descriptions of 3156 interpreted text roles. 3157 3158* spec/rst/introduction.txt: 3159 3160 - Added pointers to material for new users. 3161 3162* spec/rst/reStructuredText.txt: 3163 3164 - Disambiguated comments (just add a newline after the "::"). 3165 - Updated enumerated list description; added a discussion of the 3166 second-line validity checking. 3167 - Updated directive description. 3168 - Added a note redirecting newbies to the user docs. 3169 - Expanded description of inline markup start-strings in non-markup 3170 contexts. 3171 - Removed field arguments and made field lists a generic construct. 3172 - Removed the 4-character minimum for section title underlines. 3173 - Clarified term/classifier delimiter & inline markup ambiguity 3174 (definition lists). 3175 - Added "Embedded URIs". 3176 - Updated "Interpreted Text" section. 3177 - Added "Character-Level Inline Markup" section. 3178 3179* test: Continually adding & updating tests. 3180 3181 - Moved test/test_rst/ to test/test_parsers/test_rst/. 3182 - Moved test/test_pep/ to test/test_readers/test_pep/. 3183 - Added test/test_readers/test_python/. 3184 - Added test/test_writers/ (Engelbert Gruber). 3185 3186* tools: 3187 3188 - Made the ``locale.setlocale()`` calls in front ends 3189 fault-tolerant. 3190 3191* tools/buildhtml.py: 3192 3193 - Added "--silent" option. 3194 - Fixed bug with absolute paths & "--config". 3195 - Updated for new I/O classes. 3196 - Added some exception handling. 3197 - Separated publishers' setting defaults; prevents interference. 3198 - Updated for new ``publish_file()`` convenience function. 3199 3200* tools/pep-html-template: 3201 3202 - Allow for "--embed-stylesheet". 3203 - Added Docutils version to "generator" meta tag. 3204 - Added a "DO NOT EDIT THIS FILE" comment to generated HTML. 3205 - Conform to XHTML spec. 3206 3207* tools/pep2html.py: 3208 3209 - Made ``argv`` a parameter to ``main()``. 3210 - Added support for "Content-Type:" header & arbitrary PEP formats. 3211 - Linked "Content-Type: text/plain" to PEP 9. 3212 - Files skipped (due to an error) are not pushed onto the server. 3213 - Updated for new I/O classes. 3214 - Added ``check_requirements()`` & ``pep_type_error()``. 3215 - Added some exception handling. 3216 - Updated for new ``publish_string()`` convenience function. 3217 - Added a "DO NOT EDIT THIS FILE" comment to generated HTML. 3218 3219* tools/quicktest.py: 3220 3221 - Added "-V"/"--version" option. 3222 3223* tools/rst2latex.py: LaTeX front end, added by Engelbert Gruber. 3224 3225* tools/unicode2rstsubs.py: Added to project. Produces character 3226 entity files (reSructuredText substitutions) from the MathML master 3227 unicode.xml file. 3228 3229* tools/editors: Support code for editors, added to project. Contains 3230 ``emacs/restructuredtext.el``. 3231 3232* tools/stylesheets/default.css: Moved into the stylesheets directory. 3233 3234 - Added style for chunks of inline literals. 3235 - Removed margin for first child of table cells. 3236 - Right-aligned field list names. 3237 - Support for auto-numbered section titles in TOCs. 3238 - Increased the size of inline literals (<tt>) in titles. 3239 - Restored the light gray background for inline literals. 3240 - Added support for "line_block" elements. 3241 - Added style for "address" elements. 3242 - Removed "a.footnote-reference" style; doing it with ``<sup>`` now. 3243 - Improved field list rendering. 3244 - Vertical whitespace improvements. 3245 - Removed "a.target" style. 3246 3247* tools/stylesheets/pep.css: 3248 3249 - Fixed nested section margins. 3250 - Other changes parallel those of ``../default.css``. 3251 3252 3253Release 0.2 (2002-07-31) 3254======================== 3255 3256General: 3257 3258- The word "component" was being used ambiguously. From now on, 3259 "component" will be used to mean "Docutils component", as in Reader, 3260 Writer, Parser, or Transform. Portions of documents (Table of 3261 Contents, sections, etc.) will be called "document parts". 3262- Did a grand renaming: a lot of ``verylongnames`` became 3263 ``very_long_names``. 3264- Cleaned up imports: no more relative package imports or 3265 comma-separated lists of top-level modules. 3266- Added support for an option values object which carries default 3267 settings and overrides (from command-line options and library use). 3268- Added internal Unicode support, and support for both input and 3269 output encodings. 3270- Added support for the ``docutils.io.IO`` class & subclasses. 3271 3272Specific: 3273 3274* docutils/__init__.py: 3275 3276 - Added ``ApplicationError`` and ``DataError``, for use throughout 3277 the package. 3278 - Added ``Component`` base class for Docutils components; implements 3279 the ``supports`` method. 3280 - Added ``__version__`` (thus, ``docutils.__version__``). 3281 3282* docutils/core.py: 3283 3284 - Removed many keyword parameters to ``Publisher.__init__()`` and 3285 ``publish()``; bundled into an option values object. Added 3286 "argv", "usage", "description", and "option_spec" parameters for 3287 command-line support. 3288 - Added ``Publisher.process_command_line()`` and ``.set_options()`` 3289 methods. 3290 - Reworked I/O model for ``docutils.io`` wrappers. 3291 - Updated ``Publisher.set_options()``; now returns option values 3292 object. 3293 - Added support for configuration files (/etc/docutils.conf, 3294 ./docutils.conf, ~/.docutils). 3295 - Added ``Publisher.setup_option_parser()``. 3296 - Added default usage message and description. 3297 3298* docutils/frontend.py: Added to project; support for front-end 3299 (command-line) scripts. Option specifications may be augmented by 3300 components. Requires Optik (http://optik.sf.net/) for option 3301 processing (installed locally as docutils/optik.py). 3302 3303* docutils/io.py: Added to project; uniform API for a variety of input 3304 output mechanisms. 3305 3306* docutils/nodes.py: 3307 3308 - Added ``TreeCopyVisitor`` class. 3309 - Added a ``copy`` method to ``Node`` and subclasses. 3310 - Added a ``SkipDeparture`` exception for visitors. 3311 - Renamed ``TreePruningException`` from ``VisitorException``. 3312 - Added docstrings to ``TreePruningException``, subclasses, and 3313 ``Nodes.walk()``. 3314 - Improved docstrings. 3315 - Added ``SparseNodeVisitor``, refined ``NodeVisitor``. 3316 - Moved ``utils.id()`` to ``nodes.make_id()`` to avoid circular 3317 imports. 3318 - Added ``decoration``, ``header``, and ``footer`` node classes, and 3319 ``PreDecorative`` mixin. 3320 - Reworked the name/id bookkeeping; to ``document``, removed 3321 ``explicit_targets`` and ``implicit_targets`` attributes, added 3322 ``nametypes`` attribute and ``set_name_id_map`` method. 3323 - Added ``NodeFound`` exception, for use with ``NodeVisitor`` 3324 traversals. 3325 - Added ``document.has_name()`` method. 3326 - Fixed DOM generation for list-attributes. 3327 - Added category class ``Labeled`` (used by footnotes & citations). 3328 - Added ``Element.set_class()`` method (sets "class" attribute). 3329 3330* docutils/optik.py: Added to project. Combined from the Optik 3331 package, with added option groups and other modifications. The use 3332 of this module is probably only temporary. 3333 3334* docutils/statemachine.py: 3335 3336 - Added ``runtime_init`` method to ``StateMachine`` and ``State``. 3337 - Added underscores to improve many awkward names. 3338 - In ``string2lines()``, changed whitespace normalizing translation 3339 table to regexp; restores Python 2.0 compatibility with Unicode. 3340 3341* docutils/urischemes.py: 3342 3343 - Filled in some descriptions. 3344 - Added "shttp" scheme. 3345 3346* docutils/utils.py: 3347 3348 - Added ``clean_rcs_keywords`` function (moved from 3349 docutils/transforms/frontmatter.py 3350 ``DocInfo.filter_rcs_keywords``). 3351 - Added underscores to improve many awkward names. 3352 - Changed names of Reporter's thresholds: 3353 warning_level -> report_level; error_level -> halt_level. 3354 - Moved ``utils.id()`` to ``nodes.make_id()``. 3355 - Added ``relative_path(source, target)``. 3356 3357* docutils/languages/de.py: German mappings; added to project. Thanks 3358 to Gunnar Schwant for the translations. 3359 3360* docutils/languages/en.py: Added "Dedication" bibliographic field 3361 mappings. 3362 3363* docutils/languages/sv.py: Swedish mappings; added to project by Adam 3364 Chodorowski. 3365 3366* docutils/parsers/rst/states.py: 3367 3368 - Added underscores to improve many awkward names. 3369 - Added RFC-2822 header support. 3370 - Extracted the inline parsing code from ``RSTState`` to a separate 3371 class, ``Inliner``, which will allow easy subclassing. 3372 - Made local bindings for ``memo`` container & often-used contents 3373 (reduces code complexity a lot). See ``RSTState.runtime_init()``. 3374 - ``RSTState.parent`` replaces ``RSTState.statemachine.node``. 3375 - Added ``MarkupMismatch`` exception; for late corrections. 3376 - Added ``-/:`` characters to inline markup's start string prefix, 3377 ``/`` to end string suffix. 3378 - Fixed a footnote bug. 3379 - Fixed a bug with literal blocks. 3380 - Applied patch from Simon Budig: simplified regexps with symbolic 3381 names, removed ``Inliner.groups`` and ``Body.explicit.groups``. 3382 - Converted regexps from ``'%s' % var`` to ``'%(var)s' % locals()``. 3383 - Fixed a bug in ``Inliner.interpreted_or_phrase_ref()``. 3384 - Allowed non-ASCII in "simple names" (directive names, field names, 3385 references, etc.). 3386 - Converted ``Inliner.patterns.initial`` to be dynamically built 3387 from parts with ``build_regexp()`` function. 3388 - Changed ``Inliner.inline_target`` to ``.inline_internal_target``. 3389 - Updated docstrings. 3390 - Changed "table" to "grid_table"; added "simple_table" support. 3391 3392* docutils/parsers/rst/tableparser.py: 3393 3394 - Changed ``TableParser`` to ``GridTableParser``. 3395 - Added ``SimpleTableParser``. 3396 - Refactored naming. 3397 3398* docutils/parsers/rst/directives/__init__.py: Added "en" (English) as 3399 a fallback language for directive names. 3400 3401* docutils/parsers/rst/directives/html.py: Changed the ``meta`` 3402 directive to use a ``pending`` element, used only by HTML writers. 3403 3404* docutils/parsers/rst/directives/parts.py: Renamed from 3405 components.py. 3406 3407 - Added "backlinks" attribute to "contents" directive. 3408 3409* docutils/parsers/rst/languages/sv.py: Swedish mappings; added to 3410 project by Adam Chodorowski. 3411 3412* docutils/readers/__init__.py: Gave Readers more control over 3413 choosing and instantiating Parsers. 3414 3415* docutils/readers/pep.py: Added to project; for PEP processing. 3416 3417* docutils/transforms/__init__.py: ``Transform.__init__()`` now 3418 requires a ``component`` parameter. 3419 3420* docutils/transforms/components.py: Added to project; transforms 3421 related to Docutils components. 3422 3423* docutils/transforms/frontmatter.py: 3424 3425 - In ``DocInfo.extract_authors``, check for a single "author" in an 3426 "authors" group, and convert it to a single "author" element. 3427 - Added support for "Dedication" and generic bibliographic fields. 3428 3429* docutils/transforms/peps.py: Added to project; PEP-specific. 3430 3431* docutils/transforms/parts.py: Renamed from old components.py. 3432 3433 - Added filter for `Contents`, to use alt-text for inline images, 3434 and to remove inline markup that doesn't make sense in the ToC. 3435 - Added "name" attribute to TOC topic depending on its title. 3436 - Added support for optional TOC backlinks. 3437 3438* docutils/transforms/references.py: Fixed indirect target resolution 3439 in ``Hyperlinks`` transform. 3440 3441* docutils/transforms/universal.py: 3442 3443 - Changed ``Messages`` transform to properly filter out system 3444 messages below the warning threshold. 3445 - Added ``Decorations`` transform (support for ``--generator``, 3446 ``--date``, ``--time``, ``--source-link`` options). 3447 3448* docutils/writers/__init__.py: Added "pdf" alias in anticipation of 3449 Engelbert Gruber's PDF writer. 3450 3451* docutils/writers/html4css1.py: 3452 3453 - Made XHTML-compatible (switched to lowercase element & attribute 3454 names; empty tag format). 3455 - Escape double-dashes in comment text. 3456 - Improved boilerplate & modularity of output. 3457 - Exposed modular output in Writer class. 3458 - Added a "generator" meta tag to <head>. 3459 - Added support for the ``--stylesheet`` option. 3460 - Added support for ``decoration``, ``header``, and ``footer`` 3461 elements. 3462 - In ``HTMLTranslator.attval()``, changed whitespace normalizing 3463 translation table to regexp; restores Python 2.0 compatibility 3464 with Unicode. 3465 - Added the translator class as instance variable to the Writer, to 3466 make it easily subclassable. 3467 - Improved option list spacing (thanks to Richard Jones). 3468 - Modified field list output. 3469 - Added backlinks to footnotes & citations. 3470 - Added percentage widths to "<col>" tags (from colspec). 3471 - Option lists: "<code>" changed to "<kbd>", ``option_argument`` 3472 "<span>" changed to "<var>". 3473 - Inline literals: "<code>" changed to "<tt>". 3474 - Many changes to optimize vertical space: compact simple lists etc. 3475 - Add a command-line options & directive attributes to control TOC 3476 and footnote/citation backlinks. 3477 - Added support for optional footnote/citation backlinks. 3478 - Added support for generic bibliographic fields. 3479 - Identify backrefs. 3480 - Relative URLs for stylesheet links. 3481 3482* docutils/writers/pep_html.py: Added to project; HTML Writer for 3483 PEPs (subclass of ``html4css1.Writer``). 3484 3485* docutils/writers/pseudoxml.py: Renamed from pprint.py. 3486 3487* docutils/writers/docutils_xml.py: Added to project; trivial writer 3488 of the Docutils internal doctree in XML. 3489 3490* docs/tools.txt: "Docutils Front-End Tools", added to project. 3491 3492* spec/doctree.txt: 3493 3494 - Changed the title to "The Docutils Document Tree". 3495 - Added "Hyperlink Bookkeeping" section. 3496 3497* spec/docutils.dtd: 3498 3499 - Added ``decoration``, ``header``, and ``footer`` elements. 3500 - Brought ``interpreted`` element in line with the parser: changed 3501 attribute "type" to "role", added "position". 3502 - Added support for generic bibliographic fields. 3503 3504* spec/notes.txt: Continual updates. Added "Project Policies". 3505 3506* spec/pep-0256.txt: Updated. Added "Roadmap to the Doctring PEPs" 3507 section. 3508 3509* spec/pep-0257.txt: Clarified prohibition of signature repetition. 3510 3511* spec/pep-0258.txt: Updated. Added text from pysource.txt and 3512 mailing list discussions. 3513 3514* spec/pep-0287.txt: 3515 3516 - Renamed to "reStructuredText Docstring Format". 3517 - Minor edits. 3518 - Reworked Q&A as an enumerated list. 3519 - Converted to reStructuredText format. 3520 3521* spec/pysource.dtd: 3522 3523 - Reworked structural elements, incorporating ideas from Tony Ibbs. 3524 3525* spec/pysource.txt: Removed from project. Moved much of its contents 3526 to pep-0258.txt. 3527 3528* spec/rst/alternatives.txt: 3529 3530 - Expanded auto-enumerated list idea; thanks to Fred Bremmer. 3531 - Added "Inline External Targets" section. 3532 3533* spec/rst/directives.txt: 3534 3535 - Added "backlinks" attribute to "contents" directive. 3536 3537* spec/rst/problems.txt: 3538 3539 - Updated the Enumerated List Markup discussion. 3540 - Added new alternative table markup syntaxes. 3541 3542* spec/rst/reStructuredText.txt: 3543 3544 - Clarified field list usage. 3545 - Updated enumerated list description. 3546 - Clarified purpose of directives. 3547 - Added ``-/:`` characters to inline markup's start string prefix, 3548 ``/`` to end string suffix. 3549 - Updated "Authors" bibliographic field behavior. 3550 - Changed "inline hyperlink targets" to "inline internal targets". 3551 - Added "simple table" syntax to supplement the existing but 3552 newly-renamed "grid tables". 3553 - Added cautions for anonymous hyperlink use. 3554 - Added "Dedication" and generic bibliographic fields. 3555 3556* test: Made test modules standalone (subdirectories became packages). 3557 3558* test/DocutilsTestSupport.py: 3559 3560 - Added support for PEP extensions to reStructuredText. 3561 - Added support for simple tables. 3562 - Refactored naming. 3563 3564* test/package_unittest.py: Renamed from UnitTestFolder.py. 3565 3566 - Now supports true packages containing test modules 3567 (``__init__.py`` files required); fixes duplicate module name bug. 3568 3569* test/test_pep/: Subpackage added to project; PEP testing. 3570 3571* test/test_rst/test_SimpleTableParser.py: Added to project. 3572 3573* tools: 3574 3575 - Updated html.py and publish.py front-end tools to use the new 3576 command-line processing facilities of ``docutils.frontend`` 3577 (exposed in ``docutils.core.Publisher``), reducing each to just a 3578 few lines of code. 3579 - Added ``locale.setlocale()`` calls to front-end tools. 3580 3581* tools/buildhtml.py: Added to project; batch-generates .html from all 3582 the .txt files in directories and subdirectories. 3583 3584* tools/default.css: 3585 3586 - Added support for ``header`` and ``footer`` elements. 3587 - Added styles for "Dedication" topics (biblio fields). 3588 3589* tools/docutils.conf: A configuration file; added to project. 3590 3591* tools/docutils-xml.py: Added to project. 3592 3593* tools/pep.py: Added to project; PEP to HTML front-end tool. 3594 3595* tools/pep-html-template: Added to project. 3596 3597* tools/pep2html.py: Added to project from Python (nondist/peps). 3598 Added support for Docutils (reStructuredText PEPs). 3599 3600* tools/quicktest.py: 3601 3602 - Added the ``--attributes`` option, hacked a bit. 3603 - Added a second command-line argument (output file); cleaned up. 3604 3605* tools/stylesheets/: Subdirectory added to project. 3606 3607* tools/stylesheets/pep.css: Added to project; stylesheet for PEPs. 3608 3609 3610Release 0.1 (2002-04-20) 3611======================== 3612 3613This is the first release of Docutils, merged from the now inactive 3614reStructuredText__ and `Docstring Processing System`__ projects. For 3615the pre-Docutils history, see the `reStructuredText HISTORY`__ and the 3616`DPS HISTORY`__ files. 3617 3618__ http://structuredtext.sourceforge.net/ 3619__ http://docstring.sourceforge.net/ 3620__ http://structuredtext.sourceforge.net/HISTORY.html 3621__ http://docstring.sourceforge.net/HISTORY.html 3622 3623General changes: renamed 'dps' package to 'docutils'; renamed 3624'restructuredtext' subpackage to 'rst'; merged the codebases; merged 3625the test suites (reStructuredText's test/test_states renamed to 3626test/test_rst); and all modifications required to make it all work. 3627 3628* docutils/parsers/rst/states.py: 3629 3630 - Improved diagnostic system messages for missing blank lines. 3631 - Fixed substitution_reference bug. 3632 3633 3634.. 3635 Local Variables: 3636 mode: indented-text 3637 indent-tabs-mode: nil 3638 sentence-end-double-space: t 3639 fill-column: 70 3640 End: 3641