2 hours ago
ui

@shadcn/react@0.3.1

Patch Changes

  • #11720 503a3a57aec9a3817e37f90aa0817b1fabd284d0 Thanks @shadcn! - Set data-pending-scroll on the MessageScroller root and viewport until defaultScrollPosition ("end" or "last-anchor") is applied, so the viewport can be hidden and a server-rendered transcript does not flash the top of the thread on reload.
2 hours ago
ui

shadcn@4.19.1

Patch Changes

6 hours ago
apexcharts.js

💎 Version 7.1.0

A minor release built around four new chart types: streamgraph, waterfall, dumbbell and raincloud. Each is a thin layer over a renderer the library already trusts (rangeArea, rangeBar, violin), so they arrive with tooltips, legends, animations, exports and zooming already working, and they cost the default bundle little: streamgraph, waterfall and dumbbell together add about 12 KB gzipped. Raincloud is a Premium add-on and adds nothing unless you load it.

Also new: chart.print lays the chart out for the printed sheet. And six fixes, several of them years old.

gzip
7.0.0 default bundle 252,005 B
7.1.0 default bundle 264,326 B

No breaking changes. Upgrading is npm install apexcharts@7.1.0.

✨ New

Streamgraph

chart.type: 'streamgraph' stacks the series as flowing bands around a baseline chosen to keep the whole picture readable: the baseline sits where the bands wiggle least, curves are monotoneCubic by default so a band never overshoots its data, and each band's name is drawn inside it, sized to the room that band actually has. Hovering a band fades the others; the legend and tooltip work as on any axis chart.

new ApexCharts(el, {
  chart: { type: 'streamgraph' },
  series: [
    { name: 'Drama',  data: [{ x: '2024-01-01', y: 32 }, /* ... */] },
    { name: 'Comedy', data: [/* ... */] },
  ],
}).render()

In the default bundle. For the lean-core channel it is import 'apexcharts/streamgraph' or dist/features/streamgraph.js.

Waterfall

chart.type: 'waterfall' accumulates the running total for you: the series holds the deltas, and a point flagged isSubtotal or isTotal draws the running total from zero at that position. Connectors bridge each bar to the next, and rising, falling and total bars take their own colors. Requested in #847.

series: [{
  name: 'Operating income',
  data: [
    { x: 'Net revenue',        y:  8786000 },
    { x: 'Cost of sales',      y: -2786000 },
    { x: 'Gross profit',       isSubtotal: true },
    { x: 'Operating expenses', y: -1786000 },
    { x: 'Operating income',   isTotal: true },
  ],
}]

In the default bundle; apexcharts/waterfall / dist/features/waterfall.js for lean-core.

Dumbbell

chart.type: 'dumbbell' compares two or more measures per category: each series is one measure, and the chart joins them with a connector per category, without asking you to zip the values into [low, high] pairs by hand. Works horizontal and as columns.

series: [
  { name: '2020', data: [{ x: 'Backend', y: 92 }, /* ... */] },
  { name: '2025', data: [{ x: 'Backend', y: 118 }, /* ... */] },
]

In the default bundle; apexcharts/dumbbell / dist/features/dumbbell.js for lean-core.

Raincloud

chart.type: 'raincloud' shows a distribution three ways at once: the half-violin is the shape, the box is the summary, and the rain underneath is the observations themselves. You hand it the raw values and it does the rest.

series: [{
  name: 'Weight gain',
  data: [{ x: 'Control', points: [/* raw observations */] }],
}]

Raincloud is a Premium feature and an explicit import from either channel:

import 'apexcharts/raincloud'
<script src=".../dist/features/raincloud.js"></script>

Print layout

The paper box cannot be measured from JavaScript: clientWidth and matchMedia both report the screen during beforeprint. So chart.print re-lays the chart out to a known width for the sheet instead of letting the browser scale or cut whatever was on screen, and restores it after. On by default with a sensible width; chart: { print: { width: 800 } } to tune it, print: false to keep the old behaviour. Fixes #3352.

🐛 Fixes

A container resize arriving mid-animation was lost for good

The ResizeObserver fires once per resize, and the handler dropped that one callback whenever an animation was still running, so a chart in a collapsing sidebar simply kept its old size. The resize is now deferred and rechecked, and each container resize draws once rather than once per observer callback. Fixes #1584.

autoScaleYaxis scaling to points nobody can see

Zooming with autoScaleYaxis let one point just outside the window size the whole axis, and a series with nothing in the window at all still contributed. Stacked charts now also scale to the stacked totals inside the window rather than to individual series. Fixes #1260.

Bar width came from the smallest gap inside one series

A single series with one tight pair of x values shrank every bar on the chart. A bar's slot now comes from the axis, the union of gaps across all series. Fixes #4885.

Pie and radial charts stuck to the top of tall containers

The center came from min(width, height), so a tall, narrow container pinned the circle to the top with all the leftover space below it. The circle now centres in the height it actually has. Fixes #4875.

Date x values on a non-datetime axis

A Date object as x worked only when the axis was datetime; anywhere else it stringified into garbage, and an invalid Date slipped through unnoticed. Both handled in #5279, thanks @aron-intframe.

Tooltip index off past leading nulls

A series starting with nulls resolved the hovered index against its drawn points rather than the data, so the tooltip read the wrong point.

🔧 Internal

  • CI now runs the test suite on every push to main, not only on pull requests. The publish gate is no longer the first time a commit meets the runner.

