Releases: mapzen/ios
v1.1.1
v1.1.1 is a bugfix release to address GPU background usage causing crashes in iOS apps in the background (thanks for the bug reports!). Fixing this required we be able to support background location updates, so as a side effect the SDK now supports background location services! We'll be working on adding more documentation around that soon. For now, you can take a look at the DemoMapViewController in the sample app and see how it gets enabled. You will need to go through all the usual steps for enabling background location as well, so we recommend you still read through Apple's documentation on the topic!!
New Features
- Background location support is available!
Bug Fixes
- We now properly respect apps going into and out of background mode and properly limit GPU calls. #378
1.1.0
Welcome to the first major feature addition we have for our SDK! We're so grateful to all the feedback we've received from the community and look forward to working with you all as we drive towards our next set of goals!
We do want to point out there was 1 very minor change we had to make with this release due to underlying dependency changes where a property went from required to optional. It should affect almost no one given its location but lease see the release notes for more info!
Feature Additions
- Theme support is now available for our SDK-provided style sheets! Check out some of our recent blog posts on the topic here and here.
- As part of the Themes work, we've laid foundational work for supporting custom style sheets. Please take a look at it and provide us with feedback by opening an issue! This work is considered experimental and we expect to change the protocol, perhaps significantly in the near future after we gather additional feedback, so we recommend not basing any production work on it just yet.
Bug Fixes
- We can now deploy correctly to the iOS app store (It's the little things).
- The map now renders at 60 frames per second for buttery smooth mapping.
- Memory management has been improved in upstream dependencies so we no longer have to remove and recreate the map and its associated attributes. Main code for this has been removed and we'll be removing supporting objects in a future release.
- Underlying marker implementations have been completely refactored for better performance.
Deprecations and API Changes
- We had to alter how we manage our underlying Tangram-es markers such that now they're optional in the marker protocols - https://github.com/mapzen/ios/blob/master/MapzenSDK/Marker.swift#L16 - this would only impact you if you were implementing your own custom markers against the marker protocols. Feel free to open an issue and we can assist.
- We've deprecated a couple methods and replaced them with more modern versions. You should start receiving warnings about it from the compiler if you're using any of them. Take a look in the source - the modern methods are right next to the deprecated methods. We're working on improving documentation for this in future releases.
- NOTE: We haven't deprecated the existing methods for loading stylesheets using the
MapStyle
enum because of the experimental nature of theStyleSheet
protocol, but that is the direction we're heading so it is very likely we will deprecate those methods in a future 1.x release and target removal for them in 2.0.
Dependency Updates:
- Tangram-es upgraded to 0.8.1
- Pelias updated to 1.0.2
Minor release to fix fonts
Fixed a font issue with stylesheets.
1.0.0
We're proud to announce the 1.0.0 version of our Mapzen iOS SDK! No code changes have been made since 0.4.1 (aka 1.0.0-RC2), so if you were using 0.4.1, upgrading to 1.0.0 should be smooth sailing.
As always, let us know about any issues by opening a Github issue!
SDK Release Candidate 2
We're prepping for releasing 1.0.0 to the world, and wanted to push out another release candidate for everyone to test out on Cocoapods.
Minor Changes
Adding to all of the changes in the 0.4.0 build, this one includes a minor update to Tangram-es which has fixes for marker visibility bugs as well as improvements to fallback system font loading. See all of the details here
SDK Release Candidate
We're prepping for releasing 1.0.0 to the world, and wanted to push out a release candidate for everyone to test out on cocoapods.
Sample app changes:
- There's now a beautiful launcher icon, settings icon, and several other icons thanks to great work by @souperneon !
- Map Language chooser now lives on the map screen.
- Routing has been rebuilt to allow you to tap anywhere on the screen and display a route to your tapped location
- Search has been reworked to utilize auto-complete rather than the regular search endpoint (as this is more likely to be used by default on mobile devices) and allows you to place a search result on the map.
- Tapping on the pin on the map displays an alert with more information.
- With Search using autocomplete now, we've set the SDK's rate limiter to only send 1 query per second by default per guidance from the search team & docs. This is adjustable by implementing developers. This has the impact that if you're a fast typer search may appear to lag behind you a bit but once you stop typing it should catch up.
SDK Major Changes:
- We have full Objective-C compatibility thanks to lots of hard work by @sarahlensing . This has been the most requested feature from feedback by developers testing the beta SDK.
- Memory management has been significantly enhanced mostly because of the sample app running multiple maps at once.
MZMapViewController
will now save state and reload the map view hierarchy when a memory warning comes into the system and the map itself is currently not visible. - Lots of underlying changes to how the SDK interacts with and manages Tangram-es markers. More work is coming there in a future release (post 1.0.0)
- Overhauled how we import the Mapzen house styles to make it so implementing developers reliably import the styles in their correct directory hierarchy (by default Xcode likes to flatten directory structures which makes our house styles sad)
- Fixed several bugs related to the above import process change and font management. More work to be done there to improve that process but relies on an upcoming Tangram-es release.
- The autocomplete search table widget has been improved so that it no longer clears results on receiving an error from the hosted service
- The search subsystem now properly sends API keys when the rate limiter is engaged.
- Fixed an issue where the find me button would occasionally not show up.
- Many other smaller bug fixes and error management improvements to list here.
Beta Release
We've released iOS SDK 0.2.0, which we're dubbing our first Beta release. We decided against using -beta
tags for this as it makes it easier for people running cocoapods to migrate from 0.1.x to 0.2.x.
Major Changes:
- A major refactor switching
MapViewController
from a subclass ofTGMapViewController
to becoming a container view controller. Additional work will be done here in the lead-up to launch, but the API is mostly settled now. - Map attribution has now been added.
- Support for offline tile caching has been added in Tangram-es and adopted in the Mapzen SDK. You will need to supply an
MBTiles
data source for this. More testing will be done around this. - Support for proper curved labels on roads introduced in Tangram-es as well.
Bug Fixes- Too many to really mention, but a couple big ones include the following:
- API key management unified
- Bitmap markers no longer flipped
- Better error handling
- Performance improvements across the board
Bugfix Release 0.1.1
Fixed a bug in the podspec that was not including the bubble-wrap bundled stylesheet.
Preview Release 0.1.0
Where it all began! This is the very first release of the iOS SDK.
Things included:
- Search utilizing Pelias (https://github.com/pelias/pelias-ios-sdk) connected to Mapzen Search
- Directions using OnTheRoad (https://github.com/mapzen/on-the-road_ios) connected to Mapzen Turn-by-Turn
- Maps using Tangram-es (https://github.com/tangrams/tangram-es) using Mapzen's Vector Tile Service
Along with a fully integrated sample app and unit tests, we have a solid foundation but would love feedback as we move through this process toward a 1.0 release!