		GNUPLOT Version 5.0.1 Release Notes
		===================================

Gnuplot version 5.0 was initially released in January 2015.
Please see the NEWS and ChangeLog files for a complete list of bug fixes
and minor changes accummulated since then.

These release notes are for version 5.0 patchlevel 1 (5.0.1).
Release Notes date: 04-Jun-2015

This patchlevel 5.0.1 incremental release includes
==================================================

* NEW "set mono" (full command "set monochrome {linetype lt <line-properties>})
* NEW "set fit nolog" suppresses output to log file
* NEW sixel terminal supports RGB and palette colors, but only 16 at a time :-(
* NEW command "printerr" acts exactly like "print" but always outputs via stderr
* CHANGE autoconfigure of Qt5 support now looks for --variable=host_bins
* CHANGE reevaluate fill color for each polygon in data for "with filledcurves"
* CHANGE gstrptime(): always check validity of %y %Y %d %B %b input fields
* CHANGE track text properties for key title separately from key entries
* CHANGE "smooth kdensity" now handles logscale y and explicit x range
* CHANGE order of margins in the "set margin" command to left, right, bottom, top
* CHANGE guarantee color of key sample for "lc variable" plots matches 1st point
* CHANGE "set term fig color" can use predefined linetype colors and named colors
* CHANGE skip all preprocessing for input lines beginning with shell escape char
* CHANGE build system to suppress dvi as an automake-generated target
* CHANGE in hidden3d mode, the 'nosurface' suppresses both surface grid directions
* FIX replace palette color value NaN with background color
* FIX improved handling of boxplot data with multiple factors (categories)
* FIX save_textcolor was not handling "tc variable"
* FIX apply numeric locale when reading ascii matrix data
* FIX handling of ascii matrix data
* FIX reinitialize brush used to draw dotted lines in gd terminal
* FIX failure to clear bold/italic text attributes in cairo terminals
* FIX tabular output of time data when the axis format has not been set
* FIX breakage in plot style filledcurves {above|below} y1=<yval> 
* FIX dashtypes after "set term {e}pslatex mono"
* FIX report and enforce maximum number of parallel axes without faulting
* FIX smooth mcsplines for a curve containing multiple y values at a single x
* FIX several bugs evident for log-scaled color axis 
* FIX regression in color support for pbm/sixel/hpgl terminals (no RGB color)
* FIX accummulated round-off error in dotted lines drawn by libgd terminals
* FIX incorrect colorbox axis labels in polar plots
* FIX AquaTerm framework name is case-sensitive
* FIX strip enhanced text markup from plot titles embedded in svg output
* FIX error in retrieving matrix column headers as strings
* FIX error in calculating absolute deviation (stats command)
* FIX allocation error from "set fit covariancevariables"
* FIX tkcanvas terminal handling of blank (default) font family name
* FIX off-by-one-error in color of contours when hidden3d is active
* FIX adjust WIN32 encoding used by text output from "pause" command
* FIX qt terminal 3D rotation mode tendency to get stuck "on"
* FIX dash pattern rendering in contour lines


NOTABLE NEW FEATURES IN VERSION 5.0.1
=====================================

Incremental releases 5.0.1, 5.0.2, etc are primarily intended to provide bug
fixes, but 5.0.1 also contains several adjustments resulting from feedback on
changes and new features in version 5.  The most notable is addition of a new
command "set monochrome" that allows emulation of the terminal-specific "mono"
option that was lost in version 5.  The new commands "set mono" and "set color"
switch between two parallel sets of default linetypes.  Six monochrome
linetypes are pre-defined; these can be altered or new ones added using the
command "set monochrome linetype N <line-properties>".  Although these do not
exactly duplicate those of any particular pre-version 5 terminal, approximate
backwards compatibility is provided by automatically switching to the
monochrome linetypes if the "mono" keyword is present in "set term".
I.e., "set term pdf mono" is equivalent to "set term pdf; set mono".


FEATURES INTRODUCED IN VERSION 5.0
==================================

* New plot styles "with parallelaxes" and labeled contours.

* New coordinate system (Degrees, Minutes, Seconds) "set xdata geographic".

* The "fit" command can now handle functions with up to 12 variables, and
  can take into account errors on x as well as errors on dependent variables.
  Final covariance terms are stored in user-accessible variables.
  Fitting options are now controlled by the command "set fit ..." rather than
  by environmental variables.

* The interpretation of columns in a "fit" command depends on new keywords
  "error", "xyerror", "zerror".  In most cases the program can also recognize
  version 4 syntax (no error keyword but last column contains zerror).
  
* The dot/dash pattern of a line can now be controlled independently
  from other line properties using the keyword "dashtype".

* The default color of individual line types can be changed using 
  "set linetype" (introduced in 4.6). In version 5 a default overall color
  sequence can be selected using "set colors {default|classic|podo}".
  The "classic" sequence is red/green/blue/magenta/cyan/yellow as used by
  older gnuplot versions.  The default and podo colors are chosen to be
  more easily distinguished in print and in particular by people with color
  vision problems.

* Text markup now supports bold and italic font settings in addition to
  the subscript, superscript, font size and other options previously
  provided by the "enhanced text" mode.  This mode is now the default.

* Command scripts may place in-line data in a named data block for
  repeated plotting.

* Bit shift operators << and >>

* RGB colors can include an alpha-channel for transparency.
       # ARGBcolor = (Alpha << 24) + (Red << 16) + (Green << 8) + Blue

* Secondary axes (x2, y2) can be locked to the primary axis via a mapping
  function.  In the simplest case this guarantees that the primary and
  secondary axis ranges are identical.  In the general case it allows you
  to define a non-linear axis, something that previously was only possible
  for the special case of log scaling.

* The "import" command attaches a user-defined function name to a 
  function provided by an extenal shared object (i.e. a plugin library).

* Previous commands in the history list of an interactive session can be
  reexecuted by number.  For example "history !5" will reexecute the 
  command numbered 5 in the list reported by "history".

* Hypertext labels in the interactive terminals including web display
  using the HTML canvas or svg terminals.

Many other additions are described in the "New Features" section of the
documentation.


CHANGES
=======

Gnuplot development assigns very high priority to backward compatibility
with earlier versions.  For example any command script that worked in
version 4.0 is expected to continue to work for all version 4 releases
including the most recent one (4.6.6).  However changes introduced in
version 5 can affect the operation of some version 4 scripts. 

A brief summary of potentially incompatible changes is given here.

* Earlier versions of gnuplot used the keyword "linetype" to mean both
  the color and the solid/dot/dash pattern of a line.  Version 5 has
  separate keywords "linecolor" and "dashtype".  You can use these keywords
  directly in a plot command or assign any desired color and a dash pattern
  to a linetype.  The program now provides a default set of 8 linetypes, all solid.
  You can change these or add new linetypes as you please. You do not need
  to change the current terminal or terminal mode in order to use dashed lines.

* The handling of input data containing NaN, Inf, an inconsistent number of
  data columns, or other unexpected content has changed. See documentation
  under "missing" for examples and figures. 

* Time coordinates are stored internally as the number of seconds relative
  to the standard unix epoch 1-Jan-1970.  Earlier versions of gnuplot used
  a different epoch internally (1-Jan-2000). This change resolves
  inconsistencies introduced when time in seconds was generated externally.
  The epoch convention used by a particular gnuplot installation can be
  determined using the command `print strftime("%F",0)`.
  Time is now stored to at least millisecond precision.

* The function `timecolumn(N,"timeformat")` now has 2 parameters.
  Because the second parameter is not associated with any particular data axis,
  this allows using the `timecolumn` function to read time data for reasons
  other than specifying the x or y coordinate.  Use of time formats
  to generate axis tick labels is now controlled by "set {xy}tics time" rather
  than by "set {xy}data time".  Thus prior calls to `set xdata time` or
  `set timefmt x` are unnecessary for either input or output.
  These older commands still work, but are deprecated.

* The "reverse" keyword (e.g. "set xrange [*:*] reverse") now affects only
  autoscaling.  It has no effect on explicit ranges. 
  "set xrange [0:1] reverse" is _not_ the same as "set xrange [1:0]".

* Options to the "fit" command are now given by "set fit ..." rather than
  by setting environmental variables.  Fit can handle up to MAX_NUM_VAR
  independent variables (currently 12).  Variables other than the first
  two (x, y) have been dissociated from axis names.  This means, for example,
  "set urange [U1:U2]" has no effect on fitting because "u" is not a fit
  variable.  Use the command "set dummy ..." to assign names to fit variables
  3 ... 12.

* The `call` command is implemented by providing a set of variables ARGC,
  ARG0, ..., ARG9. ARG0 holds the name of the script file being executed.
  ARG1 to ARG9 are string variables and thus may either be referenced directly
  or expanded as macros, e.g. @ARG1.  The older convention for referencing
  call parameters as tokens $0 ... $9 is deprecated.

* "unset xrange" (and other axis ranges) restores the default range.

* "unset terminal" restores the original terminal of the current session.

ONLINE DEMO PLOTS
=================

Demo plots illustrating new and old features are online at
  http://gnuplot.sourceforge.net/demo_5.0/


KNOWN ISSUES
============

* If you configure in the wxt terminal without also configuring in X11,
  you may need to set the environmental variable TERMLIBS:
    TERMLIBS="-lX11"  ./configure

* Font initialization on OSX can be very slow, causing the qt terminal to
  issue warning or error messages for the first plot command.

* The antialiasing option produces artifacts in some versions of Qt.
  In particular point types 1 and 2 appear unbalanced due to shading.

* You can configure support for both wxt and qt into the same gnuplot
  executable, but only one of these two output modes can be used in any
  given gnuplot session.

* Mac OSX ships with a terminal input library that appears to be GNU
  libreadline, but isn't really.  The program tries to cope with this, but
  you may get better results by configuring gnuplot to use either its own
  built-in readline routines or the real GNU libreadline.

* The gnuplot build system is not very good at figuring out where to find
  or install LaTeX-related files.  This can affect use of the lua/tikz
  and ConTeXt terminals.

* Using mouse clicks to toggle individual plots on/off does not always
  work correctly for multiplots if the key box is opaque.
  Toggling plots drawn in hidden3d mode (hidden line removal) does not work.

* Mouse double-click to export terminal coordinates to the X11 clipboard
  no longer works reliably, and may be deprecated in the future.

* The "update" command for use with "fit" does not work as documented, and 
  in practice works differently on different platforms.  Use with caution.
  This command will probably be revised for subsequent gnuplot releases.


		 NOTES TO PACKAGERS AND TESTERS 
		===============================

Obsolete or deprecated components
---------------------------------

The "gnuplot mode" elisp and TeX files for use with emacs are now
maintained as a separate project: https://github.com/bruceravel/gnuplot-mode
so there is no longer a configuration option --with-lisp-files.

The TeX tutorial produced by --with-tutorial is horribly out of date.

./configure --enable-backwards-compatibility will allow use of some
deprecated syntax from old gnuplot versions.  However the result of
using these deprecated commands may not match the old version output.


Configuration options for interactive use
-----------------------------------------

The 5.0 source code supports three primary cross-platform output modes
in addition to several platform-specific modes.

1) Qt
   The qt terminal supports interactive display with menu-driven
   output to png, svg or pdf.  If either Qt4 or Qt5 is detected by the
   configure script, this will be the default terminal.  It is now the
   fastest and most full-featured interactive terminal option.

   To disable this terminal:
      ./configure --without-qt

   To force use of Qt4 even if Qt5 is present:
      ./configure --with-qt=qt4

2) Cairo/pango/wxWidgets
   This set of terminals includes
   - pngcairo, pdfcairo, epscairo, and cairolatex for output to a file
   - wxt for interactive display
   All of these will be built by default if the configuration script finds
   the required libcairo, libpango, libcairo, libwxgtk, and related
   support libraries
   To disable these terminals:
       ./configure --without-cairo
       ./configure --with-cairo --disable-wxt

