4 hours ago
snapdom

v3.7.6

Faster captures

This release is mostly about speed. Nothing to configure, you get it by updating.

  • Capturing the same element again is about a third faster. On our 250-row table benchmark a repeat capture went from 40 ms to 27 ms. Style-heavy pages and deep trees gained between 18% and 27%.
  • Pages that change between captures are 4 to 5 times faster. If you capture, something on the page updates, and you capture again (a dashboard, a live preview, an editor), that second capture used to redo most of the work. On the same table, with a change every fourth capture, the total went from 91 ms to 20 ms.
  • Big stylesheets no longer slow down small captures. A small card on a page with a 10,000-rule stylesheet took 22 ms to recapture after any change on the page. It now takes 8 ms.
  • Recaptures with compress are about 3 times faster on image-heavy pages (287 ms down to 99 ms on our 19-image demo).
  • Pages built from many web components that share the same styles produce a much smaller capture and render faster.

Numbers are from Chromium against 3.7.5. Firefox and Safari benefit from the same changes.

What's next

From here on I'm working on top of this base to simplify the architecture. SnapDOM has become hard to maintain: the caches that make it fast have piled up on top of each other, and that makes it difficult to avoid regressions and to keep moving forward in a sustainable way.

So the next version will come with a lot of changes in that direction. The goal is the same speed and the same fidelity, on code that is simpler to reason about and safer to change.

What's Changed

New Contributors

Full Changelog: https://github.com/zumerlab/snapdom/compare/v3.7.5...v3.7.6

7 hours ago
wangEditor-next

v6.6.2

What's Changed

  • 修复文本 HTML 实体转义和解析的重复解码问题,确保 getHtml、setHtml 与代码块中的字面量实体可以往返保留。

Published packages

Package Version Source
@wangeditor-next/basic-modules 6.6.2 Source
@wangeditor-next/code-highlight 6.6.2 Source
@wangeditor-next/core 6.6.2 Source
@wangeditor-next/editor 6.6.2 Source
@wangeditor-next/editor-for-react 6.6.2 Source
@wangeditor-next/editor-for-vue 6.6.2 Source
@wangeditor-next/editor-for-vue2 6.6.2 Source
@wangeditor-next/list-module 6.6.2 Source
@wangeditor-next/plugin-attachment 6.6.2 Source
@wangeditor-next/plugin-ctrl-enter 6.6.2 Source
@wangeditor-next/plugin-float-image 6.6.2 Source
@wangeditor-next/plugin-formula 6.6.2 Source
@wangeditor-next/plugin-link-card 6.6.2 Source
@wangeditor-next/plugin-markdown 6.6.2 Source
@wangeditor-next/plugin-mention 6.6.2 Source
@wangeditor-next/table-module 6.6.2 Source
@wangeditor-next/upload-image-module 6.6.2 Source
@wangeditor-next/video-module 6.6.2 Source
@wangeditor-next/yjs 6.6.2 Source
@wangeditor-next/yjs-for-react 6.6.2 Source
@wangeditor-next/yjs-for-vue 6.6.2 Source
7 hours ago
mantine

