Skip to content

@christophervr/pptx-viewer ​

Release notes for @christophervr/pptx-viewer on npm, generated from Conventional Commits by the release pipeline.

2.41.5 - 2026-10-08 ​

Documentation ​

  • Refresh the readmes with webp images and the office suite (6a800d0)

2.41.4 - 2026-10-06 ​

Documentation ​

  • Bring the pptx docs and agent guide up to date with the move (8cc3f5e)

Build & CI ​

  • release: Publish the pptx viewer packages from this repository (21e790f)

Chores ​

  • viewers: Import the pptx-viewer repository with its history (dde62be)

Changelog ​

All notable changes to this project are documented here. This file is generated from Conventional Commits by git-cliff; do not edit it by hand. A release listed with no entries carried no Conventional Commit in this package's scope: scripts/release-plan.mjs re-releases a package whenever any of its files change, not only on conventional ones.

2.41.3 - 2026-10-06 ​

Bug Fixes ​

  • react,vue: Keep chart quick-action buttons from overlapping when zoomed out (by @ChristopherVR) (3bf1bfc)
  • shared: Make 3D SmartArt rotate, edit and recolour like the 2D diagram (by @ChristopherVR) (29473d4)
  • Draw no default table cell border, and let the ooxml sync push to main (#408) (by @ChristopherVR) (11914db)

2.41.2 - 2026-10-05 ​

Bug Fixes ​

  • shared: Draw zero-height and zero-width line shapes (#404) (by @IHAGI-c) (8366e0c)

2.41.1 - 2026-10-05 ​

Build & CI ​

  • deps: Adopt ooxml-core 0.20.0 and ooxml-ui 0.28.0 (by @ChristopherVR) (3f52fa1)

2.41.0 - 2026-10-04 ​

Features ​

  • viewer: Run ribbon galleries on the shared office-ui-gallery (by @ChristopherVR) (ed6a611)

Dependencies ​

  • deps: Update every dependency to its latest version (by @ChristopherVR) (7212b14)

2.40.0 - 2026-10-04 ​

Features ​

  • viewer: Run shared controls on ooxml-ui office-ui elements (by @ChristopherVR) (926b8e9)
  • viewer: Run the title bar on the shared office-ui-title-bar (by @ChristopherVR) (c022507)
  • viewer: Run the status bar on the shared office-ui-status-bar (by @ChristopherVR) (f7ec490)
  • viewer: Run ribbon sections on the shared office-ui-ribbon-section (by @ChristopherVR) (f13c2ae)

2.39.1 - 2026-10-03 ​

Bug Fixes ​

  • viewer: Align sorter bindings and resolve CI failures (by @ChristopherVR) (fe7b4ad)

2.39.0 - 2026-10-03 ​

Features ​

  • core: Reuse shared ooxml chart text and geometry APIs (by @ChristopherVR) (7a27232)

2.38.0 - 2026-10-03 ​

Features ​

  • core: Reuse shared office equation converters (by @ChristopherVR) (303312a)

2.37.0 - 2026-10-02 ​

Features ​

  • ui: Align Home, Insert, Draw and Design ribbons with PowerPoint (by @ChristopherVR) (0b12b7c)

Bug Fixes ​

  • ui: Port the ribbon layout onto the shared Home controls (by @ChristopherVR) (9c483d9)
  • ui: Keep the font pickers in one Font group and widen Arrange specs (by @ChristopherVR) (39916a9)

2.36.0 - 2026-10-02 ​

Features ​

  • ui: Shared radio and switch primitives, adopt in all bindings (by @ChristopherVR) (37f8c8f)
  • ui: Match PowerPoint on Transitions, Animations, Review, View, SmartArt (by @ChristopherVR) (cee954b)
  • ui: Finish dialog footers and add the drift e2e (by @ChristopherVR) (0e3ff44)

Refactor ​

  • react: Use shared Home menus, colours, selects and galleries (by @ChristopherVR) (531b8fb)
  • react: Adopt pptx-ui-dialog-footer in the remaining dialogs (by @ChristopherVR) (2145b47)

Build & CI ​

  • core: Depend on the unscoped ooxml-core package (by @ChristopherVR) (5ae6159)

2.35.0 - 2026-10-02 ​

Features ​

  • ui: Add inspector reset and clear actions to every binding (by @ChristopherVR) (6618e04)
  • ui: Share the section, sorter and slide rail menus across bindings (by @ChristopherVR) (e25816b)
  • shared: Add the pptx-ui-title-bar element (by @ChristopherVR) (e8d07ad)

Refactor ​

  • react: Use the shared status bar element (by @ChristopherVR) (910f4f7)
  • ui: Share the notes toolbar across the five bindings (by @ChristopherVR) (ec28b7e)
  • react: Use shared Home slides, drawing and arrange strips (by @ChristopherVR) (31dbe97)
  • ui: Adopt the shared title bar in all five bindings (by @ChristopherVR) (bb68dec)
  • ui: Share the context menu rendering layer (by @ChristopherVR) (7b63502)
  • ui: Share the mobile bottom bar and top toolbar (by @ChristopherVR) (a84241b)
  • ui: Share the read-only banner, paste options, toasts and dialog footer (by @ChristopherVR) (8d2233b)
  • ui: Share the slide-show toolbar and presenter console strip (by @ChristopherVR) (a937cf5)
  • react: Use the shared select and checkbox in dialogs and panels (by @ChristopherVR) (bf7caa6)

2.34.1 - 2026-10-02 ​

Bug Fixes ​

  • group-drill: Honour noSelect and noDrilldown when drilling into groups (by @ChristopherVR) (3bf5f38)

2.34.0 - 2026-10-01 ​

Features ​

  • shared,react: Select inside a group like PowerPoint (by @pesnik) (994f0a1)

Bug Fixes ​

  • react: Keep the caret at the end on double-click (by @pesnik) (7e758c5)
  • ui: Update tests for the shared View controls and regenerate the customization reference (by @ChristopherVR) (b663ba3)

Refactor ​

  • ui: Migrate Draw ribbon controls across five bindings (by @ChristopherVR) (80f8d92)
  • ui: Migrate View ribbon controls across five bindings (by @ChristopherVR) (7c2dd6e)
  • ui: Migrate Transitions ribbon controls across five bindings (by @ChristopherVR) (1170313)
  • ui: Migrate Animations ribbon controls across five bindings (by @ChristopherVR) (7fa9c6e)
  • ui: Migrate Insert ribbon controls across five bindings (by @ChristopherVR) (75e81ca)
  • ui: Migrate Home clipboard controls across five bindings (by @ChristopherVR) (877f08b)
  • ui: Migrate Home font controls across five bindings (by @ChristopherVR) (b842cab)
  • ui: Migrate Home paragraph and editing controls across five bindings (by @ChristopherVR) (b5f26b4)

Build & CI ​

  • Build against ooxml-core, retarget scripts and docs at the moved engine (by @ChristopherVR) (9b5146d)

2.33.1 - 2026-10-01 ​

Refactor ​

  • ui: Share Design, Review and contextual ribbon views (by @ChristopherVR) (17d7554)

2.33.0 - 2026-09-30 ​

Features ​

  • shared: Add host context menu commands across bindings (by @ChristopherVR) (4e2d20e)
  • shared: Unify theme editor across all five bindings (by @ChristopherVR) (15e3ea7)

Bug Fixes ​

  • ui: Align editor appearance across all five bindings (by @yunfeizhu) (178a1d0)
  • react: Report single selections to hosts (by @pesnik) (8bbff9b)

2.32.0 - 2026-09-30 ​

Features ​

  • shared: Add subtitle settings and migrate Record ribbon (by @ChristopherVR) (a1549a0)

Bug Fixes ​

  • shared: Preserve chained motion paths and animation triggers (by @ChristopherVR) (41f3c4a)

Refactor ​

  • shared: Migrate slide show controls across bindings (by @ChristopherVR) (263b007)
  • shared: Migrate Help ribbon across all five bindings (by @ChristopherVR) (7df8fc9)

2.31.0 - 2026-09-29 ​

Features ​

  • react: Render authored 3D model camera, transform and lights (by @claude) (34b7917)

Bug Fixes ​

  • react: Offer corner directions for Fly and Crawl in the animation picker (by @claude) (4e1fc14)

Testing ​

  • react: Cover picture format adjust galleries (by @claude) (4a8e54c)
  • react: Cover multi-line pie data labels (by @claude) (18549c5)

2.30.3 - 2026-09-26 ​

Bug Fixes ​

  • react: Route the ai log checkbox through WebCheckbox (by @claude) (97e622f)

2.30.2 - 2026-09-26 ​

Bug Fixes ​

  • ui: Unify the AI options checkbox (by @ChristopherVR) (4550665)

Refactor ​

  • shared: Delete the pre-parity hosted 3D chart scenes (by @claude) (55951a1)

Testing ​

  • vue: Wait for the AI chat panel's composer instead of a tick count (by @claude) (010c604)
  • react: Expect linear-light tint and shade in drawing-color tests (by @claude) (e1b7c71)

2.30.1 - 2026-09-26 ​

Bug Fixes ​

  • react: Keep the slide rail's virtual window after the pane reopens (by @claude) (fb9e101)

2.30.0 - 2026-09-25 ​

Features ​

  • react: Ribbon style galleries, contextual tabs and group customisation (by @ChristopherVR) (4e67c19)
  • react: Offer PowerPoint's directions and preview from its tree (by @ChristopherVR) (033c4c0)

Bug Fixes ​

  • react: Hand East Asian breaks the text after each run (by @ChristopherVR) (b59b51f)
  • react: Stop ribbon controls in a group scope from shrinking (by @ChristopherVR) (bb18a71)
  • react: Give the slide show the slide size and theme colours (by @ChristopherVR) (6a94502)

Documentation ​

  • Drop orbit wording from 3D view and chart flag docs (by @claude) (a1fa63d)

Chores ​

  • npm: Surface every package in an npm search for pptx-viewer (by @ChristopherVR) (ac67fda)

2.29.1 - 2026-09-25 ​

Bug Fixes ​

  • shared: Hang CJK punctuation and drop kinsoku like PowerPoint (by @ChristopherVR) (770b708)
  • react,vue,angular,svelte,vanilla: Use the shared html2canvas clone pass (by @claude) (ca9f608)
  • react: Bind smartart drawing fill-opacity (by @claude) (8329ad3)
  • core: Relabel entrance/exit presets from PowerPoint COM ids (by @ChristopherVR) (ade27dc)
  • shared: Play steps without accel/decel linearly like PowerPoint (by @ChristopherVR) (5c1158b)

Testing ​

  • react: Exit.19 has no authoring name once strips authors exit.18 (by @ChristopherVR) (e8d6d66)
  • react: Exit.6 plays the circle iris (by @ChristopherVR) (63ac838)
  • react: Cover translucent SmartArt drawing fills in the a11y suite (by @claude) (2b14580)

Build & CI ​

  • react,vanilla: Keep the optional node canvas peer external (by @ChristopherVR) (6b0ae09)

2.29.0 - 2026-09-25 ​

Features ​

  • react: Edit points and freeform shape / curve tools (by @ChristopherVR) (cc35380)
  • react: Merge shapes and on-canvas picture crop (by @ChristopherVR) (d4d6813)
  • react: Pick the media bookmark for an On bookmark trigger (by @ChristopherVR) (b0e3fa2)
  • shared: Paint chart gradient fills in all five bindings (by @ChristopherVR) (7f22964)

Bug Fixes ​

  • react: Take the shared crop cancel update as-is (by @ChristopherVR) (46ece07)
  • react: Start the legacy zoom transition style as a centred box (by @ChristopherVR) (88f7781)
  • core: Render picture-filled text runs instead of solid black (by @ChristopherVR) (e1021f9)
  • shared: Match PowerPoint's underline variants (by @ChristopherVR) (46ad363)
  • shared: Align decimal and right-to-left tab stops like PowerPoint (by @ChristopherVR) (1575f61)
  • shared: Colour and label waterfall bars like PowerPoint (by @ChristopherVR) (44a4fec)

Testing ​

  • react: Expect the On bookmark trigger and the zoom box reveal (by @ChristopherVR) (56b00ba)

2.28.0 - 2026-09-25 ​

Features ​

  • react: Expose the ui customization model (by @ChristopherVR) (99a34a1)

Bug Fixes ​

  • shared,react,vue,angular,svelte,vanilla: Leave Tab on chrome controls to focus navigation (by @ChristopherVR) (6561c8d)
  • react,angular: Keep right-click menus inside the viewport (by @ChristopherVR) (39642d7)
  • react: Open the empty-canvas menu and grey Paste with an empty clipboard (by @ChristopherVR) (8699d03)

2.27.0 - 2026-09-24 ​

Features ​

  • shared,react,vue,angular,svelte,vanilla: Empty-canvas context menu (by @ChristopherVR) (15b9a88)
  • shared,react,vue,angular,svelte,vanilla: Slides pane multi-select + thumbnail menu (by @ChristopherVR) (4078a33)
  • shared,react,vue,angular,svelte,vanilla: Real in-place ribbon animation preview (by @ChristopherVR) (9b98bac)

Bug Fixes ​

  • shared,react: Round normAutofit fontScale to a whole point (by @ChristopherVR) (cda09e4)
  • shared,core: Fix text reflection mirror, inner shadow, glow, soft edge (by @ChristopherVR) (1796d14)
  • core,shared,react: Size inline equations from their own paragraph; assert anchorCtr on painted text (by @ChristopherVR) (16ecb59)

2.26.0 - 2026-09-24 ​

Features ​

  • shared,react,vue,angular,svelte,vanilla: Element context menu format commands + Paste Special (by @ChristopherVR) (ae48518)
  • shared,react,vue,angular,svelte,vanilla: Render online video links as an iframe embed (by @ChristopherVR) (6ba33e2)
  • shared,react,vue,angular,svelte,vanilla: Apply Zoom returnToParent/transitionDur during slide-show playback (by @ChristopherVR) (673afa5)
  • core,shared,react,vue,angular,svelte,vanilla: P15/p14 transition direction, pattern and Through Black options (by @ChristopherVR) (8b5ec7e)

Bug Fixes ​

  • shared,react: Correct Box/Circle/Diamond/Plus entrance "In" mask reveal (by @ChristopherVR) (cf6ddcf)
  • react,vue,angular,svelte,vanilla,shared: Stop OLE actions nesting a <button> inside slide thumbnails (by @ChristopherVR) (82da5a7)
  • angular,react,locales: Unblock the build after the transition and paste-special merges (by @ChristopherVR) (f08cd7c)

Refactor ​

  • shared,react,angular,svelte,vue: Consolidate trigger options into shared, add afterDelay parity (by @ChristopherVR) (819582f)

2.25.0 - 2026-09-24 ​

Features ​

  • shared: Trace glyph outlines for exact wordart envelope warps (work in progress) (by @ChristopherVR) (c91f1cf)
  • shared: Add media fullScrn full-slide overlay decision function (by @ChristopherVR) (8ae8ee1)
  • react: Drive fullScrn overlay from the shared media-fullscreen trigger (by @ChristopherVR) (37a9791)
  • core: Parse zoom return-to-parent and transition duration (work in progress) (by @ChristopherVR) (5b0c9fb)
  • react: Wire PowerPoint editor shortcuts via the shared keymap (by @ChristopherVR) (978970a)
  • core: Model onMediaBookmark triggers and fire them on playback (by @ChristopherVR) (b153932)

Bug Fixes ​

  • core: Stop showing chart data labels PowerPoint hides (work in progress) (by @ChristopherVR) (a8de727)
  • react: Apply highlighter mix-blend-mode per stroke, not per element (by @ChristopherVR) (21d6d1e)
  • shared: Scale tiled picture fills from the image's native size (work in progress) (by @ChristopherVR) (92375c4)
  • core: Size table cell text from the master other-text style (work in progress) (by @ChristopherVR) (481c564)
  • shared: Render real dates for datetime fields, not the field type (by @ChristopherVR) (f3653c2)
  • shared: Apply theme per-script fonts over a run's cascaded font (by @ChristopherVR) (0a00208)
  • shared: Stop clipping a table whose rows auto-grow past its frame (by @ChristopherVR) (ad4ebb2)
  • shared: Correct trendline math, formatting and legend (by @ChristopherVR) (91cc3c8)
  • shared: Honour numCol column-fill, @anchor and @rtlCol (by @ChristopherVR) (f380f53)
  • shared: Centre anchorCtr as one shared box, not per-paragraph (by @ChristopherVR) (5982d91)
  • angular,core,shared: Finish View > Normal and zoom field wiring after rebase (by @ChristopherVR) (df6bddf)

2.24.0 - 2026-09-24 ​

Features ​

  • react: Replace per-kind 3D chart/SmartArt wrappers with <pptx-three-view> (by @ChristopherVR) (7abc7f3)
  • shared: Use web components for search, select, and checkbox controls (#352) (by @yunfeizhu) (e09b47a)

Refactor ​

  • shared: Remove the pre-element SmartArt scene runtime (by @claude) (a2bd6c1)

Testing ​

  • react: Give the surface 3D gating fixture a c:view3D (by @ChristopherVR) (f559b0d)

2.23.6 - 2026-09-23 ​

Bug Fixes ​

  • ui: Align File backstage navigation across bindings (#351) (by @yunfeizhu) (2196a0e)

2.23.5 - 2026-09-23 ​

Bug Fixes ​

  • shared: Align search field focus across bindings (#350) (by @yunfeizhu) (fdb941f)

2.23.4 - 2026-09-22 ​

Bug Fixes ​

  • ai: Keep optional sdk imports out of message helpers (by @ChristopherVR) (889c5bc)
  • react: Constrain slide thumbnail frames to preview width (by @ChristopherVR) (08369c2)
  • layout: Render inherited artwork on inserted slides (by @ChristopherVR) (179aa2f)

2.23.3 - 2026-09-21 ​

Bug Fixes ​

  • deps: Align ai sdk runtime and adapters (by @ChristopherVR) (3a7d2e9)
  • autosave: Acknowledge restores and surface delete failures (#339) (by @yunfeizhu) (e0f9569)

Dependencies ​

  • deps: Bump @ai-sdk/react from 4.0.110 to 4.0.108 (#335) (by @dependabot[bot]) (56c7005)

2.23.2 - 2026-09-21 ​

Bug Fixes ​

  • autosave: Harden recovery dialogs (by @yunfeizhu) (29ef529)

2.23.1 - 2026-09-20 ​

Bug Fixes ​

  • react: Ignore serialization caches in history comparison (9c45571)

2.23.0 - 2026-09-19 ​

Features ​

  • react: Wire collaboration into custom editor building blocks (by @Sudhansh6) (978e2d6)

Bug Fixes ​

  • react: Wait for base content before headless editing (by @Sudhansh6) (f9afde2)
  • react: Stabilize custom-shell collaboration presence (by @Sudhansh6) (f37fb0e)
  • react: Align custom-shell readiness and presence overlays (by @Sudhansh6) (a3e4a8c)
  • demos: Give every custom shell the same localised status readout (by @ChristopherVR) (a7a2686)
  • react: Keep the compat toast off the panel, 3D SmartArt uses cached drawing (by @ChristopherVR) (bde62fa)
  • react: Keep the compat toast above the notes strip (by @ChristopherVR) (b80cdd9)
  • react: Bind inline editing to native collaborative sessions (by @Sudhansh6) (066bc16)
  • react: Wait for custom shell collaboration readiness (by @Sudhansh6) (6544173)
  • react: Retire connected text when its slide changes (by @Sudhansh6) (c48b714)

Performance ​

  • react: Avoid redundant history snapshot cloning (by @Sudhansh6) (47cd3fd)
  • react: Release stale deck captures from persistent callbacks (by @Sudhansh6) (2769d4b)
  • shared: Avoid retaining autosave source objects (by @Sudhansh6) (679c560)

2.22.0 - 2026-09-18 ​

Features ​

  • cli: Prompt for 3D rendering support in the vanilla scaffold (by @ChristopherVR) (3f11e96)

2.21.0 - 2026-09-17 ​

Features ​

  • react: Attach viewers to host collaboration sessions (by @Sudhansh6) (ad55608)

Bug Fixes ​

  • react: Preserve the public provider awareness type (by @Sudhansh6) (67d5120)
  • build: Keep collaboration on the host Yjs runtime (by @Sudhansh6) (1148601)
  • react: Retain snapshots when host callbacks change (by @Sudhansh6) (47e5751)
  • react: Honor external readiness before queued edits (by @Sudhansh6) (dae37ed)
  • react: Preserve accepted drafts when host readiness changes (by @Sudhansh6) (b1c25cb)

2.20.1 - 2026-09-17 ​

Bug Fixes ​

  • i18n: Translate recording and editor control labels (by @yunfeizhu) (7be4498)

Testing ​

  • i18n: Cover translated editor controls across bindings (by @yunfeizhu) (fe99e2b)

2.20.0 - 2026-09-17 ​

Features ​

  • react,shared: Chart quick-action icons (Elements/Styles/Filters) (by @ChristopherVR) (4c9f9e7)

Bug Fixes ​

  • react: Stop propagation on chart quick-action interactions (by @ChristopherVR) (ba6efd2)
  • react,vue,angular,svelte,vanilla: Use opaque colours for chart quick-action buttons (by @ChristopherVR) (9d1df11)

2.19.2 - 2026-09-17 ​

Bug Fixes ​

  • core: Honor blipFill rotWithShape for picture-filled shapes (by @ChristopherVR) (3a28d90)
  • shared: Stop leaked captureStream tracks after video export (by @ChristopherVR) (c0d3cc6)
  • shared: Draw a line and marker legend swatch for line-drawn series (by @ChristopherVR) (7b6837b)

2.19.1 - 2026-09-16 ​

Bug Fixes ​

  • react: Exclude selection decoration from exported slides (by @Sudhansh6) (b6659cb)
  • export: Reconcile selection cleanup with current main (by @Sudhansh6) (a292a8c)

2.19.0 - 2026-09-16 ​

Features ​

  • Expose slide-transition helpers from every binding's internals entry (by @ChristopherVR) (d232ffb)

Bug Fixes ​

  • shared: Apply picture alphaModFix once, not filter times opacity (by @ChristopherVR) (3fd154b)
  • shared: Stop padding the painted element box to MIN_ELEMENT_SIZE (by @ChristopherVR) (4caef83)
  • Render the degenerate-shape hit target for every element type (by @ChristopherVR) (49a15a4)
  • react: Stop rotating a shape from silently opening its text editor (by @ChristopherVR) (bec4af2)
  • react: Stop inflating a degenerate connector's wrapper box (by @ChristopherVR) (1d0b39c)

Refactor ​

  • react: Drop the unused image alpha filter duplicates (by @ChristopherVR) (5572f51)

2.18.0 - 2026-09-16 ​

Features ​

  • react: Wire native image paste through public canvas composition (by @Sudhansh6) (0470290)
  • react: Support selection control artwork themes (by @Sudhansh6) (3cb31b0)
  • Add atomic cross-slide element batches (by @yunfeizhu) (1157b68)

Bug Fixes ​

  • react: Keep neighboring resize handles reachable (by @Sudhansh6) (b7c6385)
  • react: Use boundary-aware rotation controls (by @Sudhansh6) (ca8080c)
  • react: Stop the fine-pointer handle hit area covering nearby content (by @ChristopherVR) (77f372e)
  • Guard element batches during active pointer gestures (by @yunfeizhu) (da3bf49)

Testing ​

  • react: Retain explicit act environment in overlay tests (by @Sudhansh6) (f0703a3)
  • Cover batch update history across viewer bindings (by @yunfeizhu) (fff49e8)

Chores ​

  • shared: Merge main into resize hit ownership (by @Sudhansh6) (f6d6336)
  • Sync main for native paste validation (by @Sudhansh6) (29f5fb3)
  • Merge main into native canvas image paste (by @Sudhansh6) (0ebf261)
  • Integrate rotation and selection-control prerequisites (by @Sudhansh6) (e6f9cde)
  • shared: Align boundary controls with current main (by @Sudhansh6) (7fbfc4c)
  • shared: Align selection artwork with boundary controls (by @Sudhansh6) (3b971d3)

2.17.0 - 2026-09-16 ​

Features ​

  • bindings: Expose the shared image file construction helper (by @Sudhansh6) (14f3f08)

Bug Fixes ​

  • react: Preserve the rotation grab offset for all pointer types (by @Sudhansh6) (768ee79)
  • react: Follow remounted canvas viewport nodes (by @Sudhansh6) (6cda987)
  • react: Disable font pickers without an editable text target (by @Sudhansh6) (22a5c9a)
  • react: Keep selection controls screen-sized while zooming (by @Sudhansh6) (b743f17)

2.16.2 - 2026-09-15 ​

Bug Fixes ​

  • react: Exempt resize handles from the button size floor (by @Sudhansh6) (1ef252e)

2.16.1 - 2026-09-14 ​

Bug Fixes ​

  • shared: Retain loaded webfonts during slide edits (by @ChristopherVR) (4f81eb0)
  • tests: Numerous test issues (by @ChristopherVR) (c5b8260)

2.16.0 - 2026-09-14 ​

Features ​

  • react: Keep live list paragraphs through formatting and save (by @Sudhansh6) (6d4437f)
  • i18n: Export locale subpaths from viewer packages (by @yunfeizhu) (65003c5)

Bug Fixes ​

  • Preserve live list editing through upstream merge (by @Sudhansh6) (3f8b4f4)
  • react: Retain caret list scope and selection affinity (by @Sudhansh6) (41651e1)

Chores ​

  • Merge main into live list editing (by @Sudhansh6) (a9b760d)
  • Sync upstream validation and ribbon updates (by @Sudhansh6) (c70516c)
  • Merge main and resolve locale documentation conflicts (by @yunfeizhu) (ac9123d)

2.15.0 - 2026-09-14 ​

Features ​

  • core: Preserve smart art diagram parts (by @ChristopherVR) (187e0e1)

Bug Fixes ​

  • shared: Expose freeform geometry helpers (by @ChristopherVR) (96e54a5)
  • core: Evaluate connector and cloud preset geometry (by @ChristopherVR) (5f34ed5)
  • core: Evaluate connector and cloud preset geometry (by @ChristopherVR) (8e2608a)
  • ui: Keep ribbon controls compact across bindings (by @ChristopherVR) (79ec521)

Documentation ​

  • repo: Sync guides and references with implementation (by @ChristopherVR) (70440f6)

Testing ​

  • repo: Stabilize Vitest 5 concurrency (by @ChristopherVR) (6b151b3)

Dependencies ​

  • deps: Bump the minor-and-patch group with 2 updates (by @dependabot[bot]) (7bed5e5)
  • deps: Rebase lint-staged update (by @ChristopherVR) (c2a649e)

Chores ​

  • deps-dev: Bump vitest from 4.1.11 to 5.0.0 (by @dependabot[bot]) (5f8fe4f)

2.14.1 - 2026-09-14 ​

Bug Fixes ​

  • i18n: Localize inspector and ribbon controls (by @yunfeizhu) (a657a76)

2.14.0 - 2026-09-13 ​

Features ​

  • react: Add configurable viewport fit options (by @Sudhansh6) (358a18e)
  • shared: Expose public element insertion across viewers (by @Sudhansh6) (2701047)

Bug Fixes ​

  • react: Preserve empty paragraph insertion formatting (by @Sudhansh6) (2539f01)
  • shared: Leave empty clipboard paste shortcuts unclaimed (by @Sudhansh6) (aec446f)

Other ​

  • Retain empty paragraph styles with source alignment (by @Sudhansh6) (d979cd2)
  • Integrate semantic list commands with empty paragraph formatting (by @Sudhansh6) (c5d9a6f)
  • Sync main font and SmartArt fixes (by @Sudhansh6) (f2066eb)
  • Sync main paragraph and history fixes (by @Sudhansh6) (a18a2d7)
  • Sync viewport fit changes from main (by @Sudhansh6) (3c3c0bd)
  • Sync public insertion with viewport fit API (by @Sudhansh6) (47df3db)
  • Sync public insertion with empty paragraph formatting (by @Sudhansh6) (d1ad9c9)

Documentation ​

  • Move viewport fitting into developer guides (by @Sudhansh6) (60707eb)

2.13.8 - 2026-09-13 ​

Bug Fixes ​

  • react: Preserve embedded fonts in headless saves (by @Sudhansh6) (f1d2ac6)
  • react: Record click-away text edits in history (by @Sudhansh6) (3bc665f)

Testing ​

  • react: Cover paragraph insertion and pending text edits (by @Sudhansh6) (a8b21a0)

Chores ​

  • Merge updated SmartArt geometry coverage (by @Sudhansh6) (d0364a9)
  • Merge main before SmartArt cancellation contribution (by @Sudhansh6) (4581de6)

2.13.7 - 2026-09-12 ​

Bug Fixes ​

  • react: Align 2D SmartArt editors and hover controls (by @Sudhansh6) (529fba0)
  • react: Repaint edited table column widths (by @Sudhansh6) (c427374)

Chores ​

  • Merge main and preserve SmartArt editing coverage (by @Sudhansh6) (f3c32b4)

2.13.6 - 2026-09-12 ​

Bug Fixes ​

  • react: Sync inspector table merge and split XML (by @Sudhansh6) (71d8187)

2.13.5 - 2026-09-11 ​

Bug Fixes ​

  • Preserve the current deck when an older load finishes (668cfa9)

2.13.4 - 2026-09-11 ​

Bug Fixes ​

  • Read attributed table text without object coercion (by @Sudhansh6) (a847293)
  • shared: Clear absorbed table cell runs during cursor merge (by @Sudhansh6) (bee91d7)
  • shared: Render edited single-run chart titles (by @Sudhansh6) (64d6712)

2.13.3 - 2026-09-11 ​

Bug Fixes ​

  • Preserve unchanged table text during merge and split (by @Sudhansh6) (22df796)
  • Keep split available for a single merged table cell (by @Sudhansh6) (38727de)

2.13.2 - 2026-09-10 ​

Bug Fixes ​

  • shared,vanilla: Space WordArt envelope glyphs across the box and keep paragraph bands apart (by @ChristopherVR) (e165d72)
  • Preserve rich table cells during row and column edits (by @Sudhansh6) (e83c2eb)

Documentation ​

  • cli: Rewrite the scoped package README for npm visibility (by @ChristopherVR) (c9b575a)

2.13.1 - 2026-09-10 ​

Bug Fixes ​

  • react,vue: Honor explicit slide insertion indexes (#225) (by @Sudhansh6) (23931e0)

2.13.0 - 2026-09-10 ​

Features ​

  • shared: Make every dense panel usable at 360px in all five bindings (by @ChristopherVR) (f560f4a)
  • shared: Tile GIF, video, notes-PDF and print captures past the canvas cap (by @ChristopherVR) (4cdd3e5)
  • shared: Decide GIF and video capture scale and cap once for all bindings (by @ChristopherVR) (ad3adfa)
  • shared: Warp WordArt envelope glyphs by their real outlines (by @ChristopherVR) (1e67d70)

Bug Fixes ​

  • react,vue,angular,svelte,vanilla: Guard OLE editor state after unmount and steady three e2e specs (by @ChristopherVR) (6bc1e4c)

2.12.0 - 2026-09-10 ​

Features ​

  • shared: Route every raster export through the foreignObject tiled pipeline (by @ChristopherVR) (1ad1993)

Testing ​

  • react,svelte,angular,shared: Update assertions to the camera-matrix and webfont contracts (by @ChristopherVR) (f2edef8)

2.11.0 - 2026-09-10 ​

Features ​

  • shared: Light 3D bevels with SVG lighting filters and derive explicit camera overrides (by @ChristopherVR) (a36c635)
  • shared: Render fragment-based cinematic transitions in every binding (by @ChristopherVR) (4aee13e)
  • shared: Match PowerPoint on soft edges, pixelate and run-program actions (by @ChristopherVR) (d4339c2)

Bug Fixes ​

  • react,angular: Skip unchanged autofit commits (#222) (by @Sudhansh6) (fb93aab)

Testing ​

  • react: Poll for the asynchronous OLE workbook commit (by @ChristopherVR) (cffd4b8)

2.10.0 - 2026-09-09 ​

Features ​

  • core: Check salt-less modify verifiers instead of unlocking blindly (by @ChristopherVR) (7c7f1da)
  • core: Model the c15 filtered-title and Value From Cells chart extensions (by @ChristopherVR) (880fa81)
  • core: Ship PowerPoint's built-in stock sound gallery for effects and transitions (by @ChristopherVR) (41854e5)
  • core: Write legacy binary .ppt (PowerPoint 97-2003) from the save pipeline (by @ChristopherVR) (d3360c1)
  • core: Edit embedded OLE content in place across all five bindings (by @ChristopherVR) (3f51347)

Dependencies ​

  • deps: Bump the minor-and-patch group with 3 updates (by @dependabot[bot]) (6e40989)
  • deps: Merge dependabot #212 (by @ChristopherVR) (a69fe7e)
  • deps: Update every dependency to its latest in-range version (by @ChristopherVR) (1f242b7)

2.9.0 - 2026-09-06 ​

Features ​

  • react: Wave-5 limitation closures (3D charts, userShapes, ink, effects) (by @ChristopherVR) (8272e2b)

2.8.0 - 2026-09-05 ​

Features ​

  • react: Parity wave 4/5 (accessibility, table styles, chart runs, save options) (by @ChristopherVR) (e2847a4)

2.7.0 - 2026-09-05 ​

Features ​

  • react: Wave-3 parity (staged SmartArt reveal, theme swatches, bar3D) (by @ChristopherVR) (c9e8d97)
  • shared: Extract p:seq nextAc="seek" click handling (by @ChristopherVR) (66e293b)

Refactor ​

  • react: Route presentation clicks through shared seek module (by @ChristopherVR) (701bb37)

2.6.0 - 2026-09-05 ​

Features ​

  • react: Map the 2026-09 OpenXML parity wave onto the react viewer (by @ChristopherVR) (671cd01)
  • react: Wire the wave-2 OpenXML parity features (by @ChristopherVR) (6d20950)

2.5.2 - 2026-09-03 ​

Bug Fixes ​

  • Use point units in font-size controls (#205) (by @Sudhansh6) (65031d4)
  • react,shared: Toggle shortcuts from selected text (#207) (by @Sudhansh6) (a9d294c)
  • Preserve table-cell font sizes across renderers (#208) (by @Sudhansh6) (8c2d97d)

2.5.1 - 2026-09-03 ​

Bug Fixes ​

  • react: Mark building-block edits dirty (#203) (by @Sudhansh6) (ae076d5)
  • core,shared: Preserve numbered text through edits (#204) (by @Sudhansh6) (9b5e9aa)

2.5.0 - 2026-09-02 ​

Features ​

  • Add a Hide Background Graphics toggle to the background inspector (by @ChristopherVR) (108da7d)

Bug Fixes ​

  • Recolour template-layer shapes on a live theme colour-scheme edit (by @ChristopherVR) (34c3935)
  • Keep resize/rotate handles visible while inline-editing text (by @ChristopherVR) (3074929)
  • Apply text formatting to live inline-edit text, not a stale snapshot (by @ChristopherVR) (7815cc2)

2.4.1 - 2026-09-02 ​

Bug Fixes ​

  • shared: Map the wipe direction by travel and feather its edge (by @nikko82) (7f26a8b)
  • react: Play the arriving half of classic transitions (by @nikko82) (18558ab)

2.4.0 - 2026-09-02 ​

Features ​

  • react,vue,angular,svelte,vanilla: Replay the leaving slide's transition on backward steps (by @nikko82) (e23838e)
  • react: Wave-4 parity UI (chart subtypes, read-only banner, compat toasts, rescale, sldRg) (by @ChristopherVR) (abfc61f)
  • react: Wave-4 show entry, custom-show actions, master CRUD, mentions (by @ChristopherVR) (4d45b72)
  • react: Recent-colours row under every picker and OLE verb actions (by @ChristopherVR) (5965928)
  • react: Start the slide show on F5 and Shift+F5 (by @ChristopherVR) (4904fb4)

Bug Fixes ​

  • react: Route ppaction://media through the shared media toggle (by @ChristopherVR) (7e0bfb1)
  • react: Keep selection handles aligned during transforms (by @Sudhansh6) (4867a0a)
  • react: Scope the selection-handle overlay sync to its own viewer (by @ChristopherVR) (a2af2a1)
  • react: Hand the morph plan the stage's z-index base (by @ChristopherVR) (67fba80)

2.3.0 - 2026-09-02 ​

Features ​

  • react: Per-series secondary axis toggle and shift-locked corner resize (by @ChristopherVR) (ae7d13b)

Bug Fixes ​

  • react: Make the chart gridlines checkbox change the canvas and keep 3D model MIME types (by @ChristopherVR) (77381a1)
  • react: Localise the outer-shadow "Rotate with Shape" label (by @ChristopherVR) (181ca8d)
  • react: Keep the placeholder prompt off show, viewer and still surfaces (by @ChristopherVR) (58474f7)

Refactor ​

  • react: Repoint onto the wave-2 shared modules (by @ChristopherVR) (52e7011)

Testing ​

  • react: Stub the network in the webfont tests, not probe responses (by @ChristopherVR) (b5e5275)

2.2.0 - 2026-09-02 ​

Features ​

  • react: Load google-hosted webfonts for missing families (by @nikko82) (ca1024f)

Bug Fixes ​

  • react: Resolve google webfonts through the shared resolver (by @ChristopherVR) (7a359d7)
  • react: Autoplay every media element in presentation mode (by @ChristopherVR) (2f8e760)

2.1.4 - 2026-08-29 ​

Bug Fixes ​

  • animation: Preserve authored PowerPoint playback and rendering (#185) (by @primerch) (628be23)

2.1.3 - 2026-08-29 ​

Bug Fixes ​

  • react: Smooth collaboration cursors and remove webrtc join delay (by @ChristopherVR) (332c547)
  • Vertically center the slide canvas to match svelte (by @ChristopherVR) (c5ff901)
  • ui: Stop resize/rotate handles rendering behind their own element (by @ChristopherVR) (1eefded)
  • react: Stop the pointer-move listener re-subscribing every render (by @ChristopherVR) (897fa8e)
  • ui: Stop ribbon Insert/Animation/View tab content stretching and clipping (by @ChristopherVR) (9487346)

2.1.2 - 2026-08-28 ​

Bug Fixes ​

  • react: Resolve rotate-handle live preview to the real element (by @ChristopherVR) (f896b61)
  • ui: Stop ribbon action buttons from stretching to fill the row height (by @ChristopherVR) (d53ce5b)
  • react: Repair print, drop Package for Sharing, wire Options behavior (by @ChristopherVR) (30822ae)

2.1.1 - 2026-08-28 ​

Bug Fixes ​

  • charts: Offer 3-D chart types in the type-change dropdown (by @ChristopherVR) (4e960f7)
  • charts: Stop 3-D charts from flashing their 2D rendering (by @ChristopherVR) (18802e0)
  • react: Stop the entire editor from rendering twice on every load (by @ChristopherVR) (a9fa2e2)

2.1.0 - 2026-08-28 ​

Features ​

  • ole: Make embedded OLE objects' Object Name editable (by @ChristopherVR) (e06b32c)
  • shared: Add Pareto as an insertable chart type (by @ChristopherVR) (8fea110)
  • core: Allow animation drag-to-reorder across deck-native effects (by @ChristopherVR) (6f48a34)
  • Author animation effect sound and after-animation controls (by @ChristopherVR) (78daeb4)
  • Author and embed transition sounds from the ribbon Sound picker (by @ChristopherVR) (ada8cdb)
  • Expose transition speed and morph-option controls in all five bindings (by @ChristopherVR) (122894d)
  • ink: Retain pen-tilt InkML channels and render a calligraphic nib (by @ChristopherVR) (6adab79)
  • shared: True 3D bar3D chart scene via three.js, opt-in all bindings (by @ChristopherVR) (ac920da)
  • shared: True 3D line3D/area3D chart scenes via three.js, opt-in all bindings (by @ChristopherVR) (1447517)
  • charts: Give pie3D charts true 3D rendering across all bindings (by @ChristopherVR) (a1b32e7)

Bug Fixes ​

  • Author Draw-tab ink as a PowerPoint-compatible content part (by @ChristopherVR) (d91ce08)
  • shared: Render rect path gradients as nested rectangles, not an ellipse (by @ChristopherVR) (f6f479e)
  • deps: Converge ai-sdk adapters on a single ai package version, fix two flaky tests (by @ChristopherVR) (4365a02)
  • animation: Correct tests left stale by combining independent preset fix waves (by @ChristopherVR) (02371bb)
  • charts: Repair merge conflicts left broken by a diff3 edge case, wire remaining demos (by @ChristopherVR) (42d550d)

Testing ​

  • react: Fix stale duplicate preset-mapping expectations (by @ChristopherVR) (7b302b6)

2.0.4 - 2026-08-26 ​

Bug Fixes ​

  • Stop duplicate inline-edit text render and fix ribbon popup clipping (by @ChristopherVR) (f084c64)
  • Derive mobile chrome from the browser viewport, not the container (by @ChristopherVR) (29e5ea1)

Dependencies ​

  • deps: Bump @ai-sdk/react from 4.0.80 to 4.0.76 (#180) (by @dependabot[bot]) (52c368d)
  • deps: Update dompurify requirement from ^3.4.13 to ^3.4.14 (#173) (by @dependabot[bot]) (19afbe1)

Chores ​

  • deps-dev: Update @types/node requirement from ^26.1.1 to ^26.2.0 (#179) (by @dependabot[bot]) (b05718e)

2.0.3 - 2026-08-22 ​

Bug Fixes ​

  • react: Stop the handle overlay shadowing the element's own id (by @ChristopherVR) (19ed4de)

2.0.2 - 2026-08-22 ​

Bug Fixes ​

  • react: Host selection handles in a stage-level overlay, as the other bindings do (by @ChristopherVR) (d06780a)

Reverts ​

  • react: Restore the element renderer's DOM structure (by @ChristopherVR) (b75440e)

2.0.1 - 2026-08-22 ​

Bug Fixes ​

  • react,angular: Unclip selection handles and stop Angular text runs leaking whitespace (by @ChristopherVR) (18eebb6)

2.0.0 - 2026-08-22 ​

Features ​

  • core: Unify SmartArt layout onto one DiagramML interpreter (by @ChristopherVR) (89116b1)
  • shared: Print notes pages in every binding, and honour notesStyle in the master preview (by @ChristopherVR) (6f2f54d)
  • core,shared: Model timing templates and play animEffect filters (by @ChristopherVR) (8bf91f2)
  • core,shared: Cross-browser reflections, overlay fills, and remaining text gaps (by @ChristopherVR) (c0b0d6d)

Bug Fixes ​

  • core,shared: Correct animation preset IDs against PowerPoint COM ground truth (by @ChristopherVR) (61b0014)
  • react: Consume the shared render decisions and fix a swallowed load error (by @ChristopherVR) (7ec6892)
  • core,shared: Honour cTn timing attributes, after-animation and effect sound (by @ChristopherVR) (07ee51f)
  • react: Consume the shared decisions for the second parity wave (by @ChristopherVR) (7238a36)

1.9.0 - 2026-08-21 ​

Features ​

  • shared,react: Wire interactive 3D surface chart scene (opt-in) (by @ChristopherVR) (78587a4)

1.8.1 - 2026-08-21 ​

Bug Fixes ​

  • react: Route GroupInfoPanel text through t(), not hardcoded English (by @ChristopherVR) (48cc85f)

Refactor ​

  • react: Drop now-redundant local download-sanitization wrapper (by @ChristopherVR) (7b5e6a1)
  • react,vue,svelte,vanilla: Repoint media-type check onto shared (by @ChristopherVR) (bb8e95c)
  • react: Repoint template background card onto shared row resolver (by @ChristopherVR) (b27fd04)
  • react: Repoint chart type-change patch onto shared patchChartData (by @ChristopherVR) (9a97113)

1.8.0 - 2026-08-21 ​

Features ​

  • shared: Add hover tooltips to every chart mark, not just the region map (by @ChristopherVR) (4ca29f5)

Bug Fixes ​

  • react: Disable mobile bottom bar actions with no slides loaded (by @ChristopherVR) (ae9892f)
  • react,svelte: Block unsafe URL schemes on hyperlink save (by @ChristopherVR) (61b43e6)
  • shared: Extract table column-width redistribution to shared (by @ChristopherVR) (cbd9fc7)
  • mobile: Repoint react/vue/angular mobile sheet toggling onto shared (by @ChristopherVR) (d8e6228)
  • shared: Repoint options numeric-control clamp onto shared helper (by @ChristopherVR) (138dfe5)
  • react: Repoint comment markers onto shared buildCommentMarkers (by @ChristopherVR) (d3ddba1)
  • ci: Resolve oxlint errors and warnings blocking CI lint job (by @ChristopherVR) (a2031be)
  • react: Let table-style band colors survive un-styled cells (by @ChristopherVR) (b1c8215)

Refactor ​

  • shared: Extract SmartArt node-count bounds table (by @ChristopherVR) (10cd945)
  • shared: Extract animation drag-to-reorder into shared (by @ChristopherVR) (b136d02)
  • shared: Extract SmartArt text-pane handlers to shared (by @ChristopherVR) (911693c)
  • shared: Extract chart legend layout to shared (by @ChristopherVR) (acec62b)
  • shared: Extract animation timeline-bar layout math to shared (by @ChristopherVR) (1a9f66d)
  • shared: Extract table quick-style preset application (by @ChristopherVR) (aa52c10)
  • react,vue,angular: Repoint chart value-drag onto shared engine (by @ChristopherVR) (1d5fd6a)
  • shared,react,vue,vanilla: Repoint comment mutations onto shared comments-list (by @ChristopherVR) (0eb28dc)
  • react,vue: Repoint SmartArt chrome style onto shared buildChromeStyle (by @ChristopherVR) (2a9602f)
  • react: Repoint print handlers onto shared print helpers (by @ChristopherVR) (b921759)

Documentation ​

  • Correct chart-interactivity limitations text (by @ChristopherVR) (4e91c36)

1.7.0 - 2026-08-19 ​

Features ​

  • cli: Make @christophervr/pptx-viewer a drop-in for pptx-react-viewer (by @ChristopherVR) (2c13717)

Bug Fixes ​

  • ci: Stop the hourly release writing an empty changelog section (by @ChristopherVR) (d53c0fe)

1.6.0 - 2026-08-07 ​

Features ​

  • core: Export and import decks as portable JSON (by @ChristopherVR) (965fc05)
  • shared: Blackboard mode, element rename and column charts (by @ChristopherVR) (a69ffce)

1.5.9 - 2026-07-27 ​

Bug Fixes ​

  • ci: Resolve workspace: ranges in every published manifest (by @ChristopherVR) (ea35290)

1.5.8 - 2026-07-25 ​

Chores ​

  • deps-dev: Update tsdown requirement (#109) (by @dependabot[bot]) (f83aa0a)

1.5.7 - 2026-07-23 ​

Bug Fixes ​

  • cli: Accept every framework major the viewer packages support (by @ChristopherVR) (fb00075)

1.5.6 - 2026-07-23 ​

1.5.5 - 2026-07-18 ​

Documentation ​

  • Correct and expand the per-package npm readmes (by @ChristopherVR) (46f7c57)

1.5.4 - 2026-07-17 ​

Dependencies ​

  • deps: Update outdated dependencies within semver ranges (by @ChristopherVR) (3249d8e)

1.5.3 - 2026-07-16 ​

Documentation ​

  • packages: Add package-specific readme visuals (by @ChristopherVR) (9e20f13)

1.5.2 - 2026-07-13 ​

Bug Fixes ​

  • build: Restore compatibility after dependency updates (by @ChristopherVR) (ddbfae6)

Dependencies ​

  • deps: Update typescript to 7.0.2 (by @dependabot[bot]) (0a7c1f1)

1.5.1 - 2026-07-12 ​

Bug Fixes ​

  • cli: Fix Angular Node.js preflight, vanilla three dep, collab packages prompt (by @ChristopherVR) (8e41cea)

1.5.0 - 2026-07-11 ​

Features ​

  • cli: Add svelte and vanilla js install/scaffold targets (by @ChristopherVR) (768aafe)

1.4.2 - 2026-07-07 ​

Bug Fixes ​

  • CLI interactive installation (by @ChristopherVR) (7b0f649)

1.4.1 - 2026-07-05 ​

Bug Fixes ​

  • cli: Scaffold i18n setup, suppress scaffolder output, auto-run dev (by @ChristopherVR) (d99b463)

1.4.0 - 2026-07-05 ​

Features ​

  • core,cli: Add react, angular, vue to npm keywords (by @ChristopherVR) (528ec61)

1.3.0 - 2026-07-04 ​

1.2.0 - 2026-07-04 ​

Features ​

  • cli: Enforce a single UI framework and harden terminal handling (by @ChristopherVR) (d1c9ae5)

1.1.46 - 2026-07-03 ​

Features ​

  • cli: Arrow-key colour prompts and PowerPoint-ready scaffolds (by @ChristopherVR) (8de03c9)

1.1.45 - 2026-07-02 ​

Features ​

  • cli: Add interactive @christophervr/pptx-viewer installer (by @ChristopherVR) (4df680d)

Released under the Apache-2.0 License.