Version History
1.1.6Released Dec 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.5Released Oct 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.4Released Sep 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.3Released Jul 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.2Released 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.1Released 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.0Released Apr 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.4Released Apr 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.3Released Feb 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.2Released Jan 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.1Released Dec 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.0Released Oct 21, 2011