[R-pkgs] Announcing TikZ Device 0.5.2

Charlie Sharpsteen source at sharpsteen.net
Sat Oct 16 00:22:26 CEST 2010

Version 0.5.2 of the tikzDevice is now available on CRAN in source
form.  Binary builds will become available in the next few days.  This
build supersedes 0.5.1, which was just released a couple of days ago.

Version 0.5.2 is a recommended upgrade for all users as it contains
fixes a major issue:

- Two buffer overflow conditions were found which can cause R to
behave extremely erratically if triggered.

  * The first buffer overflow only affects users of tikzDeivce 0.5.1
who use tikz( ..., sanitize = TRUE ).  The sanitize option to tikz()
was added in 0.5.0, but was non-functional due to a bug.

  * The second buffer overflow affects users of any version of
tikzDevice.  However, it only occurs when bold italic text is used in
plots which is a fairly rare occurrence.

Many thanks to Mikhail Titov for taking the time to file bug reports
that led to the discovery of this issues.

Additionally, the vignette and polypath() functions have been
updated/added to support changes in R 2.12.0 and support for Solaris
was improved.

For more info on the tikzDevice, please visit us on GitHub:


The combined changelog for version 0.5.1 and 0.5.2 is as follows:


### Version: 0.5.2


#### Contributors
The following people contributed to this release of the tikzDevice:

- mlt for reporting problems with the Sanitize function that led to
the discovery of two situations where buffer overflows were occurring.

#### Bug Fixes

- Fixed buffer overflows and memory leaks related to string pointers
in tikzDevice.c.

- Fixed compilation of the tikzDevice vignette under R 2.12.0.

- Reduced the verbosity of the package startup message.


### Version: 0.5.1


#### Bug Fixes

- A stub function has been added so that the `polypath()` function
introduced in R 2.12.0 won't crash the device.

- Fixed bug where no string output was shown when the sanitize=TRUE
option was used.

- The path to a LaTeX compiler returned by `Sys.which()` is now
checked by `file.access()` to check that it is actually an executable
and not an error message.  This fixes issues arising from
`Sys.which()` on Solaris.

- On UNIX platforms, `/usr/texbin/pdflatex` is added to the end of the
list of places to search for a LaTeX compiler.  This should help
people using R.app on OS X find a LaTeX compiler without having to
manually specify it.

- `tikz()` produces a better error message when it cannot open a file
for output.

- In the event that LaTeX crashes during a metric calculation, the
LaTeX log output is echoed using `message()` instead of `cat()`.  This
makes it show up during operations that supperss `cat()` output such
as `R CMD build` and `R CMD Sweave`.

More information about the R-packages mailing list