IDL 8.6.1 Release Notes

IDL 8.6.1 Release Notes

See the following sections:

For the latest release notes, please see the Help Articles section of the Harris Geospatial Solutions web site.

IDL Supported Platforms

Platform Hardware Operating System Supported Versions
Windows Intel/AMD 64-bit Windows 7 SP1, 8, 10
Macintosh Intel 64-bit OS X 10.10, 10.11 (El Capitan)
Linux Intel/AMD 64-bit Linux Kernel 2.6.32, glibc 2.12

  • Supported versions indicate that IDL was either built on the lowest version listed or tested on that version. You can install and run IDL on other versions that are binary-compatible.
  • IDL Help requires an HTML5-compatible browser.
  • An X-Windows manager is required for Macintosh. IDL was tested using XQuartz 2.7.11.
  • On Windows, installers for 32-bit are no longer available. However, the 32-bit binaries are still provided with the 64-bit Windows installer so that you can launch IDL in 32-bit mode on 64-bit Windows systems. You can find the 32-bit versions of IDL in the IDL program group under Windows Start-->Programs-->IDL x.x-->32-bit (where x.x is the IDL version).

New Routines and Features in IDL

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

Backward-Compatibility Issues in IDL

This table contains any backwards-compatibility issues with the current IDL version. It also contains the most important issues with earlier versions. For detailed backwards-compatibility issues with earlier versions, you should consult the Release Notes for that version.

JSON_PARSE and JSON_SERIALIZE IDL 8.6.1 introduces better error messages from JSON_PARSE on malformed input, including contextual information. This feature introduced a new member variable to the IDLffJson class, which can cause problems with save files built in IDL 8.6 or earlier. If your save file includes the JSON_PARSE or JSON_SERIALIZE function, then loading that save file into IDL 8.6.1 will replace the definition of the IDLffJson class with the older version, and subsequent calls to JSON_PARSE and JSON_SERIALIZE will cause a runtime error due to an unknown member variable. The fix is to rebuild your save file in IDL 8.6.1, or to explicitly call RESTORE on your save file with the /SKIP_EXISTING keyword to prevent the replacement of the class definition.
Python Bridge Parameter Passing Previously, the Python Bridge would pass numeric arrays by reference when passing data from Python to IDL, or for the Python.Wrap method. However, this caused problems when using slices (or different views) into the same array, where IDL might accidently free the memory while it was still being used. Now, in IDL 8.6.1, the Python Bridge always passes by value when passing data from Python to IDL and for the Python.Wrap method.
TrueType Font Updates IDL now has new TrueType fonts for Helvetica, Times, Courier, Symbol, and Monospace Symbol. For direct, object, and function graphics, when using TrueType fonts you may notice slight differences in the appearance and position of characters compared to earlier IDL versions.
LMGR Changes IDL 8.6: with the new IDL licensing, several keywords to the LMGR licensing function have changed. In particular, the DEMO, EMBEDDED, EXPIRE_DATE, FORCE_DEMO, INSTALL_NUM, LMHOSTID, SITE_NOTICE, STUDENT, and TRIAL keywords have been deprecated. These keywords are still accepted but are quietly ignored and return 0 as the result.

Fixed Issues in IDL