Full Changelog: https://github.com/apexcharts/apexcharts.js/compare/v7.0.0...v7.1.0

10 hours ago
wangEditor-next

v6.3.0

What's Changed

  • [core] Scope built-in editable-content styles under the editor root so headings, lists, controls, code,
  • [plugin-link-card] Add link-card to link conversion and preserve link targets during card conversion.
Package versions
Package Version Source
@wangeditor-next/basic-modules 6.3.0 Source (tar.gz)
@wangeditor-next/code-highlight 6.3.0 Source (tar.gz)
@wangeditor-next/core 6.3.0 Source (tar.gz)
@wangeditor-next/editor 6.3.0 Source (tar.gz)
@wangeditor-next/editor-for-react 6.3.0 Source (tar.gz)
@wangeditor-next/editor-for-vue 6.3.0 Source (tar.gz)
@wangeditor-next/editor-for-vue2 6.3.0 Source (tar.gz)
@wangeditor-next/list-module 6.3.0 Source (tar.gz)
@wangeditor-next/plugin-attachment 6.3.0 Source (tar.gz)
@wangeditor-next/plugin-ctrl-enter 6.3.0 Source (tar.gz)
@wangeditor-next/plugin-float-image 6.3.0 Source (tar.gz)
@wangeditor-next/plugin-formula 6.3.0 Source (tar.gz)
@wangeditor-next/plugin-link-card 6.3.0 Source (tar.gz)
@wangeditor-next/plugin-markdown 6.3.0 Source (tar.gz)
@wangeditor-next/plugin-mention 6.3.0 Source (tar.gz)
@wangeditor-next/table-module 6.3.0 Source (tar.gz)
@wangeditor-next/upload-image-module 6.3.0 Source (tar.gz)
@wangeditor-next/video-module 6.3.0 Source (tar.gz)
@wangeditor-next/yjs 6.3.0 Source (tar.gz)
@wangeditor-next/yjs-for-react 6.3.0 Source (tar.gz)
@wangeditor-next/yjs-for-vue 6.3.0 Source (tar.gz)
11 hours ago
electron

electron v43.5.0

Release Notes for v43.5.0

Fixes

  • Fixed DevTools device metrics overrides persisting indefinitely when a remote debugging client disconnected without clearing them. #52946 (Also in 42, 44)
  • Fixed BrowserWindow.unmaximize() and restore() having no effect on Wayland when the window was maximized immediately after creation. #53125 (Also in 42, 44)
  • Fixed Uncaught illegal access errors and possible renderer crashes after closing a same-process child window or removing an iframe with nodeIntegrationInSubFrames enabled. #53041 (Also in 42, 44)
  • Fixed fs.constants.O_DIRECTORY, O_NOFOLLOW and O_DIRECT holding x86 values on Linux arm64 and armv7l, which made opening a directory fail with EINVAL, and made require('trace_events') behave the same on cross-compiled builds as on native ones. #53319 (Also in 42, 44, 45)
  • Fixed webContents.executeJavaScriptInIsolatedWorld resolving with undefined when worldId was not an integer. #53237 (Also in 44)
  • Fixed webContents.print() honoring printBackground, duplexMode, and printer default duplex settings. #53160 (Also in 42, 44)
  • Fixed a crash on Linux when the D-Bus session bus disconnected while the app was running, such as at logout or when dbus is restarted. #53095 (Also in 42, 44)
  • Fixed a crash on Windows when V8 posted a delayed worker task during shutdown. #53013 (Also in 42, 44)
  • Fixed a crash on macOS when a WebAuthn Touch ID prompt was requested while no locale resources were loaded. #53195 (Also in 44)
  • Fixed a crash on macOS when a notification's icon could not be attached; the notification is now shown without the icon. #53147 (Also in 42, 44)
  • Fixed a crash when calling node:wasi functions in optimized code. #53265 (Also in 42, 44, 45)
  • Fixed a crash when calling utilityProcess.postMessage() after the utility process had exited. #53301 (Also in 44, 45)
  • Fixed a regression where a window created with a custom title can show an empty title after using back/forward navigation. #53219 (Also in 42, 44)
  • Fixed a renderer crash when a page calls SpeechRecognition.available() or SpeechRecognition.install() with processLocally. #53015 (Also in 42, 44)
  • Fixed an issue where pages loaded in a detached WebContentsView wouldn't see the correct window size. #53152 (Also in 42, 44)
  • Fixed crashes in sharedTexture, service-worker ipcRenderer and utilityProcess.fork() caused by object lifetime bugs. #53278 (Also in 44, 45)
  • Fixed crashes in the main process when a webRequest.onBeforeRequest listener redirected a CORS preflight request, and when calling net.fetch() with a webRequest-permission extension loaded. #53304 (Also in 44, 45)
  • Fixed crashes when a webContents or parent window is destroyed while other APIs still reference it. #53288 (Also in 44, 45)
  • Fixed crashes when certain app event handlers call back into Electron synchronously. #53276 (Also in 44, 45)
  • Fixed document title updates when using back/forward navigation using the same document without utilizing browserWindow.setTitle(). #53023 (Also in 42, 44)
  • Fixed region-qualified --lang values such as de-DE loading no locale resources on macOS, which left localized strings empty and could crash WebAuthn Touch ID prompts. #53186 (Also in 42, 44)
  • Fixed spellcheck not initializing on Linux when the dictionary was already cached from a previous run. #52717 (Also in 44)
  • Fixed the GPU process being terminated in AppX/MSIX packaged apps on Windows when WebGPU fell back to SwiftShader. #53197 (Also in 42, 44)
  • Fixed the primary instance being killed or receiving truncated arguments when a second instance passed a very long command line or large additionalData to app.requestSingleInstanceLock(). #53156 (Also in 42, 44)
  • Fixed the tray icon not appearing on GNOME (and disappearing entirely on Wayland) since 43.4.1. #53215
  • Fixed utility process crashes at exit on Windows 11 24H2 and later. #53092 (Also in 42, 44)
  • Fixed windows native message boxes being dismissed by other applications using invalid button ID. #53155 (Also in 44)

