What's new in ArcGIS API for Flex

Version 3.7

ArcGIS API 3.7 for Flex

The following enhancements and bug fixes are new at version 3.7 which was released in November 2014:


  • Exposed the supportsOAuth property in PortalInfo.
  • Now displays level "19" of OpenStreetMap data.
  • Added dynamic attribution support for the Ocean basemap service.
  • IdentityManager.instance.setCredentialForCurrentSignIn(null) will now close any existing sign-in views.

Bug fixes

  • NIM099505 - Fixed an issue where the Attribute Table didn't show the domain from the feature type.
  • NIM102867 - Corrected the problem where binding directions options fails; however, using action script to create and set direction options succeeds.
  • NIM101995 - The style specified in the InfoWindow label is now honored in the sample application.
  • NIM102756 - Fixed an issue where legend labels did not print. This was handled by including the Name property for dynamic layers.
  • Fixed and issue where unable to print image services secured using tokens.

ArcGIS API 3.6 for Flex

The following functionality, enhancements, changes, and bug fixes are new at version 3.6 which was released in December 2013:


Bug fixes

  • Addressed issue where Portal's self request did not honor requestTimeout nor showBusyCursor.
  • AttachmentInspector: Improve readability of attachment names when multiple attachments. See GitHub/178.
  • Fixed an issue where calling AttributeTable.refresh multiple times within a timer caused a memory leak.
  • Fixed the issue where ArcGISDynamicMapServiceLayer and ArcGISTiledMapServiceLayer's showInLegendHiddenLayers property would not work on group layers. [Requires Server version 10.2.1.]
  • NIM096289 - Can now work with multiple overlaying transparent fill symbols without obscuring the layer underneath. Related to Viewer issue GitHub/221.
  • Fixed incorrect error message while signing into ArcGIS Portal - GitHub/95.
  • Fixed an issue where the ExportWebMap geoprocessing task sets default server side selection color when SelectionColor is set to NaN.
  • GeoEnrichmentTask.createReport now uses a proxyURL if set.
  • Fixed an issue where InfoWindow draggable content could not be dragged if it was defined in MXML.

ArcGIS API 3.5 for Flex

The following functionality, enhancements, changes, and bug fixes are new at version 3.5 which was released in September 2013:


  • Added GeoEnrichment capabilities - Using GeoEnrichment, you can get information about the people, places, and businesses in a specific area or within a certain distance or drive time from a location. You can also use the GeoEnrichment service to obtain additional geographic context (for example, the ZIP Code of a location) and geographic boundaries (for example, the geometry for a drive-time service area). Read more at here and the API Reference for GeoEnrichmentTask and Infographic. See the GeoEnrichment samples.
  • IdentityManager support for OAuth when accessing ArcGIS Online for Organizations. One new class, OAuthInfo, three new methods (findOAuthInfo(), registerOAuthInfos() and signOut() ) and four new IdentityManager events. (showOAuthLauncher, showOAuthWebView, signIn and signOut). See the ArcGIS.com Web Map using OAuth sample.
  • Support for a new locale, Finnish (fi_FI).
  • New property, EditTool.autoMoveGraphicToTop, that when true (the default) moves selected graphics to the top of the stack within the parent graphics layer. [See forum post]

Changes to be aware of when migrating from 3.4 to 3.5

If you are using OAuth based on the standalone OAuth sample, you might want to look at taking advantage of the built-in OAuth workflow available with the new updated IdentityManager.

