2 hours ago
next.js

v16.4.0-canary.20

Misc Changes

  • test(turbopack): remove dead top-level task unmarks: #98246
  • Fix flaky successive HMR changes test: #97610
  • docs: Remove version label from Turbopack in Pages Router: #98316
  • turbo-tasks-backend: fix strongly consistent read hanging on a canceled task: #98312

Credits

Huge thanks to @lukesandberg, @sokra, and @icyJoseph for helping!

2 hours ago
konva

10.4.0

Features

  • destroy event; Transformer, Tween, pointer captures and stage timers release destroyed nodes (Anton Lavrevov)

Bug Fixes

  • size the buffer canvas of cache() and toCanvas() to the target, allocate it lazily and release it (Anton Lavrevov)
  • memoize isCSSFiltersSupported() and release its probe canvas (Anton Lavrevov)
  • stop the frame interval of a Sprite on destroy() (Anton Lavrevov)
  • keep descendant caches on clearCache() and release the previous canvases on re-cache (Anton Lavrevov)
  • setAbsolutePosition() under a zero-scale ancestor no longer writes NaN (Anton Lavrevov)
  • negative radius and cornerRadius no longer throw and blank the layer (Anton Lavrevov)
  • batchDraw() no longer freezes the layer after a throwing draw (Anton Lavrevov)
  • Blur keeps the colour of semi-transparent pixels and survives large radii (Anton Lavrevov)
  • Tween ownership bookkeeping (Anton Lavrevov)
  • clamp a negative cornerRadius in drawRoundedRectPath (Anton Lavrevov)
  • hasShadow() follows shadowOffsetX and shadowOffsetY changes (Anton Lavrevov)
  • cache() and transform batching clean up after a throw (Anton Lavrevov)
  • split text into graphemes with Intl.Segmenter (Anton Lavrevov)
  • toObject() copies attributes instead of mutating them, accepts frozen values and skips methods named like custom attributes (Anton Lavrevov)
  • drawHitFromCache() honours hitCanvasPixelRatio (Anton Lavrevov)
  • Path arc bounds, SVGO arc flags, empty data, and segment-relative getPointAtLength (Anton Lavrevov)
  • Transformer follows the grabbing pointer, guards zero-size boxes, and resolves its anchors directly (Anton Lavrevov)
  • Tween of component attributes, of array attributes the node lacks, and to() no longer mutates its params (Anton Lavrevov)
  • absolute getters and derived caches of nodes under a cached container, fire(type, null), non-finite child rects (Anton Lavrevov)
  • Canvas size equals the truncated bitmap at a fractional pixel ratio and keeps its logical size; setSizeIfChanged() with NaN (Anton Lavrevov)
  • drag with several pointers releases only the lifted pointer; startDrag() without an event ends on release (Anton Lavrevov)
  • Transformer suppresses the hit graph of its own layers only (gate moved to Layer.shouldDrawHit), forwards getClientRect(config), honours top in getAbsoluteTransform() (Anton Lavrevov)
  • RegularPolygon without sides, Sprite getSelfRect() and guards for a missing animation or frame (Anton Lavrevov)
  • report a non-finite number at the core aggregation points instead of silently drawing nothing (Anton Lavrevov)
  • Tag.getSelfRect() grows by exactly the pointer for a left or right pointer (Anton Lavrevov)
  • eleven one-line bugs (Anton Lavrevov)
  • layer.size() no longer resizes the layer canvas; getChildren() returns a copy (Anton Lavrevov)
  • review follow-ups for the polishing batch (Anton Lavrevov)
  • Transformer follows node changes made between pointer moves of a resize (Anton Lavrevov)

Documentation

  • JSDoc that contradicted the code, wrong names and types, examples that did not run (Anton Lavrevov)
  • rewrite the unreleased changelog in the usual short style (Anton Lavrevov)

