ZingChart Changelog

Features

autoFit: [false,true] will allow for autofiting the scales on [min,max] values to be set individually. autoFit: true will default to [true,true].

es6 export/import version of the library. Allows for import of the library through script modules with import zingchart from 'zingchart/es6';

After download from npm you can import ZingChart with the following:

import {zingchart, ZC} from 'zingchart/es6';
import {pareto} from 'zingchart/modules-es6/zingchart-pareto.min.js';

New Documentation

- Site docs on getting started
- API Events
- API Methods

Notable Fixes

- Fixed CSV download for time-series returning false values.
- Fixed issue with custom tooltip tokens.
- Fixed <`%scale-key-text` returning wrong value.
- Fixed commenting scaleX object label causing error in CSV excel spreadsheet.
- Fixed complications between autofit and valueboxes.
- Fixed edge case where legend was overlapping charts.
- Fixed null value in bullet charts still showing up.
- Fixed issue with collapse:true on legends without minimize:true.
- Fixed 'zoom-to-values' not working in scaleX.
- Fixed missing ticks in Chord diagrams.
- Fixed ghost value boxes appearing in select zoom circumstances.
- Fixed scale angling bug with 3D bar charts.
- Fixed setseriesvalues API bug with plotindex parameter
- Fixed setguide API method on mobile
- Fixed chord diagram missing ticks
- Fixed `collapse:true` breaking legend
- Fixed null values on bullet charts
- Fixed shared legend on population pyramids
- Fixed `border: 'alpha'` not showing up with animations

New Features

- Heatmap Plugin - standalone or integrated with various existing chart types.
- Heatmap over XY chart. Demo
- Heatmap over Radar chart. Demo
- Heatmap over geographic maps, static. Demo
- Heatmap over geographic maps, live. Demo
- Heatmap configured as scatter chart with 1M nodes. Demo
- Standalone Heatmap set up to mimic the Game of Life. Demo
- Various performance related updates.
- Added logarithmic progression on treemaps.

Bug Fixes

- Fixed label positioning issues on maps.
- Fixed inconsistent zoom levels when scrolling charts.
- Various minor fixes.

New Features

- New OrgCharts.
- Introduced ability to hide specific goals for bubble charts. Demo
- Reduced the limits of zoom to minimum 2 scale steps and 10x10 pixels. Demo
- Allow pagescroll mobile context menu item to be disabled.
- Standard behaviors can be overridden by gui settings set for each graph.
- Mobile touch scroll zooming will now scroll on nodes.

Bug Fixes

- Fixed alpha attribute for type poly objects.
- Fixed bug where legend and view source were blocking scrollbar in certain areas.
- Fixed download XLS option giving corrupted file warning in certain excel versions.
- Fixed double data tables edge case.
- Fixed Venn Diagram tooltip issues.
- Fixed zoom bug breaking specific charts.

Follow @ZingChart on Twitter and https://codepen.io/collection/DKmrrG/ for demos.

New Features

- Tree module (hierarchy trees and force directed graphs)

- BubbleLegend module

- Built-in logic for choropleth maps

- ColorScale module
- Ability to customize container for DataTable view

Bug Fixes

- fixed issue with chart failing to load on 100% stacked areas with no data
- fixed visual issues with bullet stacked charts
- fixed visual issues with gauge charts
- fixed issues with DataTable view in full screen mode
- fixed associations on multiple scales sharing string values
- fixed tooltip positioning via API
- fixed minor bug related to secondary scales zooming
- applied minor tweaks on 3dline and 3darea charts

Follow @ZingChart on Twitter and https://codepen.io/collection/DKmrrG/ for demos.

New Features

- New DepthChart plugin. Demo
- New BubblePack plugin. Demo1 Demo2 Demo3
- New pieTransform options for pie charts. Demo1 Demo2 Demo3 Demo4 Demo5
- Tokens %kv and %scale-key-value no longer transform dates, they display the given value. To transform dates, use %kt or %scale-key-text.

Bug Fixes

- Fixed decimal data displays on scales.

New Features

- Radar chart with piano aspect. Demo
- Clustering nodes attribute. Demo1 Demo2 Demo3 Demo4

Bug Fixes

- Fixed touch zoom pinch dragging on node.
- Fixed destroy method error.

New Features

- New Sunburst type chart. Demo1 Demo2

Performance Features

- Memory management improvements.
- Improved error handling on edge case scenarios.

Bug Fixes

- Fixed edge case where scaleX had double month labels.
- Fixed issue where last two points would register as a single hover event.
- Fixed conflicts between chart resize and destroy calls.

New Features

- Added rgba to include alpha properties.
- Allow getobjectinfo method for scales to return x/y information and height and width. Demo
- Added functionality to right click export csv, xls and showing a html table with the data.
- New Heatbar chart. Demo
- New Grouped Data Bar chart. Demo
- New Hexmaps plugin. Demo1 Demo2 Demo3
- New Sparklines chart. Demo
- New Pictograph Module. Demo
- New Scatterplot Matrices. Demo 
- New Variable Width Bar Chart. Demo
- New Vector Plot Chart. Demo1 Demo2
- Improved column highlighting. Demo

