### 2.4.1
This version mainly introduced larger foundational changes:
- Changed track recording to a new orchestration-based workflow.
- Fixed recording journal line-boundary issues.
- Refactored location-change distribution.
- Reworked chart-download orchestration and parallel multi-file downloads.
- Improved chart-tile selection and Sonar bathymetry overzoom.
- Fixed issues where maps did not appear on iOS or the vessel position stopped updating.
- Unified native logging and reduced unnecessary logs in Release/Debug builds.
- Fixed the download screen remaining stuck at Verifying Chart.
- Improved login network-error messages.
- Hid the donation entry on iOS.
### 2.4.2
- Significantly improved GPS, AIS, navigation, and anchor-watch positioning.
- Improved location tracking while the app is running in the background.
- Improved track recording to prevent duplicate or interrupted records.
- Precise location permission is now required for track recording.
- Fixed location compatibility issues on some Android devices.
- Fixed startup login problems when the device is offline.
- Reduced unnecessary error messages caused by network timeouts.
- Developer options are now visible in non-release versions.
- Improved app startup speed.
- Improved anchor-watch positioning by reducing inaccurate location sources.
### 2.4.3
- Fixed the map not opening automatically after chart downloads finished.
- Fixed incomplete button text on the AIS device settings page.
- Improved login timeout and network-error messages.
- Added startup records to help identify how the app was launched.
# 2.4.3 IOS version
- Improved the Pro subscription page with clearer plan, store, and membership status details.
- Refined bathymetry colors to make depth areas easier to distinguish.
- Fixed an issue where the chart processing dialog could occasionally remain open after a download finished.
- Updated iOS build settings and app dependencies for improved compatibility with newer development tools.
### 2.4.4
- **Offline high-detail chart downloads now use Z6 map blocks.** You can select areas on the map and track download status. Block loading, version cleanup, pause and completion feedback, and streaming checksum verification were also improved.
- **Overview chart downloads support the new API.** The update adds package parsing and validation, improves failure messages, and fixes navigation back to the home screen after an update.
- **Cloud sync after login shows actual merge progress.** JSON parsing now runs in the background, writes are batched, and the sync response limit is 20 MiB.
- **Fixed image upload compatibility** for some JPEG files that previously failed to decode.
- **Map display and download guidance improved:** contour colors were adjusted, and multilingual guidance was added for boundaries between high-detail chart download areas.
Most of the work focuses on offline chart downloads and sync, with additional fixes to download feedback, navigation, and platform code.
### 2.4.5
AIS Vessel Monitoring and Navigation
- Added a vessel status screen and reorganized the history and vessel entries in the AIS reception overview.
- Added vessel-type icons for AIS targets and fixed missing vessel icons on the map.
- Improved vessel detail windows and standardized speed and distance units. Repositioned the vessel position timestamp and removed the window’s drag boundaries.
- Improved track prediction, target display, and collision alerts. Fixed false alerts for nearly stationary targets, disappearing prediction lines when a vessel position is frozen, and AIS navigation data freshness checks.
- Improved AIS reconnection and Wi-Fi recovery. Fixed asynchronous exceptions when the AIS TCP connection is lost.
Maps and Charts
- Fixed map startup so the map can center without waiting for a new location update.
- Fixed basemap display when zooming beyond level 12.
- Removed regional charts and prioritized high-detail place data in place lookup.
- Added long-press name tooltips to map controls and completed the related translations.
- Added diagnostics for MapLibre native library loading failures.
Routes, Recording, and Notifications
- Fixed black screens and lifecycle issues in route editing, as well as track recording recovery and account switching.
- Fixed navigation notifications remaining after closing the app on Android, and repeated remaining-distance notifications on iOS.
- Improved the foreground service lifecycle for anchor watch and handling of download service timeouts.
Downloads, Uploads, and Content Publishing
- Refactored high-detail chart downloads and weather package download and installation.
- Refactored the upload queue and fixed offline retries when the queue is empty. Addressed download concurrency issues.
- Refactored feedback publishing and the publishing and loading flows for user posts.
- Fixed file import paths on Android and iOS, and resolved synchronous file reads on the iOS main thread.
Accounts and Startup
- Fixed login session issues and improved recovery and data isolation after account cleanup failures.
- Added mobile push notifications and reporting of login device tokens.
- Removed the legacy 2.2.0 startup compatibility migration and reorganized startup migrations.
Architecture Refactoring
- AIS: Refactored AIS business flow orchestration and reorganized reception, vessel status, target display, and navigation flows.
- Map: Refactored map initialization and layout, clarifying responsibilities across startup, location, and layout handling.
- Routes: Refactored route editing orchestration, breaking the editing process into clearer flows and improving lifecycle handling.
- User posts: Refactored post publishing and loading, including composition, place lookup, media preparation, and publishing.
- Uploads: Refactored upload queue orchestration, including queue state and offline retry handling.
- Weather downloads: Consolidated and refactored weather package download and installation flows.
- High-detail chart downloads: Refactored download orchestration and clarified download session responsibilities.
- Feedback center: Refactored feedback publishing.
- File handling and recording: Updated the native file I/O bridge, track recording service, and recording state recovery.
- Anchor watch and download services: Updated Android foreground service lifecycle handling for anchor watch and download timeout scenarios.
Some fixes and architectural changes came from the same commits, so they appear under both the relevant feature area and the architecture section.