6 hours ago
konva

10.6.0

Bug Fixes

Documentation

  • record the review-task batch in the changelog and close the audit list (Anton Lavrevov)
  • open the 10.6.0 changelog section and give 10.5.0 its own heading (Anton Lavrevov)

Performance Improvements

  • simplify path processing, transform batching, and filter buffers (Anton Lavrevov)

Tests

  • replace Sprite timing assertions with redraw behavior checks (Anton Lavrevov)
  • cover toBlob keeping the callback of a reused config (Anton Lavrevov)
  • compare path point lists with a tolerance instead of exact floats (Anton Lavrevov)

Commits

  • 2babeee: Merge branch 'review-fixes/transformer' into review-fixes/all (Anton Lavrevov)
  • 6628d9d: Merge branch 'review-fixes/node-factory' into review-fixes/all (Anton Lavrevov)
  • 4f0db5d: Merge branch 'review-fixes/util-layer' into review-fixes/all (Anton Lavrevov)
  • 6bd62d3: Merge branch 'review-fixes/text' into review-fixes/all (Anton Lavrevov)
  • 157628d: Merge branch 'review-fixes/arrow' into review-fixes/all (Anton Lavrevov)
  • 2d5dc95: Merge branch 'review-fixes/tween' into review-fixes/all (Anton Lavrevov)
  • 8fc42c5: Merge branch 'review-fixes/pixelate' into review-fixes/all (Anton Lavrevov)
  • 2d796a4: Merge branch 'review-fixes/image' into review-fixes/all (Anton Lavrevov)
  • 57b65c8: Merge branch 'review-fixes/label' into review-fixes/all (Anton Lavrevov)
  • dae1bdf: Merge branch 'redo/textpath' into review-fixes/all (Anton Lavrevov)
  • reject null in the compound accessors that throw on it (Anton Lavrevov)
  • 1199be0: Merge branch 'redo/types' into review-fixes/all (Anton Lavrevov)
  • 444a46c: Merge branch 'repair/node' into review-fixes/all (Anton Lavrevov)
  • 05eec26: Merge branch 'repair/text' into review-fixes/all (Anton Lavrevov)
  • 446e01f: Merge branch 'repair/path' into review-fixes/all (Anton Lavrevov)
  • df1827b: Merge branch 'repair/misc' into review-fixes/all (Anton Lavrevov)
  • 894429d: Merge review-task fix batch: 35 backlog fixes and 12 review repairs (Anton Lavrevov)
  • e759195: update CHANGELOG with new version (Anton Lavrevov)
  • 5f2dcf7: build for 10.6.0 (Anton Lavrevov)
11 hours ago
plate

v53.3.14

@platejs/core

Patch Changes

  • #5131 by @zbeyens – Keep HTML element transforms in their source document during DOCX paste.

@platejs/utils

Patch Changes

  • Updated @platejs/core.

platejs

Patch Changes

  • Updated @platejs/core, @platejs/utils.

Contributors

Thanks to everyone who contributed to this release:

@zbeyens

Full changelog: v53.3.13...v53.3.14

11 hours ago
opensheetmusicdisplay

2.1.3

See the Changelog:

2.1.3 (2026-09-19)