Other Changes

  • Backported fixes from upstream ANGLE, Chromium, Dawn, Skia and V8. #52969
  • Backported fixes from upstream ANGLE, Chromium, Dawn, V8 and WebRTC. #53190
  • Backported fixes from upstream Chromium and V8. #53055
  • Fixed a 1-in-200 chance per renderer process on Windows of scripts on the first page load being compiled without their V8 code cache. #52943 (Also in 42, 44)
  • Fixed a stall of tens of milliseconds while creating the first BrowserWindow on Linux.
    • Improved the performance of file lookups inside ASAR archives and of large files served from them to the renderer.
    • Improved the performance of calls through contextBridge-exposed APIs.
    • Reduced the main-thread cost of sending large values through ipcRenderer, ipcMain handlers and webContents.send. #53018 (Also in 42, 44)
  • Improved application startup time on Linux by skipping GDK's OpenGL probe and loading FontConfig off the main thread during toolkit initialization. #53108 (Also in 44)
  • Improved startup time of utilityProcess.fork(), child_process.fork() / ELECTRON_RUN_AS_NODE child processes and Node.js-enabled renderers. #53135 (Also in 42, 44)
  • Linux arm64, Windows arm64 and macOS x64 builds now start the main process from the embedded Node.js startup snapshot like the other platforms, improving startup time. #52881 (Also in 42, 44)
  • Page resources, fetch() calls and file:// loads in renderers no longer wait for the main process to be idle when no webRequest listeners or protocol interceptors are registered. #53142 (Also in 42, 44)
  • Updated Chromium to 150.0.7871.250. #52787
  • Updated Node.js to v24.19.0. #52635
11 hours ago
electron

electron v42.11.0

Release Notes for v42.11.0

Fixes

  • Fixed fs.constants.O_DIRECTORY, O_NOFOLLOW and O_DIRECT holding x86 values on Linux arm64 and armv7l, which made opening a directory fail with EINVAL, and made require('trace_events') behave the same on cross-compiled builds as on native ones. #53318 (Also in 43, 44, 45)
  • Fixed a crash when calling node:wasi functions in optimized code. #53267 (Also in 43, 44, 45)
  • Fixed a regression where a window created with a custom title can show an empty title after using back/forward navigation. #53217 (Also in 43, 44)
  • Fixed desktopCapturer thumbnail generation and premature portal timeout on Linux with Wayland. #51784 (Also in 43)
  • Fixed region-qualified --lang values such as de-DE loading no locale resources on macOS, which left localized strings empty and could crash WebAuthn Touch ID prompts. #53187 (Also in 43, 44)
  • Fixed the GPU process being terminated in AppX/MSIX packaged apps on Windows when WebGPU fell back to SwiftShader. #53199 (Also in 43, 44)

Other Changes

  • Backported fixes from upstream ANGLE, Chromium, Dawn, V8 and WebRTC. #53191
  • Updated Node.js to v24.19.0. #52634
11 hours ago
electron

electron v44.1.0

Release Notes for v44.1.0

Fixes

  • Fixed fs.constants.O_DIRECTORY, O_NOFOLLOW and O_DIRECT holding x86 values on Linux arm64 and armv7l, which made opening a directory fail with EINVAL, and made require('trace_events') behave the same on cross-compiled builds as on native ones. #53320 (Also in 42, 43, 45)
  • Fixed webContents.executeJavaScriptInIsolatedWorld resolving with undefined when worldId was not an integer. #53238 (Also in 43)
  • Fixed webContents.print() honoring printBackground, duplexMode, and printer default duplex settings. #53159 (Also in 42, 43)
  • Fixed a crash on Windows when V8 posted a delayed worker task during shutdown. #53201 (Also in 42, 43)
  • Fixed a crash on macOS when a WebAuthn Touch ID prompt was requested while no locale resources were loaded. #53194 (Also in 43)
  • Fixed a crash on macOS when a notification's icon could not be attached; the notification is now shown without the icon. #53146 (Also in 42, 43)
  • Fixed a crash when calling node:wasi functions in optimized code. #53268 (Also in 42, 43, 45)
  • Fixed a crash when calling utilityProcess.postMessage() after the utility process had exited. #53300 (Also in 43, 45)
  • Fixed a regression where a window created with a custom title can show an empty title after using back/forward navigation. #53218 (Also in 42, 43)
  • Fixed an issue where pages loaded in a detached WebContentsView wouldn't see the correct window size. #53153 (Also in 42, 43)
  • Fixed crashes in sharedTexture, service-worker ipcRenderer and utilityProcess.fork() caused by object lifetime bugs. #53279 (Also in 43, 45)
  • Fixed crashes in the main process when a webRequest.onBeforeRequest listener redirected a CORS preflight request, and when calling net.fetch() with a webRequest-permission extension loaded. #53303 (Also in 43, 45)
  • Fixed crashes when a webContents or parent window is destroyed while other APIs still reference it. #53287 (Also in 43, 45)
  • Fixed crashes when certain app event handlers call back into Electron synchronously. #53275 (Also in 43, 45)
  • Fixed region-qualified --lang values such as de-DE loading no locale resources on macOS, which left localized strings empty and could crash WebAuthn Touch ID prompts. #53188 (Also in 42, 43)
  • Fixed the GPU process being terminated in AppX/MSIX packaged apps on Windows when WebGPU fell back to SwiftShader. #53198 (Also in 42, 43)
  • Fixed the tray icon not appearing on GNOME (and disappearing entirely on Wayland) since 44.0.0-beta.6. #53214
  • Fixed windows native message boxes being dismissed by other applications using invalid button ID. #53154 (Also in 43)

