Which version of the ArcGIS API for JavaScript should I use now? 3.24 or 4.7?

See the Choose a version topic for more information.

I have an app built with the 3.x version of the ArcGIS API for JavaScript and I want to take advantage of some of the features in version 4. What is the best process to migrate to 4.x?

There have been significant changes to the object model in order to enable higher productivity and effectiveness. Due to these major changes in the API, the cleanest approach is to re-write apps from scratch when building with the 4.x API. For more information, see Migrating from 3.x to 4.7.

Does current version of 4.x have all of the features of 3.x?

No, not yet. We are working hard to build a full-featured API that will not only meet but exceed 3.x capabilities. See Choose a version for more information, or review the 4.7 API reference.

How do I know what is comparable from 3.x to 4.x?

See the 3x to 4x functionality matrix topic for more information.

Why don't I see error messages in the console when working with promises?

When working with methods and classes that return promises, error messages can be captured and logged to the console using the otherwise() method. However, if you would like the app to automatically log these errors, you can paste the following code inside a script tag at the top of your app prior to loading the API.

dojoConfig: {
  has: {
    // 1: enables a better debugging support while having an impact on the performance of the app
    "config-deferredInstrumentation": 1

Note that this comes at a performance cost; therefore, it is best used during the development cycle and not for production apps.

How do I access features from my feature layer with mouse clicks?

Use either the MapView.hitTest or SceneView.hitTest methods to search for graphics that intersect the specified screen coordinates. See the Access features with click events for a sample on how this works.

What is the planned release schedule for future 4.x releases?

Version 4.7 is currently planned for Spring 2018.

What is the best way to come up to speed on building 3D web apps?

See the Best practices for 3d scene services Developer Summit talk that discusses some things to take into consideration when working with 3d scenes.

How long will Esri continue to release (i.e. maintain) the 3.x version of the API? How long will there be tech support?

Esri will actively develop and release the 3.x API until at least mid-2018. As the 4.x API matures and achieves equivalency with the 3.x API, new development efforts will only occur in 4.x. See the Product Life Cycle document for more information regarding 3.x releases and the support plan going forward. The 3.x versions of the API will be hosted on Esri's CDN for the foreseeable future, therefore apps that are built on 3.x versions of the API will continue to work beyond the support period.

Will new features continue to be added to the 3.x release?

We are still actively working on building new capabilities and enhancements into the 3.x API. Some of the new features planned for future 3.x milestones are:

  • New strategies for working with big data. For example, developers will be able to visualize data using various aggregation techniques such as clustering and binning.
  • Continually growing suite of renderers for creating smarter maps
  • FeatureTable enhancements
  • VectorTileLayer improvements
  • OGC improvements
  • Increased ArcGIS platform integration
  • Easier to work with time periods like "last week" or "by weekday"

Which versions of ArcGIS does 4.x work with?

The ArcGIS API for JavaScript 4.x works with supported versions of ArcGIS Server - see Product Life Cycle document. Note that for example, ArcGIS 10.0 was retired on Jan 1, 2016. Non-supported versions might still work to different degrees, but are not being tested (or supported) with the API.

Am I allowed to modify the ArcGIS API for JavaScript?

No. The code for the ArcGIS API for JavaScript cannot be modified.