Bug fixes

  • NIM093532 - "The legend is not updated in ArcGIS API for Flex application when a renderer is changed after the map is loaded and a layer is not visible."
  • The Directions component no longer displays a "Sign in aborted" message under "More info" if user cancels the sign in window when prompted to log in.
  • No more glow filter crashes when zooming in quickly on selected lines or polygons. See https://github.com/Esri/arcgis-viewer-flex/issues/78.
  • No more MapImageLayer (used by KML Layer or a custom overlay) crashes. [See forum post]
  • Allow complete refreshing of KML and GeoRSS Layers. [See forum post]
  • CompositeSymbol: a runtime error was thrown when using CompositeSymbol for polygons and if the CompositeSymbol included a SimpleMarkerSymbol.
  • AttachmentInspector: Improve readability of attachment names when multiple attachments. See https://github.com/Esri/arcgis-viewer-flex/issues/178
  • AttributeTable doesn't refresh non-spatial feature layers after an update operation. See https://github.com/Esri/arcgis-viewer-flex/issues/166
  • AttributeTable: properly display coded values of 0.
  • EditTool: prevent info window renderers from being opened while editing (and make EditTool more consistent with DrawTool).
  • Network links within a KML layer should use same serviceURL as the KML Layer.
  • The createSwatch() wasn't working for PictureFillSymbol if the source was a URL.
  • Decimal separator for Estonian, Latvian, Lithuanian, Polish and Russian wasn't working when editing/validating numbers. Bug was specific to version 3.4.
  • Runtime error when performing an "undo" during editing. Bug was specific to version 3.4. [See forum post]
  • PictureMarkerSymbols, based on URL source, when used as part of a CompositeSymbol only worked when wraparound was true. [See forum post]
  • TimeSlider tooltip was not localized.
  • CompositeSymbol doesn't redraw on children symbols changes. Bug was specific to versions 3.1-3.4 [See forum post]
  • Allow the "url" property of a layer to be set to null. Especially needed for ArcGISTiledMapServiceLayer since it got a default value for the url property as of version 3.1.
  • AttributeTable's "export to CSV" exports unformatted values. Bug was specific to version 3.4.

ArcGIS API 3.4 for Flex

The following functionality, enhancements, changes, and bug fixes are new at version 3.4 which was released in July 2013:


  • Legend support for WMS and ArcGIS Image Server. Simplified LegendSkin. New property: LegendItemInfo.imageURL for WMS legend URLs. New methods, ArcGISImageServiceLayer.getLegendInfos() and WMSLayer.getLegendInfos() since these now implement ILegendSupport interface.
  • Support for required fields using the new FieldInspector.required property or if it is non-nullable fields in the service. Support for setting custom renderer for read-only properties. FieldInspector.rendererIsEditor indicates that the same component is used for both read and edit scenarios. New method AttributeInspector.validate() to trigger the validation of the form. New AttributeInspector.isValid property if validation has passed for the form.
  • Data validation on the client side. Support for data validation when editing attributes using DoubleField.fractionalDigits property. See the DoubleField.as file in the /src/com/esri/ags/skins/fieldClasses folder inside the downloaded API zip file.
  • Date formatting can be customized using CalendarField.dateFormat and useUTC.
  • The AttributeInspectorSkin now defines the components used for editing of fields. You can take advantage of the new interface classes to create mobile friendly skin: ICodedValueDomainField, IDateField, IDoubleField, IFieldRenderer, ILabelField and ITypeField.
  • New property for CSVLayer to specify the CSVLayer.portalURL, to be used for creating the CSV layer. Similar to the serviceURL for KMLLayer.
  • New property noDataInterpretation on both ImageServiceParameters and ArcGISImageServiceLayer classes.
  • New property useStandardizedQueries on both LayerDetails and TableDetails classes. Requires ArcGIS 10.2 or later.
  • New print property, PrintParameters.outScale, for printing at an exact scale.
  • New property rasterFunctionInfos on ArcGISImageServiceLayer and a new class, RasterFunctionInfo.
  • New RelationshipInspector.clear() method, similar to AttachmentInspector, to clear the state.
  • Touch: when only making a small pinch, it now zooms instead of snapping back to nearest level.
  • The API download (the zip file) includes the localized properties files in addition to the API Library and skins.
  • Support for Portal for ArcGIS 10.2, including federated servers with windows authentication.

Changes to be aware of when migrating from 3.3 to 3.4

If you have custom skins for AttributeInspector and RelationShipInspector, they will need to be updated.

Mobile: consider create a customized version of the updated AttributeInspectorSkin using non-mx components to replace DateField and MemoField.

