Blob Blame History Raw
<?xml version="1.0" encoding="utf-8" ?>
<!-- vim: sta et sw=2
-->
<sect1 id="changes">
<sect1info>
<abstract role="texinfo-node">
  <para>Changes to the package between releases</para>
</abstract>
</sect1info>
<title>Release history</title>

<indexterm><primary>change log</primary></indexterm>
<indexterm><primary>history</primary></indexterm>
<indexterm><primary>release history</primary></indexterm>
<indexterm><primary>news</primary></indexterm>
<indexterm><primary>bugs</primary></indexterm>

<formalpara id="changes-0.8.8">
  <title>docbook2X 0.8.8</title>
  <para>
  <itemizedlist>
    <listitem>
      <para>
        Errors in the Man-XML and Texi-XML DTD were fixed.
      </para>

      <para>
        These DTDs are now used to validate the output coming
        out of the stylesheets, as part of automated testing.
        (Validation provides some assurance that the
         result of the conversions are correct.)
      </para>
    </listitem>

    <listitem>
      <para>
        Several rendering errors were fixed after
        they had been discovered through automated testing.
      </para>
    </listitem>

    <listitem>
      <para>
        Two HTML files in the docbook2X documentation were
        accidentally omitted in the last release.
        They have been added.
      </para>
    </listitem>

    <listitem>
      <para>
        The pure-XSLT-based man-page conversion now supports
        table markup.  The implemented was copied from
        the one by Michael Smith in the DocBook XSL stylesheets.
        Many thanks!
      </para>
    </listitem>

    <listitem>
      <para>
        As requested by Daniel Leidert,
        the man-pages stylesheets now support the 
        <sgmltag class="element">segmentedlist</sgmltag>,
        <sgmltag class="element">segtitle</sgmltag>
        and <sgmltag class="element">seg</sgmltag>
        DocBook elements.
      </para>
    </listitem>

    <listitem>
      <para>
        As suggested by Matthias Kievermagel, 
        docbook2X now supports the <sgmltag class="element">code</sgmltag>
        element.
      </para>
    </listitem>

  </itemizedlist>
  </para>
</formalpara>


<formalpara id="changes-0.8.7">
  <title>docbook2X 0.8.7</title>
  <para>
  <itemizedlist>
    <listitem>
      <para>
        Some stylistic improvements were made
        to the man-pages output.
      </para>

      <para>
        This includes fixing a bug that, in some cases, caused
         an extra blank line to occur after lists in man pages.
      </para>
    </listitem>

    <listitem>
      <para>
        There is a new value <literal>utf-8//TRANSLIT</literal>
        for the <option>--encoding</option> option
        to &db2x_manxml; and &db2x_texixml;.
      </para>
    </listitem>

    <listitem>
      <para>
        Added <option>-m</option> to &utf8trans; for modifying
        (a large number of) files in-place.
      </para>
    </listitem>

    <listitem>
      <para>
        Added a section to the documentation discussing conversion 
        performance.
      </para>

      <para>
        There is also a new test script, 
        <filename>test/mass/test.pl</filename>
        that can exercise docbook2X by converting many documents
        at one time, with a focus on achieving the fastest
        conversion speed.
      </para>
    </listitem>

    <listitem>
      <para>
        The documentation has also been improved in several places.
        Most notably, the 
          <citerefentry>
            <refentrytitle>docbook2X</refentrytitle>
            <manvolnum>1</manvolnum>
          </citerefentry>
        man page has been split into two much more detailed 
        man pages explaining
        man-page conversion and Texinfo conversion separately,
        along with a reference of stylesheet parameters.
      </para>

      <para>
        The documentation has also been re-indexed (finally!)
      </para>

      <para>
        Also, due to an oversight, the last release omitted the stylesheet
        reference documentation.  They are now included again.
      </para>

    </listitem>

    <listitem>
      <para>
        Craig Ruff’s patches were not integrated correctly in the last
        release; this has been fixed.
      </para>
    </listitem>

    <listitem>
      <para>
        By popular demand, man-page conversion can also be done
        with XSLT alone — i.e. no Perl scripts or compiling required,
        just a XSLT processor.
      </para>

      <para>
        If you want to convert with pure XSLT, invoke 
        the XSLT stylesheet in 
        <filename>xslt/backend/db2x_manxml.xsl</filename>
        in lieu of the &db2x_manxml; Perl script.
      </para>
    </listitem>

    <listitem>
      <para>
        Make the <command>xmlcharmap2utf8trans</command> script 
        (convert XSLT 2.0 character maps to character maps in utf8trans 
         format) really work.
      </para>
    </listitem>

  </itemizedlist>
  </para>
