NeXtMidas 3.9.2 Release Notes

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

NeXtMidas SYS Option Tree Tested on:
(All tests with Java 8 and Java 11 unless otherwise noted (1))
OS Version Platform Native Compiler(2)
(SYS Option tree)
Web Browser
openSUSE Leap 42.2 Linux (x86_64) 6.2.1 Firefox 52.6
RHEL/CentOS 6.9 Linux (x86_64) gcc 4.4.7 / Intel 13.1 / Intel 14.0/ Intel 15.0 / Intel 16.0/ Intel 17.0 Firefox 52.4
RHEL/CentOS 7.7 Linux (x86_64) gcc 4.8.5 / Intel 14.0 / Intel 15.0 / Intel 16.0 / Intel 17.0 / Intel 19.0 Firefox 68.2
RHEL/CentOS 8.0 Linux (x86_64) Intel 19.1 Firefox 68.2
Windows 7 SP1 Windows (x86_64) pre-compiled DLLs (WinGW 5.3.0/gcc 4.9) IE 11.0.9 / Firefox 58.0
Windows 10 Pro Windows (x86_64) pre-compiled DLLs (WinGW 5.3.0/gcc 4.9) IE 11.0.45 / Firefox 58.0

XBC And NeXtOpt Tested on:

(XBC - Allows running of X-Midas Fortran/C++ primitives in NeXtMidas)
(NeXtOpt - NeXtMidas as an option tree for X-Midas)
(All tests with Java 8, and Java 11, unless otherwise noted (1))
OS Version Platform X-Midas Mode C/C++ Compiler(2) Fortran Compiler
RHEL/CentOS 6.9 Linux
NeXtOpt (X-Midas 4.12.3) Intel 13.1 / Intel 14.0 / Intel 15.0 Intel 13.1 / Intel 14.0 / Intel 15.0
NeXtOpt (X-Midas 4.14.0) Intel 14.0 / Intel 15.0 / Intel 16.0 Intel 14.0 / Intel 15.0 / Intel 16.0
NeXtOpt (X-Midas 4.15.0) Intel 16.0 / Intel 17.0 Intel 16.0 / Intel 17.0
XBC ("64Bit") gcc 4.4.7 / Intel 13.1 / Intel 14.0 / Intel 15.0 / Intel 16.0 / Intel 17.0 Intel 13.1 / Intel 14.0 / Intel 15.0 / Intel 16.0 / Intel 17.0
RHEL/CentOS 7u7 Linux
NeXtOpt (X-Midas 4.12.3) Intel 15.0 Intel 15.0
NeXtOpt (X-Midas 4.14.0) Intel 15.0 /Intel 16.0 / Intel 17.0 Intel 15.0 /Intel 16.0 / Intel 17.0
NeXtOpt (X-Midas 4.15.2) Intel 15.0 /Intel 16.0 / Intel 17.0 Intel 15.0 /Intel 16.0 / Intel 17.0
NeXtOpt (X-Midas 5.2.1) Intel 19.0 Intel 19.0
XBC ("64Bit") gcc 4.8.5 / Intel 15.0 / Intel 16.0 / Intel 17.0 Intel 15.0 / Intel 16.0 / Intel 17.0
(1) Platforms were tested on the latest versions of JDK 8 (1.8.0_221), and JDK 11 (11.0.4). Minimal testing on JDK 13 (13.0.1). See Known Third-Party Bugs to see why JDK 8u20 to 8u31 are not supported. The 64-bit version of Java should be used when running on a 64-bit system. All tests use the Java VM from Oracle (see
(2) $NM_CC and $NM_CXX was set to point to the Intel C/C++ compiler (icc and icpc), where applicable.

Online Documentation

Java 8 Migration

What Might Break (Changes in Behavior)

BUILD - The default build.props, has merged all areas from build.codeareas.other back into build.codeareas.lib (they were separated in NeXtMidas 3.1.2 because SYS has lots of files to compile). SYS still continues to keep them separated. This is not expected to impact any users.
Convert - In 3.9.0, the default behavior of Convert.o2n and Convert.s2n was improved to, at least in the case of numeric Strings and Objects with numeric value, use the appropriate Number type to preserve value and precision. There was also API added to always preserve precision by specifying that BigDecimal sohould be used. To revert to the old behavior of these conversions always returning a Double, set CoreIO.Option.DefaultToDoubleOnConvertO2nS2nEvenWhenPrecisionIsLost. See DR# 825490-3 for additional details.
FFT - A fix was made in 3.9.0 to keep the FFT NAVG from getting corrupted during restarts. Previously NAVG was incorrectly being adjusted to the number of frames in the last partial average before the restart.
TABLE - Values in a Table that start with a caret '^' will now be resolved as results, if there is a result by that name. To turn off this functionality, use CoreIO.Option.DisableResultUsageWithCaretInTable.
ZPIPE - A user contributed updated ZIPE (UCL option tree) was adopted in NeXtMidas 3.9.0. Due to the nature of the changes, we do not anticipate any significant backwards compatibility issues. This was adopted with minimal testing due to the limited user base and the code by nature being a user contributed library.
NMROOT and Classpath - As of NeXtMidas 3.7.2, when running NeXtMidas from a jar, all dependecies should be in specified in directly in the Java classpath. Example: java -DNONATIVE=false -cp "/path/to/jars/nxm-sys-native-linux-x86_64.jar:/path/to/jars/nxm-sys.jar" nxm.sys.lib.NeXtMidas
Option Tree removed - Deprecated option tree that has been removed:
nxm.sys.mmpostlegacy -> removed in NeXtMidas 3.7.2
Classes removed - Deprecated classes that have been removed: -> not used
nxm.sys.lib.DataPipe -> not used
nxm.sys.libg.ExportImage.DelayedMessageHandler -> not used
nxm.sys.libg.MTextArea -> use MJTextArea instead
nxm.sys.libg.MTextField -> use MJTextField instead
Methods/Fields removed - Deprecated methods/fields that have been removed/changed:
nxm.sys.intr.Build.AREA_LIST -> not used
nxm.sys.lib.CoreIO.recursiveDelete(File) -> use nxm.sys.lib.FileUtil.recursiveDelete(File) instead
nxm.sys.lib.Keywords.convertRep(byte, byte) -> use nxm.sys.lib.DataFile.convertHeaderRep(String) instead
nxm.sys.lib.NeXtMidas.setWinID(String) and clearPanel() -> use runCommand(String, MidasDisplay) instead
nxm.sys.lib.StringUtil.StringUtil() -> not used, meant to be private as all methods are static
nxm.sys.libg.ExportImage.exportFile(..) -> use exportToFile(Component,String,String) instead
nxm.sys.libg.ExportImage.exportToFile(ExportsImage,String,String) -> use exportToFile(Component,String,String) instead
nxm.sys.libg.ExportImage.export(..) -> use exportToFile(Component,String,String) instead
nxm.sys.libg.ExportImage.showOptionSet(...) -> not used
nxm.sys.libg.ExportImage.showTextEntry(...) -> not used
nxm.sys.libg.Layer2D.Layer2D(int, int) -> not used
nxm.sys.libg.Layer2D.isUseLocalZMin() -> use getUseLocalZMin() instead
nxm.sys.libg.Layer2D.isUseLocalZMax() -> use getUseLocalZMax() instead
nxm.sys.libg.Layer2D.useLocalZMin(boolean) -> use setUseLocalZMin(boolean) instead
nxm.sys.libg.Layer2D.useLocalZMax(boolean) -> use setUseLocalZMax(boolean) instead
nxm.sys.libg.Layer2D.useLocalZMin() -> use setUseLocalZMin(true) instead
nxm.sys.libg.Layer2D.useLocalZMax() -> use setUseLocalZMin(false) instead
nxm.sys.prim.plot.setCompression(String) -> use setRMIFCompression (String rmifCmp) instead - nxm.sys.lib.OptionTree - File[] getJarFiles(String opt) and hence String[] getJars(String opt) now includes jar files recursively in the jars area (e.g. it will follow symbolic links) of an option tree. / - InternalUseOnly sub-class Results.Function moved to parent class as Table.Function. (Note this relates to the nxm.sys.lib.Results library that is used internally and does not affect the RESULTS command.) / - Numerous methods in Table class now marked "final" to prevent incomplete overrides such as those that caused Bug 2929 (Bug 2929 was fixed in NeXtMidas 3.5.4).
Jar Files removed - The swing-layout-1.0.jar file was deprecated in NeXtMidas 3.3.0. It is no longer used by SYS and have been removed. Use standard Java 6 javax.swing.GroupLayout instead of org.jdesktop.layout.GroupLayout (they are the same, just in a different package).
Anyone with option trees that uses this JAR file can copy it from the NeXtMidas 3.6.x or prior and include them with their own option tree.
FILE/FileResource - IOExceptions that occur during file write or read operations will now be propagated, instead of the old behavior of these methods just returning -1 for an unsuccessful write or read. The new environment variable FileIONoAbort can be set to revert to the old behavior. See the ENVIRONMENT explain file and/or 841173-1 for more details.
SHELLGUI - As of 3.7.1, attempting to attach multiple SHELLGUIs to a shell is no longer allowed and will give a popup error. This was never really supported and resulted the original SHELLGUI being in a bad state.
JDK Module System (allow eventual separation of graphical and non-graphical code into separate modules) - Starting in 3.9.2, to better support dockerization and eventual transition to having non-graphical code in a separate JDK module than the graphical code, we have started a path towards breaking the dependencies of the sys non-graphical packages (inc,lib,libm) on the graphical packages (libg,intr,prim,net).
Many projects depend solely on our non-graphical code. These projects could benefit from the JDK module system introduced in JDK 9. Breaking the dependencies of our core libraries on our graphical code would allow these users to have smaller release packages, as well as better performance through a faster startup time and reduced memory footprint.
A chart showing the changes and the requested user action is in this docs folder: JDK_Modularity_User_Action_Required.xlsx
Great effort has been made to ensure backwards compatibility during the transition. There should be no immediate impact to any users. Time will be given for users to make this transition. A basic summary of the changes requested of the users is:
1) Classes implementing the PlotFile Interface with their own getLayer are requested instead register the appropriate Layer's getLayer method in a registry (see spreadsheet for details)
2) Users referencing inc.MidasFrame, lib.GPrimitive, or lib.WidgetPanel are requested to change references to the new libg version of these classes. For WidgetPanel you will additionally need to either cast any references to GWidget.wp or the return value from GWidget.getWidgetPanel to (libg.WidgetPanel) OR use the new GWidget.getGWidgetPanel() If your option tree will be working with additional option trees that may not have made the transition, the additional recommended steps are shown in the spreadsheet.
3) If you are using the InternalUseOnly methods getLayer(), setMPlot(..) or getMPlot in the inc.Drawable Interface, see the spreadsheet for directions.
Please let us know if you have any questions or experience any issues. Our contact information is listed both in the User's Guide and the Training.