Performance Improvements

  • keep a running grapheme index for charRenderFunc instead of recounting previous lines per character (Anton Lavrevov)
  • upload filter chain result once and stop reallocating the filter canvas (Anton Lavrevov)
  • release the per-layer canvases of a stage export and skip the client rect when the box is given (Anton Lavrevov)
  • resize a canvas in one pass (Anton Lavrevov)
  • drop the two Maps every node allocated (Anton Lavrevov)
  • wrap fixed-width text in linear time (Anton Lavrevov)
  • resolve edge pixels of the hit graph directly and bound the search (Anton Lavrevov)
  • relayout listeners of Text and TextPath on the prototype, listener cache keyed by class (Anton Lavrevov)
  • getClientRect() no longer scans the subtree at every nesting level (Anton Lavrevov)
  • drag reads pointer positions once per stage, skips the redraw on a plain click, and resets the drag position per drag (Anton Lavrevov)
  • hoisted component getter names, single-array Transform, direct drawImage, hoisted TypedArray (Anton Lavrevov)
  • Animation keeps its running animations in a Set; an animation stopping itself no longer skips the next one; setLayers() copies its argument (Anton Lavrevov)

Tests

Builds

  • keep JSDoc in the published .d.ts files (Anton Lavrevov)
  • size budget of 48 KB, CI runs size, import and type checks on Node 22 (Anton Lavrevov)
  • release script runs the tests, drops the empty cdn-link commit and the hard-coded directory (Anton Lavrevov)
  • named exports and prepublishOnly (Anton Lavrevov)
  • drop the named exports and the separate UMD entry (Anton Lavrevov)

Chores

  • remove dead Node internals and hoist the non-bubbling event list (Anton Lavrevov)
  • build the browser tests from a clean Parcel cache (Anton Lavrevov)
  • drop the unregistered fillLinearRadial* declarations, build ellipses with context.ellipse() (Anton Lavrevov)
  • remove dead code (hit fill/stroke duplicates, lineDash fallbacks, trace branch, unused globals, addDeprecatedGetterSetter) (Anton Lavrevov)
  • red/green/blue registered once with the shared component validator, alpha uses afterSetFilter (Anton Lavrevov)
  • remove dead code; cloneObject() copies nested arrays and typed arrays; shadow probe releases its canvas (Anton Lavrevov)
  • resolve every TODO comment in src and tests (Anton Lavrevov)
  • remove dead code, dead files and unused devDependencies (Anton Lavrevov)

Commits

  • ad94d9d: update CHANGELOG (Anton Lavrevov)
  • f142b6e: update CHANGELOG (Anton Lavrevov)
  • 7ee3232: update CHANGELOG (Anton Lavrevov)
  • c9f3830: update CHANGELOG (Anton Lavrevov)
  • 0f88c28: update CHANGELOG (Anton Lavrevov)
  • declarations that contradicted the runtime or the docs (Anton Lavrevov)
  • ac581a4: update CHANGELOG with new version (Anton Lavrevov)
  • e51c16d: build for 10.4.0 (Anton Lavrevov)
5 hours ago
electron

electron v45.0.0-alpha.5

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.5.

Release Notes for v45.0.0-alpha.5

Fixes

  • File System Access permission requests and the file-system-access-restricted event are scoped to the requesting document, grants are reset when the origin's last page closes, and write access works in in-memory sessions. #53690 (Also in 43)
  • Fixed Tray icons not appearing when running inside Flatpak or Snap sandboxes on Linux. #53654 (Also in 44)
  • Fixed app.getGPUInfo('complete') stalling the GPU process for several seconds on some Windows systems. #53645 (Also in 44)
  • Fixed session.setPermissionCheckHandler receiving the top-level origin and a null webContents for hid and usb checks made from a subframe. #53679 (Also in 43, 44)
  • Fixed webContents.on(), removeListener() and removeAllListeners() throwing "Object has been destroyed" for console-message listeners after the WebContents was destroyed. #53495 (Also in 42, 43, 44)
  • Fixed a crash on Linux when process.env was written while another thread was reading the environment, and a memory leak when a worker thread exits. #53508 (Also in 42, 43, 44)
  • Fixed a possible crash on Windows when a file dialog was shown for a window that was being closed at the same time. #53586 (Also in 42, 43, 44)
  • Fixed a renderer crash when the main process sent IPC to, or a page navigated, a same-process window.open() child whose contextIsolation differed from its opener's. #53538 (Also in 42, 43, 44)
  • Fixed a spurious node_init error being logged when creating a ShadowRealm with Node.js integration enabled. #53578 (Also in 44)
  • Fixed crashes in setDisplayMediaRequestHandler when the granted frame had been destroyed or another tab was granted by id. #53673 (Also in 42, 43, 44)
  • Fixed several non-functional DevTools integrations: the Security panel's "View certificate" button, Ctrl+wheel zooming inside DevTools, and DevTools keyboard shortcuts (e.g. F8) while the inspected page has focus. #53471 (Also in 43, 44)
  • Fixed window state not being persisted when a window entered or left fullscreen, or was maximized or unmaximized, without also being moved or resized. #53577 (Also in 44)
  • openExternal permission requests started by a frame that has since gone away are attributed to that frame's origin rather than to the navigating page. #53696 (Also in 42, 43)
  • pointerLock and keyboardLock permission requests now report the requesting frame, and execCommand('paste') requires user activation in the frame that calls it. #53692 (Also in 44)

