Releases: danvk/dygraphs
Releases · danvk/dygraphs
v2.2.1 (2023-02-16)
Future incompatibilities
window.smoothPlotter
will not be set byextras/smooth-plotter.js
any more RSN
New features
- Permit initialising with
[]
as “no data yet” indicator (#597) - The modularisation of the test setup also allows stable access to exported functions (e.g.
Dygraph._require('dygraphs/src/dygraph-utils.js').numberValueFormatter
) 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 - Provide Dygraph.onDOMready(cb) as lightweight jQuery(cb)/… alternative, to keep the demos/tests self-contained
Bugfixes
- Fix synchroniser not calling user’s
drawCallback
when blocked (#953) plus do not redraw unnecessarily - Documentation fixes and improvements including self-checks where possible
- Fix missing legend for
x == -1
(#1002) - Allow ES6-importing the extras (#848) (#989) (#1009)
- Fix broken zoom also in the drawing test (same as #611/#953)
- Resetting
panEdgeFraction
now works - Fix tests/unboxed-spark regression caused by PR #936
- Synchroniser doesn’t force x axis range if unzoomed (#956)
Other user-visible changes
- Fix issue #611 in the drawing demo gallery (#953)
jq
is now also required to build- Fix typos, wordings, apostrophes, etc.
- Export
pickDateTickGranularity
so overridingdateTicker
is easier - Error bars are now properly called high/low bands (#1004), but the options stay the same for compatibility
- Document annotations xval for Date better (#970)
- Document more strongly that series labels must be unique (#960)
- Remove references to nōn-existing
yAxisLabelWidth
option - Fix jsFiddle links from gallery
Internal refactors/fixes
- Shrink
tests.js
source map and make its build reproducible on Debian tests/resizable.html
exposes the graph object, for quick F12 in-browser use- Generate
versions.html
and release notes from new top-levelCHANGES.md
- Modularise dygraphs/tests setup so we can now also test the minified prod css/js (#1028)
- Generate stable orig tarballs for releases ourselves (we still use the NPM ones for binary tarballs)
- Less fragility with arrow function
this
rebinding check
v2.2.0
This is the first “full” release after v2.1.0 with the following news:
Breaking changes
- Stop parsing the deprecated 8-digit ‘YYYYMMDD’ date format (#984) (#985) (#1023)
- GWT “support” is no longer pertinent as we cannot recompile the binary JAR; the latter is still available from the website for now
New features
- Add option to colour the range selector’s veil (#856)
- Add
strokeStyle
option to crosshair plugin (#955) - Support
DocumentFragment
as a result from alegendFormatter
function (#958) (#959) - Add data index to
legendFormatter
data (#965) - Implement
#RRGGBB
/#RRGGBBAA
hex colour parsing - Make
animateBackgroundFade
into an option - Add new
resizable
option usingResizeObserver
on maindiv + CSS - Add offset config for legend div in follow mode (#946)
Bugfixes
- Fix duplicate annotation when having duplicate points (#826)
- Make sure that
canvasx
andcanvasy
properties are initialised from the start (#896) - Fix issue #781 when the y range is zero (#909)
- Synchroniser now calls
highlightCallback
(#935) - Fix
drawAxes
to allow one of two y axes to be drawn (#936) - LEGEND: Don’t show y if value is undefined (#853) (#947)
- Fixed “Cannot read property 'length' of undefined” issue (#962) (#963)
- Two fixes in the calculations of pinch-zoom (#990)
- Fix for double paint of grid of x-axis (#1007)
- Fix number of days in a year (#1012)
- Fix
labelsKMB
andlabelsKMG2
(#571) (#994) (#1022) - Fix label position in
onmouseover
legend mode was never updated - Fix several cases of mispositioning/missizing by enabling elements before using
offsetWidth
etc. - Make it possible to use
logscale
(andsigma
,wilsonInterval
) per-axis (#986)
Other user-visible changes
- Documentation is now shipped (mostly self-contained) in the release
- Tests that use Google JSAPI are now marked ⚠ and no other external content is loaded anywhere
- Calculate legend positioning relative to closest data point (#1013)
- Add missing documentation about annotations
xval
option (#992) - source mapping URLs are now correct (#1027)
- Ship ES5 versions of extras (#952), use them in examples
- Fix documentation/website HTML/CSS/JS bugs (#979) (#1008)
- On the website, external links are now clearly labelled
- The documentation and website now have browsable subdirectories by manually generated directory index files
- Link to UNPKG as CDN as well (to keep neutral; use of CDNs in websites violates the EU-GDPR)
- Most issues with right-to-left languages should now be fixed (#1019)
- Document that Dygraph will misbehave if the main div has padding
Internal refactors/fixes
- Use link href, not link src (#904)
- Add missing semicolon in externs (#964)
- Large build system improvements relying in large parts on Debian and GHA
- Full licence review as part of uploading to Debian (#1024) (#1025) (#1029); drop embedded code copies
- Fix some JSDoc warnings
- Update to contemporary versions of Python 3, jQuery, Babel, etc.
- Add copies of design documents that were previously only available on Google Docs or part of GitHub issues to offline documentation
- Nuke useless semicola after function declaration bodies
- Fix closure type annotation in
hairlines.js
- Remove already commented-out obsolete, or redundant, code
v2.1.0
New features
- Double click event can be captured and cancelled by plugins (#840)
setAnnotations
’ second parameter is now an optional boolean (#851)- Add
pixelRatio
option, which may allow improved performance on smaller screens by controlling the canvas’ pixel ratio (#877) - x axis label and tick logic can now operate at millisecond-level granularity (#893)
Bug fixes
- Repair a bug in “Custom interaction models” demo (#825)
Internal refactors/fixes
v2.0.0
Breaking changes
- JS files were renamed to
dygraph.js
anddygraph.min.js
. - There’s now a
dygraph.css
file that you must include. - Dropped support for old IE and other non-standard browsers. dygraphs works in IE11. I’m not sure about IE9 and IE10.
- Double-click to unzoom zooms all the way out (and ignores
valueRange
). - Dropped old-style per-axis/per-series options.
New features
- Add a
legendFormatter
option (#683) this
is the Dygraph object in all callbacks- pass through (row, col) to
valueFormatter
- Option to not sync range in
extras/synchronizer.js
- Additional options for styling the range selector
getRowForX
methodsetVisibility
can set the visibility of multiple series at once.- crosshair plugin extra
- rebase/straw broom plugin (#590)
highlightSeriesBackgroundColor
optionyAxisExtremes()
method.- Passing strings in native format now throws. (Previously it kinda sorta worked.)
Bug fixes
- Selections are always cleared with animations
- synchronizer calls previously-set callbacks
- synchronizer only syncs when graphs are ready
- Reset on synchronized graphs failed (#524)
- fix to improve synchronizer performance (#658)
- binary search bug fix in synchronizer
- Fix range selection when chart is located inside fullscreen element (#576)
fillAlpha
can be set per-series whenfillGraph
is set.xRangePad
was ignored on unzoom (#657)- Allow selected points where canvas-y coordinate is 0 (#692)
- Using
valueRange
withlogscale
andyRangePad
has unexpected results (#661) - With
drawGapEdgePoints
, unwanted point often drawn at beginning of chart (#745)
Other user-visible changes
legend: follow
positioning changes
Internal refactors
- Code moved into a
src/
directory - Tests use Mocha instead of jstd
- dygraphs is split into ES6 modules and uses some ES6 features (e.g. arrows and destructuring).
- dygraphs is built using Babel and browserify
- Code coverage is tracked continuously
- Bundle size is now tracked continuously
v1.1.0
- dygraphs is now “retina” compatible.
- Dramatically improved performance for filled charts (i.e.
fillGraph
) - More sensible date ticks: “Jan 08” → “Jan 2008”, “29Jan” → “29 Jan”
- Using a non-existent option now throws (with
dygraph-combined-dev.js
) - x-axis log scales
- The
labelsUTC
option forces UTC formatting for all labels. - The new DataHandler system allows for more flexibility in data loading.
- dygraphs has shrunk, because we moved some stuff into “extras” (133 KiB → 122 KiB)
This will be the last major release to support browsers without a native implementation. See blog post for more details.