Other Changes

  • Backported fixes from upstream Chromium and V8. #53189
  • Page resources, fetch() calls and file:// loads in renderers no longer wait for the main process to be idle when no webRequest listeners or protocol interceptors are registered. #53141 (Also in 42, 43)
  • Renderer network requests no longer waited on the main process when the session's webRequest listeners only observe requests (onCompleted, onErrorOccurred, onSendHeaders, onBeforeRedirect, onResponseStarted) or are filtered to other resource types. #53240
  • Updated Chromium to 152.0.7977.65. #53203
  • Updated Node.js to v24.19.0. #52636

Documentation

11 hours ago
electron

electron v45.0.0-alpha.2

Note: This is an alpha release. Please file new issues for any bugs you find in it.

This release is published to npm under the alpha tag and can be installed via npm install electron@alpha, or npm install electron@45.0.0-alpha.2.

Release Notes for v45.0.0-alpha.2

Features

  • Added app.configureWebAuthn() API to enable iCloud Keychain passkey support on macOS. When enabled, navigator.credentials.create() and .get() present Apple's native passkey UI via ASAuthorizationController. #51563
  • Added available to process.getSystemMemoryInfo() on Linux, exposing proc/meminfo MemAvailable. #52299 (Also in 42, 43, 44)
  • Added disableWakeLocks option to WebPreferences. #52342
  • Added getIsolatedWorlds method and isolated-world-created event for webFrame to enable discovery of isolated worlds. #50633
  • Added select-client-certificate event support for net.request and net.fetch; requests to servers requesting a client certificate no longer fail with ERR_SSL_CLIENT_AUTH_CERT_NEEDED, and applications can now select a certificate to present. #52162 (Also in 44)
  • Added webFrameMain.printToPDF() to allow printing individual frames to PDF from the main process. #52439 (Also in 42, 43, 44)
  • Added a Save/Restore Window State API for cross-platform use. #51510 (Also in 44)
  • Added a badge property to MenuItem on macOS 14+ for showing a count or custom text badge next to a menu item's label. #50805 (Also in 44)
  • Added support for the Prompt API via the new localAIHandler module in UtilityProcess. #50659
  • Added webContents.caretBrowsingEnabled for toggling caret browsing in a WebContents. #52696 (Also in 44)
  • Clipboard module is now aligned with the W3C Clipboard API. #51707 (Also in 44)
  • Fixed an issue where getDisplayMedia({ audio: { restrictOwnAudio: true } }) was ignored in setDisplayMediaRequestHandler, causing loopback audio to include local app playback. #52455 (Also in 43, 44)
  • Frameless windows on Linux now use system-themed titlebar icons for Window Controls Overlay (WCO). #52461 (Also in 44)
  • Restored app.setBadgeCount and win.setProgressBar for Linux. These APIs now support any dock or taskbar which implements the LauncherEntry D-Bus API, and they no longer require libunity. #52739 (Also in 44)
  • The macOS autoUpdater now streams update downloads to disk, resumes an interrupted download on the next check instead of starting over, and applies a binary delta when the update feed offers one for the running version. #52820
  • fs.open, fs.createReadStream, fs.copyFile, fs.cp and friends now read files inside ASAR archives directly from the archive instead of extracting a temporary copy; fs.opendir and fs.readlink work on archives; opening a packed file for writing fails with EACCES. #52833