Bug Fixes

  • Braille: Render combined dynamics like sfmp or ffz completely instead of their first symbol only (#1705) (3327c0a), closes #1724
  • Cursor: Fix cursor jumping backwards/off-canvas in rare cases. Skip unreliably positioned staff entries (f504382), closes #791 #1688 #1689
  • Dynamics: Combine two dynamics at the same position on a staff into one marking (e.g. ff + marcato) instead of dropping the first (#1705) (4b32bfd), closes #1724
  • Dynamics: Compare the whole marking for IgnoreRepeatedDynamics, keep the active dynamic's text and enum in sync, trim text (#1705) (b490e49), closes #1724 #1724
  • Dynamics: Derive the playback dynamic from the whole marking text, e.g. ffz -> ff, "f con fuoco" -> f, sfmp spelled letter by letter -> sf (#1705) (ac70d22), closes #1724
  • Dynamics: Render not only first part of combined dynamics like sfmp; render texts like ffz or cresc. (#1705, PR #1724) (4c28406)
  • Grace Notes: Group grace notes after their main note (Nachschlag) with the main note like grace notes before it: same staff entry and cursor step, so cursor.VoicesUnderCursor() returns them together, instead of an extra staff entry at the end of the measure (#1706) (16c3381), closes #1649
  • IncrementalRendering: Draw the copyright with the final batch of renderNext(), it was drawn with the first batch and left behind mid-score (SVG) or missing (Canvas) as the page grew (#1710) (2780f94)
  • Iterator: Keep the enrolled timestamp consistent when moving the iterator backwards: moveToPrevious() now subtracts the measure durations it moves back over, which were only ever added, so CurrentEnrolledTimestamp no longer overstates the position after cursor.previous() and no longer grows with every cursor.update() at the end of the sheet (708d13c)
  • Percussion: Only apply percussion note positioning to notes under a percussion clef (#1726) (PR #1727) (000cd4e)
  • Playback Octave: Include octave-change in PlaybackTranspose. Fix rare wrong octave in specific instruments like Bb tenor sax or rarely guitar (PR #1722) (82e041f)
  • Stems: Add option to not force secondary voice stems down: EngravingRule AutoStemSecondaryVoicesWhenAloneInMeasure (default false) to give a secondary voice that is alone in its measure pitch-based stems instead of forced stems-down (#1719, PR #1725) (7e80df2)
  • Tabs: Render grace notes in tablature staves as smaller fret numbers attached to their main note, they were missing before (#1721) (c4cbc0b)
  • Tempo Expressions: Render a tempo marking repeated in several parts only once instead of once per part stacked above the first system (CharlesGounod_Meditation: "Andante Simplice." 5 times), and draw rit./accel. words once instead of twice (4d21a7a)
  • Ties: Draw a tie that starts or ends at a notehead shared with a hidden unison note of another voice (PR #1731) (ac478eb)
  • Ties: Draw the tie of a hidden unison note at the visible note whose notehead it shares, and draw the tie of notes doubled by a hidden voice only once (follow-up to PR #1731) (ca725dc)
  • Unison: Color the notehead drawn for a hidden unison note like the visible note whose head it shares, so it never overprints that note's color (follow-up to #1730, #1729) (26f8974)
  • Unison: Draw the notehead of a hidden unison note (print-object="no", e.g. 8th under a half note in another voice) beside the visible head instead of leaving its beamed stem bare; center tuplet number over it (PR #1730, #1729) (e28cc5d), closes F#3 F#3

Features

  • Beams: Add EngravingRules.OptimizeExtremeLedgerBeams (default false) to flatten and reposition beams for high numbers of ledger lines (PR #1679) (3dcd823)
  • Dynamics: Add the MusicXML 4.0 dynamics pf, sfzp and n to DynamicEnum, with playback volumes (#1705) (def540a), closes #1724
  • Fingering: Link each fingering label to its note (GraphicalLabel.sourceNote) (PR #1723) (9d288d6)

Performance Improvements

  • Fraction: Use remainder-based Euclid for integer GCDs in simplify() (~0.3% load() speedup) (#1717) (6caed8a), closes #1478
  • load(): -11% to -23% (-14% median) load() time by fewer DOM round trips while reading MusicXML. (PR #1717, #1716) (de9de51)
15 hours ago
rollup

v4.63.4

4.63.4

2026-09-19

Bug Fixes

  • Ensure meta information of the cached module is exposed in shouldTransformCachedModule (#6442)
  • Do not create invalid code if import attribute values contain special characters (#6502)

Pull Requests

  • #6429: ci: collect Rust coverage from JS tests in dedicated job (@lukastaegert)
  • #6442: fix: expose cached module meta during cache checks (@ychampion, @lukastaegert)
  • #6496: docs: name the parameter runHook actually takes (@darkdi, @lukastaegert)
  • #6502: Escape quotes and backslashes in import attribute values (@dylanpulver, @lukastaegert)
  • #6517: Improve agent instructions (@lukastaegert)
  • #6518: fix(deps): update minor/patch updates (@renovate[bot])
  • #6519: Request Copilot code review via workflow (@lukastaegert)
18 hours ago
scalar

Release 2026-09-19

Releases

@scalar/workspace-store@0.63.0

Minor Changes

  • #10261: Add getDocumentRevision(document), a counter the store bumps on every write to a document. A consumer caching a derivation of a schema node can validate the entry against it in constant time, instead of walking the subtree to see whether anything moved. It reads the same from any view of the document, including one with the reactive and detect-changes proxies stripped for reads, and returns 0 for a document no store tracks.
  • #10261: Type the result of resolve.schema as read-only. A resolved schema is the document's own node or a shallow merge over it, so writing to it writes into the document behind the store's back; every change belongs in a store mutation, and a caller that needs a modified shape copies what it needs first. No in-repo consumer had to change.

Patch Changes

  • #10261: Make rendering from the store cheaper: the detect-changes proxy no longer allocates a path on every property read, getResolvedRefDeep stops deep-unpacking every node it visits, resolve.schema builds its composed typebox schema once, and getExampleFromSchema builds its options cache key once per call instead of once per node.
  • #10261: Follow chains of references when resolving. A reference can point at a second reference — resolve() on a static or SSR workspace leaves the component behind as a { $ref: '#/x-ext/<hash>', $global: true } stub with the content under x-ext — so getResolvedRef and getResolvedRefDeep now hop through references that carry nothing but a $ref until they reach the node itself, instead of handing back the stub. A reference that carries keywords of its own stays its own hop, since it is a schema in its own right.

@scalar/fastify-api-reference@1.69.2

@scalar/nuxt@0.6.70

@scalar/agent-chat@0.12.33

@scalar/api-client@3.19.2

@scalar/api-client-react@2.0.47

@scalar/api-reference@1.69.2

@scalar/api-reference-react@0.9.70

@scalar/blocks@0.1.19

@scalar/mock-server@0.14.3

@scalar/oas-utils@0.20.2

@scalar/openapi-to-markdown@1.0.1

@scalar/pre-post-request-scripts@0.4.45

@scalar/server-side-rendering@0.1.49

@scalar/sidebar@0.11.4

@scalarapi/docker-api-reference@0.6.4

Bundled API Reference

  • @scalar/api-reference@1.69.2

@scalar/aspire@0.11.22

Bundled API Reference

  • @scalar/api-reference@1.69.2

@scalar/aspnetcore@2.17.6

Bundled API Reference

  • @scalar/api-reference@1.69.2

@scalar/aws-lambda@0.2.10

Bundled API Reference

  • @scalar/api-reference@1.69.2

@scalar/azure-functions@0.2.16

Bundled API Reference

  • @scalar/api-reference@1.69.2

@scalar/java-integration@0.6.70

Bundled API Reference

  • @scalar/api-reference@1.69.2

scalar_api_reference@0.2.4

Bundled API Reference

  • @scalar/api-reference@1.69.2

@scalar/mock-server-docker@0.2.60

scalar-app@1.1.30

20 hours ago
calendar

v3.7.3

What's Changed

Released in this version: @dayflow/core, @dayflow/react, @dayflow/vue, @dayflow/svelte and @dayflow/angular 3.7.3 · @dayflow/plugin-drag 1.6.2 · @dayflow/plugin-sidebar 1.6.3 · @dayflow/ui-context-menu 1.2.1 · @dayflow/sync-core 1.1.2. All other packages are unchanged.

New Features & Enhancements

  • Grouped Calendar Selectors (@dayflow/core, @dayflow/plugin-sidebar):
    • Calendar pickers in the event detail panel, detail dialog and mobile drawer, the event context menu, and the sidebar's import and delete-calendar dialogs now group calendars under headers by their source (for example "Google Calendar" or "iCloud").
    • Calendars without a source are listed ungrouped, and the lists look the same as before when no calendar has one. The sidebar's dialogs list groups in the sidebar's own group order.
  • Theme-Aware Context Menus (@dayflow/core, @dayflow/ui-context-menu):
    • Context menus take their colors from the calendar theme tokens (--df-color-*, with --df-color-card for the surface) instead of a built-in palette, so custom theme colors now apply to them.
    • ContextMenu accepts a style prop, merged with its computed position.
    • Used on its own, the menu falls back to the light palette. Its built-in dark palette has been removed, so define the --df-color-* tokens to style it for dark mode.

Full Changelog: https://github.com/dayflow-js/calendar/compare/v3.7.2...v3.7.3

22 hours ago
next.js

v16.4.0-canary.36

Misc Changes

  • Persist resurrected tasks as new tasks: #98729
  • Rspack: Remove bincode dependency from rspack by way of turbo-unix-path: #98855
  • Pin tasks across restore waiter handoff: #98728
  • test: honor skipStart for Vercel deployments: #98776
  • Use internal prefix for Turbopack shutdown env: #98747
  • test: retry waiting for ISR fallback in prefetch-static-shell: #98884
  • Fix generated Turbopack GC option docs: #98888
  • Add agent feedback behavior evals: #98887
  • Add experimental agent feedback workflow: #98582
  • Clean up unnecessary output asset creation: #98834
  • Properly disable laziness on next/dynamic: #98828
  • Set experimental.agenticAutoUpgrade after successful upgrade: #98871
  • example(cache-handler-redis): fix connection leak, hangs on a down Redis, and cross-page tag invalidation: #98716
  • Do not check Node version while agentic upgrade: #98852
  • test: run cargo unit tests with miri as well: #97535
  • test: unflake instant-validation: #98854

Credits

Huge thanks to @sokra, @bgw, @gnoff, @wbinnssmith, @lubieowoce, @jimmyhmiller, @aurorascharff, @devjiwonchoi, @leejpsd, and @mischnic for helping!

23 hours ago
remix

static-middleware v0.4.16

Patch Changes

23 hours ago
remix

tar-parser v0.8.0

Minor Changes

  • BREAKING CHANGE: parseTarHeader(), parseTar(), and TarParser now default to pathPolicy: 'relative', throwing TarParseError for empty entry names or link targets, absolute paths, Windows drive prefixes, backslashes, and embedded NULs. Entry names cannot contain .. path components. Symlink targets are checked relative to the link's parent directory, and hard-link targets relative to the archive root; .. components are allowed only when resolution stays within the archive. Valid paths retain their spelling, including nested paths, ./ prefixes, and trailing directory slashes. Applications that need to inspect or process unrestricted archive paths can opt into pathPolicy: 'preserve':

    -await parseTar(archive, handleEntry)
    +await parseTar(archive, { pathPolicy: 'preserve' }, handleEntry)

    The same option works with parseTarHeader() and new TarParser(). It does not disable archive limits or header structure validation. Path validation applies after ustar prefixes and GNU/PAX overrides, before an entry reaches the handler. GNU long names and link targets now omit their terminating NUL under either policy. Extractors must still enforce containment on their destination filesystem, including when existing or archived symlinks are present.

  • BREAKING CHANGE: parseTar() and TarParser now default to limits of 2 MiB per entry body, 20 MiB of total archive input, and 5,000 entries, where previously none were limited. Applications processing larger archives must configure maxEntrySize, maxTotalSize, and maxEntries to raise the applicable limits, or set any limit to Infinity to disable it:

    -await parseTar(archive, handleEntry)
    +await parseTar(
    +  archive,
    +  { maxEntrySize: Infinity, maxTotalSize: Infinity, maxEntries: Infinity },
    +  handleEntry,
    +)

    The entry size and count limits include PAX/GNU metadata entries and are checked before reading their bodies or invoking entry handlers. Padding and end markers do not count as entries. The total size limit counts all input bytes, including headers, padding, and metadata, after any upstream decompression. Exceeding a limit throws the exported MaxEntrySizeExceededError, MaxTotalSizeExceededError, or MaxEntriesExceededError, all extending TarParseError.

    Global PAX metadata now applies to subsequent entries even without a local PAX header, so global sizes are parsed and checked against the entry limit. Local PAX values continue to take precedence.

Patch Changes

  • Buffer TarEntry content using the bytes received, validate octal, base-256, and PAX entry sizes, and reject unfinished body readers when archive parsing fails.

  • Reduce allocation and copying when GNU or PAX metadata arrives in small chunks. Metadata buffering grows with the bytes received and continues to honor the configured archive limits.

23 hours ago
remix

test v0.6.1

Patch Changes

  • Server-only test runs no longer load the optional Playwright peer dependency, so remix test --type server works when Playwright is not installed.