Skip to content

4.0.1

Compare
Choose a tag to compare
@jaakla jaakla released this 08 Mar 16:43
· 1835 commits to master since this release

This is a maintenance release for 4.0 that includes several important reliability and performance fixes, in addition to some minor new features.

New features and changes

  • Added Layer visibility control API to CartoVectorTileDecoder (setLayerVisible, isLayerVisible methods)
  • Implemented 'screen' and ‘clear’ comp-op support for CartoCSS/vector tile rendering
  • Rendering of vector tile layers with multiple line/polygon symbolisers is now optimized as a special case, this is usually done with a single draw call
  • Changed moveToFitBounds behaviour - from now SDK does not change zoom level if single point is used for MapBounds
  • Better error reporting for CARTO SQL API, including error logging and error parsing
  • Minor optimizations in vector tile renderer
  • implemented timeout for online license update procedure
  • forward-compatible changes for future features in online tile service and offline packages
  • Exposed CartoVectorTileDecoder constructor for better integration with CARTO vector overlays
  • Added additional CartoOnlineVectorTile constructor with explicit source and built-in style enumeration parameters
  • Added countVisibleFeatures method to TorqueTileLayer
  • Added comp-op support to points, markers, texts and shields
  • Increased internal visible tile cache size by 4x, for really large overlay datasets (does not affect memory usage in normal cases)
  • MBTilesDataSource and OfflineNMLModelLODTreeDataSource classes now open database in read-only mode (previously in read-write mode)
  • More precise label coverage analysis for transformed labels

Fixes

  • Fixed Torque tile usage in MapsService API due to malformed URL
  • Fixed deadlock with indirect texts fields in Text and BalloonPopup objects
  • Fixed feature batching related issue in vector tile renderer that caused high number of draw calls and low performance
  • Fixed 'multiply' comp-op handling with non-opaque alpha values
  • Fixed parameter name typo in CartoCSS (instead of 'polygon-pattern-comp-op', 'polygon-pattern-op' was used)
  • fixed performance issue on iOS with empty Text objects
  • CartoCSS compatibility fixes for handling negative line widths and marker sizes
  • minor memory usage, speed optimizations
  • Added missing NTCartoVectorTileDecoder to iOS umbrella header
  • Fixed CartoVectorTileDecoder layer ordering issues
  • Fixed regression regarding VisJSON vector sublayer grouping; visibility and attribute info was previously lost
  • Fixed handling of zero size ellipse markers in CartoCSS
  • Fixed vector tile click detection issues
  • Fixed rare cases on iOS when screen remained black after returning from background state
  • Heavily distorted texts are no longer displayed on the map
  • Fixed bad_weak_ptr exception when using PersistentCacheTileDataSource
  • Fixed crash with some Xamarin Android versions when MapView finalizer is called
  • Fixed license registration issues on Windows Phone targets
  • Fixed vector tile layers in layergroup ignoring 'visibility' attribute
  • Fixed billboard sorting issues causing flickering with overlapping markers/texts/popups
  • Implemented clamping for CartoCSS opacity values for better compatibility

Usage with package management

  • iOS CocoaPod:

    pod 'CartoMobileSDK', '4.0.1'

  • Android gradle:

    compile 'com.carto:carto-mobile-sdk:4.0.1'