</formalpara>


<formalpara id="changes-0.8.6">
  <title>docbook2X 0.8.6</title>
  <para>

  <itemizedlist>
    <listitem>
      <para>
        Added rudimentary support for <sgmltag>entrytbl</sgmltag>
        in man pages; patch by Craig Ruff.
      </para>
    </listitem>

    <listitem>
      <para>
        Added template for <sgmltag>personname</sgmltag>; patch by Aaron Hawley.
      </para>
    </listitem>

    <listitem>
      <para>
        Fix a build problem that happened on IRIX; patch by Dirk Tilger.
      </para>
    </listitem>

    <listitem>
      <para>
        Better rendering of man pages in general.  Fixed
        an incompatibility with Solaris troff of some generated man pages.
      </para>
    </listitem>

    <listitem>
      <para>
        Fixed some minor bugs in the Perl wrapper scripts.
      </para>
    </listitem>

    <listitem>
      <para>
        There were some fixes to the Man-XML and Texi-XML document types.  
        Some of these changes are backwards-incompatible with previous
        docbook2X releases.  In particular, Man-XML and Texi-XML now
        have their own XML namespaces, so if you were using custom XSLT
        stylesheets you will need to add the appropriate namespace
        declarations.
      </para>
    </listitem>
    
  </itemizedlist>
  </para>
</formalpara>
    

<formalpara id="changes-0.8.5">
  <title>docbook2X 0.8.5</title>
  <para>

  <itemizedlist>
    <listitem>
      <para>
        Fixed a bug, from version 0.8.4, with the generated Texinfo 
        files not setting the Info directory information correctly.
        (This is exactly the patch that was on the docbook2X Web site.)
      </para>
    </listitem>

    <listitem>
      <para>
        Fixed a problem with &db2x_manxml; not calling &utf8trans; properly.
      </para>
    </listitem>

    <listitem>
      <para>
        Added heavy-duty testing to the docbook2X distribution.
      </para>
    </listitem>
  </itemizedlist>
  </para>
</formalpara>

<formalpara id="changes-0.8.4">
  <title>docbook2X 0.8.4</title>
  <para>

  <itemizedlist>
    <listitem>
      <para>
        There is now an <emphasis>experimental</emphasis>
        implementation of &db2x_manxml; and &db2x_texixml; using pure XSLT,
        for those who can’t use the Perl one for whatever reason.
        See the <filename>xslt/backend/</filename> directory.
        Do not expect this to work completely yet.  
        In particular, tables are not yet available in man pages.
        (They are, of course, still available in the Perl
        implementation.)
      </para>
    </listitem>

    <listitem>
      <para>
        Texinfo conversion does not require XSLT extensions anymore!
        See <xref linkend="xslt-extensions-move" /> for the full story.
      </para>

      <para>
        As a consequence, &db2x_xsltproc; has been rewritten to be
        a Perl wrapper script around the stock &xsltproc_cmd;.
      </para>
    </listitem>

    <listitem>
      <para>
        The <option>-S</option> option to &db2x_xsltproc;
        no longer uses libxml’s hackish “SGML DocBook” parser, but now 
        calls &sgml2xml;.
        The corresponding long option has been renamed to
        <option>--sgml</option> from <option>--sgml-docbook</option>.
      </para>
    </listitem>
 
    <listitem>
      <para>
        Fixed a heap of bugs — that caused invalid output — in the 
        XSLT stylesheets, &db2x_manxml; and &db2x_texixml;.
      </para>

      <para>
        Some features such as <sgmltag
        class="element">cmdsynopsis</sgmltag>
        and <sgmltag class="element">funcsynopsis</sgmltag>
        are rendered more nicely.
      </para>
    </listitem>

    <listitem>
      <para>
        Man-XML and Texi-XML now have DTDs —
        these are useful when writing and debugging stylesheets.
      </para>
    </listitem>
    
   
    <listitem>
      <para>
        Added a <option>--plaintext</option> option to &db2x_texixml;.
      </para>
    </listitem>

    <listitem>
      <para>
        Updates to the docbook2X manual.
        Stylesheet documentation is in.
      </para>
    </listitem>
  </itemizedlist>
  </para>
