# What's New in IDL 8.4.1

Note: If you are new to IDL or upgrading from an older version, see also:

- What's New in IDL 8.4
- What's New in IDL 8.3
- What's New in IDL 8.2.3
- What's New in IDL 8.2.2
- What's New in IDL 8.2.1
- What's New in IDL 8.2
- What's New in IDL 8.1
- What's New in IDL 8.0

## New Features

### ENVI Services Engine (ESE) API

The new ESE API is for IDL programmers who want to:

- Write desktop applications that run tasks.
- Write tasks that invoke other tasks.
- Write distributed processing workflows.

The ESE API provides a set of IDL classes that make it easier to introspect an ESE installation with respect to tasks, run synchronous and asynchronous tasks, monitor job progress, retrieve job results, and upload tasks and data. See Programming with the ESE API for an overview.

### EXIF Metadata Support

You can use the new READ_EXIF function to read EXIF metadata from JPEG, TIFF, and BigTIFF files. See READ_EXIF for details.

### HDF_PARSE Function

The HDF_PARSE function recursively descends through an HDF4 file and creates an ordered hash containing object information and data.

### NetCDF Helper Routines

Ray Sterner's NetCDF routines have been added to IDL. These include NCDF_GET, NCDF_LIST, and NCDF_PUT. The routines allow you to easily query, retrieve, or create NetCDF files.

### LOCALE_GET and LOCALE_SET Routines

A new LOCALE_SET routine has been added, which lets you change the locale of the IDL process. In addition, you can now use LOCALE_GET to query the locale of the IDL process.

## Updates

### Operator Overloading: Increment/Decrement Operators

You can now use the increment (++) and decrement (––) operators with overloaded objects. For details see IDL_Object::_overloadPlusPlus and IDL_Object::_overloadMinusMinus.

### IDLUnit Enhancements

You can now use IDLUnit to convert to and from nautical miles.

### RESOLVE_ROUTINE with QUIET

RESOLVE_ROUTINE has a new QUIET keyword, which suppresses errors if the routine cannot be found or if it is a system routine.

### New Graphics WIDGETS Keyword

You can use the WIDGETS keyword to display new graphics windows using IDL widgets instead of native widgets. See the WINDOW function for details.

### Library updates

None