- Add support for image expression. (#15877)
- Introduce
text-writing-mode
layout property for symbol layer (#14932). Thetext-writing-mode
layout 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-anchor
andicon-text-fit
properties 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
collisionBox
whentext-translate
oricon-translate
is enabled. (#15467) - Fixed an issue of integer overflow when converting
tileCoordinates
toLatLon
, which caused issues such asqueryRenderedFeatures
andquerySourceFeatures
returning 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
maxzoom
in styleSources
option 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 ofoverscaledZ
inOverscaledTileID
that 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-order
symbol layout property to style spec (#12783) - Add
crossSourceCollisions
map 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
Map
constructor now accepts amode
option 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-pattern
properties. #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-dasharrary
andfill-pattern
that 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 ongoingrender
call. (#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.8
and enable dynamically linking againstlibGL.so
provided 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 overflow
error (#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::Map
object 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::Context
to avoid a memory leak (#5704) map.load
can 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
minzoom
andmaxzoom
properties (#5828) - Fixes
RunLoop::runOnce()
to useUV_RUN_NOWAIT
instead 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=Debug
support 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
bundledDependencies
topreinstall
(#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
NodeLog
destructor (#4639) - Fixes an issue with vanishing GeoJSON layers at high zoom levels (#4632)
- Fixes inheritance from EventEmitter (#4567)
- Fixes intermittent
stencil mask overflow
error (#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-offset
style 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 requiredrequest
and optionalcancel
methods), dropsmbgl.FileSource
. (mapbox/node-mapbox-gl-native#143) - Changes
request
semantics to pass a second, callback argument instead of needing to callreq.respond
. (#2299) - Accepts optional
ratio
(defaults to1.0
) inmbgl.Map
options 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
center
argument to[lng, lat]
for consistency with GeoJSON and mapbox-gl-js. (#2935) - Adds render option
pitch
. (#2702) map.render
now returns a raw image buffer instead of an object withwidth
,height
andpixels
properties. (#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
setAccessToken
method from NodeMap,mapbox://
URLs should be handled throughNodeFileSource
now. - 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.