Skip to content

Releases: tangrams/tangram-es

0.6.0

05 Apr 22:19
Compare
Choose a tag to compare

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 and right 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 to enabled (#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 of TGMapData (#1408)
  • Breaking change: TGMarkers now use setter methods with NSError 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

20 Mar 16:28
Compare
Choose a tag to compare

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

21 Feb 16:53
Compare
Choose a tag to compare

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

  • Shaders compile faster, improves map initialization (#1279)
  • Documentation for the binary framework (#1290)

0.5.0-android

21 Feb 16:47
Compare
Choose a tag to compare

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

  • The AAR of the Tangram Android SDK is now much smaller, debugging symbols are stripped from release builds (#1280).
  • Shaders and shader programs are cached where possible, improving start-up speed for some scenes (#1279).

0.4.1-ios

18 Feb 03:34
Compare
Choose a tag to compare

Patch release for our iOS binary framework.

Features

  • Scene filtering now supports px2 for pixel area (#1261)

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

03 Feb 18:11
Compare
Choose a tag to compare

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 of SceneUpdates or a SceneUpdate 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 and placement_min_length_ratio (#1211).
  • repeat_distance and repeat_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 by optional (#1209).
  • Networking now uses OkHTTP 3.5 on Android (#1171).
  • BREAKING CHANGE: The setCache method of HttpHandler has been replaced with a new constructor overload, due to changes in OkHTTP 3.0 (#1171).

0.4.0-ios

17 Feb 23:05
Compare
Choose a tag to compare

🎉 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 as 0.4.y-ios.

0.4.8-android

16 Dec 20:29
Compare
Choose a tag to compare

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 with pickFeature and pickLabel in MapController (#1185).

0.4.7-android

16 Dec 20:03
Compare
Choose a tag to compare

This is a minor update to the Tangram Android SDK. There are no breaking changes to the Android SDK interface in this release.

Fixes

  • Non-square bitmaps used with Marker no longer cause visual artifacts or crashes (9ef53db).
  • Drawable resources used for Marker are now rasterized at a more appropriate pixel density (3738152).
  • Setting a bitmap on a Marker will now immediately update the appearance of the Marker (d9664d2).

0.4.6-android

08 Dec 16:49
Compare
Choose a tag to compare

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 imports 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).