The pdfTeX team is happy to announce the release of a new stable version:

===========================================================================
                               pdfTeX 1.30.0
===========================================================================

This is the announcement of pdfTeX 1.30.0 an extended version of TeX that
can create PDF directly from TeX source files and enhance the result of TeX
typesetting with the help of PDF.

===========================================================================
  Main changes of pdfTeX 1.30.0
===========================================================================

- pdfxtex (introduced with 1.20a) is gone; all extensions are now in
  pdf(e)tex.
- Some primitives have been renamed; the old names will still work, but are
  deprecated and some give a warning that they are obsolete:
    \pdfoptionpdfminorversion         -> \pdfminorversion
    \pdfoptionalwaysusepdfpagebox     -> \pdfforcepagebox
    \pdfoptionpdfinclusionerrorlevel  -> \pdfinclusionerrorlevel
- pdftex knows two new units:
  - new Didot (1nd=0.375mm)
  - new Cicero (1nc=12nd)
- New primitives: 
  - Inclusion of pngs has been greatly improved: It now does
    - alpha channel and transparency (only if %!PDF >=1.4)
    - 16-bit colour (only if %!PDF >=1.5); this must be enabled by setting
      \pdfimagehicolor to 1.
    - gamma correction; this must be enabled by setting \pdfimageapplygamma
      to 1. The device gamma is taken from \pdfgamma. If no embedded value
      can be found in the png image, then the value of \pdfimagegamma is
      used instead.
    - fast direct embedding of png streams, if their structure allows this;
      the automatic fall-back is to decompress and re-compress as before.
  - pdfTeX now has an interface to the precise system time (if available)
    as an aid in benchmarking TeX macro code. 
    - \pdfelapsedtime is a read-only integer that (initially) returns the
      amount of time passed since the start of this run. This amount is
      given in `scaled seconds': the value 65536 counts as one second. If
      more time has passed than 32767 seconds, (2^31)-1 will be returned.
    - \pdfresettimer updates the internal timer, such that subsequent calls
      to \pdfelapsedtime will restart from 0.
  - pdfTeX can now generate random numbers.
    - \pdfuniformdeviate <count> generates a uniformly distributed random
      integer value between 0 (inclusive) and <count> (exclusive).
    - \pdfnormaldeviate expands to a random integer value with a mean of 0
      and a unit of 65536. 
    - \pdfrandomseed allows access to the current seed value.
    - \pdfsetrandomseed <count> sets the random seed to a specific value.
  - \pdfnoligatures\f disables ligatures for the loaded font \f.
  - \pdfstrcmp{<a>}{<b>} compares two strings and returns the strings "0"
    if <a> equals <b>, "-1" if <a> is less than <b>, "1" if <a> is greater
    than <b>
  - \pdfretval is an integer that is either <0, 0, or >0; currently it's
    used by \pdfstrcmp.
  - Escaping strings:
    - \pdfescapestring{<a>} escapes the string <a> so that it can be used
      as PDF string.
    - \pdfescapename{<a>} escapes the string <a> so that it can be used as
      PDF name.
    - \pdfescapehex{<a>} converts the string <a> to uppercase hexadecimal
      representation.
    - \pdfunescapehex{<b>} reverses the effect of \pdfescapehex
  - \pdfcreationdate expands to the date string that pdfTeX uses in the
    info dict as default.
  - \pdffilemoddate{<file>} expands to the modification date of <file> in
    the same format as \pdfcreationdate (PDF date format).
  - \pdffilesize{<file>} expands to the size of <file> as string.
  - \pdfmdfivesum{<abc>} or \pdfmdfivesum file {<file>} calculates the md5
    sum (of a string or a file) and converts it to uppercase hexadecimal
    format (same as \pdfescapehex).
  - \pdfshellescape is a read-only integer that is 1 if \write18 is
    enabled, 0 otherwise.
  - \pdfxformname <object number>, which expands to the number in the
    corresponding form XObject name.
  - \leftmarginkern <box number> and \rightmarginkern <box number> tell the
    margin kern at the left and right side of the horizontal list stored in
    box <box number>.
  - \pdfpkmode is a token register that sets the MF mode for pixel font
    generation. The contents of this register is dumped into the format, so
    one can (optionally) preset it e.g. in part of pdftexconfig.tex.
  - \pdftracingfonts: An integer variable controlling the tracing of font
    expansion. It is zero by default; then we get a log (with
    fontexpansion) like this
    ...\tenrm t
    ...\tenrm (+20) e
    Without font expansion, this default should be compatible with TeX's
    original log output.
    If \pdftracingfonts is set to 1 (or greater), we get a more verbose
    log: 
    ...\xivtt (cmtt10@14.0pt) t
    ...\xivtt (cmtt10+20@14.0pt) e
    See also bug 304.
  - \pdffiledump [offset <int>] [length <int>] <general text>
    Returns a hex dump of file, given in <general text>, starting at given
    offset or 0 with given length.
- New experimental primitives:
  - \pdfmatch [icase] [subcount <number>}] {<pattern>}{<string>}
    Implements pattern matching using the POSIX regex.
    It returns the same values as \pdfstrcmp, but with the following
    semantics: 
      -1: error case (invalid pattern, ...)
       0: no match
       1: match found
    Options:
    * icase: case insensitive matching
    * subcount: it sets the table size for found subpatterns.
      A number "-1" resets the table size to the start default.
  - \pdflastmatch <number>
    The result of \pdfmatch is stored in an array. The entry "0" contains
    the match, the following entries submatches. The positions of the
    matches are also available. They are encoded:
      <position> "->" <match string>
    The position "-1" with an empty string indicates that this entry is not
    set.
- The primitive \pdfmovechar has been removed (bug 294)
- Numerous bugfixes
- pdfTeX uses zlib 1.2.3
  
For complete release notes see http://www.pdftex.org/NEWS

===========================================================================
  Legal notice / license
===========================================================================

pdfTeX is copyright (c) 1996-2005 Han The Thanh, <thanh@pdftex.org>

pdfTeX is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
Foundation; either version 2 of the License, or (at your option) any later
version.

For a complete README (with a full discussion of the license)
please look at http://www.pdftex.org/README

===========================================================================
  The files / installation
===========================================================================

You should first try to get a new version of pdfTeX through your
distribution.

If you want to compile it yourself, have a look at http://www.pdftex.org --
there you can find links to the pdfTeX sources on CTAN. And some useful
documentation. 

===========================================================================
  Mailing lists / web pages:
===========================================================================

  Mailing list:
    http://tug.org/mailman/listinfo/pdftex

  Related web pages:
    http://www.pdftex.org
    http://sarovar.org/projects/pdftex/
    http://www.tug.org/tex-live/
    http://www.tug.org/tetex/
    http://www.tex.ac.uk/cgi-bin/texfaq2html?introduction=yes
    http://www.dante.de/
    http://tug.org/
    http://www.pragma-ade.com/

Have fun!

Martin Schröder (martin@pdftex.org) for the pdfTeX team, August 2005
