{"id":2808342,"date":"2025-06-24T07:30:01","date_gmt":"2025-06-24T14:30:01","guid":{"rendered":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=2808342"},"modified":"2025-08-13T11:16:17","modified_gmt":"2025-08-13T18:16:17","slug":"whats-new-in-arcgis-maps-sdk-for-javascript-4-33","status":"publish","type":"blog","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-maps-sdk-for-javascript-4-33","title":{"rendered":"Version 4.33 of JavaScript Maps SDK released!"},"author":4271,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","format":"standard","meta":{"_acf_changed":false,"_searchwp_excluded":""},"categories":[37101,738191],"tags":[769562,24921,36161,779342],"industry":[],"product":[36831,36601],"class_list":["post-2808342","blog","type-blog","status-publish","format-standard","hentry","category-announcements","category-developers","tag-arcgis-maps-sdk-for-javascript","tag-javascript","tag-web-development","tag-whats-new-june-2025","product-js-api-arcgis","product-developers"],"acf":{"short_description":"Learn about the latest updates in ArcGIS Maps SDK for JavaScript, like batch editing, 3D focus areas, multipoint labels, and so much more.","flexible_content":[{"acf_fc_layout":"blockquote","content":"<p>New component package URL structure:<br \/>\nhttps:\/\/js.arcgis.com\/{version-number}\/{component-package}\/<\/p>\n"},{"acf_fc_layout":"content","content":"<p>We&#8217;re excited to announce the latest release, packed with enhancements and new features designed to streamline your workflows, expand your app&#8217;s capabilities, and increase your productivity with the latest programming patterns! Let&#8217;s dive into what&#8217;s new.<\/p>\n<h2><a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/release-notes\/#batch-attribute-editing\">Batch editing is here!<\/a><\/h2>\n<p>Maximize productivity while editing by selecting multiple features and editing all of them at once.<\/p>\n<p>Editor now offers a new selection experience for selecting features across one or more layers, and subsequently editing the attributes of all selected features, grouped by layer. In addition, selected features can be moved or deleted with a single click.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2837622,"id":2837622,"title":"batch-editing","filename":"batch-editing.png","filesize":653954,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/batch-editing.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-maps-sdk-for-javascript-4-33\/batch-editing","alt":"","author":"4271","description":"","caption":"Edit multiple features all at once","name":"batch-editing","status":"inherit","uploaded_to":2808342,"date":"2025-06-17 04:47:24","modified":"2025-06-21 06:33:56","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":2070,"height":1151,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/batch-editing-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/batch-editing.png","medium-width":464,"medium-height":258,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/batch-editing.png","medium_large-width":768,"medium_large-height":427,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/batch-editing.png","large-width":1920,"large-height":1068,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/batch-editing-1536x854.png","1536x1536-width":1536,"1536x1536-height":854,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/batch-editing-2048x1139.png","2048x2048-width":2048,"2048x2048-height":1139,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/batch-editing-826x459.png","card_image-width":826,"card_image-height":459,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/batch-editing-1920x1068.png","wide_image-width":1920,"wide_image-height":1068}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/editor-basic\/"},{"acf_fc_layout":"content","content":"<h2><a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/release-notes\/#focus-area\">Emphasize an area of your scene<\/a><\/h2>\n<p>New &#8220;Focus Area&#8221; functionality allows you to highlight and draw attention to specific parts of your 3D scenes. With predefined dark or bright styles, you can emphasize an area of interest by creating a contrast with the rest of the scene. If you have multiple focus areas, you can apply a colored outline to distinguish between them. They can also be captured in slides and saved in a web scene either in Scene Viewer or programmatically.<\/p>\n<p>Explore this functionality in this new\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/focus-area\/\">sample<\/a>.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2837632,"id":2837632,"title":"focus-area2","filename":"focus-area2.png","filesize":4929692,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/focus-area2.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-maps-sdk-for-javascript-4-33\/focus-area2","alt":"","author":"4271","description":"","caption":"Add focus area to highlight and draw attention to specific parts of your 3D scenes","name":"focus-area2","status":"inherit","uploaded_to":2808342,"date":"2025-06-17 04:47:45","modified":"2025-06-21 06:34:53","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":2488,"height":1205,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/focus-area2-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/focus-area2.png","medium-width":464,"medium-height":225,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/focus-area2.png","medium_large-width":768,"medium_large-height":372,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/focus-area2.png","large-width":1920,"large-height":930,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/focus-area2-1536x744.png","1536x1536-width":1536,"1536x1536-height":744,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/focus-area2-2048x992.png","2048x2048-width":2048,"2048x2048-height":992,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/focus-area2-826x400.png","card_image-width":826,"card_image-height":400,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/focus-area2-1920x930.png","wide_image-width":1920,"wide_image-height":930}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/focus-area\/"},{"acf_fc_layout":"content","content":"<h2><a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/release-notes\/#labeling-multipoint-geometries\">Label multipoint geometries<\/a><\/h2>\n<p>We added support for a very popular enhancement request &#8211; multipoint geometry labels.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2839032,"id":2839032,"title":"433-multipoint-label-1000wide","filename":"433-multipoint-label-1000wide.png","filesize":74028,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/433-multipoint-label-1000wide.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-maps-sdk-for-javascript-4-33\/433-multipoint-label-1000wide","alt":"","author":"4271","description":"","caption":"Label multipoint geometries","name":"433-multipoint-label-1000wide","status":"inherit","uploaded_to":2808342,"date":"2025-06-17 17:38:29","modified":"2025-06-21 06:36:08","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":1000,"height":335,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/433-multipoint-label-1000wide-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/433-multipoint-label-1000wide.png","medium-width":464,"medium-height":155,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/433-multipoint-label-1000wide.png","medium_large-width":768,"medium_large-height":257,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/433-multipoint-label-1000wide.png","large-width":1000,"large-height":335,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/433-multipoint-label-1000wide.png","1536x1536-width":1000,"1536x1536-height":335,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/433-multipoint-label-1000wide.png","2048x2048-width":1000,"2048x2048-height":335,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/433-multipoint-label-1000wide-826x277.png","card_image-width":826,"card_image-height":277,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/433-multipoint-label-1000wide.png","wide_image-width":1000,"wide_image-height":335}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/?tagged=LabelClass"},{"acf_fc_layout":"content","content":"<h2><a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/release-notes\/#3d-tiles-integrated-mesh-improvements\">Modify 3D Tiles integrated meshes<\/a><\/h2>\n<p>The\u00a0IntegratedMesh3DTilesLayer\u00a0now supports applying client-side modifications using the same\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-layers-support-SceneModifications.html\">SceneModifications<\/a> class used by the I3S IntegratedMeshLayer. This enables you to display specific portions of a mesh, trim its outline, or replace a section with alternative 3D data. You can also persist and share your modified mesh through web scenes. The visibility of a 3D Tiles integrated mesh will now also conform to any clipping area used to define the visible extent of a local 3D scene.<\/p>\n<p>Reference the new <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/layers-integratedmeshlayer-modification\/\">sample<\/a> which shows how you can apply clip, mask, and replace modifications to tailor an integrated mesh layer to suit your needs.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2838382,"id":2838382,"title":"integrated-mesh-modification","filename":"integrated-mesh-modification-scaled.jpg","filesize":560143,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/integrated-mesh-modification-scaled.jpg","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-maps-sdk-for-javascript-4-33\/integrated-mesh-modification","alt":"","author":"4271","description":"","caption":"","name":"integrated-mesh-modification","status":"inherit","uploaded_to":2808342,"date":"2025-06-17 14:39:45","modified":"2025-06-17 14:39:45","menu_order":0,"mime_type":"image\/jpeg","type":"image","subtype":"jpeg","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":2560,"height":1440,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/integrated-mesh-modification-213x200.jpg","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/integrated-mesh-modification-scaled.jpg","medium-width":464,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/integrated-mesh-modification-scaled.jpg","medium_large-width":768,"medium_large-height":432,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/integrated-mesh-modification-scaled.jpg","large-width":1920,"large-height":1080,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/integrated-mesh-modification-1536x864.jpg","1536x1536-width":1536,"1536x1536-height":864,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/integrated-mesh-modification-2048x1152.jpg","2048x2048-width":2048,"2048x2048-height":1152,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/integrated-mesh-modification-826x465.jpg","card_image-width":826,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/integrated-mesh-modification-1920x1080.jpg","wide_image-width":1920,"wide_image-height":1080}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/layers-integratedmeshlayer-modification\/"},{"acf_fc_layout":"content","content":"<h2><a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/release-notes\/#smart-mapping-spike-theme\">Create spike maps<\/a><\/h2>\n<p>We added a new\u00a0spike\u00a0theme which visualizes numeric data as spikes where the height of the spike corresponds to a value. This theme works best for skewed datasets with outliers on the high end of the data range, such as total population counts. As opposed to graduated symbols, spikes can make it easier to see the relative differences in values, especially when the data has a large range of values.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2837702,"id":2837702,"title":"size-spike-theme","filename":"size-spike-theme.png","filesize":96558,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/size-spike-theme.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-maps-sdk-for-javascript-4-33\/size-spike-theme","alt":"","author":"4271","description":"","caption":"Create spike maps to emphasize the relative differences in values","name":"size-spike-theme","status":"inherit","uploaded_to":2808342,"date":"2025-06-17 04:53:29","modified":"2025-06-21 06:39: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":1200,"height":400,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/size-spike-theme-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/size-spike-theme.png","medium-width":464,"medium-height":155,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/size-spike-theme.png","medium_large-width":768,"medium_large-height":256,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/size-spike-theme.png","large-width":1200,"large-height":400,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/size-spike-theme.png","1536x1536-width":1200,"1536x1536-height":400,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/size-spike-theme.png","2048x2048-width":1200,"2048x2048-height":400,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/size-spike-theme-826x275.png","card_image-width":826,"card_image-height":275,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/size-spike-theme.png","wide_image-width":1200,"wide_image-height":400}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-smartMapping-renderers-size.html"},{"acf_fc_layout":"content","content":"<h2><a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/release-notes\/#directions-printing-beta\">Print directions<\/a><\/h2>\n<p>Directions\u00a0now offers printed directions (beta) via the options menu for the completed route.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2850092,"id":2850092,"title":"print-directions","filename":"print-directions.png","filesize":204564,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/print-directions.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-maps-sdk-for-javascript-4-33\/print-directions","alt":"","author":"330302","description":"","caption":"","name":"print-directions","status":"inherit","uploaded_to":2808342,"date":"2025-06-24 04:49:23","modified":"2025-06-24 04:49: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":1224,"height":776,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/print-directions-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/print-directions.png","medium-width":412,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/print-directions.png","medium_large-width":768,"medium_large-height":487,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/print-directions.png","large-width":1224,"large-height":776,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/print-directions.png","1536x1536-width":1224,"1536x1536-height":776,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/print-directions.png","2048x2048-width":1224,"2048x2048-height":776,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/print-directions-733x465.png","card_image-width":733,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/print-directions.png","wide_image-width":1224,"wide_image-height":776}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/widgets-directions\/"},{"acf_fc_layout":"content","content":"<h2><a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/release-notes\/#layer-based-scale-range\">Apply layer-based scale ranges<\/a><\/h2>\n<p>Seamless visibility switches between different layer types based on the scale are now possible in 3D. Many layers, including feature layers and scene layers (Point), now support layer-based scale ranges. While scale ranges were used in 3D prior to this release, visibility was determined feature-by<span data-teams=\"true\">-feature so you would have a mix of parts of layers at times. With this release, you can apply scale ranges that are evaluated per layer so that now the whole layer is either visible or invisible. This enables a more consistent and predictable experience for displaying a specific visualization of your data based on scale.<\/span><\/p>\n<p>Check out the example below which demonstrates toggling the visibility of layers at a specific scale settings. Accident locations are first visualized as a heatmap displayed over the Topographic 3D Basemap. As you zoom in (scale &lt; 1000), accidents are shown as individual points and the Topographic 3D Basemap is turned off in favor of the integrated mesh 3D tiles layer. This switch gives the user a more detailed real-world context and helps them gain insights into where and potentially why the accidents occurred.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2850192,"id":2850192,"title":"layer_based_scale_range","filename":"layer_based_scale_range.gif","filesize":6304608,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/layer_based_scale_range.gif","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-maps-sdk-for-javascript-4-33\/layer_based_scale_range","alt":"","author":"330302","description":"","caption":"As you zoom in, accidents are shown as individual points instead of hot spot and the Topographic 3D Basemap is turned off in favor of the integrated mesh 3D tiles layer, providing real-world context for the users.","name":"layer_based_scale_range","status":"inherit","uploaded_to":2808342,"date":"2025-06-24 05:14:46","modified":"2025-06-24 05:22:21","menu_order":0,"mime_type":"image\/gif","type":"image","subtype":"gif","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":960,"height":540,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/layer_based_scale_range-213x200.gif","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/layer_based_scale_range.gif","medium-width":464,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/layer_based_scale_range.gif","medium_large-width":768,"medium_large-height":432,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/layer_based_scale_range.gif","large-width":960,"large-height":540,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/layer_based_scale_range.gif","1536x1536-width":960,"1536x1536-height":540,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/layer_based_scale_range.gif","2048x2048-width":960,"2048x2048-height":540,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/layer_based_scale_range-826x465.gif","card_image-width":826,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/layer_based_scale_range.gif","wide_image-width":960,"wide_image-height":540}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<h2><a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/release-notes\/#placement-and-interactivity-of-analyses\">Enable custom experiences for 3D analysis workflows<\/a><\/h2>\n<p>You can programmatically start interactive analysis operations in 3D by using the new analysis view place() method available with all 3D analysis capabilities such as viewsheds, line of sight, and measurements. For example, you can display a custom toolbar that exposes measurement tools or perform an analysis step as part of a multi-step workflow. While this was possible for some analysis tools prior to this release, 4.33 unifies the implementation across all analysis with a consistent approach.<\/p>\n<p>Try it out in the updated\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/analysis-objects\/\">Analysis objects<\/a>\u00a0sample.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2838402,"id":2838402,"title":"analysis-objs","filename":"analysis-objs.png","filesize":857248,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/analysis-objs.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-maps-sdk-for-javascript-4-33\/analysis-objs","alt":"","author":"4271","description":"","caption":"","name":"analysis-objs","status":"inherit","uploaded_to":2808342,"date":"2025-06-17 14:52:18","modified":"2025-06-17 14:52:18","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":1920,"height":1080,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/analysis-objs-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/analysis-objs.png","medium-width":464,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/analysis-objs.png","medium_large-width":768,"medium_large-height":432,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/analysis-objs.png","large-width":1920,"large-height":1080,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/analysis-objs-1536x864.png","1536x1536-width":1536,"1536x1536-height":864,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/analysis-objs.png","2048x2048-width":1920,"2048x2048-height":1080,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/analysis-objs-826x465.png","card_image-width":826,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/analysis-objs.png","wide_image-width":1920,"wide_image-height":1080}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/analysis-objects\/"},{"acf_fc_layout":"content","content":"<h2><a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/release-notes\/#additional-context-for-shadow-cast-threshold-mode\">Better understand shadow analyses<\/a><\/h2>\n<p><span data-teams=\"true\">With this release, you can get additional context about the surfaces that remain in shadow longer than the threshold. Using the discrete context option, shadows rendered at specific times during the day (based on a configured interval) are composited on top of each other and displayed in addition to the threshold visualization (using distinct colors). In the below scene, you can see shadows that exceed the threshold in red, and the discrete context shadows display in grey. This enables better understanding of the amount of time something is in shadow during the day.<\/span><\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2839012,"id":2839012,"title":"shadowcast_discrete_context_rn_poster","filename":"shadowcast_discrete_context_rn_poster.png","filesize":826693,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/shadowcast_discrete_context_rn_poster.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-maps-sdk-for-javascript-4-33\/shadowcast_discrete_context_rn_poster","alt":"","author":"4271","description":"","caption":"","name":"shadowcast_discrete_context_rn_poster","status":"inherit","uploaded_to":2808342,"date":"2025-06-17 17:34:53","modified":"2025-06-17 17:34:53","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":1920,"height":1080,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/shadowcast_discrete_context_rn_poster-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/shadowcast_discrete_context_rn_poster.png","medium-width":464,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/shadowcast_discrete_context_rn_poster.png","medium_large-width":768,"medium_large-height":432,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/shadowcast_discrete_context_rn_poster.png","large-width":1920,"large-height":1080,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/shadowcast_discrete_context_rn_poster-1536x864.png","1536x1536-width":1536,"1536x1536-height":864,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/shadowcast_discrete_context_rn_poster.png","2048x2048-width":1920,"2048x2048-height":1080,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/shadowcast_discrete_context_rn_poster-826x465.png","card_image-width":826,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/shadowcast_discrete_context_rn_poster.png","wide_image-width":1920,"wide_image-height":1080}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/shadow-cast\/"},{"acf_fc_layout":"content","content":"<h2><a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/release-notes\/#oriented-imagery\">Integrate and analyze oriented imagery<\/a><\/h2>\n<p><strong>Enhanced measurement capabilities<\/strong>: New triangulated measurement tools enable users to calculate distance, area, and location by intersecting vectors from measurement points captured from two different viewpoints. These tools enhance the precision of measurement within a defined area of interest.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2837732,"id":2837732,"title":"OI-measurement","filename":"OI-measurement.png","filesize":6430266,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/OI-measurement.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-maps-sdk-for-javascript-4-33\/oi-measurement","alt":"","author":"4271","description":"","caption":"","name":"oi-measurement","status":"inherit","uploaded_to":2808342,"date":"2025-06-17 05:00:12","modified":"2025-06-17 05:00:12","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":2144,"height":1384,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/OI-measurement-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/OI-measurement.png","medium-width":404,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/OI-measurement.png","medium_large-width":768,"medium_large-height":496,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/OI-measurement.png","large-width":1673,"large-height":1080,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/OI-measurement-1536x992.png","1536x1536-width":1536,"1536x1536-height":992,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/OI-measurement-2048x1322.png","2048x2048-width":2048,"2048x2048-height":1322,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/OI-measurement-720x465.png","card_image-width":720,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/OI-measurement-1673x1080.png","wide_image-width":1673,"wide_image-height":1080}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/layers-orientedimagerylayer\/"},{"acf_fc_layout":"content","content":"<p><strong>Explore nearby images<\/strong>: Transition between adjacent images using directional arrows, or through images based on a user-defined field with previous\/next buttons.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2837752,"id":2837752,"title":"OI-image-nav","filename":"OI-image-nav.png","filesize":5370299,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/OI-image-nav.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-maps-sdk-for-javascript-4-33\/oi-image-nav","alt":"","author":"4271","description":"","caption":"","name":"oi-image-nav","status":"inherit","uploaded_to":2808342,"date":"2025-06-17 05:01:45","modified":"2025-06-17 05:01:45","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":2534,"height":1263,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/OI-image-nav-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/OI-image-nav.png","medium-width":464,"medium-height":231,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/OI-image-nav.png","medium_large-width":768,"medium_large-height":383,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/OI-image-nav.png","large-width":1920,"large-height":957,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/OI-image-nav-1536x766.png","1536x1536-width":1536,"1536x1536-height":766,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/OI-image-nav-2048x1021.png","2048x2048-width":2048,"2048x2048-height":1021,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/OI-image-nav-826x412.png","card_image-width":826,"card_image-height":412,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/OI-image-nav-1920x957.png","wide_image-width":1920,"wide_image-height":957}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p><strong>Video support<\/strong>: View and interact with videos using familiar controls such as play, pause, video slider, and audio button. During playback, tools like footprint display, camera locations, and image enhancement are available.<\/p>\n<h2><a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/release-notes\/#charts-components-beta\">Integrate better charts<\/a><\/h2>\n<p>Charts components (beta) include many minor but useful enhancements that improve both the developer experience and capabilities that you can enable in your apps. For example:<\/p>\n<ul>\n<li>Simplified programming pattern for creating and modifying charts when using charts model<\/li>\n<li>Faster performance, which was achieved by optimizing how data is grouped into categories based on specific intervals or ranges<\/li>\n<li><span data-teams=\"true\">Export charts as images or CSV files (excluding box plots and scatterplots)<\/span><\/li>\n<li>Time awareness: Ability to drive the chart display based on the map\u2019s current time extent<\/li>\n<\/ul>\n"},{"acf_fc_layout":"image","image":{"ID":2837772,"id":2837772,"title":"charts-timeslider","filename":"charts-timeslider.gif","filesize":3743216,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/charts-timeslider.gif","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-maps-sdk-for-javascript-4-33\/charts-timeslider","alt":"","author":"4271","description":"","caption":"","name":"charts-timeslider","status":"inherit","uploaded_to":2808342,"date":"2025-06-17 05:05:43","modified":"2025-06-17 05:05:43","menu_order":0,"mime_type":"image\/gif","type":"image","subtype":"gif","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1750,"height":1048,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/charts-timeslider-213x200.gif","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/charts-timeslider.gif","medium-width":436,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/charts-timeslider.gif","medium_large-width":768,"medium_large-height":460,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/charts-timeslider.gif","large-width":1750,"large-height":1048,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/charts-timeslider-1536x920.gif","1536x1536-width":1536,"1536x1536-height":920,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/charts-timeslider.gif","2048x2048-width":1750,"2048x2048-height":1048,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/charts-timeslider-776x465.gif","card_image-width":776,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/charts-timeslider.gif","wide_image-width":1750,"wide_image-height":1048}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/developers.arcgis.com\/javascript\/latest\/references\/charts-components\/arcgis-chart\/"},{"acf_fc_layout":"content","content":"<h2><a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/release-notes\/#parquetlayer-beta\">Display a parquet file (beta)<\/a><\/h2>\n<p>The\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-layers-ParquetLayer.html\">ParquetLayer<\/a>\u00a0(beta) enables visualization of\u00a0<a href=\"https:\/\/parquet.apache.org\/docs\/\">parquet files<\/a>\u00a0on a map. In upcoming releases, we plan to expand support to include additional capabilities, such as feature querying.<\/p>\n<h2><a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/release-notes\/#performance-improvements\">Build faster apps<\/a><\/h2>\n<p>We constantly work to optimize performance in any way possible. This release, we improved performance in the following areas:<\/p>\n<p><strong>Feature layers<\/strong>: Polygon, polyline, and multipoint features load faster when panning and zooming in 2D maps. ArcGIS Online-hosted feature layers retrieve all features from the server upon initial map load when specific conditions are satisfied. Once loaded, the features don&#8217;t need to be re-requested from the server, avoiding future redraws when panning and zooming.<\/p>\n<p><strong>Dictionary renderer<\/strong>: Significant performance improvement was achieved by optimizing how symbols are computed and cached. Instead of generating a unique symbol for each feature, the renderer now reuses symbols when possible and performs more precomputations up front.<\/p>\n<p><strong>3D scenes<\/strong>: For raster tile layers and select gltf model textures, we now automatically compress loaded images in the browser. This saves 75% of the uncompressed memory used previously. Compression happens asynchronous and in parallel in web workers, thus coming at no cost to performance in existing web applications. In addition to other optimizations, this leads to memory savings of 10-50% in typical web scenes.<\/p>\n<h2>Programming pattern updates<\/h2>\n<p>The SDK offers power and flexibility, constantly pushing the boundaries of what&#8217;s possible through innovation of functionality and evolving programming patterns. Over the last several releases, we have been advancing the SDK\u2019s component and core API design. While this transition empowers you with efficient and elegant ways to develop, it also necessitates adapting existing code to align with these evolving patterns. Some of the updates below are specifically designed to provide developers with a smooth transition to components, while others are introducing a more modern approach for an existing pattern.<\/p>\n<p><strong>Embracing web component standards<\/strong>: The recommended approach for building web apps with the SDK is to use\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/components\/\">components<\/a>. Core widget functionality is already available as components. Initially, widgets were wrapped within web components. Over time, we are incrementally refactoring them to not include the preexisting widget architecture and further embrace web component standards. For example, style encapsulation via the\u00a0<a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/Web_components\/Using_shadow_DOM\">shadowDOM<\/a>. Once a component has undergone this optimization, the corresponding widget is deprecated. This release includes\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/release-notes\/#map-components\">many components<\/a>\u00a0that meet this criteria. See\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/components-transition-plan\/\">Esri&#8217;s move to web components<\/a>\u00a0for more information about the widget transition period and future.<\/p>\n<p><strong>Reactive components<\/strong>: ArcGIS Maps SDK components properties are now watchable with\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-core-reactiveUtils.html\">reactiveUtils<\/a>, the same utility used to observe changes in core API properties. Use\u00a0reactiveUtils.watch(),\u00a0.on(),\u00a0.once(),\u00a0.when(), or\u00a0.whenOnce()\u00a0to observe component state exactly as you would watch\u00a0view.zoom\u00a0or\u00a0layer.loaded. This provides developers who are migrating a widget-based application to components with a familiar way to observe changes on component properties.<\/p>\n<p>See the updated guide on\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/watch-for-changes\/#observing-property-changes-with-reactiveUtils\">watching for components changes using reactiveUtils<\/a>.<\/p>\n<p><strong>Waiting for views to be ready:<\/strong> The new viewOnReady\u00a0method on the\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/references\/map-components\/arcgis-map\/#viewOnReady\">Map<\/a>,\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/references\/map-components\/arcgis-scene\/#viewOnReady\">Scene<\/a>, and\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/references\/map-components\/arcgis-link-chart\/#viewOnReady\">Link Chart<\/a> components allows you to wait until the component&#8217;s internal view is fully initialized and ready to be used. This is useful when you are dynamically importing other modules or setting up logic that depends on the view being fully initialized. This method behaves similarly to watching the\u00a0arcgisViewOnReady\u00a0event, but it is more convenient for use in vanilla JavaScript applications. See the table in the\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/watch-for-changes\/#choosing-the-right-readiness-method-or-event-for-your-app\">watching for changes guide<\/a>\u00a0to understand which method best suits your architecture.<\/p>\n<p><strong>Modernize with $arcgis.import():<\/strong> The new $arcgis.import() global function is a modern replacement for AMD require when building single page JavaScript apps using the CDN. The function accepts a module path or an array of module paths and returns a promise that resolves with the requested module(s). The documentation has been updated to use this new pattern, including <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/get-started\/#cdn\">getting started<\/a>,\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/tutorials\/\">tutorials<\/a>\u00a0and\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/\">samples<\/a>. While require is still supported, we encourage developers to adopt this more practical and modern approach.<\/p>\n<p><strong>New CDN endpoint for components<\/strong>: The CDN endpoint for component packages has been updated, offering a more consistent and simplified versioning pattern.<\/p>\n<p>New pattern:\u00a0https:\/\/js.arcgis.com\/{version-number}\/{component-package}\/<\/p>\n<p><strong>Consider using geometry operators<\/strong>: The\u00a0geometry engine\u00a0has been deprecated in favor of the more modular and feature-rich\u00a0geometry operators. See the\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/spatial-analysis\/intro-geometry-operators\/\">Introduction to geometry operators guide page<\/a>\u00a0for more information.<\/p>\n<h2>Learn more<\/h2>\n<p>There is a lot more to this release, such as video layer enhancements, utility network associations with spatial selection, new geometric effects in vector symbols, and client-side point cloud layer queries. Continue learning about this massive release in the <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/release-notes\/\">release notes<\/a>, and play around with the new capabilities using <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/?tagged=4.33\">new samples<\/a>.<\/p>\n"},{"acf_fc_layout":"kaltura","video_id":"1_8noyzdny","time":false,"start":0,"stop":""},{"acf_fc_layout":"content","content":"<p>We are also holding a Youtube <a href=\"https:\/\/youtube.com\/live\/Ykmv7vq10cI\">livestream<\/a> on <strong>9am PT, Tuesday, July 8th.\u00a0<\/strong>Join us to see the latest features live and engage with the product team directly!<\/p>\n"}],"authors":[{"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'\/>"},{"ID":330302,"user_firstname":"Yixuan 'Emily'","user_lastname":"Hu","nickname":"Emily Hu","user_nicename":"yhu","display_name":"Yixuan 'Emily' Hu","user_email":"yhu@esri.com","user_url":"","user_registered":"2023-01-25 19:36:28","user_description":"Yixuan 'Emily' Hu is a mapping and technology enthusiast working as the Product Manager for Esri's web development technologies. She was previously a software engineer for web mapping applications and GIS developer in commercial real estate, with an educational background in GIS and Urban Spatial Analytics. Emily is dedicated to leverage her experience in different parts of GIS industry and her global background to help customers build the most suitable applications.","user_avatar":"<img data-del=\"avatar\" src='https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/09\/profile_square-465x465.jpeg' class='avatar pp-user-avatar avatar-96 photo ' height='96' width='96'\/>"}],"show_article_image":false,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/05\/card-icon-small.png","wide_image":false,"related_articles":""},"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>Version 4.33 of JavaScript Maps SDK 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\/whats-new-in-arcgis-maps-sdk-for-javascript-4-33\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Version 4.33 of JavaScript Maps SDK released!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-maps-sdk-for-javascript-4-33\" \/>\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=\"2025-08-13T18:16:17+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@ESRI\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"11 minutes\" \/>\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\/whats-new-in-arcgis-maps-sdk-for-javascript-4-33#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-maps-sdk-for-javascript-4-33\"},\"author\":{\"name\":\"Julie Powell\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/3ef71df36f6aacca26eb2c7f65f15e88\"},\"headline\":\"Version 4.33 of JavaScript Maps SDK released!\",\"datePublished\":\"2025-06-24T14:30:01+00:00\",\"dateModified\":\"2025-08-13T18:16:17+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-maps-sdk-for-javascript-4-33\"},\"wordCount\":6,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"keywords\":[\"ArcGIS Maps SDK for JavaScript\",\"JavaScript\",\"Web Development\",\"whats new june 2025\"],\"articleSection\":[\"Announcements\",\"Developers\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-maps-sdk-for-javascript-4-33#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-maps-sdk-for-javascript-4-33\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-maps-sdk-for-javascript-4-33\",\"name\":\"Version 4.33 of JavaScript Maps SDK released!\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\"},\"datePublished\":\"2025-06-24T14:30:01+00:00\",\"dateModified\":\"2025-08-13T18:16:17+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-maps-sdk-for-javascript-4-33#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-maps-sdk-for-javascript-4-33\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-maps-sdk-for-javascript-4-33#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.esri.com\/arcgis-blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Version 4.33 of JavaScript Maps SDK 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\/3ef71df36f6aacca26eb2c7f65f15e88\",\"name\":\"Julie Powell\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/03\/PhotoRoom-20220321_101413-3-213x200.png\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/03\/PhotoRoom-20220321_101413-3-213x200.png\",\"caption\":\"Julie Powell\"},\"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. Julie 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.\",\"sameAs\":[\"https:\/\/x.com\/JuliePowellGIS\"],\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/author\/julie-powell\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Version 4.33 of JavaScript Maps SDK 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\/whats-new-in-arcgis-maps-sdk-for-javascript-4-33","og_locale":"en_US","og_type":"article","og_title":"Version 4.33 of JavaScript Maps SDK released!","og_url":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-maps-sdk-for-javascript-4-33","og_site_name":"ArcGIS Blog","article_publisher":"https:\/\/www.facebook.com\/esrigis\/","article_modified_time":"2025-08-13T18:16:17+00:00","twitter_card":"summary_large_image","twitter_site":"@ESRI","twitter_misc":{"Est. reading time":"11 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-maps-sdk-for-javascript-4-33#article","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-maps-sdk-for-javascript-4-33"},"author":{"name":"Julie Powell","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/3ef71df36f6aacca26eb2c7f65f15e88"},"headline":"Version 4.33 of JavaScript Maps SDK released!","datePublished":"2025-06-24T14:30:01+00:00","dateModified":"2025-08-13T18:16:17+00:00","mainEntityOfPage":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-maps-sdk-for-javascript-4-33"},"wordCount":6,"commentCount":0,"publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"keywords":["ArcGIS Maps SDK for JavaScript","JavaScript","Web Development","whats new june 2025"],"articleSection":["Announcements","Developers"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-maps-sdk-for-javascript-4-33#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-maps-sdk-for-javascript-4-33","url":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-maps-sdk-for-javascript-4-33","name":"Version 4.33 of JavaScript Maps SDK released!","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#website"},"datePublished":"2025-06-24T14:30:01+00:00","dateModified":"2025-08-13T18:16:17+00:00","breadcrumb":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-maps-sdk-for-javascript-4-33#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-maps-sdk-for-javascript-4-33"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-maps-sdk-for-javascript-4-33#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.esri.com\/arcgis-blog\/"},{"@type":"ListItem","position":2,"name":"Version 4.33 of JavaScript Maps SDK 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\/3ef71df36f6aacca26eb2c7f65f15e88","name":"Julie Powell","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/03\/PhotoRoom-20220321_101413-3-213x200.png","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/03\/PhotoRoom-20220321_101413-3-213x200.png","caption":"Julie Powell"},"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. Julie 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.","sameAs":["https:\/\/x.com\/JuliePowellGIS"],"url":"https:\/\/www.esri.com\/arcgis-blog\/author\/julie-powell"}]}},"text_date":"June 24, 2025","author_name":"Multiple Authors","author_page":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/whats-new-in-arcgis-maps-sdk-for-javascript-4-33","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":769562,"name":"ArcGIS Maps SDK for JavaScript","slug":"arcgis-maps-sdk-for-javascript","term_group":0,"term_taxonomy_id":769562,"taxonomy":"post_tag","description":"","parent":0,"count":27,"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":36161,"name":"Web Development","slug":"web-development","term_group":0,"term_taxonomy_id":36161,"taxonomy":"post_tag","description":"","parent":0,"count":19,"filter":"raw"},{"term_id":779342,"name":"whats new june 2025","slug":"whats-new-june-2025","term_group":0,"term_taxonomy_id":779342,"taxonomy":"post_tag","description":"","parent":0,"count":21,"filter":"raw"}],"category_data":[{"term_id":37101,"name":"Announcements","slug":"announcements","term_group":0,"term_taxonomy_id":37101,"taxonomy":"category","description":"","parent":0,"count":1957,"filter":"raw"},{"term_id":738191,"name":"Developers","slug":"developers","term_group":0,"term_taxonomy_id":738191,"taxonomy":"category","description":"","parent":0,"count":420,"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":361,"filter":"raw"},{"term_id":36601,"name":"Developers","slug":"developers","term_group":0,"term_taxonomy_id":36601,"taxonomy":"product","description":"","parent":0,"count":761,"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\/2808342","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\/4271"}],"replies":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/comments?post=2808342"}],"version-history":[{"count":0,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/2808342\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/media?parent=2808342"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/categories?post=2808342"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/tags?post=2808342"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/industry?post=2808342"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/product?post=2808342"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}