Bug Fixes

- Fixed CSS transform tooltip issue.
- Allow alpha to work on markers with label tolerance.
- Fixed ring chart issue with value 99.99.
- Fixed legend overflow issue
- Fixed treemap labelclick event issues with pathway.
- Fixed memory leak issues.
- Fixed edge case zooming bug.
- Fixed pre build exception error.
- Fixed rgba issue causing blue lines.
- Fixed range band working with rgba.

New Features

- New Scorecard type charts! Article
- New Zoom style buttons! Demo1 Demo2
- Added new parameter to specify file name when using exportimage api. Demo
- OffsetX now works on tick objects. 
- Drag zooming now works if started on a node. Demo
- fixed-items attribute now works on the default chart state.
- New Angular 5 integration demo. Demo
- New React JS integration demo. Demo
- New Vue JS integration demo. Demo

Bug Fixes

- Fixed hooked labels not aligning properly on horizontal bar charts.
- Fixed an edge case zooming bug when using preview and legend hover.
- Fixed getdata to work in fullscreen mode.
- Fixed zooming and appendseriesdata api causing charts to disappear.

New Features

- Added new scale label placement options. Demo
- Added new Preview Scales format. Demo
- Added crosshair timeout for mobile charts. Demo
- Added labels to be parsed on %kt and values to be parsed on %kv and %kt. Demo

Performance features

- Implemented performance updates on 3D systems.
- Improved optimization for charts with large data sets.
- Improved export server performance speed.

Bug Fixes

- Fixed selection on individual bars with desktop/mobile.
- Fixed animated gifs in the noData object.
- Fixed Chord Diagram small white ghost cords.
- Fixed png/pdf export failing in old IE versions in fullscreen mode.
- Fixed scaleX tooltips that would not show up if values were set in scaleX object.
- Fixed edge case where zooming in/out and hovering legend would sometimes leave unwanted lines on line charts.

New Features

- Improved preview window usability and feature improvements. Demo
- New “Spark” theme available. Demo
- Added new legend checkbox types. Demo1, Demo2, Demo3
- Added show-zero attribute in the plot object to show zero percent in a pie chart. Demo
- Added Singapore in the world countries map. Demo
- Added feature to allow disabling right click context menu but still allowing the context menu to be opened with API calls. Demo
- Made the scroll handle easier to click when zooming. Demo

Performance features

- Minor tweaks to library to improve performance with large datasets.

Bug Fixes

- Fixed bug where crosshair plot-area guide labels were not showing for series with only one point.
- Fixed issue where noData attribute was not being applied via theme. Note: noData object is required in the main JSON for this to work. Demo
- WordCloud charts are now forced to show all items regardless of the size of the chart. Demo
- Fixed a ZingChart library console error associated with Chrome 65.
- Fixed bug where the Valley county of Montana was missing.
- Fixed issues with appendseriesvalues api.
- Fixed issue where removenode method was not working if there was a null value.
- Fixed phantomJS export bug where labels were not exported correctly.

New Features

- Added vrange type charts. Demo
- Added sticky tooltips on labels with HTML content. Demo

Performance Features

- Fixed memory leak introduced by map node cloning.

Bug Fixes

- Fixed bug making the treemap turn all black when "aspect-type":"default" and when all values are the same. Demo
- Fixed treemap transitions when the chart contains multiple treemaps.
- Fixed side effects from 2.6.1 to 2.6.2 update:
	- Fixed broken defaults like palettes are not being applied.
	- Fixed value boxes being displayed by default.
	- Fixed legends being displayed by default.
- Fixed issue where multiple boxplots in one graphset would cause whiskers to disappear or connect to the other boxplot. Demo1, Demo2
- Fixed bug where horizontal histograms were not accepting offsetX/offsetY on scaleX. 
- Fixed issue with pie valueboxes showing wrong values when plots are toggled.
- Fixed issue with crosshair control on specific page positioning.
- Fixed issue where tooltip would stay after selection of bars.
- Fixed error in FireFox caused by draggable legends.
- Fixed issue with horizontal bar charts where if step was set the chart would disappear.
- Made draggable work properly on shared charts.

New Features

- Labels for groups of bars. Demo
- Set max width of bars using bar-max-width. Demo
- Set title as clickable url. Demo
- Allows y-axis to function like the x-axis with zooming and using string labels. Need to use step:1, fixed-step:true on scale-y object. Demo
- Allows Legend state as collapsed using collapse:true in the legend object. Demo
- Allows aligning 0 on multiple Y-Axis'. Demo
- For valueBox placement with radar added placement options (in/out/over).
- Set scaleY 0 index to be plotted at 0%. Demo
- Added additional layouts for plotLabel, especially useful when plotLabels are too large and cut off. Demo
- scalableyaxis plugin allows for users to drag scales. Demo
- Added "preview-state" object to series items to be able to override style displayed in the preview box. This only applies to bar, line and area charts. Demo
- Added custom alpha-area for a specific node in a series. Demo
- Added additional layout for plot label. Demo
- Added functionality to allow linking in the chart title. Demo

