Releases: tangrams/tangram-es
0.6.0
This is a major update to the Tangram Android SDK and the Tangram iOS SDK. There are breaking changes to the iOS SDK interface in this release.
Features
- Added an interface to receive more information about scene update errors (#1347)
- Added support for
left
andright
text sources for labels, enabling boundary labels (#1349) - Added an interface to reduce memory consumption by releasing cached data (#1400)
- Improved rendering performance with shader optimizations and use of VAOs for labels (#1385)
- Simplified the
transition
parameter syntax (#1419) - Migrated the layer
visible
parameter toenabled
(#1420)
Fixes
- Fixed Marker visibility behavior (#1416, #1429)
- Fixed scene configuration problems for system locales that use
,
for decimals (#1397)
Android
- Fixed a bug that prevented the library from loading on Android versions < 4.3 (#1389)
- Improved system font fallback behavior (#1406)
- Added an interface to associate custom user data with a
Marker
(#1414)
iOS
- Added an interface for capturing screenshots of the map view (#1359)
- Fixed access to the
map
property ofTGMapData
(#1408) - Breaking change:
TGMarker
s now use setter methods withNSError
output arguments (#1401) TGMapViewController
now responds to memory warnings by releasing cached data (#1400)- Added an interface to associate custom user data with a
TGMarker
(#1414) - Improved rendering performance by disabling MSAA (#1385)
- Add an interface to change the default resource directory (#1421)
0.5.1
From this release onward, Android and iOS will no longer have separate releases. 🎉
This is a minor update to the Tangram Android SDK and the Tangram iOS SDK. There are breaking changes to both the Android and iOS SDK interfaces in this release.
Features
- Enabled the
buffer
parameter for point and text layout (#1350) - Enabled setting Marker styling with a path to an existing draw rule (#1242)
Fixes
- Fixed inefficient handling of invalid shader uniforms (#1310)
- Fixed some crashes from missing glyphs in alfons, our text layout library (#1327)
- Fixed the behavior of the 'view complete' value returned by
Map::update
(#1340, #1354) - Fixed a potential buffer overflow in alfons (#1358)
- Fixed a crash caused by null YAML nodes in the
global
section of a scene (#1366) - Updated Mapzen tile URLs to the new official location (#1376)
- Fixed the merging behavior of null YAML nodes in imported scenes (#1387)
Enhancements
- Provided separate README files for each supported platform (#1312)
- Updated code for managing non-tiled data sets (#1306)
- Improved formatting of number properties on queried features (#1336)
- Improved consistency of
placement_min_length_ratio
for point features (#1342) - Combined the OS X and Linux desktop demos into a single file (#1318)
Android
- Fixed the asset path used in the demo application (#1323)
- Enabled loading MBTiles files from an application's asset bundle (#1360)
- Breaking change: The method names for setting Marker styling have changed (#1242)
- Fixed a crash in JNI due to "use of deleted global reference" (#1380)
iOS
- Breaking change: Added the
TGMarker
class for conveniently managing Markers on a map (#1315) - Enabled loading MBTiles files from an application's asset bundle (#1360)
- Added the
TGMapData
class for managing customized sets of features on a map (#1317) - Fixed resizing behavior when the map is part of a view hierarchy (#1383)
0.5.0-ios
This is a major update to the Tangram iOS SDK. There are no breaking changes to the SDK interface in this release.
Available on CocoaPods: https://cocoapods.org/pods/Tangram-ES
Features
- Text labels can now follow curves (#1256 and #1286)
- MBTiles support for offline data sources (#1015)
Fixes
- Fix binary resource loading (#1295)
- Fix bitmap (UIImage) markers that appeared flipped (#1299)
- Text shaping for some "clustered" glyphs has been corrected (#1294).
Enhancements
0.5.0-android
This is a major update to the Tangram Android SDK. There are no breaking changes to the SDK interface in this release.
Features
- Text labels can now curve to follow polylines (#1256 and #1286).
- MBTiles files can now be used as sources for "offline" tile data (#1015).
Fixes
- Marker ease durations are now in milliseconds, like other ease durations in MapController (#1298).
- Text shaping for some "clustered" glyphs has been corrected (#1294).
Enhancements
0.4.1-ios
Patch release for our iOS binary framework.
Features
Refactoring
- Remove unnecessary
.plist
files from iOS demo app (#1262)
Bug fixes
- Refactor platform code to allow multiple map view instances to run on the same application (#1263)
- Fix text label placement for polygons to render at polygon centroid (#1277)
- Fix GeoJSON parsing for boolean values (#1274)
- Fix signed distance field text rendering for high pixel density (#1259)
- Eat
BOM
unicode character from scene files (#1268)
0.4.9-android
This is a major update to the Tangram Android SDK. There are breaking changes to the API in this release, as well as some new interfaces.
Features
- The Tangram Android SDK now uses the CMake external native build process introduced in Android Studio 2.2. This simplifies Android build process and enables building Tangram for Android on Windows (#1152).
- Scene updates can now be applied when a scene is first loaded. This is a faster, more convenient way to apply settings like API Keys. (#1173).
- BREAKING CHANGE: Previously
queueSceneUpdate
required 2 string arguments, this is now updated with an overloaded method. It either required a list ofSceneUpdate
s or aSceneUpdate
object (#1173). - Markers on the map can now be queried like other features (#1161).
- Feature (and Marker) picking now allows setting a radius to account for pointer size (#1230).
- Added support for label placement parameters:
placement
,placement_spacing
andplacement_min_length_ratio
(#1211). repeat_distance
andrepeat_group
logic now applies to all 'points' styles (#1228).dash
style parameter now accepts floating point values (#1249).
Fixes
- Fixed application of JS functions in Marker styling (#1201).
- Clarified centroid calculations for degenerate polygons (#1221).
- Fixed some uninitialized variables (#1250).
- Fixed inconsistent parsing of Boolean values between GeoJSON and TopoJSON data sources (#1274).
- Text stroke width now scales correctly with display density (#1259).
- Fixed crashes during screen orientation change on a small number of devices/emulators (#1206, #1234).
- Fixed a data race in textures for font atlases (#1202).
Enhancements
- Font loading is faster now (#1194, #1176).
- A new shader cache improves load times for scenes with lots of custom styles (#1225).
DataSource
has been refactored to better support offline map data (#1014).- Simplified handling of EGL context loss on Android; this behaves correctly on all devices we've tested but if you notice problems on a very old Android phone when apps resume from pause, let us know and we'll try to help (#1234).
- Refactored label pipeline in preparation for curved label support (#1205).
- Reduced log verbosity (#1259 and #1258).
- Text draw parameter
required
is replaced byoptional
(#1209). - Networking now uses OkHTTP 3.5 on Android (#1171).
- BREAKING CHANGE: The
setCache
method ofHttpHandler
has been replaced with a new constructor overload, due to changes in OkHTTP 3.0 (#1171).
0.4.0-ios
🎉 This is our very first official iOS release! 🎂
Tangram-es can now be built as a binary framework for integration into your iOS app. Releases for iOS will be available on CocoaPods as the pod 'Tangram-es': https://cocoapods.org/pods/Tangram-es
- The tangram-es framework provides the same set of features as our latest Android release, except for the
MapData
interface provided on Android. - Future releases for Android and iOS will indicated with separate tags.
- Releases on either platform with the same minor version number (the 'y' in 'x.y.z') will have approximately the same feature set. For example,
0.4.x-android
will have approximately the same feature set as0.4.y-ios
.
0.4.8-android
This is a minor update to the Tangram Android SDK. There are no breaking changes to the Android SDK interface in this release.
Features
- Parsing scene files is now ten times faster on many devices, which will make some scenes load much faster (0e59cf7, tangrams/yaml-cpp#7).
- Loading texture data from image files is slightly faster now (#1170). Tangram-es previously had undocumented support for loading BMP, HDR, PIC, and PNM image files. These formats will no longer work.
Fixes
- Unexpected or missing values in a scene
fonts
configuration no longer cause crashes (b26e86d). - Using the "scene update" interface will no longer cause crashes due to JNI environment errors (#1177).
- Point features added to a
MapData
can now be reliably selected withpickFeature
andpickLabel
inMapController
(#1185).
0.4.7-android
This is a minor update to the Tangram Android SDK. There are no breaking changes to the Android SDK interface in this release.
Fixes
0.4.6-android
This is a major update to the Tangram Android SDK. There are no breaking changes to the Android SDK interface in this release.
Features
- Map labels and map features can now be picked separately.
MapController
now has a new interface for selecting map icons and text labels at a screen position and returning their geographic coordinates
(#1076). - A new
Marker
class provides a convenient way to add and remove individual point, line, and polygon features from the map (#1056). - Scene loading speed is improved (#1128, #1127, and #1130).
Fixes
- Corrected some potential memory safety issues (#1069).
- Fixed resolution of relative paths in scene
import
s and resource locations (#1067). - Prevented 'global' references in scene files from being incorrectly resolved as URLs (#1089)
- Fixed text wrapping for Chinese text (#1075)
- Fixed relative path resolution for files within Android asset bundles (#1083).
- Added checks for malformed scene files during the import process (https://github.com/tangrams/tangram-es/pull/1098/files and #1096).
- Prevented crashes caused by unexpected data in protocol buffers (#1105).
- Fixed vertical texture coordinates for textures used without a sprite atlas (#1142).
- Corrected centroid positions for point placement (#1144).
- Fixed handling of JS functions used in styling when the result of the function is 'null' or 'undefined' (#1117).