X
23

IDL 9.2 Release Notes

IDL 9.2 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

IDL Python Bridge: IDL now ships with an embedded Python, which is used by default when you use the Python bridge. If you want to use your own Python with the bridge, you will need to use the new PyUtils.Load method to load the appropriate library. For example:

IDL> PyUtils.Load, 'python313'

You should put this command at the top of any IDL scripts that use the Python bridge. As an alternative, you could switch to using the new embedded Python. The PyUtils class has methods which let you install any packages that you need.

Fixed Issues

IDL-6329: WIDGET_TABLE prevent unnecessary scrollbars: Fixed for all platforms - Only turn on scroll bars when necessary.

IDL-26727: Add support for serial port communication: Done via embedded Python bridge

IDL-46793: IDLffShape::GetAttributes is incorrectly reading 64-bit integer attributes as 32-bit integers: Fixed, 64-bit ints are now read as doubles

IDL-69591: Update GRIB-API to most recent version 1.15.0: Done, grib now uses eccodes v 2.41.0

IDL-70830: Upgrade HDF5 libraries to a minimum of 1.12.x: Done, HDF5 is now using library v1.14.3

IDL-70882: READ_EXIF single dot shorthand notation no longer working in IDL 8.8.1: Fixed on all platforms

IDL-70950: IDL-Python bridge init can fail due to unhandled multi-line SPAWN return: Fixed

IDL-71034: Calling LABEL_REGION crashes IDL on MacOS: Fixed

IDL-71181: Update physical constants: Fixed, !const values are now updated to 2024 values

IDL-71184: Add a stable keyword to our sort function: Fixed, SORT now has a STABLE keyword

IDL-71185: Add support for ASDF structures within NDArray types: Done

IDL-71194: The text widget's "wrap" keyword narrows the widget to one or two characters: Fixed on all platforms

IDL-71205: IDL text object creation/deletion is now 5-10x slower in 9.1: Fixed

IDL-71207: WIDGET_TREE showing unexpected white label area when scrolling: Fixed

IDL-71216: Minimizing/Restoring /FLOATING windows in ENVI can cause IDL to hang.

IDL-71222: ASDF: Add read/write support for "ascii" datatype: Done

IDL-71223: IDL/ASDF: Add bzip2 compression for read/write: Done

IDL-71224: ASDF: Investigate "strides" in files, see if we can somehow handle: Done

IDL-71226: ASDF: Investigate support for streaming files: Done

IDL-71227: ASDF: Handle files with mixed endian byte order: Done

IDL-71241: H5_CREATE not working properly inside of IDL-IDL bridge: Fixed on all platforms

IDL-71246: MAKE_RT distributions from ENVI+IDL installations are more bloated now than prior versions: Fixed on all platforms

IDL-71251: Mercator projection not displaying poleward of 75 degrees: Fixed, limit is now +/-85 degrees

IDL-71252: Missing DIALOG_MESSAGE output in READ_EXIF routine: Fixed so it works better in an IDL_IDLBridge

IDL-71253: CONSTRAINED_MIN crashes IDL if Python bridge is active on Windows: Fixed

IDL-71256: Retrieving source HTML from a fresh WIDGET_BROWSER object fails, unless WAIT 3+ is added: Fixed by waiting for the browser to be loaded

IDL-71276: Documentation: More details of how close, delete, and obj_destroy work with new graphics windows and memory: Done

IDL-71280: Update READ procedure documentation to have a better example: Added better examples to READ, READ_SCV, and READ_ASCII

IDL-71282: FEATURE: Allow a vector of format strings in WIDGET_TABLE: Done, added new REPEAT_FORMAT keyword

IDL-71283: Documentation: Include some clarification with XSIZE and YSIZE on WIDGET_TABLE: Fixed

IDL-71284: Internal Error when creating a .sav file which includes hash: Fixed

IDL-71289: NDArray data cannot be accessed from IDL from a Python-created ASDF Standard 1.6 file: Fixed

IDL-71290: LIST indexing and foreach are significantly slower in IDL 9.x: Fixed; in most cases, LIST methods are now tens to hundreds of times faster

IDL-71295: IDL_Integer::BitGet has incorrect number of dimensions: Fixed

IDL-71298: FILE_ZIP and FILE_UNZIP does not honor executable bit on files: Fixed, now stores/restores the file mode, including the executable bit

Library Updates

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

  • ArmPL 25.04
  • c-ares 1.34.5
  • curl 8.14.1
  • eccodes 2.14.0
  • ffmpeg 7.1.1
  • hdf5 1.14.6
  • libxml2 2.14.3
  • openssl 3.5.1
  • sqlite 3.50.2

The following 3rd party libraries have been added:

  • flatpickr 4.6.13 (needed for widget_calendar)
  • libaec 1.1.3 (needed for HDF5)
  • Python 3.13 bridge

The following 3rd party libraries have been removed:

  • Python 3.9 bridge
  • Python 3.10 bridge

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).

IDL Help blocked on Ubuntu using Firefox

On Ubuntu 22 onwards, the AppArmor app blocks the IDL Help when Firefox is the default browser. The workaround is to use Chrome or another browser.


© 2025 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).