Updated Features

- Updated NodeJS build
- New chord attribute "group-padding": 110 allow for radial space between bands for a different chord look. Demo
- Added multiguide plugin to pin crosshairs to the chart by clicking. Demo

Performance Features

- Complete reset of ZC.cache when reaching the max cache limit in the browser.
- New development flag DEV.SKIPTCONTEXTMENU to skip rendering the context menu. Demo

Bug Fixes

- Fixed issue with mobile plugin causing errors when crosshairX is disabled.
- Fixed issue with 1px borderTop not rendering on some bars.
- Fixed issue with exporting charts when output set to 'SVG' on IE returning image data of -1.
- Fixed Line Issue with newest Node.js build throwing error.
- Fixed issue with getxyinfo method returning wrong values when chart containers has CSS matrix transformations.
- Fixed issue with preview not toggling with legend click.
- Fixed issue with tooltip not being destroyed with realtime charts.
- Fixed issue when resizing the window the chart series order gets mixed up making the chord chart relationships invalid.
- Fixed issue with download svg on context menu.
- Fixed issue with crosshairY not working with hotfix4.
- Fixed issue on zooming on maps with "scaled" items (AK in USA for example). Demo
- Fixed issue with area charts not stacking correctly.
- Fixed issue with value box showing double values due to overlap. Demo
- Fixed Y-scale zooming. Demo
- Fixed value boxes disappearing on selected state the first click and appearing on subsequent states. Demo
- Fixed selected state for calendars. Demo
- Fixed issue displaying single bar plot on X axis having extra space. Demo
- Fixed bug with preview not toggling on modify plot. Demo
- Fixed issue where tooltip persisted on real-time plots. Demo

New Features

- scalableyaxis plugin allows for users to drag scales Demo
- Added "preview-state" object to series items to be able to override style displayed in the preview box. This only applies to bar, line and area charts. Demo
- Added "connect-nulls" to series items (works currently only on line/area in fast mode) to draw lines through large breaks in data that are filled with null values Demo
- Arrow tip removal through aspect: [0,0] Demo
- New zoom variables emitted xzoomed : true || false
yzoomed : true || false. Hiding and showing buttons on Zoom is now a breeze. Demo
- Added support for CSS matrix transformations on chart containers Demo

Updated Features

- New chord attribute "group-padding": 110 allow for radial space between bands for a different chord look Demo
- Added multiguide plugin to pin crosshairs to the chart by clicking Demo
- Maps scrolling flag allows you to turn scroll zoom on and off Demo
- gauge charts to csv parser Demo
- placement option for radar value box  placement: (in | over | out). Position can also be tweaked with offset-r attribute Demo
- Added collapse:true to legend to force minimized initial state Demo
- Added single-line: true attribute in crosshairX. Ised with exact: false it will show all plot labels but display only one crosshair line and scale label. Typicall used when null values are present and multiple guides are showing up.
- Added alt tags to image map for 508 compliance. Alt tag is empty and will pass the 508 compliance test telling screen readers it is decorative and not informational.
- Image export APIs and routines now export preview window state (both SVG and CANVAS) Demo
- "auto-fit": true || false as an option of the 3d-aspect object. If true, the zoom attribute is modified automatically so that the chart will fit into the container (takes into account plotarea margins).
- label_click events for title and scale label objects
- Custom tokens added for scale-x and scale-y to allow for custom scale tooltip textarea Demo

Performance Features

- Complete reset of ZC.cache when reaching the max cache limit in the browser.
- New development flag DEV.SKIPTCONTEXTMENU to skip rendering the context menu Demo
- New development flag  DEV.SKIPPROGRESS to skip rendering the waiting log  Demo
- Updates for speed when rendering bar charts Demo
- Updates for speed when rendering bubble charts Demo
- optimization for checking the logo only once when there are multiple charts on the page
- preview chart rendering optimizations for speed
- Replaced eval() statement on jsRule which was causing a minor memory leak

Bug Fixes

- Fixed issue on zooming on maps with "scaled" items (AK in USA for example) Demo
- Draggable legends will now retain their relative position in case chart resizes.
- plotarea margin: 'dynamic' accounts for rotated text spacing
- Scrolling over charts when maps are loaded on the same page causing script errors
- Legend state (with toggle-action:remove) will persist on chart update/reload
- Fixed zingchart.maps.zoomTo() being obfuscated
- Duplicate gui object in the chart JSON after render
- stacked bar charts throws script error when first series contains all null values
- Disabled zooming and scrolling on funnel charts because those attributes flipped the chart upside down
- Fixed error on null funnel nodes
- Fixed issue with printable versions of charts being left in a "detached" state, on the left-top area of the window
- preview fix for VML charts
- Changed floating point detection amongst pie charts
- legend broken with charts created through CSV
- Fixed SVG gradients not being destroyed on guide move
- Fixed zoom/scroll behavior on mirrored scales
- Fixed bug with zoomTo call when scale-x is not defined
- Fixed legend DOM node not being cleared on chart repaint
- Fixed issue with labels displaying that have the hook attributes and the hooked nodes are not visible