IDL-27165: On Windows, DIALOG_PICKFILE with /MULTIPLE has a limit of 32767 characters. Fixed: Increased the limit to 1,000,000 characters.
IDL-60179: Allow double-quote followed by a number to work properly Fixed: If the double-quote is followed by a valid octal number and no trailing quote, then IDL returns an octal. If the double-quote is followed by a number and has a trailing quote, just keep it as a string instead of throwing an error.
IDL-62760: Function graphics TeX syntax doesn't work on non-English systems Fixed: The DejaVuSymbol font is now treated as an "extended ASCII" font so that math characters show up properly.
IDL-69669: IDLgrPDF cannot set DIMENSIONS during Init You can now set the DIMENSIONS in the OBJ_NEW call.
IDL-69705: IDL crashes when using SMOOTH with non-square arrays and edge keywords Fixed: IDL no longer crashes and now computes the correct SMOOTH results.
IDL-69713: Workbench deletes files when file is dragged from Navigation Menu to the Command-line IDL no longer deletes files when dragged from Navigation Menu to the Command-line.
IDL-69714: DataMiner installer wipes away other previously installed drivers The installer has been fixed so it only removes IDL's ODBC items, not the entire ODBC key.
IDL-69716: Entering a named string variable into the LAMBDA function causes an error Fixed: For the Lambda/LambdaP functions, allow a string variable to be passed in.
IDL-69732: Typo with ASSOC data file causes IDL crash IDL no longer crashes with bad assignment statements for ASSOC files.
IDL-69750: H5_PUTDATA fails under certain use cases H5_PUTDATA was fixed so it handles subgroups when adding new fields.

Known Problems in IDL

All Platforms

IDLffVideoWrite Cannot Create Animated GIFs Because of vendor issues in the ffmpeg library, IDLffVideoWrite cannot create animated GIF files. Use the WRITE_GIF routine instead.
Installation error on Windows platforms: "Key not valid for use in specified state" Some customers have reported this error during the installation process. It is caused by a Microsoft update (KB2918614), which affects the Windows installer service. Workaorund: uninstall this Microsoft update. For more information, see the Microsoft Community website.
IDL-42545: WIDGET_TREE Drop EventCan Cause IDL to Crash if an Error Exists in the DRAG_NOTIFY Callback Routine If there is an error (such as an undefined variable) in the custom DRAG_NOTIFY callback routine, IDL may freeze or crash since the error halts execution in the child routine and IDL cannot return to the calling function.
: Handle potential problems in the callback routine by including CATCH statements in your code. See the documentation topic "Responding to Drag Notifications (Callbacks)" for more information.
IDL-55393: Breakpoints in Files Opened via Links, Shortcuts, or Alternate Paths To improve performance, IDL always compiles the first version of a file it finds in its path. If you open a file in the editor and set a breakpoint, then compile from a version of the same file with a different path, IDL will not assume that the two files are the same. As a result, IDL will not stop at the breakpoint set in the second file. Alternate paths to the same file can be constructed via UNIX links, Windows shortcuts, mapped drives, or UNC paths.
Workaround: Make sure that the full path to the file in which you set the breakpoint is the same as the full path to the compiled file. If you use the IDL Workbench, compiling using the Workbench menus or toolbars will ensure that the same path is used for compilation and debugging.
IDL-49236: Deleting a Project or a Directory Within a Project While the Project Is Open Causes Exceptions when the Workbench Exits When a project file or a directory within a project is deleted from outside the Workbench (for example, from Windows Project Explorer) while the project is open, a warning message may be issued while the Workbench is still running. An exception may occur on exiting the Workbench.
IDL-51318, IDL-51322: Formatter Preferences for Keywords and Class Names are Ignored by the Source→Format Command The keyword and class name formatting preferences set on the IDL Formatter preference page are not applied when the code is highlighted and the Source > Format command is selected.
IDL-58532: Default UTF-8 Encoding is Corrupting .pro Files with Non-English Characters Non-English characters are converted to symbols when imported into the IDL Workbench. Importing a .pro file containing non-English characters in IDL permanently corrupts the file with bad characters. Workaround: Before opening a file or before saving an open file, change the file encoding to ISO-8859-1 for Spanish or German, or to Shift-JIS for Japanese.

To change the encoding for an individual file, open the file in an IDL editor, then select File > Properties. In the Resources dialog box, change the 6Text file encoding preference.

To change the default encoding preference for IDL, select Window > Preferences. In the Preferences dialog box, choose General > Workspace. Change the Text file encoding preference.

