# Change Log

Enhancements and bug fixes introduced in each Sparky version are listed below.

## Version 3.105
January 21, 2002

## Version 3.106
February 19, 2002

pipe2ucsf bug fix | Fixed bug where pipe2ucsf produced PPM referencing off by 1 data point from NMRDraw.

Removed license verification | Took out code checks trial licenses.
Code documentation | Improved compilation instructions and included readme-code.html describing the source code for developers.

## Version 3.104
December 18, 2001

Python 2.1 | Switched from Python 1.5.2 to Python 2.1.1. Also upgraded from Tcl/Tk 8.0.5 to Tcl/Tk 8.3.4.
Mac OS X version | Compiled Sparky on Mac OS 10.1 with X server.
Chimera interface | Updated Sparky interface to molecular graphics program Chimera to work with latest Chimera.

## Version 3.103
November 12, 2001

Spaces in path bug | Fixed bug where spaces in path to NMR data or Sparky session files caused loading data to fail.
Peak assignment labels | Added commands to add (lb) or remove (lB) assignment labels from selected peaks.

## Version 3.102
October 9, 2001

Spectrum rename | Can change spectrum and view names used in menus with the spectrum settings dialog (st).
Renumber view command | Change a spectrum view name to use the lowest available suffix number with the renumber view command rv. If only one view of a spectrum exists then it will have no suffix number. This allows you to get rid of the pesky "/1" in "noesy_100ms/1" if you only have one view.
Printing 4D spectra | Fixed a bug that produced illegal Postscript when printing a 4D spectrum.

## Version 3.101
August 28, 2001

Spectrum region RMSD | Added command (rm) to show mean and rmsd values for a spectrum region selected with the mouse.
Python region selection notice | Added region selection notice to Python interface. Provides callback when user drags a box in a spectrum with the mouse.
Crash when quitting | Fixed a bug that caused core dump when quitting. Happened when a Python extension registered a callback with the C++ Sparky module.

## Version 3.100
June 14, 2001

AutoAssign interface | Added "write peak lists" and "read shifts" buttons so Sparky interface can be used while running AutoAssign manually with its native interface.
Spectrum overlays | Fixed bug in spectrum overlay dialog where pressing remove button always removed first overlay in list instead of the selected overlay.
Spectrum overlays | Allowed choosing multiple overlays in spectrum overlay dialog for removing more than one overlay at a time.
Peak delete bug | Fixed bug where selecting a peak, pressing mouse button on it, hitting delete, and then lifting mouse button caused Sparky to crash.

## Version 3.99
June 6, 2001

Strip plots | Made strip plot vertical scrollbar allow scrolling to cover strip with largest ppm range.
Warning dialogs | Made destroying warning dialog invoke a default choice.
Peak volume | Added initialization in Peak constructor for mFitResidual.
Python peak volume | Made peak volume, volume_method, and fit_height python attributes settable.

## Version 3.98
Feb 15, 2001

pipe2ucsf | Fixed file is smaller than expected error message to show correct file and expected sizes.
Duplicate save files | Fixed bug that occured if project contained save file twice. Spectrum would be unloaded leaving view creation parameters pointing to deleted spectrum.
Reposition sequence | Made move button move partially assigned peaks.
Contour redraw bug | Added code to work around a gcc 2.95.2 PC linux compiler bug that caused the same tile to be continuously redrawn. Added comments about 80 bit Intel x86 FPU problems.
Slices | Made slice not update if pointer just moves along current slice. Made slices update when z-plane changes.
Memory bug | Fixed bug where spectrum data memory cache immediately freed large spectrum blocks right after they are allocated. Locked element being added to cache so it can not be freed in the add_to_cache() call.

## Version 3.97
Dec 12, 2000

Sweep width | Added interface to specify sweepwidths in spectrum settings dialog (st). Made peak alias commands use new spectrum sweepwidth parameter. Made resonance panel aliasing use new spectrum sweep_width parameter. Added sweep_width attribute to Python Spectrum class which can differ from spectrum width. Updated Python extensions to use sweep_width for aliasing.
Undo bug | Fixed bug undoing peak delete after spectrum has been closed.
Assignment graph | Made selecting atom with no expected peaks not produce an error.
HCPeaks | Added assignments to new peaks and checked for already existing assigned peak.
Spingraph assigner | Fixed HNCACO expected peaks to include both i and i-1 CO.
matrix2ucsf | Added program matrix2ucsf to convert an array of floats to a UCSF format spectrum file.
Z plane step | Added zu, zd commands to move downfield or upfield one plane.
AutoAssign on Windows | Noted in manual that AutoAssign interface does not work under Windows. Unable to use fork() to start AutoAssign server and client.
Strip plots | Cleaned up add selected peak strips code.
Memory allocation fix | Made new request for 0 bytes return non-zero pointer.
Chimera molecule view | Fixed bug where selection handler was registered many times. Fixed undefined references to chimera.
Read peak list | Recognize lower case atom names (h, c, n) in splitting group from atom. Changed split_group_atom() in sputil.py to allow lower case atom names.
sputil.py warn() | Eliminated unused and broken warn() routine.

## Version 3.95
July 14, 2000

Changes before this release not recorded.

## Dates for some earlier releases

Version | Date
--- | ---
3.91 | May 1 2000
3.87 | Mar 3 2000
3.85 | Feb 29 2000
3.76 | Nov 15 1999
3.74 | Oct 21 1999
3.72 | Oct 14 1999
3.66 | Mar 4 1999
3.64 | Jan 26 1999
3.62 | Nov 17 1998
3.58 | Sep 14 1998
3.37 | Nov 18 1997
3.21 | Jun 24 1997
3.3 | Mar 3 1997