ZingChart Build 2.6.0 release notes

Maps Now Have Zooming

Potentially breaking change!

ZingChart now added new ZingChart maps functionality. The new updates include:

- zoom controls
- double click to zoom where cursor is 
- scroll to zoom where cursor is 
- panning 
- zoomTo API Demo
- styling/placement of the zoom controls Demo

In previous versions of ZingChart the maps supported an unconventional and obsolete way of Zooming with x/y coordinates. The new updates allow for zooming, panning and scrolling on maps. We plan to increase the efficiency of this zoom in upcoming releases.

NOTE: The new zooming does not work with bounding-box. This shouldn't be a problem for many, just something that deserves an honorable mention. In this case you should turn off the new zooming functionality.

- turning off new maps zoom functionality Demo

New Features

- ZingChart Maps Zooming Demo
- Stacked bar attributes `%stack-average` and `%stack-length` Demo
- Previously released in v2.5.2 was `%stack-total` Demo
- New svg export functionality. You no longer need just canvas to use `getimagedata` Demo
- Improved Bar Chart rendering speed with `mode:'fast'` coupled with `maxTrackers:0` will increase the render time by over half. Demo
- SVG scatter charts rendering speed were improved. This is the custom code to gain back `tooltips` and `hoverState` Demo
- 3d toolbar has been added back into the build Demo

Updated Features

- TimeZone attribute now supports float values Demo
- plotLabel now supports `rules` and `jsRule`. Great for mapping variables within your `plotLabel.text`Demo
- added extra tokens usable also on node related rules (`%node-x`, `%node-y`, `%node-width`, `%node-height`, `%node-size`)
  - extended parameters passed in the `jsRule` handlers (containing node info: x, y, width, height, size)
  - scaleLabel on `crosshairY` (for value scales), not being bound by nodes, accept the following tokens (%scale-value, %scale-text and %coord) or parameters in `jsRule` (value, text, coord). Coord can be either the x position or the y position, depending on chart type (line vs vline for example)
  - scaleLabel now supports `rules` and `jsRule` Demo
  - `removenode` API method now accepts `nodekeyvalue` as parameter Demo
  - node information now contains selection status for that node
  - added `minMarker` and `maxMarker` objects to allow for different marker styling on **Range** charts Demo
- New Logic for the attribute `exact:true` and displaying crosshair appropriately. 
- 3d chart logic was revamped to allow annotations and cooler depth styling Demo
  - improved 3d layout online,area, reverted display order on z axis, fixed clipping
  - added depth attribute for plot (to be able to force size of the plot band) 
  - added axis object on scales
  - implemented both toggle actions (hide | remove)
  - fixed placement of objects using hook attributes in the 3d space
- added a global object `graph`, positioned at same level as `graphset` which will propagate on all graphs of the graphset. Much like`plot` does to `series` Demo
- Added `object:true` option to `update` API to ease the work with objects. Multiple additions of objects have to be set with `update:false` parameter and after all object additions, `update` API needs to be called.
- Added 'max-values' parameter to `addseriesvalues` to force the chart to remove old nodes when appending new ones Demo

Bug Fixes

- Line chart with `aspect:'spline'` works with `preview` object
- Scale tooltips always displaying 0 index of scale in tooltip
- Chord diagram labels fixed. Original `plotarea` changes in v2.5.0 broke the vertical item labels Demo
- `background-color` within `ring` object on Gauge charts
- `%total` and `thousandsSeparator` within the `tooltip` object now works Demo
- Borders on `legend.header` and `legend.footer` work independently
- 100% height and fixed chart width no longer resizes the chart on load
- Rendering bug on html-tooltips with `placement` attribute
- Issue with crosshairs when `plotLabel` has `header-text`
- Selection tool no longer fires when dragging `preview` window
- `zoomTo` issues with graphs in a `graphset`
- dual plotted line with Line chart with `aspect:'spline'`, a couple points and small chart width
- Pie Chart disappearing with odd values like `values:[110.67]`
- `valueBox.backgroundColor` fixed on charts with `output:'canvas'` Demo
- Bar sizing issue when `hooked` labels exists in JSON and user is zooming in & out of the chart.
- `crosshairs` on multiple vertical charts with shared `crosshairs` Demo

Range Charts

- rendering issues with `aspect:spline`
- markers disappearing on chart zoom
- implemented `preview` window

Download here

New Features

- '%stack-total' will allow you to easily figure out which bar plot is at the top of your stack. You can now easily display a `valueBox` at the top of your stack!
  - Demo
- `valueBox` array for bullet charts. You can define the two types of `valueBoxe`'s you want through `placement: goal || top`.
  - Demo

Updated Features

- Selection tool allows `click` to be registered. This enables the capability to click and clear selection
  - Demo
- Added 'data-append-selection: true | false' to plot to allow for multiple groups of selection.
  - Demo
