Fix #338: re.sub() flag argument at wrong position.
[docutils.git] / prest / ChangeLog
blobc277ed4b32017fb647eb764debcc65cb73615ad6
1 .. -*-rst-*-
3 Release Notes
4 ===============
6 .. contents::
8 Release 0.3.45
9 --------------
11 reStructuredText parsing:
13 * Allow plug-in roles to return an array mixing text and DOM elements
14 * Changed the implementation of the :parent: option to the class::
15   directive to be more general
17 reStructuredText transforms:
19 * Pending transforms can now supply a code reference instead of a
20   string to implement the transform
22 Writer 'html':
24 * No longer round column widths to the nearest integer: rounding can
25   cause the percentages to go over 100%.  Browsers deal better with
26   percentages < 100 than > 100.
27 * Allow classes to be attached to rows (can happen with the :parent:
28   option of the class:: directive)
30 Directive 'perl':
32 * Improved handling when errors occur in running directive, especially
33   for the perl role.
35 Release 0.3.44
36 --------------
38 reStructuredText parsing:
40 * Fixed an issue in recognizing a Roman numeral list beginning VI.
41 * Added :parent: option to class:: directive
42 * Propagate classes on list items in list tables to the table cells
44 Writer 'html':
46 * Force HTML ids to be unique
47 * Process attributes (such as class) on list items and literal
49 Release 0.3.43
50 --------------
52 * Cleaned up tests to accommodate forgiving implementations of
53   'convert' command
55 Directive 'code-block':
57 * Extension to 'generic' state:
59   - Function string can now specify "variable", "reference" or a
60     custom face for formatting substrings
61   - The function regular expression can now contain up to 9 substrings
63 Writer 'latex':
65 * Fixed a potential undefined variable warning
67 Release 0.3.42
68 --------------
70 reStructuredText parsing:
72 * Fixed a bug where recursive substitution definitions caused an
73   infinite loop.
74 * Fixed an issue that caused some tests to fail on systems that do not
75   have a ``convert`` program available.
77 Plug-in directives:
79 * Improved POD documentation of perl:: directive.
81 * The code-block:: directive has a new ``-D code-block-states-flags``
82   flag to specify non-standard flags (such as defines) to the states
83   program while doing markup.
85 * The code-block:: directive has new options ``:states-file:`` and
86   ``:states-flags:`` that perform the same function (and, if
87   specified, override the values of) the ``-D code-block-states-file``
88   and ``-D code-block-states-flags`` options on a per-code-block
89   basis.
91 * The default states markup file has a new language definition
92   ``generic`` whose markup is controlled completely by ``-D
93   code-block-states-flags`` or ``:states-flags:``.
95 Release 0.3.41
96 --------------
98 prest application:
100 * Made the -e option default to 'utf8' (instead of just claiming to do so)
101 * Sped up reading of the file
102 * Fixed the code that returns the list of available encodings for -h
104 reStructuredText parsing:
106 * There is a new built-in ``substitution-reference`` role
107 * Custom roles based upon mathml-display will also appear in display style
108 * Fixed a bug with parsing consecutive bulleted lists
109 * Added ability to generate Roman numerals for enumeration lists
110 * Keep class information on custom roles
111 * Added ability to attach a label to a mathml equation that becomes
112   a substitution definition annotated with the equation number.
113 * Added :format: option to the sectnum:: directive to allow Roman
114   numerals or letters as well as numbers at various levels of the numbering
116 Plug-in directives:
118 * The code-block:: directive allows a :class: option
119 * The perl:: directive defines a $SUBSTITUTION variable giving the
120   name of any substitution definition being defined by the perl directive.
122 Writer 'html':
124 * Added support for the label of a mathml equation
125 * Do a better job of propagating class information for parsed_literal
126 * Convert the -e encoding to the right format for HTML.
128 Writer 'latex':
130 * Allow a stylesheet mechanism for styling classes of inline
131   elements.  For example, if you define a custom role ``myrole``, then
132   text using that role will appear with ``\styleinlinemyrole(...)``
133   around it.  There will be a null definition for the style which can
134   be overridden using ``\renewcommand{\styleinlinemyrole}{1}{#1}``.
135 * Fixed parsed literals to be more literal than they were (e.g., don't
136   convert ``<=`` to a less-than-or-equal sign.)
137 * Handle blank lines within parsed literals
138 * Fixed the newlines around ``\item`` and ``\end{description}``
139 * Fixed a bug where a comment could cause some actual text to
140   disappear because it didn't end with a newline
141 * Added support for superscript and custom roles
142 * Added support for a figure's class to be used as the name of the
143   latex environment
144 * Added support for mathml labels
146 Release 0.3.40
147 --------------
149 Second attempt to fix a test that failed because it was not site-independent
151 Release 0.3.39
152 --------------
154 Fixed a test that failed because it was not site-independent
156 Release 0.3.38
157 --------------
159 General changes:
161 * Updated coverability comments for more recent Devel::Cover versions.
163 prest script:
165 * Turn off warnings after finishing so that Devel::Cover doesn't cause
166   tests to fail
168 reStructuredText parsing:
170 * Delete spaces within URIs of targets and embedded URIs
171 * Hopefully fixed a problem that was causing regression failures for
172   perl 5.9 and above
173 * Fixed a problem that occurred if Encode module was not available
174 * Added "tab" as a value for the :delim: option of the csv-table::
175   directive
177 Writer 'html':
179 * Added "-W field-colon' option
180 * Use HTML::Entities to produce more readable output of mathml markup
181 * Dead code removal
182 * Fixed document title/subtitle not to hold markup characters
184 Writer 'latex':
186 * Added "-W author-skip" option
187 * Added "-W omit-docinfo" option
188 * Added "-W packages" option
189 * Added ``\styleaddress`` to style an organization, address, or contact
190 * Added ``\styleclassZZZ`` markup to allow style for class ZZZ
191 * Ensure math environment for "|" character
192 * Fixed a warning for a system message with no ids
193 * Added handlers for inline and compound
194 * Put the document's title/subtitle into the document's docinfo rather
195   than using global variables
196 * Avoid a latex error for definition and option lists by putting an empty
197   ``\mbox{}`` between the term/classifier and the newline
198 * Don't implement option group as a ``tabular`` environment
199 * Have a table use a ``table`` environment if there is a title
200 * Fixed the processing of auto-symbol footnotes.
202 Release 0.3.37
203 --------------
205 reStructuredText parsing:
207 * Added "-D relax-citation-characters" option.
208 * Added roles "mathml-display" and "mathml-inline" to force
209   display/inline mode.
210 * Role name is now passed in as fourth argument to role attribute
211   subroutines.
212 * DefineRole now allows defining other info about the role than just
213   its options.
214 * Plug-in directives can now have an init routine that gets called to
215   define and initialize them.
216 * Plug-ins can now define roles as well as directives.
217 * Roles can now define a reparse option which will cause the output to
218   be reparsed as reStructuredText.
220 Writer 'latex':
222 * Added "-W chapter" and "-W cloak-email-addresses" options.
223 * Added a new '\styleliteralblock' style command.
224 * Fixed a problem with inferring minus signs.
225 * Fixed a problem with converting opening single quotes.
226 * Fixed handling of raw latex.
229 Release 0.3.36
230 --------------
232 Directive 'code-block':
234 * Allow the 'states' executable to be found anywhere on the path, but
235   check standard locations first.
237 Writer 'latex':
239 * Sort the dependent \usepackage modules so that there is a canonical
240   order for regression testing
242 Writer 'index':
244 * Sort the inline targets so that there is a canonical order for
245   regression testing
247 Release 0.3.35
248 --------------
250 There were no functional changes in this release.
252 Fixed the latex simple test not to use a code-block directive, which
253 compiles differently on different machines.
255 Release 0.3.34
256 --------------
258 reStructuredText transforms:
260 * Fixed a bug with hyperlink resolution when a chained target went to
261   an indirect target to an internal target.
263 Writer 'index':
265 * Fixed a bug in dealing with raw DOM objects.
267 Writer 'latex':
269 * Fixed bugs in line blocks
270 * Fixed bugs in parsed literals
271 * Fixed a bug where a paragraph ending in an interpreted text item did
272   not result in a new paragraph
273 * Fixed a bug with processing quotes around marked up text
274 * Fixed a bug with special characters in options
275 * Added support for outputting mathml to latex (requires
276   Text::ASCIIMathML 0.4 or later)
278 Release 0.3.33
279 --------------
281 There were no functional changes in this release.
283 * Fixed some tests and expects to be compatible with perl 5.9.5.
284 * Modified Makefile.PL hopefully to be compatible with more versions
285   of make.
286 * Changed the way the system plug-in directive gets the message from 
287   STDERR so that it will hopefully be compatible with more systems.
289 Release 0.3.32
290 --------------
291 prest script:
293 * Generated a fatal error if an input file cannot be opened.
295 ReStructuredText parsing:
297 * The target role now keeps the case of the target in creating its
298   name.
300 Writer 'html':
302 * Process the :class: option on images.
303 * If the "-W image-exts" option is used (it's actually deprecated in
304   favor of "-D image-exts"), the default alt attribute now also uses
305   the substituted extension.
307 Writer 'index':
309 * Improved help text.
310 * Added "-W index-indirect-targets" option.
311 * Added "-W index-role-target" option.
313 Writer 'xref':
315 * Added a "-W xref-role-target" option to specify which target role
316   (if any) should be used for cross references.
317 * The "-W xref-role-targets" option has been removed.
319 In general:
321 * Recoded to remove most dependencies on internal structure of DOM
322   objects outside of DOM.pm.
324 Release 0.3.31
325 --------------
326 ReStructuredText parsing:
328 * Added a "target" role that allows separation of inline target tags
329   from the text that is displayed.
330 * Fixed a bug where, if two items in an enumerated list occurred with
331   no blank line between them and a third item was separated by a blank
332   line, the third item was put into a separate list.
334 Directive 'perl':
336 * Exported the following new global variables: ``$DIRECTIVE`` and
337   ``$PARSER``.
339 Writer 'html':
341 * Mark a single paragraph in a compound as both class "compound-first"
342   and "compound-last".
343 * Fixed a bug where a class attribute on a field list did not
344   propagate to the output.
345 * Fixed a bug where an align attribute on a table did not propagate to
346   the output.
348 Writer 'index':
350 * Implemented the '-W doc-titles' and '-W index-role-targets' options.
351 * Output nothing instead of an empty table if there are no index
352   entries.
354 Writer 'xref':
356 * Added the ``-W xref-role-targets`` option.
357 * Allowed the suffix to be an empty string.
359 Release 0.3.30
360 --------------
361 * Fixed problem with find command in Makefile.PL that used a Linuxism.
362 * Made most of the perl modules use the subversion release as version number.
364 Release 0.3.29
365 --------------
366 * Renamed ReleaseNotes.txt to ChangeLog so that it will appear as a
367   special file on CPAN.
368 * Made one more effort to fix the indexing of version numbers.
370 Release 0.3.28
371 --------------
372 * Create lib/Text/Restructured.pm from lib/Text/Restructured.pm.PL so
373   we can insert the version number in to allow CPAN to index it
374   correctly.
375 * Fixed a problem with creating regular-expression expects for tests.
377 Release 0.3.27
378 --------------
379 Fixed problem with CPAN indexing of versions.
381 Release 0.3.26
382 --------------
383 * Completely reworked the regression test structure so as not to be
384   dependent upon GNU make.
386 Writers 'dom' and 'xml':
388 * Fixed a bug with attribute strings that contain double quotes.
391 Release 0.3.25
392 --------------
393 * Fixed a problem with Makefile.PL.
395 ReStructuredText parsing:
397 * Don't write messages to STDERR for errors in directives in test
398   data.
400 Writer 'html':
402 * Fixed a problem with quote markes in "alt" image text.
403 * Added "-W body-only" flag.
405 Release 0.3.24
406 --------------
407 * Fixed problems with running with -T.
408 * Fixed Makefile.
410 Release 0.3.23
411 --------------
412 * Fixed the help to parse as reStructuredText.
413 * Execute evals in ``Text::Restructured::Writer::Eval`` instead of ``Eval_::``.
414 * Initialize some of the opt variables to avoid warnings if not driven
415   by prest.
417 ReStructuredText parsing:
419 * Added "-D image-exts" flag so that each writer doesn't have to
420   support the functionality separately.
422 Writer 'html':
424 * Added "-W enum-list-prefixes" flag.
425 * Documentation deprecates "-W image-exts".
427 Writer 'latex':
429 * Be more lenient about including graphics for files that aren't in
430   the current directory.
431 * Fixed the processing of raw DOM elements to ignore those not
432   intended for latex.
433 * Added a newline before admonitions so they're processed in vertical
434   mode.
436 Writer 'toc':
438 * Added "-W parent-role" flag.
442 Release 0.3.22
443 --------------
445 Release 0.3.21
446 --------------
448 Updated the ``toc`` writer to have expanded abilities with the ``-W
449 file-suffix`` option.
451 Fixed the Makefile.PL so that hopefully at least some platforms will
452 pass regression tests.
454 Added release notes to the prest documentation.
456 Release 0.3.20
457 --------------
459 Made the ``html``, ``toc``, and ``xref`` writers compatible with
460 non-breaking spaces in Perl 5.8.0 implementation of Unicode.  (Unicode
461 implementation was fixed in Perl 5.8.6.)
463 All ``-D`` or ``-W`` option names can use either hyphens ("-") or
464 underscores ("_") for word separators; internally everything uses
465 underscores.
467 reStructuredText parsing:
469 * Added hyphens to the following ``-D`` options: ``entry-attr``,
470   ``include-ext``, ``include-path``, ``nest-inline``, ``perl-path``,
471   ``row-attr``, ``table-attr``.
472 * Added the following ``-D`` options: ``file-insertion-enabled``,
473   ``ignore-include-errs``, ``raw-enabled``.
474 * Fixed a bug where explicit targets were not permitted within an
475   embedded url (e.g., '``reference <#explicit-target>``').
476 * Don't consider targets defined on the same source/line number to be
477   duplicate targets (can happen with multiply-included files).
478 * Fixed the checking for inconsistent title levels to be more robust.
479 * Keep an ``@INCLUDES`` array to keep track of the include stack.  This
480   variable can be accessed in a ``perl``/``if`` directive.
481 * Fixed a bug where large grid tables could result in a deep
482   recursion error.
484 reStructuredText transforms:
486 * Added the ``-D docinfo-levels`` option.
487 * Changed the documentation to show the ``-D`` options with hyphens ("-")
488   instead of underscores ("_") separting words.
489 * The ``sectnum`` directive now processes starting from its containing
490   section, rather than from the top of the DOM tree.
492 Directive '``raw``':
494 * Added a ``:head:`` option.
496 Directive '``if``':
498 * Export the ``$SOURCE``, ``$LINE``, and ``@INCLUDES`` for use in Perl
499   code.
501 Directive '``perl``':
503 * Implemented ``:file:`` option.
504 * Exported ``@INCLUDES``.
506 Directive '``sectnum``':
508 * Added a ``:prefix-title:`` option.
510 Writer '``html``':
512 * Inserted hyphen in the ``-W body-attr`` option.
513 * Updated for adding hyphens to the following ``-D`` options:
514   ``table-attr``, ``entry-attr``, ``row-attr``.
515 * Added ``-W image-exts`` option.
516 * Added support for ``:head:`` option of ``raw`` DOM.
517 * Fixed a bug with targets.
518 * Fixed a potential undefined variable warning for footnote references.
520 Writer '``index``':
522 * Changed documentation for ``-W`` options to use hyphens ("-") instead of
523   underscores ("_") between words.
524 * Implemented ``-W output-header`` and ``-W title-underline`` options.
525 * Changed implementation to use a ``compound`` directive instead of a
526   ``raw`` directive to set the class for the generated contents.
527 * Removed a potential undefined variable warning for indirect targets.
529 Writer '``toc``':
531 * Updated documentation to show ``-W`` options with hyphens ("-") instead of
532   underscores ("_") to separate words.
533 * Restructured for simplicity.
534 * Changed the way non-breaking spaces are removed from generated DOM
535   objects since the auto-numbering may have things other than numbers
536   in it.
538 Writer '``xref``':
540 * Added the following ``-W`` options: ``appendix``, ``chapter``,
541   ``section``, ``xref-sections``, ``xref-targets``.
542 * Restructured the code for simplification.
544 Release 0.3.19
545 --------------
546 Added support for ascii-mathml role and directive to produce mathml
547 markup.  The mathml markup is only supported in the ``dom`` and ``html``
548 writers for now.
550 Release 0.3.18
551 --------------
553 Went through code coverage reports and updated the tests to bring the
554 line and condition coverage up to 100% (except the soon-to-be-outdated
555 ``latex`` writer).  This analysis resulted in the following fixes:
557 Prest application:
559 * Fixed a bug where help prints out multiple times if there are
560   duplicate writers.
561 * Relocated all the code for parsing and interpreting writer schemas
562   to ``Text::Restructured::Writer``.
563 * Fixed the version number not to end with a period.
564 * Don't use ``FindBin`` to append the directory in which the script is
565   found to its ``@INC`` path.
566 * Don't convert digits in ``-W`` options to underscores.
567 * Removed code for parsing DOM files to ``Text::Restructured::DOM::Parse``.
568 * Insert blank line in usage before "Descriptions of Plug-in
569   Directives" and "Descriptions of Writers".
571 reStructuredText parsing:
573 * Stricter option checking in most directives.
574 * Removed package globals and incorporated into a parser object.
575 * Initialize ``ANONYMOUS_TARGETS`` in init.
576 * Fixed the handling of inline literals in definition lists.
577 * Put a system message in the document rather than dying if a plug-in
578   directive fails to compile.
579 * Simplified the code by removing tests whose conditions were
580   invariant.
581 * Fixed an infinite loop that could come up in processing nested
582   inline markup.
583 * Fixed an infinite loop that could come up if a line block started
584   with two or more blank lines.
585 * Fixed the removal of inline markup characters from normalized names.
586 * Have ``include`` directive do nothing if the file is empty, as opposed
587   to returning an empty paragraph.
588 * Added checks for the ``:prefix:`` and ``:suffix:`` options to the
589   ``role`` directive to be sure they're formatted correctly.
590 * Return a system message if the title in a table-type directive is
591   not a single paragraph.
592 * Merged the code for ``csv-table`` and ``list-table`` directives to the
593   extent possible.
594 * Fixed the ``:class:`` option for ``target-notes``.
596 reStructuredText transforms:
598 * Simplified code by removing branches whose conditions were
599   invariant.
600 * Return a system message if evaluating transform code results in an
601   error.
602 * Process ``:class:`` option for ``target-notes`` directive.
603 * Allow ``decorations`` transform to put in link to prest documentation if
604   DOCURL is specified.
606 Directive '``code_block``':
608 * Added ``-D code-block-states-file`` option.
609 * Do line numbering whether or not states can be run if
610   ``:numbered:``.
612 Directive '``system``':
614 * Return a ``PCDATA`` DOM if in a substitution definition context (instead
615   of appending it).
616 * Don't add a null paragraph if the text is empty.
618 Writer '``dom``':
620 * Updated to use ``$writer`` argument to access ``ProcessDOMPhase``.
622 Writer '``html``':
624 * Changed the semantics of ``-W embed-stylesheet`` and ``-W stylesheet``.
625 * Added ``-W stylesheet2`` option to specify a secondary embedded stylesheet.
626 * Changed default of ``-W field-limit`` to 14 from 15.
627 * Reworked so all the writer's annotations are in DOM's ``{_html}`` member.
628 * Reworked so that DOM's ``{attr}`` member is read-only; HTML attributes
629   are all copied to ``{_html}{attr}`` member.
630 * Factored out much of the attribute handling into a ``GetAttr`` routine.
631 * Fixed output of literals embedded in literals.
633 Writer '``index``':
635 * Restructured code for simplification
636 * Pass the a writer argument into ``QuoteStart``.
637 * Fixed processing of ``-W short-titles``.
638 * Added handler for interpreted roles.
640 Writer '``toc``':
642 * Simplified code for ``generated``.
644 Writer '``xref``':
646 * Simplified code for substitution definitions.
648 Release 0.3.17
649 --------------
650 Did not exist.
652 Release 0.3.16
653 --------------
654 Updated manifest to add files that will allow the regression to pass
655 on machines with differing locales.
657 Release 0.3.15
658 --------------
659 Added test files to fix problems when different locales use different
660 text for system error messages.
662 Prest application:
664 * Fixed problem that caused bare subroutines in writers to be compiled
665   more than once.
666 * Removed the path out of the subroutine names created when compiling
667   writer routines.
668 * Fixed the ``#line`` directives for writer subroutines so that better
669   error messages/coverage results are obtained.
671 Made writers more efficient by renaming package subroutines to ``BEGIN``
672 so that they will always be called exactly once.
674 Writer '``html``':
676 * Incorporated changes in docutils ``html`` writer:
678   * No longer change double-quotes to "``&quot;``".
679   * No longer put a newline after a ``<pre>``.
681 Release 0.3.14
682 --------------
683 First release that was indexable on CPAN.