maptalks-gl@0.124.4 Released
- draco 升级到 1.5.7 #2823
- 解决ktx纹理和点云渲染的相关bug
- 解决沿线文字偶尔消失的问题 #2825
- 解决3dtiles更新service coordOffset后无法返回的问题 maptalks/issues#940
- 解决地形上无法调整图层zIndex的问题 maptalks/issues#939
- 解决地形上native-point不能读取高程的问题 maptalks/issues#938
@fuzhenn @HGX-DJK
- Upgrade draco to 1.5.7 #2823
- Fix bugs related to ktx texture and point cloud rendering
- Fix the issue where text along lines occasionally disappears #2825
- Fix the issue where 3dtiles cannot be returned after updating service coordOffset maptalks/issues#940
- Fix the issue where the layer zIndex cannot be adjusted on terrain maptalks/issues#939
- Fix the issue where native-point on terrain cannot read elevation maptalks/issues#938
@fuzhenn @HGX-DJK
💎 Version 5.9.0
A new theme.accessibility config object provides built-in support for color vision deficiencies.
new ApexCharts(el, {
theme: {
accessibility: {
colorBlindMode: 'deuteranopia' // 'deuteranopia' | 'protanopia' | 'tritanopia' | 'highContrast' | ''
}
}
})
| Mode | Description |
|---|---|
deuteranopia |
Red-green safe palette (green-weak, ~6% of males) — Wong 2011 |
protanopia |
Red-green safe palette (red-weak, ~1% of males) — Wong 2011 |
tritanopia |
Blue-yellow safe palette (~0.01% of population) |
highContrast |
WCAG AA-compliant high contrast colors + apexcharts-high-contrast CSS class on wrapper |
'' (default) |
No change, existing behavior |
colorBlindModetakes full priority overtheme.paletteandtheme.monochrome— no conflict resolution needed.- TypeScript:
ApexTheme.accessibilitytype added toapexcharts.d.ts. highContrastmode adds theapexcharts-high-contrastCSS class to the chart wrapper for custom CSS targeting; it does not mutate any config options.
Previously, each chart-type sub-entry (bar.esm.js, line.esm.js, etc.) and feature sub-entry (features/legend.esm.js, etc.) bundled its own private copy of all shared ApexCharts utilities (Core, Fill, Graphics, Theme, etc.), resulting in significant duplication when multiple sub-entries were loaded together.
v5.9.0 fixes this:
vite.config.mjs: acoreExternalPluginexternalizes ~60 shared modules from sub-entry builds — they are resolved fromapexcharts/coreat runtime instead of being re-bundled.src/entries/core.js: all shared utilities are re-exported under internal__apex_*names, making them available to sub-entries without additional network requests or parse overhead.src/modules/Core.js: removed a directLegendimport that was pulling the entire legend module into the core chunk unnecessarily; uses the already-initializedctx.legendinstance instead.
Impact: When using the tree-shaking API with multiple chart types or features, total JS parse/execute size is significantly reduced. The apexcharts/core bundle is loaded once; all sub-entries share it.
No breaking changes. The full
apexcharts.js/apexcharts.esm.jsbundles are unaffected. The__apex_*exports incore.jsare internal — do not use them in application code.
- core:
Core.jsno longer constructs a throwawayLegendinstance just to measure legend dimensions — it reads from the already-initializedctx.legendinstance, avoiding a redundant import in the core chunk.
dist/
├── apexcharts.js # UMD bundle (development)
├── apexcharts.min.js # UMD bundle (minified)
├── apexcharts.esm.js # ES module — full bundle (all chart types + features)
├── apexcharts.common.js # CommonJS — full bundle
├── apexcharts.css # Default styles
├── apexcharts-legend.css # Legend styles
│
├── core.esm.js # ES module — bare core (no chart types, no features)
├── core.common.js # CommonJS — bare core
│
├── bar.esm.js # ES module — bar/column/area/line chart type
├── bar.common.js
├── line.esm.js # ES module — line/area/scatter/bubble chart type
├── line.common.js
├── pie.esm.js # ES module — pie/donut chart type
├── pie.common.js
├── radial.esm.js # ES module — radialBar/polarArea chart type
├── radial.common.js
├── candlestick.esm.js # ES module — candlestick/boxPlot chart type
├── candlestick.common.js
├── heatmap.esm.js # ES module — heatmap/treemap chart type
├── heatmap.common.js
│
├── features/
│ ├── all.esm.js # ES module — all optional features bundled
│ ├── all.common.js
│ ├── annotations.esm.js # ES module — annotations feature
│ ├── annotations.common.js
│ ├── exports.esm.js # ES module — SVG/PNG/CSV export feature
│ ├── exports.common.js
│ ├── toolbar.esm.js # ES module — toolbar/zoom/pan feature
│ ├── toolbar.common.js
│ ├── legend.esm.js # ES module — legend feature
│ ├── legend.common.js
│ ├── keyboard.esm.js # ES module — keyboard navigation feature
│ └── keyboard.common.js
│
└── locales/ # i18n locale JSON files (ar, de, es, fr, ja, zh-cn, ...)
Note:
apexcharts.ssr.esm.jsandapexcharts.ssr.common.jswere removed in v5.9.0. SSR usage should import fromapexcharts/coredirectly and callrenderToString/renderToHTMLfromapexcharts/ssr(available since v5.7.0).
💎 Version 5.10.1
Problem: When a bundler (Vite, webpack, etc.) accidentally creates two separate copies of the ApexCharts module - for example when mixing CJS and ESM imports, or when optimizeDeps is not configured - ApexCharts.use() would write to one module's registry while the chart renderer read from another. The chart type was effectively never registered, causing a runtime error.
Fix: The chart type registry is now stored on globalThis.__apexcharts_registry__ instead of a module-local variable. All module instances share a single registry on the global object, so registration is never silently lost regardless of how many module copies the bundler created.
This is a defense-in-depth fix. For best results, configure your bundler to deduplicate ApexCharts (Vite: add
apexchartstooptimizeDeps.include). TheglobalThisregistry ensures the library degrades gracefully even when deduplication is not configured.
💎 Version 5.10.0
Every public chart type now has its own dedicated entry point matching the chart.type string you already use in config. Previously, users needed to know the internal grouping (e.g. apexcharts/heatmap for treemap charts); now you import by the exact type name.
New entry points:
| Import | Chart type(s) registered |
|---|---|
apexcharts/line |
line |
apexcharts/area |
area |
apexcharts/scatter |
scatter |
apexcharts/bubble |
bubble |
apexcharts/rangeArea |
rangeArea |
apexcharts/bar |
bar |
apexcharts/column |
bar (column mode) |
apexcharts/rangeBar |
rangeBar |
apexcharts/candlestick |
candlestick |
apexcharts/boxPlot |
boxPlot |
apexcharts/pie |
pie |
apexcharts/donut |
donut |
apexcharts/polarArea |
polarArea |
apexcharts/radialBar |
radialBar |
apexcharts/radar |
radar |
apexcharts/heatmap |
heatmap |
apexcharts/treemap |
treemap (new standalone entry) |
Example:
import ApexCharts from 'apexcharts/core'
import 'apexcharts/scatter' // instead of 'apexcharts/line'
import 'apexcharts/donut' // instead of 'apexcharts/pie'
import 'apexcharts/treemap' // instead of 'apexcharts/heatmap'
import 'apexcharts/features/legend'
The old grouped entry points (apexcharts/pie, apexcharts/heatmap, apexcharts/radial, etc.) continue to work and register all their previous types — no breaking changes.
When a chart type is not registered (common with tree-shaken builds), the error message now includes a specific hint about Vite's module deduplication as the most likely root cause, and how to fix it via optimizeDeps.include in vite.config.
dist/
├── apexcharts.js # UMD bundle (development)
├── apexcharts.min.js # UMD bundle (minified)
├── apexcharts.esm.js # ES module — full bundle (all chart types + features)
├── apexcharts.common.js # CommonJS — full bundle
├── apexcharts.css # Default styles
├── apexcharts-legend.css # Legend styles
│
├── core.esm.js # ES module — bare core (no chart types, no features)
├── core.common.js # CommonJS — bare core
│
├── line.esm.js / line.common.js
├── area.esm.js / area.common.js
├── scatter.esm.js / scatter.common.js
├── bubble.esm.js / bubble.common.js
├── rangeArea.esm.js / rangeArea.common.js
├── bar.esm.js / bar.common.js
├── column.esm.js / column.common.js
├── rangeBar.esm.js / rangeBar.common.js
├── candlestick.esm.js / candlestick.common.js
├── boxPlot.esm.js / boxPlot.common.js
├── pie.esm.js / pie.common.js
├── donut.esm.js / donut.common.js
├── polarArea.esm.js / polarArea.common.js
├── radialBar.esm.js / radialBar.common.js
├── radar.esm.js / radar.common.js
├── heatmap.esm.js / heatmap.common.js
├── treemap.esm.js / treemap.common.js # new in v5.10.0
│
├── features/
│ ├── all.esm.js / all.common.js
│ ├── annotations.esm.js / annotations.common.js
│ ├── exports.esm.js / exports.common.js
│ ├── toolbar.esm.js / toolbar.common.js
│ ├── legend.esm.js / legend.common.js
│ └── keyboard.esm.js / keyboard.common.js
│
└── locales/ # i18n locale JSON files (ar, de, es, fr, ja, zh-cn, ...)
v4.12.5
- fix(request): return
string | undefinedfrom param() when path type is any by @andrewdamelio in https://github.com/honojs/hono/pull/4723 - fix(jwt): validate token format in decode and decodeHeader functions by @otoneko1102 in https://github.com/honojs/hono/pull/4752
- fix(jsx): Fix "Invalid state: Controller is already closed" by @gaearon in https://github.com/honojs/hono/pull/4770
- chore(eslint): upgrade
@hono/eslint-configby @BarryThePenguin in https://github.com/honojs/hono/pull/4781
- @andrewdamelio made their first contribution in https://github.com/honojs/hono/pull/4723
- @otoneko1102 made their first contribution in https://github.com/honojs/hono/pull/4752
- @gaearon made their first contribution in https://github.com/honojs/hono/pull/4770
Full Changelog: https://github.com/honojs/hono/compare/v4.12.4...v4.12.5
v3.12.2
- VDataTable: improvements for sorting in mobile mode (c3b3278), closes #22288 #22426
- VDataTable: keep fixed cells opaque when loading (35e1e2c), closes #21557
- VSelect: fix screenreader navigation to select options (#22602) (f906336), closes #22226
- VTimeline: keep dot border when using numeric dot size (9511bc3), closes #22499
v4.0.1
- icons: add more iconsets based on UnoCSS (#22668) (6c8bea5)
- styles: CSS variables for fonts (#22666) (84495a3)
- docs: prevent marquee position reset when clicking links (8ffe3d1)
- docs: add overflow-hidden to FAQ expansion panels (#22660) (4906409)
- docs: correct unocss preset logo filename (df15a70)
- theme: put theme stylesheet in body when loaded with unhead (2475a28)
- VBadge: correct props.dotSize fallback (a71f396), closes #22658
- VColorPicker: align sliders with controls (0d1ce90)
- VDataTable: improvements for sorting in mobile mode (54affe1), closes #22288 #22426
- VDataTable: keep fixed cells opaque when loading (ddca6ca), closes #21557
- VGrid: correct mapping for grid gap x/y (65b4278)
- VOtpInput: handle deletion via onBeforeinput for mobile compatibility (#22657) (2f8a4f9), closes #22628
- VPagination: suppress browser spacing (a6b7b93)
- VSelect: fix screenreader navigation to select options (#22602) (6c962b7), closes #22226
- VSlideGroup: don't read dom attributes in computed() (a51b313), closes #22644
- VSlider: reduce affix margins (18af2d2)
- VSnackbar: opaque background for transparent variants (#22646) (e83fa88), closes #18871
- VTimeline: keep dot border when using numeric dot size (6764c95), closes #22499