- Hiding a plot with `hooked` labels to nodes will also hide the labels now. Whether or not you have `legend.toggleAction` defined as `remove` or `hide`.

Bug Fixes

- Gauge value-box missing on non-animated charts
- Fixed bar bounds not being updated on animation (causing selection tool failing to detect proper intersections)
- Fixed bug with `stack` attribute
- Left side (global ranking) can now be completely hidden via `"options"` -> `"global-ranking" : false`
  Updates on layout
- Fixed issue with bar indexes not being reset on mixed charts resulting in bad display when zooming the chart
- Resize event using cached size values fixed
- Responsiveness in firefox fixed
- Microsoft edge/ie bug with floating point error values
- Fixed issue with bar sizing on legend toggle when a chart has animation and `"legendToggle": "remove"`
- Fixed bug with scale markers and resize event changing alpha of marker.
  - Cool Demo
- Fixed valueBox disappearing on animated guage chart when resizing window
- Updated setdata event caching old chart attributes
- scale markers changing color on resize fixed
- Stacked bar misaligning labels
- highlight plot and then legend tooltip with mediaRules
- powered by ZingChart logo being appended multiple times
- offsetValue and actual value within 1 getting plotted incorrectly
- multiple crosshairs showing up on data with array of array logic `[[]]`
  - an adjacent solution might be add `crosshairX.exact = true`
- certain animation configurations fixed on waterfall charts

New Features

- Multiple divs + shared crosshairs is finally here!
  - Demo
- Grouped scale text is easily achievable
  - Demo
- Full width crosshair line will highlight tick sections
  - Demo
- `%offset-values` token was added for floating bars
  - Demo
- `scale-v` and `scale-k` tooltips added
  - Demo
- Implemented `active-area` by default for radar charts. `active-area` triggers the `hover-state` when user mouses over the area portion of the plot.
  - Demo
- Grouping of shapes so updates can be applied to them as a whole. Works for maps and shapes.
  - Maps Demo
  - Shapes Demo

Updated Features

- Callback for feeds now passes back graph information so you can use a single function to return different values to different charts
  - Demo
- Selection tool works better with more chart types and styling
  - Comprehensive selection tool information here
  - Bar Graph Demo
- Updated animations with `value-box` for smoother appearance
  - Demo
- Improved performance for stream graphs and feeds
  - Demo
- 3D facets added to the DOM to allow `hover-state` styling for 3D charts
  - Demo
- Extended label hook functionality for scales
  - Demo
- Crosshair `scale-labels` now have better callout positions
  - Demo

Bug Fixes

- Feeds now work with API appropriately. No longer speeds up.
  - This Demo dynamically applies a new set of rules to the chart to determine color during feed runtime.
- Fixed `globals` inheritance issues
- Fixed legend minimization hiding legend issue
- Fixed `preview` window caching old values issue when using API
- Fixed API events causing resize issues
- Fixed issue that when rendering multiple charts, tooltip is sometimes fired on both charts
- Fixed stream chart animation 
- Fixed bug ignoring `scale-r.ring.size` attribute
- Fixed rounding error with `%total` token when total sums to 0 in stacked bar charts
- Fixed preview displaying opposite color when rules are applied to change a chart's color
- Fixed setting `zingchart.ASYNC = true` resize and repaint issues.
- Fixed value box issue for charts starting with plots initially hidden (`visible:false`)
- Fixed `margin:dynamic` issue for chord charts
- Fixed so chord charts with all 0 values will now render
- Fixed dynamically updating pie charts with all plots hidden
- Fixed `offsetStart` and `offsetEnd` on bubble charts

Documentation Updates

- New Kitchen Sink
- New no data JSON attribute
- New Markers Tutorial
- New Graphset Tutorial
- Updated Drilldown Tutorial
- Updated CSV Tutorial

Potentially breaking change!

ZingChart now works well with Flexbox. This is a potential breaking change as ZingChart now has some new behaviors related to zingchart.render({height}) attribute.

In previous versions of ZingChart the height would default to 480px if no container height was defined and no height was defined in zingchart.render()

If a user defines zingchart.render({height:100%}) then the default height is no longer 480px. Now, if the container height is 0px it will look like the chart has not rendered because the chart inherited that height.

The easiest way to alleviate this problem is to set a min height on the container element using CSS.

ZingChart now works well with Flexbox. Demo

New Features

- Selection tool. Demo
- Stream Graphs. Demo
- Stream Graph feed. Demo
- New event for context menu. You can use it to turn off right click on nodes in the following Demo

Updated Features

- added `jsRule` on radar charts. Demo
- background image position has been adjusted for radial charts. Demo
- treemap has new layout options:
  - random
  - squarify
  - squarifyV2
  - balancedV2 default is `balanced`
- added a new hover layer for plot hover state. You can now have hoverstate behind certain items like scales. This option can be enabled with `zingchart.DEV.PLOTSHLAYER`.  Demo
- added new `active` attribute in the `zoom` object to allow disabling of the `zoom mask.` Demo
- If legend item and marker are set to `{visible: false}` the legend will become invisible. Demo
- Selected state now preserved on graph API interactions and resize events. Demo
- Token `%pie-total-value` works with decimals attribute. Demo
- Gauge default tooltip color now inherits from background color. Demo