Bug fixes

  • NIM091075 - Only show the top VGroup of the PopUpRendererSkin if it's not empty. Reported as "If a title is not defined in the general popup properties, media popups will not display properly."
  • NIM092226 - ArcGISLocalTiledLayer wasn't working for TPK created from non-default "Layers" dataframe name.
  • NIM089381 - Add option within Edit Widget to adjust date field format, similar to the date field format within the popup configuration. This takes advantage of the ability to set dateFormat on the date components used by AttributeInspector.
  • NIM076665 - More obvious snapping difference between node and vertex snapping.
  • Improved snapping for nodes on a line.
  • Relationship inspector bug fixes
  • DrawTool for multipoint geometries work again.
  • For non-point data, the SimpleMarkerSymbol and PictureMarkerSymbol now work again inside a CompositeSymbol.
  • The long date format for Arabic and Italian displays correctly.
  • The InfoWindow styles that were added in version 3.1 are now documented: headerPaddingBottom, headerPaddingLeft, headerPaddingRight and headerPaddingTop.

ArcGIS API 3.3 for Flex

The following functionality, enhancements, changes, and bug fixes are new at version 3.3 which was released in April 2013:


  • Direction improvements: updated skin with added user options for optimizing route and return to start. The routing service URL now defaults to http://route.arcgis.com/arcgis/rest/services/World/Route/NAServer/Route_World.
  • New AttributeTable.exportColumnDelimiter property to support custom CSV delimiters.
  • New GeocoderLocatorOptions.minScale property, to specify when the search should be based on the center of current map extent.
  • New PortalInfo.helperServices property, that includes the default printing service, geocoding service etc when using an ArcGIS Organization or Portal for ArcGIS.
  • The default for the “doNotLocateOnRestrictedElements” property on ClosestFacilityParameters, RouteParameters and ServiceAreaParameters have changed from false to true.
  • Updated localization for Hebrew and several other locales.
  • Better support for Portal for ArcGIS and hosted organizations.

Changes to be aware of when migrating from 3.2 to 3.3

The results of the Geocoder should be better since the map extent (technically, map center and a distance) is only used when zoomed in past 1:150,000.

Bug fixes

  • NIM090192 - The geoprocessing widget configured in Flex Viewer 3.2 prompts for credentials although the geoprocessing service has not been secured.
  • NIM087793 - Certain WMTS (Web Map Tile Service) layer fails to load with ArcGIS API for Flex.
  • NIM089743 - Longer field values in a relate are cut off in the popups.
  • NIM090226 - Directions widget showed "Unknown" image for certain direction types.
  • NIM090234 - Directions widget showed incorrect images for "Bear left, then right" and "Bear right, then left" directions.
  • NIM090362- Show related records for map service layers with ID of 10 or higher not working.
  • Legend component not honoring scale dependency for ArcGIS 10.0 and earlier map services.
  • Allow horizontal scrolling in AttributeInspector and its RelationshipInspector.
  • Updated LegendSkin to prevent runtime errors when parentLayerId is null.
  • AttributeTable now properly honors column order when columnsOrder="fieldInspector".
  • AttributeInspector fix for when skin changes.
  • Directions widget - clicking "Directions" with no search strings removed point markers but not the line from previous directions.
  • Support more WMTS services: There is now a certain tolerance for matching scales in LODs that aren't 100% identical.
  • Better support for Web maps created using ArcGIS Explorer Online.
  • The generalization/rounding of the screen coordinates for lines and symbols have been improved.

ArcGIS API 3.2 for Flex

