{"id":140441,"date":"2018-04-19T17:30:15","date_gmt":"2018-04-19T17:30:15","guid":{"rendered":"http:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=140441"},"modified":"2018-05-07T16:18:46","modified_gmt":"2018-05-07T16:18:46","slug":"arcgis-api-for-javascript-versions-4-7-and-3-24-released","status":"publish","type":"blog","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/arcgis-api-for-javascript-versions-4-7-and-3-24-released","title":{"rendered":"ArcGIS API for JavaScript versions 4.7 and 3.24 released"},"author":7451,"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":[42621,24921,31311,27491,27521],"industry":[],"product":[36831,36601],"class_list":["post-140441","blog","type-blog","status-publish","format-standard","hentry","category-announcements","tag-4-7","tag-javascript","tag-jsapi3","tag-jsapi4","tag-sdk","product-js-api-arcgis","product-developers"],"acf":{"short_description":"Versions 4.7 and 3.24 of the ArcGIS API for JavaScript have released! Check out this blog for more details. ","flexible_content":[{"acf_fc_layout":"content","content":"<p>Our first JavaScript release of 2018 promises to be a significant one. Today, we release versions <strong><a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/guide\/release-notes\/index.html\">4.7<\/a><\/strong>\u00a0and\u00a0<strong><a href=\"https:\/\/developers.arcgis.com\/javascript\/3\/jshelp\/whats_new.html\">3.24<\/a><\/strong> of the ArcGIS API for JavaScript. In 4.7, we made important advances in both 3D and 2D functionality. In 3.24, we improved the quality of both the API and the SDK.\u00a0Here are just some of the release highlights you\u2019ll find.<\/p>\n<h3 id=\"mobile-support-in-3d\">Mobile support in 3D<\/h3>\n<p>Developers can now build 3D web applications that can be used on modern phones or tablets without having to install an app! See the <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/guide\/system-requirements\/index.html#hardware-requirements-for-3d\">Hardware Requirements<\/a> for more details on supported devices. For a smooth mobile experience, we greatly improved performance and stability. For example, scene memory usage is controlled by adjusting the level-of-detail of the data displayed across layers. This behavior can be fine-tuned with the <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-views-SceneView.html#qualityProfile\">qualityProfile<\/a> API. Other performance improvements include a reduced memory footprint of Scene Layers, and continuous data loading via web workers.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":154081,"id":154081,"title":"mobile-support-3D","filename":"mobile-support-3D.png","filesize":33305,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/mobile-support-3D.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/arcgis-api-for-javascript-versions-4-7-and-3-24-released\/mobile-support-3d","alt":"","author":"7451","description":"","caption":"","name":"mobile-support-3d","status":"inherit","uploaded_to":140441,"date":"2018-04-17 18:31:42","modified":"2018-04-17 18:31:42","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":600,"height":300,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/mobile-support-3D.png","thumbnail-width":213,"thumbnail-height":107,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/mobile-support-3D.png","medium-width":464,"medium-height":232,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/mobile-support-3D.png","medium_large-width":600,"medium_large-height":300,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/mobile-support-3D.png","large-width":600,"large-height":300,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/mobile-support-3D.png","1536x1536-width":600,"1536x1536-height":300,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/mobile-support-3D.png","2048x2048-width":600,"2048x2048-height":300,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/mobile-support-3D.png","card_image-width":600,"card_image-height":300,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/mobile-support-3D.png","wide_image-width":600,"wide_image-height":300}},"image_position":"left-center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<h3 id=\"webgl-rendering-updates\">WebGL Updates<\/h3>\n<p><a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-layers-FeatureLayer.html\">FeatureLayer<\/a>\u00a0performance continues to improve, allowing you to load features more efficiently and navigate the view more seamlessly.\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-views-layers-FeatureLayerView.html\">FeatureLayerView<\/a>\u00a0can now be queried when WebGL is enabled. These queries can be executed for statistics on the client, for example in the\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/featurelayerview-query-stats\/index.html\">Query client-side statistics<\/a>\u00a0sample. Additionally,\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-symbols-TextSymbol.html\">TextSymbols<\/a>\u00a0are now supported with FeatureLayers. This includes support for multi-line text.<\/p>\n<h3 id=\"edge-rendering-for-3d-object-scenelayer\">Edge Rendering for 3D<\/h3>\n<p>Bring 3D objects to life with Edge Rendering. Enabling edges will draw the outlines of 3D polygon and mesh geometries, which greatly improves scene contrast and depth perception. Additionally, edges are a great way to style your 3D layers. You can configure the\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-symbols-edges-SolidEdges3D.html\">SolidEdges3D<\/a>\u00a0with\u00a0different edge colors and sizes to generate striking visualizations. Or, you can use the <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-symbols-edges-SketchEdges3D.html\">SketchEdges3D<\/a>\u00a0for a unique, hand-drawn look.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":141781,"id":141781,"title":"contour-edge-rendering","filename":"contour-edge-rendering.png","filesize":265728,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/contour-edge-rendering.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/arcgis-api-for-javascript-versions-4-7-and-3-24-released\/contour-edge-rendering","alt":"","author":"7451","description":"","caption":"","name":"contour-edge-rendering","status":"inherit","uploaded_to":140441,"date":"2018-04-10 20:01:34","modified":"2018-04-10 20:12:21","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1235,"height":632,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/contour-edge-rendering.png","thumbnail-width":213,"thumbnail-height":109,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/contour-edge-rendering.png","medium-width":464,"medium-height":237,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/contour-edge-rendering.png","medium_large-width":768,"medium_large-height":393,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/contour-edge-rendering.png","large-width":1235,"large-height":632,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/contour-edge-rendering.png","1536x1536-width":1235,"1536x1536-height":632,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/contour-edge-rendering.png","2048x2048-width":1235,"2048x2048-height":632,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/contour-edge-rendering.png","card_image-width":826,"card_image-height":423,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/contour-edge-rendering.png","wide_image-width":1235,"wide_image-height":632}},"image_position":"left-center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<h3><\/h3>\n<h3 id=\"client-side-projection\">Client-side Projection Engine<\/h3>\n<p>From the makers of geometryEngine comes another big, client-side, hit. The client-side projection engine is now available at both 4.7 and 3.24. The\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-geometry-projection.html\">projection module<\/a>\u00a0provides a way to convert geometries from one spatial reference to another on the client. This makes it easier to reproject your data to be in the same spatial reference as the map or scene without making a call to the server. The browser must support\u00a0<a href=\"https:\/\/caniuse.com\/#feat=wasm\">WebAssembly<\/a>\u00a0for the client-side engine to work.\u00a0To see how this is done, check out the\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/client-projection\/index.html\">4.x Client-side projection<\/a>\u00a0sample, and the <a href=\"https:\/\/developers.arcgis.com\/javascript\/3\/jssamples\/client-projection.html\">3.x Client-side projection<\/a> sample.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":141921,"id":141921,"title":"client-side-projection","filename":"client-side-projection.png","filesize":60036,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/client-side-projection.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/arcgis-api-for-javascript-versions-4-7-and-3-24-released\/client-side-projection","alt":"","author":"7451","description":"","caption":"","name":"client-side-projection","status":"inherit","uploaded_to":140441,"date":"2018-04-10 20:15:03","modified":"2018-04-10 20:15:03","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":758,"height":528,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/client-side-projection.png","thumbnail-width":213,"thumbnail-height":148,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/client-side-projection.png","medium-width":375,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/client-side-projection.png","medium_large-width":758,"medium_large-height":528,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/client-side-projection.png","large-width":758,"large-height":528,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/client-side-projection.png","1536x1536-width":758,"1536x1536-height":528,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/client-side-projection.png","2048x2048-width":758,"2048x2048-height":528,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/client-side-projection.png","card_image-width":668,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/client-side-projection.png","wide_image-width":758,"wide_image-height":528}},"image_position":"left-center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<h3 id=\"3d-area-measurement-widget\">3D Area Measurement Widget<\/h3>\n<p>Measuring areas just got more exciting (and possible) in 3D webapps using the\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-widgets-AreaMeasurement3D.html\">AreaMeasurement3D<\/a>\u00a0widget. To see how to use this widget, or the\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-widgets-DirectLineMeasurement3D.html\">DirectLineMeasurement3D<\/a>\u00a0widget, see the\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/widgets-measurement-3d\/index.html\">Measurement in 3D sample<\/a>.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":141931,"id":141931,"title":"3d-area-measurement-widget","filename":"3d-area-measurement-widget.png","filesize":105731,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/3d-area-measurement-widget.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/arcgis-api-for-javascript-versions-4-7-and-3-24-released\/3d-area-measurement-widget","alt":"","author":"7451","description":"","caption":"","name":"3d-area-measurement-widget","status":"inherit","uploaded_to":140441,"date":"2018-04-10 20:15:23","modified":"2018-04-10 20:15:23","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":852,"height":467,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/3d-area-measurement-widget.png","thumbnail-width":213,"thumbnail-height":117,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/3d-area-measurement-widget.png","medium-width":464,"medium-height":254,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/3d-area-measurement-widget.png","medium_large-width":768,"medium_large-height":421,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/3d-area-measurement-widget.png","large-width":852,"large-height":467,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/3d-area-measurement-widget.png","1536x1536-width":852,"1536x1536-height":467,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/3d-area-measurement-widget.png","2048x2048-width":852,"2048x2048-height":467,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/3d-area-measurement-widget.png","card_image-width":826,"card_image-height":453,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/3d-area-measurement-widget.png","wide_image-width":852,"wide_image-height":467}},"image_position":"left-center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<h3 id=\"legend-widget-card-style\">Legend Widget Style<\/h3>\n<p>Legendary widgets deserve legendary style. The\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-widgets-Legend.html\">Legend<\/a>\u00a0widget now has a\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-widgets-Legend.html#style\">style<\/a>\u00a0property, which allows you to toggle between two different views of the widget. The\u00a0<code>classic<\/code>\u00a0style is the default, and represents the time-tested view of the Legend widget. We now support a\u00a0<code>card<\/code>\u00a0style, which displays widget content in a fresh, updated way.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":141941,"id":141941,"title":"legend-widget-card","filename":"legend-widget-card.png","filesize":105731,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/legend-widget-card.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/arcgis-api-for-javascript-versions-4-7-and-3-24-released\/legend-widget-card","alt":"","author":"7451","description":"","caption":"","name":"legend-widget-card","status":"inherit","uploaded_to":140441,"date":"2018-04-10 20:15:40","modified":"2018-04-10 20:15:40","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":848,"height":579,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/legend-widget-card.png","thumbnail-width":213,"thumbnail-height":145,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/legend-widget-card.png","medium-width":382,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/legend-widget-card.png","medium_large-width":768,"medium_large-height":524,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/legend-widget-card.png","large-width":848,"large-height":579,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/legend-widget-card.png","1536x1536-width":848,"1536x1536-height":579,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/legend-widget-card.png","2048x2048-width":848,"2048x2048-height":579,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/legend-widget-card.png","card_image-width":681,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/legend-widget-card.png","wide_image-width":848,"wide_image-height":579}},"image_position":"left-center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<h4 id=\"layerlist-updates\">LayerList Updates<\/h4>\n<p>Speaking of widgets, we also added support for\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-widgets-LayerList-ListItem.html#panel\">panels<\/a>\u00a0in the\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-widgets-LayerList.html\">LayerList<\/a>\u00a0widget. This allows you to add custom content to a layer&#8217;s list item, including: widgets, text, and DOM elements specific to the application.\u00a0Users commonly request a convenient way to combine the LayerList with the <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-widgets-Legend.html\">Legend widget<\/a>. With this release, you can accomplish this by setting the helper string <code>legend<\/code> to the listItem&#8217;s panel content. Take a look at this <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/widgets-layerlist-legend\/index.html\">Combine LayerList and Legend widgets<\/a> sample as an example.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":155791,"id":155791,"title":"layerlist-legend-update","filename":"layerlist-legend-update.png","filesize":120422,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/layerlist-legend-update.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/arcgis-api-for-javascript-versions-4-7-and-3-24-released\/layerlist-legend-update","alt":"","author":"7451","description":"","caption":"","name":"layerlist-legend-update","status":"inherit","uploaded_to":140441,"date":"2018-04-18 18:39:06","modified":"2018-04-18 18:39:06","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":962,"height":484,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/layerlist-legend-update.png","thumbnail-width":213,"thumbnail-height":107,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/layerlist-legend-update.png","medium-width":464,"medium-height":233,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/layerlist-legend-update.png","medium_large-width":768,"medium_large-height":386,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/layerlist-legend-update.png","large-width":962,"large-height":484,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/layerlist-legend-update.png","1536x1536-width":962,"1536x1536-height":484,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/layerlist-legend-update.png","2048x2048-width":962,"2048x2048-height":484,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/layerlist-legend-update.png","card_image-width":826,"card_image-height":416,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/layerlist-legend-update.png","wide_image-width":962,"wide_image-height":484}},"image_position":"left-center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<h3 id=\"better-support-for-es-promises\">Better Support for ES Promises<\/h3>\n<p>This release improves our compatibility with ES Promises. Prior to 4.7, the\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-WebMap.html#when\">WebMap<\/a>,\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-WebScene.html#when\">WebScene<\/a>,\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-views-MapView.html#when\">MapView<\/a>,\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-views-SceneView.html#when\">SceneView<\/a>,\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-Basemap.html#when\">Basemap<\/a>,\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-Ground.html#when\">Ground<\/a>,\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-layers-Layer.html#when\">Layer<\/a>, and\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-views-layers-LayerView.html#when\">LayerView<\/a>\u00a0classes were not compatible with ES Promises, causing the web browser to go into an infinite loop, making it unresponsive. At this release, we make the API compatible by default. This is a\u00a0<strong>breaking change<\/strong>. Please read\u00a0<a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/making-better-promises\/\">this blog post<\/a>\u00a0to learn more about how to make your code compatible with these updates.<\/p>\n<h3><\/h3>\n<h3 id=\"legend-widget-card-style\">Better Printing with 3.23<\/h3>\n<p>Printing was updated at this release. The URL parser of the\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/3\/jsapi\/printtask-amd.html\">PrintTask<\/a>\u00a0is more robust to better handle custom printing services. We added the ability to print feature attributes in feature collection layers (even when they are not needed for rendering). We expanded support for printing\u00a0<a href=\"https:\/\/en.wikipedia.org\/wiki\/CJK_characters\">CJKV characters<\/a>. We also fixed an issue with printing layers that do not use default symbology, and instead printed &#8220;Override&#8221; in the legend. Lastly, the most recent version of ArcGIS Enterprise will be able to take advantage of several optimizations we made to the Print API.<\/p>\n<h3>Learn more<\/h3>\n<p>Explore the release notes and new samples to learn more about what\u2019s new in the API, such as: Smart Mapping updates, CSVLayer updates, FeatureLayer updates, Widget updates, Draw updates, and more.<\/p>\n<p><a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/guide\/release-notes\/index.html\">Version 4.7 release notes<\/a><br \/>\n<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/index.html?search=4.7\">Version 4.7 samples<\/a><br \/>\n<a href=\"https:\/\/developers.arcgis.com\/javascript\/3\/jshelp\/whats_new.html\">Version 3.24 release notes<\/a><br \/>\n<a href=\"https:\/\/developers.arcgis.com\/javascript\/3\/jssamples\/#latest_samples\">Version 3.24 samples<\/a><\/p>\n"}],"authors":[{"ID":7451,"user_firstname":"Noah","user_lastname":"Sager","nickname":"Noah Sager","user_nicename":"noah-sager","display_name":"Noah Sager","user_email":"NSager@esri.com","user_url":"https:\/\/www.noahsager.net\/","user_registered":"2018-03-21 18:21:19","user_description":"Passionate about JavaScript, maps, and writing (not necessarily in that order). Big fan of squirrels. Journeyman mapper of Utility Lines and Public Restrooms. Product Engineer on the ArcGIS API for JavaScript team. In Noah\u2019s spare time, he also enjoys parenting.","user_avatar":"<img alt='' src='https:\/\/secure.gravatar.com\/avatar\/6807cdccf3ddd5b30b84cdf9368ce6736c3d0ff9bd0a09c1f5efc03253069b64?s=96&#038;d=blank&#038;r=g' srcset='https:\/\/secure.gravatar.com\/avatar\/6807cdccf3ddd5b30b84cdf9368ce6736c3d0ff9bd0a09c1f5efc03253069b64?s=192&#038;d=blank&#038;r=g 2x' class='avatar avatar-96 photo' height='96' width='96' loading='lazy' decoding='async'\/>"},{"ID":3801,"user_firstname":"Andy","user_lastname":"Gup","nickname":"andygup","user_nicename":"andygup","display_name":"Andy Gup","user_email":"agup@esri.com","user_url":"http:\/\/www.andygup.net","user_registered":"2018-03-02 00:15:25","user_description":"I spend a ton of time outdoors and when not on a mountain somewhere I'm a Sr. Product Engineer for the ArcGIS Maps SDK for JavaScript. I work on ES modules, 3rd party JavaScript frameworks, and other cool mapping-related goodies.","user_avatar":"<img data-del=\"avatar\" src='https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/07\/andy_gup_thumb4-1.png' class='avatar pp-user-avatar avatar-96 photo ' height='96' width='96'\/>"},{"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":7011,"user_firstname":"Raluca","user_lastname":"Nicola","nickname":"Raluca Nicola","user_nicename":"raluca_zurich","display_name":"Raluca Nicola","user_email":"RNicola@esri.com","user_url":"https:\/\/raluca-nicola.net\/","user_registered":"2018-03-02 00:19:07","user_description":"Raluca works as a web cartographer with the Geo Experience Center team at Esri. She loves to play around with web technologies and visualization styles. If she's not in front of the computer, she's probably somewhere up in the mountains.","user_avatar":"<img data-del=\"avatar\" src='https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/7VkWXsZ3_400x400.jpg' class='avatar pp-user-avatar avatar-96 photo ' height='96' width='96'\/>"}],"related_articles":[{"ID":80961,"post_author":"7451","post_date":"2017-12-14 10:57:13","post_date_gmt":"2017-12-14 10:57:13","post_content":"","post_title":"Making Better Promises","post_excerpt":"","post_status":"publish","comment_status":"closed","ping_status":"closed","post_password":"","post_name":"making-better-promises","to_ping":"","pinged":"","post_modified":"2020-02-12 19:13:32","post_modified_gmt":"2020-02-13 03:13:32","post_content_filtered":"","post_parent":0,"guid":"http:\/\/www.esri.com\/arcgis-blog\/products\/product\/uncategorized\/making-better-promises\/","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":123431,"post_author":"6561","post_date":"2018-03-15 11:28:49","post_date_gmt":"2018-03-15 11:28:49","post_content":"At the <a href=\"http:\/\/www.esri.com\/events\/devsummit\">2018 Dev Summit<\/a> in Palm Springs, I introduced the <a href=\"https:\/\/github.com\/Esri\/arcade-expressions\/\">Esri arcade-expressions GitHub repository<\/a>, which can be used for creating <a href=\"https:\/\/developers.arcgis.com\/arcade\/guide\/\">Arcade<\/a> expression templates to share with others for reuse.\n\nProviding a mechanism for sharing Arcade expressions has been a popular request. This is our initial attempt at gauging interest among users and developers to see how sharing common Arcade expressions can ease some of your workflows.\n\nAt the time of this blog post, there are only four expressions included in the repo. Each is thoroughly documented so you can copy and paste the template into the Arcade editor in ArcGIS Online (or in your custom apps) and set the appropriate values and field names that match your dataset.\n\nIf you're unfamiliar with Arcade check out the following resources:\n\n<ul>\n        <li><a href=\"https:\/\/blogs.esri.com\/esri\/arcgis\/2016\/12\/19\/introducing-arcade\/\">ArcGIS Blog: Introducing Arcade<\/a><\/li>\n\t<li><a href=\"https:\/\/www.arcgis.com\/apps\/Cascade\/index.html?appid=3271f9b87c394c07b4a871257a5dc46b\">How to Smart Map: Arcade<\/a><\/li>\n\t<li><a href=\"https:\/\/blogs.esri.com\/esri\/arcgis\/2016\/12\/15\/use-arcade-expressions-to-map-your-ideas\/\">ArcGIS Blog: Use Arcade Expressions to Map Your Ideas<\/a><\/li>\n\t<li><a href=\"https:\/\/blogs.esri.com\/esri\/arcgis\/2017\/01\/10\/using-arcade-expressions-in-web-apps\/\">ArcGIS Blog: Using Arcade expressions in web apps<\/a><\/li>\n\t<li><a href=\"https:\/\/blogs.esri.com\/esri\/arcgis\/2017\/05\/23\/creating-a-predominance-visualization-with-arcade\/\">ArcGIS Blog: Create a predominance visualization with Arcade<\/a><\/li>\n\t<li><a href=\"https:\/\/www.youtube.com\/watch?v=X6_x3SbTeZU&amp;list=PLaPDDLTCmy4Z844nQ0aFdRCTICoNDPf7E&amp;index=101\">YouTube: ArcGIS API for JavaScript: Using Arcade with your Apps<\/a><\/li>\n<\/ul>\n\n<h2>Reusing expressions<\/h2>\n\nCheck out the <a href=\"https:\/\/www.youtube.com\/watch?v=x_3uUznAYOo\">Explore the Arcade Expressions GitHub Repository<\/a> video on YouTube to quickly learn how the repository works.\n\n[embedyt] http:\/\/www.youtube.com\/watch?v=x_3uUznAYOo[\/embedyt]\n\nExpressions are organized based on their intended <a href=\"https:\/\/developers.arcgis.com\/arcade\/guide\/profiles\/\">execution profile<\/a>, though it doesn\u2019t necessarily mean they can\u2019t be used in other profiles.\n\nTo reuse an expression, simply browse the profile folders (visualization, popup, labeling, alias, any) and select an expression listed in the General workflow section of the README. For example, click <a href=\"https:\/\/github.com\/Esri\/arcade-expressions\/tree\/master\/visualization\">Visualization<\/a>.\n\n<a href=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/03\/click-viz.png\"><img src=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/03\/click-viz.png\" alt=\"\" width=\"768\" height=\"465\" class=\"alignnone size-full wp-image-102266\" \/><\/a>\n\nThen click <a href=\"https:\/\/github.com\/Esri\/arcade-expressions\/blob\/master\/visualization\/predominance.md\">predominance<\/a>. \n\n<a href=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/03\/click-predominance.png\"><img src=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/03\/click-predominance.png\" alt=\"\" width=\"768\" height=\"465\" class=\"alignnone size-full wp-image-102265\" \/><\/a>\n\nRead the general description of the expression along with the use cases. \n\n<a href=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/03\/description.png\"><img src=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/03\/description.png\" alt=\"\" width=\"942\" height=\"420\" class=\"alignnone size-full wp-image-102267\" \/><\/a>\n\nThe <a href=\"https:\/\/github.com\/Esri\/arcade-expressions\/blob\/master\/visualization\/predominance.md#workflow\">workflow<\/a> section will highlight the portion of the template you need to be update for it to work for your data. \n\n<a href=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/03\/workflow.png\"><img src=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/03\/workflow.png\" alt=\"\" width=\"931\" height=\"613\" class=\"alignnone size-full wp-image-102270\" \/><\/a>\n\nCopy and paste the snippet from the <a href=\"https:\/\/github.com\/Esri\/arcade-expressions\/blob\/master\/visualization\/predominance.md#expression-template\">Expression Template<\/a> section into your app\/code and update the necessary parts of the expression as indicated in the \u201cworkflow\u201d section and the code comments.\n\n<a href=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/03\/expression-template.png\"><img src=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/03\/expression-template.png\" alt=\"\" width=\"642\" height=\"498\" class=\"alignnone size-full wp-image-102269\" \/><\/a>\n\nYou should also see a section providing a live example of how the expression works with real data.\n\n<a href=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/03\/example-viz.png\"><img src=\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/03\/example-viz.png\" alt=\"\" width=\"860\" height=\"497\" class=\"alignnone size-full wp-image-102268\" \/><\/a>\n\n<h2>Contributing your Arcade expressions<\/h2>\n\nThis section briefly outlines how to contribute to this project. If you have nothing to share, then you don't need to read any further. However, if you are interested in sharing some of the cool expressions you've found useful in your workflows, then please share them! \n\nIf you are unfamiliar with Git and\/or GitHub, then check out the following resources for getting started:\n\n<ul>\n\t<li><a href=\"https:\/\/git-scm.com\/book\/en\/v2\/Getting-Started-Git-Basics\">Git Basics<\/a><\/li>\n\t<li><a href=\"https:\/\/guides.github.com\/activities\/hello-world\/#pr\">GitHub Guides: Open a Pull Request<\/a><\/li>\n\t<li><a href=\"https:\/\/community.esri.com\/groups\/technical-support\/blog\/2015\/10\/19\/introducing-the-esri-support-github-repository\">Esri support blog post with tips on getting started with GitHub<\/a><\/li>\n\t<li><a href=\"https:\/\/github.com\/esri\/contributing\">Esri guidelines for contributing to GitHub repositories<\/a><\/li>\n<\/ul>\n\nTo contribute, simply fork the repo, clone it locally to your machine, and add a new Markdown file describing the expression. Follow the same format as the existing expressions, providing others with a well documented template they can copy and paste easily into their apps. Also be sure to provide a completed example showing how the expression works for the given profile with a real dataset. Once that is done, submit a PR so your expression can be shared to the world.\n\n[embedyt] http:\/\/www.youtube.com\/watch?v=aI8HkAkUXuY[\/embedyt]\n\nThe goal of this repository is to encourage collaboration and allow everyone to benefit from others\u2019 creativity in using Arcade for solving real problems. Please share this repo and share your awesome Arcade expressions with the ArcGIS community!","post_title":"Share your Arcade expressions as templates","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"closed","post_password":"","post_name":"share-your-arcade-expressions-as-templates","to_ping":"","pinged":"","post_modified":"2024-11-11 12:38:26","post_modified_gmt":"2024-11-11 20:38:26","post_content_filtered":"","post_parent":0,"guid":"http:\/\/www.esri.com\/arcgis-blog\/products\/product\/uncategorized\/share-your-arcade-expressions-as-templates\/","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":80871,"post_author":"5111","post_date":"2017-12-14 10:55:28","post_date_gmt":"2017-12-14 10:55:28","post_content":"","post_title":"ArcGIS API for JavaScript versions 4.6 and 3.23 released","post_excerpt":"","post_status":"publish","comment_status":"closed","ping_status":"closed","post_password":"","post_name":"arcgis-api-for-javascript-versions-4-6-and-3-23-released","to_ping":"","pinged":"","post_modified":"2018-05-31 19:51:12","post_modified_gmt":"2018-05-31 19:51:12","post_content_filtered":"","post_parent":0,"guid":"http:\/\/www.esri.com\/arcgis-blog\/products\/product\/uncategorized\/arcgis-api-for-javascript-versions-4-6-and-3-23-released\/","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"}],"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/ArcGISAPIforJavaScript_Overview_Card.png","wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Big_JS_2.png"},"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.7 and 3.24 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\/js-api-arcgis\/announcements\/arcgis-api-for-javascript-versions-4-7-and-3-24-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.7 and 3.24 released\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/arcgis-api-for-javascript-versions-4-7-and-3-24-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-07T16:18:46+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\/js-api-arcgis\/announcements\/arcgis-api-for-javascript-versions-4-7-and-3-24-released#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/arcgis-api-for-javascript-versions-4-7-and-3-24-released\"},\"author\":{\"name\":\"Noah Sager\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/31358cd525c152696fcd5fe96f49e068\"},\"headline\":\"ArcGIS API for JavaScript versions 4.7 and 3.24 released\",\"datePublished\":\"2018-04-19T17:30:15+00:00\",\"dateModified\":\"2018-05-07T16:18:46+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/arcgis-api-for-javascript-versions-4-7-and-3-24-released\"},\"wordCount\":7,\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"keywords\":[\"4.7\",\"JavaScript\",\"jsapi3\",\"jsapi4\",\"SDK\"],\"articleSection\":[\"Announcements\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/arcgis-api-for-javascript-versions-4-7-and-3-24-released\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/arcgis-api-for-javascript-versions-4-7-and-3-24-released\",\"name\":\"ArcGIS API for JavaScript versions 4.7 and 3.24 released\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\"},\"datePublished\":\"2018-04-19T17:30:15+00:00\",\"dateModified\":\"2018-05-07T16:18:46+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/arcgis-api-for-javascript-versions-4-7-and-3-24-released#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/arcgis-api-for-javascript-versions-4-7-and-3-24-released\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/arcgis-api-for-javascript-versions-4-7-and-3-24-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.7 and 3.24 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\/31358cd525c152696fcd5fe96f49e068\",\"name\":\"Noah Sager\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/6807cdccf3ddd5b30b84cdf9368ce6736c3d0ff9bd0a09c1f5efc03253069b64?s=96&d=blank&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/6807cdccf3ddd5b30b84cdf9368ce6736c3d0ff9bd0a09c1f5efc03253069b64?s=96&d=blank&r=g\",\"caption\":\"Noah Sager\"},\"description\":\"Passionate about JavaScript, maps, and writing (not necessarily in that order). Big fan of squirrels. Journeyman mapper of Utility Lines and Public Restrooms. Product Engineer on the ArcGIS API for JavaScript team. In Noah\u2019s spare time, he also enjoys parenting.\",\"sameAs\":[\"https:\/\/www.noahsager.net\/\",\"https:\/\/www.linkedin.com\/in\/noah-sager\",\"https:\/\/x.com\/noashx\"],\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/author\/noah-sager\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"ArcGIS API for JavaScript versions 4.7 and 3.24 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\/js-api-arcgis\/announcements\/arcgis-api-for-javascript-versions-4-7-and-3-24-released","og_locale":"en_US","og_type":"article","og_title":"ArcGIS API for JavaScript versions 4.7 and 3.24 released","og_url":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/arcgis-api-for-javascript-versions-4-7-and-3-24-released","og_site_name":"ArcGIS Blog","article_publisher":"https:\/\/www.facebook.com\/esrigis\/","article_modified_time":"2018-05-07T16:18:46+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\/js-api-arcgis\/announcements\/arcgis-api-for-javascript-versions-4-7-and-3-24-released#article","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/arcgis-api-for-javascript-versions-4-7-and-3-24-released"},"author":{"name":"Noah Sager","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/31358cd525c152696fcd5fe96f49e068"},"headline":"ArcGIS API for JavaScript versions 4.7 and 3.24 released","datePublished":"2018-04-19T17:30:15+00:00","dateModified":"2018-05-07T16:18:46+00:00","mainEntityOfPage":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/arcgis-api-for-javascript-versions-4-7-and-3-24-released"},"wordCount":7,"publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"keywords":["4.7","JavaScript","jsapi3","jsapi4","SDK"],"articleSection":["Announcements"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/arcgis-api-for-javascript-versions-4-7-and-3-24-released","url":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/arcgis-api-for-javascript-versions-4-7-and-3-24-released","name":"ArcGIS API for JavaScript versions 4.7 and 3.24 released","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#website"},"datePublished":"2018-04-19T17:30:15+00:00","dateModified":"2018-05-07T16:18:46+00:00","breadcrumb":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/arcgis-api-for-javascript-versions-4-7-and-3-24-released#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/arcgis-api-for-javascript-versions-4-7-and-3-24-released"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/arcgis-api-for-javascript-versions-4-7-and-3-24-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.7 and 3.24 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\/31358cd525c152696fcd5fe96f49e068","name":"Noah Sager","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6807cdccf3ddd5b30b84cdf9368ce6736c3d0ff9bd0a09c1f5efc03253069b64?s=96&d=blank&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6807cdccf3ddd5b30b84cdf9368ce6736c3d0ff9bd0a09c1f5efc03253069b64?s=96&d=blank&r=g","caption":"Noah Sager"},"description":"Passionate about JavaScript, maps, and writing (not necessarily in that order). Big fan of squirrels. Journeyman mapper of Utility Lines and Public Restrooms. Product Engineer on the ArcGIS API for JavaScript team. In Noah\u2019s spare time, he also enjoys parenting.","sameAs":["https:\/\/www.noahsager.net\/","https:\/\/www.linkedin.com\/in\/noah-sager","https:\/\/x.com\/noashx"],"url":"https:\/\/www.esri.com\/arcgis-blog\/author\/noah-sager"}]}},"text_date":"April 19, 2018","author_name":"Multiple Authors","author_page":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/arcgis-api-for-javascript-versions-4-7-and-3-24-released","custom_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Big_JS_2.png","primary_product":"ArcGIS Maps SDK for JavaScript","tag_data":[{"term_id":42621,"name":"4.7","slug":"4-7","term_group":0,"term_taxonomy_id":42621,"taxonomy":"post_tag","description":"","parent":0,"count":2,"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":27521,"name":"SDK","slug":"sdk","term_group":0,"term_taxonomy_id":27521,"taxonomy":"post_tag","description":"","parent":0,"count":18,"filter":"raw"}],"category_data":[{"term_id":37101,"name":"Announcements","slug":"announcements","term_group":0,"term_taxonomy_id":37101,"taxonomy":"category","description":"","parent":0,"count":1976,"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":363,"filter":"raw"},{"term_id":36601,"name":"Developers","slug":"developers","term_group":0,"term_taxonomy_id":36601,"taxonomy":"product","description":"","parent":0,"count":765,"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\/140441","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\/7451"}],"replies":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/comments?post=140441"}],"version-history":[{"count":0,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/140441\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/media?parent=140441"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/categories?post=140441"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/tags?post=140441"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/industry?post=140441"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/product?post=140441"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}