Fixes

  • A window.open() child whose sandbox state differs from its opener's renderer process is now created in its own process with no opener relationship instead of silently sharing the opener's process; set sandbox: false in setWindowOpenHandler to keep sharing an unsandboxed opener's process. #52472
  • Fixed DevTools device metrics overrides persisting indefinitely when a remote debugging client disconnected without clearing them. #52254 (Also in 42, 43, 44)
  • Fixed DevTools popup and context menus not appearing when DevTools is hosted in a custom window via webContents.setDevToolsWebContents(). #52205 (Also in 42, 43, 44)
  • Fixed WebAuthn platform passkey requests on macOS hanging until the request timeout when an operation failed, and a potential crash when selecting between Touch ID and platform passkeys. #52682
  • Fixed Window Controls Overlay caption buttons not rendering on Linux. #52577 (Also in 44)
  • Fixed BrowserWindow.unmaximize() and restore() having no effect on Wayland when the window was maximized immediately after creation. #53063 (Also in 42, 43, 44)
  • Fixed BrowserWindow size corruption on Windows when created with explicit x/y on a secondary monitor whose DPI differs from the primary. #51603 (Also in 42, 43, 44)
  • Fixed Dirent.parentPath being undefined for fs.readdir, fs.readdirSync, fs.glob, and fs.globSync with withFileTypes: true inside asar archives. #51845 (Also in 42, 43, 44)
  • Fixed Uncaught illegal access errors and renderer crashes when closing a same-process child window or removing an iframe with nodeIntegrationInSubFrames enabled, and when native modules use napi async work or thread-safe functions from such windows and frames. #52964 (Also in 42, 43, 44)
  • Fixed app.disableHardwareAcceleration() not fully disabling GPU hardware usage on Windows starting from Electron 38. #51817 (Also in 41, 42, 43, 44)
  • Fixed dialog.showOpenDialog/dialog.showSaveDialog opening at an unusable location on Linux when defaultPath is a bare filename without a directory. #52243 (Also in 42, 43, 44)
  • Fixed fs.constants.O_DIRECTORY, O_NOFOLLOW and O_DIRECT holding x86 values on Linux arm64 and armv7l, which made opening a directory fail with EINVAL, and made require('trace_events') behave the same on cross-compiled builds as on native ones. #53321 (Also in 42, 43, 44)
  • Fixed globalShortcut not working on GNOME Wayland by enabling Chromium's GlobalShortcutsPortalPreferredTrigger feature by default on Linux. #52221 (Also in 43)
  • Fixed matchMedia('(display-mode: ...)') returning browser for window-controls-overlay, frameless, and fullscreen BrowserWindows. #51396
  • Fixed registerFileProtocol and registerHttpProtocol returning readable responses to cross-origin no-cors fetches; they now return opaque responses like protocol.handle. #52822 (Also in 41, 42, 43, 44)
  • Fixed select-hid-device presenting HID devices that could not be granted, which caused navigator.hid.requestDevice() to resolve with no device. #52467 (Also in 44)
  • Fixed webContents.executeJavaScriptInIsolatedWorld resolving with undefined when worldId was not an integer. #53205 (Also in 43, 44)
  • Fixed webContents.print() honoring printBackground, duplexMode, and printer default duplex settings. #52279 (Also in 42, 43, 44)
  • Fixed a UAF with protocol.registerStreamProtocol when an error is emitted during a read. #52474 (Also in 41, 42, 43, 44)
  • Fixed a WebContentsView staying blank after its window is shown when setBackgroundThrottling(false) was called while the window was hidden. #52844 (Also in 42, 43, 44)
  • Fixed a browser process crash that could occur during Windows logoff, shutdown, or restart. #52604 (Also in 42, 43, 44)
  • Fixed a browser-process crash (ValidateIntegrityOrDie) and spurious preload ENOENT errors when an app's app.asar is replaced on disk (e.g. by an updater or MDM software) while the app is running. #52283 (Also in 42, 43, 44)
  • Fixed a crash in systemPreferences.promptTouchID(reason) when an invalid reason value is passed. #52764 (Also in 42, 43, 44)
  • Fixed a crash on Linux when the D-Bus session bus disconnected while the app was running, such as at logout or when dbus is restarted. #53022 (Also in 42, 43, 44)
  • Fixed a crash on Windows when V8 posted a delayed worker task during shutdown. #52956 (Also in 42, 43, 44)
  • Fixed a crash on macOS when a WebAuthn Touch ID prompt was requested while no locale resources were loaded. #53185 (Also in 43, 44)
  • Fixed a crash on macOS when a notification's icon could not be attached; the notification is now shown without the icon. #53131 (Also in 42, 43, 44)
  • Fixed a crash report when the X server or Wayland compositor exits while an app is running. #52603 (Also in 42, 43, 44)
  • Fixed a crash that could occur when closing DevTools while the host WebContents was being destroyed. #52166 (Also in 41, 42, 43, 44)
  • Fixed a crash when accessing frame details during cross-origin navigation. #53102 (Also in 44)
  • Fixed a crash when calling node:wasi functions in optimized code. #53266 (Also in 42, 43, 44)
  • Fixed a crash when calling utilityProcess.postMessage() after the utility process had exited. #53299 (Also in 43, 44)
  • Fixed a crash when quickly switching menus while the app is under heavy load. #52598 (Also in 42, 43, 44)
  • Fixed a crash when resolving a path inside a malformed ASAR archive that contains cyclic link entries. #52825 (Also in 42, 43, 44)
  • Fixed a crash when showing Linux message boxes while another Linux UI implementation was active. #52238 (Also in 42, 43, 44)
  • Fixed a crash with app.setLoginItemSettings if a non-UTF8 service name is used. #52773 (Also in 42, 43, 44)
  • Fixed a graphical glitch on Linux where thin borders appeared past the drop shadows on frameless windows when multiple windows were created. #52584 (Also in 42, 43, 44)
  • Fixed a memory leak when creating BrowserWindows. #52092 (Also in 42, 43, 44)
  • Fixed a possible crash (SIGABRT) during process exit when the process had loaded tls/https shortly before exiting, affecting app.exit() before ready and short-lived ELECTRON_RUN_AS_NODE / child_process.fork() scripts. #52856 (Also in 42, 43, 44)
  • Fixed a possible main process crash at quit when a session was created from JavaScript that runs during shutdown. #52836 (Also in 42, 43, 44)
  • Fixed a potential crash in contentTracing.stopRecording() when the trace file could not be written to the requested path. #52793 (Also in 42, 43, 44)
  • Fixed a potential crash when notifying user activation before the primary main frame was live. #52215 (Also in 42, 43, 44)
  • Fixed a potential crash when using menu.popup with a frame from an offscreen rendered window. #53242
  • Fixed a rare crash in the main process when DevTools were opened and a garbage collection ran before the DevTools frontend finished loading. #52847 (Also in 42, 43, 44)
  • Fixed a regression preventing from transparent frameless windows from being resized on Linux. #52740 (Also in 43, 44)
  • Fixed a regression where a window created with a custom title can show an empty title after using back/forward navigation. #53180 (Also in 42, 43, 44)
  • Fixed a renderer crash when a page calls SpeechRecognition.available() or SpeechRecognition.install() with processLocally. #52955 (Also in 42, 43, 44)
  • Fixed a renderer crash when an array with a throwing property getter is passed across contextBridge, and several main/utility-process crashes when option objects passed to Electron APIs contain throwing accessors or Proxy traps. #53069
  • Fixed a window being marked hidden and background-throttled on macOS when covered by a transparent or click-through window. #52365 (Also in 42, 43, 44)
  • Fixed an npm install failure with no recovery path when the OS blocked the native zip extractor from loading (for example, Windows Smart App Control). #52748 (Also in 43, 44)
  • Fixed an issue on Windows where the app process could fail to exit after app.quit() while a shell.openExternal() or shell.openPath() call was still waiting on a system "Open with" dialog. #52888 (Also in 41, 43, 44)
  • Fixed an issue where a JavaScript out-of-memory crash could be reported from inside the crash-key handler instead of at the out-of-memory site. #52591 (Also in 42, 43, 44)
  • Fixed an issue where an exception thrown by a property getter on an object passed through contextBridge was swallowed instead of being thrown back to the caller. #53297
  • Fixed an issue where loading ICO files from ASAR archives on Windows left temporary icon files behind. #52424 (Also in 42, 43, 44)
  • Fixed an issue where pages loaded in a detached WebContentsView wouldn't see the correct window size. #53031 (Also in 42, 43, 44)
  • Fixed an issue where some values passed into requestSingleInstanceLock could result in a crash. #52025 (Also in 42, 43, 44)
  • Fixed crash in sharedTexture module when GPU context becomes unavailable. #49518 (Also in 42, 43, 44)
  • Fixed crash triggered by replacing an open application menu. #52248 (Also in 41, 42, 43, 44)
  • Fixed crashes in sharedTexture, service-worker ipcRenderer and utilityProcess.fork() caused by object lifetime bugs. #53280 (Also in 43, 44)
  • Fixed crashes in the main process when a webRequest.onBeforeRequest listener redirected a CORS preflight request, and when calling net.fetch() with a webRequest-permission extension loaded. #53302 (Also in 43, 44)
  • Fixed crashes when a webContents or parent window is destroyed while other APIs still reference it. #53281 (Also in 43, 44)
  • Fixed crashes when certain app event handlers call back into Electron synchronously. #53269 (Also in 43, 44)
  • Fixed custom V8 snapshots (electron-mksnapshot, and the loadBrowserProcessSpecificV8Snapshot fuse) having no effect in the main process on macOS arm64, Linux x64 and Windows x64. #52872 (Also in 42, 43, 44)
  • Fixed downloading files that live inside an asar archive, including saving a packed PDF from the built-in PDF viewer. #52808 (Also in 42, 43, 44)
  • Fixed region-qualified --lang values such as de-DE loading no locale resources on macOS, which left localized strings empty and could crash WebAuthn Touch ID prompts. #53184 (Also in 42, 43, 44)
  • Fixed spellcheck not initializing on Linux when the dictionary was already cached from a previous run. #52712 (Also in 43, 44)
  • Fixed the GPU process being terminated in AppX/MSIX packaged apps on Windows when WebGPU fell back to SwiftShader. #53174 (Also in 42, 43, 44)
  • Fixed the built-in PDF viewer not rendering documents in in-memory sessions (partitions without the persist: prefix). #52810 (Also in 42, 43, 44)
  • Fixed the primary instance being killed or receiving truncated arguments when a second instance passed a very long command line or large additionalData to app.requestSingleInstanceLock(). #52628 (Also in 42, 43, 44)
  • Fixed unnecessary autofill popup creation for fields without datalist suggestions, which could cause input latency on macOS. #52262 (Also in 41, 42, 43, 44)
  • Fixed utility process crashes at exit on Windows 11 24H2 and later. #53038 (Also in 42, 43, 44)
  • Fixed windows native message boxes being dismissed by other applications using invalid button ID. #52812 (Also in 43, 44)
  • Fixed windows opened by a sandboxed top-level frame not inheriting the opener's sandbox restrictions. #52841 (Also in 41, 42, 43, 44)
  • Fixed webContents.print() returning "Invalid printer settings" when print options are provided. #52367 (Also in 43, 44)
  • Fixeed document title updates when using back/forward navigation using the same document without utilizing browserWindow.setTitle(). #52089 (Also in 42, 43, 44)
  • Screen, window and tab capture requests are now reported to setPermissionRequestHandler as display-capture instead of media; a handler that allows only media must also allow display-capture to keep screen sharing working. #52824
  • <webview> and window.open now inherit nodeIntegrationInWorker from the embedder, consistent with the other Node and sandbox preferences. #52823 (Also in 41, 42, 43, 44)

