Changelog
1.0.3
November 6, 2024
✨ Features
MapsGLOptions.verboseLogging
flag added for verbose debug logging of requests/responses.
WARNING: Do not use this mode in release builds published to App Store Connect, as it can leak private information (such as access keys). This is intended only for local builds of apps for debugging issues that the Xweather MapsGL team cannot reproduce themselves, when additional info from the app developer is needed to diagnose the potential issue.
🛠 Improvements
- Compatibility and updates for Xcode 16 and the Swift 6 compiler.
- Compatibility with mapbox-maps-ios 11.5.0 and newer.
- MapsGLMapbox module is now distributed as source, to prevent future ABI incompatibilities with mapbox-maps-ios.
- Made particle density more visually consistent across fractional zoom levels.
🐞 Bug Fixes
- Fixed an issue where weather layers may fail to load if the device is set to a time zone with a positive UTC offset.
- Fixed an issue where authentication may fail on the first attempt.
- Fixed an issue where tile requests may fail due to requesting too many time intervals, or may retrieve the wrong (not most recent) interval.
- Fixed an issue where the
AirQualityIndexCategories
layer may fail to load. - Fixed an issue where particle trails may not reliably clear when double-tap-zooming the map.
1.0.2
July 22, 2024
🛠 Improvements
- Improved particle speed calculations to match MapsGL-JS's, with more uniform consistency while zooming.
- Various documentation improvements.
🐞 Bug Fixes
- Corrected
UVIndex
's default colorscale to match MapsGL-JS's. - Fixed particle trails not clearing when rotating the bearing (2-finger rotate) or pitch (2-finger slide) of the camera.
⚠️ Known Issues
MapsGLMapbox.xcframework
compiles and links against mapbox-maps-ios 11.4.0 and earlier (back to 11.0.0), and is not yet compatible with the Mapbox API changes in 11.5.0 and newer.- Weather layers may fail to load if the device is set to a time zone with a positive UTC offset.
1.0.1
July 2, 2024
🐞 Bug Fixes
- Hotfix: Resolved a potential threadlock (freezing) issue that could occur on older iOS devices.
1.0.0
June 28, 2024
🛠 Improvements
- Visual tile “partials” now use data from other zoom levels to show imagery until the proper data for that zoom has loaded in.
- Updated
UVIndex
layer to use transparent coloring at the bottom of the scale (index values near 0). - Updated air quality & maritime layers to use the latest, improved MapsGL aggregate datasets.
🐞 Bug Fixes
- Resolved an issue where tiles may not load in until the map is moved.
- Resolved an issue where tile rendering may lag behind scrolling/panning by a few frames.
- Resolved an issue where particle rendering may not always clear when zooming (causing “Star Trek warp” visual artifacts).
- Resolved an issue where some datasets wouldn't display properly above the maximum zoom available.
- Resolved an issue where
StormSurge
&TideHeights
layers would occasionally use the wrong dataset, resulting in non-sensical rendering. - Resolved an issue where
UVIndex
layers would occasionally not be able to find the correct time series for its data, result in blank rendering. - Resolved an issue where
WindChill
was displaying incorrectly, not using the apparent-temperature dataset. - Resolved an issue where raster layers may appear overly pixelated.
- Resovled “layers may appear pixelated at higher zoom levels”.
1.0.0-beta.6
May 14, 2024
✨ Features
- Particle layers now support trail rendering.
🛠 Improvements
- Particle speed/drop/fade is now relative to FPS, appearing the same on 60 FPS, 90 FPS, & 120 FPS devices.
- Optimized particle update performance.
🐞 Bug Fixes
- Particles no longer jump ahead to a new position when the app has been in the background.
⚠️ Known Issues
- Layers may appear pixelated at higher zoom levels.
1.0.0-beta.5
April 29, 2024
✨ Features
- Added particle weather layers:
WaveParticles
,SwellParticles
,Swell2Particles
, andSwell3Particles
with wave bar shape rendering.
🛠 Improvements
- Updated Xweather server URLs to use new
….api.xweather.com
domains. - Optimized initial load speed of particles.
- Map tile loading is now prioritized at the center of the screen first, working outward to the edges.
🐞 Bug Fixes
- Corrected an issue where particles in an area with no data would move diagonally down-left, when instead they should not be rendered.
- Corrected an issue where particles could end up with incorrect coloring in the frame in which they respawn. Fixes known issue “particles may appear staticky”.
- Fixed an issue that would cause weather layers to render above ground height and disappear at higher zoom levels.
- Particles now fade-in properly, matching MapsGL-JS-SDK's behavior.
1.0.0-beta.4
April 15, 2024
✨ Features
- Implemented animated particle rendering, with configuration via
ParticleLayerDescriptor
. - Added particle weather layers:
WindParticles
,OceanCurrentsParticles
.
🛠 Improvements
- Optimized shader performance.
🐞 Bug Fixes
- Resolved an issue where a tile may fail to retry loading, remaining blank.
- Fixed an issue where
WeatherLayerConfiguration
'slayer
property was not configurable (mutable) from client code.
⚠️ Known Issues
- Particle trail rendering and size configuration are not yet supported.
OceanCurrentsParticles
layer does not mask up to the coastline.- On iOS/visionOS Simulator, particles may appear staticky. Workaround: Test on iOS/visionOS devices instead.
- Particle rendering is not currently available for Mac Catalyst targets running on Intel CPUs.
1.0.0-beta.3
March 25, 2024
✨ Features
- Added encoded-sampling Maritime weather layers:
SeaSurfaceTemperatures
,OceanCurrents
,WaveHeights
,WavePeriods
,SwellHeights
,SwellPeriods
,Swell2Heights
,Swell2Periods
,Swell3Heights
,Swell3Periods
,StormSurge
,TideHeights
🛠 Improvements
- Optimized shader performance.
- Added MIT License to Demo project.
🐞 Bug Fixes
- Removed
mapbox-maps-ios
from Cartfile, since Mapbox doesn't support Carthage dependency manager.
⚠️ Known Issues
- Maritime layers do not mask up to the coastline.
1.0.0-beta.2
March 8, 2024
🛠 Improvements
- Added support for native visionOS targets when using MapboxMaps v11.2.0 or newer.
- Added support for Carthage (opens in a new tab) dependency manager.
- Added
beforeId
argument toaddWeatherLayer(…)
, to order a layer relative to Mapbox's layers.
🐞 Bug Fixes
- Fixed a race condition that could cause
addWeatherLayer(…)
to fail throwingMapControllerError.invalidSource
. - Resolved an issue that was causing
MapGLMapbox.xcframework
to link in unnecessary symbols resulting in inflated binary size.
1.0.0-beta.1
February 21, 2024
- Initial beta release, with support for raster and encoded weather layers with a Mapbox Maps host on iOS, iPadOS, & macCatalyst.
⚠️ Known Issues
- MapsGL docs don't appear in Xcode documentation viewer (however, command-clicking MapsGL symbols does properly jumps to public interface).
- Tile “partials” (rendering a portion of an already-loaded zoomed-out tile until the high-res current zoom level loads) are not yet implemented fully.