Other Changes

  • Electron's internal JavaScript bundles are no longer listed in require('module').builtinModules or loadable through process.getBuiltinModule(). #53624
  • Fixed the app becoming unresponsive when a page has a very large number of app-region draggable elements. #53596 (Also in 43, 44)
  • Improved throughput of responses that protocol.handle handlers return straight from net.fetch. #53379 (Also in 44)
9 hours ago
cytoscape.js

v3.34.3

Release version v3.34.3

11 hours ago
zip.js

v2.11.4

What's Changed in v2.11.4

Bug fixes

  • An AbortSignal already aborted when ZipWriter#add() or Entry#getData() is called now rejects the call. The signal was only handed to pipeTo(), which ignores it on the engines below its support floor, i.e. the oldest browsers the test matrix covers: the whole entry was then written and there was nothing left to abort. Both methods now check the signal before starting, and reject with signal.reason when it is set, so the error is unchanged on the engines that already honored it, or with an AbortError whose message is ERR_ABORTED otherwise, signal.reason not existing before Chrome 98. A pre-aborted add() also rejects before the temporary stream of a buffered entry is created, so nothing is allocated to dispose
  • The chunks of a ZipReaderStream now expose the properties deposited on an entry while its data is read, i.e. EntryMetaData#warnings and EntryMetaData#localDirectory. The chunk was built from a copy of the entry taken before the read started, so those two were permanently absent from it, and the warnings channel added in v2.8.x was unreachable from ZipReaderStream although the types promise it. The chunk now shares them with the entry, so they are readable on it once its readable property has been consumed
  • BlobReader no longer fails with sourceBlob.stream is not a function when its source is a Blob-like object exposing only size, slice and arrayBuffer. It reads with stream() when the source has it and falls back to the slice()/arrayBuffer() path otherwise, which the reader already implemented for the engines whose Blob#slice is unreliable

Documentation

  • The signal option of the reader and of the writer documents that a signal already aborted rejects the call, and with which error

Tests and continuous integration

  • New test covering a signal already aborted when add() and getData() are called, with and without a reason, registered without the pipeToSignal feature gate so that it runs on the engines the fix is for
  • New test covering a BlobReader over a source without stream()
  • The warnings test asserts that a ZipReaderStream chunk carries the local directory and the warnings of its entry
  • The temporary stream test no longer uses a pre-aborted signal to reach its error path, which no longer creates a temporary stream, and covers a failing Reader instead; a second case pins that a pre-aborted add() creates none
11 hours ago
virtual

@tanstack/marko-virtual@3.15.2

Patch Changes

  • Updated dependencies [4a0adf3]:
    • @tanstack/virtual-core@3.17.9
11 hours ago
virtual

@tanstack/vue-virtual@3.13.37

Patch Changes

  • Updated dependencies [4a0adf3]:
    • @tanstack/virtual-core@3.17.9
11 hours ago
virtual

@tanstack/lit-virtual@3.14.0

Minor Changes

  • #1264 bb4e0f1 - Re-export @tanstack/virtual-core from @tanstack/lit-virtual, so the core API (Virtualizer, defaultRangeExtractor, measureElement, the scroll observers and the shared types) can be imported from the adapter without adding @tanstack/virtual-core as a second dependency. Every other framework adapter already does this.

Patch Changes

  • Updated dependencies [4a0adf3]:
    • @tanstack/virtual-core@3.17.9
11 hours ago
virtual

@tanstack/svelte-virtual@3.13.37

Patch Changes

  • Updated dependencies [4a0adf3]:
    • @tanstack/virtual-core@3.17.9
11 hours ago
virtual

@tanstack/solid-virtual@3.13.38

Patch Changes

  • Updated dependencies [4a0adf3]:
    • @tanstack/virtual-core@3.17.9