Other Changes

  • Fixed a 1-in-200 chance per renderer process on Windows of scripts on the first page load being compiled without their V8 code cache. #52791 (Also in 42, 43, 44)
  • Fixed a stall of tens of milliseconds while creating the first BrowserWindow on Linux.
    • Improved the performance of file lookups inside ASAR archives and of large files served from them to the renderer.
    • Improved the performance of calls through contextBridge-exposed APIs.
    • Improved the performance of Buffer.allocUnsafe() and of large file reads in the main and utility processes.
    • Reduced the main-thread cost of sending large values through ipcRenderer, ipcMain handlers and webContents.send. #52923 (Also in 42, 43, 44)
  • Improved application startup time on Linux by skipping GDK's OpenGL probe and loading FontConfig off the main thread during toolkit initialization. #53070 (Also in 43, 44)
  • Improved startup time of utilityProcess.fork(), child_process.fork() / ELECTRON_RUN_AS_NODE child processes and Node.js-enabled renderers. #52873 (Also in 42, 43, 44)
  • Improved the error message when an asar integrity check fails to name the entry that failed. #52600 (Also in 42, 43, 44)
  • Linux arm64, Windows arm64 and macOS x64 builds now start the main process from the embedded Node.js startup snapshot like the other platforms, improving startup time. #52874 (Also in 42, 43, 44)
  • Page resources, fetch() calls and file:// loads in renderers no longer wait for the main process to be idle when no webRequest listeners or protocol interceptors are registered. #53115 (Also in 42, 43, 44)
  • Reduced idle main-process CPU wakeups caused by Node.js timers and immediates. #52862 (Also in 43, 44)
  • Reduced the macOS distribution size by shipping only the locale strings that Electron can actually use. #52290
  • Renderer network requests no longer waited on the main process when the session's webRequest listeners only observe requests (onCompleted, onErrorOccurred, onSendHeaders, onBeforeRedirect, onResponseStarted) or are filtered to other resource types. #53204 (Also in 44)
  • The first sandboxed BrowserWindow now starts in a renderer process launched ahead of time when the default session already exists, shortening the time from window creation to the page's first script; apps that open many windows can keep a spare renderer warm at all times with --enable-features=SpareRendererForSitePerProcess. #53116 (Also in 44)
  • The non-functional dummy libEGL.so and libGLESv2.so files are no longer included in the Linux distribution, now that ANGLE is statically linked. #52226 (Also in 44)
  • Updated Chromium to 154.0.8029.0. #53291
  • Updated Node.js to v24.19.0. #52638

