5 months and ~400 commits since the initial prototype: https://news.ycombinator.com/item?id=21207132
v1.0 has shipped! - https://github.com/leeoniya/uPlot
A non-exaustive list of features/concerns that have been addressed since v0.1.0:
- A terse, consistent API, (w/ plugins & hooks)
- Timezone & DST handling
- Point rendering
- Bi-directional zooming
- Dynamic data updates (streaming)
- Numeric x scales (non-temporal)
- Area fills & high/low bands
- Dependent scales (°C -> °F)
- Cursor sync across charts
- Highlight closest series
- Axis labeling & positioning
- Bars & OHLC (via tiny plugins)
- Feature gates for even smaller custom builds
A bunch of demos: https://leeoniya.github.io/uPlot/demos/index.htmlAbout a dozen brave early adopters helped me weed out bugs, add features, refine the API and contributed demo code. Without them there'd be no v1.0, so thank you. So far there are some cool use-cases. One user renders several hundred hundred-point charts per page - something that's impossible with WebGL or heavier charting libs. There's been a prototype for Grafana panel integration. The author of Phaser [1] is currently taking uPlot for a perf-monitoring test drive while working on the new engine: https://github.com/phaserjs/phaser4-dev :D
Also, a shout out to the Chart.js guys, who recently tagged v3.0-alpha which performs 3x better than v2 on uPlot's benchmark, and is the only lib to have made any noticeable headway, let alone multiple factor!
cheers!
[1] https://github.com/photonstorm/phaser