No new features in this release.
No feature enhancements in this release.
What - Resolved a crash that occurred when an ArcGIS request completed after its associated map layer had already been deallocated, specifically during the finishWithResult:error: lifecycle of the request operation, by improving memory management and ensuring safe handling of asynchronous map service responses.
Why - Under certain navigation or refresh scenarios, background ArcGIS requests could complete after a user had left the map view, resulting in attempts to access released objects and causing the application to terminate unexpectedly; improving lifecycle handling increases stability during active map usage.
How
Open Map
Interact with map layers or trigger data refreshes
Navigate away from the screen while requests are still processing
Note: The app now safely handles late ArcGIS responses without accessing deallocated layers.
Note: No user configuration changes are required.
Use Case - A user opens the map, enables operational layers, and quickly navigates to another screen while map data is still loading; previously this could cause a crash if the request completed after navigation, but the app now handles the response safely and continues operating normally.
What - Fixed a crash occurring within the ArcGIS authentication delegate during the authenticationManager(_:didReceive:) callback by strengthening authentication response handling and preventing unsafe state access during token or credential processing.
Why - Authentication events can occur asynchronously, particularly when tokens expire or secured services are accessed; if the delegate attempted to process authentication responses while related objects were no longer in a valid state, it could lead to instability and unexpected app termination.
How
Access secured Map layers or services requiring authentication
Allow credentials to refresh or reauthenticate as prompted
Continue using the map normally
Note: Authentication flows now safely handle background and edge-case scenarios.
Note: No changes to login or credential setup are required.
Use Case - While viewing secured GIS layers, a user’s authentication token refreshes in the background; previously, this could trigger a crash under certain timing conditions, but the improved delegate handling now processes the authentication event smoothly without interrupting map usage.
What - Addressed a crash occurring within the render_glyphs process when displaying text-based map markers, improving text rendering stability for map annotations and labeled markers.
Why - Rendering text markers involves dynamic glyph generation, and under specific combinations of zoom levels, marker updates, or rapid map interactions, rendering could enter an unstable state; improving text rendering safeguards ensures consistent map performance.
How
Open Map
Zoom in and out or pan across labeled markers
View incidents, hydrants, or other text-based annotations
Note: Text markers now render reliably during zooming and map refresh.
Note: No configuration changes are required.
Use Case - A user zooms rapidly between city-wide and street-level views while viewing labeled markers; previously this could result in a crash during glyph rendering, but the app now maintains stable performance and continues rendering labels correctly.
What - Resolved a crash affecting iPhone devices when a user navigated back from the Nearest Hydrants screen and then selected a hydrant marker on the map, ensuring proper state restoration and safe interaction with hydrant objects.
Why - The crash was caused by incomplete state restoration after navigating between screens, leading to invalid references when interacting with hydrant markers; correcting this improves reliability when switching between hydrant lists and map views.
How
Navigate to Map
Select Nearest Hydrants
Return to the map screen
Tap a hydrant marker
Note: Hydrant selection now functions without causing the app to close unexpectedly.
Note: No additional setup is required.
Use Case - During a response, a user reviews the Nearest Hydrants list, returns to the map to visualize hydrant locations, and selects a hydrant for details; the app now handles this workflow smoothly without crashing, ensuring uninterrupted operational access.