unstale

npm / @betteroffice/pptx

@betteroffice/pptx

What changed in @betteroffice/pptx 0.2 to 0.5, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-28.

4 breaking1 deprecations36 new APIs and options3 performance9 behavior and defaults17 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli 0.2.9 on npm

@betteroffice/pptx 0.550 changes

Breaking changes 1

  • Non-PPTX or malformed packages now fail to open.

    0.5.0release notes

New APIs and options 21

  • The new opt-in width value copy preserves existing column widths and refits the table frame; omitting width or choosing split keeps current behavior.

    0.5.1release notes

  • The new opt-in width value copy preserves existing column widths and refits the table frame; omitting width or choosing split keeps current behavior.

    0.5.1release notes

  • Adds optional chunked update application for asynchronous collaboration replicas.

    0.5.0release notes

  • Adds optional chunked state encoding for asynchronous collaboration replicas.

    0.5.0release notes

  • Adds a collaboration entry point for CollaborationProvider and presence helpers.

    0.5.0release notes

  • Adds the worker entry point for the worker command session and worker editor and session exports.

    0.5.0release notes

  • Adds an operation to delete a table column.

    0.5.0release notes

  • Adds an operation to delete a table row.

    0.5.0release notes

  • Adds an engine API to duplicate a slide.

    0.5.0release notes

  • Adds fork to the engine.

    0.5.0release notes

  • Adds an operation to insert a table column.

    0.5.0release notes

  • Adds an operation to insert a table row.

    0.5.0release notes

  • Supports includeMedia: false to omit media bytes from inspection results.

    0.5.0release notes

  • Layout inventories include placeholder IDs and names, enabling explicit placeholder mapping.

    0.5.0release notes

  • Adds layouts to the engine.

    0.5.0release notes

  • Adds an experimental worker session for async reads, version-checked edits, saving, and per-slide call.frame display lists.

    0.5.0release notes

  • Adds a pptx_edit operation to change a slide’s layout with explicit placeholder mappings.

    0.5.0release notes

  • Adds a setShapeAdjust step to edit batches.

    0.5.0release notes

  • Adds a setSlideBackground step to edit batches.

    0.5.0release notes

  • Adds an opt-in API to change a slide’s layout with explicit placeholder mappings.

    0.5.0release notes

  • Adds an engine API for setting story paragraphs.

    0.5.0release notes

Performance 3

  • Worker editors join collaboration rooms faster without visibly replaying each retained edit.

    0.5.0release notes

  • Incoming update bursts merge together to keep the interface responsive and reduce repeated paints.

    0.5.0release notes

  • Large decks open, render, and edit faster with bounded image memory.

    0.5.0release notes

Behavior and default changes 8

  • Plugin content reads now include effective paragraph lists and slide titles, visibility and layout details by default, with optional fields for compatibility with older engines.

    0.5.1release notes

  • Duplicated slides receive an independent copy of their comments and replies.

    0.5.0release notes

  • Now supports legacy PowerPoint threads.

    0.5.0release notes

  • Now accepts line feeds within runs as soft line breaks.

    0.5.0release notes

  • Worker-editor refusals of synchronous access report this error code.

    0.5.0release notes

  • Tab and Shift+Tab in a table cell select the next or previous cell’s text, wrapping across rows; Tab in the last cell keeps the selection there, and adding a row from it is unsupported.

    0.5.0release notes

  • Table edits preserve formatting, refresh refs, and support undo; they are refused in collaborative sessions, on merged tables, and for cells with text fields. New cells take one line.

    0.5.0release notes

  • Collaboration now runs inside the presentation worker by default for worker editors.

    0.5.0release notes

