Releases

dotAtlas release notes, including description of new features, improvements, bug fixes and upgrade considerations.

0.3.4

Version 0.3.4 fixes the long-standing bug causing rendering artifacts in the labels layer and improves the way dotAtlas handles the browser's viewport zooming.

Bug fixes

Label rendering artifacts

Previous versions would render illegible labels when the browser's viewport was zoomed-in or -out. Version 0.3.4 fixes the issue and significantly improves handling of non-integerdevicePixelRatio values reported by the browser. dotAtlas now dynamically reacts to both zooming-in and zooming-out of the viewport by scaling the map appropriately.

Heads up, code update required!

To take advantage of the pixel density improvements, let dotAtlas manage the density automatically by removing the pixelRatio property from the set of options you pass during dotAtlas initialization. Alternatively, leave pixelRatio value explicitly set to auto:

const dotatlas = DotAtlas.embed({
  element: document.getElementById("dotatlas"),
  pixelRatio: "auto"
  layers: []
});
Registration of plugin event handlers

In the previous versions, the on(), off() and once() methods would fail to register event handlers exposed by plugins, where the handler names contain colon-separated segments, such as selection:onSelectionChanged. Version 0.3.4 fixes the problem.

0.3.2

Version 0.3.2 corrects the Lingo4G plugin code to use only ES6 language features to increase compatibility with legacy bundlers.

0.3.1

Version 0.3.1 updates the Lingo4GDocumentMap plugin to use the recently-released Lingo4G analysis API v2.

Version 0.3.1 also fixes "choppy" mouse-wheel based zooming of the visualization.

0.3.0

Version 0.3.0 is a major new release that comes with proper API documentation, NPM package distribution, finalized core and plugin API and 6 example plugins.

dotAtlas 0.3.0 is mostly a drop-in upgrade for the 0.2.x line, except for the minor API changes. However, version 0.3.0 comes with plugins adding many high-level features, such as point selection. You may therefore be able to replace a large portion of low-level code with an invocation of the appropriate plugin.

New features

NPM package

You can now install dotAtlas as an NPM dependency. The demo version is available directly from the NPM depository, the licensed version is available from the dotAtlas distribution server through a special URL.

Plugins

dotAtlas 0.3.0 adds support for creating plugins. Currently, 6 plugins are available with functionality ranging from automatic resizing of the visualization area, adding support for marker selection, to animated effects and adding map elevation legends.

CSS3 colors

All color-related properties, such as markerColor or colorBands, now support CSS3 color strings.

Maximum zoom scale

dotAtlas exposes the maxZoomScale option that limits the maximum scale to which the visualization can be zoomed. The default value is the scale at which rendering artifacts caused by limited precision of floating point computations start showing up.

Bug fixes

Label rendering artifacts

Previous versions might render single-pixel artifacts around labels. Version 0.3.0 fixes the issue.

Choppy mouse wheel zoom

Previous versions would produce a stuttering animation when zoom was initiated with mouse wheel on screens with pixel ratio smaller than 1.0. Version 0.3.0 fixes the issue.

API changes

Elevation values not normalized

Previous versions would normalize the points' elevation values to the 0.0...1.0 range. As of version 0.3.0, for consistency with the markerSize property, elevation values will be clamped to the 0.0...1.0 range. If your code uses elevation values larger than 1.0, make sure you normalize them to the 0.0...1.0 range.

maxRadiusDivider replaced with maxRadius

Version 0.3.0 replaces the maxRadiusDivider property of the elevations layer with a more intuitive maxRadius property. With the new property, the amount of "land" on the map is now proportional to the value of maxRadius.

onHover renamed to onMouseMove

The global dotAtlas onHover event has been renamed to onMouseMove to better reflect that it is different from the per-layer onPointHover events. The former is fired on every mouse move regardless of whether there are any points near the mouse location or not. The latter is fired only when the mouse pointer is near some point or has just moved to an empty area.

Properties renamed

Two properties of the markers layer have been renamed, replacing "outline" with the more familiar "border":

Old name New property
markerOutlineOpacity markerBorderOpacity
markerOutlineWidth markerBorderWidth

Two properties of the outline layer have been renamed, replacing "stroke" with the more familiar "border". Also names of two other properties have been shortened:

Old name New property
outlineStrokeColor outlineBorderColor
outlineStrokeWidth outlineBorderWidth
outlineRadiusOffset outlineOffset
outlineRadiusMultiplier outlineSizeMultiplier

0.2.1

Version 0.2.1 fixes a JavaScript error causing dotAtlas to fail on Internet Explorer 11 and Edge. Version 0.2.1 is a drop-in upgrade for version 0.2.0.

0.2.0

Version 0.2.0 introduces the final shape of the dotAtlas JavaScript API. While the API is not compatible with the 0.1.x releases, further compatibility-breaking changes to the API are unlikely.

New features

Custom elevation color bands

You can now customize the colors used to draw elevation bands using the colorBands option of the elevations layer.

Map legend

You can also read the current colors and the corresponding elevation levels to create a legend for your map.

Label font customization

You can now change the size, family, style, weight and variant of the font used when drawing dotAtlas labels. See the labels layer documentation for more details.

Improvements

Rendering performance

Version 0.2.0 improves the speed of rendering by reducing the size and the number of costly blur operations.

API changes

Per-layer API

Each dotAtlas layer is now an API-bearing object, having the get(), set(),on() and off() method, along with layer-specific options, events and methods.

Layers can now be created using the DotAtlas​.createLayer() static method. The returned object is the entry point to layer-specific options, events and methods.

DotAtlas.embed()

Version 0.2.0 changes the way dotAtlas is initialized. Instead of calling the constructor, use DotAtlas​.embed() to embed dotAtlas into the page.

dataObject option replaced with layers

Data to visualize is now provided as the layers option of dotAtlas instance. The value of the option must be an array of layer object instances created using DotAtlas​.createLayer().

Extensions

The API comes with experimental support for creating extensions to the base dotAtlas API. dotAtlas currently ships with two extensions:

  • carrotsearch.dotatlas.theme.js: adds support for switching between light and dark color theme for the map,

  • carrotsearch.dotatlas.autoresizing.js: resizes dotAtlas on every change of the browser window dimensions.

Please see the using extensions article for more details.

0.1.2

Demo of a workaround for the lack of label hover detection.

0.1.1

WebGL support detection fix.

0.1.0

Initial pre-release version.