Skip to content

Releases: ngageoint/mage-ios

4.4.0-beta.2

27 Feb 19:52
0edda30

Choose a tag to compare

4.4.0-beta.2 Pre-release
Pre-release

This release focuses heavily on stability and performance, addressing critical crashes that occurred when switching events or uploading attachments. We have fixed issues around the map view, login screens, navigation, and more.

Crashes & Critical Fixes

• Fixed crash in attachment upload logic.
• Fixed crash when switching events.
• Fixed crashes related to Core Data concurrency.
• Fixed critical issue where GeoPackage/Offline Layers were not working.
• Fixed Observation on/off toggle from Layers.
• Resolved "Contact Us" failing silently without an email client.

Performance & Uploads

• Fixed "blank attachments" error where uploads would fail to upload to the server.
• Optimized map rendering to prevent lag on large datasets.
• Disabled sub-geometries from displaying on the map (only top-level locations are displayed).
• Fixed issue where maps refreshed too frequently on app start, pan, and zoom causing lag, heat, and battery drain.

User Interface & Experience

• Fixed login screen clipping content on scroll and hard-to-tap username/password fields.
• Fixed observations disappearing/reappearing while panning the map.
• Fixed Observation Detail location map previews from showing incorrect zoom levels (e.g., zoomed to 7 meters, instead of 1000 meters for context).
• Fixed Observation Detail location maps previews showing blank locations or text fields on forms.
• Fixed "Next" button on New User Captcha not triggering the signup action.
• Fixed observations temporarily appearing duplicated in the UI.
• Fixed unplayable videos uploaded from iOS.
• Fixed Apple Maps navigation failure when navigating to an Observation location.
• Fixed Edit Observation text field cursor color in dark mode.
• Improved the Observation creation flow.
• Added a new Observation full-screen text area with done/cancel button (Checkmark/X on iOS 26).
• Fixed layers and compass button locations on map.
• Fixed incorrect notifications about X new observations being synced.
• Updated the Observation list filter to display correctly in the navigation bar.
• Fixed mismatching passwords messaging during signup.

Features & Enhancements

