
Oct. 18, 1995 v. 1.00
===========================================================================
    + First release of CurveExpert 1.0.



Oct. 26, 1995, v. 1.01
===========================================================================
  New Features:
    + More attractive help file, with more keywords for searching
    + new help search facility available directly from CurveExpert
    
  Bug Fixes:
    + If a polynomial was already calculated, selecting another 
      polynomial of a differing degree incorrectly pulled results 
      from the cache instead of recalculating the curve fit. Fixed.
    + running two versions of CurveExpert is prevented, since two 
      simultaneous instances cause stack faults.
    + if the data set is sorted, all interpolations are now marked invalid
      as they should be.
    + "Apply to All" did not necessarily force the current attributes
       of a graph to the current graph (only if the user clicks OK). Fixed.
    +  The scrollbar did not get reset to the top when the user read in
       a new data file.  Fixed.
    +  The structure of the code has been undergone some major changes to
       ease porting to Windows 95 and Windows NT.  I was exceedingly 
       careful, but I hope this didn't introduce new bugs! :-)
    +  For some reason, the help file didn't have any single or double
       quotes in it.  This has been corrected, so it is now easier to read.
    +  The help file was not terminated when CurveExpert was.  Fixed.
    +  The Window and Help menus were moved to more conventional positions
       on the menu bar.
  
  



Nov. 4, 1995, v. 1.10:
===========================================================================
  New Features:
    + Previously undocumented logical functions can be used in the
      user-defined models.  See the help documentation.
    + Current filename now appears in the title bar.
    + QuickCalc has been expanded to find the x-value, given the
      y-value.
    + Optimizations have been applied to many routines, making
      the user interface more responsive and the algorithms quicker.
      
  Changes:
    + File reading system has been revamped.    
    + the color scheme on all windows now conforms strictly to the user
      defined system colors.
    + Dialogs were expunged of all Borland controls (except for buttons)
      since they conflicted with user defined color schemes.
    + The QuickCalc dialog now automatically shifts focus back to the
      edit control and selects all text after the OK button is pushed.  
      This makes it easier to calculate many points at a time.
  
  Bug Fixes:
    + pressing the tab key to force the built-in spreadsheet sometimes
      added points onto the end of the data set.  Fixed.
    + If a graph window was closed and then reopened (except after a
      CurveFinder operation), the comments in the Graph Info dialog 
      were not correct.  Fixed.
    + The Cut Last Row/Undo pair now functions properly.
    + The the graph of a polynomial fit would be reset if the data was
      changed in the data window.  Fixed.
    + The scaling procedure did not grab the latest data out of the 
      data window's edit control if it was active, resulting in one
      point not being scaled or translated.  Fixed.
    + A constant starting with a decimal (eg, .25) caused CurveExpert to
      bomb (when defining a user model).  This has been fixed so that 
      these constants are accepted.
    + A comma-delimited data file was not read correctly.  A new file
      reading system was implemented to read files with any type of 
      (unspecified) delimiter between the data columns
    + if a data file was not read correctly, the filename in the status bar    
      showed the unreadable file instead of the previous file.  Fixed. 
    + the common dialogs (file open/save, print) did not accept keystokes
      until after they were clicked with the mouse, which makes it 
      terribly hard for non-mouse users.  Fixed.
    + If the current path was changed from CurveExpert, the help file was
      not found.  Fixed. 


Nov. 9, 1995, v. 1.11
===========================================================================
  New Features:
    + the data point markers on graphs can now be changed to filled or
      unfilled circles, squares, triangles, pluses, or crosses.
       
  Changes:
    + Small optimizations made to the speed of the user interface
    + The main window is now fully resizable
    + The position and size of the main window is saved on exit and
      restored the next time CurveExpert runs
  
  Bug Fixes:
    + Whoops!  The new file reading procedure masked out all minus
      and minus signs in the data, so that numbers like -10 and 10e-3 
      were not read correctly.  Fixed.
    + the exception reporting dialog box did not properly draw the
      exclamation point's background, which should match the dialog
      color.  Fixed.
    + the single-precision version still read files incorrectly
      sometimes. Fixed.
    + the initial guess dialog sometimes opened unconditionally on 
      the next fit performed after a CurveFinder evaluation.  Fixed.