New Features Added

Bash Support - Support using NeXtMidas from bash shell (i.e.: source $NMROOT/os/unix/
GFC Support - As of 3.9.1, support for GFC compilers has been added
New Commands - CHECKAUTHORIZATION;SYS - Facilitates Attribute based Access Control
  - SSLCONFIGURE;SYS - Sets up Java SSL Context for either 2-way (Mutual Authentication) or 1-way authentication. Generally a SSLUtilities properties file is required. The /INSECURE switch (added in 3.9.0) is not recommended, as it sets up an all trusting truststore. With the INSECURE option, a properties file is not needed and the user's key is either auto-discovered or directly provided.
  - PRESCALER;SYS - This command is intended to be used in conjunction with PLOT to provide more accurate scaling of 1000 and 2000 files. It generates a scale table that can be either a RESULT value or EXTERNAL KEYWORD. This command should be used directly or indirectly via the new PLOT /PRESCALE<=...> with zero-padded PreD data or in other cases where the plot needs to base its scaling on a wider selection of data from the whole file. See prescaler.exp and plot.exp. (since 3.9.1)
Macro/Shell Enhancements - PATH: Jar files from "jar" area (i.e. directory) of an option tree are now included recursively (which allows symbolic links) when the option tree is added to the PATH.
  - OPTION,PATH - In 3.7.1, defined an auto-loading mechanism for finding option trees simply by their inclusion in the Java classpath. This makes use of the industry standard Java Service Provider Interface (SPI), but is not compatible with the current NeXtMidas (custom) build procedures; the changes proposed for DR 667842-19 will remove this limitation. This feature is also currently limited to option trees explicitly on the command-line classpath (-cp), due to issues with the OPTION command and underlying libraries. See DRs 855053-1, 855057-1, and 855059-1 for more details.
Libraries - Convert - nxm.sys.lib.Convert can now match Java behavior of wrapping oversized integer and long values when CoreIO.Option.FavorJavaBehaviorOverTraditionalMidasBehavior is set. This deviates from traditional Midas behavior or saturating the value. - since 3.9.0
Libraries - Keywords - The default substitute for dots in keywords (dotted keywords are common in PLATINUM) files has been "->". In 3.9.1, new API Keywords.setDotSubstitute(String) was added to allow the user to specify a custom dot substitute, as the current substitute can be confused with a lambda expression.
Libraries - DataFile - Additional Support for creating files without an extension and maintaining case during file creation was added in 3.9.1. These can be globally enabled as the default via the CoreIO.IOOptions CreateFileWithoutTmpExtenstion and CreateFileMaintainCase respectively. This behavior can also be dictated by the new BaseFile flags MAINTAINCASE and DONOTADDEXTENSION.
  - PipeResource - Since 3.9.1, nxm.sys.lib.PipeResource has not been handling timelines correctly during Pipe Restarts. A fix has been added that can be enabled by setting the CoreIO.IOOptions.FixPipeRestartTimeLines. This fix is NOT currently enabled by default, to allow time for users to evaluate this fix.
Gradle Support (BETA) - Support has been added to convert NeXtMidas to a gradle directory structure. Please find instructions located at $NMROOT/gradledocs/readme.txt
NOTE: This feature is in beta and may have issues. Please provide feedback.
Existing Commands - The list below contains NeXtMidas commands. Each command is listed with the new feature that has been added at the request of the user.
  - KEYWORD - TCDEL now deletes all timeline keywords in the DataFile - since 3.9.0
  - TGET defaults to /FLAT=true, causing issues when working with PLATINUM file keywords. In 3.9.1,the CoreIO.IOOPtions.SetKeywordDefaultFlatValueToFalse will switch the global default to /FLAT=true for Tables.
  - HTTPSERV - The new /HTTPS switch creates encrypted HTTPS connection. The /ONEWAY switch can be added to the /HTTPS switch to enable only 1-way SSL (client key is not required). - since 3.9.0
  - PANEL - /MENUBAR now allows GLabels (and their associated GWidgets) to be placed in a drop down menu bar (when the GControl Pane is collapsed). - since 3.9.0
  - PLOT - A new view 'LatLonContinuous' was added in 3.9.0. This enables continuous longitude in a Lat/Lon view (i.e. any up to 360 degree range between -180 and +540 can be displayed). This currently does not support any Map Layers, as those Layers were not needed by the requester and the strict longitude constraint for WMS specifies the request range be between -180 and 180. The implementation was designed to match the "LOOSE" WMS standard, which some map servers support, of -180 to 540 (with a maximum range of 360), to facilitate a possible addition of continuous longitude for those Map Servers.
Update since 3.9.1 Added support for continuous longitude for LayerWMS. Note: Currently there can be siginficant lag while panning. One work-around is to turn off the LayerWMS while panning.
  - A new option for prescaling a plot via /PRESCALE<=...> was added in 3.9.1. This takes advantage of the prescaler primitive to generate more accurate scale values in cases where auto-scaling proves inadequate (ex: zero-padded PreD data). See the plot.exp and prescaler.exp documentation for more details.

Known Third-Party Bugs

The following are known third-party bugs and limitations that may cause problems for NeXtMidas users.
JDK 8u20 to 8u31 - The Java Development Kit 8u20, 8u25, and 8u31's javac has a bug that prevent it from being used to build/compile the NeXtMidas baseline. This is not an issue in JDK 8u11 and prior. It is fixed in JDK 8u40. This only affects build time, Java 8 can still be used for runtime. See Java Bugs JDK-8058511 and JDK-8062272 StackOverflowError at for more information.
OpenJDK - When using OpenJDK,some users have experienced minor graphical glitches in NeXtMidas GUIs, as well as issues with monospaced fonts not actually being monospaced (which is an issue when OpenJDK is coupled with certain installations of RHEL).
XBC - 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 "" 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/ (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 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.
  - There is a known issue running OpenMP in NeXtMidas. To workaround uncomment additional properties [ifort.libs.dir] and [ifort.openmp.workaround] in the SYS build.props. [ifort.libs.dir] is the path to the Intel compiler directory. [ifort.openmp.workaround] appends the necessary flags to the compiler however the library reference must be adjusted to reflect the respective Intel compiler version (if using Intel 12.x or later use -liomp5 otherwise use -lguide the current default). See the Users Guide or the example in the XBCTESTOPT2 option tree at $NMROOT/nxm/xbc/test/nmopts/nxm/xbctestopt2 .
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.
Windows - There is a known issue related to Windows Direct3D when combined with certain hardware profiles and JDKs. This results in severe performance issues with plots, causing sluggish performance, blank plots, and CPU spikes. This is especially true in JDK 7. The workaround is to disable the Direct3D support in java via the environment variable NM_USER_JVM_FLAGS=-Dsun.java2d.d3d=false).

Known Issues

StateVector - The CubicHermite (the default in NeXtMidas 3.2) and QuinticHermite (optional in NeXtMidas 3.3) interpolation options do not appear to be working properly, particularly at the first and second derivative. At this time it has not been confirmed if the issue is due to a bug in the interpolator or just the results from using bad test data (i.e. sv1.prm which came from X-Midas). This affects both the StateVector library and the SVINTERP function in CONVERT which uses it. The suggested work-around is to use the Linear interpolation option until this issue is resolved.
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.
  - Type 2000 files with very large frame size may not load properly.
NeXtOpt - 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.
  - Timecode readout for large Type 2000 may give t=00:00:00.
Webstart - Oracle has been making frequent changes to the security restrictions for Web Start and Applets. Since Java 7u45, users may have to import a public certificate via the jconsole application in order to prevent Web Start application failures. See the Building Web Start Applications section of the User's Guide for details. In addition, as of JDK 7u51, you may see warnings related to jar file signing such as "No -tsa or -tsacert is provided and this jar is not timestamped." These warning do not impact NeXtMidas.
  - Java has removed support for Webstart in JDK 11
XBC - XBC does not support running two copies of the same command simultaneously.
  - Do NOT use "-check all" with the Intel compliers because some of the legacy fortran libraries make assumptions that are incompatible with "-check all" causing unnecessary aborts (SEGFAULT).

Bugs Fixed

All NeXtMidas issues and enhancements are tracked using a bug tracker/database. GForge DR number is included for all customer-submitted bugs. GForge entries are listed "n/a" for bugs that are duplicates or internal use.

Bugs Fixed in Release 3.9.2 (20 Jan 2020)
JIRA Issue GForge DR Description
NXM-3078 823803-3 PLOT: Does not display zero-padded Pre-D data - fixed various aspects of the RANDOM sampling option
NXM-3100 824487-3 Keywords: NullPointerException when calling deleteScope
NXM-3343 828354-22 LayerKML does not load on change
NXM-3391 828791-22 sslconfigure/insecure/oneway does not work
NXM-3413 829576-22 Map maintains margins and moves Y axis on Lat/Lon and Lat/Lon Continuous views
NXM-3414 829577-22 Switching views causes lat/lon lines to disappear
NXM-3416 829579-22 LatLonContinuous Mouse Pan
NXM-3417 829580-22 LatLonContinuous Zoom Panning
NXM-3428 N/A MULAWDECODE - fix calculation port
NXM-3442 876306-21 CONVOLVE: broken when impulse data type is SD (double) or SX (long)
NXM-3436 829752-2 sslconfigure issue with NXM 3.8.3
NXM-3458 830053-22 Need httpgetdata support turning off host name verification
NXM-3459 830054-22 httpgetdata doRequest method should have option to take in a request
NXM-3459 830054-22 httpgetdata doRequest method should have option to take in a request
NXM-3461 830052-22 sslconfigure needs ALLOWALLHOSTS switch
NXM-3474 830295-22 WebSwing integration - WebSwing turns a Java Swing Application into a Web Application. This DR is to provide some initial support, as converting a NeXtMidas application to a Web Application via WebSwing is still experimental, but it looks very promising. As part of this DR, a rough quick startup guide is provided in the Users Guide
NXM-3477 830394-22 SSLUtilities Secmod already configured - SSL configuration exception

Bugs Fixed in Release 3.9.1 (12 Aug 2019)
JIRA Issue GForge DR Description
NXM-2934 667842-19 MAKE: no capability to retrieve external dependencies (Gradle)
NXM-3030 822542-3 PKIAUTH integration should include Web Start Issues - addressed loading PKI certs from NSS and CAPI, but not currently addressing Web Start portion of issue (as Web Start has been removed in JDK11)
NXM-3042 865097-1 TimeLine Extension / overriding - added Timelines section to User's Guide
NXM-3078 823803-3 PLOT: Does not display zero-padded Pre-D data
NXM-3094 824012-3 Need X-Midas style /MTAG support for XGEOPLOT
NXM-3096 823947-3 Hundreds of JavaDoc warnings in 372 release
NXM-3120 872678-1 Table: support for Java Number - storing primitive types, deserialization (extra section added to User's Guide)
NXM-3131 873162-1 PLOT: TLOPs sometimes not showing up - fixed issues with TDOA/FDOA, State Vector, LayerT5 objects, and certain other lines not rendering at higher zoom levels
NXM-3132 873204-1 CONVERT: IndexOutOfBoundsException converting data type of Type 2000
NXM-3144 825099-3 Unable to create BLUE file without extension
NXM-3157 825490-3 CONVERT: Incorrect numeric conversions with 64-bit integer values
NXM-3185 826095-3 Need way to remove timeline keywords - added DataFile API for editing timeline keywords
NXM-3214 873590-21 LIST2 control Null pointer exception
NXM-3251 N/A Panel: Line borders disappear when dragged off screen
NXM-3284 826930-22 PLOT: Lat/Lon Map addition of view LATLONCONTINUOUS (added support for LayerWMS)
NXM-3299 827237-22 Need OpenJDK11 support quickly - addressed more JDK 11 issues, but still need a replacement for Web Start and soon for certain SSL API
NXM-3304 827500-22 NeXtMidas Logging Inadequate
NXM-3311 827428-22 KEYWORD TGET can not handle dotted keywords
NXM-3313 827585-22 Need Insecure SSL Connections (i.e. need 1-way SSL/HTTPS)
NXM-3332 883335-1 PLOT: Scroll bar disappears after scrolling off page
NXM-3337 883474-1 MJText breakage causes text to not display on small text areas (msglog)
NXM-3339 873462-21 Mouse Wheel (percentage) zoom on large 1000/2000 file breaks after panning plot
NXM-3391 828791-22 sslconfigure/insecure/oneway does not work
NXM-3394 828926-22 OutOfMemory: when zooming in on a small area of an ellipse
NXM-3400 N/A Plot popupmenu overlapping when not inside parent panel

Bugs Fixed in Release 3.9.0 (29 Jan 2019)
JIRA Issue GForge DR Description
NXM-2945 821334-3 List Type for Tables/Results
NXM-3075 668363-19 Merge in into UCL option tree
NXM-3084 824488-3 NeXtMidas 3.7.2 PKI/SSL Phase 1 unusable at site without fixes (JDK 8 based improvements)
NXM-3152 825391-3 Numerous Bugs in ShapeFile and DbfFile
NXM-3157 825490-3 Convert: Incorrect numeric conversions with 64-bit integer values
NXM-3185 826095-3 Need way to remove timeline keywords (partial fix)
NXM-3210 668940-19 FFT Restart Changes NAVG
NXM-3213 826567-22 Graphics severely degraded on CentOS7 (override proper method paintComponent rather than paint)
NXM-3217 881570-1 LayerT5 deletePoints does not delete all the piped points
NXM-3229 877610-1 clear method should remove plot data in all cases
NXM-3253 669085-19 GeodeticUtils.computeCircleLL has issues when crossing date line (fix complete)
NXM-3284 826930-22 PLOT: Lat/Lon Map addition of view LATLONCONTINUOUS
NXM-3294 827714-3 references pipe fields removed in X-Midas 5.x
NXM-3299 827237-22 Need OpenJDK11 support quickly (minimal support has been added)
NXM-3313 827585-22 Need Insecure SSL Connections
NXM-3316 882617-1 3.7.2 breakage - DRAGBOX not rendering while being drawn on SUSE Linux
NXM-3317 882618-1 3.8.1 breakage causing zoomed plots to render out of bounds
NXM-3321 882903-1 Panel needs menu bar capability to preserve screen space for plots
NXM-3322 827881-22 httpserv command needs to support HTTPS

Deprecated Functionality

The following functionality has been deprecated and will be removed from future versions:
Command Deprecated Item Replacement Deprecated Since
PLOT ZOOM and DRAGBOX messages accessed with,, etc. Use,, 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. Include 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
NMPOSTLEGACY The user-contributed NMPOST (Legacy) option tree is out of date and is usually replaced with author's version. Get latest from the authors of NMPOST. 3.3.1
public fields in baseline classes All public fields in classes in option trees (SYS, DSP, UCL, etc.) included in the baseline (e.g. nxm.sys.lib.BaseFile, nxm.sys.lib.DataFile, nxm.sys.lib.Shell, etc.) have always been meant for read-only and/or internal use only. Some fields may transition to protected or private in favor of the get/set methods as early as 3.9.0. Use appropriate public get/set methods. 3.5.1
PLOT All public fields in nxm.sys.prim.plot, nxm.sys.libg.MPlot, nxm.sys.libg.Layer* (e.g. Layer1D, Layer2D, etc.) have always been meant for internal use only. Most will transition to protected access in 3.9.0 but will still be for internal use only. Use appropriate public get/set methods. 3.5.1
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)