Skip to content

Releases: leeoniya/uPlot

1.1.0

02 Aug 08:51

Choose a tag to compare

  • new: logarithmic scales (via scale.distr: 3)
  • new: uPlot.rangeLog() and uPlot.fmtNum() util funcs
  • new: cursor.dataIdx can now transform the hovered idx to a different data idx used for legend display and cursor hover points
  • chg: all CSS classes are now prefixed with u-. also, some legend classes got better names
  • chg: axis functions now receive axisIdx as an argument
  • chg: axis.split option renamed to axis.splits
  • fix: saner & more consistent scale padding (ranging) behavior
  • demo: log scales
  • demo: stepped-line
  • demo: wheel-drag x-panning
  • demo: latency heatmap
  • demo: box & whisker plot
  • demo: nearest non-null hover
  • various minor perf tweaks and typings fixes

1.0.11

16 Jun 04:46

Choose a tag to compare

  • fix for data gaps (null values) at start and end of datasets when spanGaps: true
  • fix for plots with leading/trailing gaps and only single data point
  • fix for initially empty-data plots improperly retaining initial y-scale min/max after first setData() call
  • fix for deleting a series when legend.show: false

1.0.10

07 Jun 17:13

Choose a tag to compare

  • fix path filling oddities when spanGaps was used with leading or trailing null data. (#253)
    • this includes the removal of the spanGaps' function signature (a minor breaking change to an uncommon api)
  • fix an init bug by setting default y scales (#252)
  • perf optimizations for mousemove & legend display
    • don't re-calc date values on setCursor if cursor.idx didn't change
    • tzDate is expensive to do on mousemove. add fast path for Etc/UTC (since there's less involved for DST & timezone logic) (#252 (comment))

1.0.9

30 May 00:19

Choose a tag to compare

  • many improvements to cursor & zoom-drag behavior by @EmiPhil:
    • reliable snapping to chart edges (#244)
    • adaptive zoom-drag modes with minimum drag distance opts (opts.cursor.drag.uni, opts.cursor.drag.dist)
    • better sync behavior that now defaults to syncing by scale value rather than % across chat widths, this allows much more ergonomic ranger demo implementation & better behavior (opts.cursor.sync.scales):
  • cursor hover points no longer remain visible after zooming to a scale range without data. (#237)
  • graceful fallback when axis.values is customized with a reduced granularity without also reducing axis.incrs (#234)
  • it's now possible to omit both series and data entirely without having to create placeholder data & series (#217)
  • fix series point diameters when series.width: 0.
  • typings fixups, some other minor stuffs.

1.0.8

03 May 21:48

Choose a tag to compare

  • ensure chart position cache is always in sync (#186)
  • ensure scale.range can get current scale min/max (#187)
  • TS defs fixups (#193)
  • various fixes for charts without data

1.0.7

23 Apr 03:31

Choose a tag to compare

  • fix legend showing junk in legend when cursor is enabled without data in chart (#177)
  • .redraw() will now force-rebuild the paths, unless false is passed in to opt out (#183)
  • axis.rotate for user-defined x-axis label rotation (#180)

1.0.6

12 Apr 04:20

Choose a tag to compare

  • fixed scale ranging for a single data points (where dataMin == dataMax) (#164)
  • line smoothing demo is now less horrible (#171)
  • typings fixups (#172, #173, #174)
  • .syncRect() demo

1.0.5

05 Apr 05:50

Choose a tag to compare

  • fix esm build regression caused by recent refactor. (#169)

1.0.4

05 Apr 02:33

Choose a tag to compare

  • opts.fmtDate & new "names" arg for uPlot.fmtDate() for redefining month and weekday names. (#166).
  • .syncRect() for handling plot position changes unrelated to window scroll & resize. (#168)
  • new post-init series apis (#167)
    • .addSeries(opts, idx)
    • .delSeries(idx)

1.0.3

27 Mar 19:13

Choose a tag to compare

  • TypeScript declarations for API
  • better Webpack compat by avoiding a lone use of this
  • perf optimization to point rendering
  • minor api tweaks (u.idxs -> u.series[i].idxs)