Bug Fixes

- Fixed individual plot toggling visibility through API methods `appendseriesdata` and `setseriesdata`
- Fixed issue with trailing `dollar_sign` crashing `JVM` on `plot_name`
- Fixed treemap bug with clicking and deleting characters from title name
- Fixed `jsRule` in `valueBox` objects only being called once
- Fixes on canvas text rendering
- Zooming a chart, hovering nodes, then returning zoom level with `viewall` issue fixed. 
- Fixed bug with multiple scales and multiple stacked chart types.
- Fixed bug with multiple chords on the same page.
- Fixed bug with bar plots not being drawn at all when visible:false is set to a series.
- Fixed issue 3d ring charts side wall missing.

Documentation Updates

- New Maps Documentation
- New Docs Navigation

New Media Rules for Responsive Charts

- Media Rules allow you to create responsive charts that can be viewed across different desktop and mobile devices.

Updated Features

- Logarithmic scales are now available on `scaleX`
- Added `zoom:false` flag on zoomto API (to skip the actual zoom on chart)
- Added cubic bezier curves; fixed curves on VML
- Preview is set to live by default for the light and dark themes

Bug Fixes

- Fixed `styles` array bug
- Updated time-series step values for month and year
- Disabled the default `hover-state` on pareto
- Fixed graphset layout not being reset on a setdata API call
- Fixed graph height when absolute positioning is used and 'height' attribute is not provided.
- Fixed crosshair issues on [k, v] data with duplicate k values
- Fixed bugs detecting plots via plotid param on showplot/hideplot API Calls.
- Fixed selection issues
- Legend fixes (bottom position no longer forces the layout)
- Fixed guide issues (guide appearing on wrong chart when graphset has multiple charts)
- Fixed bar dimensions when multiple key scales are used
- Fixed tooltips on drilldown charts
- API Methods appendseriesdata and setseriesdata properly toggle plot visibility now

Documentation Updates

- New Media Rules Tutorial! - this new feature allows you to create responsive charts to be viewed across various desktop and mobile devices.
- ZingChart Help Center - is continually updated with new questions and answers.
- Context Menu
- Scales

New Features

- We created a new Mobile Charts Plugin that allows users to interact with and use touch gestures when reading JavaScript charts on mobile devices. The plugin is currently supported on bar, line, area, scatter, bubble, pie, and donut charts.
  Updated Features
- Enabled heat map scrolling on both x- and y-axes.
- Enabled styling for legend scrollbar and handle.
- Improved the logic on the following bar chart-related attributes:
  - "bar-space"
  - "bar-width"
  - "bars-overlap"
  - "bars-space-left"
  - "bars-space-right
- Improved logic on boxplot legend plotting so that only one legend item/marker is plotted if no data outlier is specified.
- Improved data normalization on bubble charts so that if excess parameters are included in the "values" array, they are automatically omitted.
- Introduced graphid parameter when calling showmenu API.
- Added x and y parameters to the showmenu API to enable context menu positioning.

Bug Fixes

- Fixed addnode API method so that it works for 2D data sets and time-series data sets.
- Fixed calendar charts. Learn more with the Calendar Charts Tutorial.
- Fixed %npv token on standalone labels.
- Fixed "wrap-text" attribute.
- Removed default value boxes from nested pie charts.
- Fixed scale-x.opposite items shift on zoom bug.
- Fixed tooltip.wrap-text.
- Fixed disappearing pie chart on continual legend click (canvas).
- Fixed zoom-to-values so that on a graphset, it applies to all graphs in the graphset.
- Fixed API showplot/hideplot and window re-size so that it doesn't lose legend state.
- Fixed pie chart hover tooltip with window-resize.
- Fixed scale-x.item.flat = false.
- Fixed hideprogresslogo and crosshairX bug.
- Fixed crosshairX so that it displays with multiple series containing null values.
- Fixed dynamic margins on plotarea.
- Fixed so that generated SVG validates against BasicSVG
- Fixed inline HTML and getimagedata so that it parses/renders correctly.

Documentation Updates

- We launched a new ZingChart Help Center! Intended to supplement our existing docs and tutorials, you can search for information on specific chart types and tools. Our recent blog post provides more information.
- New Mobile Charts Tutorial for our new mobile charts plugin.
- Interactive Legends
- Shared Interactions 
- Pie Charts
- Nested Pie Charts

New Features

- Pie Chart / Apple Watch - Demo
- Added detached: true attribute.  This allows designated pie slices to start in the detached position and still maintain expected functionality.
- Added additional API “clicknode”.  The used with the existing label_click event will allow developers to fire the clicknode api via the existing label_click event.
- Added ability to set visibility for preview window.
- Implemented full zooming behavior for heatmaps

Updated Features

