v5.108.4
-
Speed up non-CSS-Modules parsing by not building unused selector AST nodes. (by @alexander-akait in #21324)
-
Speed up non-CSS-Modules CSS parsing by dropping value tokens nothing reads. (by @alexander-akait in #21324)
-
Resolve HTML asset URLs against the document
<base href>. (by @alexander-akait in #21329) -
Add HTML integration tests: generateError output, ignored src, null-char parse. (by @aryanraj45 in #21328)
-
Reduce CPU and memory overhead of HTML and CSS parsing and code generation. (by @alexander-akait in #21332)
-
Reduce HTML parser memory and CPU by skipping unused AST nodes. (by @alexander-akait in #21323)
-
Reduce HTML parser memory by storing the AST in struct-of-arrays form. (by @alexander-akait in #21331)
-
Key the provided-exports cache on a lazy barrel's still-lazy re-export targets. (by @hai-x in #21326)
-
Default
output.globalObjecttoglobalThisfor universal targets. (by @alexander-akait in #21314) -
Pass through
new URL(...)directory references instead of resolving them. (by @alexander-akait in #21312)
v3.13.0
Features
-
useSimpleTreenow accepts anonChangeoption, called with the full data array after any internal move/create/rename/delete — a single place to persist the whole tree without wiring up each handler yourself. (#373)
v16.3.0-canary.77
- Avoid unnecessary rendering for validation in dev: #95394
- fix: work around SWC compress bug: #95457
- docs: Update FormEvent to SubmitEvent in form handling example (deprecated in React 19.2.10+): #95453
- Update font data: #95441
- Ignore-list internal frames whose source maps chain to original sources: #95448
- Type resolved
cacheLifeprofiles, dropping runtime asserts: #95428 - Split typeof-window server requires into .browser variants: #95201
- Collect modules with browser variants statically: #95200
Huge thanks to @lubieowoce, @M4cM4rco, @vercel-release-bot, @unstubbable, and @eps1lon for helping!
💎 Version 5.16.0
Click a data point to drill into a child level, with a breadcrumb trail and back navigation. Supported on bar, column, pie, donut, treemap, and heatmap. Tree-shakeable: import the feature and enable it.
import ApexCharts from 'apexcharts'
import 'apexcharts/features/drilldown'
const options = {
chart: {
type: 'bar',
drilldown: {
enabled: true,
series: [
{ id: 'fruits', name: 'Fruits', data: [{ x: 'Apple', y: 40 }, { x: 'Banana', y: 30 }] },
],
// breadcrumb: { show: true, position: 'top-left', rootLabel: 'All' },
// animation: { zoomFromPoint: true }, // unfold the child from the clicked point
// onDrillDown: async ({ point }) => fetchChild(point), // async level loading
},
},
series: [{ name: 'Categories', data: [{ x: 'Fruits', y: 70, drilldown: 'fruits' }, { x: 'Vegetables', y: 55 }] }],
}
- Child levels are declared inline in
chart.drilldown.series, or fetched on demand viaonDrillDown. - Breadcrumb is configurable (
position,separator,rootLabel,formatter) and includes a back-arrow. - Optional
animation.zoomFromPointunfolds the child level outward from the clicked point (and folds back on drill-up).
Render each slice's name outside the pie, connected by a leader line, so users no longer need to map legend colors back to slices. Pie and donut only (ignored for polarArea). The percentage keeps rendering inside the slice.
plotOptions: {
pie: {
dataLabels: {
external: {
show: true,
// formatter: (name, { percent }) => [name, percent.toFixed(1) + '%'],
// connector: { show: true, width: 1, length: 16, gap: 6 },
},
},
},
}
Spread overlapping scatter points apart. Two uses, one engine. Offsets are in axis units, deterministic (SSR-safe), and applied to the drawn positions only, so tooltips still show the true values.
- Strip plots: pass compact
{ x: 'Category', y: [v1, v2, ...] }data. Each category becomes a band and its values scatter horizontally within it. Every value is a real, hoverable marker; the sticky tooltip follows the hovered dot. - Overplotting: on ordinary
{ x, y }data, add small random offsets so dense clusters fan out.
plotOptions: { scatter: { jitter: { enabled: true, x: 0.35 /*, y: 0, distributed: false */ } } },
series: [
{ name: 'Frankfurt', data: [{ x: 'Frankfurt', y: [120, 118, 130, 109, 142] }] },
{ name: 'Mumbai', data: [{ x: 'Mumbai', y: [182, 176, 195, 168, 201] }] },
]
Marker styling reuses the standard markers / colors / fill config; set jitter.distributed: true to color each band separately.
chart.dataReducer now downsamples rangeArea and rangeBar series via min-max bucket aggregation (preserving the visual extremes of each bucket), complementing the existing LTTB reduction for line/area.
chart: { dataReducer: { enabled: true, threshold: 500, targetPoints: 250 } }
- Drilldown: reset the legend-collapse state when drilling so a child level is not rendered with a parent's series hidden.
v2.15.0
- fix: use nodeMap for source/clone child alignment in inlineBackgroundImages by @FlavioLimaMindera in https://github.com/zumerlab/snapdom/pull/440
- fix(fonts): scan the capture element's ownerDocument so iframe fonts embed (#441) by @stefanofa in https://github.com/zumerlab/snapdom/pull/442
- fix(capture): drop *-prefixed attributes to keep XMLSerializer output well-formed by @venkateshwarreddyr in https://github.com/zumerlab/snapdom/pull/445
- @stefanofa made their first contribution in https://github.com/zumerlab/snapdom/pull/442
- @venkateshwarreddyr made their first contribution in https://github.com/zumerlab/snapdom/pull/445
Full Changelog: https://github.com/zumerlab/snapdom/compare/v2.12.9...v2.15.0
v53.3.2
-
#5053 by @zbeyens – Skip remote image URLs by default during DOCX export.
Migration: Convert trusted remote images to data URIs before calling
htmlToDocxBlob, or passallowRemoteImages: trueonly when the HTML source is trusted.
Thanks to everyone who contributed to this release:
@zbeyens
Full changelog: v53.3.1...v53.3.2
v4.3.1
- Add
typefield forThemedToken- by @ije in https://github.com/shikijs/shiki/issues/1293 (585b5)
MathJax v4.1.3
This is a bug-fix release, primarily to resolve several issues with the semantic-enrichment and speech-generation code that could loop infinitely in some cases, leading MathJax to crash.
The issues addressed include:
-
Several regressions within the speech-rule engine, mostly involving empty bases for super- or subscript, or initial spaces within expressions:
- (mathjax/MathJax#3578)
- (mathjax/MathJax#3573)
- (mathjax/MathJax#3571)
- (mathjax/MathJax#3570)
- (mathjax/MathJax#3558)
- (mathjax/MathJax#3557)
- (mathjax/MathJax#3552)
-
Resolve performance issue with speech generation for large flat expressions. (mathjax/MathJax#3556)
-
Handle inline line breaking with nested embellished operators. (mathjax/MathJax#3581) (#1515)
-
Allow
\labelids to passui/safeid filters. (mathjax/MathJax#3580) (#1514) -
Work around issue with Safari 26 not processing math inside otherwise empty containers with
overflow: auto. (mathjax/MathJax#3579) (#1511) -
Handle braces better in
arrayenvironment preambles. (mathjax/MathJax#3565) (#1508) -
Fix equation number ids for expressions containing forward refs. (mathjax/MathJax#3562) (#1507)
-
Set
box-sizingin dialogs to avoid CSS bleed through that affects close and help buttons. (#1506) -
Make sure multi-byte UTF8 characters are handled properly in
data-latexattributes. (mathjax/MathJax#3575)(#1505) -
Fix
\bboxproblem with padding values that are decimals. (mathjax/MathJax#3568) (#1503) -
Make sure the parsers array is cleared for TeX and text parsers. (#1474) (#1502)
-
Don't rerender the output during menu initialization. (#1501)
-
Load font files synchronously, when possible. (#1458) (#1500)
-
Add
symmetric="true"to\middleresults. (mathjax/MathJax#3560) (#1499) -
Fix problem with
\limitsand\nolimitswhen used after a script. (mathjax/MathJax#3569) (#1497) -
Fixes issue in Euro Braille where some colons of the LaTeX expression were omitted