</formalpara>

<formalpara id="changes-0.8.3">
  <title>docbook2X 0.8.3</title>
  <para>

  <itemizedlist>
    <listitem>
      <para>
        Incorporated Michael Smith’s much-expanded roff character maps.
      </para>
    </listitem>

    <listitem>
      <para>
        There are some improvements to the stylesheets themselves, here and 
        there.
      </para>
      <para>
        Also I made the Texinfo stylesheets adapt to the XSLT processor
        automatically (with regards to the XSLT extensions).  This
        might be of interest to anybody wanting to use the stylesheets
        with some other XSLT processor (especially SAXON).
      </para>
    </listitem>

    <listitem>
      <para>
        Fixed a couple of bugs that prevented docbook2X from 
        working on Cygwin.  
      </para>
    </listitem>

    <listitem>
      <para>
        Fixed a programming error in &utf8trans; that caused it to
        segfault.  At the same time, I rewrote parts of it
        to make it more efficient for large character maps
        (those with more than a thousand entries).
      </para>
    </listitem>
    
    <listitem>
      <para>
        The Perl component of docbook2X has switched from using
        libxml-perl (a SAX1 interface) to XML-SAX (a SAX2 interface).
        I had always wanted to do the switch since libxml-perl 
        is not maintained, but the real impetus this time is
        that XML-SAX has a pure Perl XML parser.  If you have
        difficulties building <classname>XML::Parser</classname>
        on Cygwin, like I did, the Perl component will automatically
        fall back on the pure Perl parser.
      </para>
    </listitem>
  </itemizedlist>
  </para>
</formalpara>

<formalpara id="changes-0.8.2">
  <title>docbook2X 0.8.2</title>
  <para>

  <itemizedlist>
    <listitem>
      <para>
        Added support for tables in man pages.
        Almost all table features that can be supported with 
        <command>tbl</command> will work.
        The rest will be fixed in a subsequent release.
      </para>
    </listitem>

    <listitem>
      <para>
        Copied the “gentext” stuff over from Norman Walsh’s XSL stylesheets.
        This gives (incomplete) localizations for the same languages
        that are supported by the Norman Walsh’s XSL stylesheets.
      </para>  

      <para>
        Although incomplete, they should be sufficient for localized
        man-page output, for which there are only a few strings
        like “Name” and “Synopsis” that need to be translated.
      </para>

      <para>
        If you do make non-English man pages, you will need
        to revise the localization files; please send patches
        to fix them afterwards.
      </para>
    </listitem>
    
    <listitem><para>
      Rendering of bibliography, and other less common DocBook
      elements is broken.  Actually, it was probably also 
      slightly broken before.  Some time will be needed to
      go through the stylesheets to check/document everything in 
      it and to add anything that is still missing.
    </para></listitem>

    <listitem><para>
      Added <option>--info</option> option to &db2x_texixml;,
      to save typing the <command>makeinfo</command> command.
    </para></listitem>

    <listitem><para>
      Rename <option>--stringparam</option> option 
      in &db2x_xsltproc; to <option>--string-param</option>,
      though the former option name is still accepted
      for compatibility.
    </para></listitem>

    <listitem><para>
      Added the stylesheet for generating the XSLT reference 
      documentation.  But the reference documentation is not 
      integrated into the main docbook2X documentation yet.
    </para></listitem>

    <listitem><para>
      docbook2X no longer uses SGML-based tools to build.
      HTML documentation is now built with the DocBook XSL stylesheets.
    </para></listitem>
    
    <listitem><para>
      Changed the license of this package to the MIT license.
      This is in case someone wants to copy snippets of the XSLT stylesheets,
      and requiring the resulting stylesheet to be GPL seems too onerous.
      Actually there is no real loss since no one wants to hide XSLT source
      anyway.
    </para></listitem>
    
    <listitem><para>
      Switched to a newer version of autoconf.
    </para></listitem>

    <listitem><para>
      Fixes for portability (to non-Linux OSes).
    </para></listitem>
    
    <listitem><para>
      A number of small rendering bug fixes, as usual.
    </para></listitem>

  </itemizedlist>
  </para>
