💎 Version 8.8.0
A minor release: charts can follow an Ignite UI theme, two new family tokens, and colour fixes.
Ignite UI theming is an opt-in add-on. Import apexcharts/features/ignite-ui (or load dist/features/ignite-ui.js after apexcharts.js) and charts take their series colours, text, gridlines, tooltips, menus, font and light or dark variant from the Ignite UI theme on the page. Without the add-on, --ig-* variables are ignored. theme.designSystem: false turns it off for one chart.
New tokens: --apx-font-family sets the chart font, --apx-radius-factor scales the built-in corner radii, and a registered theme takes tokens.font.
Behaviour changes to check when upgrading:
- A
chart.foreColor, grid colour or axis colour the page sets now wins over--apx-fore,--apx-gridand a named theme's tokens, even when it equals the default. --apx-font-familyand a named theme'stokens.fontset the chart font unless the page setschart.fontFamily. The context menu, the ink card and the trellis headers, legend and title follow it too (the menus used Helvetica).apexcharts.min.jsgrows by about 4.9 KB gzipped: the token layers moved onto apex-commons 0.10.0, plus the colour fixes. The add-on is 3.7 KB.
- Follow an Ignite UI theme loaded on the page.
- Scale fixed corner radii by --apx-radius-factor.
- Style tooltips and menus from the Ignite UI theme.
- Load Ignite UI theming from an opt-in add-on.
- Align horizontal bar points with the row. Thanks @itisrmk.
- Keep custom legend markers fully opaque (#4711). Thanks @itisrmk.
- Pass context to y formatter in range tooltips. Thanks @itisrmk.
- Keep the selected slice in the centre label (#4013). Thanks @itisrmk.
- Leave no gap for a hidden y axis (#5004). Thanks @nk-batman21.
- Paint modern CSS colours and container-scoped variables.
- Keep a named foreColor, apply a late dark mode on render 1.
- Let ApexCharts.exec reach refreshTokens.
The default bundle is 282,423 B gzipped, up 4,892 B (1.8%) from 8.7.0. The full bundle is 408,174 B gzipped, up 5,497 B (1.4%) from 8.7.0.
Upgrading is npm install apexcharts@8.8.0.
Full changelog, with the detail behind each change: https://github.com/apexcharts/apexcharts.js/compare/v8.7.0...v8.8.0
v4.0.2-alpha.7
更新内置 Lute JavaScript 至 57f1d77d,与 SiYuan 当前使用的解析器内容保持一致,包含短区块 ID 的处理修复。
此版本为预发布版本,npm 分发标签为 alpha。
Release 2026-11-08 01:04
Release 2026-11-08 01:04
- router-devtools-core: restore embedded panel styling (#8888) (bbf9b75808) by @schiller-manuel
- start-plugin-core: define TSS_SHELL in Rsbuild dev for SPA mode (#8805) (c5320d7ca2) by @pujitha24
- vue-start: pre-bundle @tanstack/vue-store so a cold dev start doesn't reload the page (#8869) (d05c6c66e7) by @Sheraff
- router-utils: parse decorators after
export(#8867) (ff157f0079) by @Sheraff - router-plugin: write
import.meta.hot.accept(out in Vite route HMR (#8870) (f420d4a6da) by @Sheraff - start-plugin-core: require exsolve ^1.1.3, and see new entry files after a dev server restart (#8871) (545a8d3790) by @Sheraff
- router-plugin: omit browser warnings from production bundles (#8269) (1ba19a0445) by @LadyBluenotes
- start-plugin-core: keep the app's server.compress on Rsbuild (#8863) (01fab5a6c8) by @Sheraff
- start-plugin-core: pass Start's router options through to the generator and code splitter (#8861) (da8c28c498) by @Sheraff
- router-plugin: point split routes' source maps at the route file (#8860) (b5e2ac9c4c) by @Sheraff
- react-start-client: call HydrationBoundary hooks before the visible() gate (#8653) (d66a84ba0a) by @ethan-huo
- router-generator: type route-group layouts with full path
'/'(#8857) (ad5b3b7a09) by @Sheraff - router-plugin: throw on autoCodeSplitting with esbuild (#8852) (94f36c4a9e) by @Sheraff
- router-plugin: remove
plugin.hmr.styleandHmrOptions(#8856) (533ca27044) by @Sheraff - router-plugin: remove
compilerPluginsand splitter internals from the root entry (#8853) (13b6256830) by @Sheraff
- require Node ^20.19.0 || >=22.12.0 in engines (#8855) (446ce1b306) by @Sheraff
- router-plugin: require Vite 6 or later in the peer range (#8851) (d25081952d) by @Sheraff
- @tanstack/react-router-devtools@1.167.3
- @tanstack/react-start@1.169.5
- @tanstack/react-start-client@1.168.45
- @tanstack/react-start-rsc@0.1.66
- @tanstack/router-cli@1.168.0
- @tanstack/router-devtools@1.167.3
- @tanstack/router-devtools-core@1.168.3
- @tanstack/router-generator@1.168.0
- @tanstack/router-plugin@1.169.0
- @tanstack/router-utils@1.163.0
- @tanstack/router-vite-plugin@1.167.49
- @tanstack/solid-router-devtools@1.167.3
- @tanstack/solid-start@1.169.5
- @tanstack/start-plugin-core@1.171.56
- @tanstack/vue-router-devtools@1.167.3
- @tanstack/vue-start@1.169.5
@tanstack/vue-start@1.169.5
-
#8863
01fab5a- The Rsbuild plugin keeps the app'sserver.compresssetting instead of always setting it tofalse. Compression stays off by default: a compressed streamed page reaches the browser only once the stream ends. The optional@rsbuild/corepeer is now^2.0.5, the first version whose compression keeps SSR response headers intact. -
#8869
d05c6c6- Vite dev: Vue Start pre-bundles@tanstack/vue-router > @tanstack/vue-store, as React Start does for@tanstack/react-store. The first page load on a cold dependency cache no longer re-optimizesvueand reloads the page. -
Updated dependencies [
01fab5a,c5320d7,545a8d3,da8c28c]:- @tanstack/start-plugin-core@1.171.56
@tanstack/vue-router-devtools@1.167.3
- Updated dependencies [
bbf9b75]:- @tanstack/router-devtools-core@1.168.3
@tanstack/solid-router-devtools@1.167.3
- Updated dependencies [
bbf9b75]:- @tanstack/router-devtools-core@1.168.3
@tanstack/solid-start@1.169.5
-
#8863
01fab5a- The Rsbuild plugin keeps the app'sserver.compresssetting instead of always setting it tofalse. Compression stays off by default: a compressed streamed page reaches the browser only once the stream ends. The optional@rsbuild/corepeer is now^2.0.5, the first version whose compression keeps SSR response headers intact. -
Updated dependencies [
01fab5a,c5320d7,545a8d3,da8c28c]:- @tanstack/start-plugin-core@1.171.56
@tanstack/start-plugin-core@1.171.56
-
#8863
01fab5a- The Rsbuild plugin keeps the app'sserver.compresssetting instead of always setting it tofalse. Compression stays off by default: a compressed streamed page reaches the browser only once the stream ends. The optional@rsbuild/corepeer is now^2.0.5, the first version whose compression keeps SSR response headers intact. -
#8805
c5320d7- Withspa.enabled, the Rsbuild dev server answers the SPA shell, as Vite's dev server does, instead of rendering the route and running its loaders on the server. -
#8871
545a8d3- Requireexsolve^1.1.3: a failed lookup that exsolve caches no longer keeps its callers alive, so Start's cached failed lookups no longer hold on to each build's objects. Entry lookups bypass exsolve's process-wide cache, so a dev server restart finds an entry file (such assrc/start.ts) created since. -
#8861
da8c28c- Start's router options now reach the route generator and the code splitter as they do in a router app:- Generator plugins given as
router.pluginsrun (#7768). Start's own generator plugins used to replace them. - A function-form
router.routeTreeFileFooteris called at every print of the route tree. Start's Vite plugin used to print its first result for the whole dev server. - Start's Rsbuild plugin keeps
router.codeSplittingOptions.deleteNodesfor the server build. It used to drop the option there. - Start's Vite plugin finds the client route tree by its exact module id (#8839). With a regular-expression character in the project path, such as
+, the client used to get the full route tree, server-only routes included; a file whose name differed from the route tree's by one character (routeTree-gen.ts) was replaced by the client route tree.
- Generator plugins given as
-
Updated dependencies [
1ba19a0,94f36c4,446ce1b,ad5b3b7,533ca27,13b6256,b5e2ac9,d250819,f420d4a,ff157f0]:- @tanstack/router-plugin@1.169.0
- @tanstack/router-generator@1.168.0
- @tanstack/router-utils@1.163.0