- Add support for image expression. (#15877)
- Introduce
text-writing-modelayout property for symbol layer (#14932). Thetext-writing-modelayout property allows control over symbol's preferred writing mode. The new property value is an array, whose values are enumeration values from a (horizontal|vertical) set. - Fixed rendering and collision detection issues with using
text-variable-anchorandicon-text-fitproperties on the same layer (#15367). - Fixed a rendering issue that non-SDF icon would be treated as SDF icon if they are in the same layer. (#15456)
- Fixed a rendering issue of
collisionBoxwhentext-translateoricon-translateis enabled. (#15467) - Fixed an issue of integer overflow when converting
tileCoordinatestoLatLon, which caused issues such asqueryRenderedFeaturesandquerySourceFeaturesreturning incorrect coordinates at zoom levels 20 and higher. (#15560) - Add typechecking while constructing legacy filter to prevent converting an unexpected filter type #15389.
- Fixed an issue that
maxzoomin styleSourcesoption was ignored when URL resource is provided. It may cause problems such as extra tiles downloading at higher zoom level thanmaxzoom, or problems that wrong setting ofoverscaledZinOverscaledTileIDthat will be passed toSymbolLayout, leading wrong rendering appearance. (#15581)
- Add an option to set whether or not an image should be treated as a SDF (#15054)
- Fix problems associated with node 10 and NAN (#14847)
- Add
symbol-z-ordersymbol layout property to style spec (#12783) - Add
crossSourceCollisionsmap option, with default oftrue. When set tofalse, cross-source collision detection is disabled. (#12820) - Fixed bugs in coercion expression operators ("to-array" applied to empty arrays, "to-color" applied to colors, and "to-number" applied to null) (#12864)
- Fixed an issue where fill and line layers would occasionally flicker on zoom (#12982)
- Many new features and enhancements, including:
- Expressions
- Hillshade layer type
- Heatmap layer type
- Line gradients
- Improve label collision
- Support for data-driven values for more style properties
- Support for rendering with SwiftShader rather than hardware GPU
- Improved performance and stability
- Don't default-show text/icons that depend on the placement of a paired icon/text #12483
- Fix symbol querying for annotations near tile boundaries at high zoom. (#12472)
- The
Mapconstructor now accepts amodeoption which can be either"static"(default) or"tile". It must be set to"tile"when rendering individual tiles in order for the symbols to match across tiles. - Remove unnecessary memory use when collision debug mode is not enabled (#12294)
- Added support for rendering
symbol-placement: line-center(#12337) - Fix rendering of fill outlines that have a different color than the fill itself (#9699)
- Add support for feature expressions in
line-pattern,fill-pattern, andfill-extrusion-patternproperties. #12284
- Fixes an issue that causes memory leaks when not deleting the frontend object in NodeMap::release()
- Fixes a crash in Earcut: #10245
- Fixed an issue causing synchronous resource requests to stall #10153
- Protects against requests which throw #9554
- Fixed an issue around reusing a map object #9554
- Fixed an issue in test #9553
- Increased the default maximum zoom level from 20 to 22 (#9835)
- Provide debuggable release builds for node packages #9497
- Add support for ImageSource #8968
- Fixed an issue with
map.addImage()which would cause added images to randomly be replaced with images found the style's sprite sheet (#9119)
- Fixed a regression around
line-dasharraryandfill-patternthat caused these properties to sometimes not render correctly (#9130)
- Fixed a memory leak (#8884)
- Adds Node v6 binaries. Note, Node v4 binaries will be removed on August 1st. (#8884)
- Adds linux debug binaries (#8865)
- Fixed an issue where raster tiles that were not found caused
map.render()to hang (#8769) - Adds method
map.cancel()which cancels an ongoingrendercall. (#8249)
- Fixed MacOS Release builds (8409)
- Fixed a memory hang issue after GlyphAtlas was refactored (#8394)
- Updates the node binary publish location on s3 to reflect new package name (#7653)
- Adds
map.addImage()andmap.removeImage()APIs (#7610)
- Switches back to publishing Linux binaries with GLX, to eliminate a runtime dependency on
libOSMesa.so.8and enable dynamically linking againstlibGL.soprovided by an alternate implementation, such as the NVIDIA proproetary drivers (#7503)
- Skips assigning clip IDs to tiles that won't be rendered, mitigating a
stencil mask overflowerror (#6871) - Fixes camera logic to avoid unnecessary or redundant setting of camera options (#6990)
- Fixes Bitrise configuration to automatically publish macOS binaries (#6789)
- Switches from using individual thread pools for each
mbgl::Mapobject to sharing the built-in Node.js thread pool for NodeMap implementations (#6687)
- Switches to using a NodeRequest member function (with a JavaScript shim in front to preserve the API) instead of a new
v8::Contextto avoid a memory leak (#5704) map.loadcan now throw when failing to parse an invalid style (#6151)- Explicitly links the OpenGL framework for compatibility with macOS Sierra (#6015)
- Fixes Node.js binary publishing to build with
BUILDTYPE=Release(#5838)
- Fixes
minzoomandmaxzoomproperties (#5828) - Fixes
RunLoop::runOnce()to useUV_RUN_NOWAITinstead ofUV_RUN_ONCE(which can block the libuv threadpool) (#5758) - Map debug options 'overdraw' and 'stencil clip' are now disabled (no-ops) in release mode (#5555)
- Adds runtime styling API (#5318, #5380, #5428, #5429, #5462, #5614, #5670)
- Adds
BUILDTYPE=Debugsupport tomake node(#5474) - Fixes a memory leak in
NodeRequest(#5529)
- Fixes a memory leak in raster image data (#5269)
- Switches to earcut.hpp for tessellation (#2444)
- Fixes a leak in TexturePoolHolder (#5141)
- Fixes a bug where a callback would be fired after an AsyncRequest had been cancelled (#5162)
- Fixes a race condition with animated transitions (#4836)
- Moves node-pre-gyp from
bundledDependenciestopreinstall(#4680)
- Adds debug render options (#3840)
- Fixes circle bucket rendering on tile boundaries (#3764)
- Fixes a segfault caused by improperly disposing the entire module in the
NodeLogdestructor (#4639) - Fixes an issue with vanishing GeoJSON layers at high zoom levels (#4632)
- Fixes inheritance from EventEmitter (#4567)
- Fixes intermittent
stencil mask overflowerror (#962) - Drops support for Node.js v5.x prebuilt binaries due to ongoing npm3 instability (#4370)
- Fixes a memory leak in
NodeMap::request(#3829) - Increases default max zoom level from 18 to 20 (#3712)
- Support tiles with non-4096 extents (#3766)
- Drops support for Node.js v0.10.x (#3635)
- Fixes label clipping issues with
symbol-avoid-edges(#3623) - Avoids label placement around sharp zig-zags (#3640)
- Fixes a bug with non-deterministic label placement #3543
- Fixes a bug which clipped labels at tile boundaries #2829
- Adds support for GeoJSON sources #2161
- Adds
line-offsetstyle property support
- Test and publish binaries for Node.js v5.x. (#3129)
- Integrates Node.js bindings into core mapbox-gl-native project. (#2179)
- Adds Node.js v4.x and io.js v3.x support. (#2261)
- Requires an options object argument to
new mbgl.Map()(with requiredrequestand optionalcancelmethods), dropsmbgl.FileSource. (mapbox/node-mapbox-gl-native#143) - Changes
requestsemantics to pass a second, callback argument instead of needing to callreq.respond. (#2299) - Accepts optional
ratio(defaults to1.0) inmbgl.Mapoptions argument. Map pixel ratio is now immutable and can no longer be set with render options. (a8d9b92, #1799, #2937) - Swaps array order in render options
centerargument to[lng, lat]for consistency with GeoJSON and mapbox-gl-js. (#2935) - Adds render option
pitch. (#2702) map.rendernow returns a raw image buffer instead of an object withwidth,heightandpixelsproperties. (#2262)- Adds support for rendering mapbox-gl-style-spec v8 styles.
- No longer loads resources before a render request is made. (
55d25a8) - Fixes a bug which prevented raster tiles that
404'ed from rendering. (#2458) - Fade transitions are now ignored to prevent half faded labels. (#942)
- Labels can now line wrap on hyphens and other punctuation. (#2598)
- Removes deprecated mbgl::Environment from NodeLogObserver.
- Check libuv version semver-ishly, fixes segfaults in Node.js 0.12.x and io.js.
- Fixes segfault, throws JavaScript error instead when attempting to render without first loading a style.
- Bumps mbgl submodule to v0.4.0
- Bumps mbgl submodule to v0.3.5
- Adds Node.js v0.12.x and io.js support.
- Adds
map.release()method for manual cleanup of map resources. - Fixes garbage collection of NodeMap objects.
- Returns an error callback for failed NodeFileSource requests.
- Fixes handling of corrupt NodeFileSource request data.
- Implements request coalescing to fix NodeRequest cancellation.
- Removes
setAccessTokenmethod from NodeMap,mapbox://URLs should be handled throughNodeFileSourcenow. - Updates build scripts and Travis CI configuration.
- Logs Environment ID and thread name when in an Environment scope.
- Refactors NodeLog to implement mbgl::Log::Observer.
- Fixes uncaught exception from missing sprites.
- Fixes Unicode glyph range end.
- Fixes crash during garbage collection by assigning FileSource handle to a v8::Persistent in NodeMap constructor.
- Initialize shared display connection at module load time to avoid race condition when display connection is initialized on-demand.
- Adapts NodeFileSource around mbgl::Environment additions.
- Adapts to minor changes in mapbox-gl-test-suite.
- Adds tests for gzipped vector tile handling.
- Cleans up documentation.
- Initial release.