• Added support for pulling "Contact Us" email directly from the server.
• Improved Place Name Search (PR #144).
• Fixed progress updates for Offline Layer (GeoPackage) downloads.
• Fixed incorrect "New Observations" banners on app launch or event switch.
• Added User Filtering for observations to show only observations created by specific users.
• Moved Disclaimer buttons to be above the safe area (home button indicator).

Known Issues (these items will be addressed in a fast follow release during the beta validation period)

• KML Layers do not turn off. Workaround: Toggle off/on/off to turn off.
• KML detail view displays raw HTML on map bottom sheet.

4.4.0-beta Release

31 Oct 14:15
68b1d35

Choose a tag to compare

4.4.0-beta Release Pre-release
Pre-release

Version 4.4.0-beta

Mapping is faster and more stable, with improved layer handling and full dark-mode adaptation. Users can explore confidently, even on data-dense views.

Changes

  • Resolved issue where images on a new observation fail to load on the device that loaded them
    Resolved an issue where opening a new observation showed only the MAGE_ID on a black screen and images never loaded, despite valid local file URLs in Xcode. Photos now render correctly from local storage when reviewing new observations.

  • The "contact us" button now populates the email based on server configuration
    Retrieved the “Contact Us” email from the server instead of hardcoding it. If the API is unavailable or the email field is missing/empty, default to magesuitesupport@nga.mil.

  • Resolved issue where uploaded videos were unplayable on the device that uploaded them
    Resolved issue where iOS-uploaded videos were previously unplayable on the submitting iPhone until processing finished server-side. Local playback now works immediately after capture/upload.

  • Fixed issue where observation images sometimes failed to load
    Resolved issue where some image uploads hung, showing blank thumbnails or “Image {name} pending” indefinitely. Uploads now complete reliably, with images rendering correctly once captured; the “pending” state clears as expected.

  • Made new user signup completion easier from the keyboard
    Resolved the issue where the “Next” button on the new-user CAPTCHA was not correctly triggering the signup action. Now, after filling the CAPTCHA and tapping Next, the form advances/submits without needing to dismiss the keyboard, scroll, or tap another field.

  • Fixed issue where navigation to an observation via Apple Maps failed
    Resolved issue where tapping Navigate → Apple Maps from an observation now opens Apple Maps with turn-by-turn directions to the observation (previously it just opened to the default map with no route).

  • Fixed issue where observations are temporarily duplicated in the UI when switching from the User tab to the Observations tab
    Eliminated a UI bug that temporarily duplicated observations when switching between the User and Observations tabs. The list now remains de-duplicated and stable during tab switches.

  • Made "Delete" and "Cancel" text capitalization consistent with rest of app
    Dialog buttons now use Capital Case—Delete and Cancel—with Delete marked as a destructive (red) action on iOS. Previously shown as DELETE/CANCEL in all caps.

  • Updated User Intro walkthrough
    Improved the new-user guide for clarity and appropriateness: Updated 'Take a tour' to explain server/events/map/observations

  • Fixed issue where duplicate "X new observations for Event XYZ" notifications were being sent
    Resolved the banner logic for “X new observations pulled for this event.” The app now shows the banner only when there are truly new observations or during the initial data sync for a new event. Bulk imports and already-synced states no longer trigger false counts; change tracking correctly distinguishes no-op syncs from new data.

  • Fixed intermittent crash when attaching media to observations
    Resolved an intermittent crash in iOS attachment uploads caused by error handling. Improved memory handling and exception paths during photo/video attach, so creating observations no longer crashes.

  • Added place name search functionality
    JIATF-S published a PR on enabling "Place Name Search". Open the Map screen and tap the search bar. Type at least three characters of a place or address (e.g., “Gateway Arch”). Choose a result; the map should pan/zoom to it and drop a temporary pin with a callout. Drag the handle to collapse/expand the results panel and confirm the pin/callout stay visible. If an Event/filter is active, verify a small banner lets you return to the Event extent. If you see “No places found,” try a fuller address or landmark; if offline, reconnect to enable search. Clear the pin, then repeat with another address to confirm consistency.

  • Fixed issue where "Contact Us" button didn't work on devices with email disabled. An alert is now displayed prompting the user to contact their server admin.
    Previously, Contact Us broke if the support-email config key’s casing didn’t match or the value was missing, often doing nothing. Now the lookup is case-insensitive and, if no email is set, it gracefully copies the address to the clipboard and shows a clear alert—so the button behaves reliably and never fails silently.

  • Fixed intermittent crash on app startup
    Resolved startup issue that could sometimes cause the app to crash—especially right when opening it or when switching between events. The launch process is now more orderly and stable, so the app opens reliably, switches events without hiccups, and gets you to your first tap faster and more consistently.

  • Fixed a Log In issue impacting multiple authentication services
    Resolved a Log In issue where scrolling incorrectly hide the sign in text fields when multiple authentication methods were enabled on a server. Fixed an issue where changes to authentication methods did not appear in the iOS app.

  • Fixed a UX issue with Username/Password fields on Log In Screen
    Increased the tap target for the Username and Password fields to make it easier to tap to edit both fields.

4.3.0-beta release

08 Aug 19:32
37dcc46

Choose a tag to compare

4.3.0-beta release Pre-release
Pre-release
  • Performance improvements for large events (5k+ observations)
  • Can now attach multiple photos to an observation simultaneously
  • No longer have to click “Done” after editing each individual observation field
  • UI updates
  • Observation thumbnails now load properly
  • Observation locations are now able to be created with polygon geometry
  • Added Quick Tour to login home screen and Spanish language internationalization

4.2.0 (Rollback to 4.0.7)

18 Jun 19:54

Choose a tag to compare

Rollback release to 4.0.7 to mitigate performance issues with 4.1.0.

  • Has cherry-picked fixes for Xcode Cloud and Test Flight
  • A Debug build to workaround issues with missing dependency symbols (SF_POINT) due to NS_ENUM issue.

Full Changelog: 4.0.7...4.2.0

4.1.0

06 Jun 16:37

Choose a tag to compare

What's Changed

  • Added a Contact Us button
  • Fixed a crash related to Attachment Settings
  • Fixed an issue obscurring the map compass on the map
  • Fixed a crash related to layers on app start
  • Refactored old logic to Swift and SwiftUI
  • Updated unit tests
  • Full Changelog: 4.0.7...4.1.0

4.0.7

22 Nov 14:53
a530838

Choose a tag to compare

Features
  • UI/UX improvement on server connection error
Bug Fixes
  • Feeds timestamp field should be formatted as a date/time
  • Unsaved map symbology changes now update when editing an observation
  • Observation feed reflects remote attachment delete
  • Ensure video attachment header matches contentType
  • Remove animated activity indicator to fix crash when attachment cells are recycled
  • Set kingfisher cache key for attachment video thumbnails to fix duplicate thumbnails
  • Update Kingfisher library to latest 7.x.
  • Update references to Kingfisher's ImageResource struct because Xcode 15 introduced a conflicting ImageResource symbol.

4.0.6

13 Oct 14:59

Choose a tag to compare

Release Notes

Features

Update GeoPackage library to 8.0.3

Bug Fixes

PNG photo attachments converted to JPEG get a .jpeg file extension to match media type

4.0.5

17 Nov 20:01

Choose a tag to compare

Features
  • GARS and MGRS grid overlays and observation geometry edit
Bug Fixes
  • allow DMS fields to start with a 0
  • forms are ordered according to the order set on the server

4.0.4

29 Aug 16:20

Choose a tag to compare

Bug Fixes
  • set the locale for date parsing to fix bug with 24 hour locales with the time preference set to 12 hours

4.0.3

26 Aug 17:18

Choose a tag to compare

Bug Fixes
  • Extra logging for login errors