Skip to content

Changelog & Migration ​

This page explains how Charturbo versions change and lists the breaking changes you need to act on when upgrading. The full list of changes is in the CHANGELOG.

Versioning (0.x) ​

Until 1.0.0, Charturbo follows the SemVer 0.x convention:

ChangeVersion partExample
Incompatible public API change: renamed or removed names, signatures, defaults, event payloads or exported types; intentional rendering changes; narrower browser / Node / peer supportminor0.1.x → 0.2.0
Backward-compatible additions: new chart types, options, methods or exported typesminor0.1.x → 0.2.0
Bug fixes, performance, docs, internal changes that do not change renderingpatch0.1.0 → 0.1.1
  • A minor release can contain both new features and breaking changes. Breaking changes are listed in the CHANGELOG with migration steps.
  • The npm default range ^0.1.0 (>=0.1.0 <0.2.0) receives patches only. Read the CHANGELOG before a minor upgrade.
  • Deprecated APIs are marked @deprecated in JSDoc and kept for at least one minor release before removal.
  • The public API is what charturbo, charturbo/inline, charturbo/react and charturbo/vue export. The WebAssembly bindings (snake_case methods of WasmCharturboEngineBackend) and internal paths (dist-lib/sdk/*) are not public API.
  • Pre-releases use versions such as 0.2.0-rc.1 and the npm next tag.

Current status ​

0.1.0 is the first release and is not published yet. The changes below are in the unreleased section and matter if you built an earlier snapshot from source.

Breaking changes ​

Renamed to Charturbo ​

The product was renamed. Replace the old names:

BeforeAfter
package viz-engine-sdkcharturbo
viz-engine-sdk/inline, /react, /vuecharturbo/inline, charturbo/react, charturbo/vue
VizEngineSDKCharturbo
VizDeviceCharturboDevice
VizInitErrorCharturboInitError
VIZ_THEMESCHARTURBO_THEMES
Other Viz* types (VizTheme, VizEventMap, VizCreateOptions, ...)Charturbo* (CharturboTheme, CharturboEventMap, CharturboCreateOptions, ...)
React / Vue VizChart, useVizChartCharturboChart, useCharturboChart
WebAssembly file viz_core_bg.wasmcharturbo_core_bg.wasm
UMD file viz-engine-sdk.umd.cjs, global VizEngineSDKcharturbo.umd.cjs, global Charturbo
CSS classes viz-sdk-*charturbo-sdk-*
Export opt-out attribute data-viz-export="false"data-charturbo-export="false"
ts
// Before
import { VizEngineSDK } from 'viz-engine-sdk';
const sdk = await VizEngineSDK.create(canvas);

// After
import { Charturbo } from 'charturbo';
const sdk = await Charturbo.create(canvas);

Update stylesheets that target the overlay classes, and any setWasmSource path or copy step that names the .wasm file.

stepPhysicsAsync resolves at submission ​

The GPU graph step now keeps the layout on the GPU. See the Unreleased section of the CHANGELOG.

BeforeAfter
The promise resolved after the GPU result was read back and appliedThe promise resolves once the step is submitted; the CPU copy of positions trails by one or two frames
Data or force changes made during a GPU step caused that result to be rejectedCPU edits (moveNode, pinNode, styles, loadDataset, stepPhysics) are applied in order

If you pick nodes, export, read node details or check isSleeping() right after a step, wait for the positions first:

ts
await sdk.stepPhysicsAsync(0.016);
await sdk.syncPhysicsPositions(); // only when positions must be current
const id = sdk.pickNodeAtNdc(x, y);

Still await each stepPhysicsAsync before starting another; overlapping calls throw A physics step is already pending.

Built-in text and numbers follow the locale ​

Built-in UI text (accessibility summaries, data tables and CSV headers, default tooltips, legend, breadcrumb and colorbar labels, default series names, the PDF title) is now English, Korean or Simplified Chinese depending on the locale. This also changes some English output:

BeforeAfter
Numbers formatted as en-USNumbers formatted with the chart locale; without one, the page language (<html lang>), then the browser language
Default scatter series names counted from 0Counted from 1 (Series 1)
getNodeDetails().metadata.description of combo, line and bar points always in KoreanFollows the locale
Box-plot percentile whiskers 1th; other English wording1st; OHLC keyboard help, data table title, pie "Other" tooltip and combo description corrected

To keep English text and en-US numbers regardless of the page language, set the locale explicitly:

ts
const sdk = await Charturbo.create(canvas, { locale: 'en-US' });

Tests or snapshots that compare summaries, CSV headers or tooltip text may need new baselines. See Internationalization.

Deprecated options ​

These options are still accepted but have no effect or map to a replacement. Remove them when you touch the code:

OptionStatus
LineSeriesDescriptor.zOffsetIgnored; the engine lays out series depth
LineSeriesDescriptor.pointSizeUse marker: { size } (mapped to it when marker is not given)
BarChartItemDescriptor.row, colIgnored; the engine computes the 3D layout
ScatterChartData.zIgnored; the scatter chart is 2D
ScatterChartOptions.viewModeOnly '2d' is supported

See also ​

MIT License