X
105

IDL 9.1 Release Notes

IDL 9.1 Release Notes

See the following sections:

 

System Requirements

IDL has the following system requirements:

  • Operating systems:
    • Windows 10 and 11 (Intel/AMD 64-bit)
    • macOS 12, 13, and 14 (Intel 64-bit (x86_64) and M-series (arm64))
    • Linux (Intel/AMD 64-bit, kernel 4.18.0 or higher and glibc 2.28 or higher)
  • Disk space: Approximately 4 GB for installation
  • Memory (RAM): Minimum of 8 GB*
  • Number of processing cores: Minimum of 2, recommended 4 or more

An X-Windows manager is required for macOS. IDL was tested using XQuartz 2.8.5 on an M1 chipset.

* Most image display and processing capabilities in IDL have been designed to work with minimal amounts of system RAM. Having a lot of RAM can help to avoid occasional memory allocation problems, especially with large datasets. Tests have shown that 8 GB of RAM is adequate for most tasks run using the latest versions of IDL. However, if you anticipate working with very large datasets, or if you are building custom applications with ENVI+IDL code, then you may consider adding more RAM to your system.

New Features

For information on new routines and features and library updates, see the "What's New" topic in IDL Help.

Backwards-Compatibility Issues

As of IDL 9.1, all DXF functionality has been removed. This includes IDLffDXF, GET_DXF_OBJECTS, and XDXF.

In IDL 9.1, the Dataminer module is now installed with IDL by default. It still requires a license for use. Dataminer supports reading from and connecting to Microsoft Excel, PostgreSQL, and a number of other database management systems.

In IDL 9.1, WIDGET_TEXT has new alignment keywords: ALIGN_BOTTOM, ALIGN_CENTER, ALIGN_LEFT, ALIGN_RIGHT, and ALIGN_TOP. Previously, the text widget would fill its parent base completely, regardless of the XSIZE and YSIZE values. In IDL 9.1, the default has been changed to ALIGN_CENTER = 1, which will center the text widget within its parent base and shrink the widget to the chosen XSIZE and YSIZE. To restore the old behavior in your widget application, you should set ALIGN_CENTER = 0 when creating your text widget.

On 64-bit Windows, the documentation for the IDLcomIDispatch class (inadvertently removed in IDL 8.9) has been restored. Note that Microsoft has been slowly deprecating the IDispatch interface - IDL will continue to support this interface for as long as Microsoft continues to make it available.

Fixed Issues

