Added "How to get a new feature into Docutils".
[docutils.git] / RELEASE-NOTES.txt
blob956a9af74a5e5de4e927143075780b13ee148d1f
1 ========================
2  Docutils Release Notes
3 ========================
5 :Contact: grubert@users.sourceforge.net
6 :Date: $Date$
7 :Revision: $Revision$
8 :Web site: http://docutils.sourceforge.net/
9 :Copyright: This document has been placed in the public domain.
12 This document summarizes the major changes in recent releases.  For a
13 more detailed list of changes, please see the `Docutils History`_.
15 .. _Docutils History: HISTORY.html
17 .. contents::
19 Future changes
20 ==============
22 * docutils/math, docutils/error_reporting.py, and
23   docutils/urischemes.py will move to the utils package
24   Code importing these modules needs to adapt, e.g.::
25   
26     try:
27         import docutils.math as math
28     except ImportError:
29         import docutils.utils.math as math
32 Release 0.9 (unpublished)
33 =========================
35 * General:
37   - reStructuredText "code" role and directive with syntax highlighting
38     by Pygments_.
39   - "code" option of the "include" directive.
41   .. _Pygments: http://pygments.org/
43 * docutils/utils.py -> docutils/utils/__init__.py
45   - docutils.utils is now a package (providing a place for sub-modules)
47 * docutils/writers/html4css1/__init__.py
49   - change default for `math-output` setting to MathJax
51 * docutils/writers/latex2e/__init__.py
53   - Record only files required to generate the LaTeX source as dependencies.
56 Release 0.8.1 (2011-08-30)
57 ==========================
59 * General:
61   - Fix [ 3364658 ] (Change last file with Apache license to BSD-2-Clause)
62     and [ 3395920 ] (correct copyright info for rst.el).
64 * docutils/test/
66   -  Apply [ 3303733 ] and [ 3365041 ] to fix tests under py3k.
68 * docutils/writers/latex2e/__init__.py
70   - Clean up Babel language setting. Restores Sphinx compatibility.
72 Release 0.8 (2011-07-07)
73 ========================
75 * COPYING:
77   - Some additions to the Docutils core are released under the 2-Clause BSD
78     license.
80 * General:
82   - Handle language codes according to `BCP 47`_.
83   - If the specified langauage is not supported by Docutils,
84     warn and fall back to English.
85   - Math support: reStructuredText "math" role and directive,
86     ``math`` and ``math_block`` doctree elements.
87   - Orphaned "python" reader and "newlatex2e" writer moved to the sandbox.
89   .. _BCP 47: http://www.rfc-editor.org/rfc/bcp/bcp47.txt
91 * reStructuredText:
93   - most directives now support a "name" option that attaches a
94     reference name. So you can write ::
96       .. figure:: image.png
97          :name: figure name
99     as a short form of ::
101       .. _figure name:
103       .. figure:: image.png
105 Internationalization:
107 * Added lithuanian mappings.
109 Components:
111 * HTML writer:
113   - New setting "math-output" with support for HTML, MathML, and LaTeX.
115 * LaTeX2e writer:
117   - Convert image URI to a local file path.
118   - Apply [ 3148141 ] fix multicolumn support when a colspanning cell
119     has more than one paragraph (Wolfgang Scherer).
121 * XeTeX writer:
123   - New writer generating LaTeX code for compiling with ``xelatex``.
124     
125     XeTeX uses unicode and modern font technologies.
127 * and fixes and enhancements here and there.
128   
129 Release 0.7 (2010-07-07)
130 ========================
132 Components:
134 * HTML writer:
136   - Support SVG and SWF images (thanks to Stefan Rank).
137   - Generate valid XHTML for centered images with targets.
138     Use CSS classes instead of "align" tags for image alignment.
140 * LaTeX2e writer:
142   - Use the ``\url`` command for URLs (breaks long URLs instead of writing
143     into the margin).
144   - Preserve runs of spaces in 'inline literals'.
145   - Deprecate ``figure_footnotes`` setting.
146   - Rename ``use_latex_footnotes`` setting to `docutils_footnotes`__.
147   - New ``latex_preamble`` setting.
148   - Use PDF standard fonts (Times/Helvetica/Courier) as default.
149   - `hyperref` package called with ``unicode`` option (see the
150     `hyperref config tips`__ for how to override).
151   - Drop the special `output_encoding`__ default ("latin-1").
152     The Docutils wide default (usually "UTF-8") is used instead.
154 __ docs/user/config.html#docutils-footnotes
155 __ docs/user/latex.html#hyperlinks
156 __ docs/user/latex.html#output-encoding
158 * manpage writer:
160   - Titles level 1, that is ``.SH``, always uppercase.
161   - Apply patch from mg: literal text should be bold in man-pages.
163 General:
165 * io.FileInput opens files as text files with universal newline support
166   (mode "rU", configurable with the new optional argument "mode").
168 * setup.py:
170   - Python 3 support: copy test/ and tools/ to the build-dir
171     and convert Python sources with 2to3.
173 Release 0.6 (2009-10-11)
174 ========================
176 .. Note::
178    Docutils 0.5 is the last version supporting Python 2.2.
180    Docutils 0.6 is compatible with Python versions from 2.3 up to 2.6
181    and convertible to 3.1 code.
183 .. note::
185    The "newlatex" writer is orphaned.
187    The recommended way to generate PDF output is to use either the
188    LaTeX2e writer or one of the alternatives listed at
189    http://docutils.sourceforge.net/docs/user/links.html#pdf.
191 * reStructuredText:
193   - Allow length units for all length specifications.
194   - Allow percent sign in "scale" argument of "figure" and "image" directives.
195   - Bugfix: The "figalign" argument of a figure now works as intended
196     (aligning the figure not its contents).
197   - Align images with class "align-[right|center|left]"
198     (allows setting the alignment of an image in a figure).
199   - Hard tabs in literal inclusions are replaced by spaces. This is
200     configurable via the new "tab-width" option of the "include" directive
201     (a negative tab-width prevents tab expansion).
203 * HTML writer:
205   - ``--stylesheet`` and ``--stylesheet-path`` options now support a comma
206     separated list of stylesheets.
208 * LaTeX2e writer:
210   - New defaults:
211     - font-encoding: "T1" (formerly implicitely set by 'ae').
212     - use-latex-toc: true (ToC with page numbers).
213     - use-latex-footnotes: true (no mixup with figures).
214     - Float placement defaults to "here definitely" (configurable).
215     - Align of image in a figure defaults to 'center'.
216     - Use class defaults for page margins ('typearea' now optional).
217   - Support LaTeX packages as ``--stylesheet`` arguments.
218   - Use ``bp`` for lengths without unit or unit ``pt``,
219     do not convert ``px`` to ``pt``.
220   - Do not use 'ae' and 'aeguill' packages if font-encoding is set to ''.
221   - Set sub- and superscript role argument as text not math.
222   - Support custom roles based on standard roles.
223   - Load packages and define macros only if required in the document.
224   - All Docutils specific LaTeX macros are prefixed with ``DU``.
225   - Better conformance to Docutils specifications with "use_latex_toc".
226   - If 'sectnum_xform' is False, the 'sectnum' directive triggers
227     section numbering by LaTeX.
228   - Use default font in admonitions and sidebar.
229   - Typeset generic topic as "quote with title".
230   - Use template (file and configuration option).
231   - Render doctest blocks as literal blocks (indented).
233 * ODT writer:
235   - moved from sandbox to Doctutils core.
237 * manpage writer:
239   - moved from sandbox to Doctutils core.
242 Release 0.5 (2008-06-25)
243 ========================
245 Components:
247 * HTML writer.
249   - Dropped all ``name`` attributes of ``a`` elements (``id`` is
250     universally supported now).
252 * LaTeX2e writer:
254   - Better bibTeX citation support.
255   - Add ``--literal-block-env``
257 * PEP writer:
259   - Changed to support new python.org website structure and
260     pep2pyramid.py.
262 reStructuredText:
264 * Changed the directive API to a new object-oriented system.
265   (Compatibility for the old, functional-style directive interface is
266   retained.)  See the updated `Creating reStructuredText Directives`__
267   how-to.
269   __ docs/howto/rst-directives.html
271 * Allow ``+`` and ``:`` in reference names requested for citations.
273 Documentation:
275 * Added `Deploying Docutils Securely`__
277   __ docs/howto/security.txt
279 Internationalization:
281 * Added hebrew mappings.
283 General:
285 * Configuration files are now assumed and required to be
286   UTF-8-encoded.
288 * Added docutils/writers/html4css1/template.txt.
290 * Enhance emacs support.
292 Release 0.4 (2006-01-09)
293 ========================
295 .. Note::
297    Docutils 0.4.x is the last version that will support Python 2.1.
298    Docutils 0.5 will *not* be compatible with Python 2.1; Python 2.2
299    or later will be required.
301    Docutils 0.4.x is the last version that will make compromises in
302    its HTML output for Netscape Navigator 4.  Docutils 0.5 will
303    require more up-to-date browsers (the exact definition is to be
304    determined).
306 Components:
308 * Added an `S5/HTML writer`__ and the rst2s5.py__ front end:
309   multi-platform, multi-browser HTML slide shows.
311   __ docs/user/slide-shows.html
312   __ docs/user/tools.html#rst2s5-py
314 * The newlatex2e writer is nearing completion.
316 * Added a DocTree reader, ``publish_doctree`` and
317   ``publish_from_doctree`` convenience functions, for document tree
318   extraction and reprocessing.
320 reStructuredText:
322 * Added directives: "container__" (generic block-level container),
323   "default-role__" (role used for \`backtick\` syntax), "title__"
324   (document title metadata), and "date__" (generate the current local
325   date, for substitution definitions).
327   __ docs/ref/rst/directives.html#container
328   __ docs/ref/rst/directives.html#default-role
329   __ docs/ref/rst/directives.html#title
330   __ docs/ref/rst/directives.html#date
332 * Length units are now supported for image__ sizes.
334   __ docs/ref/rst/directives.html#image
336 * Added `standard definition files`__ for special characters etc.
338   __ docs/ref/rst/definitions.html
340 Internationalization:
342 * Added Japanese and Simplified Chinese language mappings, and support
343   for double-width CJK-characters in tables and section titles.
345 Documentation:
347 * Added a `guide for distributors`__ (package maintainers) and a
348   `guide for developers`__.
350   __ docs/dev/distributing.html
351   __ docs/dev/hacking.html
353 General:
355 * Added significant `Emacs support for reST`__.
357   __ docs/user/emacs.html
359 * Added a `--strip-comments`__ option.
361   __ docs/user/config.html#strip-comments
363 * `--embed-stylesheet`__ is now the default for the HTML writer
364   (rather than --link-stylesheet).
366   __ docs/user/config.html#embed-stylesheet
369 Release 0.3.9 (2005-05-26)
370 ==========================
372 * Added "file_insertion_enabled__" and "raw_enabled__" settings.
374   __ docs/user/config.html#file-insertion-enabled
375   __ docs/user/config.html#raw-enabled
377 * Added `auto-enumerated lists`__.
379   __ docs/ref/rst/restructuredtext.html#enumerated-lists
381 * Added `"header" and "footer"`__ directives.
383   __ docs/ref/rst/directives.html#document-header-footer
385 * Added "list-table__" directive.
387   __ docs/ref/rst/directives.html#list-table
389 * Added support for `section subtitles`__.
391   __ docs/user/config.html#sectsubtitle-xform
393 * Added "field_name_limit__" and "option_limit__" settings to HTML writer.
395   __ docs/user/config.html#field-name-limit
396   __ docs/user/config.html#option-limit
398 * Added "cloak_email_addresses__" setting to HTML writer.
400   __ docs/user/config.html#cloak-email-addresses
402 * UTF-8 BOMs are now removed from the input stream.
405 Release 0.3.7 (2004-12-24)
406 ==========================
408 * A special "`line block`__" syntax has been added.  (Also see the
409   `quick reference`__.)
411   __ docs/ref/rst/restructuredtext.html#line-blocks
412   __ docs/user/rst/quickref.html#line-blocks
414 * Empty sections are now allowed.
416 * A "raw__" role has been added.
418   __ docs/ref/rst/roles.html#raw
420 * The LaTeX writer now escapes consecutive dashes (like "--" or "---")
421   so that they are no longer transformed by LaTeX to en or em dashes.
422   (Please see the FAQ__ for how to represent such dashes.)
424   __ FAQ.html#how-can-i-represent-esoteric-characters-e-g-character-entities-in-a-document
426 * A `dependency recorder`__ has been added.
428   __ docs/user/config.html#record-dependencies
430 * A directive has been added for `compound paragraphs`__.
432   __ docs/ref/rst/directives.html#compound-paragraph
435 Release 0.3.5 (2004-07-29)
436 ==========================
438 * Improved, extended and reorganized the documentation__.
440   __ docs/index.html
442 * Added "csv-table__" directive.
444   __ docs/ref/rst/directives.html#csv-table