Changelog

Changelog

3.4.1

August 30, 2023

CoreUI

  • Added alpha transparency support to AWFColorRamp.
  • Fixed issues where AWFColorRamp wouldn't display negative numbers, or showed duplicate numbers.

AerisWeatherKit

  • Added support for the new maritime endpoint via AWFMaritime and AWFMaritimeReport classes.
  • Added isEqualToPlace: method to AWFPlace.

AerisMapKit

  • Added support for the 9 new “air-quality-…” layers via AWFMapLayerAirQuality… constants.
  • Added support for the 14 new “maritime-…” layers via AWFMapLayerMaritime… constants.
  • Fixed an issue where AWFBarLegend wouldn't layout full-width on larger devices screens.
  • Fix for missing AWFMapLayerLightningAll constant, an alias for AWFMapLayerLightningAll15Minute.

AerisGoogleMapKit

  • Updated to use the latest version of GoogleMaps SDK, version 8.0.0, and raised AerisGoogleMapKit's minimum deployment target to iOS 14.0 (matching GoogleMaps' minimum).

3.4.0

July 27, 2023

  • Dropped support for iOS 10— the minimum deployment target is now iOS 11.0.
  • Fixed an issue where types in Objective-C headers sometimes wouldn't be interpreted correctly by Swift code in Xcode.​​

AerisWeatherKit

  • Added support for the new lightning/threats endpoint via AWFLightningThreats and AWFLightningThreat classes.
  • Added support for the new lightning/flash endpoint via AWFLightningFlashes and AWFLightningFlash classes.
  • Added support for the new lightning/summary endpoint via AWFLightningSummaries and AWFLightningSummary classes.
  • Added new sensorCount property to AWFLightningStrike.
  • Added support for filtering AWFLightningStrikes by positive or negative polarity, and for sorting by pulse type, peak amperage, or sensor count.
  • Added amperage unit to AWFMeasurement, and lightning data types to AWFWeatherDataType.
  • Fixed minTimestamp and maxTimestamp property mapping for AWFRangeSummary.​

AerisMapKit

  • Added support for the new lightning-all layers via AWFMapLayerLightningAll15Minute and AWFMapLayerLightningAll5Minute constants.
  • Added support for the new lightning-flash layers via AWFMapLayerLightningFlash and AWFMapLayerLightningFlash5MinuteIcons constants.
  • Added isExpanded property to AWFLegendView.
  • Removed now-unsupported vector point layer AWFMapLayerLightningStrikes.
  • Fixed a UI deadlock in AWFWeatherMapViewController in some situations when using a legend.

3.3.2

January 3, 2022

AerisWeatherKit

  • Added precipRate and snowRate properties to AWFConditionPeriod
  • Added new polygon and fire perimeter support to AWFFire
  • Added altimeter properties to AWFObservationSummary
  • Added dataSource to AWFAdvisory
  • Added support for alerts/summary via AWFAdvisoriesSummary
  • Added updatedAt property to AWFEarthquake

3.3.1

November 2, 2021

AerisWeatherKit

  • Added support for trustFactor and QCCode to AWFObservations.
  • Fixed property mappings for AWFSnowDepthPeriod.
  • Fixed windDirectionDEG value mapping for AWFObservation.'

AerisMapKit

  • Added support for configuring the units for AWFWeatherMap via AWFWeatherMapConfig.
  • Added support for displaying observation annotation callout data in Imperial or Metric units based on the configured unit type.
  • Fixed an issue where map timeline start/end times were not set properly on map data refresh.

AerisMapboxMapKit

  • Update to set tile size based on configuration value of shouldUseRetinaImagery.

3.3.0

February 10, 2021

  • Updated to XCFrameworks to support Apple M1 Macs. Note that this update changes the installation process for the SDK. See /getting-started/installation/ for updated installation instructions.
  • Dropped support for iOS 9.

AerisWeatherKit

  • Added missing countyIds property to AWFPlace.
  • Added missing includes properties on AWFAdvisory.
  • Fixed property mapping for metric wind gust values on AWFForecastPeriod.

3.2.10

November 4, 2020

AerisMapKit

  • Minor bug fixes, remove view debugging from AWFLegendView

3.2.9

October 28, 2020

AerisMapKit

  • Fixed an issue where some future/outlook layers were not being added to the map due to forecast model checks and requirements.
  • Fixed an issue where map timeline start/end offsets weren't updated when the timeline's start/end dates were updated.
  • Improved Raster Maps layer handling by auto-updating layers when their properties change (e.g. alpha, blendMode, etc)
  • Improved Raster Maps layer validation checks to handle all modifier combinations.

3.2.8

September 9, 2020

AerisWeatherKit

  • Added support for the new conditions/summary endpoint via AWFConditionsSummaries and AWFConditionSummary classes.
  • Added missing zone-related properties for AWFPlace.
  • Added missing stationPressure and trustFactor properties to AWFObservationSummary.
  • Fixed property mappings for spressure and altimeter on AWFObservation.
  • Updated time range, precip and wind-related properties to their respective AWFRangeSummary instances on AWFObservationSummary.

AerisMapKit

  • Fixed crash on iOS < 13.0 due to incorrect NSURLCache initializer being referenced.

3.2.7

August 28, 2020

AerisWeatherKit

  • Added support for the lang API parameter to AWFWeatherRequestOptions.
  • Added missing properties to AWFAdvisory: updated, color, category and isEmergency.
  • Updated uvIndex on AWFForecastPeriod to a float value instead of integer.

AerisMapKit

  • Fixed several issues with Raster Maps tile merging and caching that was resulting in blank or incomplete tiles being rendered.
  • Set the designated initializer for AWFLegendView to initWithMapStyle:frame: so that weather map style information is always provided to the legend.

3.2.6

July 23, 2020

AerisWeatherKit

  • Fixed API property mappings for missing min/max/avg properties on AWFForecastPeriod.

3.2.5

July 17, 2020

  • Minor bug fixes and stability improvements.

AerisWeatherKit

  • Fixed forecast min/max/avg temperature property mappings in AWFForecastPeriod which resulted in NAN values since 3.2.4.

AerisMapKit

  • Improved tile and animation loading speed and performance.
  • Fixed a crash that would happen when trying to animate with non-animatable layers on the map.
  • Added map view delegate proxy support, which removes the need to set mapViewDelegate on AWFWeatherMap instances. You can instead set the delegate property on the native map view and delegate events will be proxied accordingly.

3.2.4

June 3, 2020

AerisWeatherKit

  • Added support for the API /conditions endpoint. See AWFConditions: /ios-sdk/api/AerisWeatherKit/Endpoints.html#/c:objc(cs)AWFConditions
  • Added missing min/max/avg properties on AWFForecastPeriod.
  • Added iceAccumulation, wind80m, visibility and solarRadiation properties on AWFForecastPeriod.