The following functionality, enhancements, changes, and bug fixes are new at version 3.2 which was released in March 2013:


  • Six new locales: Danish, Estonian, Hebrew, Latvian, Lithuanian and Portuguese (Portugal) - for a total of 22 supported locales.
  • New Geocoder component - a ready to use component for searching for locations and/or features. Supports both layers and tables. New related classes: GeocoderEvent, GeocoderLocatorOptions, GeocoderMapService, GeocoderSearchResult and GeocoderSkin. See the Geocoder sample.
  • New Directions (routing) component - a ready to use component for creating driving directions in your application. You can either type in an address or a feature (see Geocoder above) or click on the map to add new stops. Adding a destination by clicking on the map will automatically reverse geocode to get a nice address label. New related classes: DirectionsEvent, DirectionsGeocoderOptions, DirectionsRouteOptions, DirectionsSkin, DirectionsStop and DirectionsStopSkin. See the Directions sample.
  • New CallResponder class that helps manage results for asynchronous calls.
  • New property AddressToLocationsParameters.sourceCountry to use with the World Geocoding Service on geocode.arcgis.com.
  • New property LOD.levelValue to help create correct tile URLs.
  • New property RouteParameters.directionsOutputType to specify content and verbosity of the returned directions.
  • New properties on GeoRSSLayer to set different symbols based on geometry type: pointSymbol, polylineSymbol and polygonSymbol.
  • New property showInLegend on Layer and LayerLegendInfo classes.
  • New property showInLegendHiddenLayers on ArcGISDynamicMapServiceLayer and ArcGISTiledMapServiceLayer to specify which sublayers should not be shown in the legend.
  • Automatic attribution (copyrights) that change based on current extent, added for World Imagery, World Street and Ocean basemap.
  • WebMapUtil updated to support showLegend, web tiled layers (included WMTS layers converted to web tiled layers), GeoRSS layers and getting the Bing key from the portal organization if the bingMapsKey is not set.
  • Samples

Changes to be aware of when migrating from 3.1 to 3.2

  • If you are already using CallResponder, you might have to update your code.

Bug fixes

  • NIM088718 - Player can crash when a popup is highlighting a line and the user zooms in on the line. [See forum post and forum post]
  • NIM089615 - The Flex Viewer Edit widget does not recognize numbers with more than two decimal places, regardless of the level of precision set on the field
  • NIM089064 - Editor widget does not display attribute window properly after editing overlapping features
  • NIM087717 - AIR application with ArcGISLocalTiledLayer does not show TPKs at larger scales(such as 1:2500 or 1:1000).
  • NIM087691 - If wrapAround180 = true and the projection doesn't support wrapAround180, RTE are thrown because the wrapAround isn't set back to false.

ArcGIS API 3.1 for Flex

The following functionality, enhancements, changes, and bug fixes are new at version 3.1 which was released in December 2012:


  • New AttributeTable component - an interactive editable data table for feature layers and tables. Aside from providing a tabular display of the layer's data, graphics can be selected, deselected, and zoomed to by interacting with the AttributeTable. If the layer is editable, the feature attributes will be editable and it will support domains and subtypes as defined by the Feature Service. New related classes: AttributeTableColumn, AttributeTableEvent and AttributeTableSkin. See the AttributeTable sample.
  • Better support for related records using the new RelationshipInspector component. New related classes: RelationshipInspectorAttributeInspectorSkin, RelationshipInspectorEvent and RelationshipInspectorSkin. See the Relationship Inspector sample.
  • MobileArcGISLocalTiled: Support for Esri tile package (.tpk) in mobile applications - ArcGISLocalTiledLayer class.
  • Automatic attribution (copyrights) at bottom right of map. Can be turned off with Map.attributionVisible. Three new related classes Attribution, AttributionSkin and IAttributionSupport.
  • Support for rotating maps. New properties: Map.mapRotation, Map.middleButtonRotationEnabled, Map.multiTouchRotationEnabled and Layer.rotatedMapExtent. [NIM051617]. See the Map rotation sample.
  • InfoWindow (pop-up windows) changes:
    • InfoWindow auto-anchoring includes right, left, bottom, and top.
    • InfoWindow now defaults to a RIGHT anchor.
    • InfoWindow is draggable. This allows you to drag the InfoWindow to see what's under it, and also dock it to a different side of the feature.
  • New layer types:
  • WMTSLayer supports proxyURL properly.
  • ArcGISTiledMapServiceLayer url property now defaults to http://server.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer.
  • Map enhancements
    • New Map.zoomTo() method easily zoom to a feature.
    • New center property to easily center map. Use this with the level property to start the map at a specific center and level.
    • The default cyan highlight color for the graphic of the current popup window can be changed using the new Map.infoWindowRendererHighlightColor style on the Map component. Set to NaN to not highlight the selected feature. [NIM073051]
  • Support for CSV by reference layers found in web maps.
  • Ability to retrieve distinct values from a layer using the Query.returnDistinctValues property. Requires, at a minimum, ArcGIS 10.1 sp1, and a service that has been published with support for advanced queries.
  • Symbol changes:
    • Support for wraparound for custom symbols. Developers can use Symbol.getWrapAroundGeometries() in the draw function of their custom symbol to retrieve the geometry on multiple worlds, and then proceed as before. [NIM064744]
    • Improved performance for most symbols.
  • New MapMouseEvent.originalTarget property makes it easier to find out the orginal target (e.g. which layer) was clicked. [forum post]
  • Additional styles for the ContentNavigator: headerPaddingBottom, headerPaddingLeft, headerPaddingRight and headerPaddingTop.
  • New DrawEvent drawUpdate event on the DrawTool that is fired while drawing, and when the geometry of the feature is updated. This is useful if you want to display dynamic measurements while a feature is being drawn.
  • FeatureLayer changes:
    • FeatureLayer: Clear the existing selection when added to a Map if the Map's spatial reference is different than the spatial reference of the layer.
    • FeatureLayer: Set the selectionColor to NaN to turn off the highlight ("selectionColor").
    • New FeatureLayer.selectionSymbol property to use a symbol instead of, or in addition to, the default behavior of highlighting the selected features with a glow using selectionColor. [NIM073051]
    • New FeatureLayer queryLimitExceeded event that is dispatched when the feature layer query hit the maxRecordCount limitation. Requires ArcGIS 10.1 or later.
  • Samples