- Added %node-percent-value (or %npv) token to standalone labels. Demo
- Added “hover-state” object to error bars. This allows users to turn off hover visibility on the error bars, which is especially helpful on bar charts. Demo
- Expanded error bars to work on inverted charts (hbar, vline, varea), in addition to bar, line, area, and scatter.
- “handle” object on preview charts updated to style all four handles simultaneously. (For individual styling, use “handle-left”, “handle-right”, “handle-top”, and “handle-bottom” objects.)
- HOVER STATE stuff:
  - AREA and LINE charts only: “hover-state” is turned off by default. It turns on when the user creates a “hover-state” object. By default, the “alpha” is now set to 1 and the “alpha-area” is set to 0.25. (Markers are styled separately in a “hover-marker” object.) http://app.zingsoft.com/view/JE2RGL6E
- Tokens
- Scale tooltips display scale values by default
- Default line width on range charts changed to 2
- Solution for crosshair z sorting with legend.  Implemented new attributes to allow developers to set: “top-layer”:”guide” | “legend”
- Added %scale-value as default text in tooltip if nothing is specified

Bug Fixes

- Fixed issue with drawing scale when a plot was set visible:false on chart load then updated via api.
- Fixed small visual inconsistency in the context menu button.
- Fixed hover issue with bubble charts
- Fixed default line-width on range charts to be consistent with current theme.
- Fixed thousandsSeparator in legend
- Fixed issue with zoom-to on scaleX and fixed issue with zoom-to-values on scaleY
- Fixed bug with shard legend.
- Fixed issue with wrapped-text
- Fixex alpha and alpha-area updates for line and area charts
- Fixed setdata on preview console error
- Fixed issue with accuracy of crosshairs
- Fixed hoverState and hoverMarker issue on range charts
- Fixed issue with accepting “scale-y-2”:{},  as scaleY2:{}
- Fixed hoverState issue with funnel chart
- Fixed getplotvalues bug
- Fixed reset preserved zoom status on feed reset bug
- Fixed error with plot info object when chart starts with no data

Documentation Updates

- Error Bars
- Plot/Series Styling
- Standalone Labels
- ZingChart Tokens
- Zooming, Scrollbar, and Preview Chart

New Features

- Extended rules to work with “cursor” attribute in plot:{ } and series:[ ]

Updated Features

- Improved styles:[ ] to now also accept objects for configuring multiple attributes.

Bug Fixes

- Fixed preview window visibility issue
- Fixed ‘setdata’ on preview zoom bug in console
- Fixed IE8 Legend-item interactions

New Features

- valueRange attribute for allowing markers:[] to be associated to scaleX and ScaleY values as opposed to indices.
- Short units for KB, MB, GB, TB, PB 1024 multiples
- Data Normalization Plugin

Updated Features

- Improved animation to allow triggers for legend and api interactions
- Zooming labels improved
- Added alias for radar charts with rose aspect == polar
- Set internal default width to 100%
- Removed explicit default max children for treemaps
- Improve logic for adjust-layout
- Improved logic for dynamic margins

Bug Fixes

- Fixed adjustLayout to compensate for legend paging
- Fixed bug with labels inside of scaleR:{}
- Fixed bug with legend toggleAction: “remove” with shift click
- Fixed nested pie legend bug
- Fixed legend bug with zoom interactions
- Fixed legend cursor bug
- Fixed preview:{visible : false} console error
- Fixed inconsistency between zoomTo and zoomToValues
- Fixed rendering bug for error with incomplete border attribute
- Fixed bug in boxplot drawing logic
- Fixed null data for venn diagrams
- Fixed scroll bars on horizontal bar charts
- Fixed bug when including Δ (delta) in tooltips

New Features

1. Blended Scales - can be used with interactive features such as crosshairs, zooming, scrollbars, and preview charts.
2. Preview charts can be now added to stock charts
3. Fixed Placement Tooltips utilizing `placement` with attributes `node:center`,`node:top`,`node:bottom`,`node:left`,`node:right`, `node:out`

Updated Features

Stock Charts

1. offset-start and offset-end to accept percentage values
2. Added tokens for %open, %high, %low, %close
3. Default tooltip text displays OHLC data

Improved Tokens

Added and improved upon tokens accessible from a tooltip or value-box:

- %scale-value-value (%vv) and %scale-key-value(%kv)
- %scale-value-label (%vl) and %scale-key-label(%kl)
- %scale-value-text (%vt) and %scale-key-value(%kv)

Legend Highlight

`highlight-state` and `highlight-marker` added to highlight a series when a user mouses over a legend item.

Bug fixes

1. Fixed a bug where the view source output order was reversed
2. Fixed an issue where Windows devices with touch and mouse capabilities were not registering crosshair events.
3. Added label inside of scaleR
4. Fixed an issue with stacked bars and null values
5. Alpha area not competing with different colors
6. Issue where batched API calls were not being executed in order.
7. Fixed an issue where markers were sometimes not showing with animated delay.
8. Improved auto margins on 3d charts
9. Added a polyfill for the SVG.offset removal warning in chrome.
10. Fixes to the `styles` object, and it's hover-state behavior
11. Fixed alpha-area attribute on area charts.