Fixes and other changes 17

  • Bar and column data labels now follow PowerPoint and Excel placement, including placement for negative bars, horizontal bars and stacked charts.

    0.5.1release notes

  • Chart axes now honor tick label position: none hides labels and frees plot space, high moves labels to the far side, and a deleted category axis draws no labels.

    0.5.1release notes

  • Presentations now open and show every slide when font downloads fail; text falls back to available fonts and the editor logs one console warning.

    0.5.1release notes

  • Pie and doughnut data labels now follow PowerPoint and Excel placement, including placement inside or outside slices and within a doughnut ring.

    0.5.1release notes

  • Duplicating slides now preserves legacy and modern comment extensions and reply threading, keeping replies added to copied comments attached to the copied discussion.

    0.5.1release notes

  • Slide text is now drawn word by word at layout positions to preserve PowerPoint word placement despite browser font metric differences, while retaining shaping, combining marks and right-to-left text.

    0.5.1release notes

  • Table cell text without its own size or formatting now inherits the slide master's other text style, using the presentation default only for levels the master omits.

    0.5.1release notes

  • Shapes with a theme effect reference now draw the theme's outer shadow; sessions from earlier versions recover shadows when their source is attached without changing the stored format.

    0.5.1release notes

  • Zero-valued bar and column labels now sit on the side indicated by the value axis, including when the axis is reversed.

    0.5.1release notes

  • The default editor shows a proposals button with the pending count and opens the panel; it is hidden in read-only viewers and when proposals are unavailable.

    0.5.0release notes

  • Text edits avoid unnecessary inherited autofit overrides and save changed fits for overflowing text.

    0.5.0release notes

  • Collaborative decks converge on concurrent shape, slide, and text edits.

    0.5.0release notes

  • Opening or saving very large documents reports progress, so the watchdog no longer ends sessions merely because work exceeds 60 seconds.

    0.5.0release notes

  • Charts now render quoted or escaped percent signs as literal text instead of scaling values and adding another percent sign.

    0.5.0release notes

  • Rendering more faithfully covers preset and custom geometry, pictures, SmartArt fallbacks, text layout, shadows, and legacy embedded object previews.

    0.5.0release notes

  • The presentation editor draws shadows at their offset again instead of shifting them up and left or cutting them off.

    0.5.0release notes

  • Text edits keep authored formatting.

    0.5.0release notes

@betteroffice/pptx 0.220 changes

Breaking changes 3

  • Collaboration updates now carry deck schema 2.2, and opening a 0.1.x update migrates it to 2.2; mixed-version collaboration across the upgrade is unsupported.

    0.2.0release notes

  • Adds awaited input flushing; save now throws while input or a pointer gesture is pending, so callers must flush first.

    0.2.0release notes

  • PptxEditorApi.save() now throws after the presentation is replaced instead of returning bytes that may omit accepted input.

    0.2.0release notes

Deprecations 1

  • The prop-based EditorToolbar, Toolbar, and useEditorToolbar continue to work but are deprecated in favor of command and toolbar composition.

    0.2.0release notes

New APIs and options 15

  • Adds pictures to a slide from PNG, JPEG, GIF, BMP, TIFF, WebP, or SVG images up to 8 MiB, checked before the picture reaches the deck.

    0.2.0release notes

  • Adds plain-data caret positions that follow later edits, undo, redo, and remote updates.

    0.2.0release notes

  • Applies version-checked edit batches as one transaction and undo step, or returns a typed refusal without changing the deck; batches can exclude themselves from undo history with history: "none".

    0.2.0release notes

  • Adds APIs to reorder a shape's paint order on its slide.

    0.2.0release notes

  • Exports presentation content as Markdown; headless rendering from exported content is also available.

    0.2.0release notes

  • Exports the committed deck as read-only structured content with deterministic IDs, anchors, diagnostics, and optional hidden content, notes, and comments.

    0.2.0release notes

  • Adds a format-owned text search API to presentation handles.

    0.2.0release notes

  • Exposes geometry fallback diagnostics on shapes, picture fills, and masks.

    0.2.0release notes

  • Adds manual undo capture, explicit boundaries, and undoable comment repositioning.

    0.2.0release notes

  • Opt-in operation profiles are exposed for XLSX edits and display lists, and PPTX layout, edits, and history operations.

    0.2.0release notes

  • Exposes serializable command state, disabled reasons, platform-aware shortcuts, and an execute method that checks availability after pending input is processed.

    0.2.0release notes

  • Returns the session version associated with content and search results, enabling version-checked edit batches.

    0.2.0release notes

  • Allows a missing character to be drawn from a script fallback face registered with this API.

    0.2.0release notes

  • Hosts can compose built-in controls with their own actions through the toolbar composition API, inside or outside the editor.

    0.2.0release notes

  • Validates every step of an edit batch against the version it was read at and returns typed refusals for batches that cannot be applied.

    0.2.0release notes

Behavior and default changes 1

  • PPTX pictures stored as SVG are rendered in both backends; browser packages use browser SVG support and Rust and Python rasterize natively.

    0.2.0release notes