Nov. 13, 1995, v. 1.12
===========================================================================
  New Features:
    + Differentiation and integration of a calculated curve fit is
      now supported, similar to the implementation of QuickCalc.  
      
  Changes:
    + If background processing is enabled, during iteration the cursor
      is a combined arrow/hourglass to inform the user that he/she can
      still perform operations.
    + editing points in the spreadsheet is now prohibited while any
      iteration is taking place.
    + Drawing of data points on a graph is internally clipped if it
      is outside of the graphing window.  This allows for faster
      graph drawing if many points are outside of the graph pane.
    + A separate set of application-wide defaults are maintained for
      the single-precision and double-precision versions (registered
      version only)   

  Bug Fixes:
    + Periods by themselves in the user models were parsed as the value
      zero instead generating a syntax error.  Fixed.
    + A plot that was copied to the clipboard failed to "clip" data 
      points that were outside of the graphing pane, resulting in points
      being drawn outside of the intended area.  Fixed.
    + The information button on a graph window would sometimes disappear
      if a window was sized smaller.  Fixed.
    + After copying a plot to the clipboard, the current graph resolution   
      was incorrectly reset to 1.  Fixed.
    + Extremely small parameter guesses were not allowed in the parameter
      guess dialog, since its precision was limited to six places.  Fixed.
  
 
   
 Nov. 25, 1995, v. 1.13
=========================================================================== 
  Changes:
    + The data manipulation tools have now been merged into one
      organized, tabbed dialog.
    + The model analytical tools have now been merged into one
      organized, tabbed dialog.
    + Cascading a large number of windows would sometimes result in some
      windows being moved off of the screen.  Now, the cascade restarts
      at the top left if a window might be moved off-screen.
    + The built-in models have been reordered so that operations such
      as calculations and window manipulations naturally fall into a
      grouped arrangement.
    + the graph autoscaling algorithm has been rewritten to be more
      reliable
    + The info button on the graphing window has been changed and moved
      to be less obtrusive.
    + sizing restrictions on the graphing windows have been removed.
    
  Bug Fixes:    
    + Whoops!  Another problem with the file reading engine caused
      columns starting with a negative number to be discarded.  Fixed.
    + Entering a user model with no parameters was allowed when it
      shouldn't have been.  Now, a syntax error is generated.   
    + the Window|Tile command sometimes worked strangely if graphing
      windows had been closed prior to invoking it.  Fixed.
    + the Window|Cascade command did not properly cascade windows
      that were minimized.  Fixed.
    + the last tick and label sometimes wasn't shown on the x/y axes of
      plots.  Fixed.
    + the implementation of filled points didn't produce a filled 
      entity for the circle or triangle when printed.  Fixed.
    + The user was still asked whether to save a file or not upon exiting,
      even if the file had just been saved.  Fixed.
    + CurveExpert will now run even if ctl3dv2.dll is not found.
      
      
 Dec. 2, 1995, v. 1.14  (Shareware Only)
=========================================================================== 
   Bug Fixes:
    + Graph Attributes/Graph Scaling Dialogs were not initialized
      properly in the Shareware version.  Fixed.

 

 Dec. 31, 1995, v. 1.15 (Not Released)
===========================================================================
   Changes:
    + Sometimes, resizing a graph would result in the line width being drawn
      incorrectly (not the user-specified line width, screen only).  Fixed.
    + delayed rendering of plots is now supported, to greatly increase
      drawing performance with user model plots and/or plots with a large
      number of data points
    + (registered only) the single precision package has now been optimized
      for single-precision arithmetic
    + the directions on the graph window are now removed if they will be 
      collide with the error information.  This leads to cleaner plots, 
      especially with small graphing windows.

   Bug Fixes:
    + if one minor tick was selected (on either axis), there was a chance that
      one too many tick labels would be printed.  Fixed.
    + some stray (and inappropriate) directions were left on the differentiate
      and integrate dialogs.  Removed.

Jan. 14, 1996, v. 1.20 
===========================================================================
   New Features:
    + many new graphing features and easier-to-use graphing properties
      interface has been added
    + the covariance matrix and residual plot are now available in the 
      revamped information dialog
    + much faster nonlinear regression performance over version 1.1 (between 
      17% to 45% improvement in speed, depending on the number of parameters)

   Changes:
    + each graphing window no longer appears in the Win31 tasklist; and
      each window no longer shows up in the Win95 taskbar.
    + weighting values by 1/y^2 during nonlinear regression is now
      implemented

 