AerisMapKit

  • Added support for getting the default annotation view and/or overlay renderer from an AWFWeatherMap's strategy to use when implementing related map view delegates. See /examples/adding-custom-annotations/ and /examples/adding-custom-overlays/.

3.2.3

March 10, 2020

AerisMapKit

  • Updated supported Raster Maps layer constants.
  • Added improved support for adding Raster Maps layers to a weather map using the Raster Maps code string as an alternative to the built-in AWFMapLayer constants.
  • Removed extraneous console log output.

3.2.2

February 10, 2020

AerisMapKit

  • Improved Raster Maps tile requests and caching, which should reduce the total map units consumed when adding and removing layers at runtime.
  • Fixed issues where animation data request processes weren't being cancelled properly when stopping a loading animation.

CoreUI

  • Added public read-only access to underlying AWFGraphView elements for customization: calloutPositionLine, seriesContainerView, and loadingView.

3.2.1

December 5, 2019

  • Includes minor bug fixes and stability improvements.

AerisMapKit

  • Added improved support for customizing the layer options displayed in AWFMapOptionsViewController.
  • Added weather map configuration option to hide image loading progress while loading raster imagery for a tile/image animation.
  • Added weatherMap:didAddSource: and weatherMap:didRemoveSource: delegate methods to AWFWeatherMapDelegate.
  • Added weatherMap:didFailToPerformAnimationRequestForData: and weatherMap:didFailLoadingAnimationData: delegate methods on AWFWeatherMapDelegate to receive errors while requesting animation data for a specific layer.
  • Updated the weatherMap:didUpdateAnimationDataLoadingProgress:total: method on AWFWeatherMapDelegate to weatherMap:didUpdateAnimationDataLoadingProgress:total:error: to receive load-related errors.
  • Fixed issue with Raster Maps image request timestrings improperly formatted for some device locale settings.
  • Fixed NSLayoutConstraintNumberExceedsLimit error during point legend layout.
  • Fixed issue with timeline position control not properly repositioned on device rotation.

3.2.0

September 24, 2019

  • Added support for Mac Catalyst. Use the libraries under iOSMac for Mac Catalyst targets.

AerisMapKit

  • Added support for custom date/time formatter with AWFTimelineView. See setTextLabelFormatter:.
  • Fixed non-retina tile requests so that @1x tile imagery is scaled up to 512x512 when loaded as required by MKMapView.
  • Fixed issue where content would occasionally be clipped within the tropical cyclone callout content view.
  • Fixed issue where the active annotation callout would sometimes reappear on a different annotation after when new point data is loaded after changing the map bounds.
  • Improved the AWFMapLayerTropicalCyclones and AWFMapLayerTropicalBreakpoints layers so data for all systems is rendered on the map regardless of the visible map bounds.
  • Updated AWFWeatherMap to swap out animated layer content with static layer content when the animation is stopped.

3.1.7

July 19, 2019

AerisMapKit

  • Fixed issue where stormcell forecast cone polygons would render as black after animating.
  • Fixed issue where adding raster versions of point/shape AWFMapLayer types to AWFWeatherMap would result in a crash at times.
  • Improved handling of adding nil layer codes to AWFWeatherMap to prevent crashes.

3.1.6

July 11, 2019

AerisMapKit

  • Added tileOverlayAlpha property to AWFWeatherMapConfig to control the default alpha for tile layers on a map.
  • Fixed memory-related issues that would result in a crash in some instances.
  • Improved handling of passing string codes when adding layers to AWFWeatherMap to convert codes to the appropriate AWFMapLayer enum value.

3.1.5

June 6, 2019

AerisWeatherKit

  • Added uvIndex property to AWFForecastPeriod

AerisMapKit

  • Added showLegendView:animated: and showOptions public methods on AWFWeatherMapViewController to show legend and option views manually.
  • Added support for always showing past/future layers regardless of timeline's current position. See shouldAlwaysShowPastLayers and shouldAlwaysShowFutureLayers on AWFWeatherMapConfig.
  • Added resumeAnimation convenience method on AWFWeatherMap for resuming a paused animation from the current time position.
  • Fixed map animation always restarting from the beginning when calling start.
  • Updated AWFMapLayer types for Raster Maps-related raster layers to include recently released layers. See /maps/reference/versions/#2019.06
  • Post NSNotification when map tile requests fail (MapKit only). Observe using the AWFTileDidFailLoading name.
  • Fixed nullability on the config property for AWFWeatherMapViewController
  • Various minor bug fixes and improvements.

3.1.4

March 11, 2019

  • Added support for tvOS-specific binaries

AerisWeatherKit

  • Added midnightSun and polarNight properties to SunMoonPeriod
  • Removed AWFOutlookPhrases and AWFForecastPhrases endpoint service classes, replaced with single AWFPhrases class
  • Improved nullability for AWFStormReportSummary and AWFStormThreat classes

AerisMapKit

  • Added FA.W advisory VTEC code to AWFMapLayerWarnings data set
  • Added additional convenience methods for adding raster map layers via AWFAmpTileSourceProvider
  • Fixed map layer order not being set properly when adding weather layers during instantiation of AWFWeatherMap

3.1.3

January 31, 2019

  • Removed UIApplication references and all app-related API code to enable SDK usage within app extensions.

CoreUI

* Fixed a minor issue with parsing array-format key paths resulting in a crash.

3.1.2

November 15, 2018

AerisMapKit

  • Fixed crash related to unbalanced KVO observers on AWFTileSource after animating map layers

3.1.1

October 17, 2018

AerisMapKit

  • Fixed an issue where adjusting the alpha on a tile source instance once added to a map did not update the layer's opacity on the map without removing and re-adding the layer
  • Fixed memory leaks preventing AWFWeatherMap instances from being deallocated
  • Improved Swift interoperability with nullability and arrays

AerisMapboxMapKit

  • Added support for specifying a Mapbox style identifier to use with weather maps, see AWFWeatherMapConfig.mapboxStyleUrl

3.1.0

September 11, 2018

AerisWeatherKit

  • Added support for new tropical cyclones API endpoints (via AWFTropicalCyclones)

AerisMapKit

  • Added AWFMapLayerTropicalCyclones point data layer for active and archive tropical cyclones; single layer will render: current position, past and forecast tracks, forecast error cone (active systems only)
  • Added AWFMapLayerTropicalBreakpoints layer for displaying coastal advisory breakpoints associated with tropical cyclones
  • Added support for animating polygon/polyline content (required for animating tropical cyclone tracks)
  • Added support for new Raster Maps tropical cyclone raster layers
  • Added support for providing custom request options for point and shape map content sources via AWFWeatherMapDataSource
  • Added support for customizing callout title/subtitle text for point map content source layers using calloutFormatter on AWFAnnotationStyle instances
  • Added support for providing custom content views to be displayed in annotation callouts via AWFWeatherMapDataSource
  • Renamed AWFPointAnimation to AWFDataAnimation to support both point and shape layer content during animations
  • Improved style configuration for combined map sources using AWFCombinedRepresentableStyle
  • Fixed minor issues with point data animations and determining which data points are included per animation interval
  • Several minor bug fixes and improvements throughout framework

