ploticus: release notes and current issues

## Release notes and current issues | Welcome Gallery Handbook |
| Manual page for Release_notes_and_current_issues(PL)

- Correspondence: scg@jax.org
- Download page
- Latest version of this page (ploticus.sourceforge.net)
- Upgrading from an old version? Check the list of changes that could break old scripts.

  ## Late fixes and issues arising since latest release:

  - See also the ploticus discussion group

  ## Version 2.10 - Released Dec __, 2002

  - New - libploticus API. This is a simple C-callable API which will allow ploticus to be embedded in other applications, and facilitate interfaces to Perl, PHP, Pythin, etc. An associated code clean up was done to get `exit()`s and externally visible symbol names under control.
  - New - proc vector for making vector plots like this:
  - New - proc scatterplot - `rectangle` attribute for making heatmap plots like this:
  - New - Unicode / Big-5 support.
    You must be using SVG or GD with FreeType fonts. Right-to-left languages apparently aren't handled consistently.
  - New - Data capacities are now dynamic and can be raised at runtime using command line options such as `-maxrows` and `-maxfields`.
  - New - command line options.. `-dir` may be specified to set the working directory; `-outlabel` may be specified to set the X window name or PostScript / SVG result title attribute. `-mapfile` allows the clickmap output file to be set explicitly, and may also be used to write the mapfile to `stdout` `-f` is now supported as an alternative for specifying the script file. Also several new capacity-setting options are available.
  - New - proc usedata - allows selecting an active data set when there are multiple data sets in memory.
  - New - proc axis attribute `stubexp` - displays axis in real space when data are in log-transformed space.
  - New - proc axis `stubformat` - `autoround` is now an acceptable value, along with printf-specs such as `%.f`. `autoround` automatically rounds numeric values with result precision based on magnitude.
  - New - proc page attribute - `outlabel`
  - New - proc scatterplot attribute - `linedir` for controlling the direction of lines used as data points.
  - New - proc lineplot attribute - `relax_xrange`
  - New - system variable `PLVERSION` reports the ploticus version number.
  - Fixes that should remedy CGI-mode problems, especially under win32 and web servers other than Apache: 1) `SCRIPT_FILENAME` environment variable is no longer relied upon. It was discovered to be non-spec. Instead, `argv[0]` is now used. 2) under win32, images sometimes display first few pixel rows only, as if corrupted. Now standard output is set to binary mode, which should remedy this problem. 3) an `.exe` suffix is now removed before building the `.cnf` name.
  - Fix - disk resource limits completely removed. These are problematic and not worth the trouble, especially in CGI mode, since the 5MB (default) limit applies when appending (eg web server log files).
  - Fix - script interpreter - script lines having first whitespace-delimited token longer than 40 chars (such as embedded comma-delimited data) cause overflow and seg fault on Linux.
  - Fix - Lines in incoming data stream having first whitespace-delimited token longer than 255 chars (typically comma-delimited data) cause overflow and seg fault.
  - Fix - proc processdata - values for the rejectfields attribute being parsed incorrectly from script.
  - Fix - proc bars - bar labels for bars plotted from small numeric values eg. 0.005 not displayed.
  - Fix - month name capacities expanded to accomodate non-English month names.
  - Fix - number notation processing was being incorrectly applied to scientific-notation values.
  - Fix - vertical right-adjusted FreeType text was being rendered horizontally.
  - Fix - stacking of multiple data sets; eg. you can now tabulate on a processdata result.
  - Change - proc processdata `stack` is now `no` by default.
  - Change - proc originaldata has been mapped to proc usedata.
  - Change - textdetails attributes - `align` may be specified in lower case or as words (`left`, `center`, `right`), as well as the old way (`L`, `C`, `R`).
  - Change - config file parameters `sid`, `gid`, and `filesizelimit`. no longer supported.
  - Change - number display settings have been removed from proc page. These apply to an entire script, not a page, and should be set using proc settings.
  - Change - proc areadef - `catcompmethod` of `fuzzy` no longer supported (it never worked properly anyway).
  - Noted - GD fonts - some of the characters in the extended ascii range differ from those normally expected there. This issue originates in the GD library.

  ### Release notes for earlier versions

  ## Summary of changes likely to break old scripts & applications

  Unless otherwise stated, ploticus versions are designed to be backward-compatible, meaning that a "well-behaved" script written for an earlier version of ploticus should work on any later version. However there are several exceptions:
  - version 2.10 - several obscure changes: config file parameters `sid`, `gid`, and `filesizelimit` dropped; number display format settings dropped from proc page; proc areadef `catcompmethod: fuzzy` no longer supported; proc processdata `stack` is now `no` by default, which might be an issue in scripts that use `originaldata` to access processdata result data set;
  - version 2.03 - pltab no longer supported.
  - version 2.03 - proc rect (old name proc bevelrect) - bevelsize must now be specified in order to get a bevelled rectangle.
  - version 2.02 - lines prefab - changed the way that the `fill` parameter works. Previously it had applied to all curves and line color was used. Now it is specified as a color, and separately for each curve (using fill2, fill3, and fill4). This will break any existing applications that use the lines prefab to render multiple filled curves.
  - version 2.00 - New script interpreter resulted in some script syntax changes. Concatenation of variables is done differently in #set and #if statements, #setifnotgiven replaces #declare soft, and some other minor issues. Here are the details.

  ## Areas of ongoing development

  I can proceed with Ploticus development as my "day job" allows. Because Ploticus is now covered under GPL, which allows code to be freely used in other GPL projects, I am posting here the areas that I hope to get to in the near future, so that other developers know where I am headed.
  - additional prefabs, eg cumulative percent, heatmap
  - overhaul of the gallery and examples, with more cross-references and an index
  - XML script syntax option
  - proc axis - when doing tics but no stubs, need a way to range the tics
  - bee swarm plots

  ## Requested features not yet implemented

  - the ability to run as a persistent daemon and accept commands via named pipe
  - a method for automatic annotation placement, including avoidance of annotation, label, and plot object collisions.
  - more 3-D plots and effects
  - SVG - a way to display text messages on mouseover
  data display engine
  Copyright Steve Grubb

  Markup created by unroff 1.0, `` `` December 12, 2002.