Issue Description
IDL-61635 In function graphics, displaying a plot with lots of points and a linestyle won't display the line: IDL now properly renders plot lines.
IDL-69103 Feature: Allow users to specify compression level with WRITE_PNG: Added COMPRESSION keyword to WRITE_PNG.
IDL-70652 IDL DicomEx Storage SCP service incorrectly requires a full IDL license: Removed the requirement for a full IDL license.
IDL-70695 Function graphics Legend would sometimes ignore the TRANSPARANCY keyword: This has been fixed and a FILL_COLOR property has been added.
IDL-70894 TS_SMOOTH handles NaN's poorly: A NaN keyword has been added to TS_SMOOTH.
IDL-70960 IDL's Shapelib library is out of date: The Shapelib library used by IDLffShape has been updated to the latest version.
IDL-71021 Better documentation for Family argument in Wavelet WV_CWT: The documentation for WV_CWT has been improved to include information about available wavelet functions and the Family argument.
IDL-71023 YAML_SERIALIZE fails on certain ASDF files: This was caused by ASDF/YAML files that had tag nodes without a value. IDL's ASDF/YAML routines now properly handle these by replacing the missing value with the string "null".
IDL-71063 On Windows, READ_TIFF will not handle filenames with special Unicode or UTF8 characters: QUERY_TIFF, READ_TIFF and WRITE_TIFF will now properly handle filenames with these characters on Windows platforms.
IDL-71064 Security vulnerability with the Eclipse JGit library in IDL Workbench: Upgraded Egit and JGit libraries to 6.7.
IDL-71070 IDL crashes when comparing a list and an array with a single element using Map with Lambda: IDL no longer crashes.
IDL-71073 Mac Arm: Java bridge fails to initialize when Workbench is started by double clicking on the Applescript: Java bridge now works properly for these cases.
IDL-71074 HttpRequest with secure https fails on Linux, Mac, and ENVI-only installs: HttpRequest now correctly locates the certificate file shipped in the appropriate IDL bin directory.
IDL-71076 Read_csv and String to double conversion error: If an error occurred in Read_Csv or IDLffJSON with type conversion, the error would be caught but the error state would not get cleared. IDL now correctly clears the error state.
IDL-71082 IDL's Shapefile world map data is out of date: IDL's shapefiles have been updated to more include more up-to-date country boundaries. See MapContinents for details.
IDL-71091 Bessel functions: BESELI, BESELJ, BESELK and BESELY need to doc that if N is not specified, then the default is N=0: This is now documented.
IDL-71094 IDLffShape does not handle "Logical" (FTLogical) attribute type: IDLffShape now handles both Logical (FTLogical) and Date (FTDate) attribute types. See IDLffShape for details.
IDL-71111 Zipping/unzipping some files can fail: Fix FILE_UNZIP to handle compressed files that are the same size as their uncompressed versions.
IDL-71112 Java Import Bridge ignores the user's IDLJAVAB_LIB_LOCATION shell environment variable setting in some cases: Now, if we don't find Java at the default location we will honor the environment variable.
IDL-71113 IDL 9.0 function graphics do not render line thickness properly when saving: IDL now properly renders the line thickness in saved graphics.
IDL-71118 H5_GETDATA unable to read a VLEN dataset: IDL now supports H5T_VLEN variables with zero-length arrays.
IDL-71120 Overly-large bitmaps in widget_tree can cause IDL to exit: Large widget_tree bitmaps now work properly.
IDL-71122 IDL Runtime Embedded License not allowing additional license acquisition from regular licenses: Fixed, check non-embedded licenses for a feature if it was not found in an embedded license.
IDL-71132 For the MAP function, if you do not set FILL_COLOR or set it to "white", the image changes when you switch on the continents or countries: Fixed, the white color is now displayed properly and the map does not change.
IDL-71133 JSON_PARSE cannot handle nonstandard unquoted NaN or Infinity: JSON_PARSE now handles NaN and Infinity values, and JSON_SERIALIZE has a new keyword to allow output.
IDL-71135 LIST::REMOVE and LIST::ADD were not allowing a string as a argument: This has been fixed.
IDL-71136 FILE_UNZIP followed by RESOLVE_ALL fails: IDL now properly compiles all required files.
IDL-71138 The PKG installer for arm64 Mac IDL was incorrectly requiring installation of Rosetta: The installer now no longer requires Rosetta.
IDL-71140 CW_FORM doesnt retain spaces in its GUI: IDL now properly keeps the spaces.
IDL-71142 MAPCONTINENTS clipping issue with polar projections: Fixed, the fill interval has been decreased to avoid broken polygons.
IDL-71146 WINDOW procedure with negative dimensions causes screen distortion on Linux: IDL now throws an appropriate error for negative dimensions.
IDL-71147 Bridge from IDL to Python 3.10 does not properly inherit the PYTHONPATH environment variable: Fixed, now allow environment variables to be picked up by the Python bridge.
IDL-71149 COLORBAR improperly rounds decimal labels from CONTOUR: IDL no longer converts colorbar labels to integers.
IDL-71167 IDL Help not working with Firefox on Mac or Linux: Help is now working properly with Firefox.
IDL-71168 HttpRequest was ignoring the Content-type in the HEADERS keyword: HttpRequest now allows users to override Content-Type.
IDL-71169 Dataminer was incorrectly using an evaluation license on Linux: Dataminer now works properly on Linux.
IDL-71172 MAKE_RT doesn't copy over standard DICOM libraries unless DICOMEX flag is used: Fixed, make_rt now automatically copies the standard DICOM libraries.

