Fix: /usr/bin/env in first line
[docutils/kirr.git] / prest / ChangeLog
blob8d7ed06747de3946f4c8f4fd9d6a8445775e4361
1 .. -*-rst-*-
3 Release Notes
4 ===============
6 .. contents::
8 Release 0.3.43
9 --------------
11 * Cleaned up tests to accommodate forgiving implementations of
12   'convert' command
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
22 Writer 'latex':
24 * Fixed a potential undefined variable warning
26 Release 0.3.42
27 --------------
29 reStructuredText parsing:
31 * Fixed a bug where recursive substitution definitions caused an
32   infinite loop.
33 * Fixed an issue that caused some tests to fail on systems that do not
34   have a ``convert`` program available.
36 Plug-in directives:
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
48   basis.
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:``.
54 Release 0.3.41
55 --------------
57 prest application:
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
75 Plug-in directives:
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.
81 Writer 'html':
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.
87 Writer 'latex':
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
102   latex environment
103 * Added support for mathml labels
105 Release 0.3.40
106 --------------
108 Second attempt to fix a test that failed because it was not site-independent
110 Release 0.3.39
111 --------------
113 Fixed a test that failed because it was not site-independent
115 Release 0.3.38
116 --------------
118 General changes:
120 * Updated coverability comments for more recent Devel::Cover versions.
122 prest script:
124 * Turn off warnings after finishing so that Devel::Cover doesn't cause
125   tests to fail
127 reStructuredText parsing:
129 * Delete spaces within URIs of targets and embedded URIs
130 * Hopefully fixed a problem that was causing regression failures for
131   perl 5.9 and above
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::
134   directive
136 Writer 'html':
138 * Added "-W field-colon' option
139 * Use HTML::Entities to produce more readable output of mathml markup
140 * Dead code removal
141 * Fixed document title/subtitle not to hold markup characters
143 Writer 'latex':
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.
161 Release 0.3.37
162 --------------
164 reStructuredText parsing:
166 * Added "-D relax-citation-characters" option.
167 * Added roles "mathml-display" and "mathml-inline" to force
168   display/inline mode.
169 * Role name is now passed in as fourth argument to role attribute
170   subroutines.
171 * DefineRole now allows defining other info about the role than just
172   its options.
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.
179 Writer 'latex':
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.
188 Release 0.3.36
189 --------------
191 Directive 'code-block':
193 * Allow the 'states' executable to be found anywhere on the path, but
194   check standard locations first.
196 Writer 'latex':
198 * Sort the dependent \usepackage modules so that there is a canonical
199   order for regression testing
201 Writer 'index':
203 * Sort the inline targets so that there is a canonical order for
204   regression testing
206 Release 0.3.35
207 --------------
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.
214 Release 0.3.34
215 --------------
217 reStructuredText transforms:
219 * Fixed a bug with hyperlink resolution when a chained target went to
220   an indirect target to an internal target.
222 Writer 'index':
224 * Fixed a bug in dealing with raw DOM objects.
226 Writer 'latex':
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)
237 Release 0.3.33
238 --------------
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
244   of make.
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.
248 Release 0.3.32
249 --------------
250 prest script:
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
257   name.
259 Writer 'html':
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.
266 Writer 'index':
268 * Improved help text.
269 * Added "-W index-indirect-targets" option.
270 * Added "-W index-role-target" option.
272 Writer 'xref':
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.
278 In general:
280 * Recoded to remove most dependencies on internal structure of DOM
281   objects outside of DOM.pm.
283 Release 0.3.31
284 --------------
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.
293 Directive 'perl':
295 * Exported the following new global variables: ``$DIRECTIVE`` and
296   ``$PARSER``.
298 Writer 'html':
300 * Mark a single paragraph in a compound as both class "compound-first"
301   and "compound-last".
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
305   the output.
307 Writer 'index':
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
311   entries.
313 Writer 'xref':
315 * Added the ``-W xref-role-targets`` option.
316 * Allowed the suffix to be an empty string.
318 Release 0.3.30
319 --------------
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.
323 Release 0.3.29
324 --------------
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.
329 Release 0.3.28
330 --------------
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
333   correctly.
334 * Fixed a problem with creating regular-expression expects for tests.
336 Release 0.3.27
337 --------------
338 Fixed problem with CPAN indexing of versions.
340 Release 0.3.26
341 --------------
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.
350 Release 0.3.25
351 --------------
352 * Fixed a problem with Makefile.PL.
354 ReStructuredText parsing:
356 * Don't write messages to STDERR for errors in directives in test
357   data.
359 Writer 'html':
361 * Fixed a problem with quote markes in "alt" image text.
362 * Added "-W body-only" flag.
364 Release 0.3.24
365 --------------
366 * Fixed problems with running with -T.
367 * Fixed Makefile.
369 Release 0.3.23
370 --------------
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
374   by prest.
376 ReStructuredText parsing:
378 * Added "-D image-exts" flag so that each writer doesn't have to
379   support the functionality separately.
381 Writer 'html':
383 * Added "-W enum-list-prefixes" flag.
384 * Documentation deprecates "-W image-exts".
386 Writer 'latex':
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
391   intended for latex.
392 * Added a newline before admonitions so they're processed in vertical
393   mode.
395 Writer 'toc':
397 * Added "-W parent-role" flag.
401 Release 0.3.22
402 --------------
404 Release 0.3.21
405 --------------
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.
415 Release 0.3.20
416 --------------
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
424 underscores.
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
441   recursion error.
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.
451 Directive '``raw``':
453 * Added a ``:head:`` option.
455 Directive '``if``':
457 * Export the ``$SOURCE``, ``$LINE``, and ``@INCLUDES`` for use in Perl
458   code.
460 Directive '``perl``':
462 * Implemented ``:file:`` option.
463 * Exported ``@INCLUDES``.
465 Directive '``sectnum``':
467 * Added a ``:prefix-title:`` option.
469 Writer '``html``':
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.
479 Writer '``index``':
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.
488 Writer '``toc``':
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
495   in it.
497 Writer '``xref``':
499 * Added the following ``-W`` options: ``appendix``, ``chapter``,
500   ``section``, ``xref-sections``, ``xref-targets``.
501 * Restructured the code for simplification.
503 Release 0.3.19
504 --------------
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``
507 writers for now.
509 Release 0.3.18
510 --------------
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:
516 Prest application:
518 * Fixed a bug where help prints out multiple times if there are
519   duplicate writers.
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
539   invariant.
540 * Fixed an infinite loop that could come up in processing nested
541   inline markup.
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
552   extent possible.
553 * Fixed the ``:class:`` option for ``target-notes``.
555 reStructuredText transforms:
557 * Simplified code by removing branches whose conditions were
558   invariant.
559 * Return a system message if evaluating transform code results in an
560   error.
561 * Process ``:class:`` option for ``target-notes`` directive.
562 * Allow ``decorations`` transform to put in link to prest documentation if
563   DOCURL is specified.
565 Directive '``code_block``':
567 * Added ``-D code-block-states-file`` option.
568 * Do line numbering whether or not states can be run if
569   ``:numbered:``.
571 Directive '``system``':
573 * Return a ``PCDATA`` DOM if in a substitution definition context (instead
574   of appending it).
575 * Don't add a null paragraph if the text is empty.
577 Writer '``dom``':
579 * Updated to use ``$writer`` argument to access ``ProcessDOMPhase``.
581 Writer '``html``':
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.
592 Writer '``index``':
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.
599 Writer '``toc``':
601 * Simplified code for ``generated``.
603 Writer '``xref``':
605 * Simplified code for substitution definitions.
607 Release 0.3.17
608 --------------
609 Did not exist.
611 Release 0.3.16
612 --------------
613 Updated manifest to add files that will allow the regression to pass
614 on machines with differing locales.
616 Release 0.3.15
617 --------------
618 Added test files to fix problems when different locales use different
619 text for system error messages.
621 Prest application:
623 * Fixed problem that caused bare subroutines in writers to be compiled
624   more than once.
625 * Removed the path out of the subroutine names created when compiling
626   writer routines.
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.
633 Writer '``html``':
635 * Incorporated changes in docutils ``html`` writer:
637   * No longer change double-quotes to "``&quot;``".
638   * No longer put a newline after a ``<pre>``.
640 Release 0.3.14
641 --------------
642 First release that was indexable on CPAN.