NeXtMidas 3.0.2 Release Notes

Changes between release 3.0.0 and 3.0.1 are listed in blue.

Changes between release 3.0.1 and 3.0.2 are listed in green.

(This release requires Java version 5 (or later) to build and run.)

Please see an important note regarding Oracle CVE-2010-4476 (Java floating point vulnerability)

NeXtMidas SYS Option Tree Tested on:
Platform OS Version Java Version(1) Native
Compiler
Web Browser
(WebStart/Applet)
Linux (x86) RedHat Enterprise 3u9 (WS) 5.0_22
6.0_24
gcc 3.2.3 Firefox 2.0 (Java 6 plug-in)
Linux (x86_64) RedHat Enterprise 4u6 (ES) 5.0_22
6.0_24 (64-bit)(2)
gcc 3.4.6
Intel 9.1.052(3)
n/a
Linux (x86) RedHat Enterprise 5u5 5.0_22
6.0_26
gcc 4.1.2
Intel 9.1.053(3)
Intel 10.1.025(3)
Firefox 3.6.3(6)
Linux (x86_64) RedHat Enterprise 5u5 5.0_22
6.0_24 (64-bit)(2)
gcc 4.1.2
Intel 9.1.053(3,4)
Intel 10.1.025(3,4)
Firefox 3.6.17 (Java 6 32-bit plug-in)(5,6)
Linux (x86_64) RedHat Enterprise 6 5.0_22
6.0_25 (64-bit)(2)
gcc 4.4.4
Intel 11.1(3,4)
Firefox 3.6.13 (Java 6 32-bit plug-in)(5,6)
Sun/SPARC Solaris 8 5.0_22 (32-bit) gcc 3.4.2 Mozilla 1.4
Sun/SPARC Solaris 10 6.0_24 (32-bit) gcc 3.4.6 Firefox 3.5.5
Windows (x86) Windows XP SP3 6.0_24 MinGW/gcc 3.4.5 Firefox 3.6.17 (Java 6 plug-in)
Internet Explorer 8.0.6001 (Java 6 plug-in)
Windows (x86) Windows 7 6.0_24 MinGW/gcc 3.4.5 Chrome 11.0.696 (Java 6 plug-in)
Internet Explorer 8.0.7600 (Java 6 plug-in)
(1) All code was compiled with "-source 5" and "-target 5" specified (this is the default). All tests use the Java VM from Sun Microsystems (see http://java.sun.com/).
(2) Not all versions of Java support 64-bit systems. In the case of x86_64 systems only the most recent updates to Java 5 or Java 6 will work. Please see http://java.sun.com/j2se/1.5.0/system-configurations.html for more details.
(3) $NMROOT/nxm/sys/cfg/build.props was modified to point to the Intel C/C++ compiler rather than the GNU C Compiler.
(4) As of RHEL5u5, there is no standard 64-bit version of Mozilla Firefox available (it comes with the 32-bit version of Firefox). Oracle (formerly Sun Microsystems) suggests using the 32-bit (Java plugin) for Java applet support for 32-bit versions of Firefox.
(5) Note: As of Firefox 3.6.x, the new (Next-Generation) Java plugin (included with Java 6 update 10 and later) must be used (i.e. $JAVAHOME/jre/lib/i386/libnpjp2.so) for Java applets to work. Please see http://www.java.com/en/download/faq/firefox_newplugin.xml for more details.
Do NOT install the 32-bit version of Java on a 64-bit
Linux system, it will not work correctly!!!

XBC Tested on:
(XBC - Allows running of X-Midas Fortran/C++ primitives in NeXtMidas)
X-Midas
Mode
Platform OS Version Java Version C/C++ Compiler Fortran Compiler
"Classic" Linux (x86) RedHat Enterprise 3u9 (WS) 6.0_24 gcc 3.2.3 Intel 9.1.051
"32Bit" Linux (x86) RedHat Enterprise 3u9 (WS) 5.0_22
6.0_24
gcc 3.2.3 Intel 9.1.051
"32Bit" Linux (x86) RedHat Enterprise 3u9 (ES) 5.0_22
6.0_24
gcc 3.2.3 PGF 6.0.5
"64Bit" Linux (x86_64) RedHat Enterprise 4u6 (ES) 5.0_22
6.0_24 (64-bit) (2)
gcc 3.4.6 Intel 9.1.052(1)
Intel 10.1.025(1)
"64Bit" Linux (x86_64) RedHat Enterprise 5u5 (WS) 6.0_24 (64-bit) Intel 9.1.053(3)
Intel 10.1.052(3)
gcc 4.1.2
Intel 9.1.053(1)
Intel 10.1.052(1)
"64Bit" Linux (x86_64) RedHat Enterprise 6 (ES) 6.0_24 (64-bit) Intel 11.1(3)
gcc 4.4.4
Intel 11.1(1)
(1) Due to limitations in the Intel 9/10/11.x compiler on (x86_64) it is necessary to disable static linking of the object files on 64-bit machines. See "Known Third-Party Bugs" (below) for details.
(2) Not all versions of Java support 64-bit systems. In the case of x86_64 systems only the most recent updates to Java 5 or Java 6 will work. Please see http://java.sun.com/j2se/1.5.0/system-configurations.html for more details.
(3) $NMROOT/nxm/sys/cfg/build.props was modified to point to the Intel C/C++ compiler rather than the GNU C Compiler.

Important Note Regarding the Portland Group Fortran Compiler: Early versions of the Portland Group Fortran77 6.x (PGF 6.x) compiler does incorrect optimization that prevents the compiled code from executing correctly. Currently, the Midas community recommends using either PGF 5.1, the latest patch release of the PGF 6.0.x or switching to the Intel compilers.
PGF appears to not work correctly correctly in a multi-threaded application. Care must be taken to synchronize access to the Fortran code, otherwise random crashes or behavior may surface unexpectedly.

NeXtOpt Tested on:
(NeXtOpt - NeXtMidas as an option tree for X-Midas)
X-Midas
Version
Platform OS Version Java Version C/C++ Compiler Fortran Compiler
4.6.4 Linux (x86) RedHat Enterprise 3u9 (WS) 5.0_22 Intel 9.1.052 Intel 9.1.052
4.8.1 Linux (x86_64) RedHat Enterprise 4u6 (ES) 6.0_24 Intel 10.1.025 Intel 10.1.025
4.8.0 Linux (x86) RedHat Enterprise 5u5 (WS) 6.0_24 gcc 4.1.2 PGF 9.0.3
4.4.5 Linux (x86_64) RedHat Enterprise 5u5 (WS) 6.0_24 gcc 4.1.2 PGF 8.0.4
4.6.4 Linux (x86_64) RedHat Enterprise 5u5 (WS) 6.0_24 Intel 10.1.025 Intel 10.1.025
4.8.1 Linux (x86_64) RedHat Enterprise 5u5 (WS) 6.0_24 gcc 4.1.2 PGF 8.0.4
4.9.0 Linux (x86_64) RedHat Enterprise 6 (ES) 6.0_24 gcc 4.4.4
Intel 11.1
Intel 11.1
Important Note Regarding the Portland Group (PGI) Fortran Compiler: Early versions of the Portland Group Fortran77 6.x (PGF 6.x) compiler does incorrect optimization that prevents the compiled code from executing correctly. Currently, the Midas community recommends using either PGF 5.1, the latest patch release of the PGF 6.0.x or switching to the Intel compilers.
PGF appears to not work correctly correctly in a multi-threaded application. Care must be taken to synchronize access to the Fortran code, otherwise random crashes or behavior may surface unexpectedly.

Online Documentation

Java 5 Migration

What Might Break (Changes in Behavior)

Escape Character Sequences in Tables and Results - ***MAJOR CHANGE*** In NeXtMidas 2.9.0, the NeXtMidas macro language now handles escape characters, both in String results created at the command line and Tables created from Strings. The escape character is the backslash ("\"), which means that any String parsed as an Arg or a Table will have the backslashes treated as escapes, unless the backslash itself is escaped. This includes everything in a macro, since every line in a macro is parsed as a String prior to macro execution. The most likely negative impacts are to Windows users who create Windows path Strings using the backslash character as a directory separator. The new behaviour can be disabled using the ENV IOOPTION DisableEscapeSequences for args and the Table flag disableEscapeSequences, which can be set in ENV DEFAULTTABLEFLAGS. NOTE: The new behaviour is DISABLED by default, but will default to ENABLED in a future release. See Bug 2292 for details.
OS Environment variable - NM_USER_CP - Since NeXtMidas 2.9.3, this appends to the CLASSPATH: after $NMROOT, SYS's dependent jars, and option trees in the path when the JVM is initially started. Prior to NeXtMidas 2.9.3, this was appended right after $NMROOT and SYS's jars, use NM_USER_CP_AFTER_SYS if you desire this legacy behavior.
BUILD - In NeXtMidas 2.9.2, cflags.<Shell.ostype>.append value is appended before the native.<Shell.ostag>.cflags and native.<Shell.ostag>.cpp.comp flags for C and C++, respectively when read from build.props. If your compiler flag must be at the end (to have the highest precedence), add them to native.<Shell.ostag>.cflags.append and/or native.<Shell.ostag>.cpp.comp.append property.
The same applies for the lflags.<Shell.ostype>.append with respect to the linker flags, (add the highest precedence custom link flags to native.<Shell.ostype>.lflags.append and/or native.<Shell.ostype>.cpp.link.append).
COMPARE - In NeXtMidas 2.9.2, COMPARE was updated to support comparing numeric SubRecords in record based data files (e.g. type 3000, 5000, 6000). See explain file for details.
Convert - In NeXtMidas 2.9.0, the CSV2XML and TAB2XML conversions in the convert primitive were changed so that if a user does not specify an extension for the outut XML file, we will give that file a '.xml' extension. See Bug 1972 / GForge DR #524293-2 for details.
DragBox - In NeXtMidas 2.9.0, the DragBox / Zoom return message was changed so that TMin is always the lesser value of TMin & TMax. This could have an adverse reaction on any macros or primitives that relied on those values being out of order. The previous settings can be found in the new values T1 ('top') and T2 ('bottom'). See Bug 2093 / GForge DR #525979-3 for details.
Filter - In NeXtMidas 2.9.1, the FILTER command, located in the DSP option tree, was modified to more closely mimic TUNER. The filter.mm macro was replaced by a primitive, and certain filter parameters were deprecated in favor of the tuner equivalents. See Bug 2296 / GForge DR #529947-3 for details.
Gcontrol - In NeXtMidas 2.9.1, changes were made to the GMenu class such that if a user program-atically sets a value of a Toggle that matches the text of a button, that button gets selected. Previously, it used a MASK value of that button.
Graphics - In NeXtMidas 2.9.1, changes were made to the NeXtMidas Theme class to delay graphics initialization until a graphical command is run. To restore previous behavior (initial graphics on NeXtMidas shell startup), set the Java system property GRAPHICS with +InitOnLoad value. See BUG 209 for details.
LayerT5 - In NeXtMidas 3.0.1, the setCone(double[] method was corrected to call setCone(double,double,double). Previously, it incorrectly called setElps(double,double,double) method. See BUG 2492 for details.
Plot - In NeXtMidas 2.9.3, significant changes were made to the Plot Canvas that was introduced in 2.9.2. Please see NMROOT/nxm/sys/test/test_plot_canvas.mm for example usage.
Switch - In NeXtMidas 2.9.0, a switch such as
         plot/A= world 
will now mean that the switch A has a value of the empty String. This is a rare case and is not expected to impact users. See Bug 2285 for details.
THIN / DataFile Abscissa addressing - In NeXtMidas 2.9.1, using tilde (~) does abscissa only addressing for THIN. To use old legacy behavior use /ADDRESSING=ABSCISSA_LEGACY or /ABSC switches. See Bug 2195 for details.
Classes removed - Deprecated classes that have been removed:
nxm.sys.intr.Popup -> use nxm.sys.prim.popup
Methods removed - Deprecated methods that have been removed:
nxm.sys.intr.Help.buildJavaHelpDatabase(String,String) -> no longer used
nxm.sys.intr.Help.buildJavaHelpDatabase(String,String,String) -> no longer used
nxm.sys.intr.Help.getJavaHelpSearchDir(String) -> no longer used
nxm.sys.intr.Help.getJavaHelpSearchMap(String) -> no longer used
nxm.sys.intr.Help.getJavaHelpSearchSet(String) -> no longer used
nxm.sys.intr.Option.getAllOpts(Midas) -> use nxm.sys.lib.OptionTree.getAllOptions(Midas)
nxm.sys.intr.Results.listSingle(..) -> use listSingleResult(..)
nxm.sys.intr.Results.listMultipleKV(..) -> no longer used
nxm.sys.intr.Update.getString() -> no longer used
nxm.sys.intr.Update.promptForString(String,String,String) -> no longer used

New Features Added

OS Environment variables  
NMHISTORY_DIR
Override the default NMSF directory location.
NM_CC
Override the native C compiler specified in build.props.
NM_CC_OPTIONS
Additional C compiler flags/options to append to end of compile flags.
NM_CXX
Override the native C++ compiler specified in build.props.
NM_CXX_OPTIONS
Additional C++ compiler flags/options to append to end of compile flags.
NM_BOOT_CP_APPEND
Append to the JVM's boot CLASSPATH.
NM_USER_CP_PREPEND
Prepend to the CLASSPATH (before $NMROOT).
NM_USER_CP_AFTER_SYS
Allows users to append to the CLASSPATH right after $NMROOT and SYS's jars but before any other option tree on path.
Java system properties  
-DGRAPHICS=
Set the graphics options (found in Theme.java) to allow control over the method NeXtMidas uses and displays certain items such as PLOTs and widgets.
-DNATIVELIBSUFFIX=
Set the native library suffix to use (overriding the default of "_<ostag><arch>" for loading native libraries.
-DCLASSPATHAFTERSYS=
Appends to the classpath (after $NMROOT and SYS's jars but before any option tree on path). This only applies when using the default NeXtMidas class loader (NmClassLoader).
-DCLASSPATHPREPEND=
Prepends to the classpath (before $NMROOT). This only applies when using the default NeXtMidas class loader (NmClassLoader).
Commands - AUXILIARY - Added /SAVE and /LOAD switches which allow the current debug level to be stored and restored. Additionally, added support for X-Midas style negative WRITE auxes, which will write files to the WRITE aux even if a file with the same name exists in a READ aux.
  - BUILD - Has been updated to allow specifying the C and C++ compiler via the NM_CC and NM_CXX OS environment variables, respectively. The NM_CC_OPTIONS and NM_CXX_OPTIONS OS environment can specify additional C and C++ compiler flags/options to be appended to what is defined in the build.props.
  - BUILD - Properties in build.props will have the values at property_name+".append" and property_name+".<machine_architecure>bit" automatically appended (in that order) during the BUILD, allowing option tree to specify 32-bit or 64-bit specific compiler options, or just append to an existing property without having to copy the value from SYS's build.props.
Additionally, each property that ends with a ".prepend" will have it's value prepended to the property's value. Prepending is useful to override the native libraries to link via the -l<libname> linker flag, since most linkers search for libraries in the order specified on the command line.
For example, if the following is defined:
 native.lin.cflags.prepend = -DPREPEND_DEFINE
 native.lin.cflags.append = -DMY_APPEND_DEFINE
 native.lin.cflags.append.32bit = -DON_32BIT_MACHINE=true
 native.lin.cflags.append.64bit = -DON_32BIT_MACHINE=false -DON_64BIT
On a Linux 32-bit machine, native.lin.cflags will have the following appended to it:
  -DMY_APPEND_DEFINE -DON_32BIT_MACHINE=true
and the following prepended to it:
  -DPREPEND_DEFINE
  - CALC - The /NFORM switch has been added to allow output formats using any Java or Fortran format string.
  - CHECKEXPLAIN;UCL - Check explain files for all commands in specified option tree for missing arguments/parameters and switches.
  - COMPARE - The max/min/full scale for comparing two input files with byte data type and several others was updated to much that types actual max/min/full scale. To get old deprecated behavior, use the /LEGACYSCALE switch.
  - CONVERT - TAB2XML Will now add a .xml extension if no extension is specified. See Bug 1972 for details.
  - DATALIST - Added option to list the last N elements of the file (via a negative START). See explain file for details.
  - DEBUG - Added /SAVE and /LOAD switches which allow the current debug level to be stored and restored
  - FFT - Added support for NFFT=-1 to use IN1's (first input file) size.
  - FILE - DETACH function with optional /F and /D modifiers to create a detached BLUE header file. See explain file for details.
  - FILTER - Now accepts all TUNER parameters. See explain file for details.
  - FILES - FILES can now find files that are in directories with directory names that are upper-cased or mixed-case. See Bug 1691 for details.
  - GENERATE - Added /SKIP switch to skip specified step(s) when using JAR func. See explain file for details.
  - OPTION - All option trees under a specified path can be defined using the star "*" character as the name for the option tree. See explain file for details.
  - OS - Captures output (stdout and stderr) of executed OS command to results using /STDOUT= and /STDERR= switches.
  - POLYEVAL - Evaluates a polynomial on a range of integers. See explain file for details.
  - SHELLGUI - Added ability to CLEAR text in terminal via message or invoking public method. See explain file for details.
  - SWITCH - Switches now support SET and DEL functions. See SWITCH explain file for details.
  - THIN - New /ADDRESSING= and /ADDR= switch to allow explictly using TimeLine / TIMECODE addressing. See explain file for details.
Features - Added two new features, XLINE and YLINE, which function like HLINE and VLINE, except XLINE and YLINE will persist if the plot changes views. See FEATURE explain file for details.
GCONTROL - ALL - Added ability to set tooltip via /tooltip switch (i.e. a custom popup text appears when mouse hovers over widget for a few seconds) when using Swing panels. When not using Swing panels, the tooltip text is appended to the title bar readout.
  - ALL - Implemented 'home-made double buffering' to prevent flicker of GWidgets.
  - BEAN - Provides the ability to add a external control widget to a panel as if it were a GControl.
See User Guide -> Graphics -> Creating Custom Widgets and/or explain file for details. Also see nxm.ucl.libg.GDatePicker for a new Date/Time picker.
  - CHOICE - Added ability to arrow up/down through items in choice list.
  - LINE - Added ability to Draws a horizontal line across the control panel, see explain file for details.
  - PROMPT - Added ability to create password prompts.
  - PROMPT - Added ability to limit characters from input text field.
  - PROMPT - Added flag to turn off warnings when limiting characters.
GWIDGET - The show method has been extended to support boolean values in addition to the existing 0 and 1.
HTTPAUTH - New HTTPAUTH command and HttpAuthenticator library to support HTTP/HTTPS (basic, digest, etc.) authentication challenges for current JVM via pre-registered URL prefix/username/password, custom callback, and/or login prompt GUI. See the explain file for more details.
HTTPSERV - The "Server" response header is now returned with "NeXtMidas/<nxm_version> Java/<jvm_version>" to help HTTP clients identity this HTTP server and software versions.
  - A range of ports can be specified via the /PRANGE= switch to use pre-allocated port range for some firewalls.
Macro/Shell Enhancements - CONFIGURE - Added /WARN switch to allow disabling of warning messages. The PATH command uses configure, this switch can also be used on PATH which will get inherited by the CONFIGURE command.
  - ENVIRONMENT - Ability to set I/O options to effect the current session. See explain file for details. e.g.
nM> env set IOOPTIONS +TruncateBLUE|+StrictHTTP|-DisableEscapeSequences
  - HOMEPATH - Prints newly set HomePath after setting to new value in interactive terminal (but not in macro unless /verbose switch is specified).
  - NEW - Java arrays can now be created. See explain file for details. e.g.
nM> new int[] myArray {1,2,3}
nM> new java.lange.String[2][3] strArray
  - PATH - /RERUN switch to re-run optstart.mm macros on current path, e.g. PATH/RERUN.
  - PATH - /SKIPRUN switch to skip running optstart.mm macros for new option trees added to the path.
  - PATH - Prints path after setting to new value in interactive terminal (but not in macro unless /verbose switch is specified).
  - SEDIT - The NFORM function now supports Fortran format strings.
  - SEDIT - The /FORCE switch can be used to overwrite results in a read-only table.
  - TABLE - GETFLAGS and SETFLAGS function. See explain file for details.
PLOT - Canvas - In NextMidas 2.9.2 / 2.9.3, a 'canvas' was added to allow users to draw some objects (lines, points, etc) directly onto an image that gets overlaid on the plot. This gives users more control of feature-type drawing and helps with performance. Note: The Canvas is subject to further enhancements which may change its usage, slightly.
  - Crosshairs - Added ability for users to set the color of the crosshairs.
  - Cursor - Ability to set the PLOT cursor, e.g. set reg.plot.cursor "WAIT"
  - Y Cut - Added ability to being up a Y Cut plot under the current mouse position by presing the letter 'Y' on keyboard.
  - UNZOOM - INFO field of UNZOOM message contains the zoom level (instead of always being 3 for the right mouse button number).
  - ZOOMTO= - Added the ability to bring up a plot already zoomed to a particular area. See plot explain file for details.
  - Layer1D - Added support to plot Multi-line traces from 2000 files using /LPS= switch.
  - LayerKML - Added support for multiple NetworkLinks and zoom to area around provided data.
Libraries - HttpResource - Support HTTP 1.0 servers and some HTTP 1.1 servers that do not support the partial content (random access) reads via the "Range" request header. Sets "User-Agent" HTTP request header to be "NeXtMidas/<nxm_version> Java/<jvm_version>" (e.g."NeXtMidas/2.9.0 Java/1.6.0") to help HTTP servers identity HTTP client type.
HttpResource - Ability to get HTTP response headers from server as a Table (with "STATUS_LINE" key for the first response header containing the servers HTTP version and response status code) via public Table getResponseHeaders() method.
  - Util - Added reverseArray(..) method to reverse the order of the elements in an array of Objects.
Java - New nxm.sys.lib.NeXtMidas - provides Java API to run NeXtMidas directly in Java programs. Additionally, it also allows running NeXtMidas directly from the nxm-sys.jar without having to source the NeXtMidas nmstart, nm scripts to be within the standard Midas environment.
See User's Guide -> Running NeXtMidas Independently for more info.

Known Third-Party Bugs

The following are known third-party bugs and limitations that may cause problems for NeXtMidas users.
ALL - A NeXtMidas installation built on a RHEL5 machine cannot run a RHEL4 machine. It will crash when trying to load native code (with a SIGFPE). Workaround is to disable native code via -DNONATIVE=true property, e.g. "setenv NM_USER_JVM_FLAGS -DNONATIVE=true". Another workaround is to build on the RHEL4, which can run on the RHEL5 machines. See BUG 2330 NeXtMidas built with RH53 will not run on RH44 for more details.
  - On 2011-February-08, Oracle released a patch to correct Security Alert CVE-2010-4476 (Java Runtime Environment hangs when converting some floating point strings to a binary floating-point number). This vulnerability affects all (non-patched) versions of the Java Development Kit/Java Runtime Environment prior to version 6u24. Please correct this vulnerability on your system by running the Floating Point Updater patch, or, by upgrading to the latest Java Development Kit, version 6u24 or later release.
  - The initial version of Java 1.7 has known bugs so is therefore not supported at this time.
GCONTROL - Can not see cursor or highlighted text in text-entry widgets when using Java 5.0 on Linux (Java Bug 6287895). This is fixed in Java 6.0, please upgrade to Java 6.0 to avoid this issue.
OS - There is a known Java bug (4052517) that prevents OS commands from being executed in Unix when the permissions are 750 and the user's default group does not match the group of the command. The result is either a "not found" or a "cannot execute" error. This bug is fixed in Java 6. (This bug can cause the NeXtMidas build to fail under Java 5 or Java 1.4.2 when gcc does not have 755 permissions.)
PLOT - There is a rendering problem when PLOT is run from a Linux session inside VirtualPC on Windows XP. This appears to be a problem with graphics drivers in some versions of VirtualPC. We have been unable to duplicate the problem on a stand-alone installation of either Linux or Windows XP.
SOURCEDG - SOURCEDG running on RedHat Enterprise Linux 4 (RHEL4) may encounter BindExceptions and/or SocketTimeoutExceptions due to a bug in the IPv6 stack on RHEL4 (see Java Bugs 6347853 and 6218155). You can avoid this issue by forcing Java to use the IPv4 stack (just do a "setenv NM_USER_JVM_FLAGS -Djava.net.preferIPv4Stack=true" prior to running nmstart).
XBC - There is a known Java bug related to garbage collection (Java Bug 6268279 and related bugs) that can cause a core dump when making extremely frequent M$... calls from a host primitive (typically seen if polling a results parameter with little or no pause between calls). Upgrade to Java 5.0 to avoid this.
  - Building static libraries with both the -fPIC and -i-static flag is still "experimental" in the Intel 9.1/10.x/11.x Fortran compiler (see thread 30222879 on the "Intel Software Network Forums" for details). In practice, this only appears to affect users on 64-bit systems. As a work-around only builds on 32-bit machines include the "-i-static" flags in "ifort.comp.append.32bit" and "ifort.link.append.32bit" properties in $NMROOT/nxm/sys/cfg/build.props. On 64-bit platform, the compiler will default to dynamically linking the Intel runtime libraries, so users will need to run with the LD_LIBRARY_PATH environment set to include the Intel libraries installed location.
  - The Intel C/C++ prior to 11.1.059 (update 3) has a bug that causes the BUILD of C++ HOST primitives that access the Mu pointer to fail with an error message like: "(0): internal error: 0_1561 ... compilation aborted for $NMROOT/nxm/xbc/host/test_mu_okio.cc (code 4). ".
The Intel compiler has a bug in compiling code that access a thread local storage constant pointer (which is the definition of the Mu pointer). See Intel issue DPD200138828 at http://software.intel.com/en-us/articles/intel-professional-edition-compilers-111-fixes-list/. GCC does not have this bug. To workaround this Intel compiler bug (by not making the Mu a const pointer), define _WORKAROUND_INTEL_COMPILER_ERROR_0_1561 in your build.props (e.g. "native.lin.cflags.append=-D_WORKAROUND_INTEL_COMPILER_ERROR_0_1561") or directly in the C++ source file.
VNC - It has been noted by users that NeXtMidas will not function in a VNC session if the -depth option is set to 32. 32 is an invalid color depth, valid -depth option settings are 8, 16, and 24. We recommend the default -depth setting of 16.

Known Issues

CALL - A SUBROUTINE does not have limited scope, scope is the same as procedure.
   
CONVERT - Tables created by the XML2TBL function may appear to "drop entries" when dereferenced. Since XML2TBL is deprecated, this will not be fixed, use the XML2TAB in place of XML2TBL.
   
GCONTROL - Some controls do not support headless mode.
   
LIST2 - The table for a /LEGACY select message may contain "extra" fields.
  - Row/cell selection is undefined when listing a pipe.
  - May need to use the /MOD switch when opening large files.
  - Type 2000 files with large frame size may not load properly.
  - CLICKACTION={COL=...} does not work properly (Bug 1352).
   
NeXtOpt - Changes in X-Midas 4.5.x prevent NeXtOpt from running.
  - NeXtMidas commands run from inside an X-Midas macro (specifically when using PIPE or XPIPE) may exit prematurely. For example a NeXtMidas intrinsic run from the INITIALENTRY of a controls section can cause the pipe to stop prematurely.
  - May get warnings about problems mapping to the messages section if the X-Midas message queue is not up.
   
PLOT - A PLOT of a pipe on a hidden tab may discard data from the pipe while the tab is hidden (similar to use of the /NICE= switch).
  - Timecode readout for large Type 2000 may give t=00:00:00.
   
XBC - XBC does not support running two copies of the same command simultaneously.

Bugs Fixed

All NeXtMidas bugs and enhancements are tracked using Bugzilla. If you are connected to the Internet clicking on the Bug number below will provide details related to the bug and a complete list of all changes made to resolve it. GForge DR number is included for all customer-submitted bugs. GForge entries are listed "n/a" for bugs that appear only in pre-release snapshots of NeXtMidas (not publicly available).


Bugs Fixed in Release 3.0.2 (21 Sep 2012)
Bug Number GForge DR Description
1378 665005-19 XBC: m$put_keydata doesn't work with constant string literals
2453 806505-3 MidasBean: needs a cleanup method
2494 807602-3 PLOT: Axis titles wrong when changing type
2523 81880-1 XBC: m_spa does not return proper value
2524 810156-1 PLOT: MPlot.refresh(..) add null check for dbimage inside if (useDB) block
2525 809218-1 CONVERT / GraphicsUtil: createImageFile(..) (fix for choosing color index 1 vs 0 for stable series)
2528 808213-3 Incorrect units cited in Constants.java for METERS2DEG and DEG2METERS
2530 808206-3 KEYWORD: Missing explain file entry for FPUT
2546 811117-1 RMIF hung with no errors when logging is on / TextFile is not thread safe
2548 811112-1 Keyword / Status: Hangs with error in extended header
2556 808414-3 PLOT / LayerWMS: NullPointerException in getCursor()
2569 812814-1 fexists returns true for NULL and "" under NeXtMidas 3.0.1
2589 813792-1 Support native libraries on some 64-bit machines with generic os.arch system property of "x86_64" like MacOS X 64-bit
2601 813645-1 Update PLOT explain file to include EXPORTIMAGE
2606 815348-1 XBC: calling m_d2a in C++ primitive causes SEGV since Mc & Mu has not be init
2608 815722-1 X-Midas 4.11.1 breaks NeXtOpt (NXM option tree)
2610 815776-1 Headermod on pipes NOT updating headers since 2.9.2
2613 809929-3 MWindow: Missing docs in MWindow.shadowArrow(..)

Bugs Fixed in Release 3.0.1 (30 Nov 2011)
Bug Number GForge DR Description
1757 808990-1 TUNER: IndexOutOfBoundsException from certain input file sizes
1795 777908-1 PATH remove does not work properly / Can not override option tree once added to PATH
(adjustment to original fix under 2.9.3)
2126 806662-1 TIMEX errors when displaying very large values (e.g. 1e15)
2344 530857-3 NXM unable to find and construct nmpHttpServer
2401 807296-1 LIST2: cannot exit via RETURN if a row is selected
2404 808615-1 NeXtOpt: RMIF: error compiling under RHEL6 using ICC 12 / GCC 4.4.x for undefined u_char
2426 531916-3 PLOT: DateString readout ignores ExtPrec (adjustment to original fix)
2441 806534-1 SINKAUDIO: add support for .au sound files
2444 806528-1 GENERATE: issue with JARS function for option trees with backlinks
2445 806871-1 SINKAUDIO: add support to mute audio output
2447 666852-19 SINKDG: add getDgnetsend() and do not error when hin is null in open() method
2448 666853-19 DatagramData: would like a sequence reset feature
2449 666854-19 dgnetsend: add ability to set LoopbackMode and getters for sockets, and use offset param in writeRTP
2450 666855-19 SOURCEDG: add supportfor getting last packet's info
2451 808356-1 SHELLGUI: keyboard shortcuts for HOME, END, CTRL+A
2459 532538-3 Plot / LayerT5: ArrayIndexOutOfBounds exception when setting colormap
2467 807207-3 LIST2: Row selection by value is WRONG if the table is sorted
2472 807307-3 DataFile: calling setSubRecords(..) with empty String
2477 807322-2 PLOT: OpenFile message needs better docs and minor code updates
2483 807350-3 Update ELPS docs in NXM User's Guide
2489 666936-19 MJFrame / MWindow: macro icon status not set when iconified with mouse click
2490 808158-1 GCONTROL: GDialog missing button ""callback"" in message
2492 808439-1 LayerT5: setCone(double[]) incorrectly calls setElipse(..) instead of setCone(..)
2498 807741-3 XBC: calling m_promote_format gives undefined symbol (unable to run X-Midas whitenoise.cc)
2501 809300-1 XBC: xmlibc.c f2jstr and fsw2jstr can fail when input string is larger than 160 chars
2509 809317-1 Infinite loop takes 100 percent of the CPU when DISPLAY is not set
2514 808018-3 OPT: Missing ")" in print out
2515 808052-3 VNCVIEWER: Missing documentation in explain file
2516 807898-3 FFT: needs more details regarding <WIN> in explain file
2517 807292-3 DataFile: Does not build cleanly in NXM 3.0.0

Bugs Fixed in Release 3.0.0 (11 Aug 2011)
Bug Number GForge DR Description
1357 767414-1 Capture stdout from OS commands
1490 769418-1 Have default look and feel (THEME) provided by ShellParent
1918 665708-19 LAYER2D: make it extensible
2332 801262-1 Native library (pre-compiled DLLs) for 64-bit Windows
2394 531726-3 SYNTAX: can display incorrect number of parameters
2398 531872-3 GControl / GWidget: would like option to control title color (to keep as theme)
2410 806527-1 Native terminal (under xterm/rxvt) not handling line wrap correctly
2432 806174-1 FFT: Support <nfft>=-1 to mean file size (matches X-Midas)
2434 806177-1 Waveform white noise generator fails for odd xfer length

Bugs Fixed in Release 2.9.3 (15 Jul 2011)
Bug Number GForge DR Description
1289 766145-1 NEXTOPT: Need to support negative write AUX
1795 777908-1 PATH remove does not work properly / Can not override option tree once added to PATH
1898 665627-19 NeXtMidas does not handle root URL's properly (partially fixed in NeXtMidas 2.9.0)
1962 665828-19 Support 32-bit and 64-bit native shared objects/DLLs
2380 531246-3 Duplicate of Bug 1795: Can not override option tree once defined
2391 531797-3 GWidget: show method should use state check
2403 531945-3 PLOT: Map in Backing Store flashes when Layer updates
2405 531751-3 CONFIDENCE: File handles not closed after running confidence
2406 531791-3 XGEOPLOT: leaves open file handle
2407 531980-3 PLOT: Canvas updates
2408 807194-1 DEBUG: Add support for /save and /load
2411 806530-1 MPlot X/Y index mode limited to 2GB in ReadOut
2412 532010-3 LayerGeo: Some set methods can not support RAM files (updated docs)
2415 807195-1 SEDIT: /force switch to allow outputing to a read-only table
2417 n/a MidasThread constructor with Command should include Command's ID in thread name
2418 807197-1 POLYEVAL: Evaluate a polynomial
2420 532233-3 TIMEX does not work when given too much precision
2421 532232-3 Time-based thin using the tilde "~" broken
2422 n/a ARCHIVE: TO function to send terminal shell output as "TEXT" message not working
2423 n/a TABLE: would like GETFLAGS and SETFLAGS function
2425 531817-3 ICEPacket: Inccorrect documentation for setTC(..)
2426 531916-3 PLOT: DateString readout ignores ExtPrec

Bugs Fixed in Release 2.9.2 (10 Jun 2011)
Bug Number GForge DR Description
1368 517374-3 NMSF Files: need to be able to (easily) place them somewhere besides HOME dir (NMHISTORY_DIR)
1713 803914-1 NPE when stretching panel
2058 525649-3 LIST2: AutoHide=FALSE option does not work
2219 666331-19 POSITION: Errors in getSpeed() calculation in Position class
2220 794751-1 NMJDBC, DATABASE: Do not include @node when connecting to oracle with no node specified.
2266 797927-1 PLOT: would like time based line layer on a raster plot
2280 798290-1 THIN: need non-intraframe incrementing
2333 508737-15 Table.getTable("A.C") throws MidasExceptino when A is not a Table and there is no "C" property/method in Object A
2334 508738-15 Table.constainsKey("A.C") does not perform nested contains
2338 530805-3 Duplicate of Bug 1544: PLOT / Layer2D / Feature: Box feature on a piped 2d Raster drawn at wrong index
2346 801871-1 Closed - Not Worth Fixing: MidasDisplay: Cannot get MouseEvents (since 2.7.2)
2355 530968-3 PLOT / Layer2D / Feature: Box feature not working (Regression)
2358 530965-3 NEXTOPT: skips first command named XM* in commands.cnf
2368 803601-1 SOURCEDG: thread unsafe usage of XMLTab variable
2372 803599-1 NMD opt= and area= are backwards in the command dictionary
2373 531230-3 FILTER: does not give same output as XMIDAS FASTFILTER
2374 531205-3 COMPARE: Fails when comparing type 3000 files
2375 531233-3 XBC: does not support okio field in Munique structure
2377 531210-3 BUILD / XBC : Unable to build XBC on 64-bit with Intel 10 without modifying build.props
2378 803209-1 WebStart not able to load resource from HTTPS
2379 531259-3 FDFILTER explain file does not match source
2382 803795-1 WEBSTART: cannot load themes
2385 531626-3 PLOT: using /all switch turns on BStore
2386 N/A Integrate with Eclipse WindowsBuilder for Making NeXtMidas GUIs
2388 804347-1 PLOT / Layer2d: Raster plot flickers when one pipe is dis-abled
2389 n/a Duplicate of Bug 2210: DATALIST: start parameter not accepting results parameters
2393 531746-3 ShapeFile does not close the DBF file
2395 531734-3 JUMP: support JUMP command in NeXtMidas macro language
2396 531876-3 LIST2: LIST2 in submacro no longer populating (REGRESSION)
2397 804418-1 PLOT: Multi-line traces from 2000 files
2400 N/A need FTP IOResource

Bugs Fixed in Release 2.9.1 (23 Mar 2011)
Bug Number GForge DR Description
209 540509-1 Slow to enter shell when graphics environment is far away
1263 516527-3 Shell: command recall cleared on typo
1398 517494-3 PANEL: .mmp file can cause panel not to be visible
1519 770201-1 Undocumented PLOT scale options
1699 801014-1 CITIES file has duplicate entries
1831 521837-3 PLOT: Add support for XYCut
1999 524760-3 Need a better (and smaller) date time chooser
2175 527357-3 DATAFILE: Should use TRUNCATE by default
2182 527502-3 FILE: Add DETACH and DETACH/D functions
2195 527717-3 THIN / DataFile: issue with abscissa addressing (would like addressing by Timecode)
2232 801013-1 Lookandfeel: with /GUI - closing windows via X or Window Close exits Shell
2296 529947-3 FILTER: does not support pipes or files in RAM aux
2305 530209-3 Gcontrol / GWidget: Add a line separator widget
2308 530315-3 Time toString(double,String,int) and toString(double,int,int) do not computer frational seconds
2309 800308-1 WidgetWrapper: need ability to block messages
2310 800313-1 PANEL/JSETUP: WidgetWrapper needs way to tell the difference between a DSELECT and a SELECT event for a JComboBox
2311 530288-3 LIST2: updateRow not refreshing display
2313 801138-1 LayerKML: need ability to disable point baloon popups
2314 800669-1 SET / RESULTS: Inconsistent baheviour when calculating numeric result
2315 800744-1 running NeXtMidas from jar does not honor -DNONATIVE=TRUE resulting in Shell.loadLibrary error
2317 800777-1 running NeXtMidas from jar to default to -shell (if no -command, -shell, -prompt, -script options are given)
2319 530526-3 Gcontrol: flag int value does not work and documentation issues:
2320 800902-1 Gcontrol / GMenu: Menus (including buttons) incorrectly set toggle values
2321 800983-1 TIMEX DAY has extra fractional seconds
2322 530587-3 DATABASE: NMJDBC picks password incorrectly
2323 530589-3 GCONTROL: would like a "gray out" option for controls
2324 530588-3 GENERATE: JARS does not ensure path termination
2325 801029-1 NeXtMidas.java: "-aux" not working
2326 801114-1 GControl/ GMenu: option to disable ('gray out') items in a menu
2327 666574-19 Plot: "Ghost" crosshairs artifacts when double-buffered and zommin/zoomout
2328 801387-1 HOMEPATH: should display new home path
2330 530290-3 Closed - Not Worth Fixing: NeXtMidas built with RH53 will not run on RH44
2333 508737-15 Closed - Not Worth Fixing: Table.getTable("A.C") throws MidasExceptino when A is not a Table and there is no "C" property/method in Object A
2335 801385-1 WAVEFORM / DataFile output over existing file in RAM AUX does not honor protect flag
2341 530836-3 Closed - Not Worth Fixing: Java floating point vulnerability can cause CALC to hang
2342 801836-1 BUILD: XBC's FortranPreprocessor (xfpp) sometimes inserts invalid char into .fpp causing build failure
2343 530914-3 ELCC Version of httpgetdata.java differs from baseline
2347 801873-1 MidasDisplay: Crosshairs do not work on MidasDisplays
2351 n/a Add "BEAN" Gcontrol option to enable loading Widget classes via reflection
2353 802375-1 Plot: Need ability to ZOOM as plot parameter
2354 n/a Need to clean up nmstartup.mm
2356 n/a FFT 2D input and xferlen != FFT size broken
2357 530950-3 PLOT: TMIN/TMAX need to be included in UNZOOM messages
2359 530980-3 PATH: issues with the CONOP of running OPTSTART.mm (need /skiprun switch)
2360 531006-3 PLOT / LayerKML: Null Pointer Exception and Unknown Host Exception
2361 802376-1 DATAFILE: getIndex(..) method incorrectly handles negative abscissa values.
2363 531036-3 Command-line recall changes trailing "&&" to "&"
2365 530981-3 PATH ADD+ not reliable and can corrupt path
2371 g803600-1 unable to run NeXtMidas.java under Windows with CLASSPATH set to %NMROOT%

Bugs Fixed in Release 2.9.0 (27 Dec 2010)
Bug Number GForge DR Description
220 796258-1 Want to arrow up/down through items in a GChoice
672 551546-1 PLOT: Crosshair cursors don't work properly
760 798370-1 Parser.find used incorrectly throughout the baseline
1062 513632-3 Ability to Run NeXt-Midas directly from Jar files
1065 514228-3 TVAL flashes when forwarded to X11 display
1166 796979-1 DataFile: TRUNCATE flag not handled properly in DataFile.open()
1208 515900-3 GCONTROL Flashes
1230 765349-1 LayerWMS: Wait cursor shown even when in backing store
1237 516207-3 Add Message Queue cleanup to NeXtOpt
1254 516484-3 PLOT: Raster Leaves black spaces when hidden then shown or in tabs
1383 665014-19 PLOT: readout issues
1516 770197-1 PLOT with BStore displays one line
1524 770228-1 Busy meter no longer works in GEOPLOT;MAP
1544 770689-1 PLOT: skipping
1545 770690-1 PLOT: not repainting on resize
1691 774886-1 FILES: can't find file in AUX that is all upper case
1716 778677-1 PLOT: CM=trash does not flag an error/warning
1897 522809-3 macro "processException" acts strange
1936 796535-1 HELP/BUILD: Generated version of HTML Explain files sometimes get wrong links
1972 524293-3 CONVERT: tab2xml should append .xml extension when none given
2010 786549-1 ARGS: allow command-line over-ride of macro-level switches.
2042 525525-3 SOURCEDG/FILL fixes
2091 525956-3 PLOT / FEATURE : SWINGDB causes Y index of HLine Feature to lose precision
2093 525979-3 DragBox.getTMin/getTMax do not work
2112 666101-19 HPAGE: readPost(..) is very slow
2113 790144-1 PLOT / FEATURE: Race condition when ZOOMing and drawing a Feature simultaneously
2135 798980-1 GControl / GWidget: Swing panels not highlighting text the same way as pre-Swing
2150 526828-3 COMMAND / SHELL / TERMINAL: Need better interrupt support within Command.java
2170 527277-3 FILES: does not work correctly with multiple name filters
2177 527371-3 CALC: enhancement to format numbers with the CALC command
2181 792936-1 SHELLGUI / MJTEXT: StringIndexOutOfBounds Exception
2187 527589-3 PLOT: scale=maxrange leaves top part blank
2191 527680-3 FEATURE: Need XLINE / YLINE features instead of HLINE / VLINE
2201 793888-1 Util: reverseArray to reverse the order of the elements in an array of Objects
2204 527766-3 NEW: Would like to be able to create arrays from the command line
2209 527859-3 DATALIST: Support a "tail" function
2210 527860-3 DATALIST: Allows fractional start but does not work
2215 794756-1 GENERATE: would like a /SKIP=<options> for func=JARS to skip steps in this process
2216 n/a PLOT / LAYER2D: piped layer2d plots "skipping" initial data
2221 795052-1 HELP: allow HELP/GUI to run under one-shot mode
2222 795053-1 SHELLGUI: add ability to CLEAR text in terminal
2223 795103-1 GCONTROL PROMPT / GPrompt: Need ability to create password prompts
2224 795105-1 GCONTROL PROMPT / GPrompt: Cannot limit input text field number of characters
2234 528465-3 Plot / MPlot: Need get method for readout variable
2235 528471-3 Plot: Need to get a right mouse click event when zoomed all the way out
2236 528502-3 NMDB / MESSAGE: recommended SENDW syntax does not work for long queries
2237 528556-3 PLOT: LayerKML issue with kml file with NetworkLinks
2238 528557-3 PLOT: UNZOOM message INFO field should contain the zoom level
2240 528650-3 GControl: Support for Swing ToolTipText
2242 528686-3 MessageQueue: put method warning should include the FROM id
2243 796434-1 FileResource: Need listing for https in handlers table
2244 796467-1 PLOT: View bounds display incorrectly after OPENFILE message
2246 797965-1 MaskValue: Add Joseph's updates
2248 796592-1 PLOT: View bounds limits incorrectly catagorized as "User changes"
2249 528889-3 Plot: cursor cannot be set
2252 796916-1 HTTPAUTH: HttpAuthenticator / HTTPResource Advanced support for HTTP Authentication (basic, digest)
2253 796935-1 HTTPSERV: should return 206 (Partial Content) and Content-Range header
2254 797004-1 HttpResource: add ability to get HTTP server's response headers
2256 797366-1 Plot / LayerKML: bounds not set to file data
2257 797367-1 LayerKML: URL query strings on hrefs of local files cause 'file not found'
2259 797625-1 Parser.find(..) errors with "Illegal numeric expression" when given match that looks like a number
2260 797753-1 HTTPWINDOW: example in explain to show page not working
2261 797754-1 HTTPSERV: should return "Not Found" HTML in addition to 404 error code
2262 797755-1 FILES to list files on directory served by HTTPSERV
2263 529356-3 PLOT / FEATURE: issues with feature save and load
2264 797899-1 PLOT / FEATURE: type of Symbol Feature not stored in Saved feature .tbl file
2265 797926-1 PLOT: time off, when connecting to existing PIPE on real-time raster PLOT
2267 666425-19 PLOT: does not work with World Wind WMS Server
2270 798030-1 HTTPGET: should convert input data to Table
2271 798031-1 XBC: M$PAUSE() is off by a factor of 10
2272 798032-1 XBC: M$NOW needs to be updated
2274 798034-1 NeXtOpt: Leaves "nm" processes hanging around when app crashes
2275 798188-1 Enable users to run NeXtMidas commands outside of Midas context
2276 798248-1 Plot: neet getType() and getCompression() methods to avoid getting wrong values
2277 666458-19 GENERATE: JARS function overwrites Class-Path entry in option tree's cfg/manifest.mf
2279 798288-1 NeXtOpt warnings related to XM_Path
2280 798290-1 THIN: need non-intraframe incrementing
2281 666457-19 MENU: ERROR when listing percent macros and HOMEPATH points to nonExisting directory
2282 666470-19 MAKE docs XBC should not build/compile code
2283 798817-1 Shell: option tree's optstart.mm not run
2284 529755-3 SWITCH: add a GETALL function
2285 529751-3 SWITCH: Blank Strings are handled wrong, even if quoted
2286 798976-1 LayerKML: Add support for Icon viewFormat to support Google Earth WMS files
2287 666471-19 XBC: m_get_uswitch() does not null terminate modified char* output param
2288 666472-19 XBC: m$get_sswitch_def does NOT return specified default value when switch is NOT present
2289 799345-1 HOMEPATH: should warn when user has an invalid HomePath set
2290 799004-1 Args: /I and /B incorrectly evaulate to /ID and /BG
2291 666477-19 GWidget / MPanel: no geometry updates for custom Swing components
2292 799057-1 Table: cannot parse nested brace and quotes (need escape sequence)
2293 n/a RMIF: NullPointerException from Remote.processMessage and sendLinkProblemReport methods
2294 529949-3 TUNER: produces undocumented debug file
2295 529948-3 TUNER: poor handling of IMPRESP= and FILTOUT= given at the same time.
2297 799296-1 PLOT / Layer2D: time incorrectly displaying when cursor pos is in the axis
2298 799351-1 BUILD: should implicity include XBC's inc directory for C++ primitives
2299 799563-1 cdefs.h: typedef for int_4 for Linux/Solaris should be int vs long
2300 666517-19 SINKDG needs to be restart friendly
2301 666518-19 SINKDG stop/start method needed
2302 666532-19 BUILD name=all area= opt=sys errors with StringIndexOutOfBoundsException
2303 n/a GPrompt: Add a NoWarn flag to allow users to prevent feedback
2304 n/a GControl / GFiles: Improper flags values used by GControl when creating a GFiles
2306 800108-1 nmstartup.bat should detect spaces in NMROOT, JAVAHOME, and HOME env and error out
2307 800110-1 Windows: provide sample run NeXtMidas batch script

Deprecated Functionality

The following functionality has been deprecated and will be removed from future versions:
Command Deprecated Item Replacement Deprecated
Since
FEATURE Use of LABEL= inside the table of options Use TEXT= 2.3.0
MENU ACT= FUNC= 2.3.0
PLOT ZOOM and DRAGBOX messages accessed with msg.data(0), msg.data(1), etc. Use use msg.data.xmin, msg.data.xmax, etc. 2.3.0
STATISTICS IMEAN= MEAN= (contains real and imaginary values, see explain file) 2.3.0
CONVERT The XML2TBL and TBL2XML functions. Use XML2TAB and TAB2XML. 2.5.0
UPDATE Command dictionary entries without '*' denoting minimum allowable abbreviation. Inlcude a '*' at the end of the command name in the dictionary if no abbreviation is allowed, otherwise note abbreviation as desired. 2.5.0
TextFile Automatic enabling of NOABORT flag. Use NOABORT or FORCEABORT flags as required. 2.5.0
TextFile Automatic conversion of INOUT flag to OUTPUT when file not found. Use INOUT or OUTPUT flags as required. 2.5.0
Results Use of A: with results. Use S:, behavior of A: will change in future releases. 2.5.2
DataFile Use of CREATOR= main header keyword. Use IO= and VER= keywords. 2.5.3
IF Numeric comparison assumes scalars without warning. Use EQ/? (see IF explain file for details). 2.7.0
ERMIF / ECONTROL These commands are user contributed and have been unsupported, untested, and unused since it was added to the baseline. It has been moved to the UCL option tree, but is slated for removal in the future. Use RMIF 2.9.2
As of release 2.2.0 LIST is considered to be an "End of Life" primitive. The LIST primitive is scheduled for replacement by LIST2 in future releases.
See $NMROOT/htdocs/api/sys/deprecated-list.html for a list of deprecated library methods.
Deprecated functionality will continue to function for one year or two stable releases after first being marked as deprecated, but its use may result in a deprecation warning (either at compile time or run time). After one year, any deprecated functionality is subject to removal.

(Back to Release Notes Summary)