dygraphs
Version:
dygraphs is a fast, flexible open source JavaScript charting library.
312 lines (301 loc) • 19.6 kB
HTML
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Dygraphs — version history</title>
<link rel="stylesheet" type="text/css" href=".jslibs/bootstrap.min.css" />
<link rel="stylesheet" type="text/css" href="dist/dygraph.css" />
<link rel="stylesheet" type="text/css" href="common/vextlnk.css" />
<link rel="stylesheet" type="text/css" href="site.css" />
<script type="text/javascript" src=".jslibs/jquery.min.js"></script>
<script type="text/javascript" src=".jslibs/bootstrap.min.js"></script>
<script type="text/javascript" src="dist/dygraph.js"></script>
</head>
<body>
<nav id="header" class="navbar navbar-default navbar-fixed-top">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar-responsive-collapse" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/">dygraphs</a>
</div><!-- /navbar-header -->
<div class="collapse navbar-collapse" id="navbar-responsive-collapse">
<!-- TODO(danvk): fill in relevant links here -->
<ul class="nav navbar-nav">
<li class="dropdown">
<a class="dropdown-toggle" id="drop3" role="button" data-toggle="dropdown" href="#">Documentation<b class="caret"></b></a>
<ul id="menu0" class="dropdown-menu" role="menu" aria-labelledby="drop3">
<li role="presentation"><a role="menuitem" tabindex="-1" href="tutorial.html">Tutorial</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="options.html">Options Reference</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="jsdoc/symbols/Dygraph.html">API Reference</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="data.html">Data Format</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="annotations.html">Annotations</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="css.html">CSS Reference</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="versions.html">Version History</a></li>
<li role="separator" class="divider"></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="ie.html">Notes on Internet Explorer</a></li>
</ul>
</li>
<li class="dropdown">
<a class="dropdown-toggle" id="drop4" role="button" data-toggle="dropdown" href="#">Examples<b class="caret"></b></a>
<ul id="menu1" class="dropdown-menu" role="menu" aria-labelledby="drop4">
<li role="presentation"><a role="menuitem" tabindex="-1" href="gallery/">Demo Gallery</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="users.html">List of Users</a></li>
<li role="separator" class="divider"></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="tests/">Test Cases</a></li>
<li role="separator" class="divider"></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://dygraphs.com/fiddle/">Play</a></li>
</ul>
</li>
<li><a class="xnavbar-link" href="download.html">Download</a></li>
<li class="dropdown">
<a class="dropdown-toggle" id="drop7" role="button" data-toggle="dropdown" href="#">Community <b class="caret"></b></a>
<ul id="menu4" class="dropdown-menu" role="menu" aria-labelledby="drop7">
<li role="presentation"><a role="menuitem" tabindex="-1" href="http://blog.dygraphs.com/">Blog</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://stackoverflow.com/questions/ask?tags=dygraphs+javascript">Ask a Question</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://stackoverflow.com/questions/tagged/dygraphs">Stack Overflow</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://groups.google.com/g/dygraphs-users">Mailing List</a></li>
</ul>
</li>
<li class="dropdown">
<a class="dropdown-toggle" id="drop6" role="button" data-toggle="dropdown" href="#">Contribute <b class="caret"></b></a>
<ul id="menu3" class="dropdown-menu" role="menu" aria-labelledby="drop6">
<li role="presentation"><a role="menuitem" tabindex="-1" href="changes.html">Contributors Guide</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://github.com/danvk/dygraphs">Source (Github)</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://github.com/danvk/dygraphs/issues">Issue Tracker</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="https://github.com/danvk/dygraphs/issues/new">Report a Bug</a></li>
</ul>
</li>
</ul><!-- /navbar-nav -->
</div><!-- /navbar-responsive-collapse -->
</div><!-- container-fluid -->
</nav>
<div class="container" id="main">
<div class="row">
<div class="col-lg-12">
<h2>Version History</h2>
<p>For links to download each release, see the <a href="/download.html">Downloads</a> page.</p>
<table class="versions">
<tr id="v2.2.1">
<td><a href="#v2.2.1" title="link">🔗</a>v2.2.1<p class="date">2023-02-16</p></td>
<td class="notes">
<h4>Future incompatibilities</h4><ul>
<li><tt>window.smoothPlotter</tt> will not be set by <tt>extras/smooth-plotter.js</tt> any more RSN</li>
</ul>
<h4>New features</h4><ul>
<li>Permit initialising with <tt>[]</tt> as “no data yet” indicator (#597)</li>
<li>The modularisation of the test setup also allows stable access to exported functions (e.g. <tt>Dygraph._require('dygraphs/src/dygraph-utils.js').numberValueFormatter</tt>) which makes writing one’s own value formatters easier (as usual, proceed with care, exports with an underscore are internal); see <https://dygraphs.com/tests/exported-symbols.html> for the exposed surface</li>
<li>Provide Dygraph.onDOMready(cb) as lightweight jQuery(cb)/… alternative, to keep the demos/tests self-contained</li>
</ul>
<h4>Bugfixes</h4><ul>
<li>Fix synchroniser not calling user’s <tt>drawCallback</tt> when blocked (#953) plus do not redraw unnecessarily</li>
<li>Documentation fixes and improvements including self-checks where possible</li>
<li>Fix missing legend for <tt>x == -1</tt> (#1002)</li>
<li>Allow ES6-importing the extras (#848) (#989) (#1009)</li>
<li>Fix broken zoom also in the drawing test (same as #611/#953)</li>
<li>Resetting <tt>panEdgeFraction</tt> now works</li>
<li>Fix tests/unboxed-spark regression caused by PR #936</li>
<li>Synchroniser doesn’t force x axis range if unzoomed (#956)</li>
</ul>
<h4>Other user-visible changes</h4><ul>
<li>Fix issue #611 in the drawing demo gallery (#953)</li>
<li><tt>jq</tt> is now also required to build</li>
<li>Fix typos, wordings, apostrophes, etc.</li>
<li>Export <tt>pickDateTickGranularity</tt> so overriding <tt>dateTicker</tt> is easier</li>
<li>Error bars are now properly called high/low bands (#1004), but the options stay the same for compatibility</li>
<li>Document annotations xval for Date better (#970)</li>
<li>Document more strongly that series labels must be unique (#960)</li>
<li>Remove references to nōn-existing <tt>yAxisLabelWidth</tt> option</li>
<li>Fix jsFiddle links from gallery</li>
</ul>
<h4>Internal refactors/fixes</h4><ul>
<li>Shrink <tt>tests.js</tt> source map and make its build reproducible on Debian</li>
<li><tt>tests/resizable.html</tt> exposes the graph object, for quick F12 in-browser use</li>
<li>Generate <tt>versions.html</tt> and release notes from new top-level <a href="https://github.com/danvk/dygraphs/blob/master/CHANGES.md"><tt>CHANGES.md</tt></a></li>
<li>Modularise dygraphs/tests setup so we can now also test the minified prod css/js (#1028)</li>
<li>Generate stable orig tarballs for releases ourselves (we still use the NPM ones for binary tarballs)</li>
<li>Less fragility with arrow function <tt>this</tt> rebinding check</li>
</ul>
</td>
</tr>
<tr id="v2.2.0">
<td><a href="#v2.2.0" title="link">🔗</a>v2.2.0<p class="date">2023-01-25</p></td>
<td class="notes">
<p>This is the first “full” release after v2.1.0 with the following news:</p>
<h4>Breaking changes</h4><ul>
<li>Stop parsing the deprecated 8-digit ‘YYYYMMDD’ date format (#984) (#985) (#1023)</li>
<li>GWT “support” is no longer pertinent as we cannot recompile the binary JAR; the latter is still available from the website for now</li>
</ul>
<h4>New features</h4><ul>
<li>Add option to colour the range selector’s veil (#856)</li>
<li>Add <tt>strokeStyle</tt> option to crosshair plugin (#955)</li>
<li>Support <tt>DocumentFragment</tt> as a result from a <tt>legendFormatter</tt> function (#958) (#959)</li>
<li>Add data index to <tt>legendFormatter</tt> data (#965)</li>
<li>Implement <tt>#RRGGBB</tt>/`#RRGGBBAA` hex colour parsing</li>
<li>Make <tt>animateBackgroundFade</tt> into an option</li>
<li>Add new <tt>resizable</tt> option using <tt>ResizeObserver</tt> on maindiv + CSS</li>
<li>Add offset config for legend div in follow mode (#946)</li>
</ul>
<h4>Bugfixes</h4><ul>
<li>Fix duplicate annotation when having duplicate points (#826)</li>
<li>Make sure that <tt>canvasx</tt> and <tt>canvasy</tt> properties are initialised from the start (#896)</li>
<li>Fix issue #781 when the y range is zero (#909)</li>
<li>Synchroniser now calls <tt>highlightCallback</tt> (#935)</li>
<li>Fix <tt>drawAxes</tt> to allow one of two y axes to be drawn (#936)</li>
<li>LEGEND: Don’t show y if value is undefined (#853) (#947)</li>
<li>Fixed “Cannot read property 'length' of undefined” issue (#962) (#963)</li>
<li>Two fixes in the calculations of pinch-zoom (#990)</li>
<li>Fix for double paint of grid of x-axis (#1007)</li>
<li>Fix number of days in a year (#1012)</li>
<li>Fix <tt>labelsKMB</tt> and <tt>labelsKMG2</tt> (#571) (#994) (#1022)</li>
<li>Fix label position in <tt>onmouseover</tt> legend mode was never updated</li>
<li>Fix several cases of mispositioning/missizing by enabling elements before using <tt>offsetWidth</tt> etc.</li>
<li>Make it possible to use <tt>logscale</tt> (and <tt>sigma</tt>, <tt>wilsonInterval</tt>) per-axis (#986)</li>
</ul>
<h4>Other user-visible changes</h4><ul>
<li>Documentation is now shipped (mostly self-contained) in the release</li>
<li>Tests that use Google JSAPI are now marked ⚠ and no other external content is loaded anywhere</li>
<li>Calculate legend positioning relative to closest data point (#1013)</li>
<li>Add missing documentation about annotations <tt>xval</tt> option (#992)</li>
<li>source mapping URLs are now correct (#1027)</li>
<li>Ship ES5 versions of extras (#952), use them in examples</li>
<li>Fix documentation/website HTML/CSS/JS bugs (#979) (#1008)</li>
<li>On the website, external links are now clearly labelled</li>
<li>The documentation and website now have browsable subdirectories by manually generated directory index files</li>
<li>Link to UNPKG as CDN as well (to keep neutral; use of CDNs in websites violates the EU-GDPR)</li>
<li>Most issues with right-to-left languages should now be fixed (#1019)</li>
<li>Document that Dygraph will misbehave if the main div has padding</li>
</ul>
<h4>Internal refactors/fixes</h4><ul>
<li>Use link href, not link src (#904)</li>
<li>Add missing semicolon in externs (#964)</li>
<li>Large build system improvements relying in large parts on Debian and GHA</li>
<li>Full licence review as part of uploading to Debian (#1024) (#1025) (#1029); drop embedded code copies</li>
<li>Fix some JSDoc warnings</li>
<li>Update to contemporary versions of Python 3, jQuery, Babel, etc.</li>
<li>Add copies of design documents that were previously only available on Google Docs or part of GitHub issues to offline documentation</li>
<li>Nuke useless semicola after function declaration bodies</li>
<li>Fix closure type annotation in <tt>hairlines.js</tt></li>
<li>Remove already commented-out obsolete, or redundant, code</li>
</ul>
</td>
</tr>
<tr id="v2.1.0">
<td><a href="#v2.1.0" title="link">🔗</a>v2.1.0<p class="date">2017-12-08</p></td>
<td class="notes">
<h4>New features</h4><ul>
<li>Double click event can be captured and cancelled by plugins (#840)</li>
<li><tt>setAnnotations</tt>’ second parameter is now an optional boolean (#851)</li>
<li>Add <tt>pixelRatio</tt> option, which may allow improved performance on smaller screens by controlling the canvas’ pixel ratio (#877)</li>
<li>x axis label and tick logic can now operate at millisecond-level granularity (#893)</li>
</ul>
<h4>Bug fixes</h4><ul>
<li>Repair a bug in “Custom interaction models” demo (#825)</li>
</ul>
<h4>Internal refactors/fixes</h4><ul>
<li>Fix various spelling mistakes (#844)</li>
<li>Fix a couple of type signatures in <tt>dygraph-externs.js</tt> (#859)</li>
</ul>
</td>
</tr>
<tr id="v2.0.0">
<td><a href="#v2.0.0" title="link">🔗</a>v2.0.0<p class="date">2017-01-11</p></td>
<td class="notes">
<h4>Breaking changes</h4><ul>
<li>JS files were renamed to <tt>dygraph.js</tt> and <tt>dygraph.min.js</tt>.</li>
<li>There’s now a <tt>dygraph.css</tt> file that you must include.</li>
<li>Dropped support for old IE and other non-standard browsers. dygraphs works in IE11. I’m not sure about IE9 and IE10.</li>
<li>Double-click to unzoom zooms all the way out (and ignores <tt>valueRange</tt>).</li>
<li>Dropped old-style per-axis/per-series options.</li>
</ul>
<h4>New features</h4><ul>
<li>Add a <tt>legendFormatter</tt> option (#683)</li>
<li><tt>this</tt> is the Dygraph object in all callbacks</li>
<li>pass through (row, col) to <tt>valueFormatter</tt></li>
<li>Option to not sync range in <tt>extras/synchronizer.js</tt></li>
<li>Additional options for styling the range selector</li>
<li><tt>getRowForX</tt> method</li>
<li><tt>setVisibility</tt> can set the visibility of multiple series at once.</li>
<li>crosshair plugin extra</li>
<li>rebase/straw broom plugin (#590)</li>
<li><tt>highlightSeriesBackgroundColor</tt> option</li>
<li><tt>yAxisExtremes()</tt> method.</li>
<li>Passing strings in native format now throws. (Previously it kinda sorta worked.)</li>
</ul>
<h4>Bug fixes</h4><ul>
<li>Selections are always cleared with animations</li>
<li>synchronizer calls previously-set callbacks</li>
<li>synchronizer only syncs when graphs are ready</li>
<li>Reset on synchronized graphs failed (#524)</li>
<li>fix to improve synchronizer performance (#658)</li>
<li>binary search bug fix in synchronizer</li>
<li>Fix range selection when chart is located inside fullscreen element (#576)</li>
<li><tt>fillAlpha</tt> can be set per-series when <tt>fillGraph</tt> is set.</li>
<li><tt>xRangePad</tt> was ignored on unzoom (#657)</li>
<li>Allow selected points where canvas-y coordinate is 0 (#692)</li>
<li>Using <tt>valueRange</tt> with <tt>logscale</tt> and <tt>yRangePad</tt> has unexpected results (#661)</li>
<li>With <tt>drawGapEdgePoints</tt>, unwanted point often drawn at beginning of chart (#745)</li>
</ul>
<h4>Other user-visible changes</h4><ul>
<li><tt>legend: follow</tt> positioning changes</li>
</ul>
<h4>Internal refactors</h4><ul>
<li>Code moved into a <tt>src/</tt> directory</li>
<li>Tests use Mocha instead of jstd</li>
<li>dygraphs is split into ES6 modules and uses some ES6 features (e.g. arrows and destructuring).</li>
<li>dygraphs is built using Babel and browserify</li>
<li>Code coverage is tracked continuously</li>
<li>Bundle size is now tracked continuously</li>
</ul>
</td>
</tr>
<tr id="v1.1.1">
<td><a href="#v1.1.1" title="link">🔗</a>v1.1.1<p class="date">2015-06-01</p></td>
<td class="notes">
<ul>
<li>Set <tt>this</tt> to the dygraph in all callbacks.</li>
<li>Minor bug fixes.</li>
</ul>
</td>
</tr>
<tr id="v1.1.0">
<td><a href="#v1.1.0" title="link">🔗</a>v1.1.0<p class="date">2014-12-03</p></td>
<td class="notes">
<h4>Highlights</h4><ul>
<li>dygraphs is now “retina” compatible.</li>
<li>Dramatically improved performance for filled charts (i.e. <tt>fillGraph</tt>)</li>
<li>More sensible date ticks: “Jan 08” → “Jan 2008”, “29Jan” → “29 Jan”</li>
<li>Using a non-existent option now throws (with <tt>dygraph-combined-dev.js</tt>)</li>
<li>x-axis log scales</li>
<li>The <tt>labelsUTC</tt> option forces UTC formatting for all labels.</li>
<li>The new DataHandler system allows for more flexibility in data loading.</li>
<li>dygraphs has shrunk, because we moved some stuff into “extras” (133 KiB → 122 KiB)</li>
</ul>
<p>This will be the last major release to support browsers without a native <canvas> implementation. See <a href="http://blog.dygraphs.com/2014/12/dygraphs-110.html">blog post</a> for more details.</p>
</td>
</tr>
<tr id="v1.0.1">
<td><a href="#v1.0.1" title="link">🔗</a>v1.0.1<p class="date">2013-08-29</p></td>
<td class="notes">
<p>Minor bug fixes and updates to web site.</p>
</td>
</tr>
<tr id="v1.0.0">
<td><a href="#v1.0.0" title="link">🔗</a>v1.0.0<p class="date">2013-08-14</p></td>
<td class="notes">
<p>Initial Release. See <a href="http://blog.dygraphs.com/2013/08/announcing-dygraphs-100.html">blog post</a>.</p>
</td>
</tr>
</table>
</div> <!-- .col-lg-12 -->
</div> <!-- /div.row -->
</div> <!-- /div#main.container -->
<!-- TODO(danvk): add a real footer -->
<!--@@@IFIMPRINT:<div class="container" style="border:1px solid green; margin-bottom:1ex;">@@@PLACE_IMPRINT_LINK_HERE_IF_NECESSARY@@@</div>:FIIMPRINT@@@-->
</body>
</html>