========== 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 - event replaced by event * New Nb extension features/incompatibilities - New C++ APIs - Nb_DString::AppendArgs() - Nb_List::GetFirst(), Nb_List::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 ==========