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
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)
32 * Improved handling when errors occur in running directive, especially
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
46 * Force HTML ids to be unique
47 * Process attributes (such as class) on list items and literal
52 * Cleaned up tests to accommodate forgiving implementations of
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
65 * Fixed a potential undefined variable warning
70 reStructuredText parsing:
72 * Fixed a bug where recursive substitution definitions caused an
74 * Fixed an issue that caused some tests to fail on systems that do not
75 have a ``convert`` program available.
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
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:``.
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
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.
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.
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
144 * Added support for mathml labels
149 Second attempt to fix a test that failed because it was not site-independent
154 Fixed a test that failed because it was not site-independent
161 * Updated coverability comments for more recent Devel::Cover versions.
165 * Turn off warnings after finishing so that Devel::Cover doesn't cause
168 reStructuredText parsing:
170 * Delete spaces within URIs of targets and embedded URIs
171 * Hopefully fixed a problem that was causing regression failures for
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::
179 * Added "-W field-colon' option
180 * Use HTML::Entities to produce more readable output of mathml markup
182 * Fixed document title/subtitle not to hold markup characters
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.
205 reStructuredText parsing:
207 * Added "-D relax-citation-characters" option.
208 * Added roles "mathml-display" and "mathml-inline" to force
210 * Role name is now passed in as fourth argument to role attribute
212 * DefineRole now allows defining other info about the role than just
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.
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.
232 Directive 'code-block':
234 * Allow the 'states' executable to be found anywhere on the path, but
235 check standard locations first.
239 * Sort the dependent \usepackage modules so that there is a canonical
240 order for regression testing
244 * Sort the inline targets so that there is a canonical order for
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.
258 reStructuredText transforms:
260 * Fixed a bug with hyperlink resolution when a chained target went to
261 an indirect target to an internal target.
265 * Fixed a bug in dealing with raw DOM objects.
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)
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
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.
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
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.
309 * Improved help text.
310 * Added "-W index-indirect-targets" option.
311 * Added "-W index-role-target" option.
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.
321 * Recoded to remove most dependencies on internal structure of DOM
322 objects outside of DOM.pm.
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.
336 * Exported the following new global variables: ``$DIRECTIVE`` and
341 * Mark a single paragraph in a compound as both class "compound-first"
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
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
356 * Added the ``-W xref-role-targets`` option.
357 * Allowed the suffix to be an empty string.
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.
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.
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
375 * Fixed a problem with creating regular-expression expects for tests.
379 Fixed problem with CPAN indexing of versions.
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.
393 * Fixed a problem with Makefile.PL.
395 ReStructuredText parsing:
397 * Don't write messages to STDERR for errors in directives in test
402 * Fixed a problem with quote markes in "alt" image text.
403 * Added "-W body-only" flag.
407 * Fixed problems with running with -T.
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
417 ReStructuredText parsing:
419 * Added "-D image-exts" flag so that each writer doesn't have to
420 support the functionality separately.
424 * Added "-W enum-list-prefixes" flag.
425 * Documentation deprecates "-W image-exts".
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
433 * Added a newline before admonitions so they're processed in vertical
438 * Added "-W parent-role" flag.
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.
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
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
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.
494 * Added a ``:head:`` option.
498 * Export the ``$SOURCE``, ``$LINE``, and ``@INCLUDES`` for use in Perl
501 Directive '``perl``':
503 * Implemented ``:file:`` option.
504 * Exported ``@INCLUDES``.
506 Directive '``sectnum``':
508 * Added a ``:prefix-title:`` option.
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.
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.
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
540 * Added the following ``-W`` options: ``appendix``, ``chapter``,
541 ``section``, ``xref-sections``, ``xref-targets``.
542 * Restructured the code for simplification.
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``
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:
559 * Fixed a bug where help prints out multiple times if there are
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
581 * Fixed an infinite loop that could come up in processing nested
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
594 * Fixed the ``:class:`` option for ``target-notes``.
596 reStructuredText transforms:
598 * Simplified code by removing branches whose conditions were
600 * Return a system message if evaluating transform code results in an
602 * Process ``:class:`` option for ``target-notes`` directive.
603 * Allow ``decorations`` transform to put in link to prest documentation if
606 Directive '``code_block``':
608 * Added ``-D code-block-states-file`` option.
609 * Do line numbering whether or not states can be run if
612 Directive '``system``':
614 * Return a ``PCDATA`` DOM if in a substitution definition context (instead
616 * Don't add a null paragraph if the text is empty.
620 * Updated to use ``$writer`` argument to access ``ProcessDOMPhase``.
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.
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.
642 * Simplified code for ``generated``.
646 * Simplified code for substitution definitions.
654 Updated manifest to add files that will allow the regression to pass
655 on machines with differing locales.
659 Added test files to fix problems when different locales use different
660 text for system error messages.
664 * Fixed problem that caused bare subroutines in writers to be compiled
666 * Removed the path out of the subroutine names created when compiling
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.
676 * Incorporated changes in docutils ``html`` writer:
678 * No longer change double-quotes to "``"``".
679 * No longer put a newline after a ``<pre>``.
683 First release that was indexable on CPAN.