</formalpara>

<formalpara id="changes-0.8.1">
  <title>docbook2X 0.8.1</title>
  <para>

  <itemizedlist>
    <listitem>
      <para>
        Bug fixes.
      </para>
    </listitem>
  
    <listitem>
      <para>
        Texinfo menu generation has been improved: the menus now look almost
        as good as human-authored Texinfo pages and include detailed node listings
        (<markup>@detailmenu</markup>) also.
      </para>
    </listitem>
  
    <listitem>
      <para>
        Added option to process XInclude in &db2x_xsltproc; just like standard
        <command>xsltproc</command>.
      </para>
    </listitem>
    
  </itemizedlist>
  </para>
  </formalpara>
  
  <formalpara id="changes-0.8.0">
    <title>docbook2X 0.8.0</title>
    <para>
  
    <itemizedlist>
    <listitem>
      <para>
        Moved <command>docbook2man-spec.pl</command> to a sister package,
        docbook2man-sgmlspl, since it seems to be used quite a lot.
      </para>
    </listitem>
    
    <listitem>
      <para>
        There are now XSLT stylesheets for man page conversion, superceding the
        &docbook2manxml;.  &docbook2manxml; had some neat code in it, but I
        fear maintaining two man-page converters will take too much time in the
        future, so I am dropping it now instead of later.
      </para>
    </listitem>
    
    <listitem>
      <para>
        Fixed build errors involving libxslt headers, etc. that plagued the last
        release.  The libxslt wrapper (name changed to &db2x_xsltproc;, formerly
        called <command>docbook2texi-libxslt</command>) has been
        updated for the recent libxslt changes.  
        Catalog support working.
      </para>
    </listitem>
    
    <listitem>
      <para>
        Transcoding output to non-UTF-8 charsets is automatic.  
      </para>
    </listitem>
    
    <listitem>
      <para>
        Made some wrapper scripts for the two-step conversion process.
      </para>
    </listitem>
    
  </itemizedlist>
  
  </para>
</formalpara>



<formalpara id="changes-0.7.0">
<title>docbook2X 0.7.0</title>

<para>
<itemizedlist>

<listitem><para>
More bug squashing and features in XSLT stylesheets and Perl scripts.  
Too many to list.
</para></listitem>

<listitem><para>
Added <command>docbook2texi-libxslt</command>, which uses libxslt.
Finally, no more Java is necessary.
</para></listitem>

<listitem><para>
Added a C-based tool to translate UTF-8 characters to arbitrary (byte)
sequences, to avoid having to patch <command>recode</command> every time
the translation changes.  However, Christoph Spiel has ported the recode
utf8..texi patch to GNU recode 3.6 if you prefer to use recode.
</para></listitem>

<listitem>
<para>As usual, the documentation has been improved.</para>

<para>The documentation for the XSLT stylesheets can be extracted
automatically.  (Caveat: libxslt has a bug which affects this process,
so if you want to build this part of the documentation yourself you must
use some other XSLT processor. There is no <sgmltag
class="element">jrefentry</sgmltag> support in docbook2X yet, so the
reference is packaged in HTML format; this will change in the next
release, hopefully.)
</para>
</listitem>

<listitem><para>
Build system now uses autoconf and automake.
</para></listitem>

</itemizedlist>
</para>
</formalpara>


<formalpara id="changes-0.6.9">
<title>docbook2X 0.6.9</title>

<para>
<itemizedlist>

<listitem><para>
Removed old unmaintained code such as <command>docbook2man</command>,
<command>docbook2texi</command>.
Moved Perl scripts to <filename>perl/</filename> directory and did some
renaming of the scripts to saner names.
</para></listitem>

<listitem><para>
Better make system.
</para></listitem>

<listitem><para>
Debugged, fixed the XSLT stylesheets more and added libxslt invocation.
</para></listitem>

