========== OOMMF 1.1b2 released 2004/01/15 ==========
Significant changes since 1.1b1:

  * Expanded Tcl/Tk and platform support
	- Support for Tcl/Tk releases up to 8.4.5, and ActiveTcl distributions
	- Support for the Mac OS X 10.3 (Panther) system with X11
	- Support for Debian variations of Tcl/Tk config files.
	- Support for xlC compiler on AIX system
	- Support for COMPAQ cxx compiler on Alpha systems
	- Support for Intel icl compiler on Windows systems
	- Support for Borland bcc32 compiler on Windows systems

  * Bug fixes
	- mmProbEd: corrected several flaws dealing with space in file names.
	- mmSolve: correct save/restore of interp result by callbacks
	- pimake: corrected generation of include paths, excluding system paths
	- All apps use exit handlers for cleaner deregistration 
	- More robust creation of temporary files to avoid races
	- Fixed corruption of binary ovf files written to stdout on Windows
	- Improved display of many error messages.
	- Troublesome conflicting filenames changed (port.h, list.h, etc.)
	- Prevented numeric underflow from terminating calculations.
	- Improved safety using multiple Tcl interps

  * New/revised features
	- Default builds are configured for good performance optimization 
		on tested systems.  
	- any2ppm: New options -f and -format
	- any2ppm: Now nearly complete image format converter program,
		when suitable image format support packages are installed
	- avf2ppm: Support autosample and datascale configuration
	- avf2ppm: At least one input file now required
	- batchsolve: OOMMF root directory included on MIF file search path
	- mmGraph: Improved scaling of flat graphs
	- mmhelp: default font size is configurable option
	- mmhelp: new File->Open menu option
	- mmLaunch: revised layout of Threads column
	- mmProbEd: New part shape: Ellipsoid
	- mmSolve: support for approximate thickness variation in 2D solver
	- mmSolve: new part shapes: ellipsoid, pyramid
	- oommf (bootstrap): new +out and +err options allow capture of
		stdout and stderr of application to files.
	- pimake: [Platform Intermediate] supports cleanup of some
		intermediate files generated by linkers
	- pimake: New -out option for capturing output
	- pimake: New -def option to [Platform Compile]
	- Nb: Nb_GetColor(): support for configurable color names (mmDisp)
	- Oc: Oc_Snprintf() and Oc_UnifRand().
	- Oc: Support for Tcl_SaveResult(), etc.

========== OOMMF 1.1b1 released 2001/10/02 ==========
Significant changes since 1.1b0:

  * Expanded Tcl/Tk support
	- 8.3.3, 8.4a2, and ActiveTcl distribution
	- Many fixes in Tcl 7.x support

  * Bug fixes
	- mmdisp: buffer re-use problem
	- mmdisp: Data Scale bug
	- mmsolve: output file format fixes
	- mmsolve2d: check protocol only on ready threads
	- batchsolve: check protocol only on ready threads
	- documentation: updated HTML links
	- Nb: More protection from buffer overflows and FPEs
	- Net: Better recovery when account server not found
	- Better [uplevel] preservation of Tcl_Obj's (floating point numbers)
	- Removed most dependencies on Tk internals

  * New/revised features
	- odtcols: New app for extracting data from ODT files
	- oommf (bootstrap): removed senseless +console and +cwd options
	- oommf (bootstrap): +platform checks for threaded Tcl/Tk
	- omfsh: use Img instead of If, if available
	- mmdisp: removed unused old code
	- mmhelp: PNG image support if Img package present
	- mmhelp: Refresh of a page doesn't have to re-render it.
	- mmpe: passes through unrecognized fields
	- mmsolve: MIF file read errors now logged
	- mmsolve: log messages also reported via Oc_DefaultMessage
	- mmsolve: work around Tcl fconfigure bug in mask file conversion
	- Nb: Nb_IsFinite()
	- Net: host/account servers: Removed expiration timeouts.
	- Oc: tclIndex now generated on the fly.
	- Oc: Can write to console via C Tcl_Write to TCL_STDOUT
	- C++ exceptions assumed, override in config/cache.

