Changes between release 4.2.0 and 4.2.1 are listed in blue.
Changes between release 4.2.1 and 4.2.2 are listed in green.
Changes between release 4.2.2 and 4.2.3 are listed in teal.
We will officially stop supporting JDK 8 when it reached end of Full Support on November 30, 2026.
We will not immediately remove support via our preprocessing step that
swaps code based on the JDK compiler, but we will no longer test with JDK 8.
In 2027, we plan to remove support for any JDK less than 17.
NeXtMidas SYS Option Tree Tested on: (tests with Java 8, 17, 21, 25, and some 26) |
||||
|---|---|---|---|---|
| OS Version | Platform | Native Compiler(1)(2)(3) (SYS Option tree) |
Web Browser (WebStart) |
|
| CentOS 7.9 | Linux (x86_64) | gcc 4.8.5 / Intel 2019, 2020, 2021, 2022 / Intel LLVM 2022 | Firefox 115.10.0esr (64-bit) with IcedTea-Web 1.8.3 | |
| RHEL 8.10 | Linux (x86_64) | gcc 8.5.0 / Intel 2021, 2022, 2023 / Intel LLVM 2022, 2023, 2024, 2025 | ||
| RHEL 9.7 | Linux (x86_64) | gcc 11.5.0 / Intel 2022, 2023 / Intel LLVM 2022, 2023, 2024, 2025 | ||
| RHEL 10.1 | Linux (x86_64) | gcc 14.3.1 / Intel LLVM 2025 | ||
| Ubuntu 24.04 | Linux (x86_64) | gcc 13.3.0 | ||
| Windows 10 | Windows (x86_64) | pre-compiled DLLs (MinGW64 gcc 12.2.0) | ||
| Windows 11 | Windows (x86_64) | pre-compiled DLLs (MinGW64 gcc 12.2.0) | ||
| Fedora 40 | Linux (x86_64) | gcc 14.1.1 | ||
| Fedora 42 | Linux (x86_64) | gcc 15.2.1 | ||
| Debian 11.9 | Linux (x86_64) | gcc 10.2.1 | ||
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) (tests with Java 8, 17, 21, 25, and some 26) |
||||
| OS Version | Platform | X-Midas Mode | C/C++ Compiler(1)(2)(3) | Fortran Compiler(2)(3) |
| CentOS 7u9 | Linux (x86_64) |
NeXtOpt (X-Midas 5.9.5) | gcc 4.8.5 / Intel 2019, 2020, 2021, 2022 / Intel LLVM 2022 | gfc with DEC FORTRAN ext. 4.8.5 / Intel 2019, 2020, 2021, 2022 |
| NeXtOpt (X-Midas 5.8.1) | gcc 4.8.5 / Intel 2019, 2020, 2021, 2022 / Intel LLVM 2022 | gfc with DEC FORTRAN ext. 4.8.5 / Intel 2019, 2020, 2021, 2022 | ||
| NeXtOpt (X-Midas 5.6.3) | gcc 4.8.5 / Intel 2019, 2020, 2021 | gfc with DEC FORTRAN ext. 4.8.5 / Intel 2019, 2020, 2021 | ||
| XBC ("64Bit") | gcc 4.8.5 / Intel 2019, 2020, 2021, 2022 / Intel LLVM 2022 | gfc with DEC FORTRAN ext. 4.8.5 / Intel 2019, 2020, 2021, 2022 | ||
| RHEL 8u10 | Linux (x86_64) |
NeXtOpt (X-Midas 5.11.3) | gcc 8.5.0 / Intel 2021, 2022, 2023 / Intel LLVM 2022, 2023, 2024, 2025 | gfortran 8.5.0 / Intel 2021, 2022, 2023 / Intel LLVM 2024, 2025 |
| NeXtOpt (X-Midas 5.10.1) | gcc 8.5.0 / Intel 2021, 2022, 2023 / Intel LLVM 2022, 2023, 2024 | gfortran 8.5.0 / Intel 2021, 2022, 2023 / Intel LLVM 2024 | ||
| NeXtOpt (X-Midas 5.8.2) | gcc 8.5.0 / Intel 2021 2022, 2023 / Intel LLVM 2022, 2023 | gfortran 8.5.0 / Intel 2021 2022, 2023 | ||
| XBC ("64Bit") | gcc 8.5.0 / Intel 2021, 2022, 2023 / Intel LLVM 2022, 2023, 2024, 2025 | gfortran 8.5.0 / Intel 2021, 2022, 2023 / Intel LLVM 2024, 2025 | ||
| RHEL 9u7 | Linux (x86_64) |
NeXtOpt (X-Midas 5.11.3) | gcc 11.5.0 / Intel 2022, 2023 / Intel LLVM 2022, 2023, 2024, 2025 | gfortran 11.5.0 / Intel 2022, 2023 / Intel LLVM 2024, 2025 |
| NeXtOpt (X-Midas 5.10.1) | gcc 11.5.0 / Intel 2022, 2023 / Intel LLVM 2022, 2023, 2024, 2025 | gfortran 11.5.0 / Intel 2022, 2023 / Intel LLVM 2024, 2025 | ||
| NeXtOpt (X-Midas 5.8.2) | gcc 11.5.0 / Intel 2022, 2023 / Intel LLVM 2022, 2023 | gfortran 11.5.0 / Intel 2022, 2023 | ||
| XBC ("64Bit") | gcc 11.5.0 / Intel 2022, 2023 / Intel LLVM 2022, 2023, 2024, 2025 | gfortran 11.5.0 / Intel 2022, 2023 / Intel LLVM 2024, 2025 | ||
| RHEL 10u1 | Linux (x86_64) |
XBC ("64Bit") | gcc 14.3.1 / Intel LLVM 2025 | gfortran 14.3.1 / Intel LLVM 2025 |
| Fedora 40 | Linux (x86_64) |
XBC ("64Bit") | gcc 14.1.1 | gfortran 14.1.1 |
| Fedora 42 | Linux (x86_64) |
XBC ("64Bit") | gcc 15.2.1 | gfortran 15.2.1 |
|
(1) $NM_CC and $NM_CXX were set to point to the Intel C/C++ compiler (icc/icpc or icx/icpx), where applicable. (2) Intel 2020 and earlier refers to Intel Parallel Studios, whereas Intel 2021 and later refers to Intel oneAPI. (3) Intel refers to the default ifort/icc/icpc compilers, whereas Intel LLVM refers to the ifx/icx/icpx compilers. |
||||
Via Web Browser:
$NMROOT/htdocs/help/index.html
(Now includes the
NeXtMidas Training Class and an updated version of the NeXtMidas User's Guide.)| BaseFile/DataFile | - | DataFile constructors have been fixed so that when KeepCase is passed in as a flag, the constructor honors it. The bigger change in progress is that a bug in Java usage, where a quoted all upper case filename is automatically lower cased is being addressed by distiguishing between Java (including OS command usage) and traditional Midas usage (from a macro or nM> prompt). Due to limits in how NeXtMidas RESULTS are handled and the macro language, the legacy/correct behavior for traditional Midas usage is for all upper case file names that make it to this BaseFile (and its child classes) to be assumed to be all lower case. The new default for Java API usage (and OS usage) will be for file name casing to be honored. |
| CHECKAUTHORIZATION | - | PLEASE INFORM the NeXtMidas team if you are using this command. Usage to perform the actual queries is now limited due to REST attribute services going to a more complex query mechanism. Use this with caution! This command, especially the REST query based portion, may be deprecated in the near future, unless we hear it is still useful. |
| DATABASE (NMDB) | - | Upgrading to an hsqldb jar that does not have a vulnerability
now has the result sets coming back first row first (rather than last).
It also causes a divide by zero exception on queries such as: select distinct round(id/0.1,2) as ....,
where select distinct round(id/1e-1,2) as ... still works.
The code has been adjusted to support getCSV() returning values in legacy order.
A static setter can be used to get the new natural behavior. IMPORTANT: Since the hsqldb jar is only used for automated testing, we are only including the JDK11+ version of the jar. We anticipate removing the jar all together when we start the 43x series, as having it bloats the baseline and increases the risk of releases having a CVE. |
| DATALIST/DataFile | - | listElements(double,int,String,int) has been updated to use different API which allows a scalar separator to be specified for listing type 1000 and default elements. The default scalar separator was ',', but as of NeXtMidas 4.1.2, it is '|'. To change this delineator, use the static setter DataFile.setScalarSeparator(String). |
| LayerWMS | - | wms_coor_sys.xml has been updated to prefer the newer EPSG:4326 Coordinate Reference System over the older CRS:84. |
| MApplet | - | Applet support is being dropped from the 41x series, since Java has marked Applets as deprecated for removal. Though the direct dependencies have been removed in 4.1.0, extra code clean up will be done in future releases. |
| PLOT/ALL | - | PLOT/ALL of a 1000 file will automatically prescale the data, as the purpose of the /ALL switch was that all the data would be rendered within the plot bounds. Without this fix, some of the 1000 data can end up beyond plot bounds, without the user realizing it. The only reason this is listed in the What Might Break is that prescaling does add a small amount of overhead. |
| SSSLCONFIGURE/SSLUtilities | - | PEM file requirements: 1) .pem follows good security practices and only has one certificate chain 2) .pem has each of its certificate chains start with the private key (ex: private key, primary cert, intermediate certs, root cert) If multiple private keys are found and the preferred order (private key first) is not followed, the load of the .pem is aborted, as there is not a reliable means of handling key and certs being in any order. Even if the preferred order is followed, the user will be warned about multiple private keys. |
| SSLUtilities.verifyGroupProject and SSLUtilities.verifyUserAttribute | - | These methods were intended for use by CHECKAUTHORIZATION, rather than direct usage. As mentioned with the CHECKAUTHORIZATION command, these are beyond useful life as REST attribute services are going to a more complex query mechanism. Please let the NeXtMidas team know if you have an application where they are useful, as the plan is to deprecate these methods. |
| Time | - | Times greater than one day and less than or equal to one year have been displayed in 1950 time formats. As of 4.1.2, times greater than one day and less than or equal to one year are displayed in relative time formats, such as 'DDD:HH:mm:ss.SSS' for STD and ACQ times, as well as 'sec_in_year' for EPOCH times. |
| Intel oneAPI 2021 | - | As of 4.0.1, XBC and NeXtOpt have been tested with Intel oneAPI 2021. Intel oneAPI provides a free version of Intel that does not require a license to use it. |
| RHEL 8+ | - | As of 4.2.0, NM_FORTRAN accepts 'gfc', 'gfc-gfortran', or 'gfortran' for the gfc FORTRAN compiler. |
| - | NeXtMidas will autodetect which compiler to use based on the OS. | |
| - | The JDK 8 tools library is not and will not be FIPS compliant. NeXtMidas supports multiple options for working with JDK 8. In all cases our TLS is 1.2 and is FIPS compliant and the overall Linux setting remains FIPS compliant. One option is to compile NeXtMidas code with JDK 8 and to use a separate JDK 17+ for JAR signing and other actions that require using Java tools library. The default is to turn off FIPS for JAR signing and other direct Java tools usage. See the SecureRHEL8FIPS.html page in our User's Guide for more details. | |
| - | Earlier versions of NeXtMidas require softlinks to use the gfortran. In support of this, the script gfc-softlinks-rhel8plus.sh has been added to the 414 and 405 release packages. | |
| LIBNXM / Reduced Footprint Build Options | - | A number of reduced footprint build options are available as of 4.1.3. See our User's Guide for more information (links below work when docs are built). |
| JDK Compiler based code | - | Due to the need to continue to support JDK 8, while also supporting the most current JDK,
we are beginning to support very limited pre-compile code swapping based on a .jdk, .jdk##
convention. This is done automatically and keeps users from needing to manually uncomment
or comment out code to get efficient or fully functional behavior. As of NeXtMidas 4.1.1,
the only code affected is the CallStackUtil code and MulticastSocketOptions code.
To get full and efficient JDK9+ behavior required following directions in CallStackUtil.java and
uncommenting and commenting out code. Even so, this still left users with a log message with a stacktrace. Advanced details: The minimal code that needs to be swapped is now in CallStackUtilSwap.jdk08 and CallStackUtilSwap.jdk (and MulticastSocketOptions respectively). The .jdk08 indicates that version will be placed in CallStackUtilSwap.java (or MulticastSocketOptionsSwap.java) when compiled with java versions up to 8. The .jdk indicates that version will be copied to the java file for all JDK versions beyond the latest ## (in .jdk##). This should largely be transparent to the user, both with traditional NextMidas builds and with Gradle builds. |
| New Commands | - | CHECKTIMEKEYWORDS;SYS - Visualization tool for diagnosing issues with uSec or TC high precision time codes |
| - | CONVERTARGB;SYS - Converts type 2000 data to ARGB (Alpha|Red|Green|Blue) direct color format. A new /ALPHA0COLOR switch has been added which will force one color (generally the background - no signal present color) to be transparent. This allows multiple rasters to be displayed on single plot. | |
| - | POLYMAP;SYS - Supports creation and customization of Type 1999 files. These 1999 can be created from either ShapeFiles or GeoJSON files. Customization options include skipping or keeping specified polygons or replacing coordinates in specific geographic regions. | |
| - | SHAPEMAP;SYS - Supports creation of customized ShapeFiles. Individual polygons can be reshaped by replacing coordinates in a certain geographical areas with other coordinates. | |
| - | WEBVNCSERVER;WEBVNC - An HTTP/1.1 server that proxys a VNC session to a HTML Canvas using noVNC. Automatically starts a vncserver and websocket proxy for each client. Since NeXtMidas 4.1.1. | |
| New Option Tree | - | minio -
|
| Macro/Shell Enhancements | - | Startup Macros can now accept arguments
|
| - | Improved Macro ERROR checking and messages. | |
| Libraries | - | DataFile - Better support for PLATINUM files. When PLATINUM files are used as input to a function (ex: FFT, not just STATUS/KEY) the default is now to use the NeXtMidas underlying libraries for PLAT2BLUE conversion to automatically convert PLATINUM Keywords to BLUE. A warning is issued when the PLATINUM file is missing keywords (as defined by the JICD 4.2 ICD). This default autoconversion of PLATINUM can be disabled globally or on a file by file bases. The previous behavior was to error out under these conditions. |
| - | DataTypes
|
|
| Gradle Support | - | Support has been added to convert NeXtMidas to a gradle directory structure (full restructure or softlinks options) and to publish artifacts to Nexus. Please find instructions located at $NMROOT/gradle/README.txt |
| - | Support has also been added to convert user option trees to a gradle directory structure (full restructure or softlinks options). Please find instructions located at $NMROOT/gradle/README.txt | |
| - | Support for pulling some dependencies and relying on local jar files for others, as well as pulling only the dependencies needed when opting for LIBNXM mode or another reduced footprint option. | |
| Midas versus Java usage detection | - | Support for detecting Midas versus Java usage is being phased in. The immediate need was for the casing for file names passed in in quotes via Java API to be honored, rather than having all upper case names automatically converted to all lower case names. There are other scenarios users have been experiencing where traditional Midas behavior conflicts with Java behavior. With many users running primarily as a Java Application, it is important for Java usage to be compatible with other Java code. For the 41x/42x series legacy behavior will continue to be the default. Starting with the 43x series auto-detection of Java versus Midas usage will be the default. NeXtMidas usage coming from a macro, nM>, or single-shot mode (nm ....) will be auto-detected as traditional Midas usage, where running a Java application from a main will be considered Java usage. As of 4.1.4 users can opt in to Java usage via the environmental variable NM_JAVA_MODE being set to "ON" or by setting needJavaBehavior() on their Midas instance. |
| 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. |
| - | CONVERT
|
|
| - | GCONTROL
|
|
| - | IF
| |
| - | FEATURE
|
|
| - | FFT
|
|
| - | MACRO
|
|
| - | PANEL
|
|
| - | PLOT
|
|
| - | QUERY
|
|
| - | RMIF
|
|
| - | STATISTICS
|
| RHEL 10 Monospaced text height change | - | The underlying Font used for Monospaced now has a text height of 17, rather than the previous 15. NeXtMidas defaults to Monospaced for text. This especially affects panel graphics and the laying out of the graphical controls in Pane0. |
| JDK 17.0.1 libsvml.so name conflict (JDK-8276025) | - | JDK 17.0.2 has fixed a 17.0.1 issue caused by Java adding a library with a name conflict with a common native library. 17.0.1 causes the XBC option tree build to fail with an UnsatisfiedLinkError. |
| OpenJDK 8 versions earlier than 1.8.0_312 are not supported | - | To avoid deprecation warnings about too weak of a signing certificate, the NeXtMidas self-sign certificates were updated to a standard that is not supported in earlier JDK 8 versions |
| Reflective Access JDK 9+ (warning) JDK17+ (error) | - | Warnings are thrown for illegal access using reflection in Java 9 and up and errors in JDK17 and up. When running from
When the running via the NeXtMidas start script, the jvm options shown below are included and there
are no warnings or errors. To bypass the warning/error, add this to the jvm runtime options: --add-opens java.logging/java.util.logging=ALL-UNNAMED --add-opens java.base/java.security=ALL-UNNAMED For more information please visit Oracle JDK 14 Documentation |
| RHEL 8 GCC 8.5.0 | - | We have put in a workaround in rmif.for for a bug in the GCC FORTRAN compiler that comes with RHEL 8. This allows our NeXtOpt code to build and run, but please let us know if you experience any further issues building and running with this compiler. Fritz Reese has narrowed down this bug and states: The compiler crash (ICE) is triggered by STRUCTURE /PACKETSTRUCT/ having 8 fields followed by a UNION. When –fdec is combined with –finit-derived and –finit-local-zero, some code in the compiler creates a bad initializer for instances of PACKETSTRUCT which leads to invalid memory access. It turns out this happens because the routine that adds an element to the field initializer vector for unions uses an insidious macro which apparently modifies the vector pointer on resize; the default size of this vector is 8 elements, so upon adding the 9th field initializer the vector is resized by allocating a new vector, copying the elements over, freeing the old vector, and reassigning the pointer variable. Since the union routine took the vector pointer as an argument (by value), the caller’s vector pointer wasn’t updated after the resize, and therefore the caller’s idea of the vector was a pointer to freed memory. Chaos ensues later at random points in the compiler which deal with this initializer vector during optimization, finalization, etc... Unfortunately, because of the nature of this bug, subtle changes in how the compiler visits the initializer trees and how other memory is allocated can mask the bug, so there’s no guaranteed workaround other than to ensure there’s no union which is after the 2*8^n-th field (9th, 17th, etc…) in a structure. |
| 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. |
| 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. | |
| 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 in Release 4.2.3 (26 Mar 2026) |
||
|---|---|---|
| JIRA Issue | GForge DR | Description |
| NXM-3702 | 840358-22 | Need features to be selectable so they can be moved or stretched |
| NXM-3948 | 838899-22 | LIST2/MJList not handling column width correctly where format is not recognized |
| NXM-4061 | 839924-22 | PLOT throws Exception rather than giving File Not Found information |
| NXM-4064 | 839934-22 | GCONTROL regression causes panel graphical controls table to not get formed |
| NXM-4093 | 840132-22 | Message needs to support sending messages to submacro or parent |
| NXM-4116 | 840343-22 | Gradle build needs to support soft links of user option trees |
| NXM-4139 | 840548-22 | LayerKML selection logic flawed |
| NXM-4143 | 898214-21 | Gradle build failure |
| NXM-4152 | 898682-21 | MACRO failures give little indication of line or even procedure |
| NXM-4260 | 841414-22 | Map Type 5000 lines need to be selectable |
| NXM-4186 | 840915-22 | RHEL 8+ FIPS JDK 8 and 11 Failures |
| NXM-4191 | 840962-22 | QUERY regressions cause user request to be ignored and can cause lockup |
| NXM-4214 | 899654-21 | Country Names should be displayable on ShapeFile plots |
| NXM-4222 | 841116-22 | Conversion of IEEE file to EEEI file broken in 394 |
| NXM-4326 | 841928-22 | minio 8.15.17 jar has CVE |
| NXM-4368 | 902981-21 | MPlot NPE bug related to elasticFeature |
Bugs Fixed in Release 4.2.2 (25 Sep 2025) |
||
| JIRA Issue | GForge DR | Description |
| NXM-2248 | 666587-19 | Cannot Select multiple countries in PLOT |
| NXM-3128 | 825090-3 | Add complex input support to SIGSTATISTICS |
| NXM-3333 | 883336-1 | Allow multiple rasters on a single plot |
| NXM-3421 | 884304-1 | Higher Resolution Maps |
| NXM-3586 | 832206-22 | Setting DISPLAY after NMSTART does not work |
| NXM-3682 | 834133-22 | Circular code in call to MPlot.setTime |
| NXM-3848 | 837033-22 | NeXtMidas Startup Macro needs to accept arguments |
| NXM-3899 | 837911-22 | FFT needs magnitude, 20log, and dB log on cross spectrum output |
| NXM-4022 | 839421-2 | Rmif dropping packets when sending many messages within a single second |
| NXM-4029 | 839477-22 | PANEL AUTOGRID needs to support uneven layouts |
| NXM-4033 | 839606-22 | DSP reformat & demux ignoring Data Type portion of FORMAT |
| NXM-4037 | 839621-22 | DATALIST listing wrong number of elements per line for HEX and binary |
| NXM-4051 | 839797-22 | Histogram fails with complex input data |
| NXM-4056 | 896829-21 | STATISTICS needs real and imaginary min and max |
| NXM-4105 | 840292-22 | LayerGeo: Need to be able to have horizon at altitiude and not just horizon |
| NXM-4117 | 840342-22 | Feature menu should use tree when features are part of a group |
| NXM-4283 | 841663-22 | CVE in NeXtMidas commons-lang3.jar 3.14.0 dependency |
Bugs Fixed in Release 4.2.1 (25 Mar 2025) |
||
| JIRA Issue | GForge DR | Description |
| NXM-1277 | 767451-1 | RMIF Table toString of Number Objects |
| NXM-3522 | 879778-21 | LayerT5 default point selection mode selects wrong point when view=GEO and the point is not on surface of earth |
| NXM-3742 | 835165-22 | Need control over buffer size in DatagamData |
| NXM-3774 | 835955-22 | Nextmidas should add support for minio storage |
| NXM-3828 | 836757-22 | Inefficient Table Filter on Keys |
| NXM-3923 | 893424-21 | NXM should allow points selected to not change color |
| NXM-3933 | 838984-22 | Text area comes up scrolled to wrong position |
| NXM-3952 | 894082-21 | Process Message Data Containing Periods in Keys |
| NXM-3988 | 894929-21 | StateVector performance issue |
| NXM-3994 | 839040-22 | 3.9.1 ellipse rendering regression |
| NXM-4017 | 839423-22 | LayerT5: Operators need to know the number of points matching their selection |
| NXM-4018 | 839422-2 | LayerT5: points highlighted as points of interest need to get preference |
| NXM-4048 | 839723-22 | PLOT/ALL of 1000 file only showing portion of data |
| NXM-4055 | 839884-22 | DSP TUNER regression breaks Output IF band center |
| NXM-4063 | 839912-22 | Macro keyword argument error |
| NXM-4065 | 839998-22 | PLOT readout should include radius on IQ plots |
| NXM-4104 | 840313-22 | SSLUtilities not handling PEM file chain |
Bugs Fixed in Release 4.2.0 (24 Sep 2024) |
||
| JIRA Issue | GForge DR | Description |
| NXM-3832 | 836757-22 | Inefficient Table Filter on Keys |
| NXM-3886 | 892166-21 | Support for CTF RHEL 9 Upgrade - additional fix to automatically pick up gfortran |
| NXM-3904 | 893423-21 | NXM should be able to provide current (LayerT5) points or subsets to users |
| NXM-3907 | 893418-21 | Popup information is confusing when plotting non-geodetic data |
| NXM-3925 | 893419-21 | Table formatting is poor when viewed within popup window |
| NXM-3946 | 838494-22 | LayerT5 needs better means of setting size of points buffer |
| NXM-3961 | 838568-22 | plot world.shp opaqness changes on dragbox |
| NXM-3979 | 838932-22 | MPlot.drawCone previous behavior broken |
| NXM-4003 | 895142-21 | Keywords throws ArrayIndexOutOfBoundsException - putMain vs put and putALL |
| NXM-4010 | 839270-22 | Conversion bugs in Native.c and Convert.java for PACKED data |
| NXM-4014 | 839420-22 | Point count inaccurate in LATLONCONTINUOUS |
| NXM-4045 | 896577-21 | Gradle should only pull dependencies needed |
| NXM-4048 | 839723-22 | PLOT/ALL of 1000 file only showing portion of data |
| NXM-4049 | 896576-21 | Gradle build should not fail when included jars specified as local dependency |
Bugs Fixed in Release 4.1.4 (24 Jun 2024) |
||
| JIRA Issue | GForge DR | Description |
| NXM-3415 | 829578-22 | Feature locations are not correct in geodetic view |
| NXM-3664 | 833158-22 | Need more time format control on gcontrol TVAL |
| NXM-3679 | 833887-22 | Support for GEO Json |
| NXM-3774 | 835955-22 | Nextmidas should add support for minio storage (starter option tree) |
| NXM-3790 | 890666-21 | JSONUtilities.toJSON() needs to handle the most common cases more efficiently |
| NXM-3892 | 837769-22 | keyword TGET does not work on platinum 2 file |
| NXM-3912 | 838110-22 | GCONTROL FILE bug causing file names to be subject to 10 character limit |
| NXM-3940 | 838900-22 | GWidget NullPointerException at rundown |
| NXM-3981 | 838931-22 | Map margin and bounds wrong after DRAGBOX zoom |
| NXM-4044 | 839834-22 | DATABASE hsqldb.jar has CVE and is not needed by baseline code |
| NXM-4048 | 839723-22 | PLOT/ALL of 1000 file only showing portion of data (basic fix is in) |
| NXM-4053 | 896645-21 | NeXtMidas release packages should have release version that does not include dependency jars |
| NXM-4065 | 839998-22 | PLOT readout should include radius on IQ plots |
| NXM-4095 | 840134-22 | PLOT: time axes readouts should default to date string |
| NXM-4097 | 840203-22 | BaseFile creates filename with wrong casing (partial) |
| NXM-4099 | 840227-22 | DataFile constructors ignoring file naming flag |
Bugs Fixed in Release 4.1.3 (12 Dec 2023) |
||
| JIRA Issue | GForge DR | Description |
| NXM-3622 | 882570-21 | GeodeticUtil.getCountryInfo results are not even close |
| NXM-3630 | 832824-22 | Layer KML popup doesn't display HTML descriptions correctly or set the right size |
| NXM-3652 | 833550-22 | Don't reset zoom when layers come and go |
| NXM-3671 | 833792-22 | Thin DataFile needed |
| NXM-3785 | 836266-22 | Midas File Transfer (MFTP) broken by JDK 17 |
| NXM-3821 | 836903-22 | PLOT: comes up zoomed in when outer limits are set, but not view limits |
| NXM-3835 | 836824-22 | HTTPSERV behavior does not match intended or documented behavior |
| NXM-3838 | 836851-22 | CallStackUtil JDK9+ version NullPointerException |
| NXM-3857 | 837174-22 | IF is missing the ability to check if a File (file or directory) exists |
| NXM-3858 | 837254-22 | Y Cut does not work on pipe data |
| NXM-3860 | 837255-22 | nmbat is missing Bash support |
| NXM-3870 | 837678-22 | NotSerializableException thrown when try to serialize classes that implement Serializable |
| NXM-3871 | 891836-21 | Basic BLUE2JSON Support (completed) |
| NXM-3872 | 891850-21 | BLUE2JSON should support a conversion table allowing simple mappings and conversions (completed) |
| NXM-3886 | 892166-21 | Support for CTF RHEL 9 Upgrade |
| NXM-3893 | 837770-22 | IOResource error in handling Resource Group case |
| NXM-3900 | 837912-22 | panel: NullPointerException when deleting Pane with null panel |
| NXM-3910 | 893421-21 | LayerT5 should support points that are symbols/icons |
| NXM-3914 | 893422-21 | Filters and highlights should have separate APIs |
| NXM-3926 | 893420-21 | Point accessor functions return incorrect position values for non-geodetic data |
| NXM-3934 | 838323-22 | Support for 3D ellipsoids |
| NXM-3972 | 837770-22 | TIMECODE is not correctly propagated when a file has timecode, time hack keywords and xstart |
| NXM-3980 | 838858-22 | Need updated packages due to IAVA alerts |
| NXM-3984 | 894700-21 | SSLUtilities/CHECKAUTHORIZATION need updating |
| NXM-3990 | 839039-22 | LayerKML popup has Lat and Lon reversed |
Bugs Fixed in Release 4.1.2 (06 Jun 2023) |
||
| JIRA Issue | GForge DR | Description |
| NXM-3547 | 831582-22 | Remove all applet support from NXM 3.9.x series |
| NXM-3567 | 832027-22 | X Cut Does not work on pipe data |
| NXM-3629 | 832822-22 | Clear max points causes drawing problem |
| NXM-3675 | 884739-21 | MapKBT/KeyValuePairSupport throwing NullPointerException |
| NXM-3689 | 889478-21 | LayerDrawable/LayerT5 needs to consider points deselected when layers are hidden or closed |
| NXM-3778 | 888145-21 | MPlot.drawCone / GeodeticUtil.computeConeLLA(..) issue - optimize fix and make usable by both |
| NXM-3780 | 836095-22 | NXM builds need to set a status code |
| NXM-3781 | 889232-21 | RMIF window resynch logic - needs state machine logic - additional fix |
| NXM-3783 | 889475-21 | GeodeticUtil.insidePolygon 3.8.1 speed regression |
| NXM-3787 | 836090-22 | Need better support for Blue 2.0 (platinum) - handle additional Platinum keywords |
| NXM-3814 | 836763-22 | NFileResource.open bad file descriptor check |
| NXM-3820 | 836902-22 | PLOT: Readout on axis tries to draw even when turned off |
| NXM-3831 | 836776-22 | NeXtMidas needs to support applications being accessible via a client’s web browser |
| NXM-3844 | 837016-22 | HPAGE needs to make request header information available to applications |
| NXM-3846 | 837029-22 | PLOT: zooming in after scrolling on large files broken |
| NXM-3847 | 837031-22 | PLOT: needs to be able to pan beyond bounds without scrollbar slider disappearing |
| NXM-3849 | 837056-22 | Time: the relative time limit of 24 hours needs expanding to 1 year |
| NXM-3862 | 892743-21 | LayerT5: needs ability to filter tracks based on point metadata |
| NXM-3878 | 837563-22 | Convert NM Map Transition to Zoom Level |
| NXM-3894 | 837772-22 | 12-bit integer Midas Data Type needed |
| NXM-3910 | 893421-21 | LayerT5 should support points that are symbols/icons |
| NXM-3916 | 893172-21 | Bundle-RequiredExecutionEnvironment should add Java 11/17 in SYS's manifest.mf |
| NXM-3919 | 893387-21 | unable to run sourcesdds to remove/strip SDDS packet headers |
| NXM-3927 | 893417-21 | Range adjustments work incorrectly for non-geodetic data |
| NXM-3934 | 838323-22 | Support for 3D ellipsoids (beta version) |
Bugs Fixed in Release 4.1.1 (12 Dec 2022) |
||
| JIRA Issue | GForge DR | Description |
| NXM-3661 | 833723-22 | Errors should be marked as ERROR when building |
| NXM-3701 | 834383-22 | true and false are valid fill values LayerKML |
| NXM-3715 | 834630-22 | Table not parsing correctly |
| NXM-3777 | 888144-21 | GeodeticUtil.computeConeLLA(..) issue |
| NXM-3758 | 835796-22 | JsonUtilities.fromJSON (Class |
| NXM-3772 | 835926-22 | Convert from XML to table does not handle periods |
| NXM-3786 | 889366-21 | Junit 4.12 needs upgrading to 4.13.1 at minimum |
| NXM-3787 | 836090-22 | Need better support for Blue 2.0 (platinum) |
| NXM-3831 | 836776-22 | NeXtMidas needs to support applications being accessible via a client’s web browser (beta version) |
| NXM-3832 | 890621-21 | CallStackUtil log is confusing |
| NXM-3871 | 891836-21 | Basic BLUE2JSON Support (beta version) |
| NXM-3872 | 891850-21 | BLUE2JSON should support a conversion table allowing simple mappings and conversions (beta version) |
Bugs Fixed in Release 4.1.0 (06 Jun 2022) |
||
| JIRA Issue | GForge DR | Description |
| NXM-3547 | 831582-22 | Remove all applet support (partial - direct Applet dependencies have been removed) |
| NXM-3575 | 881437-21 | Support for CTF RHEL8/Centos8 Platform (limited support of building NeXtOpt & XBC with RHEL 8 compilers, due to ICE) |
| NXM-3615 | 832531-22 | Panning past international date in LatLonContinuous missing scroll bar |
| NXM-3628 | 832820-22 | Point readout should update |
| NXM-3636 | 833117-22 | ability to detect/analyze timeline/time hack validity |
| NXM-3648 | 833548-22 | Feature Text Overlap |
| NXM-3651 | 833574-22 | PLOT regression breaks the rendering of large 2000 files |
| NXM-3669 | 834685-22 | File that NXM plot will not plot but XPLOT will |
| NXM-3681 | 834149-22 | Multiline text on feature |
| NXM-3726 | 834922-22 | Handle WMS layer transitions |
| NXM-3743 | 835448-22 | LayerWMS needs better means of limiting CRSs |
| NXM-3744 | 835447-22 | LayerWMS tiled map drawn in wrong location |
| NXM-3747 | 835449-22 | LayerWMS/MPlot brightness adjustment makes map panning very slow and jerky |
| NXM-3781 | 889232-21 | RMIF window resynch logic - needs state machine logic |
| NXM-3794 | 836287-22 | Invalid keyword block not detected by keywords command |
| NXM-3807 | 836480-22 | Optimize WMS tile query boundaries using layer information - GeoWebCache support |
| Command | Deprecated Item | Replacement | Deprecated Since |
| PLOT | ZOOM and DRAGBOX messages accessed with msg.data(0), msg.data(1), etc. | 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. | 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 |
| 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 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. | |||