4 hours ago
apexcharts.js

💎 Version 8.5.0

A minor release: fixes and features from a batch of 29 issues (#5363 to #5391), plus five contributor PRs.

Behaviour changes to check when upgrading:

  • Trellis panels no longer reserve the empty title band above each plot. Other charts keep it; the grid.padding docs in the types say how far it can be pulled in.
  • Horizontal bar charts thin overlapping category names instead of drawing them over each other.
  • stackType 100% area and line charts now draw percentages, as 100% bars already did.

Also new:

  • radialBar targets ship as an add-on: import apexcharts/features/radial-targets (the full bundle includes it).
  • The plugin API's dashArray now also carries pattern strings and per-series patterns, so a plugin that assumed a number should handle those.
  • Legend and keyboard announcements are translated in every locale. The translations have not had a native-speaker review, so corrections are welcome.

✨ New

  • Full dash patterns everywhere, line caps on annotations (#5383).
  • Trellis panels drop the empty title band above each plot.
  • Thin overlapping category names on horizontal bar charts (#5371).
  • A balanced hide order for overlapping labels (#5378).
  • Tooltip.visible false keeps hover without the box (#5382).
  • Band gap units, radial geometry for plugins, targets add-on (#5374, #5380, #5381).

🐛 Fixes

  • Keep points appended to a hidden series (#3200). Thanks @lbesecker195.
  • Ignore chart click when a selection drag ends (#5060). Thanks @itisrmk.
  • Don't draw end dots for a null row (#4458). Thanks @b84330808.
  • Blend colour scale stops written with a hex alpha. Thanks @Enesuygurs.
  • End a derived linear scale exactly on its max. Thanks @Pharex38.
  • Fade a faded whole's own stroke when there is no outline. Thanks @lazerg.
  • Fire marker hover and selection events. Thanks @lazerg.
  • Honour avoidOverlap.maxShift of 0. Thanks @lazerg.
  • Apply legend.labels.colors to the shared legend. Thanks @lazerg.
  • Hide a stacked column label that is wider than its column. Thanks @lazerg.
  • Keep a covered whole's stroke through the pick and clear frames. Thanks @lazerg.
  • Clear the zoomed flag when updateSeries resets the axes. Thanks @lazerg.
  • UpdateOptions({ trellis: null }) turns the grid back into one chart. Thanks @lazerg.
  • Keep the label of a part of 0 on a stacked bar. Thanks @lazerg.
  • Clear row and column when trellis is set to null. Thanks @lazerg.
  • Keep the grid when two updateOptions calls land in one task. Thanks @lazerg.
  • Warn instead of throwing when the chart type has no annotation groups. Thanks @lazerg.
  • Measure a vertical stacked column label across the column. Thanks @lazerg.
  • Use chart.fontFamily and legend.fontFamily in the HTML chrome. Thanks @lazerg.
  • Place a zero part's label at its part edge. Thanks @lazerg.
  • Remove the Reset Zoom button when updateSeries clears the zoom. Thanks @lazerg.
  • Count exponent-notation decimals in preciseAddition. Thanks @Pharex38.
  • Use stepSize when it divides a fixed min..max window. Thanks @Pharex38.
  • Translate legend and keyboard announcements, fill locale gaps (#5373, #5376).
  • Warn when a needle gauge overrides the indicator (#5385).
  • Keep a hidden series' stroke as drawn with an outline on.
  • Keep the zoomed view across internal updates and on y for xy (#5389, #5369).
  • Keep the edge columns inside the plot while zoomed (#5368).
  • Draw stackType 100% area and line charts as percentages (#5384).
  • Rotate and thin category labels against the drawn plot (#5370).
  • Never rotate radar category names.
  • ResetSeries keeps a legend-hidden series after appendData.

The default bundle is 275,373 B gzipped, up 2,798 B (1.0%) from 8.4.1. The full bundle is 400,755 B gzipped, up 5,279 B (1.3%) from 8.4.1.

Upgrading is npm install apexcharts@8.5.0.

Full changelog, with the detail behind each change: https://github.com/apexcharts/apexcharts.js/compare/v8.4.1...v8.5.0

5 hours ago
etherpad

v3.3.11

3.3.11

3.3.11 is a security release. It stops clients that connect without an author token from all sharing one author (GHSA-746x-9w89-7xv6).

Security

  • Pads — clients without an author token no longer share one author (GHSA-746x-9w89-7xv6). Since the author token moved to an HttpOnly cookie, a pad connection that carried neither the cookie nor a legacy token resolved its token to null, and every such client was mapped to the same token2author:null author. Unrelated users (for example behind cookie blockers or in cross-site embeds) then appeared as one author and kicked each other off, and any of them counted as the creator of a pad another one had created, so they could delete it or change its pad-wide settings. A connection without a token now gets a fresh one for that session, and the access check does the same for HTTP callers such as import. Reported by @MaBeFHDW.
5 hours ago
etherpad-lite

v3.3.11

3.3.11

3.3.11 is a security release. It stops clients that connect without an author token from all sharing one author (GHSA-746x-9w89-7xv6).

Security

  • Pads — clients without an author token no longer share one author (GHSA-746x-9w89-7xv6). Since the author token moved to an HttpOnly cookie, a pad connection that carried neither the cookie nor a legacy token resolved its token to null, and every such client was mapped to the same token2author:null author. Unrelated users (for example behind cookie blockers or in cross-site embeds) then appeared as one author and kicked each other off, and any of them counted as the creator of a pad another one had created, so they could delete it or change its pad-wide settings. A connection without a token now gets a fresh one for that session, and the access check does the same for HTTP callers such as import. Reported by @MaBeFHDW.
9 hours ago
rrweb

rrweb@2.2.0

Minor Changes

  • #1928 9b9a1ff Thanks @Juice10! - Add a top-level annotation event with record.addAnnotation() and replayer.on('annotation', handler). Annotation data uses type: 'caption' or type: 'timelineMarker'. Import annotationData from @rrweb/types to type annotation data. The player can display these annotations as captions and interactive timeline markers.

Patch Changes

  • #1971 235ae85 Thanks @eoghanmurray! - Fix record-side memory leaks and duplicate mutation emission:

    • Stopping a recording now releases the root document's mutation buffer and observer — previously the document observer was only disconnected, so each start/stop cycle leaked one buffer — and removes the cross-origin iframe message listener.
    • A same-origin iframe is observed once instead of re-observed on every full snapshot (checkoutEveryNth/checkoutEveryNms/manual takeFullSnapshot), so a single iframe mutation is no longer emitted once per checkout; its observers are also released when the iframe is removed or navigates away.
    • The untainted-MutationObserver helper iframe used on WebKit/Safari is reference-counted, so it is torn down only when the last observer stops and will get rebuilt for a later recording.
  • #1958 009b2dd Thanks @salzahrani-salla! - fix: disconnect shadow-DOM observers when their host is removed

    Each observed shadow root kept a live MutationObserver plus its mutation buffer for the rest of the recording session even if its host was removed, a memory leak problem for component-heavy pages. Fix: release shadow observers and buffers as soon as we observe them as removed/detached from dom with tests added for the still-attached host-moved case, and to ensure they get re-observed on reinsertion.

  • Updated dependencies [9b9a1ff, 235ae85, 009b2dd]:

    • @rrweb/types@2.2.0
    • @rrweb/utils@2.2.0
    • rrweb-snapshot@2.2.0
    • rrdom@2.2.0
9 hours ago
rrweb

rrweb-snapshot@2.2.0

Patch Changes

  • #1958 009b2dd Thanks @salzahrani-salla! - fix: release removed shadow trees from the mirror

    Removing a shadow host from DOM was leaving references to shadow descendants, so e.g. repeatedly replacing web components mem-leaked their detached trees. Fix by recursing into shadow roots during removal, including nested hosts and releasing strong references from the mirror.

9 hours ago
rrweb

rrdom-nodejs@2.2.0

Patch Changes

  • Updated dependencies [9b9a1ff]:
    • @rrweb/types@2.2.0
    • rrdom@2.2.0
9 hours ago
rrweb

rrvideo@2.2.0

Patch Changes

9 hours ago
rrweb

@rrweb/utils@2.2.0

Patch Changes

  • #1971 235ae85 Thanks @eoghanmurray! - Fix record-side memory leaks and duplicate mutation emission:

    • Stopping a recording now releases the root document's mutation buffer and observer — previously the document observer was only disconnected, so each start/stop cycle leaked one buffer — and removes the cross-origin iframe message listener.
    • A same-origin iframe is observed once instead of re-observed on every full snapshot (checkoutEveryNth/checkoutEveryNms/manual takeFullSnapshot), so a single iframe mutation is no longer emitted once per checkout; its observers are also released when the iframe is removed or navigates away.
    • The untainted-MutationObserver helper iframe used on WebKit/Safari is reference-counted, so it is torn down only when the last observer stops and will get rebuilt for a later recording.
9 hours ago
rrweb

rrweb-player@2.2.0

Minor Changes

  • #1928 9b9a1ff Thanks @Juice10! - Display annotation events as captions and timeline markers. Captions stay visible until replaced or cleared with text: '', text: null, or text: false. Seeking restores the caption for that replay time. Hovering or focusing timeline markers reveals their text, and clicking seeks to their timestamp.

    Captions are shown by default; set showCaptions: false to hide them initially. Recordings with nonempty captions show a CC toggle when the controls are visible. Use timelineMarkerColor to configure annotation marker colors separately from custom-event tags.

  • #1928 9b9a1ff Thanks @Juice10! - Make the playback timeline a keyboard-focusable slider with an accessible playback position. Use Home and End to seek to the start and end of the recording. Clicking the timeline focuses the slider so keyboard seeking can continue after scrubbing.

Patch Changes

  • #1928 9b9a1ff Thanks @Juice10! - Fix the playback timeline's ArrowLeft and ArrowRight keys to seek backward and forward by five seconds instead of five milliseconds.

  • Updated dependencies [9b9a1ff, 0d6fc66]:

    • @rrweb/replay@2.2.0
    • @rrweb/packer@2.2.0
9 hours ago
rrweb

rrdom@2.2.0

Patch Changes

  • Updated dependencies [009b2dd]:
    • rrweb-snapshot@2.2.0