Documentation

Unknown

  • None (reverts an unreleased change). #52323
  • Removed 32-bit builds (Windows ia32 and Linux armv7l). Electron is now published only for 64-bit (x64 and arm64) platforms. #51816 (Also in 44)
  • Removed openAsHidden option from app.setLoginItemSettings().
    • Removed openAsHidden, wasOpenedAsHidden and restoreState fields from return value of app.getLoginItemSettings().
    • Fixed potential deadlock inside app.getLoginItemSettings() on macOS. #52351 (Also in 44)
13 hours ago
embed-pdf-viewer

Release Next v3.0.0-next.10

@cloudpdf/contract@3.0.0-next.10

Minor Changes

  • #791 by @bobsingor – Add doc.annotations.listAll to the public contract for retrieving every page's annotations as one coherent snapshot with audit-head metadata.

@cloudpdf/engine@3.0.0-next.10

Minor Changes

  • #788 by @bobsingor – Add coherent whole-document annotation snapshots using annotation versions and audit heads, including stale-version retries and desync-safe hydration. Expose per-record annotation creation, mutation, and group-assignment permission checks through the cloud document security service.

@cloudpdf/sdk@3.0.0-next.10

Minor Changes

  • #791 by @bobsingor – Add client.doc.annotations.listAll() for retrieving every page's annotations as one coherent layer snapshot.

@cloudpdf/server@3.0.0-next.10

Minor Changes

  • #788 by @bobsingor – Persist per-layer annotation versions and add versioned page and whole-document annotation reads with audit-head metadata. Expose a no-store backend endpoint for listing every annotation in a layer. Annotation mutations now advance the version atomically so clients can hydrate and retry against coherent snapshots.

@embedpdf/core-annotation@3.0.0-next.10

Minor Changes

  • #788 by @bobsingor – Add comment-thread and review-state composition, attached-link substrate helpers, conversation-plane filtering, and per-record annotation authority. Align annotation grouping, hit testing, geometry, and sparse property updates with the new comments, links, and permission model.

@embedpdf/core-geometry@3.0.0-next.10

Minor Changes

  • #788 by @bobsingor – Clarify the public page transform API around content-space coordinates. Add toPixels and fromPixels, and rename the display conversions to contentToView, contentToViewRect, viewToContent, and viewToContentRect.

@embedpdf/core@3.0.0-next.10

Minor Changes

  • #788 by @bobsingor – Export PermissionDenied and add DocumentsCapability.allows() so hosts can gate document-level print and download controls using the active document's security policy.

@embedpdf/engine-core@3.0.0-next.10

Minor Changes

  • #788 by @bobsingor – Add annotation subjects, text review states, comment-thread composition, and coherent whole-document annotation snapshots. Extend document security with per-record collaboration checks, add versioned annotation wire resources and the public whole-document annotation path, and surface unrecoverable event gaps through stream.desynced.

@embedpdf/engine@3.0.0-next.10

Minor Changes

  • #788 by @bobsingor – Implement local per-record collaboration permission checks for annotation creation, mutation, and group assignment. Update scope guards and the local runtime integration to support the new annotation and security contracts.