========== OOMMF 1.1b0 released 2000/04/04 ==========
Significant changes since 1.1a2:

  * Expanded Tcl/Tk support
	- 8.3.0 
	- [fcopy] emulation in Tcl 7.x

  * New applications:
	- mag2hfield

  * Bug fixes
	- mmLaunch - launches mmarchive with -tk 0
	- apps failed when launched like sdf/sdf/../foo.tcl
	- Oc_DirectPathname now handles strange case when
	  [cd] into a directory succeeds, but [pwd] fails.
	- mmSolve2D: fixed logging of bad MIF input
	- mmHelp: bad line breaking near empty anchors

  * New features
	- mmGraph: displays two vertical axes
	- mmDisp: Data scale slider
	- omfsh: includes Nb extension
	- mmProbEd: default demagnetization kernel is now ConstMag
	- mmProbEd: oval part shape
	- mmSolve: raises error when cell size does not divide part size
	- pimake: user documentation; default target 'help'
	- host and account servers: die when app servers die.
	- some sanity checks/warnings in oommf.tcl +platform
	- shells given no scripts automatically display console

  * Incompatibilities with prior releases
	- Many command line options renamed for standardization.

  * General cleanup/improvements
	- All apps are now Tcl scripts evaluated by shells
	- All apps use common facility for command line processing
	- All apps now register their +fg/+bg and -tk preferences
	- Renamed .omfExport.tcl --> omfExport.tcl

  * New Oc extension features/incompatibilities
	- Oc_Config compiletime_* constants
        - New C++ APIs: Oc_Atan2()
        - Removed C++ APIs: Oc_AppendUsageInfo(), Oc_GetUsageInfo()
        - Removed Tcl commands: Oc_AppendUsageInfo, Oc_GetUsageInfo
	- New procs/methods: [$Oc_Config Features]
	   
  * New Nb extension features
	- New C++ APIs: Nb_RatApprox()
	- New Tcl commands: [Nb_Gcd] [Nb_RatApprox]

  * New Ow extension features
	- New Tcl commands: [Ow_IsPosFloat]
	- New procs/methods:
		[$Ow_EntryScale AdjustRange]
		[$Ow_GraphWin SetMargins]
	- New configuration options
		[$Ow_EntryBox Configure -hardmax -hardmin]
		[$Ow_EntryScale Configure -scalemin -logscale -rangemin
			-rangemax -autorange -hardmax -hardmin -displayfmt
			-marklist -markcolor -markwidth]
		[$Ow_GraphWin Configure -y2label]
	- Dialogs: Cancel buttons --> Close buttons
	- GraphWin: Second vertical axis
	

  * New Net extension features
	- New procs/methods: [$Net_Link Pause] [$Net_Link Resume]

  * New Vf extension features
	- New C++ APIs: Vf_Mesh::GetMaxMag()

