ArcGIS Runtime SDK for Java

Release notes for 100.4.0

This page provides details about enhancements in the 100.4.0 release of ArcGIS Runtime SDK for Java. It also lists this release's deprecations, resolved issues, and known issues. You can view release notes for past SDK versions by downloading past versions of this guide (in PDF format) from the downloads page (requires sign-in).

Enhancements

This section describes new features and improvements.

Offline maps

  • You can now gain fine-grained control over how individual layers are taken offline. Use the layer specific overrides to adjust settings such as whether to omit layers, the area of interest, attribute queries and attachments behavior on a per-service basis.
  • Support has been added for a "fail fast" mode when taking maps offline. By default, a job will run to completion even if a layer or table has problems.
  • The offline local item has been enhanced to allow you to update meta-data on the client.
  • Additional meta-data has been added to Job messages. This information includes the time-stamp and severity of a given message.

Behavior changes include:

  • The on-demand workflow will now honor the scale range of a tiled layer as specified by the web map. This behavior helps to ensure that only the tile data required by the offline map is downloaded.
  • The default behavior for taking a map with related tables offline has been updated such that only the related records from a destination table will be included. All unrelated records will be excluded. This ensures that the offline map contains only the related records that are relevant to the offline features. If you wish to revert to the old behavior (taking all records offline) you can adjust the value of destination table row filter provided by the generate offline map parameters.

Support for MrSID raster format

Multiresolution Seamless Image Database (MrSID) raster format is based on a proprietary compression technique for maintaining the quality of large images. It allows for a high compression ratio and fast access to large amounts of data at any scale without having to decompress the entire file. You can display MrSID data using raster layers in both 2D maps and 3D scenes, and also apply raster functions. Generations 2, 3, and 4 of MrSID are supported.

KML

Runtime now supports reading and displaying KML content in both 2D maps and 3D scenes. You can use KML and KMZ files either from a location on disk or on the web. At this release, the following features are supported in KML version 2.2:

  • Placemarks (point, line, and polygon), ground overlays, labels, and 3D models
  • Screen overlays, Photo overlays
  • Network links, including support for automatic refresh intervals
  • Time awareness - KML layers participate in time filtering
  • Altitude mode (Absolute and Clamp-To-Ground/draped)
  • Ability to identify Placemarks and get Balloon popup content

Learn more about KML in ArcGIS Runtime.

Local server compatibility

Local Server version 100.3.0 works with ArcGIS Runtime 100.4.0. There is no Local Server 100.4.0 release.

Deprecations

Oracle has announced that Java 8 for commercial use will not longer receive security patches or updates after January 31st, 2019. In light of this plan, and due to the potential security risks after this date, ArcGIS Runtime SDK for Java (Update 4) will be the last release with support for Oracle's Java 8. (Support for Java 8 was deprecated in the previous release of ArcGIS Runtime SDK for Java.) The next major release of ArcGIS Runtime SDK for Java will support the AdoptOpenJDK 11 version of Java.

Support for Ubuntu 14.04 was deprecated in the previous release and ArcGIS Runtime SDK 100.4.0 is the last release to support it. A minimum of Ubuntu 16.04 will be required at 100.5.0.

Support for macOS 10.12 (Sierra) was deprecated in the previous release and ArcGIS Runtime SDK 100.4.0 is the last release to support it. A minimum of macOS 10.13 (High Sierra) will be required at 100.5.0.

The following list shows deprecations in the API and the replacement API:

  • com.esri.arcgisruntime.layers package
    • FeatureLayer.setSelectionColor method-use SelectionProperties.setColor(int) from your GeoView
    • FeatureLayer.getSelectionColor method-use SelectionProperties.getColor(int) from your GeoView
    • FeatureLayer.getSelectionWidth method-will be removed in a future version
    • FeatureLayer.setSelectionWidth method-will be removed in a future version
  • com.esri.arcgisruntime.mapping.view package
    • GraphicsOverlay.getSelectionColor method-use SelectionProperties.setColor(int) from your GeoView
    • GraphicsOverlay.setSelectionColor method-use SelectionProperties.setColor(int) from your GeoView
    • SketchStyle.setSelectionColor method-use SelectionProperties.setColor(int) from your MapView
    • SketchStyle.getSelectionColor method-use SelectionProperties.getColor(int) from your MapView
  • com.esri.arcgisruntime.portal package
    • PortalItem.getAccessAndUseConstraintsHtml method-use Item.getTermsOfUse()
    • PortalItem.setAccessAndUseConstraintsHtml method-use Item.setTermsOfUse(String)
  • com.esri.arcgisruntime.tasks.geodatabase package
    • GeodatabaseSyncTask.generateGeodatabaseAsync method-use generateGeodatabase(GenerateGeodatabaseParameters, String)
    • GeodatabaseSyncTask.syncGeodatabaseAsync method-use syncGeodatabase(SyncGeodatabaseParameters,Geodatabase)
  • com.esri.arcgisruntime.tasks.offlinemap package
    • DownloadPreplannedOfflineMapJob.getPreplannedMapArea method-use getParameters()
    • DownloadPreplannedOfflineMapJob.isExcludeBasemap method-use getParameters()
    • OfflineMapTask.downloadPreplannedOfflineMap(PreplannedMapArea area, String downloadDirectoryPath, boolean excludeBasemap) method-use downloadPreplannedOfflineMap(DownloadPreplannedOfflineMapParameters, String)
  • com.esri.arcgisruntime.tasks.tilecache package
    • ExportTileCacheTask.estimateTileCacheSizeAsync method-use estimateTileCacheSize
    • ExportTileCacheTask.exportTileCacheAsync method-use ExportTileCacheTask#exportTileCache(ExportTileCacheParameters, String)

Issues resolved

  • BUG-000115436 Gap at horizon when edge of scene is below sea level and elevation exaggeration is greater than 1.
  • BUG-000116204 There are excessive "Fork" instructions in Driving Directions when passing through intersections with turning slips
  • BUG-000116629 Route Task resource string ArgumentNullException: 'Value cannot be null. Parameter name: format'

Known issues

  • BUG-000115332 Invalid argument error occurs when adding a new or existing feature with geometry to the table
  • BUG-000114932 Labels do not follow through as the map view is zoomed or panned, unlike in ArcGIS Pro.
  • BUG-000115663 Setting MaxFeatures parameter when performing a spatial query returns inconsistent results
  • BUG-000115316 Some layers in the Mobile Map Package don't render in ArcGIS Runtime application.
  • BUG-000116810 QueryFeatures performance is slower in v100.3 when compared to v10.2.x.
  • BUG-000116792 Layers in Mobile Map Package created using ArcGIS Pro do not respect label stacking properties.
  • BUG-000114058 Zooming in on an area that crosses the International Date Line results in the entire basemap.
  • BUG-000113832 DictionaryRenderer is not rendering certain oceanographic point symbols from MIL-STD-2525D correctly.
  • BUG-000109405 Labels generated with python in an Mobile Map Package do not display

  • BUG-000115068 The LegendInfo of Local Server based ArcGISMapImageLayer sublayers created from shapefiles is not updated

Related topics