.. -*-rst-*-
Release Notes
===============
.. contents::
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 ``<pre>``.
Release 0.3.14
--------------
First release that was indexable on CPAN.