========== OOMMF 1.1a2 released 1999/10/29 ==========
Significant changes since 1.1a1:

  * Expanded Tcl/Tk support
	- 8.2.0 through 8.2.3
	- Some fixes for 7.5 support

  * Expanded platform support
	- Better checking for cygwin platform -- $env(OSTYPE)
	- Support for Compaq/Digital C++ compiler, cxx
	- Support for HP's aCC compiler
	- Support -n32 libraries on SGI by default 
		agrees with Tcl/Tk 8.0.3 and later.
	- optional optimization flags in config/cache/*.tcl comments
	- GNU compiler g++ selected instead of gcc or egcs

  * New features
	- avf2ppm: supports writing of Microsoft BMP files
	- mmGraph: New Option: "Smooth" - crude curve fitting to data
	- mmGraph: New Option: "Break" - add break in curve (lift pencil)
	- mmSolve2D: "Loading from..." indicator in interface
	- mmSolve2D: Zeeman Energy offset changed 
		- zero energy when M and H are orthogonal
	- Open and Save File dialogs check their file types
	- support for asynchronous connection of client sockets
	- support for specifying output formats of "binary 8", "binary 4",
	  and "text"

  * Bug fixes
	- pimake: find extension header files relative to target, not pimake
	- pimake: support tcl.h and tk.h in different directories
	- mmHelp: [string match " " "\n"] instead of "==" to fix infinite
		loop on Tru64 unix 
	- mmGraph: Proper handling of escaped newlines in .odt files
	- mmGraph: Proper handling of too long and too short rows in .odt files
	- Release number taken from Oc extension, not hard coded
	- mmSolve2D: LoadProblem bug was loading from all MIF input source
		which had ever been selected.
	- mmSolve2D: Fixed coordinate errors in Ribbon Field Type
	- Launching of apps with embedded spaces in their path names 
		did not work
	- Fixed timeout expiration event error in account server
	- Events generated from within Oc_Class constructors were not handled
	- Use higher precision computing orthogonal anisotropy axes.
	- [auto_execok] returns a list.  Corrected code which assumed a string.
	- Revised search path for *Config.sh
	- Lots of "lint" improvements -- mostly bracing of [expr]
        - Oc_DirectPathname now handles strange case when
          [cd] into a directory succeeds, but [pwd] fails.

  * General cleanup/improvements
	- User manual in PDF format
	- BIBTeX used to generate references in user manual
	- Index added to user manual
	- Many tweaks for improved numerical accuracy
	- Better values for example materials
	- Cleaner network protocol between mmLaunch and account server
	- Distributed template repositories; no "build" directory
	- support for config/cache/local files
	- Warning about bad OOMMF_ROOT value
	- Complete elimination of the old "em" extension
	- eliminated extern "C" static functions for compiler portability

========== OOMMF 1.1a1 released 1999/08/10 ==========
Significant changes since 1.1a0:

  * Expanded Tcl/Tk support
        - 8.1.0
        - 8.1.1

  * New Platforms supported
	- more centralized support for OOMMF configuration on Windows
		-- less burden on the config/cache/win*.tcl files
	- improved configuration for -32, -n32, -o32 builds on IRIX systems

  * New mmSolve/mmSolve2D features
	- Solver keeps a log while it solves
	- mmSolve2D supports a -restart option which will continue
	  the solving of the problem from the last saved state in
	  the log file instead of from the beginning.

  * Rewrite of mmArchive
	- Doesn't require a window system/display
		- can keep running as long as mmSolve2D
	- Accepts and archives DataTable data
	- Can be launched from the command line

  * New mmLaunch features
	- User interface windows for other apps
		- Inputs and Outputs displayed only if relevant
		- Status line

  * New Oc extension features
	- New Tcl commands
		- Oc_IsClass
		- Oc_SetPanicHeader
	- New Oc_Class procs/methods
		- Oc_Config TkVersion
		- Oc_Config Tclsh
		- Oc_Config Wish
		- Oc_Config Summary

  * New environment variables
	- OOMMF_TCL_CONFIG, OOMMF_TK_CONFIG, OOMMF_TCLSH, OOMMF_WISH

  * General cleanup/improvements
	- updated documentation
	- fixed syntactic sugar in "Define" procs
	- more informative platform configuration checks

========== OOMMF 1.1a0 released 1999/04/28 ==========
Significant changes since 1.0b1:

  * New apps
        - avftoppm -- generate PPM files representing vector fields
        - mmDispSh -- shell with mmDisp support commands.
        - filtersh -- basic omfsh-like shell which supports filtering
                through standard channels on MS Windows

  * Renamed and now bootstrappable apps:
        - avftoave --> avf2ave
        - avftoovf --> avf2ovf
        - avftovio --> avf2vio
        - gif2ppm  --> any2ppm

  * New extensions
        - If (Image formats) -- supports use of Windows bitmaps as mask files

  * New oommf (bootstrap) features
        - Revised command line option parsing
                run 'oommf.tcl -help' for a usage summary
        - New -command option
        - Stdout and stderr available immediately even when blocking

  * New mmDataTable features
        - more display options

  * New mmDisp features
        - Colorwheel-type display
        - New color maps

  * New mmProbEd features
        - ConstMag demag routine
        - Anisotropy axes initializer
        - More initial mag states
        - user comments, min and max time steps

  * New mmSolve features
        - Log files added
        - ConstMag demagnetization kernel
        - Support for generalized control points
                - stop on iteration count, or elapsed simulation time,
                  as well as maximum torque below a threshold.
        - Removed exchange and anisotropy fields from zero-moment cells

  * New mmSolve2D features
        - <Equilibrium> event replaced by <ControlPoint> event

  * New Nb extension features/incompatibilities
        - New C++ APIs
                - Nb_DString::AppendArgs()
                - Nb_List<T>::GetFirst(), Nb_List<T>::GetNext()
        - Removed C++ APIs
                - Omf_SetPatchLevel, Omf_ComparePatchLevel
                        - use Tcl_Pkg* routines
                - CullZombies
                        - use Tcl_ReapDetachedProcs
        - Removed macros
                - TCLCMD  -- use Tcl's Tcl_CmdProc instead
        
  * New Oc extension features/incompatibilities
        - New C++ APIs
                - Oc_InitScript()
                        - C API to find and source initializing Tcl script
                - Oc_AppendUsageInfo(), Oc_GetUsageInfo()
                        - support standard processing of argv, etc.
        - Changed C++ APIs
                - Oc_Main() -> Oc_AppMain() rename
                - Oc_SetUseTkFlag() -> Oc_SetDefaultTkFlag()
                        - also -tk/-notk options --> -tk 0/1
                          and handled by Oc.
        - New macros
                - OC_MAKEVERSION
        - New Tcl commands
                - Oc_AppendUsageInfo, Oc_GetUsageInfo
                        - support standard processing of argv, etc.
                - Oc_UniqueFilename
        - Removed Oc_Classes
                - em_eventHandler - use Oc_EventHandler
        - New Oc_Class procs/methods
                - Oc_Application CommandLine
                
  * Relocation of files, restructuring, etc.
        - Promotion of mmarchive from "net thread" to app
        - bootstrap program available in root directory
        - mmDisp is now a script evaluated by shell program, mmdispsh
        - use of version.h files

  * General cleanup/improvements
        - Improved documentation
        - More informative title bars and error messages

  * Expanded Tcl/Tk support
        - 8.0.4
        - 8.0.5
        - Tk4.x - Forward compatibility support for the [grid],
                [destroy], and [menu] commands.

  * New Platforms supported
        - Cygwin environment on Windows

  * New mmDisp features
        - Divergence display

  * New mmHelp features
        - Can load Binary files
        - Handles block-level IMG tag according to HTML 3.2 spec
        - Rudimentary table support (alignment)
        
  * New Oc extension features
        - New macro OC_STRINGIFY
        - New Tcl commands
                - Oc_CheckTclIndex
        - New Oc_Class procs/methods
                - Oc_Main GetInstanceName

  * Bug fixes
        - DString memory leaks
        - Runtime checks for tclIndex files
        - Improved exit handling (mmGraph) -- window existence checked
        - Clone protocols dependence on parents enforced
        - Oc_Class option 'enforcePrivate' is now honored.

  * General cleanup/improvements
        - removed deprecated direct accesses to interp->result
        - Improved error messages and stack traces.
        - revised LICENSE language
        - Account server/.omfexport.tcl
                - now use Oc_Application directly, no spawn of bootstrap

========== OOMMF 1.0b1 released 1998/11/05 ==========
Significant changes since 1.0b0:

  * Support for Tcl/Tk 8.0.3 on Windows platforms.  A workaround for
    the previous trouble with socket responsiveness was found.

  * Support for use of the .svf file format to specify an initial
    magnetization state in a problem description.

  * Fixed bug in mmGraph which prevented it from exiting and deregistering
    when exited by using the window manager to destroy its window.

  * Enhanced Tcl/Tk version checking in configuration/build steps.

  * Improvements to User Manual.

  * Clarified several error messages.

========== OOMMF 1.0b0 released 1998/10/20 ==========