Library Updates

The following 3rd party libraries have been updated to these versions:

  • ArmPL 24.04
  • CEF 121.3.7 for Windows and Mac. To support Red Hat-based systems (Fedora, CentOS, and Rocky Linux). Linux uses CEF 99.2.14.
  • antlr 2.7.7
  • curl 8.9.0
  • Eclipse CVS Client 1.4.2000.v20211124-1800
  • eclipse-egit-plugin 6.7.0.202309050840-r
  • eclipse-platform 4.29.0.v20230903-1000
  • Eclipse Temurin JDK 21.0.2
  • Eclipse Temurin JRE 21.0.2
  • HDF5 1.14.3
  • Inno Setup 6.2.2(u)
  • jackson-json-processor 2.15.2
  • ibtiff 4.6.0t
  • Libxml2 2.13.3
  • microsoft-vcredist 14.40.33810
  • mongo-c-driver 1.27.0
  • mongo-cxx-driver 3.10.1
  • nghttp2 1.62.1
  • NumPy 1.24.4
  • NumPy 1.26.4
  • OpenSSL 3.3.1
  • P4Eclipse 2023.1.2516406
  • poco 1.13.3
  • Python 3.12.4
  • shapelib 1.6.0
  • SQLite 3.46.0
  • x11-dev-tools 1.0.2
  • X PixMap Library 3.5.17
  • xerces-c 3.2.5
  • zlib 1.3.1

The following 3rd party libraries have been added:

  • Eclipse JGit 6.7.0.202309050840-r
  • libtirpc 1.3.4
  • LunaSVG 2.3.9

The following 3rd party libraries have been removed:

  • HASP Sentinel-LDK_SDK

Known Issues

Help Display on macOS

Using the IDL Help System on macOS with the Safari web browser results in the error "The operation couldn't be completed," or it displays a blank page. By default, Safari prohibits some local file operations; the error occurs when a temporary HTML file auto-created by the Help system attempts to perform a redirect to the specific IDL Help content. There are two workarounds to display the Help:

  • In Safari, enable the Disable Local File Restrictions setting.
  • If you prefer not to disable local file restrictions in Safari, use Chrome or Firefox as your browser to open IDL Help content.

Remotely Accessing IDL Help on Linux with Firefox

Accessing IDL Help remotely using Firefox on a Linux environment (X Window Server through Windows-MobaXterm/Mac-XQuartz) can cause a core dump crash under these circumstances:

  1. The default browser of the remote connection destination is NOT Firefox, but Firefox is set in the IDL_HELP_BROWSER environment variable on the local machine.
  2. The idlhelp command is issued.

Use one of the following workarounds:

  • Before issuing the idlhelp command, start Firefox on the local machine.
  • Use the NV5 Geospatial Solutions Documentation Center.

Known WIDGET_BROWSER Mouse/Keyboard Behavior on macOS

Some this behavior is due to CEF not owning and managing the window where web page contents are rendered. IDL owns and manages that window and pixels rendered by CEF are drawn to it. This relationship also means that mouse and keyboard inputs are posted to CEF by IDL code. While most of the time this work well, sometimes the following actions will not work:

  • Left + control and all right-click modifier keys. This means that context menus do not work.
  • Left and right scroll.
  • Drag and drop (both within a page and externally).
  • Copy and paste (this sometimes does not work with other browsers either).
  • Some types of video do not play (plugins might be needed).

© 2024 NV5 Geospatial Solutions, Inc. All Rights Reserved.
This information is not subject to the controls of the International Traffic in Arms Regulations (ITAR) or the Export Administration Regulations (EAR).