Jan. 25, 1996, v. 1.21 
===========================================================================
    Bug Fixes:
    + the equation bitmaps in the initial guess and/or information dialog
      did not update properly at times.  Fixed.
    + if the ctl3dv2 module could not be loaded, the info dialog GPF'ed
      when opened.  Fixed.


March 5, 1996, v. 1.22
===========================================================================
    New Features:    
    + the Preferences dialog has been revamped, with many new user-
      defineable options added for printing, regression/math options,
      and application options.
    + added right-click menus to all main window regions

    Changes:
    + The limitation of two-line titles in metafiles has been removed.
    + new and improved debugging console with a nicer appearance and
      more information.  Necessary because of the ongoing port to Win32.
    + a button that coordinates the foreground (frame) color and the
      text colors was added to the graph properties dialog
    + the ability to draw grid lines at each minor tick mark was
      added
    + drag-and-drop from the file manager to CurveExpert is now
      supported
    + data information dialog box was widened to accommodate large 
      numbers.
    + a new and much faster data clipping algorithm is now used
    + clipping and sorting operations now take place in the background,
      instead of hogging the CPU
    + two new symbols added to the graphing properties dialog

    Bug Fixes:
    + if the "Weight by Y^2" option was turned on, the results of
      nonlinear regression were likely to be a local minima or not
      converge at all.  Fixed.
    + It was not possible to put a single percent sign in an axis label  
      without typing '%%' in the axis label edit field.  Fixed.
    + if the graph extents were set just right on the x or y axis, then
      one grid line would not draw.  Fixed.
    + if the main window was minimized when CurveExpert was exited,
      the window was not restored to the correct position the next time
      CurveExpert was run.  Fixed.
    + a GPF occurred if a data set with over 8192 data points was
      sorted.  Fixed.
    + corrected an erroneous reading of the allocated memory (in bytes) 
      that occurred if the quadratic fit was ever used.
    + if a residual table of an extremely large data set was copied to
      the clipboard in the info dialog, a GPF occurred.  Fixed.
    + if a large data file with very large numbers was read, the first
      examination of that file would cause a program abort due to an 
      overflow.  Fixed.


May 20, 1996, v. 1.23
===========================================================================
    New Features:    
    + 32 BIT VERSION FOR WINDOWS 95 AND WINDOWS NT RELEASED!
    + added x/y averages, minima, maxima, and standard deviations to    
      the variables available for custom regressions
    + added the capability to swap the x and y data
    + (32 bit only) new tooltips feature gives quick access to a toolbar
      button's function

    Changes:
    + All BWCC controls have been removed, and as a result, several
      dialogs were redesigned.  This gives a more consistent feel to
      the application, eases the port to Win32, and frees CurveExpert
      from having the BWCC.DLL library distributed with it.
    + (16 bit only) draws the missing line between the toolbar and menus
      if running under Windows 95.
    + added code to properly shut down CurveExpert if the user logs off
      while it is running.
    + fit type has been added to the caption of a residual plot window
      to make it clear where the window originated.
    + even if no changes were made to the graph from the Graph Properties
      dialog, the plot was re-rendered.  Now, a check is made to see if
      any changes were made to determine if the graph should be redrawn.
    + the help file has undergone some formatting changes and additions
    + support for multiple-copy printouts was added

    Bug Fixes:
    + the table-generation and export-file mechanisms printed all zeros
      if a number was too small.  Fixed.  Now, the numbers are printed
      properly in exponential format.
    + the Preferences dialog would cause a program abort if no printer
      was installed.  Fixed.
    + the function that draws the graph title had a potential memory
      leak.  This would manifest itself also in the Residual page from
      the information dialog.  Fixed.
    + the path field in the application preferences dialog would not allow
      horizontal scrolling, so the user was limited to a short data file
      path name.  Fixed.
    + the ranking chart would sometimes get corrupted during a CurveFinder
      operation on a small data set (at unpredictable times).  Fixed.
    + the underline style was ignored if it was specified for a font that
      would appear on a graph.  Fixed.
    + a memory leak that caused a "floating point error" in the lagrangian
      interpolation routine was fixed
    + if a x or y axis label contained more than 50 characters, a
      subsequent display of the plot would cause a crash.  Fixed.


