What's New in IDL 8.8.3
This release includes the following new and improved features.
Support for RSA Asymmetric Cryptographic Keys
The new RSA_PRIVATE_KEY and RSA_PUBLIC_KEY routines let you create a set of RSA asymmetric keys. The IDL_String::Encrypt and Decrypt methods let you encrypt and decrypt IDL strings using an RSA public/private key pair.
Date/Time Routines Now Support Modified Julian Dates
CALDAT, GREG2JUL, JUL2GREG, JULDAY, SYSTIME, and TIMEGEN now have a new MODIFIED keyword, to return Modified Julian Dates, which have a higher precision of approximately one microsecond.
ARRAY_EQUAL and IDL_Variable::Equals - New TOLERANCE Keyword
ARRAY_EQUAL and IDL_Variable::Equals now have a new TOLERANCE keyword which will treat values as being equal if they are within the tolerance value from each other.
The new COMPILE_CODE procedure creates and compiles an IDL function or procedure from a scalar string or string array. COMPILE_CODE can be useful to avoid having to create a new file for a small algorithm, or in cases where you want to dynamically generate a function or procedure from user inputs or variables.
FILE_SEARCH - New NULL Keyword
FILE_SEARCH has a new NULL keyword, which will return !NULL if there are no filename matches.
JSON_SERIALIZE - New PRECISION Keyword
The PRECISION keyword of JSON_SERIALIZE lets you change the output precision for floating-point numbers, which lets you create smaller JSON files or files with a specific output precision.
The RUNNING_STATS routine lets you compute the mean and unbiased sample variance of an array without overflow. The function can also combine previously computed values with new data to allow computing mean and variance on data sets that are too large to fit into memory. The routine is more stable when computing the mean and variance, is significantly faster than the VARIANCE function, and does not require any additional memory.
The RUNNING_COVARIANCE routine computes the unbiased sample covariance and correlation between two arrays without overflow. The function can also combine previously computed values with new data to allow computing covariance and correlation on data sets that are too large to fit into memory. The routine is more stable and significantly faster than the CORRELATE function, and does not require any additional memory.
MAKE_RT Syntax Enhancements
The manifest file for MAKE_RT has a new, more expressive syntax for specifying which files to include and exclude.
IDL and ENVI now Code Signed on macOS
The IDL and ENVI applications are now code signed on macOS. This enables simpler, trusted installations on the more recent versions of macOS. Code-signed software is also resistant to tampering and misuse.
LIST Performance Enhancements
The List::Filter, Map, Reduce, and Remove methods are now significantly faster.
PNG Files of Arbitrary Size
QUERY_PNG, READ_PNG, and WRITE_PNG can now handle PNG files up to 2 Gb in width or height, and unlimited size overall.
64-bit GZIP and ZIP Files
FILE_GZIP and FILE_GUNZIP now support huge files larger than 4 Gb. FILE_ZIP and ILE_UNZIP now support huge files larger than 4 Gb, including files in the ZIP64 format.
ZIP Files with Extended ASCII Filenames
FILE_ZIP and FILE_UNZIP now support filenames that contain extended ASCII characters.
The 3rd party libraries listed below have been updated to these versions:
- P4Eclipse 2021.2.2264919
- curl 7.85.0
- eclipse-temurin-jdk 17.0.4
- eclipse-temurin-jre 17.0.4
- ffmpeg 4.4.2
- jackson-json-processor 2.13.4
- libtiff 4.4.0
- libxml2 2.10.2
- openssl 1.1.1q
- poco 1.12.2
- sqlite 3.39.3
- zlib 1.2.12
The following 3rd party libraries have been added:
The following 3rd party libraries have been removed:
See Platform Support for ENVI 5.6.3 and IDL 8.8.3 for additional details.
Refer to the IDL Help for instructions on using the tools and API. Access the help by selecting Help > Help Contents from the IDL menu bar. Then click "IDL" in the table of contents on the left side of the help page.