IDL-57214, IDL-58285, IDL-58839: IDL Crashes on Macintosh and UNIX When Performing Graphics Operations Where GL Drivers are Present Possible workaround: Rename the gl_driver.so file (located in bin\bin.<platform>) to gl_driver.ba.
IDL-60473: Accessing Preferences while IDL is Busy May Hang Workbench Trying to change Preferences while IDL is busy (for example, when a lengthy command is being executed) may cause the Workbench to hang.
IDL-63902: Using the IDL_Java Bridge Causes the Workbench to Ignore the Current Directory in CLASSPATH Workaround: Copy the .class file to any other directory explicitly listed in CLASSPATH.

Macintosh Platforms

IDL-60599: On Macintosh OS, Only One Workbench Instance Can Run at a Time Even if the preference "Prompt for workspace on startup" is set and multiple workspaces are available, only one instance will run.
Workaround: Run the Workbench from the init script located in the idlde.darwin.x86_64.app/Contents/MacOS directory of your IDL installation.
IDL-64149: Widget Interface Loses Focus When Selection is Made in a Drop-down List Workaround: In X11 Preferences, enable "Click-through Inactive Windows"
IDL-67319, IDL-67320: Graphics Rendering Causes Memory and Device Errors XQuartz version 2.7.2 causes these error messages when creating IDL Graphics. When IDL is installed, the Macintosh operating system may direct you to install the most recent version of XQuartz.
Workaround: Use the latest version of XQuartz.
IDL-68845: Launching the IDL Workbench on Macintosh May Prompt Installation of Java v1.6 If you launch the IDL Workbench on Macintosh without first having Java v1.6 installed, the Macintosh OS may prompt you to install it first. This will happen even though IDL includes Java v1.8. For more information on this issue, please see: http://stackoverflow.com/questions/11919004/eclipse-4-2-mac-os-x-10-8-ml-and-java-6

Workaround: Install the Macintosh version of Java 1.6 when prompted. The Workbench will continue to use Java v1.8 as it was installed with IDL. Another workaround is to add a softlink as sudo from Frameworks 1.6 -> 1.7 as described in the link above.

Windows Platforms

IDL-48454: WIDGET_TIMER Can Cause Applications To Freeze Until An Event Is Sent To The Application WIDGET_TIMER events fail after 10 events. This problem happens in the following cases:
  • Timer events are chained together by setting the next timer within the handling of the current timer and before the "work" section of the event handler is performed.
  • The next timer goes off during the current timer event processing (for example, during a lengthy calculation).
Workaround: Chain timer events by setting the next timer after any computations are completed. For smoother performance, set the next timer based on how long the computations execute, which accounts for variances in machine speed. For example, to fire the timer once every second, set the next timer to 1.0 - (time to perform computation)
IDL-49641: Updating Edited Variable Values is Slow While IDL is Busy or Blocking If you edit a variable value using the IDL Workbench Variables view while IDL is busy (for example, when a lengthy command is being executed, or when a widget application is blocking), it may appear that the variable is not being updated. The new variable value is displayed when IDL is no longer busy. (Related to ID 49604.)
IDL-61842: IDL on Windows 7 May Have Unpredictable Behavior When Using Graphics The cause may be graphics cards that are unsupported in Windows 7. Please see a list of supported graphics cards on the Microsoft.com website. You may want to upgrade your graphic driver or switch the IDL Graphics preference to use software rendering.
IDL-66357: Installing into a Directory Named with Multibyte Characters May Cause the IDL Workbench to Not Launch If you are installing IDL into a directory that contains multibyte characters, path names in the idlde.ini file may be truncated. 
Workaround for 32-bit systems: In the  <install_dir>\IDLxx\bin\bin.x86\idlde.ini file, edit the following lines:
Line 2 should read: <install_dir>\IDLxx\bin\bin.x86\jre\bin Line 14 should read: Dosgi.sharedConfiguration.area=<install_dir>\IDLxx\bin\bin.x86\configuration Workaround for 64-bit systems:
In the  <install_dir>\IDLxx\bin\bin.x86_64\idlde.ini file, edit the following lines:
Line 2 should read: <install_dir>\IDLxx\bin\bin.x86_64\jre\bin Line 14 should read: Dosgi.sharedConfiguration.area=<install_dir>\IDLxx\bin\bin.x86_64\configuration
IDL-66363: Executable for a C++ Project that Uses COM_idl_connect.tlb Needs to be in \bin directory to Run If you create a C++ project that uses COM_idl_connect.tlb, the .exe must be installed in <install_dir>\bin\bin.x86 or <install_dir>\bin\bin.x86_64 to run. Alternatively, you can add the install path to the PATH environment variable.