June 2, 1996, v. 1.24
===========================================================================
    Changes:
    + when the 32-bit version opened a help file under Win32s, it went
      straight to the help file contents.  Now, it opens the help file
      contents dialog box.
    + while reading a file, the progress is reported in the status bar

    Bug Fixes:
    + under Windows NT, all of the tabbed dialog boxes (preferences,
      graph properties, graph analyze, graph information) were blank.
      Fixed.
    + the history (dump) file did not have the last iteration written
      to it if the iteration converged.  Fixed.
    + CurveExpert might not detect that it is running under Win32s
      correctly.  Fixed.
    + if a line in a data file started with a +, it was not recognized
      as a number. Fixed.
    

November 7, 1996, v. 1.30
===========================================================================
    New Features:
    +  uncertainties (standard deviations) in each data point can now
       be used
    +  built-in spreadsheet facility has been enhanced -- now looks
       and behaves *much* more like a spreadsheet
    +  spreadsheet facility has multilevel undo/redo capability
    +  cut/copy/paste of ranges in the built-in spreadsheet and between
       other spreadsheets (Excel, Quattro Pro, etc.) is now implemented
    +  enhanced file import facility gives more flexibility for
       reading data files
    +  a most-recently-used file list is maintained in the File menu
    +  [32-bit, '95 interface only] Internet-aware links in the Help
       menu directly access the CurveExpert home page(s)

    Changes:
    +  the splash screen is now drawn in the correct user-defined
       color, instead of being hard-coded to light gray.
    +  the graphs now comply with the user-defined color scheme
       unless set explicitly by the user.
    +  there is no longer any limit on the number of data points that
       can be entered manually (previously 100)
    +  the main window now responds appropriately when certain system
       settings change, such as the scroll bar width
    +  more info was added to the debugging facility
    +  the status bar now shows what degree of polynomial is being
       computed
    +  some menu items have been rearranged to form a more consistent
       user interface
    +  if the file is modified, an asterisk appears beside the filename
       in the title bar; when the file is saved, the asterisk is removed
    +  typing a title in the "Graph Properties" dialog now automatically
       deselects the "Show Header" checkbox.

    Bug Fixes:
    +  certain curve fits were turned off when they shouldn't have been
       if zeros or negatives existed in the x data.  Fixed.
    +  strange "NAN"s would occasionally appear in the released 32-bit
       version.  This was due to a Microsoft optimizer bug; a workaround
       has been implemented.
    +  On Windows NT, if a table file was to overwrite an already existing
       file, CurveExpert would terminate.  Fixed.
    +  if a two-column data file had a one-column entry later in the
       data file, CurveExpert would crash.  Fixed.
    +  an internal error that might cause a termination while using the
       CurveFinder was fixed
    +  CurveExpert would crash soon after invoking the preferences dialog,
       if the polynomial window was open and the degree in it did not
       match the selected degree in the preferences dialog
    +  the CurveFinder tool now correctly handles polynomial calculations
       when the Polynomial family is selected
    +  if a data set line began with spaces or tabs, it could be
       misinterpreted as having one more column than it did.  Fixed.
    +  the help button for the ArcLength page in the "Analyze Graph"
       dialog did not work.  Fixed.
    +  the new-style help is now used unter Windows NT 3.51 by default
    +  if a malformed file was attempted to be read, the toolbar
       was (mistakenly) reenabled anyway.  Fixed.
    +  various and sundry misspellings, typos, and formatting errors have
       been corrected in the on-line documentation.


November 18, 1996, v. 1.31
===========================================================================
    Changes:
    +  [32-bit only] Bessel functions of first and second kind
       added to available user model functions
    +  ceil and floor functions added to available user model functions

    Bug Fixes:
    +  [32-bit only] When installing to a WinNT 3.51 platform. no
       Program Manager group and icons would be created unless the
       user was the administrator.  Fixed.
    +  [16-bit only] If a math error occurred and was handled in
       CurveExpert and 3d dialogs were being used, dialogs became
       transparent and unusable until CurveExpert was restarted.  Fixed.