<listitem><para>
Cut down the superfluity in the documentation.
</para></listitem>

<listitem><para>
Fixed other bugs in <command>docbook2manxml</command> and the Texi-XML,
Man-XML tools.
</para></listitem>

</itemizedlist>
</para>

</formalpara>



<formalpara id="changes-0.6.1">
<title>docbook2X 0.6.1</title>

<para>
<itemizedlist>

<listitem><para>
<command>docbook2man-spec.pl</command> has an option to strip or
not strip letters in man page section names, and xref may now refer to
<sgmltag class="element">refsect<replaceable>n</replaceable></sgmltag>.
I have not personally tested these options, but loosing them
in the interests of release early and often.
</para></listitem>

<listitem><para>
Menu label quirks, <sgmltag class="element">paramdef</sgmltag>
non-conformance, and vertical simplelists with multiple columns fixed in
<command>docbook2texixml</command>.
</para></listitem>

<listitem><para>
Brought <command>docbook2manxml</command> up
to speed. It builds its own documentation now.
</para></listitem>

<listitem><para>
Arcane bugs in <command>texi_xml</command> and <command>man_xml</command>
fixed.
</para></listitem>

</itemizedlist>

  </para>
</formalpara>


<formalpara id="changes-0.6.0">
<title>docbook2X 0.6.0</title>

<para>
<itemizedlist>

<listitem>
<para>Introduced Texinfo XSLT stylesheets. </para>
</listitem>

<listitem>
<para>
Bugfixes to <command>texi_xml</command> and 
<command>docbook2texixml</command>. 
</para>
</listitem>

<listitem>
<para>Produced patch to GNU <command>recode</command> which maps Unicode
characters to the corresponding Texinfo commands or characters.
It is in <filename>ucs2texi.patch</filename>.
I have already sent this patch to the maintainer of <command>recode</command>.
</para>
</listitem>

<listitem>
<para>Updated documentation.</para>
</listitem>

</itemizedlist>
</para>

</formalpara>


<formalpara id="changes-0.5.9">
<title>docbook2X 0.5.9</title>
<para>

<itemizedlist>

<listitem>
<para>
Both <command>docbook2texixml</command> transform into intermediate XML
format which closely resembles the Texinfo format, and then another
tool is used to convert this XML to the actual format.
</para>

<para>
This scheme moves all the messy whitespace, newline, and escaping issues
out of the actual transformation code.  Another benefit is that other
stylesheets (systems), can be used to do the transformation, and it
serves as a base for transformation to Texinfo from other
DTDs.
</para>

</listitem>


<listitem>
<para>
Texinfo node handling has been rewritten.  Node handling used to work
back and forth between IDs and node names, which caused a lot of
confusion.  The old code also could not support DocBook
<sgmltag>set</sgmltag>s because it did not keep track of the Texinfo
file being processed.  
</para>

<para>
As a consequence,  the bug in which <command>docbook2texixml</command> did
not output the <literal>@setinfofile</literal> is fixed.
<sgmltag>xreflabel</sgmltag> handling is also sane now.  
</para>

<para>
In the new scheme, elements are referred to by their ID (auto-generated
if necessary).  The Texinfo node names are generated before doing the
actual transformation, and subsequent <function>texinode_get</function>
simply looks up the node name when given an element.
</para>

</listitem>


<listitem>
<para>
The stylesheet architecture allows internationalization to be
implemented easily, although it is not done yet.
</para>
</listitem>

<listitem>
<para>
The (non-XML-based) old code is still in the CVS tree, but I’m not
really interested in maintaining it.  I’ll still accept patches to them, 
and probably will keep them around for reference and porting purposes.
</para>

<para>
There are some changes to the old code base in
this new release; see old change log for details.
</para>

</listitem>

<listitem>
<para>
The documentation has been revised.
</para>
</listitem>

<listitem>
<para>
I am currently rewriting docbook2man using the same transform-to-XML technique.
It’s not included in 0.5.9 simply because I wanted to get the improved
Texinfo tool out quickly.
Additional XSLT stylesheets will be written.
</para>
</listitem>

</itemizedlist>

  </para>
</formalpara>

</sect1>