9.8.1

  • [@mantine/core] ScrollArea: Fix onBottomReached not being called when viewport height is fractional (#9420)
  • [@mantine/core] Popover: Fix overlay transition ignoring zero duration (#9419)
  • [@mantine/form] Keep errors with their records when reordering list items (#9408)
  • [@mantine/core] Color functions: Fix space-separated rgb() colors parsing (#9407)
  • [@mantine/hooks] use-disclosure: Fix onOpen/onClose firing multiple times in StrictMode (#9404)
  • [@mantine/schedule] WeekView: Fix weekday buttons accessible name not containing visible text (#9401)
  • [@mantine/hooks] use-resize-observer: Respect explicit content-box measurements (#9400)
  • [@mantine/core] Modal: Disable pointer events on overlay when closed or exiting (#9398)
  • [@mantine/core] Combobox: Fix empty group labels rendered when search filters out all group items (#9393)
  • [@mantine/dates] DatePickerInput, MonthPickerInput, YearPickerInput, DateTimePicker: Fix dropdown aria-labelledby referencing a missing element (#9390)
  • [@mantine/dates] TimePicker: Sync fields and hidden input with clamped value on paste (#9388)
  • [@mantine/form] useForm: Fix clearFieldError being dropped when called in the same tick as other updates (#9385)
  • [@mantine/schedule] MobileMonthView: Show events on outside days (#9384)
  • [@mantine/core] Tabs: Activate tabs on Home and End keys (#9382)
  • [@mantine/hooks] use-hotkeys: Normalize physical letter codes case-insensitively (#9381)
  • [@mantine/hooks] use-scroller: Update controls on content resize (#9379)
  • [@mantine/core] Tour: Fix tooltip going off screen when the target has no room on any side (#9367)
  • [@mantine/schedule] ResourcesWeekView: Add compact day-cell layout
  • [@mantine/core] PhoneInput: Fix incorrect click behavior on the dropdown trigger button
  • [@mantine/core] PhoneInput: Add phone extension support
  • [@mantine/core] Table: Fix sticky header borders with spanning cells
  • [@mantine/core] PhoneInput: Fix national prefix handling and shared dial code selection
  • [@mantine/core] Fix theme.cursorType not affecting some components
12 hours ago
tui.editor

editor-plugin-chart@3.0.2

⚠️ This project is no longer maintained.

Security

  • Harden chart option parsing to prevent prototype pollution.

Dependency

  • The @toast-ui/chart dependency range is raised to ^4.6.2. Using @toast-ui/chart 4.6.2 or later is required, which also includes the chart-side tooltip hardening.

Upgrade

npm install @toast-ui/editor-plugin-chart@3.0.2
13 hours ago
tui.editor

editor@3.2.3

⚠️ This project is no longer maintained.

Security

  • Harden WYSIWYG rendering against injection of unintended HTML elements.

Behavior change

  • No change for normal content. Markdown (getMarkdown) and HTML (getHTML) output are unchanged.

Wrappers

  • @toast-ui/react-editor 3.2.4 and @toast-ui/vue-editor 3.2.4 are released.
    • They require @toast-ui/editor 3.2.3 or later.

Upgrade

npm install @toast-ui/editor@3.2.3
# React
npm install @toast-ui/react-editor@3.2.4
# Vue
npm install @toast-ui/vue-editor@3.2.4

Full Changelog: https://github.com/nhn/tui.editor/compare/editor@3.2.2...editor@3.2.3

17 hours ago
next.js

v16.5.0-canary.51

Misc Changes

  • turbo-tasks-backend: release the owner task before the reader side of keyed refinement: #101732

Credits

Huge thanks to @sokra for helping!

17 hours ago
react-pdf

v11.1.0

What's new?

  • Added loading, error, and no-data modifier class names to Document, Page, and Thumbnail for state-specific styling (#2120). Thanks, @luisangelrod!
  • Updated PDF.js to 6.5.438 (#2174).
    • Accessibility improvements
    • Annotation and form rendering improvements
    • Font conversion improvements
    • Image decoding improvements
    • Pattern rendering improvements
    • Performance improvements
    • Text selection improvements

What's changed?

  • Improved documentation for legacy PDF.js builds and matching worker versions (#2161, #2174).
  • Updated Next.js examples (#2039). Thanks, @BetterAndBetterII!

Bug fixes

  • Fixed positioning of non-rotating annotations on rotated pages.
  • Fixed Vite asset copying examples and sample configuration for cMaps, WebAssembly modules, and standard fonts (#2164). Thanks, @Apu-Emdad!
18 hours ago
officeParser

v8.8.0: 📊 Charts Everywhere, Word & RTF Content, Template Conditions

v8.8.0: 📊 Charts Everywhere, Word & RTF Content, Template Conditions

I am pleased to announce the release of officeParser v8.8.0! Word charts are read, every chart keeps its points, levels, axes and formats and reaches every output, Word and RTF content that used to vanish on the way out (embedded objects, equations, tracked deletions, EMF and WMF pictures) is kept, template conditions take filters and compare numbers on request, and spreadsheets keep their formulas.

Thanks to @setthase, @jayhemnani9910, @L4XB, @brennanbutler01, @gezerui888, @nicolasdev and @ceolinwill, whose pull requests and reports are in this release.


🌟 Key Highlights

1. Charts, read and written whole

  • Word charts are read as chart nodes with their data, as in PowerPoint and Excel (#131).
  • Every point keeps its place: a blank point no longer shifts values onto the wrong category (#136); multi-level categories stay apart (#139); number formats and shown text are kept (#140); every axis is read, with each series' chart type (#143); scatter and bubble charts keep their X values and sizes (#144).
  • Every output writes a chart: Markdown and RTF as their data's table, EPUB as a table, the native PDF engine draws charts in a line of text too. CSV reports the charts it leaves out.

2. Word and RTF content that no longer disappears

Embedded objects (an Excel sheet, an equation) are shown by their preview picture; RTF tracked deletions are left out, RTF equations are read, RTF embedded objects show their last look; EMF and WMF pictures are kept and typed, and the native PDF engine draws the bitmap they hold. A content control's placeholder prompt is no longer read as text (includePlaceholderText writes it).

3. Template conditions

{{ if (answer | lower) == "yes" }}   // filters in conditions
{{ if status <> "paid" }}            // <> reads as !=

numericTextComparison: 'number' compares two number texts as numbers, exactly; by default they compare as text, as before, now with a TEMPLATE_NUMBERS_COMPARED_AS_TEXT warning when ordered. dataNumberSeparators takes a list of ways to read a number and refuses text they read differently.

4. Spreadsheets and slides

XLSX cell formulas are read beside their values (CellMetadata.formula, never written into any output); prefixed SpreadsheetML (#153) and entity-encoded values are read; workbooks saved without calculated results keep their cells. Hidden PPTX and ODP slides are marked, and speaker notes no longer end with the notes page's slide number (#137, #138).


⚠️ Behaviour changes

  • PDF output leaves hidden slides out, with their notes, as it already does hidden sheets; pdfConfig.printHidden prints them.
  • Markdown asks onNode once about a whole line in an HTML table cell or list item, instead of about each part.

🔧 Also Fixed

  • PDF words are no longer glued together where a font's space glyph reads as a tab (#158), as they were since 8.4.0.
  • Markdown inside HTML table cells is kept, never shown as a code like hxt8aparnhc:0.
  • Equations keep their braces (\frac{a}{b}, not \fracab) in LaTeX, Markdown and every output that writes them.
  • Pictures in PDF list items, headings and footnotes are drawn, and each equation written as its LaTeX source is reported.
  • Pictures are embedded by what their bytes are (a JPEG named .png is drawn), and PPTX, ODP and RTF output no longer fail on a picture whose data is not base64.
  • abortSignal stops reading an archive, and the browser bundles no longer define window.setImmediate.
  • A chart shown at many places, and very large hostile pictures, no longer multiply the output or its memory.

See the full list in the changelog.


🛠 Getting Started

npm install officeparser@8.8.0

🔗 Full Changelog: View v8.8.0 details 🔗 Documentation & Visualizer: officeparser.harshankur.com

21 hours ago
electron

electron v45.3.3

Release Notes for v45.3.3

Fixes

  • Fixed a race where a DevTools extension's devtools_page could run before chrome.devtools was available. #55794 (Also in 44, 46)

Other Changes

  • Updated Node.js to v24.22.3. #55753
1 days ago
univer

🛠️ Release v1.5.0

Univer 1.5.0 adds dedicated chart sheets, stacked line charts, and error bars. Pro's free tier now covers more editing and local output workflows. This release also reduces memory use during formula calculation, adds controls for Sheets interactions and Board layout, and improves Office file compatibility.

New features

Chart sheets, stacked line charts, and error bars

Give a chart its own tab while keeping its source cells in regular worksheets in the same workbook. Move charts between sheets with undo and redo. With the Sheets Chart Facade loaded, use workbook.insertChartSheet(info, { name, index }) to set the tab name and zero-based position, and getPrimaryChart() to access the main chart. A chart sheet can also continuously fit its main chart to the viewport using zoomToFit. Older snapshots without this setting use fixed zoom. Chart sheets guide

Create stacked and 100% stacked line charts. The chart editor and the builder and live chart APIs also support per-series error bars for basic 2D column, bar, line, and scatter charts. Use setErrorBars() and clearErrorBars() to control direction, end caps, styling, and error amounts. Supported amounts include fixed values, percentages, standard deviation, standard error, and positive or negative values from custom fields in the chart's data source. Scatter charts support separate X and Y error bars. Error bars guide

Editable Board diagrams and a dedicated LaTeX package

Use planLayout() to arrange a diagram or adjust connector routes, endpoints, labels, and text fitting. Inspect the returned diagnostics before applying a ready plan with applyLayoutPlan(). Applying a plan is undoable, and the resulting shapes and connectors remain editable. Imported tree branches can be collapsed or expanded with setTreeBranchCollapsed(). Rendered analysis reports issues such as label overflow and text that does not fit, and screenshot bounds can account for rendered paths and labels. Board Facade reference

The new @univerjs-pro/boards-latex-ui package renders LaTeX in Board text. Register UniverBoardsLatexUIPlugin after the Boards UI plugin. Plugin reference

Commit Slides text before saving

Load @univerjs-pro/slides-ui/facade to check presentation.isTextEditing() or call await presentation.endTextEditingAsync() before a custom save action. Save after it returns true. A return value of false means the draft could not be committed or IME composition is still in progress. Slides Facade reference

New configuration options

Sheets interaction settings

Set these options directly on UniverSheetsUIPlugin, or under sheets in UniverSheetsCorePreset.

Option Default Behavior
selectionAnimation true Animates the desktop selection outline when clicking between cells. The system's reduced-motion preference takes precedence.
enableFillHandle true Shows the desktop fill handle. Fill commands and Facade APIs still work when it is hidden.
warnBeforeDragOverwrite true Confirms before a dragged range overwrites existing cells. Move validation and undo/redo still apply when the prompt is disabled.

Sheets Core configuration

Board layout and embedded UI

  • FBoard.planLayout() accepts graph, routes, ports, labels, and text modes. Graph layout accepts elementIds, fixedElementIds, and feedbackConnectorIds for scope, plus direction, layerGap, itemGap, origin, and maxNodes for placement. It defaults to horizontal layout, a layer gap of 100, an item gap of 48, and a limit of 500 nodes. Route, port, and label passes can target specific connectorIds. Graph and text layout accept maximumWidthGrowth to cap text-driven widening, with a range of 1–2 and a default of 2. Board layout options
  • analyzeRenderedLayout() accepts maximumAutomaticLabelDistance in Board units for checking automatic label placement. The limit is opt-in. Board models also expose connectionPositionMode for automatic or fixed connector endpoints, lineJump for crossing styles, and layoutOccupancy: "frame" to allow routes through a container’s interior. Use setContainerStyle() with titleOffsetX to offset a container caption, or set a swimlane’s headerPosition to left or top. Rendered layout analysis
  • Custom canvas floating DOM layers can set IFloatDom.preventBrowserZoom to suppress browser zoom gestures while forwarding events. eventOptions configures native passive and capture settings per wheel or pointer event. Events without an override continue to use React forwarding. Floating DOM layer API

Office import and export

These changes require the corresponding native Exchange artifacts.

  • Charts. Preserve dedicated chart sheets in XLSX and supported stacked line chart groupings in XLSX, DOCX, and PPTX.
  • PivotTables. Preserve more saved report layouts, merged headers, shared caches, and slicer, timeline, and PivotChart connections. Editable imported reports are stored as PivotTable resources so a second static copy does not appear in worksheet cells. Applications reading those report values should load the snapshot in a compatible frontend and read the rendered report. Re-import the original XLSX if an older snapshot retained a static copy or lost merge information.
  • Optional Excel refresh. Set deferPivotCalculation: true on a Sheet XLSX export through Exchange Node to let Excel calculate eligible PivotTables on refresh. It defaults to false, which exports static results as usual. The supported profile is a new, simple PivotTable with one unfiltered, unsorted text row field, one numeric SUM measure, and grand totals, sourced from a separate two-column worksheet range. The matching Office binding is required for this option.
  • DOCX equations. Supported legacy Equation Editor and desktop MathType equations import as editable formulas and export as native Word equations. Objects that cannot be converted are preserved as OLE attachments.
  • XLSX fidelity and memory. Preserve saved external-link values during offline conversion, including files saved after a failed link refresh. Retain supported custom OOXML metadata, significant whitespace, and implicit intersection formulas. Large exports of plain cell values use less peak memory.
  • Native free exports. With the updated adapters, supported XLSX, DOCX, PPTX, and PDF exports can continue with a license watermark after the monthly allowance of 10 successful watermark-free exports. Watermark decisions use the completed export count when a conversion starts, so concurrent conversions can produce additional unwatermarked files.

Improvements and fixes

  • Formulas. Reduce calculation memory in JavaScript and native engines and reuse work for repeated criteria and range lookups. Improve Excel compatibility for complex numbers, ISOWEEKNUM, WEEKNUM with type 21, and PV.
  • Sheets. Reuse more rendering work during scrolling, including on mobile. Keep open cell drafts through external updates and preserve whole-row and whole-column references through structural edits. Improve validation dropdowns for merged cells and preserve dropdown ranges when pasting. Prevent PivotTable expansion from overwriting occupied cells and reduce the work needed to check for those cells.
  • Editing and accessibility. Improve keyboard access, menu dismissal, RTL separators, gradient stop editing, and IME confirmation in dialogs. Context menu buttons execute their configured commandId, using the menu item ID when no override is specified.
  • Collaboration and history. Improve incremental Slides updates and selective undo, and keep Sheets notes attached to the correct cells through concurrent row and column operations. Version comparisons retain a visible sheet.
  • Embeds and PDF. Improve embedded editor interactions on mobile and harden PDF tile and annotation rendering. Matching native Office and PDF bindings also fix Worker lifecycle issues.

Breaking changes and upgrading

Migrate custom Worker entry scripts

The deprecated root Worker exports announced in 1.4.0 have been removed. Built-in Worker presets already use the dedicated entries. Update custom browser and Node.js Worker scripts using the following table.

New entry point API
@univerjs/rpc/worker UniverRPCWorkerThreadPlugin
@univerjs/rpc-node/worker UniverRPCNodeWorkerPlugin
@univerjs/sheets-formula/worker UniverRemoteSheetsFormulaPlugin
@univerjs/sheets-filter-ui/worker UniverSheetsFilterUIWorkerPlugin
@univerjs/engine-render/worker DocumentLayoutSession
@univerjs-pro/bases/worker UniverRemoteBasesPlugin
@univerjs-pro/bases-dashboard/worker UniverRemoteBaseDashboardPlugin
@univerjs-pro/sheets-pivot-chart/worker UniverSheetsPivotChartWorkerPlugin
@univerjs/docs/worker Register UniverDocsWorkerPlugin in place of startDocsLayoutWorker.
@univerjs-pro/pdfs-ui/worker Register UniverPdfsUIWorkerPlugin in place of startPdfPageThumbnailWorker.

Update integrations that use the affected exports

  • Register UniverBoardsLatexUIPlugin explicitly for Boards. Import DocsLatexRenderService from @univerjs-pro/docs-latex. Font injection is handled by the renderer, and the injectRatexFonts export has been removed.
  • Replace IDrawingObjectListItem, IDrawingObjectListPanelLabels, and IDrawingObjectListPanelProps with IObjectListPanelItem, IObjectListPanelLabels, and IObjectListPanelBaseProps from @univerjs/drawing-ui.
  • Remove direct imports of CELL_INVERTED_INDEX_CACHE and FORMULA_REF_TO_ARRAY_CACHE from @univerjs/engine-formula. Cache ownership now belongs to the formula engine instance.

Upgrade before saving new chart data

Upgrade the Univer and Univer Pro packages used by your application together. For self-hosted deployments, update collaboration, rendering, and native Exchange components before writing chart sheets or the new stacked line chart types. Older readers may misinterpret the new data. Use matching native binaries for the Office/PDF changes and the native formula engine.

Full changelog for Univer v1.4.0…v1.5.0