11 * Cleaned up tests to accommodate forgiving implementations of
14 Directive 'code-block':
16 * Extension to 'generic' state:
18 - Function string can now specify "variable", "reference" or a
19 custom face for formatting substrings
20 - The function regular expression can now contain up to 9 substrings
24 * Fixed a potential undefined variable warning
29 reStructuredText parsing:
31 * Fixed a bug where recursive substitution definitions caused an
33 * Fixed an issue that caused some tests to fail on systems that do not
34 have a ``convert`` program available.
38 * Improved POD documentation of perl:: directive.
40 * The code-block:: directive has a new ``-D code-block-states-flags``
41 flag to specify non-standard flags (such as defines) to the states
42 program while doing markup.
44 * The code-block:: directive has new options ``:states-file:`` and
45 ``:states-flags:`` that perform the same function (and, if
46 specified, override the values of) the ``-D code-block-states-file``
47 and ``-D code-block-states-flags`` options on a per-code-block
50 * The default states markup file has a new language definition
51 ``generic`` whose markup is controlled completely by ``-D
52 code-block-states-flags`` or ``:states-flags:``.
59 * Made the -e option default to 'utf8' (instead of just claiming to do so)
60 * Sped up reading of the file
61 * Fixed the code that returns the list of available encodings for -h
63 reStructuredText parsing:
65 * There is a new built-in ``substitution-reference`` role
66 * Custom roles based upon mathml-display will also appear in display style
67 * Fixed a bug with parsing consecutive bulleted lists
68 * Added ability to generate Roman numerals for enumeration lists
69 * Keep class information on custom roles
70 * Added ability to attach a label to a mathml equation that becomes
71 a substitution definition annotated with the equation number.
72 * Added :format: option to the sectnum:: directive to allow Roman
73 numerals or letters as well as numbers at various levels of the numbering
77 * The code-block:: directive allows a :class: option
78 * The perl:: directive defines a $SUBSTITUTION variable giving the
79 name of any substitution definition being defined by the perl directive.
83 * Added support for the label of a mathml equation
84 * Do a better job of propagating class information for parsed_literal
85 * Convert the -e encoding to the right format for HTML.
89 * Allow a stylesheet mechanism for styling classes of inline
90 elements. For example, if you define a custom role ``myrole``, then
91 text using that role will appear with ``\styleinlinemyrole(...)``
92 around it. There will be a null definition for the style which can
93 be overridden using ``\renewcommand{\styleinlinemyrole}{1}{#1}``.
94 * Fixed parsed literals to be more literal than they were (e.g., don't
95 convert ``<=`` to a less-than-or-equal sign.)
96 * Handle blank lines within parsed literals
97 * Fixed the newlines around ``\item`` and ``\end{description}``
98 * Fixed a bug where a comment could cause some actual text to
99 disappear because it didn't end with a newline
100 * Added support for superscript and custom roles
101 * Added support for a figure's class to be used as the name of the
103 * Added support for mathml labels
108 Second attempt to fix a test that failed because it was not site-independent
113 Fixed a test that failed because it was not site-independent
120 * Updated coverability comments for more recent Devel::Cover versions.
124 * Turn off warnings after finishing so that Devel::Cover doesn't cause
127 reStructuredText parsing:
129 * Delete spaces within URIs of targets and embedded URIs
130 * Hopefully fixed a problem that was causing regression failures for
132 * Fixed a problem that occurred if Encode module was not available
133 * Added "tab" as a value for the :delim: option of the csv-table::
138 * Added "-W field-colon' option
139 * Use HTML::Entities to produce more readable output of mathml markup
141 * Fixed document title/subtitle not to hold markup characters
145 * Added "-W author-skip" option
146 * Added "-W omit-docinfo" option
147 * Added "-W packages" option
148 * Added ``\styleaddress`` to style an organization, address, or contact
149 * Added ``\styleclassZZZ`` markup to allow style for class ZZZ
150 * Ensure math environment for "|" character
151 * Fixed a warning for a system message with no ids
152 * Added handlers for inline and compound
153 * Put the document's title/subtitle into the document's docinfo rather
154 than using global variables
155 * Avoid a latex error for definition and option lists by putting an empty
156 ``\mbox{}`` between the term/classifier and the newline
157 * Don't implement option group as a ``tabular`` environment
158 * Have a table use a ``table`` environment if there is a title
159 * Fixed the processing of auto-symbol footnotes.
164 reStructuredText parsing:
166 * Added "-D relax-citation-characters" option.
167 * Added roles "mathml-display" and "mathml-inline" to force
169 * Role name is now passed in as fourth argument to role attribute
171 * DefineRole now allows defining other info about the role than just
173 * Plug-in directives can now have an init routine that gets called to
174 define and initialize them.
175 * Plug-ins can now define roles as well as directives.
176 * Roles can now define a reparse option which will cause the output to
177 be reparsed as reStructuredText.
181 * Added "-W chapter" and "-W cloak-email-addresses" options.
182 * Added a new '\styleliteralblock' style command.
183 * Fixed a problem with inferring minus signs.
184 * Fixed a problem with converting opening single quotes.
185 * Fixed handling of raw latex.
191 Directive 'code-block':
193 * Allow the 'states' executable to be found anywhere on the path, but
194 check standard locations first.
198 * Sort the dependent \usepackage modules so that there is a canonical
199 order for regression testing
203 * Sort the inline targets so that there is a canonical order for
209 There were no functional changes in this release.
211 Fixed the latex simple test not to use a code-block directive, which
212 compiles differently on different machines.
217 reStructuredText transforms:
219 * Fixed a bug with hyperlink resolution when a chained target went to
220 an indirect target to an internal target.
224 * Fixed a bug in dealing with raw DOM objects.
228 * Fixed bugs in line blocks
229 * Fixed bugs in parsed literals
230 * Fixed a bug where a paragraph ending in an interpreted text item did
231 not result in a new paragraph
232 * Fixed a bug with processing quotes around marked up text
233 * Fixed a bug with special characters in options
234 * Added support for outputting mathml to latex (requires
235 Text::ASCIIMathML 0.4 or later)
240 There were no functional changes in this release.
242 * Fixed some tests and expects to be compatible with perl 5.9.5.
243 * Modified Makefile.PL hopefully to be compatible with more versions
245 * Changed the way the system plug-in directive gets the message from
246 STDERR so that it will hopefully be compatible with more systems.
252 * Generated a fatal error if an input file cannot be opened.
254 ReStructuredText parsing:
256 * The target role now keeps the case of the target in creating its
261 * Process the :class: option on images.
262 * If the "-W image-exts" option is used (it's actually deprecated in
263 favor of "-D image-exts"), the default alt attribute now also uses
264 the substituted extension.
268 * Improved help text.
269 * Added "-W index-indirect-targets" option.
270 * Added "-W index-role-target" option.
274 * Added a "-W xref-role-target" option to specify which target role
275 (if any) should be used for cross references.
276 * The "-W xref-role-targets" option has been removed.
280 * Recoded to remove most dependencies on internal structure of DOM
281 objects outside of DOM.pm.
285 ReStructuredText parsing:
287 * Added a "target" role that allows separation of inline target tags
288 from the text that is displayed.
289 * Fixed a bug where, if two items in an enumerated list occurred with
290 no blank line between them and a third item was separated by a blank
291 line, the third item was put into a separate list.
295 * Exported the following new global variables: ``$DIRECTIVE`` and
300 * Mark a single paragraph in a compound as both class "compound-first"
302 * Fixed a bug where a class attribute on a field list did not
303 propagate to the output.
304 * Fixed a bug where an align attribute on a table did not propagate to
309 * Implemented the '-W doc-titles' and '-W index-role-targets' options.
310 * Output nothing instead of an empty table if there are no index
315 * Added the ``-W xref-role-targets`` option.
316 * Allowed the suffix to be an empty string.
320 * Fixed problem with find command in Makefile.PL that used a Linuxism.
321 * Made most of the perl modules use the subversion release as version number.
325 * Renamed ReleaseNotes.txt to ChangeLog so that it will appear as a
326 special file on CPAN.
327 * Made one more effort to fix the indexing of version numbers.
331 * Create lib/Text/Restructured.pm from lib/Text/Restructured.pm.PL so
332 we can insert the version number in to allow CPAN to index it
334 * Fixed a problem with creating regular-expression expects for tests.
338 Fixed problem with CPAN indexing of versions.
342 * Completely reworked the regression test structure so as not to be
343 dependent upon GNU make.
345 Writers 'dom' and 'xml':
347 * Fixed a bug with attribute strings that contain double quotes.
352 * Fixed a problem with Makefile.PL.
354 ReStructuredText parsing:
356 * Don't write messages to STDERR for errors in directives in test
361 * Fixed a problem with quote markes in "alt" image text.
362 * Added "-W body-only" flag.
366 * Fixed problems with running with -T.
371 * Fixed the help to parse as reStructuredText.
372 * Execute evals in ``Text::Restructured::Writer::Eval`` instead of ``Eval_::``.
373 * Initialize some of the opt variables to avoid warnings if not driven
376 ReStructuredText parsing:
378 * Added "-D image-exts" flag so that each writer doesn't have to
379 support the functionality separately.
383 * Added "-W enum-list-prefixes" flag.
384 * Documentation deprecates "-W image-exts".
388 * Be more lenient about including graphics for files that aren't in
389 the current directory.
390 * Fixed the processing of raw DOM elements to ignore those not
392 * Added a newline before admonitions so they're processed in vertical
397 * Added "-W parent-role" flag.
407 Updated the ``toc`` writer to have expanded abilities with the ``-W
408 file-suffix`` option.
410 Fixed the Makefile.PL so that hopefully at least some platforms will
411 pass regression tests.
413 Added release notes to the prest documentation.
418 Made the ``html``, ``toc``, and ``xref`` writers compatible with
419 non-breaking spaces in Perl 5.8.0 implementation of Unicode. (Unicode
420 implementation was fixed in Perl 5.8.6.)
422 All ``-D`` or ``-W`` option names can use either hyphens ("-") or
423 underscores ("_") for word separators; internally everything uses
426 reStructuredText parsing:
428 * Added hyphens to the following ``-D`` options: ``entry-attr``,
429 ``include-ext``, ``include-path``, ``nest-inline``, ``perl-path``,
430 ``row-attr``, ``table-attr``.
431 * Added the following ``-D`` options: ``file-insertion-enabled``,
432 ``ignore-include-errs``, ``raw-enabled``.
433 * Fixed a bug where explicit targets were not permitted within an
434 embedded url (e.g., '``reference <#explicit-target>``').
435 * Don't consider targets defined on the same source/line number to be
436 duplicate targets (can happen with multiply-included files).
437 * Fixed the checking for inconsistent title levels to be more robust.
438 * Keep an ``@INCLUDES`` array to keep track of the include stack. This
439 variable can be accessed in a ``perl``/``if`` directive.
440 * Fixed a bug where large grid tables could result in a deep
443 reStructuredText transforms:
445 * Added the ``-D docinfo-levels`` option.
446 * Changed the documentation to show the ``-D`` options with hyphens ("-")
447 instead of underscores ("_") separting words.
448 * The ``sectnum`` directive now processes starting from its containing
449 section, rather than from the top of the DOM tree.
453 * Added a ``:head:`` option.
457 * Export the ``$SOURCE``, ``$LINE``, and ``@INCLUDES`` for use in Perl
460 Directive '``perl``':
462 * Implemented ``:file:`` option.
463 * Exported ``@INCLUDES``.
465 Directive '``sectnum``':
467 * Added a ``:prefix-title:`` option.
471 * Inserted hyphen in the ``-W body-attr`` option.
472 * Updated for adding hyphens to the following ``-D`` options:
473 ``table-attr``, ``entry-attr``, ``row-attr``.
474 * Added ``-W image-exts`` option.
475 * Added support for ``:head:`` option of ``raw`` DOM.
476 * Fixed a bug with targets.
477 * Fixed a potential undefined variable warning for footnote references.
481 * Changed documentation for ``-W`` options to use hyphens ("-") instead of
482 underscores ("_") between words.
483 * Implemented ``-W output-header`` and ``-W title-underline`` options.
484 * Changed implementation to use a ``compound`` directive instead of a
485 ``raw`` directive to set the class for the generated contents.
486 * Removed a potential undefined variable warning for indirect targets.
490 * Updated documentation to show ``-W`` options with hyphens ("-") instead of
491 underscores ("_") to separate words.
492 * Restructured for simplicity.
493 * Changed the way non-breaking spaces are removed from generated DOM
494 objects since the auto-numbering may have things other than numbers
499 * Added the following ``-W`` options: ``appendix``, ``chapter``,
500 ``section``, ``xref-sections``, ``xref-targets``.
501 * Restructured the code for simplification.
505 Added support for ascii-mathml role and directive to produce mathml
506 markup. The mathml markup is only supported in the ``dom`` and ``html``
512 Went through code coverage reports and updated the tests to bring the
513 line and condition coverage up to 100% (except the soon-to-be-outdated
514 ``latex`` writer). This analysis resulted in the following fixes:
518 * Fixed a bug where help prints out multiple times if there are
520 * Relocated all the code for parsing and interpreting writer schemas
521 to ``Text::Restructured::Writer``.
522 * Fixed the version number not to end with a period.
523 * Don't use ``FindBin`` to append the directory in which the script is
524 found to its ``@INC`` path.
525 * Don't convert digits in ``-W`` options to underscores.
526 * Removed code for parsing DOM files to ``Text::Restructured::DOM::Parse``.
527 * Insert blank line in usage before "Descriptions of Plug-in
528 Directives" and "Descriptions of Writers".
530 reStructuredText parsing:
532 * Stricter option checking in most directives.
533 * Removed package globals and incorporated into a parser object.
534 * Initialize ``ANONYMOUS_TARGETS`` in init.
535 * Fixed the handling of inline literals in definition lists.
536 * Put a system message in the document rather than dying if a plug-in
537 directive fails to compile.
538 * Simplified the code by removing tests whose conditions were
540 * Fixed an infinite loop that could come up in processing nested
542 * Fixed an infinite loop that could come up if a line block started
543 with two or more blank lines.
544 * Fixed the removal of inline markup characters from normalized names.
545 * Have ``include`` directive do nothing if the file is empty, as opposed
546 to returning an empty paragraph.
547 * Added checks for the ``:prefix:`` and ``:suffix:`` options to the
548 ``role`` directive to be sure they're formatted correctly.
549 * Return a system message if the title in a table-type directive is
550 not a single paragraph.
551 * Merged the code for ``csv-table`` and ``list-table`` directives to the
553 * Fixed the ``:class:`` option for ``target-notes``.
555 reStructuredText transforms:
557 * Simplified code by removing branches whose conditions were
559 * Return a system message if evaluating transform code results in an
561 * Process ``:class:`` option for ``target-notes`` directive.
562 * Allow ``decorations`` transform to put in link to prest documentation if
565 Directive '``code_block``':
567 * Added ``-D code-block-states-file`` option.
568 * Do line numbering whether or not states can be run if
571 Directive '``system``':
573 * Return a ``PCDATA`` DOM if in a substitution definition context (instead
575 * Don't add a null paragraph if the text is empty.
579 * Updated to use ``$writer`` argument to access ``ProcessDOMPhase``.
583 * Changed the semantics of ``-W embed-stylesheet`` and ``-W stylesheet``.
584 * Added ``-W stylesheet2`` option to specify a secondary embedded stylesheet.
585 * Changed default of ``-W field-limit`` to 14 from 15.
586 * Reworked so all the writer's annotations are in DOM's ``{_html}`` member.
587 * Reworked so that DOM's ``{attr}`` member is read-only; HTML attributes
588 are all copied to ``{_html}{attr}`` member.
589 * Factored out much of the attribute handling into a ``GetAttr`` routine.
590 * Fixed output of literals embedded in literals.
594 * Restructured code for simplification
595 * Pass the a writer argument into ``QuoteStart``.
596 * Fixed processing of ``-W short-titles``.
597 * Added handler for interpreted roles.
601 * Simplified code for ``generated``.
605 * Simplified code for substitution definitions.
613 Updated manifest to add files that will allow the regression to pass
614 on machines with differing locales.
618 Added test files to fix problems when different locales use different
619 text for system error messages.
623 * Fixed problem that caused bare subroutines in writers to be compiled
625 * Removed the path out of the subroutine names created when compiling
627 * Fixed the ``#line`` directives for writer subroutines so that better
628 error messages/coverage results are obtained.
630 Made writers more efficient by renaming package subroutines to ``BEGIN``
631 so that they will always be called exactly once.
635 * Incorporated changes in docutils ``html`` writer:
637 * No longer change double-quotes to "``"``".
638 * No longer put a newline after a ``<pre>``.
642 First release that was indexable on CPAN.