Fixes

- Defaults object was being overwritten on certain events; functionality restored. 
- No-data object is functional again.
- Fix on background images for animated and svg charts.

Features

- Removed log-scale and fullscreen options in the context menu by default.
- Reverted new theme hover-state functionality when overriding default styles. Hover state now has to be explicitly defined when overriding color.  
- Node markers for radar charts with area aspect are now disabled by default.
- Placement, tokens, and value box improvements for venn diagrams.
- Ability to align different chart types when using the mixed chart type option. Previously lines and bars were plotted differently according to it's scale-x tick. By setting scale-x.offset = 0, this will auto align the charts to the outer edges.

Fixes

- Added support for GeometryCollection in GeoJSON maps.
- Pie chart light and dark theme value box coloring issues.
- Boxplot whiskers, line-min/max-level styling fixes.
- Gauge chart needle length and increased default aperture. 
- Reduced scale guide width from 2px to 1px and removed scale-x guides by default.
- Fix for pareto value box coloring
- Issues with stacked area rendering

Features

- Changed the sizing logic for bubble charts
  - `min-size` and `max-size` can now be modified to set values of how big or small a bubble should appear
  - Scaling logic for how bubbles are calculated can now be modified by setting the `scaling` property to either `area` or `radius`.
- Aliased `piano` charts to `heatmap`
- Added a new chart type plugin : `bubblepie`
- Added a new `line-style` called `dash-dot` which can be applied to all line shapes including the line chart.

**- New default theme 'light' and alternate 'dark'. **

Note : The new default theme will break charts created using previous builds. A 'classic' theme is provided for backwards compatibility.

The new theme can be set in three different ways:

New Features

  1. Global (ex : zingchart.THEME = 'light';)
  2. In the render object with the 'theme' parameter
  3. In the chart object.
     Precedence cascades as follows global -> render -> chart
- New context menu look and feel for the new theme.
  - Attributes 'docked', 'position' and 'alpha' added.
  - The context menu button can now be shown without being on a mobile device.
- New watermark styling for light and dark themes

Bug Fixes

  - Issue with scrollbar and legend
  - hbullet chart rendering
  - crosshair alignment
  - realtime tooltip flickering
- Gauge Chart
  - Ability to customize the needle indicator
- Bubble Chart
  - Added 'max-size', 'scaling', and 'size-factor' attributes.
  - 'scaling' can set to either 'area'(default) or 'radius'
- Added disputed map areas to the India map.

New Features

- Added “overflow”:”scroll” to legend and added “highlight-legend”:true | false to plot
- Various maps updates.
- Added “week”, “month” and “year” step sizes on time series scales
- Fixed shared crosshair on YX charts
- Fixed scrolling on YX charts
- Improvements on piano (heat map), added rules for value-box elements to be able to style the node and the value-box independently
- Bubble charts now accept negative values. The absolute value is
  used. A rule to differentiate positive from negative values is recommended
- plotarea -> mask-tolerance now accepts an array of 2 values, [(normal layer tolerance in pixels), (hover layer tolerance in pixels)] values, allowing objects/nodes which go outside the plotarea to still be visible

Bug Fixes

- Fixed multiple value-box objects on pie and pie3d charts charts
- Fixed style conflicts when existing page style has a title attribute
- Fixed html-mode tooltips when rendering in canvas
- Math fixes when dealing with very small numbers
- Fixes on guide lines on opposite scales
- Pixel overlap fix on histogram charts
- Preview box now inherits the bg style of the plotarea
- Added crosshair objects to YX charts (hbar, vline, varea, etc…)
- Normal and inversed scales now match 1:1
- Fixes on zoom, scroll, and scroll bars
- Fixed setLineDash problems in canvas
- New toolbar3D and dragging modules
- MODULESDIR path now defaults to directory where library lives, instead of current domain
- Luminance detection for ZingChart watermark
- Legend alignment fixes
- Error bar fixes for negative value nodes, as well as line and area charts
- Transform > item is no longer visible by default
- Fixed issue where scale labels would be painted twice
- Fixes on refresh module
- Updates on piano nodes to allow for inactive nodes
- Gauge charts now allow multiple scales
- %pie-total-value token added for pie charts
- Calendar module
- locktooltip/unlocktooltip API methods added
- Maps now scale by default
- Fixed errors in crosshairs on charts having null values in secondary series
- Fixed markers not appearing on secondary series when labels are grouped
- Fixed opacity issues on radar charts
- Changed default chart dimensions to 640x480
- Updated defineModule() method to require return value from module definition function
  *Improved scale type detection on mixed charts
- Various bug fixes
- Changed labeling for South Sudan from "SDS" to "SSD" in the "world-countries" map module.
- Added "placement": "horizontal" | "vertical" on tooltips
- Fixes for the chord module
- Fixes on canvas 3D charts
- Added labels on zoom boxes
- Improved placement of pie value-box elements
- Fixes on pie3D active area regions