naver/billboard.js
 Watch   
 Star   
 Fork   
6 days ago
billboard.js

4.0.3

4.0.3 (2026-07-06)

Bug Fixes

  • security: escape attribute context in text background filter (ff22a37)
6 days ago
billboard.js

4.0.2

4.0.2 (2026-07-06)

Bug Fixes

  • canvas: skip line points in subchart (3831ec6)
  • legend: prevent hidden legend hover from dimming visible legends on canvas (3ae8438), closes #4158 #4159
  • tooltip: fix focus point and tooltip for single x-axis (d7cba7f), closes #3968 #4156
26 days ago
billboard.js

4.0.1

4.0.1 (2026-06-16)

Bug Fixes

  • types: add canvas subpath mapping (a6b180a)
26 days ago
billboard.js

4.0.0

4.0.0 (2026-06-16)

The detailed new feature description can be found at:

billboard.js 4.0 release: Canvas rendering mode, 94.3% faster overall in benchmark! (dev.to link)

Bug Fixes

  • background: Correct background image position in canvas (34009de)
  • boost: Correct rootSelector typo in CSS scope initialization (a0673ee), closes #4123
  • boost: Reuse Worker and Object URL to prevent memory leak (fc812fb), closes #3720
  • canvas: address canvas render review issues (70df3f6)
  • canvas: align candlestick labels with wick endpoints (b328da4)
  • canvas: align rendering and touch interaction parity (5944cab)
  • data: Add type check before 'in' operator in JSON dot-notation path resolver (67c00b9), closes #4116
  • data: Handle non-array value for data.json (dc5d04c), closes #4103
  • types: Add file extensions to types (02c7bf6), closes #4097
  • types: Export shape option types from main entry point (#4109) (f4a236a), closes #4104
  • util: camelCase SVG tag/attribute matching in sanitizer (631ddc5), closes #4078 #4106
  • util: update sanitization function (#4105) (d492644)
  • zoom: fix drag zoom boundary release and circle transition desync (00f6859), closes #4131 #4131

Features

  • canvas: add canvas rendering mode (200c99e)
  • esm: tree-shakable grid, regions, category modules (678e761)
  • funnel: Rotate and spline option (7a7bf25), closes #4024
  • plugin-tableview: add numberFormat configuration option (2abe355), closes #4140 #4141 by @Loksly

BREAKING CHANGES

  • esm: chart.export() and chart.flow() are no longer included automatically in the ESM build. Explicit import required:
  import bb, { bar, exportApi, flow } from "billboard.js";
  bb.generate({ ...bar(), ...exportApi(), ...flow(), data: { ... } });

UMD bundle users are not affected.

  • refactor(esm): remove prototype stubs for export and flow modules

Remove the stub implementations and delete calls that were added as fallbacks — they are unnecessary now that the resolver pattern handles lazy loading directly without stub cleanup.

  • feat(esm): make grid, regions, category APIs tree-shakable
  • Introduce grid(), regions(), category() resolver modules for opt-in ESM import
  • Remove apiGrid, apiRegion, apiCategory from axis resolver
  • Remove internal grid/region renderers from axis resolver
  • Extend Chart/api/stubs with xgrids/ygrids/regions/category/categories stubs
  • Add optional chaining in redraw/eventrect/flow/ChartInternal for grid/region methods
  • Update UMD entry to auto-invoke new resolvers
  • Update ESM entry to export new resolvers
  • Point runtime error docs to new MODULE_IMPORTS.md guide
  • Add tests for new optional modules

Add CHANGELOG-v4.md for release notes and MODULE_IMPORTS.md as the canonical module import guide referenced from runtime error messages.

  • esm: In ESM builds, chart.xgrids()/ygrids(), chart.regions(), chart.category()/categories() now require explicit import:
  import bb, {bar, grid, regions, category} from "billboard.js";
  grid(); regions(); category();  // run once per app

UMD bundle users are not affected — the UMD entry auto-invokes all resolvers.

27 days ago
billboard.js

4.0.0-next.4

4.0.0-next.4 (2026-06-15)

Bug Fixes

  • canvas: align candlestick labels with wick endpoints (b328da4)

Features

  • plugin-tableview: add numberFormat configuration option (2abe355), closes #4140 #4141
2026-06-10 18:32:07
billboard.js

4.0.0-next.3

4.0.0-next.3 (2026-06-10)

Bug Fixes

  • background: Correct background image position in canvas (34009de)
  • canvas: align rendering and touch interaction parity (5944cab)
2026-06-09 18:10:29
billboard.js

4.0.0-next.2

4.0.0-next.2 (2026-06-09)

Bug Fixes

  • canvas: address canvas render review issues (70df3f6)
2026-06-09 12:25:29
billboard.js

4.0.0-next.1

4.0.0-next.1 (2026-06-09)

Bug Fixes

  • types: Add file extensions to types (02c7bf6), closes #4097
  • types: Export shape option types from main entry point (#4109) (f4a236a), closes #4104
  • util: camelCase SVG tag/attribute matching in sanitizer (631ddc5), closes #4078 #4106
  • util: update sanitization function (#4105) (d492644)
  • zoom: fix drag zoom boundary release and circle transition desync (00f6859), closes #4131

Features

  • canvas: add canvas rendering mode (200c99e), #4134
  • esm: tree-shakable grid, regions, category modules (678e761), #4132

BREAKING CHANGES

  • esm: chart.export() and chart.flow() are no longer included automatically in the ESM build. Explicit import required:
import bb, { bar, exportApi, flow } from "billboard.js";

bb.generate({
 ...bar(),
 ...exportApi(),
 ...flow(),
 data: { ... } 
});

UMD bundle users are not affected.

2026-01-23 16:10:45
billboard.js

3.18.0

3.18.0 (2026-01-23)

The detailed new feature description can be found at:

billboard.js 3.18.0: Arc annotations, per-group normalization & enhanced treemap labels (dev.to link)

Bug Fixes

  • color: Fix color update on gradient (9d6d392), closes #4048
  • data: Handle undefined values in total calculation (18a5b9b), closes #4073
  • interaction: Fix data.onover call in touch event (5fe448c), closes #4076
  • load: Update call sequence to be after data are unloaded (f9f4a86), closes #4052
  • text: Fix multiline data labels vertial position (6b5580a), closes #4062
  • text: Fix text alignment to center (9f2960d), closes #4081
  • util: update sanitization function (#4085) (49e079c), closes #4078

Features

  • arc: Intent to ship Arc's annotation (c740a3b), closes #3602
  • data: Intent to ship data.stack.normalize.perGroup (c879c25), closes #4060
  • treemap: Enhance label formatter to include tile size (71c0d06), closes #4066
2026-01-19 15:56:13
billboard.js

3.18.0-next.2

3.18.0-next.2 (2026-01-19)

Bug Fixes