3) X11 (the "classic" interactive interface)
   This used to be the preferred interactive interface, but the newer
   wxt and qt terminals offer nicer output and a wider range of features.


Options for output to files
---------------------------

Of course the terminals (output modes) present in previous gnuplot versions
are also still available. These include, among many more obscure options:

- png/jpeg/gif output via libgd
- PostScript (*.ps or *.eps)
- Many flavors of TeX/LaTeX output, including TikZ and ConTeXt
- Bitmapped output to support older devices (e.g. HP deskjet, epson, and
  seiko printers, pbm bitmapped graphics files) is available if needed
  but is no longer configured in by default.
      ./configure --with-bitmap-terminals

Options for generating interactive plots for web display
--------------------------------------------------------

- Mouseable output for display on the web can be created using either 
  the canvas terminal (HTML5 2D canvas element) or the svg terminal.
  Both allow zooming, toggling plot elements on/off, and user-scriptable
  hot keys.

			OTHER NOTES
			===========

Installation
------------

You can download a source tarball for gnuplot version 5.0.1 from the 
gnuplot development site on SourceForge.
	http://sourceforge.net/projects/gnuplot

Installation instructions are available in the source itself; the short
version for linux/unix-like systems is to unpack the tarball and then
<PRE>
build it:
      cd gnuplot-5.0.1 ; ./configure ; make
test it:
      make check
install it:
      make install
</PRE>

Pay careful attention to the output of the ./configure script.
It may indicate that some output drivers have been omitted because the
necessary support libraries were not found.  In general you need to have
previously installed the "*-devel-*" versions of these libraries. 


Support
-------
Please report all bugs and installation problems to the bug tracker
on SourceForge:
	http://sourceforge.net/p/gnuplot/bugs/

There is also an gnuplot discussion forum on usenet group
	comp.graphics.apps.gnuplot


Development
-----------
Gnuplot development is ongoing. The development branch on SourceForge
contains preliminary implementations of new features.
The source for version 5.0 is held in a separate branch of the CVS repository
tagged as "branch-5-0-stable".  Development continues in the main branch using
the version number 5.1 (odd minor number), for eventual release as stable
version 5.2 (even minor number).  Bugfixes to version 5.0 will appear in
patchlevel releases 5.0.1, 5.0.2, etc., approximately twice a year or
as needed to correct a serious problem.
