See the patch release page for details on
changes made since the initial release of version 2.0.

- Limited support for graphing relations with multiple instances of both x and y variables. This is done by performing implicit differentiation with respect to both variables and plotting the resulting ODE.
- New, improved Point Evaluate dialog box allows you to:
- Select a different equation than the current one to evaluate
- Solve Cartesian functions for x as well as y

- New Find Intersection dialog box, which allows you to select two Cartesian functions of the same variable and display either all points of intersection on the screen or the intersection closest to a guess you provide.
- Added support for user defined functions. Use the Functions dialog box (Tools/Functions menu item) to define as many single-variable helper functions as you want. You can define functions in terms of the variable x or t, and give them any name them that does not conflict with built-in variables or function names.
- Data plotting added. Use View/Data Plot Editor to enter any number of x-y data sets.
- Also added curve-fitting using polynomials (up to 9th order), sinusoidal, or exponential curves using the Levenberg-Marquardt algorithm.
- Added Draw Tangent Line dialog box which, like the Integrate Curve dialog box, allows you to type in values rather than selecting an equation and tangent point with the mouse. Also added a "sticky" tangent line mode, which allows you to keep drawing tangent lines as long as you keep clicking on curves.
- Consolidated most options screens into 2 tabbed dialog boxes, and revamped menus to remove commands that were no longer needed, plus some rarely-used items that can be accessed through the Settings dialog box.
- Converted to implicit-save model for default settings (but you now must explicitly set the default for grid range and graph paper).
- Added context-sensitive popup menus when you right-click on the grid, graphs, graph labels, and point tables.

- Added support for decimal separators other than "." based on your Windows control panel settings. If your settings indicate you prefer a different decimal separator (say ",") then all constant values input and output by the program will use this separator.
- Added AutoRange feature to reset the range automatically when you enter a new graph to ensure that all Cartesian functions are displayed on-screen.
- Added control over number of decimal places used in Point tables to options dialog and fixed a problem where numbers in scientific notation were getting formatted with fewer decimal places than requested.
- Made the Edit/Copy Graphs EMF function recalculate the graphs at maximum possible screen resolution. This should improve the quality of graphs copied and printed from Word.
- Added two options to improve accessibility for visually-impaired users: You can now specify the width of curves when "Draw graphs with wide lines" is checked in the general settings dialog. The default is 2 pixels, but you can increase it to make lines even bolder. In addition, you can set "gridlinewidth" in the graphmat.ini file to increase the width of grid lines and the axes.
- Increased maximum width of axis labels from 7 to 25 characters.
- The Point Tables window now uses a grid control based on "BabyGrid" by David Hillard rather than a standard listbox. This makes for much neater display of data (right-aligned numbers, resizable columns, etc.). In addition, the Point Tables window can now be resized and has a system close menu.
- Last directory used in File Open/Save dialog boxes is now remembered.
- Improved Windows shell integration: .GR files are added to the Documents menu when opened, and the program opens files dragged from Explorer.
- Coordinate cursor is now always on except when it would interfere with display of important info (selected range, tangent line/integral info) in the status bar. However, you must still enable the coordinate cursor tool to gain keyboard control over the crosshairs.
- Added 2 integration methods: left-hand sums and right-hand sums.
- The equation of tangent lines is now displayed in the Printout window along with the point and slope.
- Added support for printing integral and tangent line information.
- Added support for graphing highest-order derviative in custom ODE mode (e.g. {vars:t,dx} graphs t vs. dx/dt for a first-order ODE).
- Added rand(n) function which generates a random number between 0 and n.
- Added "color-code" checkbox to print dialog box. This will print equations in the same color as their corresponding graphs when checked.
- Swapped out yellow for "dark yellow" in the white color scheme, since yellow was virtually invisible when printed.
- Improved High-Resolution Printing: gridline and axis thickness is now scaled up based on printer resolution so they are more visible at 600dpi.
- Added fine-tuning parameters for automatic legends and grid spacing, as well as manual control over grid spacing.

- Fixed a bug which caused flow fields (ODEs without initial values) to graph incorrectly when the aspect ratio of the grid was not square.
- Fixed a bug with the graph "y=int x" which prevented the graphing loop from terminating.
- Fixed an annoying bug which sometimes caused the selection to be cleared or displayed inappropriately when you switched windows after selecting a portion of the grid to zoom in on.
- When saving and loading a .gr file, equations are now restored with the same color they originally had. Also, they are restored in the same order as they appeared in the queue at save time, rather than backwards.
- Fixed bug with specifying the domain as {y:...} for functions of y.

kSoft, Inc. ksoft@graphmatica.com Last updated: Sat 26 May 2012