@embedpdf/engine-services@3.0.0-next.10

Minor Changes

  • #788 by @bobsingor – Read and write annotation subjects and text review states, preserve current annotation state during sparse writes, and use EPDFAnnot_SetRect for moves that must not regenerate appearances. Event delivery now reports gaps that require a full client refresh.

@embedpdf/angular@3.0.0-next.10

Minor Changes

  • #788 by @bobsingor – Rename EpdfPageContext.toPagePoint() to toContentPoint() and align the Angular page context with the content-space page transform API.

@embedpdf/react@3.0.0-next.10

Minor Changes

  • #788 by @bobsingor – Add comment-thread APIs with live page metadata and navigation rectangles. Align React page contexts with the content-space transform API, improve live free-text and callout rendering, and route link activation through the shared link-opening behavior.

@embedpdf/plugin-annotation@3.0.0-next.10

Minor Changes

  • #788 by @bobsingor – Add whole-document annotation hydration with event replay and desync recovery, a comments and review-state API, and an attached-link lens backed by substrate annotations. Add per-record permission checks and keep conversation records out of painting, hit testing, and selection.

@embedpdf/plugin-form@3.0.0-next.10

Minor Changes

  • #788 by @bobsingor – Add canRead(), canFill(), and canDesign() permission helpers, replacing canModify(). Form hydration and mutations now refuse unauthorized work locally, and realtime desync events trigger a full form snapshot refresh.

@embedpdf/plugin-redaction@3.0.0-next.10

Minor Changes

  • #788 by @bobsingor – Add canMark() for redaction annotation creation and make canApply() mirror every capability required by destructive redaction. Unauthorized selection queueing is now rejected before creating marks.

@embedpdf/plugin-render@3.0.0-next.10

Minor Changes

  • #788 by @bobsingor – Add canRender() and reject unauthorized page and tile renders locally with PermissionDenied, avoiding repeated engine requests for sessions without render access.

@embedpdf/plugin-search@3.0.0-next.10

Minor Changes

  • #788 by @bobsingor – Add canSearch(mode) so hosts can gate search and snippet controls using the session's text-search and text-copy permissions.

@embedpdf/viewer-chrome@3.0.0-next.10

Minor Changes

  • #788 by @bobsingor – Add a comments and review sidebar with loading, retry, and navigation states, plus an anchored editor for annotation links. Commands and controls now reflect document and per-record permissions, with updated locale strings for the new states.

@embedpdf/engine-runtime@3.0.0-next.10

Patch Changes

  • #788 by @bobsingor – Expose the native EPDFAnnot_SetRect binding and update the packaged runtime build manifests used for rect-preserving annotation moves.

@embedpdf/plugin-link@3.0.0-next.10

Patch Changes

  • #788 by @bobsingor – Mark grouped annotation link children as attached navigation items so link activation can defer to annotation editing instead of opening the target.

@embedpdf/plugin-stage@3.0.0-next.10

Patch Changes

  • #788 by @bobsingor – Allow RevealOptions.rect to be null and align stage coordinate conversion with the content-space page transform API.

@cloudpdf/viewer@3.0.0-next.10

@cloudpdf/viewer-react@3.0.0-next.10

@embedpdf/core-acrojs@3.0.0-next.10

@embedpdf/core-js-sandbox@3.0.0-next.10

@embedpdf/core-stage@3.0.0-next.10

@embedpdf/core-ui@3.0.0-next.10

@embedpdf/engine-runtime-darwin-arm64@3.0.0-next.10

@embedpdf/engine-runtime-darwin-x64@3.0.0-next.10

@embedpdf/engine-runtime-linux-arm64@3.0.0-next.10

@embedpdf/engine-runtime-linux-x64@3.0.0-next.10

@embedpdf/engine-runtime-linuxmusl-arm64@3.0.0-next.10

@embedpdf/engine-runtime-linuxmusl-x64@3.0.0-next.10

@embedpdf/engine-runtime-wasm32@3.0.0-next.10

@embedpdf/engine-runtime-win32-arm64@3.0.0-next.10

@embedpdf/engine-runtime-win32-x64@3.0.0-next.10

@embedpdf/web@3.0.0-next.10

@embedpdf/plugin-commands@3.0.0-next.10

@embedpdf/plugin-i18n@3.0.0-next.10

@embedpdf/plugin-interaction@3.0.0-next.10

@embedpdf/plugin-metadata@3.0.0-next.10

@embedpdf/plugin-page-edit@3.0.0-next.10

@embedpdf/plugin-selection@3.0.0-next.10

@embedpdf/plugin-shell@3.0.0-next.10

@embedpdf/plugin-stamp@3.0.0-next.10

@embedpdf/plugin-view-manager@3.0.0-next.10

@embedpdf/viewer@3.0.0-next.10

@embedpdf/viewer-react@3.0.0-next.10

21 hours ago
astryx

Astryx 0.5.2

Astryx 0.5.2 — all @astryxdesign/* packages ship at this version.

npx astryx upgrade --apply

@astryxdesign/core

Fixes

  • Rename the Data Input component category to Form Controls (#5686)

Performance

  • Improve frequent translation lookups by pre-building locale maps (#4696)

@astryxdesign/cli

Fixes

  • Rename the Data Input component category to Form Controls (#5686)

Contributors

Thanks to everyone who contributed to this release:

@ngolin @rubyycheung

Full Changelog: https://github.com/facebook/astryx/compare/v0.5.1...v0.5.2