This is the NEWS file for PHPlot, with release documentation.
The project home page is http://sourceforge.net/projects/phplot/
-----------------------------------------------------------------------------

2006-11-13 Released 5.0rc3

Overview:

This is an interim release. It has been a long time since the previous
release 5.0rc2, and there have been a lot of changes. There are still more
changes likely to go in before we have "5.0", but there are enough for now.

The PHPlot Reference Manual has also been released, and is available as a
separate download from Sourceforge. PHPlot users and developers are
strongly encouraged to read the manual.

This release does not include the "doc/" and "examples/" directories of
previous releases. The Reference Manual contains more complete and
up-to-date information and examples, and I am unable to maintain the doc/
and examples/ files while also maintaining the Reference Manual. If you
need those files, they can be accessed with the Sourceforge web CVS
browser.


New Features:

The emphasis for this release is bug fixing, so there are few new features.

+ You can now suppress lines or points on individual plots in a linepoints
  graph. This feature was added because I needed a graph with several
  linepoints lines, but also with a solid line showing an "80% goal".
  Use SetPointShapes with the value 'none' in the array to suppress the
    point markers for that plot (and only draw the line).
  Use SetLineStyles with the value 'none' in the array to suppress the
    line for that plot (and only draw the point markers).
  [Bug # 1594458]

+ Bar charts can have data labels above the bar with the value. Turn
  these on with SetYDataLabelPos('plotin'). This is somewhat experimental,
  since there isn't a lot of room for labels on top of the bars and you
  may find the results are not useful.


Visible Changes:

Here are the more significant changes in this release. These are changes
which may affect existing scripts and output from PHPlot.  See the
ChangeLog file for information about all changes and bug fixes.

+ A bug fix on bar chart bar borders results in black borders around the
  bars if shading is turned off. The border was previously covered up,
  but was supposed to be there. If you need borderless, unshaded bars,
  you need to use SetDataBorderColors to make the borders the same colors
  as the bars. [Bug # 1096197]

+ TrueType font pathname handling was fixed. You no longer need to use
  SetUseTTF(True). You can either use full paths to the font files with
  SetDefaultTTFont() and SetFont(), or you can call SetTTFPath() to point
  to a directory of font files, and then use simple font filenames without
  paths in SetDefaultTTFont() and SetFont().
  [Bug # 1144644 plus several others]

+ There have been several fixes regarding automatically calculated ranges
  and scales. The result is that you may see less extra space and fewer
  tick marks in some cases.

+ A fix was made to bar and stackedbar graph bar widths in order to get
  the X axis labels to properly center. As part of the fix, the bar widths
  now match between the two graph types. (Before this fix, the bars were
  narrower in bar graphs compared to the same data plotted as a stacked
  bar.) As a result, bar graph bars will now be drawn with wider bars, and
  stackedbar graph bars will be narrower. You can adjust this with the new
  class variable bar_extra_space.     [Bug # 1437912]

+ Dot shapes and sizes were off by 1 or 2 slots in the array of shapes or
  sizes. After the fix, you may get different dot shapes or sizes per
  plot line. [Bug # 1096194]


Testing:
 
Since its output is visual (graphics), and it has so many interconnected
modes and options, PHPlot is difficult to test. But at least we are now
trying. I have a collection of PHPlot scripts (currently about 60) and a
script to run through them. The script automatically checks that:
    1) Nothing was written to the standard error stream;
    2) An image file of size greater than 0 was written;
    3) Neither the test script nor PHPlot did exit(). This catches cases
       where PHPlot aborts with DrawError().

The automated test is an easy way to check for serious regression, but you
really need to inspect the output files to validate PHPlot. This takes a
little time, and it is easy to overlook problems.

The real issue is test coverage. Just as we can be sure that future
PHPlot releases will pass the test collection, we can also be sure that
future bug reports will be written against untested cases.

--------------------

2006-11-08 PHPlot on Sourceforge has a new maintainer: lbayuk

--------------------

2004-10-24 Released 5.0rc2

--------------------

