.. -*-rst-*- Release Notes =============== .. contents:: Release 0.3.45 -------------- reStructuredText parsing: * Allow plug-in roles to return an array mixing text and DOM elements * Changed the implementation of the :parent: option to the class:: directive to be more general reStructuredText transforms: * Pending transforms can now supply a code reference instead of a string to implement the transform Writer 'html': * No longer round column widths to the nearest integer: rounding can cause the percentages to go over 100%. Browsers deal better with percentages < 100 than > 100. * Allow classes to be attached to rows (can happen with the :parent: option of the class:: directive) Directive 'perl': * Improved handling when errors occur in running directive, especially for the perl role. Release 0.3.44 -------------- reStructuredText parsing: * Fixed an issue in recognizing a Roman numeral list beginning VI. * Added :parent: option to class:: directive * Propagate classes on list items in list tables to the table cells Writer 'html': * Force HTML ids to be unique * Process attributes (such as class) on list items and literal Release 0.3.43 -------------- * Cleaned up tests to accommodate forgiving implementations of 'convert' command Directive 'code-block': * Extension to 'generic' state: - Function string can now specify "variable", "reference" or a custom face for formatting substrings - The function regular expression can now contain up to 9 substrings Writer 'latex': * Fixed a potential undefined variable warning Release 0.3.42 -------------- reStructuredText parsing: * Fixed a bug where recursive substitution definitions caused an infinite loop. * Fixed an issue that caused some tests to fail on systems that do not have a ``convert`` program available. Plug-in directives: * Improved POD documentation of perl:: directive. * The code-block:: directive has a new ``-D code-block-states-flags`` flag to specify non-standard flags (such as defines) to the states program while doing markup. * The code-block:: directive has new options ``:states-file:`` and ``:states-flags:`` that perform the same function (and, if specified, override the values of) the ``-D code-block-states-file`` and ``-D code-block-states-flags`` options on a per-code-block basis. * The default states markup file has a new language definition ``generic`` whose markup is controlled completely by ``-D code-block-states-flags`` or ``:states-flags:``. Release 0.3.41 -------------- prest application: * Made the -e option default to 'utf8' (instead of just claiming to do so) * Sped up reading of the file * Fixed the code that returns the list of available encodings for -h reStructuredText parsing: * There is a new built-in ``substitution-reference`` role * Custom roles based upon mathml-display will also appear in display style * Fixed a bug with parsing consecutive bulleted lists * Added ability to generate Roman numerals for enumeration lists * Keep class information on custom roles * Added ability to attach a label to a mathml equation that becomes a substitution definition annotated with the equation number. * Added :format: option to the sectnum:: directive to allow Roman numerals or letters as well as numbers at various levels of the numbering Plug-in directives: * The code-block:: directive allows a :class: option * The perl:: directive defines a $SUBSTITUTION variable giving the name of any substitution definition being defined by the perl directive. Writer 'html': * Added support for the label of a mathml equation * Do a better job of propagating class information for parsed_literal * Convert the -e encoding to the right format for HTML. Writer 'latex': * Allow a stylesheet mechanism for styling classes of inline elements. For example, if you define a custom role ``myrole``, then text using that role will appear with ``\styleinlinemyrole(...)`` around it. There will be a null definition for the style which can be overridden using ``\renewcommand{\styleinlinemyrole}{1}{#1}``. * Fixed parsed literals to be more literal than they were (e.g., don't convert ``<=`` to a less-than-or-equal sign.) * Handle blank lines within parsed literals * Fixed the newlines around ``\item`` and ``\end{description}`` * Fixed a bug where a comment could cause some actual text to disappear because it didn't end with a newline * Added support for superscript and custom roles * Added support for a figure's class to be used as the name of the latex environment * Added support for mathml labels Release 0.3.40 -------------- Second attempt to fix a test that failed because it was not site-independent Release 0.3.39 -------------- Fixed a test that failed because it was not site-independent Release 0.3.38 -------------- General changes: * Updated coverability comments for more recent Devel::Cover versions. prest script: * Turn off warnings after finishing so that Devel::Cover doesn't cause tests to fail reStructuredText parsing: * Delete spaces within URIs of targets and embedded URIs * Hopefully fixed a problem that was causing regression failures for perl 5.9 and above * Fixed a problem that occurred if Encode module was not available * Added "tab" as a value for the :delim: option of the csv-table:: directive Writer 'html': * Added "-W field-colon' option * Use HTML::Entities to produce more readable output of mathml markup * Dead code removal * Fixed document title/subtitle not to hold markup characters Writer 'latex': * Added "-W author-skip" option * Added "-W omit-docinfo" option * Added "-W packages" option * Added ``\styleaddress`` to style an organization, address, or contact * Added ``\styleclassZZZ`` markup to allow style for class ZZZ * Ensure math environment for "|" character * Fixed a warning for a system message with no ids * Added handlers for inline and compound * Put the document's title/subtitle into the document's docinfo rather than using global variables * Avoid a latex error for definition and option lists by putting an empty ``\mbox{}`` between the term/classifier and the newline * Don't implement option group as a ``tabular`` environment * Have a table use a ``table`` environment if there is a title * Fixed the processing of auto-symbol footnotes. Release 0.3.37 -------------- reStructuredText parsing: * Added "-D relax-citation-characters" option. * Added roles "mathml-display" and "mathml-inline" to force display/inline mode. * Role name is now passed in as fourth argument to role attribute subroutines. * DefineRole now allows defining other info about the role than just its options. * Plug-in directives can now have an init routine that gets called to define and initialize them. * Plug-ins can now define roles as well as directives. * Roles can now define a reparse option which will cause the output to be reparsed as reStructuredText. Writer 'latex': * Added "-W chapter" and "-W cloak-email-addresses" options. * Added a new '\styleliteralblock' style command. * Fixed a problem with inferring minus signs. * Fixed a problem with converting opening single quotes. * Fixed handling of raw latex. Release 0.3.36 -------------- Directive 'code-block': * Allow the 'states' executable to be found anywhere on the path, but check standard locations first. Writer 'latex': * Sort the dependent \usepackage modules so that there is a canonical order for regression testing Writer 'index': * Sort the inline targets so that there is a canonical order for regression testing Release 0.3.35 -------------- There were no functional changes in this release. Fixed the latex simple test not to use a code-block directive, which compiles differently on different machines. Release 0.3.34 -------------- reStructuredText transforms: * Fixed a bug with hyperlink resolution when a chained target went to an indirect target to an internal target. Writer 'index': * Fixed a bug in dealing with raw DOM objects. Writer 'latex': * Fixed bugs in line blocks * Fixed bugs in parsed literals * Fixed a bug where a paragraph ending in an interpreted text item did not result in a new paragraph * Fixed a bug with processing quotes around marked up text * Fixed a bug with special characters in options * Added support for outputting mathml to latex (requires Text::ASCIIMathML 0.4 or later) Release 0.3.33 -------------- There were no functional changes in this release. * Fixed some tests and expects to be compatible with perl 5.9.5. * Modified Makefile.PL hopefully to be compatible with more versions of make. * Changed the way the system plug-in directive gets the message from STDERR so that it will hopefully be compatible with more systems. Release 0.3.32 -------------- prest script: * Generated a fatal error if an input file cannot be opened. ReStructuredText parsing: * The target role now keeps the case of the target in creating its name. Writer 'html': * Process the :class: option on images. * If the "-W image-exts" option is used (it's actually deprecated in favor of "-D image-exts"), the default alt attribute now also uses the substituted extension. Writer 'index': * Improved help text. * Added "-W index-indirect-targets" option. * Added "-W index-role-target" option. Writer 'xref': * Added a "-W xref-role-target" option to specify which target role (if any) should be used for cross references. * The "-W xref-role-targets" option has been removed. In general: * Recoded to remove most dependencies on internal structure of DOM objects outside of DOM.pm. Release 0.3.31 -------------- ReStructuredText parsing: * Added a "target" role that allows separation of inline target tags from the text that is displayed. * Fixed a bug where, if two items in an enumerated list occurred with no blank line between them and a third item was separated by a blank line, the third item was put into a separate list. Directive 'perl': * Exported the following new global variables: ``$DIRECTIVE`` and ``$PARSER``. Writer 'html': * Mark a single paragraph in a compound as both class "compound-first" and "compound-last". * Fixed a bug where a class attribute on a field list did not propagate to the output. * Fixed a bug where an align attribute on a table did not propagate to the output. Writer 'index': * Implemented the '-W doc-titles' and '-W index-role-targets' options. * Output nothing instead of an empty table if there are no index entries. Writer 'xref': * Added the ``-W xref-role-targets`` option. * Allowed the suffix to be an empty string. Release 0.3.30 -------------- * Fixed problem with find command in Makefile.PL that used a Linuxism. * Made most of the perl modules use the subversion release as version number. Release 0.3.29 -------------- * Renamed ReleaseNotes.txt to ChangeLog so that it will appear as a special file on CPAN. * Made one more effort to fix the indexing of version numbers. Release 0.3.28 -------------- * Create lib/Text/Restructured.pm from lib/Text/Restructured.pm.PL so we can insert the version number in to allow CPAN to index it correctly. * Fixed a problem with creating regular-expression expects for tests. Release 0.3.27 -------------- Fixed problem with CPAN indexing of versions. Release 0.3.26 -------------- * Completely reworked the regression test structure so as not to be dependent upon GNU make. Writers 'dom' and 'xml': * Fixed a bug with attribute strings that contain double quotes. Release 0.3.25 -------------- * Fixed a problem with Makefile.PL. ReStructuredText parsing: * Don't write messages to STDERR for errors in directives in test data. Writer 'html': * Fixed a problem with quote markes in "alt" image text. * Added "-W body-only" flag. Release 0.3.24 -------------- * Fixed problems with running with -T. * Fixed Makefile. Release 0.3.23 -------------- * Fixed the help to parse as reStructuredText. * Execute evals in ``Text::Restructured::Writer::Eval`` instead of ``Eval_::``. * Initialize some of the opt variables to avoid warnings if not driven by prest. ReStructuredText parsing: * Added "-D image-exts" flag so that each writer doesn't have to support the functionality separately. Writer 'html': * Added "-W enum-list-prefixes" flag. * Documentation deprecates "-W image-exts". Writer 'latex': * Be more lenient about including graphics for files that aren't in the current directory. * Fixed the processing of raw DOM elements to ignore those not intended for latex. * Added a newline before admonitions so they're processed in vertical mode. Writer 'toc': * Added "-W parent-role" flag. Release 0.3.22 -------------- Release 0.3.21 -------------- Updated the ``toc`` writer to have expanded abilities with the ``-W file-suffix`` option. Fixed the Makefile.PL so that hopefully at least some platforms will pass regression tests. Added release notes to the prest documentation. Release 0.3.20 -------------- Made the ``html``, ``toc``, and ``xref`` writers compatible with non-breaking spaces in Perl 5.8.0 implementation of Unicode. (Unicode implementation was fixed in Perl 5.8.6.) All ``-D`` or ``-W`` option names can use either hyphens ("-") or underscores ("_") for word separators; internally everything uses underscores. reStructuredText parsing: * Added hyphens to the following ``-D`` options: ``entry-attr``, ``include-ext``, ``include-path``, ``nest-inline``, ``perl-path``, ``row-attr``, ``table-attr``. * Added the following ``-D`` options: ``file-insertion-enabled``, ``ignore-include-errs``, ``raw-enabled``. * Fixed a bug where explicit targets were not permitted within an embedded url (e.g., '``reference <#explicit-target>``'). * Don't consider targets defined on the same source/line number to be duplicate targets (can happen with multiply-included files). * Fixed the checking for inconsistent title levels to be more robust. * Keep an ``@INCLUDES`` array to keep track of the include stack. This variable can be accessed in a ``perl``/``if`` directive. * Fixed a bug where large grid tables could result in a deep recursion error. reStructuredText transforms: * Added the ``-D docinfo-levels`` option. * Changed the documentation to show the ``-D`` options with hyphens ("-") instead of underscores ("_") separting words. * The ``sectnum`` directive now processes starting from its containing section, rather than from the top of the DOM tree. Directive '``raw``': * Added a ``:head:`` option. Directive '``if``': * Export the ``$SOURCE``, ``$LINE``, and ``@INCLUDES`` for use in Perl code. Directive '``perl``': * Implemented ``:file:`` option. * Exported ``@INCLUDES``. Directive '``sectnum``': * Added a ``:prefix-title:`` option. Writer '``html``': * Inserted hyphen in the ``-W body-attr`` option. * Updated for adding hyphens to the following ``-D`` options: ``table-attr``, ``entry-attr``, ``row-attr``. * Added ``-W image-exts`` option. * Added support for ``:head:`` option of ``raw`` DOM. * Fixed a bug with targets. * Fixed a potential undefined variable warning for footnote references. Writer '``index``': * Changed documentation for ``-W`` options to use hyphens ("-") instead of underscores ("_") between words. * Implemented ``-W output-header`` and ``-W title-underline`` options. * Changed implementation to use a ``compound`` directive instead of a ``raw`` directive to set the class for the generated contents. * Removed a potential undefined variable warning for indirect targets. Writer '``toc``': * Updated documentation to show ``-W`` options with hyphens ("-") instead of underscores ("_") to separate words. * Restructured for simplicity. * Changed the way non-breaking spaces are removed from generated DOM objects since the auto-numbering may have things other than numbers in it. Writer '``xref``': * Added the following ``-W`` options: ``appendix``, ``chapter``, ``section``, ``xref-sections``, ``xref-targets``. * Restructured the code for simplification. Release 0.3.19 -------------- Added support for ascii-mathml role and directive to produce mathml markup. The mathml markup is only supported in the ``dom`` and ``html`` writers for now. Release 0.3.18 -------------- Went through code coverage reports and updated the tests to bring the line and condition coverage up to 100% (except the soon-to-be-outdated ``latex`` writer). This analysis resulted in the following fixes: Prest application: * Fixed a bug where help prints out multiple times if there are duplicate writers. * Relocated all the code for parsing and interpreting writer schemas to ``Text::Restructured::Writer``. * Fixed the version number not to end with a period. * Don't use ``FindBin`` to append the directory in which the script is found to its ``@INC`` path. * Don't convert digits in ``-W`` options to underscores. * Removed code for parsing DOM files to ``Text::Restructured::DOM::Parse``. * Insert blank line in usage before "Descriptions of Plug-in Directives" and "Descriptions of Writers". reStructuredText parsing: * Stricter option checking in most directives. * Removed package globals and incorporated into a parser object. * Initialize ``ANONYMOUS_TARGETS`` in init. * Fixed the handling of inline literals in definition lists. * Put a system message in the document rather than dying if a plug-in directive fails to compile. * Simplified the code by removing tests whose conditions were invariant. * Fixed an infinite loop that could come up in processing nested inline markup. * Fixed an infinite loop that could come up if a line block started with two or more blank lines. * Fixed the removal of inline markup characters from normalized names. * Have ``include`` directive do nothing if the file is empty, as opposed to returning an empty paragraph. * Added checks for the ``:prefix:`` and ``:suffix:`` options to the ``role`` directive to be sure they're formatted correctly. * Return a system message if the title in a table-type directive is not a single paragraph. * Merged the code for ``csv-table`` and ``list-table`` directives to the extent possible. * Fixed the ``:class:`` option for ``target-notes``. reStructuredText transforms: * Simplified code by removing branches whose conditions were invariant. * Return a system message if evaluating transform code results in an error. * Process ``:class:`` option for ``target-notes`` directive. * Allow ``decorations`` transform to put in link to prest documentation if DOCURL is specified. Directive '``code_block``': * Added ``-D code-block-states-file`` option. * Do line numbering whether or not states can be run if ``:numbered:``. Directive '``system``': * Return a ``PCDATA`` DOM if in a substitution definition context (instead of appending it). * Don't add a null paragraph if the text is empty. Writer '``dom``': * Updated to use ``$writer`` argument to access ``ProcessDOMPhase``. Writer '``html``': * Changed the semantics of ``-W embed-stylesheet`` and ``-W stylesheet``. * Added ``-W stylesheet2`` option to specify a secondary embedded stylesheet. * Changed default of ``-W field-limit`` to 14 from 15. * Reworked so all the writer's annotations are in DOM's ``{_html}`` member. * Reworked so that DOM's ``{attr}`` member is read-only; HTML attributes are all copied to ``{_html}{attr}`` member. * Factored out much of the attribute handling into a ``GetAttr`` routine. * Fixed output of literals embedded in literals. Writer '``index``': * Restructured code for simplification * Pass the a writer argument into ``QuoteStart``. * Fixed processing of ``-W short-titles``. * Added handler for interpreted roles. Writer '``toc``': * Simplified code for ``generated``. Writer '``xref``': * Simplified code for substitution definitions. Release 0.3.17 -------------- Did not exist. Release 0.3.16 -------------- Updated manifest to add files that will allow the regression to pass on machines with differing locales. Release 0.3.15 -------------- Added test files to fix problems when different locales use different text for system error messages. Prest application: * Fixed problem that caused bare subroutines in writers to be compiled more than once. * Removed the path out of the subroutine names created when compiling writer routines. * Fixed the ``#line`` directives for writer subroutines so that better error messages/coverage results are obtained. Made writers more efficient by renaming package subroutines to ``BEGIN`` so that they will always be called exactly once. Writer '``html``': * Incorporated changes in docutils ``html`` writer: * No longer change double-quotes to "``"``". * No longer put a newline after a ``
``. Release 0.3.14 -------------- First release that was indexable on CPAN.