======================================================================== FuncPlotter : Release history ------------------------------------------------------------------------ Bug fixes and other modifications are listed only if they are considered to be significant. ======================================================================== FuncPlotter 2.4 (Requires Java version 1.6) ------------------------------------------------------------------------ Bug fixes: * The surrogate minus character (if there is one) is now used in the pop-up window that is displayed if an expression is too wide for the function list. ------------------------------------------------------------------------ Other changes: * In application mode, the configPath configuration property (ie, the system property specified by -Dapp.configPath) now accepts a list of directories separated by the system-dependent path separator instead of a single directory. ======================================================================== FuncPlotter 2.3 (Requires Java version 1.6) ------------------------------------------------------------------------ Bug fixes: (None) ------------------------------------------------------------------------ Other changes: * If text of the x- and y-scale markings is truncated or omitted because it is too wide, the full text is displayed in a pop-up window when the mouse cursor is moved over the region of the truncated or omitted text. A configuration property, plot.truncateXScaleText, has been added to allow a choice between truncating and omitting x-scale text that is too wide. * A minus sign (U+2212) or en dash (U+2013) character is displayed instead of a hyphen-minus (U+002D) in components of the main window and Function dialog if one of those characters can be displayed in the component's font. ======================================================================== FuncPlotter 2.2 (Requires Java version 1.6) ------------------------------------------------------------------------ Bug fixes: * No longer crashes when an attempt is made to open a text file with more than 20 invalid lines. * A bug in parsing font configuration properties has been fixed. ------------------------------------------------------------------------ Other changes: * Antialiasing of text (aka "font smoothing") in custom UI components is now a configurable option. (The antialiasing of text in standard UI components is determined by the Java implementation and the desktop setting.) * Previously, the location of the main window on the screen was saved automatically when the application exited, and the saved location was used the next time that the application was run. Now, saving the location of the main window location is optional. * The plot panel now has a custom crosshair cursor, which is a true crosshair rather than the broad cross that is provided on Linux with GNOME. * A configuration property, plot.numYScaleDigits, has been added to control the width of the left margin of the plot in which the y scale is displayed. * Previously, a truncated expression in the function list was displayed in full in a pop-up window with LeftButton. Now, it is displayed in full with Ctrl+LeftButton. * The name of the main class has changed from FuncPlotter to App. This is significant only when FuncPlotter is used as an applet. * The names of the configuration properties for plot colours have been changed (eg, plot.backgroundColour has become plot.colour.background). * The namespace name of FuncPlotter's XML documents has been changed. ======================================================================== FuncPlotter 2.1 (Requires Java version 1.6) ------------------------------------------------------------------------ Bug fixes: * The function list is redrawn when a new item is inserted (eg, by undoing a Delete command). ------------------------------------------------------------------------ Other changes: * A command has been added to toggle the grid in a plot. The command applies to individual documents. The existing configuration parameter, plot.showGrid, determines the default grid visibility. * The transfer of files by dragging-and-dropping is now performed without blocking the source of the transfer (eg, a file browser). * The format of the configuration file has been changed. The program can read configuration files in the old format, but will write files in the new format. ======================================================================== FuncPlotter 2.0 (Requires Java version 1.6) ------------------------------------------------------------------------ Bug fixes: (None) ------------------------------------------------------------------------ Other changes: * The function list UI component has been modified so that the position of a function in the list can now be changed by dragging the function up or down the list with the left mouse button. * Configuration parameters have been added to allow the FuncPlotter applet to display specified functions when it starts up. ======================================================================== FuncPlotter 1.10 (Requires Java version 1.5) ------------------------------------------------------------------------ Bug fixes: * In versions 1.8 and 1.9, after opening a file or files using drag-and-drop, the File > Open command would just reopen the same file(s). This bug has been fixed. ------------------------------------------------------------------------ Other changes: (None) ======================================================================== FuncPlotter 1.9 (Requires Java version 1.5) ------------------------------------------------------------------------ Bug fixes: (None) ------------------------------------------------------------------------ Other changes: * A new configuration parameter, appearance.backgroundColour, has been added, primarily to allow an applet to have the same background colour as the page in which it is included. * The names of two configuration parameters have changed: general.lookAndFeel has become appearance.lookAndFeel, and general.orientationByLocale has become appearance.orientationByLocale. The reason for the change is to make the names consistent with the corresponding parameters in other projects -- sorry for the inconvenience. * Configuration parameters that specify colours can now have the HTML/CSS hexadecimal form, "#rrggbb" or "#rgb", as well as the comma-separated RGB form. * The app.configPath configuration parameter now supports the use of special constructs (see Appendix A of the manual) when used as an applet parameter, if the parameter value is a URL with a "file" scheme. (This feature was not implemented in previous versions, although the manual falsely claimed that it was.) * Some cosmetic and minor behavioural changes to the UI. ======================================================================== FuncPlotter 1.8 (Requires Java version 1.5) ------------------------------------------------------------------------ Bug fixes: * Menus are now updated when a different tabbed window is selected. * The pop-up menu is displayed on systems that use a right mouse button press (rather than a button release) to activate pop-up menus. ------------------------------------------------------------------------ Other changes: * An undo/redo facility has been added: changes to the functions or intervals of a document can now be undone and redone. The general.documentChangedIfIntervalChanged configuration parameter has been removed. * A facility has been added to create and edit a comment that is saved with a document. * If the plot panel has keyboard focus, it is now indicated by changing the colour of the panel's border rather than by changing the colour of its margin, which was previously referred to, misleadingly, as its border. The existing configuration parameter, plot.focusedBorderColour, is now used for the border, and a new configuration parameter, plot.imageMarginColour, specifies the colour of the margin when exporting an image of the plot. ======================================================================== FuncPlotter 1.7 (Requires Java version 1.6) The documentation for this release wrongly claims that it requires Java version 1.5. ------------------------------------------------------------------------ Bug fixes: (None) ------------------------------------------------------------------------ Other changes: * In application mode, FuncPlotter now has a tabbed document interface. ======================================================================== FuncPlotter 1.6 (Requires Java version 1.5) ------------------------------------------------------------------------ Bug fixes: (None) ------------------------------------------------------------------------ Other changes: * A Show Full Pathnames option has been added to the Window menu, and a corresponding parameter, general.showFullPathnames, added to the configuration. The option controls whether the full pathname of the current document or only its filename is displayed in the title bar of the main window. * The Save Configuration command in the Preferences dialog now behaves in a straightforward manner. Previously, the command saved the configuration that was in effect when the dialog was opened; now, the command updates the configuration with any changes that were made since the dialog was opened, saves the configuration, then closes the dialog. ======================================================================== FuncPlotter 1.5 (Requires Java version 1.5) ------------------------------------------------------------------------ Bug fixes: (None) ------------------------------------------------------------------------ Other changes: * The plot panel can be scrolled by holding down the left mouse button and dragging. * Text fields in the Preferences dialog have been replaced by spinners. A spinner enforces the bounds of a parameter value, removing the need for an "out of bounds" error message. ======================================================================== FuncPlotter 1.4 (Requires Java version 1.5) ------------------------------------------------------------------------ Bug fixes: * An exception is no longer thrown when an attempt is made to paste a bogus URL into the Directory field in the Preferences dialog. (The Java implementation for Windows has a bug/feature that, when text is copied from a text field to the clipboard, denotes the text as a URL.) ------------------------------------------------------------------------ Other changes: * A default location for the configuration file has been introduced: there are now three possible locations for the configuration file when FuncPlotter is run as an application. If there a system property with the key app.configPath, FuncPlotter looks for a configuration file in the directory specified by that property; otherwise, it looks for a configuration file in the current working directory ($PWD on Linux/UNIX platforms) before trying the default directory, which is ${user.home}/.puckfist/funcplotter, where ${user.home} is the user's home directory ($HOME on Linux/UNIX platforms). If the configuration has changed when you exit the application, a configuration file is written to the location from which one was read at startup, or, if no configuration file was read, to the default directory. ======================================================================== FuncPlotter 1.3 (Requires Java version 1.5) ------------------------------------------------------------------------ Bug fixes: * When a document is saved as a text file, it is written using the UTF-8 charset rather than the default charset for the platform. (As all the characters in a text-format document written by FuncPlotter are in the Unicode range U+0000..U+007F, this shouldn't make any practical difference.) ------------------------------------------------------------------------ Other changes: * A leading '~' in pathnames in the function.directory parameter and the app.configPath property is expanded into the current user's home directory (ie, $HOME in UNIX systems). * A new configuration parameter, general.showUnixPathnames, controls whether pathnames are displayed by FuncPlotter in their platform-specific form or in a reduced "UNIX style" in which pathname components are separated with '/' and the user's home directory at the start of the pathname is replaced with '~'. * The command to save a configuration file has moved from an item in the Options menu to a button in the Preferences dialog box. * User-initiated file operations (eg, opening and saving documents) are now performed in a separate thread, and the progress of the file operation is shown in a dialog box. * The user interface has been prepared programatically for locales that are associated with languages that have a horizontal, right-to-left orientation (eg, Arabic, Hebrew). This is intended to facilitate the translation of FuncPlotter into right-to-left languages. However, as the text displayed by FuncPlotter is currently hard-coded in English, using the program in right-to-left locales would merely have the undesirable effect of reversing the layout of components in the GUI, so a configuration parameter, general.orientationByLocale, controls whether the orientation of components is dependent on locale. If this parameter has its default value of "no", FuncPlotter ignores the locale when laying out components. ======================================================================== FuncPlotter 1.2.1 (Requires Java version 1.5) ------------------------------------------------------------------------ Bug fixes: (None) ------------------------------------------------------------------------ Other changes: * When the value of the app.configPath system property is parsed, system properties enclosed between "${" and "}", eg, ${user.home}, are resolved. Environment variables prefixed by "env." and enclosed between "${" and "}", eg, ${env.HOME}, are also resolved. This allows system properties and environment variables to be used in specifying the location of the configuration file. The ability to resolve environment variables has been added to the function.directory configuration parameter, which previously resolved only system properties. (The prefix for environment variables can be changed on the command line with the app.envPrefix property.) * One or more files can be loaded automatically on startup by specifying the pathnames of the files as arguments in the command line that launches the FuncPlotter application. * Drag-and-drop opening of files now works with URI lists such as those generated by the Nautilus file browser on the GNOME desktop. ======================================================================== FuncPlotter 1.2.0 (Requires Java version 1.5) ------------------------------------------------------------------------ Bug fixes: (None) ------------------------------------------------------------------------ Other changes: * An XML document type has been added in order to standardise FuncPlotter's document format. Documents in both the new and the existing formats are supported, and you can choose between the two formats when you save a document. * The structure of the configuration file has been changed by moving previously ungrouped parameters into a element. The names of the corresponding configuration parameters that can be specified as command-line properties or applet parameters have changed in an equivalent manner. The changes to parameter names are as follows: lookAndFeel -> general.lookAndFeel newDocumentOnStartup -> general.newDocumentOnStartup documentChangedIfIntervalChanged -> general.documentChangedIfIntervalChanged saveFunctionColours -> general.saveFunctionColours mainWindowLocation -> general.mainWindowLocation * The lg (logarithm base 10) operator now uses the java.lang.Math.log10 method that was introduced in JDK 5. ======================================================================== FuncPlotter 1.1.2 (Requires Java version 1.5) ------------------------------------------------------------------------ Bug fixes: * In applet mode, the function dialog is displayed when an "Add" or "Edit" command is issued. (Severe bug introduced in 1.1.1 -- ouch.) * In application mode, an attempt to save a modified, unnamed (ie, previously unsaved) file when the file is closed no longer results in a "Failed to create a temporary file" error. ------------------------------------------------------------------------ Other changes: * The right mouse button can now be used to select functions in the function list, allowing the selection of a function and the display of the context menu for that function to be performed with a single mouse button press. * A "Copy" command has been added to the function buttons and the function context menu to allow a function to be copied to the system clipboard. * The colours of the current functions are available for selection in the function dialog box. * The option to save the colours of the functions in a document has been moved from the document to a global configuration parameter. * Ellipses have been added to command text where required by convention. ======================================================================== FuncPlotter 1.1.1 (Requires Java version 1.5) ------------------------------------------------------------------------ Bug fixes: * The title and menus of the main window are no longer updated after every file modification check (at 500-millisecond intervals). * When the number of errors reported in the error list dialog box exceeds the maximum (20), the correct number of errors is displayed in the title of the dialog. ------------------------------------------------------------------------ Other changes: * The default function directory field in Preferences now allows directories to be dragged and dropped on to it. System properties -- in the form "${}"; eg, ${user.home} -- are now recognised in the pathname. * The location of the function dialog box is saved between invocations. Within the dialog, the Paste button is enabled and disabled according to the contents of the system clipboard. ======================================================================== FuncPlotter 1.1.0 (Requires Java version 1.5) This version is essentially the same as version 1.0.0 except that it has been converted to use the new Java language features that were introduced in J2SE 5. ------------------------------------------------------------------------ Bug fixes: (None) ------------------------------------------------------------------------ Other changes: (None) ======================================================================== FuncPlotter 1.0.1 (Requires Java version 1.4) ------------------------------------------------------------------------ Bug fixes: * The title and menus of the main window are no longer updated after every file modification check (at 500-millisecond intervals). * When the number of errors reported in the error list dialog box exceeds the maximum (20), the correct number of errors is displayed in the title of the dialog. ------------------------------------------------------------------------ Other changes: (None) ======================================================================== FuncPlotter 1.0.0 (Requires Java version 1.4) Initial release. ========================================================================