Skip to content

Releases: leeoniya/uPlot

1.6.11

03 Jun 03:38
Compare
Choose a tag to compare

1.6.10...1.6.11

  • fix stroke being wrongly clipped (along with fill) when using bands with non-bars pathbuilders. see grafana/grafana#34904

1.6.10

26 May 15:15
Compare
Choose a tag to compare

1.6.9...1.6.10

  • [BREAKING] legend marker options (width, stroke, fill, dash) have moved from legend inwards to the new legend.markers. these are not commonly used opts, so it felt okay to break them mechanically as part of introducing another marker-specific option (below)
  • legend.markers.show can now be set to false to disable markers and render the labels with the stroke or fill color. (#514)
  • opts.gap for bars pathBuilder
  • formal band manip methods: .addBand(), .setBand(), .delBand(). (#516)
  • new syncRect hook for notifying when .getBoundingClientRect() is called after scroll or resize
  • expose .u-over and .u-under as instance props to reduce need for u.root.querySelector(".u-over"), reduces plugins boilerplate and improves perf
  • ensure axis auto-sizing converges after 3 cycles (fixes infinite loops & ui lockups if externally-provided axis.size() function fails to properly converge)
  • fix join() to not expand undefined values with nulls
  • fix cursor sync setSelect using own scale keys for lookups instead of emitter's
  • fix regression: cannot read 'scale' of undefined error when initializing uPlot with no y series (#519)
  • fix y-scale auto-ranging: treat deltas < 1e-9 as flat. fixes min/max of e.g. 89.69999999999999, 89.7
  • add undefined to AlignedData type series value arrays
  • bars pathBuilder improvements
  • various demos refinements

1.6.9

01 May 22:19
Compare
Choose a tag to compare

1.6.8...1.6.9

  • switch spline paths to use monotone cubic interpolation instead of centripetal Catmull-Rom. this is somewhat less curvey but avoids exceeding min/max y values. (#504)
  • enhancements, fixes and optimizations for cursor.sync
  • fix errors when legend.live: false. (#496)
  • skip updating a hidden cursor when resizing. (#499)
  • avoid error when axis tick increment calc fails, and simply skip rendering ticks. (#503)
  • add fireHook arg to .setCursor()
  • various typings and demos refinements
  • updated benchmarks for all libs

1.6.8

09 Apr 22:24
Compare
Choose a tag to compare

1.6.7...1.6.8

  • new .setLegend({idx}) API and matching hook that fires on legend updates. (#414)
  • new legend.isolate mode (Ctrl+click). (#404)
  • opts.pxAlign and series.pxAlign can now to define the pixel rounding increment to reduce micro-shifting in streaming cases. (#241)
  • axis.values can now be a static array
  • optimized handling of clientRect invalidation during resize and scrolling. also fixes bug that failed to invalidate clientRect of plots when scrolling was of an ancestor container (not window).
  • fix for float math precision issues in ms date handling. (#472)
  • 50% fewer lineTo() calls when only 2 datapoints per pixel
  • data smoothing demo: https://leeoniya.github.io/uPlot/demos/data-smoothing.html
  • new histogram demo below latency heatmaps: https://leeoniya.github.io/uPlot/demos/latency-heatmap.html
  • timeline demo improvements

1.6.7

11 Mar 15:42
Compare
Choose a tag to compare

1.6.6...1.6.7

  • fixes a perf issue with cursor.focus which caused the chart to redraw on every focus change even with alpha: 1 where no visible change happened. this caused a significant perf impact when mousing over a lot of densely-packed series.

1.6.6

09 Mar 05:43
Compare
Choose a tag to compare

1.6.5...1.6.6

1.6.5

14 Feb 23:23
Compare
Choose a tag to compare

1.6.4...1.6.5

1.6.4

02 Feb 03:09
Compare
Choose a tag to compare

1.6.3...1.6.4

  • bands now properly clip strokes, too (e.g. stacking stroked bars)
  • it's now possible to redraw axes without invalidating scales, e.g. to change the tick value formatting or precision. (#437)
  • series._focus prop to help check if a series is focused by cursor (#429)
  • opts.pxAlign & series.pxAlign opts to opt out of canvas translation during path & point drawing (#442)
  • perf improvements to linear path builder when qty of datapoints <= width pixels
  • various tweaks to uPlot.join()
  • multi-bars demo improvements
  • scale-affixed stroke gradient demo: https://leeoniya.github.io/uPlot/demos/gradient-stroke.html

1.6.3

22 Jan 02:18
Compare
Choose a tag to compare

1.6.2...1.6.3

  • fix for bands not filling below 0

1.6.2

21 Jan 21:24
Compare
Choose a tag to compare

1.6.1...1.6.2

  • series.isGap is gone and uPlot.join() now returns the data array directly, with undefined occupying the value locations of alignment artifacts. as a result, .join() internals have been optimized/simplified for a 2-3x speedup.
  • callback signatures for axis.stroke, axis.grid.stroke, axis.ticks.stroke
  • no more defaulting to black when series.stroke is absent. this helps fill-only series.
  • some more robustness to early-exit before trying to draw will empty stroke, empty fill or empty paths.