3.0.7

August 30, 2018

Core

  • Removed automatic NSCoding conformance for NSObject via class extension that was causing required initializer errors for NSObject subclasses in Swift

3.0.6

August 22, 2018

AerisMapKit

  • Added support for new tropical and geocolor satellite layer support via corresponding AWFMapLayer enum values
  • Fixed an issue where an unretained cached object reference would occasionally result in a crash on dealloc of AWFWeatherMap instances
  • Removed AWFMapLayerSatelliteGlobal layer, now included with AWFMapLayerSatellite

AerisMapboxMapKit

  • Fixed an issue with Raster Maps tile layers not rendering via MGLRasterTileSource
  • Added missing delegate methods for MGLMapViewDelegate proxy for the Mapbox mapping strategy

3.0.5

August 6, 2018

AerisMapKit

  • Added support for the new Raster Maps lightning strike icon and time period layers (AWFMapLayerLightningStrikes5Minute, AWFMapLayerLightningStrikes15Minute, AWFMapLayerLightningStrikes5MinuteIcons, AWFMapLayerLightningStrikes15MinuteIcons)
  • Fixed an issue with future layers were not added to map while Raster Maps metadata was still loading
  • Fixed several issues related to image animation loading and when the animation layer is hidden/displayed during the loading process

3.0.4

July 24, 2018

AerisWeatherKit

  • Fixed occasional crash when mapping place JSON to AWFPlace when loc is \[NSNull null\]
  • Updated AWFWeatherApiResponse to only log warnings to the console for API response warnings (e.g. error codes prefixed with warn\_) instead of returning an error

AerisMapKit

  • Added support for using the alternative Raster Maps raster layers that correspond to point/shape layers when supported by Raster Maps (e.g. AWFMapLayerAmpLightningStrikes instead of AWFMapLayerLightningStrikes)
  • Fixed issue where AWFWeatherMap was not removing itself from NSNotificationCenter observers on dealloc which would result in a crash at times
  • Fixed issue where failed point source data requests for animation data wasn't properly calling the animation:didFailLoadingWithError: delegate method
  • Fixed crashes as a result of adding nil objects to the animation data cache for tile sources
  • Fixed lightning annotation view styling for Apple Maps (MapKit) strategy

3.0.3

July 16, 2018

  • Removed API access keys from console output unless debugging is enabled

AerisWeatherKit

  • Updated default float properties for all AWFWeatherObject models to be NAN to better handle when nil values are returned by the API instead of being set to 0. Your code should now check if a value exists using isnan(prop).
  • Updated AWFObservationSummary, AWFStormReportSummary and AWFStormThreat to use instances of AWFRangeSummary when storing min/max/average values
  • Added support for searching places using an ICAO code AWFPlaces::searchUsingICAO:options:completion)
  • Improved the build-in places search, searchUsingNameStartingWith:options:completion: to better handle state and country abbreviations and full names when searching

AerisMapKit

  • Added support for controlling image quality for raster tile and animation imagery for Retina devices using shouldUseRetinaImagery on AWFWeatherMapConfig. Using a lower imagery quality will improve the speed and performance of loading raster tiles and animation frames where applicable.
  • Fix occasional crash in AWFLegendView when attempting to add a legend for a nil key
  • Fix occasional crash when adding storm cells point data on a weather map
  • Fix tile overlays not re-appearing on weather map on region change after stopping an animation

3.0.2

June 22, 2018

AerisWeatherKit

  • Fixed an issue with AWFWeatherEndpoint request options instance not being used for requests if specific request options is nil
  • Removed references to old NAM models in AWFForecastModelType (AWFForecastModelTypeNone, AWFForecastModelTypeNAM4K and AWFForecastModelTypeNAM12K)