Changes to be aware of when migrating from 3.0 to 3.1

  • The default AttributeInspector.singleToMultilineThreshold property has increased from 40 to 50 to better align with the default length (50) for strings fields created in ArcMap.
  • Mobile: the default panEasingFactor has changed for mobile applications to give a better "feel" when panning or "throwing" the map.
  • There is a known-limit when working with pop-up windows in mobile applications created with version 3.1. If doing so, please note that you will need to either:
    1. add both mx.swc and sparkskins.swc to your project, or
    2. update the PopUpRendererSkin class and remove references to the RelationshipInspector component.
  • The ArcGISTiledMapServiceLayer.url defaults to .
  • Property changes:

Bug fixes

  • Identify operation on pre-10.1 servers was sometime ignoring the spatial reference.
  • Swatches for non-solid lines were not honoring color, alpha and width (but the actual feature rendering was still correct).[NIM081300]
  • On mobile devices InfoWindow was flickering when panning.
  • The SignInWindow is more mobile and tablet friendly. [NIM085020]

ArcGIS API 3.0 (final) for Flex

The following functionality, enhancements, changes, and bug fixes are new at version 3.0 which was released in June 2012:


  • Connect to ArcGIS Online and Portal for ArcGIS by taking advantage of the ArcGIS Portal API.
  • Requires Adobe Flex 4.6 SDK or higher, which in turn requires at least Flash Player 11.1.


  • Since 2.5, 63 new classes, 138 properties on existing classes, and 57 methods on existing classes have been added to support new API functionality and support for ArcGIS 10.1 functionality, ArcGIS Online, and Portal for ArcGIS.
  • Using panEasingFactor in mobile samples for better panning on mobile devices.


  • The webmap package has been renamed to portal and includes new class for connecting to ArcGIS Online and Portal for ArcGIS.
  • The arcgisSharingURL property in WebMapUtil has been renamed to portalURL.
  • The default value for Map.openHandCursorVisible has changed from true to false.
  • On the GeometryServicethe input parameter for the project() method is now projectParameters instead of geometries. This also allows for specifying datum transformations [requires ArcGIS Server 10.1].
  • On the Locator the input parameter for the addressToLocation() method is now addressToLocationParameters instead of address, outfields. This also adds support for batch geocoding and searching within an extent [requires ArcGIS Server 10.1].
  • The layerDefinitions property on ArcGISDynamicMapServiceLayer, FindParameters and IdentifyParameters can now take LayerDefinition in addition to a string. When using MXML, only LayerDefinition is allowed. When using ActionScript, both ways are allowed.
  • The default value for the UniqueValueRenderer.fieldDelimiter (formerly UniqueValueRenderer.attributeDelimiter) has changed from "" (empty string) to "," (comma) and "" is no longer a valid value.
  • The TextSymbol constructor now takes an alpha value as its 4th parameter. If you were using the TextSymbol constructor with more than three parameters, you need to adjust accordingly.
  • The default for the visibleLayers property on ArcGISDynamicMapServiceLayer and ArcIMSMapServiceLayer changed to null.

