{"id":80871,"date":"2017-12-14T10:55:28","date_gmt":"2017-12-14T10:55:28","guid":{"rendered":"http:\/\/www.esri.com\/arcgis-blog\/products\/product\/uncategorized\/arcgis-api-for-javascript-versions-4-6-and-3-23-released\/"},"modified":"2018-05-31T19:51:12","modified_gmt":"2018-05-31T19:51:12","slug":"arcgis-api-for-javascript-versions-4-6-and-3-23-released","status":"publish","type":"blog","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/announcements\/announcements\/arcgis-api-for-javascript-versions-4-6-and-3-23-released","title":{"rendered":"ArcGIS API for JavaScript versions 4.6 and 3.23 released"},"author":5111,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","format":"standard","meta":{"_acf_changed":false,"_searchwp_excluded":""},"categories":[37101],"tags":[34901,24921,31311,27491,23571,34921],"industry":[],"product":[36831,36601],"class_list":["post-80871","blog","type-blog","status-publish","format-standard","hentry","category-announcements","tag-december-2017-release","tag-javascript","tag-jsapi3","tag-jsapi4","tag-whats-new","tag-whats-new-december-2017","product-js-api-arcgis","product-developers"],"acf":{"short_description":"Just in time for the new year, Versions 4.6 and 3.23 of the ArcGIS API for JavaScript\u00a0have arrived, bringing new capabilities such as a ...","flexible_content":[{"acf_fc_layout":"content","content":"<p>Just in time for the new year, Versions 4.6 and 3.23 of the ArcGIS API for JavaScript\u00a0have arrived, bringing new capabilities such as a directions widget, 3D measurement widget, and layer refresh. Here are some of the release highlights you&#8217;ll find in <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/guide\/release-notes\/index.html\">4.6<\/a> and <a href=\"https:\/\/developers.arcgis.com\/javascript\/3\/jshelp\/whats_new.html\">3.23<\/a>.<br \/>\n<!--more--><\/p>\n<h2><strong>Directions Widget (Beta)<\/strong><\/h2>\n<p>If you\u2019re taking a trip to parts unknown, then the <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-widgets-Directions.html\">Directions widget<\/a> is right for you. Currently in beta, this widget calculates directions between two or more locations and makes it easy to add turn-by-turn directions to a page as well as a route on a map. The widget defaults to the\u00a0<a href=\"http:\/\/route.arcgis.com\/arcgis\/index.html\">ArcGIS Online route service<\/a>\u00a0but can be configured to use any ArcGIS Server Network Analyst routing service. To explore further, see the\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/widgets-directions\/index.html\">Directions sample<\/a>.<\/p>\n<p><a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/widgets-directions\/index.html\"><img decoding=\"async\" src=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2017\/12\/directions-route.png\" alt=\"Directions Widget\" \/><\/a><\/p>\n<h2><strong>3D Measurement Widget<\/strong><\/h2>\n<p>3D measurements have never been easier or more fun than they are now, with the new\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-widgets-DirectLineMeasurement3D.html\">DirectLineMeasurement3D<\/a> widget. You can measure the vertical, horizontal, and direct distance between two points. When the widget is active, a horizontal &#8220;laser&#8221; line is drawn which indicates the height at the current mouse position. This line can help in analyzing the heights of objects relative to each other and the terrain. The\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/widgets-directlinemeasurement-3d\/index.html\">Direct line measurement in 3D<\/a>\u00a0sample\u00a0shows how to use this widget.<\/p>\n<p><a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/widgets-directlinemeasurement-3d\/index.html\"><br \/>\n<img decoding=\"async\" src=\"https:\/\/developers.arcgis.com\/javascript\/latest\/assets\/img\/samples\/direct-line-measurement-3d.gif\" alt=\"DirectLineMeasurement3D widget\" \/><\/a><\/p>\n<h2><strong>Layer Refresh Interval<\/strong><\/h2>\n<p>Keep your maps in sync with the latest data while the map is open by using a refresh interval. For example, you might have a map with a damage assessment feature layer that field workers update every few minutes. Using a refresh interval with this damage assessment layer helps your office team see the latest feature data from the field while keeping the map open in their browser, desktop, or device. If you have multiple layers configured with the same refresh interval duration, they will be updated at the same time.<\/p>\n<h2><strong>2D WebGL FeatureLayer Progress<\/strong><\/h2>\n<p>Simply put, WebGL allows more data to be displayed faster. We are continuing to improve the user experience for the\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-layers-FeatureLayer.html#webgl-rendering\">2D WebGL-rendered version of FeatureLayer<\/a>, which is still in beta. At 4.6, some of the processing in the layer has moved to workers using the API&#8217;s\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-core-workers.html\">workers framework.\u00a0<\/a><\/p>\n<h2><strong>Improved Compatibility with ES6 Promises<\/strong><\/h2>\n<p>At 4.6, then() is deprecated in favor of <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/index.html?search=when\">when()<\/a>. The then() method will still be honored at 4.6, but will throw warning messages in the console, to ease the process of updating apps to using <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/index.html?search=when\">when()<\/a> on loadable classes. We made this change to allow the use of native ES6 promises within the context of the ArcGIS API for JavaScript. At version 4.7 (Spring 2018),\u00a0then()\u00a0will be removed from\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/index.html?search=then\">all applicable classes<\/a>, making this a breaking change. See the <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/guide\/release-notes\/index.html#improved-compatibility-with-javascript-promises\">Release Notes<\/a> for more information.<\/p>\n<h2><strong>TypeScript Enhancements<\/strong><\/h2>\n<p>The TypeScript declaration file for the ArcGIS API for JavaScript describes the shape of the API to TypeScript. Learn more about how to install it with the\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/guide\/typescript-setup\/index.html#install-the-arcgis-api-for-javascript-typings\">dedicated guide page<\/a>\u00a0or on\u00a0<a href=\"https:\/\/github.com\/Esri\/jsapi-resources\/tree\/master\/4.x\/typescript\">GitHub<\/a>. Version 4.6 introduces several improvements, read more about the improvements in this\u00a0<a href=\"https:\/\/blogs.esri.com\/esri\/arcgis\/2017\/12\/14\/improved-typescript\/\">blog post.<\/a><\/p>\n<h2><strong>Support for Geometry Operations in Arcade with 3.23<\/strong><\/h2>\n<p><a href=\"https:\/\/developers.arcgis.com\/javascript\/3\/jshelp\/arcade.html\">Arcade expressions<\/a>\u00a0now support\u00a0<a href=\"https:\/\/developers.arcgis.com\/arcade\/function-reference\/geometry_functions\/\">geometry operations<\/a>\u00a0that allow you to perform overlay, proximity, topological relationship testing, and measurement operations. We added the\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/3\/jssamples\/streamlayer_arcade_geofence.html\">Create a Geofence with Arcade<\/a>\u00a0sample to demonstrate how you can drive visualization based on on-the-fly geometric operations; in this case when city buses enter the downtown LA area.<\/p>\n<p><a href=\"https:\/\/developers.arcgis.com\/javascript\/3\/jssamples\/streamlayer_arcade_geofence.html\"><img decoding=\"async\" src=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2017\/12\/arcade-geofence.png\" alt=\"Create a Geofence with Arcade\" \/><\/a><\/p>\n<h2><strong>Website Enhancements<\/strong><\/h2>\n<p>Not every update is just about the applications; we also made a few special modifications to our SDK to make the website easier to use. We added\u00a0<a href=\"https:\/\/webaim.org\/techniques\/keyboard\/\">Keyboard Accessibility<\/a>\u00a0support to Home, Guide, API Reference, Sample Code, and Sandbox. Use\u00a0<code>Shift ?<\/code>\u00a0to display the help menu on each page.<\/p>\n<h2><strong>Learn more<\/strong><\/h2>\n<p>Explore the release notes and new samples to learn more about what&#8217;s new in the API, such as: the full screen widget which lets users expand your app to full screen, updates to vector basemaps, arrow marker symbols, KMLLayer updates, and more.<\/p>\n<p><a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/guide\/release-notes\/index.html\">Version 4.6 release notes<\/a><br \/>\n<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/index.html?search=4.6\">Version 4.6 samples<\/a><br \/>\n<a href=\"https:\/\/developers.arcgis.com\/javascript\/3\/jshelp\/whats_new.html\">Version 3.23 release notes<\/a><br \/>\n<a href=\"https:\/\/developers.arcgis.com\/javascript\/3\/jssamples\/#latest_samples\">Version 3.23 samples<\/a><\/p>\n"}],"authors":[{"ID":5111,"user_firstname":"Lloyd","user_lastname":"Heberlie","nickname":"heberlie","user_nicename":"heberlie","display_name":"Lloyd Heberlie","user_email":"lheberlie@esri.com","user_url":"","user_registered":"2018-03-02 00:16:44","user_description":"Working daily to elevate user happiness about reading the ArcGIS Maps SDK for JavaScript documentation. Occasionally blogging about the ArcGIS Maps SDK for JavaScript, and technical presenter at the Esri Developer Summit and User's Conferences. A Product Engineer on the Esri ArcGIS Maps SDK for JavaScript team.","user_avatar":"<img alt='' src='https:\/\/secure.gravatar.com\/avatar\/df342931f2b50f8d00850f6dee67142f65c9e1d4c1911952db30cc94ce36fde7?s=96&#038;d=blank&#038;r=g' srcset='https:\/\/secure.gravatar.com\/avatar\/df342931f2b50f8d00850f6dee67142f65c9e1d4c1911952db30cc94ce36fde7?s=192&#038;d=blank&#038;r=g 2x' class='avatar avatar-96 photo' height='96' width='96' loading='lazy' decoding='async'\/>"},{"ID":4811,"user_firstname":"Bjorn","user_lastname":"Svensson","nickname":"bjorn","user_nicename":"bjorn","display_name":"Bj\u00f6rn Svensson","user_email":"bsvensson@esri.com","user_url":"https:\/\/developers.arcgis.com\/javascript\/","user_registered":"2018-03-02 00:16:26","user_description":"20+ years of experience with web mapping. Currently lead project engineer for the ArcGIS Maps SDK for JavaScript development team at Esri.","user_avatar":"<img data-del=\"avatar\" src='https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Bjorn_Svensson_beard_squarish_2000.png' class='avatar pp-user-avatar avatar-96 photo ' height='96' width='96'\/>"},{"ID":4271,"user_firstname":"Julie","user_lastname":"Powell","nickname":"Julie Powell","user_nicename":"julie-powell","display_name":"Julie Powell","user_email":"julie_powell@esri.com","user_url":"","user_registered":"2018-03-02 00:15:51","user_description":"Julie Powell is Principal Product Manager for Esri's web development technologies. She works to ensure developers can be successful in building state of the art, purposeful solutions using ArcGIS software. \r\nJulie brings 20 years of experience working with global leaders such as Hewlett-Packard and Esri, delivering a variety of software solutions for both the enterprise and consumer markets.","user_avatar":"<img data-del=\"avatar\" src='https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/03\/PhotoRoom-20220321_101413-3-213x200.png' class='avatar pp-user-avatar avatar-96 photo ' height='96' width='96'\/>"}],"related_articles":"","card_image":false,"wide_image":false},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>ArcGIS API for JavaScript versions 4.6 and 3.23 released<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/announcements\/announcements\/arcgis-api-for-javascript-versions-4-6-and-3-23-released\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ArcGIS API for JavaScript versions 4.6 and 3.23 released\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.esri.com\/arcgis-blog\/products\/announcements\/announcements\/arcgis-api-for-javascript-versions-4-6-and-3-23-released\" \/>\n<meta property=\"og:site_name\" content=\"ArcGIS Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/esrigis\/\" \/>\n<meta property=\"article:modified_time\" content=\"2018-05-31T19:51:12+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@ESRI\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/announcements\/announcements\/arcgis-api-for-javascript-versions-4-6-and-3-23-released#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/announcements\/announcements\/arcgis-api-for-javascript-versions-4-6-and-3-23-released\"},\"author\":{\"name\":\"Lloyd Heberlie\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/03caa527c3892a4e919fcf6abab2aace\"},\"headline\":\"ArcGIS API for JavaScript versions 4.6 and 3.23 released\",\"datePublished\":\"2017-12-14T10:55:28+00:00\",\"dateModified\":\"2018-05-31T19:51:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/announcements\/announcements\/arcgis-api-for-javascript-versions-4-6-and-3-23-released\"},\"wordCount\":7,\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"keywords\":[\"december 2017 release\",\"JavaScript\",\"jsapi3\",\"jsapi4\",\"what's new\",\"whats new december 2017\"],\"articleSection\":[\"Announcements\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/announcements\/announcements\/arcgis-api-for-javascript-versions-4-6-and-3-23-released\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/announcements\/announcements\/arcgis-api-for-javascript-versions-4-6-and-3-23-released\",\"name\":\"ArcGIS API for JavaScript versions 4.6 and 3.23 released\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\"},\"datePublished\":\"2017-12-14T10:55:28+00:00\",\"dateModified\":\"2018-05-31T19:51:12+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/announcements\/announcements\/arcgis-api-for-javascript-versions-4-6-and-3-23-released#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/announcements\/announcements\/arcgis-api-for-javascript-versions-4-6-and-3-23-released\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/announcements\/announcements\/arcgis-api-for-javascript-versions-4-6-and-3-23-released#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.esri.com\/arcgis-blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"ArcGIS API for JavaScript versions 4.6 and 3.23 released\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"name\":\"ArcGIS Blog\",\"description\":\"Get insider info from Esri product teams\",\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\",\"name\":\"Esri\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"width\":400,\"height\":400,\"caption\":\"Esri\"},\"image\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/esrigis\/\",\"https:\/\/x.com\/ESRI\",\"https:\/\/www.linkedin.com\/company\/5311\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/03caa527c3892a4e919fcf6abab2aace\",\"name\":\"Lloyd Heberlie\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/df342931f2b50f8d00850f6dee67142f65c9e1d4c1911952db30cc94ce36fde7?s=96&d=blank&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/df342931f2b50f8d00850f6dee67142f65c9e1d4c1911952db30cc94ce36fde7?s=96&d=blank&r=g\",\"caption\":\"Lloyd Heberlie\"},\"description\":\"Working daily to elevate user happiness about reading the ArcGIS Maps SDK for JavaScript documentation. Occasionally blogging about the ArcGIS Maps SDK for JavaScript, and technical presenter at the Esri Developer Summit and User's Conferences. A Product Engineer on the Esri ArcGIS Maps SDK for JavaScript team.\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/lloydheberlie\",\"https:\/\/x.com\/lheberlie\"],\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/author\/heberlie\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"ArcGIS API for JavaScript versions 4.6 and 3.23 released","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.esri.com\/arcgis-blog\/products\/announcements\/announcements\/arcgis-api-for-javascript-versions-4-6-and-3-23-released","og_locale":"en_US","og_type":"article","og_title":"ArcGIS API for JavaScript versions 4.6 and 3.23 released","og_url":"https:\/\/www.esri.com\/arcgis-blog\/products\/announcements\/announcements\/arcgis-api-for-javascript-versions-4-6-and-3-23-released","og_site_name":"ArcGIS Blog","article_publisher":"https:\/\/www.facebook.com\/esrigis\/","article_modified_time":"2018-05-31T19:51:12+00:00","twitter_card":"summary_large_image","twitter_site":"@ESRI","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/announcements\/announcements\/arcgis-api-for-javascript-versions-4-6-and-3-23-released#article","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/announcements\/announcements\/arcgis-api-for-javascript-versions-4-6-and-3-23-released"},"author":{"name":"Lloyd Heberlie","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/03caa527c3892a4e919fcf6abab2aace"},"headline":"ArcGIS API for JavaScript versions 4.6 and 3.23 released","datePublished":"2017-12-14T10:55:28+00:00","dateModified":"2018-05-31T19:51:12+00:00","mainEntityOfPage":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/announcements\/announcements\/arcgis-api-for-javascript-versions-4-6-and-3-23-released"},"wordCount":7,"publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"keywords":["december 2017 release","JavaScript","jsapi3","jsapi4","what's new","whats new december 2017"],"articleSection":["Announcements"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/announcements\/announcements\/arcgis-api-for-javascript-versions-4-6-and-3-23-released","url":"https:\/\/www.esri.com\/arcgis-blog\/products\/announcements\/announcements\/arcgis-api-for-javascript-versions-4-6-and-3-23-released","name":"ArcGIS API for JavaScript versions 4.6 and 3.23 released","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#website"},"datePublished":"2017-12-14T10:55:28+00:00","dateModified":"2018-05-31T19:51:12+00:00","breadcrumb":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/announcements\/announcements\/arcgis-api-for-javascript-versions-4-6-and-3-23-released#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/announcements\/announcements\/arcgis-api-for-javascript-versions-4-6-and-3-23-released"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/announcements\/announcements\/arcgis-api-for-javascript-versions-4-6-and-3-23-released#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.esri.com\/arcgis-blog\/"},{"@type":"ListItem","position":2,"name":"ArcGIS API for JavaScript versions 4.6 and 3.23 released"}]},{"@type":"WebSite","@id":"https:\/\/www.esri.com\/arcgis-blog\/#website","url":"https:\/\/www.esri.com\/arcgis-blog\/","name":"ArcGIS Blog","description":"Get insider info from Esri product teams","publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization","name":"Esri","url":"https:\/\/www.esri.com\/arcgis-blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","width":400,"height":400,"caption":"Esri"},"image":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/esrigis\/","https:\/\/x.com\/ESRI","https:\/\/www.linkedin.com\/company\/5311\/"]},{"@type":"Person","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/03caa527c3892a4e919fcf6abab2aace","name":"Lloyd Heberlie","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/df342931f2b50f8d00850f6dee67142f65c9e1d4c1911952db30cc94ce36fde7?s=96&d=blank&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/df342931f2b50f8d00850f6dee67142f65c9e1d4c1911952db30cc94ce36fde7?s=96&d=blank&r=g","caption":"Lloyd Heberlie"},"description":"Working daily to elevate user happiness about reading the ArcGIS Maps SDK for JavaScript documentation. Occasionally blogging about the ArcGIS Maps SDK for JavaScript, and technical presenter at the Esri Developer Summit and User's Conferences. A Product Engineer on the Esri ArcGIS Maps SDK for JavaScript team.","sameAs":["https:\/\/www.linkedin.com\/in\/lloydheberlie","https:\/\/x.com\/lheberlie"],"url":"https:\/\/www.esri.com\/arcgis-blog\/author\/heberlie"}]}},"text_date":"December 14, 2017","author_name":"Multiple Authors","author_page":"https:\/\/www.esri.com\/arcgis-blog\/products\/announcements\/announcements\/arcgis-api-for-javascript-versions-4-6-and-3-23-released","custom_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/08\/Newsroom-Keyart-Wide-1920-x-1080.jpg","primary_product":"ArcGIS Maps SDK for JavaScript","tag_data":[{"term_id":34901,"name":"december 2017 release","slug":"december-2017-release","term_group":0,"term_taxonomy_id":34901,"taxonomy":"post_tag","description":"","parent":0,"count":29,"filter":"raw"},{"term_id":24921,"name":"JavaScript","slug":"javascript","term_group":0,"term_taxonomy_id":24921,"taxonomy":"post_tag","description":"","parent":0,"count":151,"filter":"raw"},{"term_id":31311,"name":"jsapi3","slug":"jsapi3","term_group":0,"term_taxonomy_id":31311,"taxonomy":"post_tag","description":"","parent":0,"count":19,"filter":"raw"},{"term_id":27491,"name":"jsapi4","slug":"jsapi4","term_group":0,"term_taxonomy_id":27491,"taxonomy":"post_tag","description":"","parent":0,"count":111,"filter":"raw"},{"term_id":23571,"name":"what's new","slug":"whats-new","term_group":0,"term_taxonomy_id":23571,"taxonomy":"post_tag","description":"","parent":0,"count":607,"filter":"raw"},{"term_id":34921,"name":"whats new december 2017","slug":"whats-new-december-2017","term_group":0,"term_taxonomy_id":34921,"taxonomy":"post_tag","description":"","parent":0,"count":14,"filter":"raw"}],"category_data":[{"term_id":37101,"name":"Announcements","slug":"announcements","term_group":0,"term_taxonomy_id":37101,"taxonomy":"category","description":"","parent":0,"count":2050,"filter":"raw"}],"product_data":[{"term_id":36831,"name":"ArcGIS Maps SDK for JavaScript","slug":"js-api-arcgis","term_group":0,"term_taxonomy_id":36831,"taxonomy":"product","description":"","parent":36601,"count":365,"filter":"raw"},{"term_id":36601,"name":"Developers","slug":"developers","term_group":0,"term_taxonomy_id":36601,"taxonomy":"product","description":"","parent":0,"count":777,"filter":"raw"}],"primary_product_link":"https:\/\/www.esri.com\/arcgis-blog\/?s=#&products=js-api-arcgis","_links":{"self":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/80871","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/users\/5111"}],"replies":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/comments?post=80871"}],"version-history":[{"count":0,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/80871\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/media?parent=80871"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/categories?post=80871"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/tags?post=80871"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/industry?post=80871"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/product?post=80871"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}