iOS SDK Release Notes
The iOS SDK release notes describe recent improvements, fixes, and new features for the Meridian iOS SDK which can be used to create new iOS Meridian-powered apps or incorporate Meridian functionality in existing iOS apps.
June 28, 2018 - 4.5.0
- New: "Desk" and "Device Charging" placemark types.
- New: Use
showsWatermarkto toggle the visibility of Aruba branding on your maps.
- Improved: Better map label design.
- Improved: When routing, more graceful handling of lost connectivity.
- Improved: Several UI improvements related to modals.
- Fixed: An issue with
MRMapViewControllerand placemark keys.
- Various minor improvements and fixes.
May 30, 2018 - 4.4.0
MRMapViewnow shows the
longPressMapblock so that iOS can use this gesture on a map if you decide to do so.
- New: Better documentation of
- New: Compass orientation alert threshold is configurable between 45 and 135 degrees.
- New: On iOS 11+, support for upload progress indicator.
- Improved: Docs cleanup.
- Improved: If directions mention singular feet or meters, the SDK uses the correct singular terms too.
- Improved: Increased left padding on Tag callouts to improve aesthetics and readability.
- Improved: More efficient processing of location sharing updates.
- Improved: Removed
MRPlacemarkViewControllerbecause it wasn't being used.
- Improved: When triggering a mapless campaign, iOS now clocks the correct Beacon minor value. This makes it easier to reuse Beacons for other campaigns.
MRMapViewControllerwasn't respecting custom nav bar titles after routing.
- Fixed: An issue related to annotation callouts.
- Fixed: An issue with
requestedDirectionsToPlacemarkfailing upon repeat use.
- Fixed: If a device setting didn't allow use of location, direction requests weren't prompting for a starting location as it should.
- Fixed: Location sharing icons were flickering on the map.
- Fixed: The compass reorient message was getting stuck even after the compass was realigned to the direction line.
- Fixed: There was a crash when someone used location sharing to get directions to a non-location sharing user.
- Various minor improvements and bug fixes.
April 27, 2018 - 4.3.1
- Fixed: Some label text was briefly, and incorrectly, italicized.
April 27, 2018 - 4.3.0
- Improved: Minor UI update to the level picker search bar.
- Improved: Minor update to bring iOS slightly more inline with Android.
- Improved: Minor visual update to map buttons.
- Improved: The "Route not Found" message can be disabled.
- Improved: The compass re-orientation banner message can be disabled.
- Fixed: On iPads, the level picker wasn't showing the user's current level.
April 3, 2018 - 4.2.0
- Improved: New and improved placemark icon and label style.
- Improved: The app will retry failed requests to the Editor, instead of giving up the first time.
- Improved: We've increased the height of all our buttons to increase legibility and tappability.
- Fixed: If you weren't using
MRMapViewController, directions wouldn't work. If you want to use
MRMapViewinstead, now you can.
- Fixed: Tapping the blue dot would make the app crash.
- Fixed: The app would crash when canceling a route started from an Event page.
- Fixed: The bottom sheet was making room for images that weren't there.
- Fixed: There was some missing left padding on the blue dot callout text.
February 28, 2018 - 4.1.0
- New: The iOS SDK no longer supports iOS 8. The deprecation warnings have been updated to reflect this.
- Improved: Ensuring we comply with iOS 11 requirements in order to prompt for Location Permissions.
- Improved: Routing will no longer autoadvance to the next routing segment if it's less than 6.1 meters.
- Improved: The Map buttons have been fattened up to make them easier tap targets.
- Fixed: A rare and obscure routing crash.
- Fixed: Location Sharing timestamps differed on the list screen versus the Map screen.
- Fixed: On the Map screen, it wasn't possible to hide the Location button, but it is now.
- Fixed: Tapping the blue dot caused a crash. It doesn't now.
- Fixed: The End Route button wasn't being translated.
- Fixed: When routing to a placemark, the accessibility button disappeared.
- Fixed: When routing, Building/Level disappeared.
- Fixed: When the Route Overview button was tapped, the accessibility icon and map label disappeared. They're here to stay, now.
February 8, 2018 - 4.0.1
- Fixed: An issue with the 4.0 bundled SDK.
- Improved: Better IP anonymization.
January 31, 2018 - 4.0.0
- Fixed: A minor memory leak in LocationKit.
- Fixed: An issue with
- Fixed: Bug handling special characters in passwords.
- New: Dutch and Czech translation support.
- New: Look and feel to match the iOS 11 map experience.
- New: Optional 'all done' completion handler to
December 14, 2017 - 3.10.0
- New: We've exposed placemark UIDs on iOS, which means you can reference them directly. This is already available in the Android SDK.
- Fixed: A URL in the README was broken.
- Fixed: Now that we have Active and Passive Campaigns, we have greater control over when a campaign triggers. Unfortunately,
MRCampaignManagerwas triggering campaigns before checking the campaign type.
October 26, 2017 - 3.9.0
- Miscellaneous bug fixes and improvements.
September 28, 2017 - 3.8.0
- Fixed: Google Analytics timeouts and
MRAnalyticsControllerwould cause the app to lock up temporarily. The SDK handles these timeouts more gracefully now.
- Fixed: Removed the unused
campaignManagerDeviceUserInfomethod, because we don't support Apple push notifications (APNs).
- Fixed: The loading message spinner was left aligned, which looked funny on an iPad.
- Improved: In Campaign Info, campaign status was changed from Active/Inactive to Enabled/Disabled to match the Editor.
August 24, 2017 - 3.7.0
- Fixed: Issues related to an upcoming feature.
- Improved: Better internal metrics.
- Improved: Increased the minimum GPS constant to 10 meters.
July 27, 2017 - 3.6.0
- Fixed: A bug related to an upcoming feature.
- Fixed: Miscellaneous bugs.
- Fixed: The map label wasn't showing the map name correctly.
- Improved: Support for a new upcoming endpoint.
June 20, 2017 - 3.5.0
- Fixed: The animated route loading animation wasn't visible on 4.x device.
- Improved: Active Campaigns now support
- Improved: New API endpoints for simulated location and campaign triggers.
- Improved: The
externalIDfield has been added to the asset tracking API endpoint.
May 31, 2017 - 3.4.0
- Fixed: Campaign dwell times weren't being reported to the Editor.
- Fixed: Sometimes the app would crash when switching locations while a route was being plotted.
- Fixed: The SDK now uses the new maps API endpoint.
- Improved: Better search for an upcoming feature.
- Improved: Better support for TalkBack/Accessibility.
- Improved: The new Search API is now available.
- Improved: The Samples app points to a new, read-only location.
- Improved: There's better messaging when a map can't be loaded.
- New: Support for an upcoming feature.
April 18, 2017 - 3.3.0
- Fixed: The default placemark zoom levels match iOS now.
- Fixed: The Directions and Show My Location buttons weren't vertically aligned. They are now.
- Fixed: The Samples app reorient message wasn't disappearing after canceling directions.
- Improved: Making sure things are working right for an upcoming feature.
- Improved: The Samples app no longer includes the Meridian app token. Please use your own app token.
- Improved: We've put the application token in a "shared" location to make it easier to set up location sharing and other upcoming features.
- New: Internal admin tools.
March 27, 2017 - 3.2.0
- Fixed: Miscellaneous bugs.
- Fixed: There was a bug related to manually advancing directions.
- Improved: Performance tweaks.
- Improved: The Location button behavior is now customizable.
- Improved: When the routing compass is enabled, there are orientation alerts that will tell you if you're facing away from a route's direction.
February 22, 2017 - 3.1.0
- Fixed: The blue dot had an excessive delay when updating to the user's current location.
- Fixed: The compass direction would flip when the device was rotated downward past the horizontal.
- Fixed: The default style for an inaccessible area is full white with full opacity. This was causing problems because this was also the style for unset colors. It renders correctly now.
- Improved: The double-tap zoom is smooth now.
- New: A two-finger single tap gesture zooms out.
- New: The SDK checks if all required dependencies have been added to the project.
January 27, 2017 - 3.0.0
- Added: Customizable rerouting parameters.
- Fixed: An occasional crash when loading placemarks.
- Fixed: Certain
BuildConfigvalues were being ignored.
- Fixed: Ellipse map elements render.
- Fixed: Issues with compass calibration and accuracy.
- Fixed: Push notifications weren't being received on Android 7.
- Improved: Consolidated loading spinner and
MapLabelwhen loading placemarks.
- Improved: The blue dot compass is a cone instead of an arrow, matching iOS.
- Improved: Zoom levels adjusted to match iOS SDK.
December 14, 2016 - 2.19.0
- Fixed: Adjusted text size on default
- Fixed: The Map Name label is back.
- Improved: More consistent results for the new
- Improved: More predictable and consistent zoom while navigating.
Mapviewcan now be initialized with a placemark key. This will cause them to load only a single placemark.
- New: Asynchronous loading for large sets (100+) of placemarks.
November 4, 2016 - 2.18.0
- Fixed: The Map Controls are now hidden correctly.
- Fixed: The My Location button was immediately causing an error when a location hadn't been generated. It now starts a loading spinner.
- Fixed: The SDK calls
onMapRenderFinishedafter initial centering of the
MapView, instead of before.
- Improved: Location accuracy.
- Improved: The placemark UID is now accessible.
- New: Minimum supported Android API is 16.
- New: The SDK uses the new placemarks API.
September 29, 2016 - 2.17.0
- Fixed: The location button wasn't hidden properly.
- Improved: In the map picker, buildings are sorted alphabetically and map levels are sorted in descending order.
- New: The GPS accuracy threshold value is now modifiable.
September 22, 2016 - 2.16.1
- Fixed: Apps crashed when a Location Sharing friends icon was tapped.
September 20, 2016 - 2.16.0
- Fixed: If a placemark was selected and a user chose a different floor using the map level picker, the selected placemark appeared on the new map.
- Fixed: If the map level picker was opened, and then closed by tapping outside the menu, a white circle was rendered on the map.
- Fixed: On some devices, the selected placemark icon underlay was offset too much.
- Fixed: Some Location Sharing friend icons were larger than others.
- Fixed: The formatting and alignment of the placemark text callout was inconsistent.
- Fixed: The map level picker wasn't visible on some overview maps.
- Improved: Map UI design.
- Improved: The routing context menu was too small to tap easily. It's now a bit larger.
- New: Blue dot compass can now be enabled/disabled.
August 4, 2016 - 2.15.3
- Added: Diagnostics includes zoom level.
- Added: Support for reading per map maximum zoom values from the Editor.
- Fixed: An issue involving an upcoming feature.
- Improved: Default settings for an upcoming feature.
- Improved: Routing advancement.
- Improved: We're using the New Search Level Picker as the default floor selector.
June 29, 2016 - 2.15.2
- Added: It's now possible to enable a compass arrow on user's the blue dot location. GPS coordinates are required for the compass arrow to work.
- Fixed: Bluetooth hardware on some Samsung devices was causing a stack crash.
June 22, 2016 - 2.15.1
getCampaignId(Intent i)in the CampaignBroadcastReciever.
- Added: Language updates.
- Fixed: Crashing when Beacon RSSIs were updated while Beacons were being sorted.
- Fixed: GPS exclusion areas used on multiple maps weren't being calculated correctly.
- Fixed: Location generation data wasn't being updated appropriately when switching between locations.
- Fixed: Map rendering would intermittently stall.
- Fixed: Placemarks without names weren't showing on the map.
- Fixed: The default GPS accuracy was set to zero.
April 25, 2016 - 2.15.0
- Added: New Location Sharing feature. Please see the Meridian Samples project in the SDK for example usage.
- Added: New map level picker designed for large numbers of maps. Enable it with
- Fixed: The creation process for some maps was causing the app to crash.
- Improved: General location generation and smoothing improvements.
- Improved: Map rendering is done on demand, instead of continuously.
- Improved: The default routing snap to route distance can be set with
- Improved: The maximum zoom level can be set globally with
- Improved: Transparent markers are ignored for collision.
January 28, 2016 - 2.14.6
- Added: Email crash reporting to AppViewer's Samples app.
- Added: Native library support for the armabi-v8a ABI for better CPU performance.
- Added: New
MapFragmentto improve location performance.
- Fixed: BLE scans were blocking Wi-Fi on some shared Wi-Fi/Bluetooth antennae hardware.
- Fixed: Blue dot occasionally vanished during map switching.
- Fixed: Crash when switching maps while routing.
- Fixed: On some LG devices running Android 4.x, BLE scans were causing the UI to stutter.
- Fixed: Some location performance issues.
- Improved: Beacon detection.
- Improved: Better smoothing.
- Improved: Device identifiers are more reliably unique.
- Improved: Routing step distances update as a user changes location.
- Updated: Now using Android API 23 style permissions. Older manifest permission still work.
November 20, 2015 - 2.14.5
- Added: User location can now be simulated for development builds. See Simulating Location in the README.
- Fixed: A crash caused by some listeners unexpectedly being null.
- Fixed: A native crash when removing Markers in a specific order.
- Fixed: Markers that were added to the map and then moved to the bottom of the weight priority were failing to render.
- Fixed: Units per meter were being incorrectly calculated for some maps with a rare arrangement of GPS reference points.
- Fixed: ZoomLevels were being calculated incorrectly with some screen densities.
- Improved: Campaign reporting.
September 8, 2015 - 2.14.4
- Added: Support for Alpha and Scale animations for Markers.
- Added: Support for minimum and maximum visible zoom levels for Markers.
- Fixed: Areas not being set on Placemarks.
- Fixed: Crash caused by rapidly switching back and forth between maps while animations were active.
August 17, 2015 - 2.14.3
MapInfomethods for converting between latitude/longitude and Meridian map coordinates.
- Fixed: Various map-related crashes.
- Improved: Proguard exceptions.
- Fixed: Corrupted transparency issue when the same bitmap is used for multiple Markers.
July 27, 2015 - 2.14.2
- Added: Markers have invalidate methods that will update Marker properties and bitmaps.
- Added: Propagate Proguard rules.
- Added: Support for manually setting the
- Added: Support for right-to-left languages, such as Hebrew and Arabic.
- Fixed: Added Markers vanished when the map reloaded.
- Fixed: Various map-related crashes.
- Improved: Auto re-routing for an improved end-user experience.
July 1, 2015 - 2.14.1
- Added: Example proguard rules in the MeridianSamples project.
- Added: Report analytics to the Meridian Editor.
- Added: Two new Map Markers properties--
RotationFixedToMap. Enables locking Markers to the scale and rotation of the map, as opposed to the screen.
- Fixed: Marker weights to order both colliding and non-colliding Markers properly.
- Improved: Moved all MapView and MapFragment listener callbacks to the main thread. (The Marker's
getBitmapand all Transaction callbacks are on the GLThread. Make sure to return quickly and catch exceptions to avoid a native crash.)
- Improved: Native layer memory.
- Improved: Stability fixes for the
MapViewwhen setting keys not attached to a window.
June 16, 2015 - 2.14.0
- Added: MapEventListener method for easier notification of map transforms changing.
- Added: Transaction animation times are configurable, as well as callbacks for when Transactions are added to the map and their initial animation has completed. (In the Samples app, see
- Improved: Map Markers allow for Marker Transactions to be added, modified, or removed.
- Improved: Marker objects can be weighted to adjust priority during collision.
- Improved: Marker rendering performance.
- Improved: Pausing and resuming on Android 5+ devices conserves battery more effectively.
- New: Marker objects can toggle Collision.
May 28, 2015 - 2.13.12
- Fixed: Crashing issue on Android 5+ devices.
- Fixed: Exit campaigns firing when a proximity beacon was never seen.
- Fixed: OpenGL generating excessive log spam.
- Improved: Marker rendering performance.
- MapView: Added support for setting background color.
- MapView: Added frame time limiter to improve battery use.
April 13, 2015 - 2.13.11
- Added: Snap to route and auto rerouting. These are disabled by default and must be enabled in the Meridian class.
- Added: Support for hiding
- Fixed: Black screen when animating a MapView.
- Fixed: Routing bug causing "Route not found" errors for devices set to Spanish
- MapEventListener: Updated to show when a map is loaded and rendered. (see README)
- onDirectionsStart: Added to
MapDirectionsListenerto show when directions have finished loading and are being displayed.
- Updated: Moved initial configuration into a Meridian singleton. (see README)
March 17, 2015 - 2.13.10
- Added: Support for Campaign Push through the Editor. (see README)
- Added: Support for clearing a
MapViewby setting its
- Fixed: Placemarks not showing with more than 500 placemarks on a map.
- Fixed: Prompt for bluetooth to be turned on when already enabled.
MapOptionsnot being propagated correctly to the
- Fixed: Crash caused by lack of network connectivity.
- Fixed: Campaign reset delay bug.
February 24, 2015 - 2.13.9
- Added: Support for directions arrows for devices set to a non-English language.
- Fixed: Campaign notifications not triggering correctly.
- Fixed: Crash when clearing the map in a MapView during onPause/onResume.
- Fixed: Route vanishing after onPause/onResume when using MapView directly.
February 13, 2015 - 2.13.8
- Fixed: Crash related to poor network connectivity.
- Fixed: NullPointerException caused by a threading issue in
February 10, 2015 - 2.13.7
- Added: Cache timeout override properties to the
- Added: Caching support for all web requests.
- Added: Loading spinner to the
MapFragmentwhile the map is loading.
- Added: New location issue reporting screen (hold down 2 fingers on any map)
- Fixed: Dialogs on Samsung devices not canceling correctly.
- Fixed: Map controls too small or misaligned.
- Fixed: Related maps on placemarks not being followed when tapped.
- MapItem: Removed in favor of explicit
January 12, 2015 - 2.13.6
- Added: Ability to exclude specific placemark keys from
- Added: More
- Fixed: Crash when switching rapidly between maps.
- Fixed: Directions using a single placemark as a source were not generating a route.
- Fixed: Routes were not clearing appropriately on fragment resume.
- Updated: Improved Samples app.
- Updated: Reorganized listeners on
MapFragmentto make implementations simpler. (see README)