|
From: sfeam <sf...@us...> - 2014-03-05 04:51:24
|
This is a reminder that a first release candidate for gnuplot version 5 is planned for later this year. In preparation for that I will bump the version information in the current development source tree to 5.0.alpha. The rationale for calling the next release 5.0 rather than 4.8 is that it will break or at least bend the strong backwards compatibility promised for successive gnuplot releases within version 4. The incompatible changes, although not major, mean that some old gnuplot command scripts will not run without revision. A short list of the incompatible changes is below. The many entirely new features in version 5 are not in this list because they do not affect execution of old scripts. Important note: If there is some behaviour or syntax in gnuplot that has been annoying you for the last 20 years, please speak up. This is the best chance you will have to get it changed! Changes already in CVS that can affect the behaviour of old scripts: * `set axis [*:*] reverse` autoscales with inverted axis range as before but the "reverse" keyword has no effect when [min:max] is explicit. * The interpretation of what each column of input means is no longer done separately for each line; whatever interpretation is used for the first line will be applied to the rest of the data. See examples under `help missing` in the current documentation. * NaN in an input data file is treated as a "missing" data point rather than a "bad" data point. This was already true for structured data (e.g. 3D grids) but is a change for generic 2D data. * The epoch boundary in time formats is now 1-Jan-1970, matching the rest of the unix world, rather than 1-Jan-2000. * Fit now handles more than 5 independent variables and accepts associated error values. The names of the fit variables other than the first two (x, y) are now dissociated from the axis definitions. E.g. set urange [foo:baz] has no effect on fitting. You can define them using `set dummy x, y, var3, var4, ...` * Enhanced text mode is now the default. It is used by the new default tic format "%h". * The old syntax for passing parameters to a `call` statement was out of date. For example it did not distinguish between quoted and unquoted strings or variables. It has been replaced by a new syntax using string variables ARG0, ARG1, ... that behaves similarly to arguments passed by a unix shell script. See the callargs.dem demo. * Labeled contours are now a separate plot style. The command controlling contour labels has also changed. See `help set cntrlabel`. I know of two proposed incompatible changes that are not yet implemented. Please speak up if you have an opinion for or against these. * The high byte of RGB color values is now interpreted as an alpha value. I.e. 0xRRGGBB (== 0x00RRGGBB) is some solid RGB color; 0x55RRGGBB is a semi-transparent variant of that same color. This only works if 0x00 in the high byte is interpreted as "solid". Unfortunately, the current interpretation of RGBA image data uses the opposite convention: alpha=0 is fully transparent, while alpha=0xFF is solid color. Should we change the interpretation of the alpha channel in RGBA image data to match that of lines and fill areas? * Binary and ascii matrices now support mostly the same set of formats, but the syntax used to describe them in inconsistent. The current documentation explains this in detail under `help matrix`. What should version 5 do? Change the binary matrix options to match those of ascii matrices? Change the ascii matrix options to match those of binary matrices? Change both to some new convention? Leave them as they are? Ethan |