AerisMapKit

  • Added support for changing index placement of existing AWFRasterMapLayer instances on a map
  • Added future pressure and future pressure isobars layer types (AWFMapLayerFutureSurfacePressure, AWFMapLayerFutureSurfacePressureIsobars)
  • Added support for preventing duplicate map layer types being added to the map
  • Fixed now/future marker positioning on AWFTimelineView
  • Fixed animation starting playback when map region changes even when animation isn't active
  • Fixed raster/tile overlays not using parent map source's alpha value when rendering overlay on map
  • Fixed several issues with automatically managing inserting and removing future Raster Maps layers
  • Fixed issue with forecast model changes not resetting previously loaded animation data
  • Fixed Raster Maps layer code for future precipitation (was

3.0.1

June 4, 2018

  • Fixed issues with bitcode support for all compiled frameworks

AerisMapKit

  • Added support for abbreviating longer words in legend labels as needed based on available width
  • Fixed issues related to updating weather map configuration properties after weather map instantiated not updating internal properties
  • Fixed several future precipitation AWFMapLayer types to correlate with available Aeris Maps layers
  • Fixed issues with weather map delegates and data sources not always being set to nil on weather map deallocation, causing crashes in some instances

AerisMapboxMapKit

  • Updated to support Mapbox SDK 4.0 which is now the minimum required SDK version for use with Mapbox

3.0.0

May 22, 2018

Major version release with many new features and improvements. For more information on migrating from 2.0, refer to our Migration Guide You can find the complete documentation for the changes and new features in 3.0 at https://www.xweather.com/docs/ios-sdk (opens in a new tab).

2.3.16

May 21, 2018

  • AerisMap - fixes compiler warnings/errors about missing headers in umbrella header for modules

2.3.15

December 29, 2017

  • AerisMap - add public property for accessing timeline view's progress activity indicator
  • AerisMap - add all missing Aeris Maps layer types

2.3.14

December 1, 2017

  • Aeris - added missing properties to AWFSunMoon for the /sunmoon endpoint

2.3.13

November 16, 2017

  • AerisMap - added support for custom date and time formatters on AWFTimelineView (timeFormatter, dateFormatter)
  • AerisMap - added more properties to control the styling of AWFTimelineBarView (barHeight, barStrokeColor, barStrokeWidth, progressBarFillColor, futureBarFillColor, etc)
  • AerisMap - fixed an issue where changing any fill or stroke properties on AWFTimelinePositionView were not updating the views

2.3.12

October 19, 2017

  • Aeris - adds support for new /rivers API endpoint AerisMap - adds support for all Raster Maps layers via AWFLayerType AerisMap - adds support for rivers point data layer
  • AerisMap - fixes layout issues with map timeline for iPhone X
  • AerisMap - fixes map overlay tile rendering issue on iOS 11
  • AerisMap - minor stability improvements

2.3.11

July 13, 2017

  • AerisMap - fixes an issue where storm cell cones/arrows overlay would not render properly for consecutive instances of AWFWeatherMap after one is instantiated
  • AerisMap - adds support for reloading API account metadata as needed if data wasn't loaded during AerisEngine setup due to loss of network connectivity

2.3.10

June 22, 2017

  • AerisMap - fixes an issue with path arrows/cones overlays for storm cells layer not always rendering
  • AerisMap - fixes an issue where storm cells overlays not always removed when disabling the parent layer
  • AerisMap - updates radar legend with latest Raster Maps color ramp Demo - improves location search query

2.3.9

March 6, 2017

  • AerisMap - fix bug with annotation style's shouldAnimate not being obeyed

2.3.8

October 20, 2016

  • AerisMap - fix issue with map annotations not always being removed when refreshing map data
  • AerisMap - improve data refreshing processes to prevent multiple requests for same data at same time

2.3.7

October 10, 2016

  • AerisMap - fix issue with Raster Maps layers not refreshing via refreshLayerType:

2.3.6

August 2, 2016

  • AerisMap - fix issue with future-only overlays not being added to map AerisMap - improve file organization and Apple-specific class names AerisMap - update permissions to support Raster Maps layers AerisUI - fix nil images being returned from framework due to incorrect bundle

2.3.5

July 1, 2016

  • add failed url string to log message fix high temp label width on daily summary view fix timeline progress bar not resizing on device rotation

2.3.4

June 15, 2016

  • FIX: duplicate text labels being added to styled views

2.3.3

May 18, 2016

  • FIX: set weather map delegates to nil on dealloc to prevent crashes when deallocating AWFWeatherMapViewController FIX: improved @2x Raster Maps overlay support for map tiles on retina devices

2.3.2

May 2, 2016

  • FIX: Minor updates to Cocoapods podspec dependencies

2.3.1

April 28, 2016

  • FIX: map gestures not enabled based on map config property changes FIX: properly stop/reset map animation when parent app goes into background FIX: tile overlays not updating on refreshAllLayerTypes

2.3.0

April 21, 2016

  • ADD: date format constants for time parts with zero padding ADD: future snow legend style
  • ADD: basic support for text data layers
  • ADD: method to check if future layer type belongs to forecast model
  • ADD: missing associated layers per model types
  • ADD: show animation frames as they're progressively loading
  • ADD: snow depth legend style
  • ADD: support for cancelling all tile requests
  • ADD: support for precip/estimate endpoint
  • ADD: support for setting legend styles for weather data type groups
  • ADD: support for snow depth global layer
  • ADD: support for text annotations in GoogleMaps
  • ADD: support for winter/snowdepth endpoint
  • FIX: animation timestamps not being converted to proper time zones
  • FIX: bug with deselecting and removing text data layers, updating after changing formatter
  • FIX: delegate not being assigned when setting mapView property on map strategy after init
  • FIX: earthquake annotation animation not repeating
  • FIX: graph series not referencing proper model class per data type
  • FIX: issue converting date to date string in request options
  • FIX: legend views not redrawing on frame changes
  • FIX: point indicator position wrong while dragging timeline
  • FIX: still set API response data if there was a warning returned
  • FIX: updated temp legend color scale
  • FIX: various image animation fixes and improvements
  • MOD: cancel tile requests when reloading/invalidating tile data
  • MOD: support for new Raster Maps tile layers, combined weather tile layers
  • MOD: only show animation load progress based on timeline position
  • MOD: output error/warning to console if exists for response
  • MOD: re-add animation container annotation as needed
  • MOD: updated to support AFNetworking 3.0
  • MOD: updating supported layer types and codes per latest Raster Maps changes
  • REM: iOS < 7.0 tile layer/overlay view support
  • DEMO: forecast model wind graph not rendering
  • DEMO: precip summary not rendering

2.2.2

December 16, 2015

  • FIX: proper ObjC and Swift module support for better compatibility with Xcode 7.1+ and CocoaPods

2.2.1

November 24, 2015

  • Added CocoaPods support for integrating with projects

2.2.0

November 12, 2015

ADD: All - support for localization throughout framework

ADD: Aeris - AWFMeasurementType, convenience methods for getting unit values

ADD: Aeris - convective outlook data layer type for map

ADD: Aeris - convenience field constants for countries endpoint

ADD: Aeris - convenience filter and field constants for drought endpoint

ADD: Aeris - convenience method to generate geo polygons from geojson dictionary

ADD: Aeris - data type constants for indices requests

ADD: Aeris - drought index polygon map layer support

ADD: Aeris - fire outlook polygon map data layer support

ADD: Aeris - missing weather data types

ADD: Aeris - new outdoor index type

ADD: Aeris - NSString crypto category methods

ADD: Aeris - string constants for supported endpoint filters and fields

ADD: Aeris - support for cat property on storm reports

ADD: Aeris - support for fire filter on storm reports

ADD: Aeris - support for affects action, more unit tests for new loaders

ADD: Aeris - support for convective/outlook endpoint

ADD: Aeris - support for droughts/monitor endpoint

ADD: Aeris - support for fires/outlook endpoint

ADD: Aeris - support for geo polygons on storm cell summary data

ADD: Aeris - support for geo polygons on storm report summary data

ADD: Aeris - support for geojson output from api

ADD: Aeris - support for new contains endpoint action

ADD: Aeris - support for NSCoding on AWFGeoPolygon

ADD: Aeris - support for stormcells/summary endpoint

ADD: Aeris - support for stormreports/summary endpoint

ADD: AerisUI - support for callout accessory views and tap event handlers

ADD: AerisUI - support for recalculating/resizing an existing callout's frame

ADD: AerisMap - notifications for weather map animation status changes

ADD: AerisMap - public access property for mapview strategy's internal calloutView instance

ADD: AerisMap - support for crossfading between image animation intervals

ADD: AerisMap - support for footer text in table section instances

ADD: AerisMap - support for map polygons with interior holes

FIX: All - full bitcode support for Debug and Release builds

FIX: Aeris - location manager auth requests for iOS 8+

FIX: AerisUI - align left edge of horizontal graph axis view with left edge of series container view

FIX: AerisUI - cancel series network request when resetting graph, don't render series if no points

FIX: AerisUI - custom callout handling improvements, support for accessory views

FIX: AerisUI - custom callout layout improvements to match native iOS callout

FIX: AerisUI - graph bar renderer not resetting when re-rendering, causing bar offset

FIX: AerisUI - graph rendering performance and no data issues

FIX: AerisUI - graph series renderer views not being removed when resetting graph

FIX: AerisUI - graph time axis date/timezone fixes

FIX: AerisUI - graph time axis ticks not laying out properly for intervals less than 1 day

FIX: AerisUI - timezone issues with graph time axis ticks, date formatter issues for callout and ticks

FIX: AerisMap - add catch in raster tile renderer for invalid image data

FIX: AerisMap - don't defer weather map option updates on iPad

FIX: AerisMap - ensure overlay renderer isn't deallocated before calling setNeedsDisplay

FIX: AerisMap - hires satellite overlay using wrong product code

FIX: AerisMap - issue with map layers not being added when selecting options

FIX: AerisMap - legend view and toggle button not resizing to parent view width

FIX: AerisMap - map animation doesn't start playing if one layer doesn't have data

FIX: AerisMap - map options controller setting start date equal to end date, improved logging

FIX: AerisMap - polygon callout improperly being dismissed after appearing

MOD: Aeris - renamed AWFCache to AWFURLCache to avoid conflict with AerisCore

MOD: Aeris - throw exception if access keys not configured before requesting data

MOD: AerisUI - custom callout improvements and layout fixes

MOD: AerisUI - don't include callout accessory views in margin calculations when hidden

MOD: AerisMap - adjust to use https for tile urls as required for iOS 9

MOD: AerisMap - disable pixel shift check for map strategy region change notifications

MOD: AerisMap - remove cached objects on memory warnings

MOD: AerisMap - removing Current from surface map layer types

MOD: AerisMap - removing cached map objects on memory warnings

DEMO: added drought monitor controller

DEMO: added sample threats view

DEMO: added simple convective outlook data view

2.1.1

August 28, 2015

  • ADD: additional forecast model types
  • ADD: convenience method for getting advisory names by VTEC code
  • ADD: method to return the API property key mapped to a specific AWFObject model property
  • ADD: support for ignoring zero values on a graph series item
  • ADD: support for moving a presented callout to new position
  • ADD: support for graph series modifiers
  • ADD: support for setting global options for graph series requests
  • ADD: convenience unit converter functions
  • ADD: Xcode 7/iOS 9 bitcode support
  • FIX: graph bars extending below bottom of series bounds
  • FIX: batch request url strings not being encoded
  • FIX: catch to make sure decoded overlay animation image is not nil
  • FIX: from/to date improvements for request options
  • FIX: from/to date option comparison fixes
  • FIX: graph axis tick improvements
  • FIX: graph series and axis views not resizing with graph view properly
  • FIX: graph series not adjusting based on configured interval
  • FIX: prevent duplicate field names in graph series object loader requests
  • FIX: graph series container view origin not obeying insets
  • FIX: use lat/lon before name for search query string
  • FIX: various graph rendering bug fixes
  • MOD: changed request option from/to interval check to 1 hour
  • MOD: map overlay renderer improvements

2.1.0

July 6, 2015

ADD: custom tile renderer to fix iOS 7/8 image warnings

ADD: support for defining the text and tick styles for axis views

FIX: crash caused by trying to map to invalid AWFPlace property

FIX: prevent a domain of 0 on x or y axis (causing crashes when rendering)

MOD: move Mapbox support to separate framework, support MBXMapKit via Cocoapods

NOTE

If you are using Mapbox with the Aeris iOS SDK, this version contains a breaking change that will require updates to your project, specifically MBXMapKit must be installed separately and is no longer part of AerisMap.framework. Review the updated Mapbox support documentation for updating your project for using MBXMapKit in your project.

2.0.3

June 30, 2015

  • ADD: convenience method [AWFDataLayer isLayerType:includedInCombinedLayerType:] for checking if combined layer type contains a specific layer type
  • ADD: convenience methods for overriding map config styles on AWFWeatherMapConfig
  • ADD: MKMapView method awf_coordinateByOffsettingCenterCoordinate:offset:zoomLevel: to calculate a coordinate offset without using current map state
  • ADD: methods to set and get sections for specific map options
  • ADD: set intrinsic content size for auto layout support on AWFWeatherMapLegendView
  • ADD: support for newer iOS platforms in device checks
  • ADD: support for secure API requests using [AerisEngine secureEngineWithKey:secret:]
  • FIX: map annotations not always being removed when refreshing layer data
  • FIX: storm cell cone overlays not re-rendering after last changes
  • FIX: corrected class prefixes on AWFVenuesLoader and AWFVenue
  • FIX: enums should be typedef for AWFUserTrackingMode, AWFLocationAccuracy and AFVenueType, causing duplicate symbol errors
  • FIX: improvements to removal of annotations/overlays when reloading layer data
  • FIX: invalid coord checking in AWFCoordinate2DIsValidNonZero()
  • FIX: issue with checking if map contains a data layer
  • FIX: map crashing if overlay.annotations is nil when reloading data
  • FIX: map only contains layer type if index >= 0
  • FIX: only validate delegate if not nil
  • FIX: polygons not being removed when data reloaded
  • FIX: tap gestures on annotations when on top of polygons, custom annotation view order fixes
  • MOD: helper methods for creating option sections in AWFMapOptionsViewController
  • MOD: improved checks against active map legend types
  • MOD: reduce point data limit for older devices
  • MOD: refactor of AWFMapOptionsViewController to allow for easier customization
  • MOD: style adjustments to storm cell annotations

2.0.2

March 23, 2015

  • ADD: method for searching within a circle on AWFGeographicObject
  • ADD: support for changing the constrained view for graph callout on AWFGraphView
  • FIX: crash when nil or empty polygon overlay instance on AWFGeographicObject
  • FIX: date string length catch to prevent crashes during JSON date parsing
  • FIX: verify image is not nil before adding to dictionary for data layer animations

2.0.1

February 18, 2015

  • FIX: crash when initializing AWFMapOptionsViewController

2.0.0

January 15, 2015

Complete rewrite and modernization of the SDK.

For more information on migrating from 1.0, refer to our Migration Guide at /getting-started/2.0-migration/.

You can find the complete documentation for the changes and new features in 2.0 at /.

1.1.86

October 7, 2014

  • FIX: longitude values were being passed in wrong order to api for map data requests

1.1.85

September 9, 2014

  • FIX: AFObservation using deprecated API property for wind speed, resulting in nil values

1.1.84

August 7, 2014

  • FIX: crash due to setting wrong property keys on AFTideStation

1.1.83

April 23, 2014

  • MOD: Updated framework builds to include 64-bit architecture

1.1.82

September 3, 2013

  • ADD: support for crossfading between intervals in overlay animation, can give smoother animation depending on delay/hold time interval (re: AerisMapConfig.plist for setting)
  • ADD: support for resuming overlay animation when a call to refresh overlays is made
  • FIX: optimized tile overlay and animations to reduce memory warnings, especially on iPad
  • FIX: random memory-related crashes for tile overlays when panning/zooming parent map
  • FIX: issue with previously cached overlay not being added back onto map after initial show/hide
  • FIX: occasional crashes when stepping animation while animation data is loading after map pan/zoom
  • FIX: precip records not appearing for climate records point data overlay due to wrong annotation image reference

1.1.81

July 26, 2013

  • ADD: additional AFWeatherMapDelegate methods for better custom callout view handling
  • FIX: memory improvements for image/tile overlays (fixes memory issues in 1.1.7 and 1.1.8)
  • FIX: several improvements to overlay tile request performance and cache handling so tiles are loaded from cache instead of new requests
  • FIX: issue where successful API responses with warnings were being delegated as failed responses
  • FIX: disabled user interaction on animation control view's page control to prevent proper button events from triggering

1.1.8

June 26, 2013

  • ADD: AFAnimationControlView to map framework and on AFWeatherMap by default
  • ADD: additional methods and delegate methods on AFWeatherMap for more easily accessing Aeris-specific overlays internally on the map
  • ADD: support for accessing and controlling animation frames for overlays
  • ADD: support for custom point data annotation image in map config file
  • ADD: support for overriding the default cache storage policy for image/tile overlays
  • FIX: bug with API responses with errors being delegated as successful instead of failed
  • FIX: bug with animation being disabled when switching image overlay types
  • FIX: bug with polygon overlays being duplicated in some instances when app returns from the background
  • FIX: stopping an animation while loading breaks the map control
  • MOD: added debug logging to overlay refreshing methods in overlay manager
  • MOD: improvements to mapView and containerView setup in weather map
  • MOD: updated AFObjectLoaderProtocol to make didFailWithError an optional delegate method

1.1.7

June 7, 2013

  • ADD: convenience method for creating a AFPlace object for a coordinate
  • ADD: convenience method for searching within bounding box
  • ADD: integration of SMCalloutView code for better custom callout views
  • ADD: new remote callout view for handling visual display of remote data for custom callouts
  • ADD: snow depth properties in observation objects
  • ADD: support for re-adding existing overlays back onto map after animation stops
  • ADD: support for showing flash flood warning polygons on map overlay
  • FIX: better handle redirected requests for tile images
  • FIX: crashes with tile overlay view from clearing out reference dictionary when request queue completes but drawing tiles has not
  • FIX: custom colors for storm cell polygon types
  • FIX: drawing bug fixes on circular progress element
  • FIX: improvements to map view resizing and container view hierarchy
  • FIX: interactive map container and legend positioning bugs
  • FIX: issue with overlay animations using wrong zoom level, giving fuzzy quality
  • FIX: issue with weatherMapDidStopAnimating delegate method being called even when map overlay is not animating (causing recursion for users)
  • FIX: overlay manager not being assigned proper map view and weather map instance when the managed map view changes
  • FIX: positioning issue for loading indicator in callout view
  • MOD: added version and user debug output when in debug mode
  • MOD: adjusted requests in tile view overlay to prevent memory leaks
  • MOD: converted observation callout on interactive map to new callout code
  • MOD: support for hiding map controls (in favor of custom view)
  • MOD: updated source url for overlay tile metadata json file
  • MOD: additional code docs for added delegate methods
  • MOD: moved overlay tile core classes to public headers so can be used outside of framework for custom overlays

1.1.6

December 10, 2012

  • ADD: support for getting the wind speed range for a forecast period (rounded to the nearest min and max interval of 5)
  • FIX: bug with wrong values being used for ForecastPeriod.windSpeedRange strings
  • FIX: ForecastPeriod.windSpeedRange sometimes outputting negative wind speed values
  • FIX: more fixes for animation rotation handling
  • FIX: issue with animation snap-back when closing progress view
  • FIX: interactive map legend not remaining anchored to bottom of map view on device rotation
  • FIX: animated overlay not resetting properly on device rotation
  • MOD: improved handling of account settings when AerisEngine is initialized with proper keys, app can register with NotificationCenter to wait for permissions to load if not available at app launch

1.1.5

October 26, 2012

  • ADD: method for getting title of maps based on their map codes/enumerated values
  • ADD: new AFWeatherMapDelegate methods for point/polygon overlay data request success and failure
  • ADD: slider controls in map options menu for overlay opacity and animation speed
  • ADD: support for additional static weather maps
  • ADD: support for defining custom options for interactive map point data in AerisMapConfig.plist
  • ADD: support for dynamically adjusting animation speed at runtime using AFWeatherMap.animationSpeed
  • ADD: support for dynamically adjusting overlay opacity at runtime using AFWeatherMap.overlayAlpha
  • ADD: support for using user's AerisGraphics key when requesting static weather maps (uses custom branding if implemented)
  • FIX: crash with point/polygon overlay data loader delegate not being cleared, causing occasional crashes if certain interactions were performed
  • FIX: issue with blurry animations at certain zoom levels
  • FIX: memory leak with nexrad overlays and static map options
  • FIX: minor remaining bugs with the cropped image overlay views
  • MOD: added missing OptionsString properties for all point/polygon data overlays
  • MOD: changed “defaultAlpha” property on AFImageOverlay/AFTileOverlay to “alpha”
  • MOD: improved caching of tile and image overlay data
  • MOD: improved methods for requesting static weather maps
  • MOD: updated AerisMapConfig.plist to use a single overlay alpha value for all overlays, removed support for defining a separate alpha for individual overlays
  • DEMO: updated static map viewer to use new AFImage methods and properties

1.1.4

September 17, 2012

  • ADD: missing MKMapViewDelegate methods through AFWeatherMapDelegate (mainly for overlay views)
  • ADD: recent and nearby obs weather views in AerisUI framework
  • ADD: support for defining custom path for wxicons used in map annotation callouts
  • ADD: support for obs/recent and obs/archive endpoints
  • FIX: MKMapViewDelegate mapView:annotationView:didChangeDragState:fromOldState: not being fired in AFWeatherMapDelegate instances
  • FIX: cached files not being deleted from app bundle, switched download cache to use session instead of permanent caching
  • FIX: loading animation not appearing when selecting a different location on map annotation
  • FIX: map options selections not staying selected when scrolling the table view, fixed the issue and cleaned up this functionality
  • FIX: object loader background process sometimes causing crashes if instance is deallocated before background process completes
  • FIX: place search string not being created properly is only city and state/country are provided
  • FIX: removes success:false responses from internal cache if invalid data
  • FIX: special characters being encoded twice through AFURL causing the wrong url string to be passed with the api request
  • FIX: weatherMapDidStopAnimating called even when not animating
  • FIX: wrong urls for static maps in AFImageLoader
  • MOD: increased cache time for internal permissions to reduce remote API requests
  • DEMO: fixed issue with city,country searches not returning any results from api

1.1.3

July 13, 2012

  • ADD: missing MKMapViewDelegate methods through to AFWeatherMapDelegate
  • ADD: missing icon for rotating storm cell
  • ADD: missing sst and chlorophyll legends
  • ADD: new AFOverlayType enumeration, all overlay types merged into this single enum
  • ADD: new general image overlay type to support upcoming overlays
  • ADD: initial support for NIDs within framework
  • FIX: added missing wind gust property mappings
  • FIX: auto adjusts position of Google logo based on legend height on interactive map
  • FIX: circular annotation for long-press gesture not always clearing previous circle path
  • FIX: configurable setting for callout not working for record annotations
  • FIX: crash if no timestamps are returned for an overlay; now will just output an error message to the console and not add overlay to the map
  • FIX: crash when enumerating through point data overlays when adding to map
  • FIX: crash when switching between NID locations
  • FIX: issue with NIDs overlays not animating or setting title properly
  • FIX: legend background not appearing all the time when legends are adjusted
  • FIX: memory leak with animated tile overlays
  • FIX: name and date issues with NIDs overlays
  • FIX: not all point data annotations/overlays were being removed from the map; added new delegate method to handle removing old overlays
  • FIX: polygon overlays not being removed when animations start
  • FIX: some MKMapViewDelegate selectors not being sent through AFWeatherMapDelegate
  • FIX: various minor bugs after overlay manager refactor
  • FIX: wildfire names displaying “(null)” in annotation callout if name is not set
  • MOD: adjusted tile animation url paths
  • MOD: adjustments for new NIDs animation method
  • MOD: fixed minor issues with annotation identifiers if no proper code found for an object
  • MOD: improved performance of options menu by removing multiple calls to overlay manager for active overlay check
  • MOD: improved performance of processing large data sets (specifically for interactive map point data) by implementing background threads and internal autorelease pools for better memory handling
  • MOD: improved performance of storm cell cones by combining into a single polyline/polygon overlay
  • MOD: made custom annotation view base classes public so external projects can subclass
  • MOD: refactored code for core overlay manager
  • MOD: updated tile urls to point to new tile server setup
  • DEMO: updated to use new AFOverlayType enum values

1.1.2

May 22, 2012

  • ADD: additional UIColor utilities for dealing with hex strings
  • ADD: support for customizing warning polygons using core map config plist
  • FIX: crash when returning to map if polygon warnings are active
  • MOD: improved performance of storm cell annotations when accessing custom config options
  • DEMO: auto-updating iPad weather data for main full weather view when app becomes active

1.1.1

May 17, 2012

  • ADD: UIColor category for converting hex strings to UIColor instances
  • ADD: additional map config options
  • ADD: affect action support to earthquakes loader
  • ADD: affects support to storm cells loader
  • ADD: delegate methods for AFWeatherMap when overlays are added and removed by overlay manager
  • ADD: polygon-based warning overlays
  • ADD: initial support for polygon overlays
  • ADD: missing records and earthquakes legend
  • ADD: multi polyline/polygon classes to better handle merging multiple polyline/polygons into a single view to improve performance
  • ADD: new polygon warnings legend
  • ADD: support for controlling which storm cell types the forecast lines and cones are plotted and their respective colors
  • ADD: support for displaying storm cell forecast cones only when cell annotation is selected (as defined in AerisMapConfig.plist)
  • ADD: support for vertical line views
  • FIX: defined bounds on forecast cone annotation to prevent re-drawing entire screen view
  • FIX: issues with certain object loaders that would cause a crash if no endpoint defined for certain methods
  • FIX: issues with interactive map options menu and new polygon overlay types
  • FIX: minor memory leak in AFAdvisory
  • FIX: specific model class not being stored through the request for parsing
  • MOD: adjusted expiration times on AFPlacesLoader
  • MOD: adjusted overlay manager to use AFMultiPolyline for the storm cell forecast lines
  • MOD: moved loading and reset controls into AFFlexibleCalloutAnnotation to be inherited by subclasses
  • MOD: updated existing legends to match style of new ones
  • MOD: updated reset stuff with flexible annotations
  • MOD: updated storm cell annotation to use modified config key for markers based on type
  • DEMO: updated location search for zip code for better results

1.1.0

April 30, 2012

  • ADD: ability to pass a different model class to object loader when requesting data (used for normals/tides stations currently)
  • ADD: animations for various control elements
  • ADD: configurable settings for map legend and long-press action
  • ADD: delegate handlers for disabling animation controls for overlays that don't support it
  • ADD: displaying overlay name in control view
  • ADD: earthquake marker assets
  • ADD: earthquakes and records point data overlays
  • ADD: icons for earthquake categories
  • ADD: initial support for storm cell forecast annotation callout view
  • ADD: map config settings for controlling what is displayed on map control view
  • ADD: map controls view, moved all animation buttons and progress views into
  • ADD: missing “type” property
  • ADD: missing API parameter constants
  • ADD: new icons for records reports
  • ADD: new object loaders and model classes
  • ADD: normals models and object loaders
  • ADD: permissions loader objects
  • ADD: pie progress view for animation loading
  • ADD: property mapping for AFSunMoon relationships
  • ADD: schema/property validation in unit testing
  • ADD: singleton map settings class for user-defined options
  • ADD: sst and chlorophyll tile overlays
  • ADD: support for map customizations (marker images, legends, animation speed, map button graphics, overlay alpha)
  • ADD: support for search action in object loader
  • ADD: support for sunmoon/moonphases endpoint
  • ADD: tides models and object loaders
  • ADD: timezone property to AFTidePeriod
  • ADD: unit testing for new models
  • FIX: added autoresizing mask settings to weather map view instance
  • FIX: added catch to return nil for setting value if no settings file found
  • FIX: animated overlay timestamp not being reset to most recent when stopping animation and switching to static view
  • FIX: animation flag not being set properly when switching tile overlays
  • FIX: bug where map control background view would not be resized properly when leaving map view controller then returning back to it
  • FIX: bug where overlays were not re-added to the map view when resuming to interactive map controller
  • FIX: bug with animation thinking it's been loaded after previous load was cancelled, thus starting the animation without having all images
  • FIX: catch to lock lat/lon to real-world bounds to prevent api request errors
  • FIX: cleaned up map control view resizing animation issues
  • FIX: crash if circular/point annotations didn't exist when trying to remove from map
  • FIX: crash in overlay animation when trying to add nil image into dictionary store
  • FIX: crash when calling advance on AFOverlayAnimation and no images were successfully loaded during last queue process
  • FIX: crash when rotating ipad in StaticMapViewControllerHD
  • FIX: crash when starting overlay animation due to trying to remove _pointAnnotation before it was created
  • FIX: crash when totalIntervals is greater than available timestamps in AFOverlayAnimation
  • FIX: custom observation callout not showing loading view while data is loading
  • FIX: final working version of custom annotation callout view
  • FIX: initial instance of circular annotation was not animating
  • FIX: issue where overlay animation loading was not cancelled properly when stopAnimatingOverlays was called from manager
  • FIX: issue with animation view not being removed when zooming map using double-tap gesture
  • FIX: issue with current timestamp for overlay not always being displayed in control view
  • FIX: issue with legends display not using map config settings
  • FIX: issue with map auto-panning back to custom callout location when deselecting (caused by didMoveToSuperview being called when removed)
  • FIX: limit was being overridden in object loader request
  • FIX: major bug with timers getting whacked out when starting animation loading, then canceling, then starting again
  • FIX: map animation container frame not updating properly on interface orientation changes
  • FIX: map animations not stopping before map region changes
  • FIX: map legend not centered based on map when interface orientation changed
  • FIX: memory leak in AFOverlayAnimation where core UIImageView was not being released before creating a new instance
  • FIX: memory leak with map control base path
  • FIX: missing alert.png icon for ipad advisories view
  • FIX: overlay name/timestamp labels were being removed when turning on a point data overlay, had to add check against type of overlay added
  • FIX: overlay options not properly being selected in options menu
  • FIX: permissions not properly being returned
  • FIX: positioning and drawing issues in custom callout view class
  • FIX: positioning issue with overlay timestamp
  • FIX: wrong property mapping for AFTidePeriod
  • FIX: wrong property mapping on AFRecord
  • MOD: added better sorting to storm cell query to plot more severe cells on top
  • MOD: added circular annotation view for long press gesture for currents
  • MOD: adjusted circular annotation gesture settings for better handling of slight gesture changes
  • MOD: adjusted map control view elements based on device, scaled down for iPhone
  • MOD: adjusted map options menu to be populated based on what user has access to
  • MOD: adjusted positioning of labels on AFStormCellsTableViewCell
  • MOD: adjusted progress view in/out animation
  • MOD: adjusted so storm cells only plot cones if not general cell
  • MOD: adjusted storm cell forecast polyline to go from current position to last forecast position instead of each individual period
  • MOD: adjusted to use timer-based animation instead of UIViewImage
  • MOD: final adjustments and bug fixes for long press obs feature
  • MOD: in/out animation for animation progress view depending on status of weather map animations
  • MOD: moved AFSun and AFMoon properties into core AFSunMoon class, removed separate classes as not needed
  • MOD: moved outside of core .bundle for easier editing
  • MOD: remove point data and point annotation when an animation starts, stop animation when point data is added to map
  • MOD: renamed custom callout annotation views to include “callout” for better differentiation
  • MOD: replaced parameter strings with constants from AFGlobals
  • MOD: set sort params for storm cell and reports point data
  • MOD: updated AFOverlayManager to better singleton pattern
  • MOD: updated to use UILongPressGestureRecognizer for tap and hold feature
  • DEMO: added detail view for record report
  • DEMO: added earthquakes and normals sample listings
  • DEMO: added missing weather icons
  • DEMO: added moon phases sample view, adjusted category menus for new sample views
  • DEMO: added sample listing view for nearby tides
  • DEMO: added sample sun/moon view
  • DEMO: fixed compiler warnings
  • DEMO: records listing and detail views
  • DEMO: removed call to initializeMap from viewDidAppear which was always reverting to radar overlay regardless of which option was selected from menu (iPhone)
  • DEMO: resolved compiler warnings
  • DEMO: updated so detail and forecast views update their data when app resumes from background

1.0.4

April 2, 2012

  • ADD: NSString category method to format cardinal strings to all uppercase
  • ADD: pop-in animation for storm report annotations
  • ADD: support for new hailIN/hailMM for storm reports, added to demo app views
  • MOD: AFTileOverlayView now cancels all queued requests when map region changes (prevents unnecessary requests in background…slowing the rendering of visible tiles)
  • MOD: cleaned up storm report annotation/view output
  • MOD: removed detail value for storm wind damage reports
  • FIX: “-0” issue for temps, caused by using floats instead of integers
  • FIX: additional fuzzyString method on NSDate to adjust passed timezone to nearest hour for proper day string formatting based on API response
  • FIX: bug where radar and satellite overlays were not always inserted on top of overlay stack
  • FIX: bug where radar overlay was not always reappearing when returning to map view
  • FIX: bug with map overlays not fetching latest timestamps when data expires (prevented radar tiles from updating)
  • FIX: data formatting for storm report annotation view overlays
  • FIX: issue with alert.png icon not appearing in AFObservationAdvisoriesView
  • FIX: minor improvements to tile overlay views, added checks to prevent same tile from being added to queue more than once

1.0.3

February 2, 2012

  • ADD: additional support for setting a default timezone for static NSDateFormatter and NSCalendar instances in NSDate category methods
  • ADD: some additional logging when [AerisEngine enableDebug] is true
  • MOD: added time zone property to AFObservation, AFStormReport and deprecated validTime properties on models
  • MOD: changed NSString and NSArray property declarations from “retain” to “copy”
  • MOD: updated properties on AFFire to reflect latest changes in api
  • FIX: forecast date issue where the actual timezone for the location was not being used (just device's timezone was)
  • FIX: memory leak of overlay instances within AFOverlayAnimation not being released property, nor object itself
  • FIX: additional fuzzyString method on NSDate to adjust passed timezone to nearest hour for proper day string formatting based on API response

1.0.2

January 12, 2012

  • ADD: missing model properties on AFStormCell, AFObservation, AFPlace, AFAdvisory
  • ADD: support for specifying an API version for all requests in AerisEngine
  • ADD: missing snow/blizzard icons in AerisUI.bundle
  • ADD: custom AFScrollView class that extends UIScrollView for custom implementation eventually
  • MOD: updated AFForecastDetailView to allow switching “Precip” label to “Snow” if setting snow property
  • FIX: issue with some AFPlace properties not being retained properly
  • FIX: ForecastPeriod storing wrong value for minTempC, gives 0 for all instances

1.0.1

December 1, 2011

  • ADD: new properties in models (AFObservation, AFForecast) to match those added in the API
  • ADD: end-user debugging for API requests; to enable, call [AerisEngine enableDebug] after initializing AerisEngine with your consumer key and secret
  • MOD: better handling when requesting objects with invalid AFPlace instances, will not fail before attempting to request from the API
  • MOD: updated AFPlace so that if a state is not provided for all US locations, the framework will see it as invalid and force object requests with that place to fail
  • FIX: resolved crash that was occurring for some users when interacting with an AFWeatherMap instance due to use of objective-c blocks

1.0 October 21, 2011

Initial release

See full version history