UNIX Platforms

IDL-14221, IDL-30564: DIALOG_PRINTERSETUP Causes IDL to Hang When Called from a Modal Widget This is a known problem with no known workarounds except to use DIALOG_PRINTERSETUP with a non-modal widget.
IDL-41964: IDL Does Not Run in Security Enhanced Linux Some recent versions of Linux implement mandatory access control in the Linux kernel using the Linux Security Modules framework. IDL will not run in such an environment without a modification to the security context for the IDL binaries. Workaround: Either disable SELinux or modify the default security context for IDL. See Help Article 3092 for details.
IDL-43301: Upper Left Corner of Tree Widget is Never a Valid Drop Zone When the ability to drag and drop tree widget nodes has been enabled, the UNIX tree widget does not recognize the upper left corner of the widget as a valid drop zone. This area typically extends over the icons of the first two nodes (but not the labels). This is a vendor issue. You can drop items onto the first two nodes by moving the cursor over the labels instead of the icons.
IDL-55427: IDL Dataminer Requires latest libstdc++ Third-party libraries used by the IDL Dataminer module require a library that may not be available by default on some newer Linux systems. Attempting to run the IDL Dataminer may cause IDL to issue an error similar to the following:
% DLM_LOAD: Error loading sharable executable. Symbol: IDL_Load, File =/rsi/qa/unix/idl71/bin/bin.linux.x86_64/idl_dataminer.so libstdc++.so.5: cannot open shared object file: No such file or directory
You will need to install the appropriate libstdc++ compatible library for your platform.
IDL-57381: Missing 64-bit Library IDL requires a 64-bit version of libXp. Red Hat-based Linux distributions such as RHEL and Fedora may not install this library by default. On Red Hat you can obtain this library using the following command:
yum install libXp.x86_64
IDL-58106: DIALOG_PRINTERSETUP Crashes on Linux 64-bit running in the Workbench Calling DIALOG_PRINTERSETUP from the Workbench causes 64-bit IDL to crash. Workaround: To set up a printer, launch IDL in command line mode and run DIALOG_PRINTERSETUP. Once you have set up a printer, the information is cached in your home directory. Then printed IDL programs will go to the appropriate printer regardless of whether you are running the Workbench or command line IDL.
IDL-58460: IDL Graphics Cause Crash in Ubuntu Versions of UNIX Recent versions of Ubuntu and other Debian-based Linux distributions may not ship with the libstdc++.so.6 library, which is required by Xerces. You will need to download this library and install it in the /bin/bin.linux.x86 directory of your IDL installation. (On 64-bit installations, this directory is /bin/bin.linux.x86_64.)
IDL-59497: IDL Graphics may fail with Software Rendering on Linux IDL graphics in the Workbench in software rendering mode may fail on Linux machines if the display is local and Xinerama is not enabled. Workaround: Configure Xinerama on the system or run from the IDL command line.
IDL-68960, IDL-68965: Java-IDL Bridge with Drawable Windows may not render properly with software rendering When using the Java-IDL Bridge with drawable windows and software rendering, the window may not display anything. Note that this affects the example code in the IDL documentation (IDLWindowExample.java and IDLgrWindowExample.java).
Workaround: If nothing appears in the drawable window, change to hardware rendering by setting your drawable object's RENDERER property to zero (i.e., RENDERER=0).
IDL-69332: Selecting the Help Preference Can Crash the IDL Workbench on Some Linux Systems Selecting Window > Preferences > Help on some Linux systems may cause the IDL Workbench to crash. Workaround: Open the idlde.ini file and find the -vmargs line. Add the following new line after the -vmargs line:
Please login or register to post comments.