Bug fixes

Numerous bug fixes were made for 3.0 final.

ArcGIS API 3.0 (prerelease) for Flex

The following functionality, enhancements, changes, and bug fixes are new at version 3.0 prerelease:


  • Requires Adobe Flex 4.5 SDK or higher, which in turn requires at least Flash Player 10.2.
  • Support for new ArcGIS for Server 10.1 capabilities
    • Change renderers or layer order in map services (dynamic layers).
    • Add layers on the fly in map services (dynamic workspaces).
    • Generate data classifications on the server for layers in map services.
    • Use enhanced query options to order results and generate statistics.
    • Rollback a group of edits if one of them fails.
    • Editor tracking in feature services.
    • Use the new PrintTask to generate printable output on the server.
    • z/m value support in map and feature services.
    • Geodatabase versions.
    • Cancel geoprocessing jobs.
  • An IdentityManager that automatically prompts the end user for logging in to secure ArcGIS Server.
  • The pop-up window displays with multiple features (using the ContentNavigator class).
  • When drawing freehand lines or polygons, the point interval (and thus the number of vertices) can be adjusted.
  • KML layer supports refresh and httpquery.
  • Better locale support for VETiledLayer (Bing Maps).


  • The toJSON() and fromJSON() methods work with objects, not strings.


  • The Domain class is now an interface and has been renamed to IDomain.
  • The JSON class has been renamed JSONUtil, which is the same naming convention as for all the other classes in the utils package, and it also prevents collision with the JSON class added in Adobe Flash Player 11.
  • The Renderer class implements the new IRenderer interface.
  • The id property in LayerInfo has been renamed to layerId.
  • The attribute, attribute2, attribute3, and attributeDelimiter properties that were deprecated at 2.5 have been removed at 3.0. Use field, field2, field3, and fieldDelimiter instead.
  • The default value for the UniqueValueRenderer.fieldDelimiter (formerly UniqueValueRenderer.attributeDelimiter) have changed from "" to ",".
  • The attribute property on the ClassBreaksRenderer class has been renamed to field.
  • The defaultVisibleLayers() method has been removed. Setting the visibleLayers property on ArcGISDynamicMapServiceLayer and ArcIMSMapServiceLayer to null will achieve the same result.
  • Removed the following deprecated properties: ArcGISTiledMapServiceLayer.visibleLayers, VEAddress.postalTown, VEGeocodeResult.calculationMethod, and VEGeocodeResult.matchCodes.
  • Removed the following deprecated methods: FeatureSet.convertToJSON(), FeatureSet.convertFromJSON(), and NavigationToolzoomToFullExtent().
  • Removed the following deprecated event: AttachmentInspector result event.
  • Removed the unit property from the Map and Layer classes. This is now automatically inferred from the spatial reference.
  • The default value for the visibleLayers property on ArcGISDynamicMapServiceLayer and ArcIMSMapServiceLayer have changed to null. Previously they defaulted to the visible layers as defined by the default visibility in LayerInfo.
  • The ClassBreaksRenderer has a new property, isMaxInclusive, that defaults to true to align with ArcGIS for Server, which is always inclusive. Previously, the behavior was to not be inclusive.


If you're upgrading an application from version 2.5 to 3.x, be sure to read Migrating from 2.5 to 3.x.

For most functionality (for example, basic mapping and query), ArcGIS Server 9.3 or later is more than adequate. For editing, time-aware layers, closest facility, and service area, the ArcGIS API for Flex 2.0 (or later) and ArcGIS Server 10.0 (or later) are required. For PrintTask, dynamic layers, and dynamic workspaces, the ArcGIS API 3.0 for Flex (or later) and ArcGIS for Server 10.1 (or later) are required. See system requirements for more details.

Previous versions

See What was new in 2.x and What was new in 1.x.