Skip to content

odf.js@6.4.0

Choose a tag to compare

@github-actions github-actions released this 04 Sep 14:14
· 94 commits to main since this release

6.4.0 (2026-09-04)

Features

  • odf.js: add a real .sxc writer for OpenOffice.org 1.x (d54271b)
  • odf.js: add a real .sxi writer for OpenOffice.org 1.x presentations (693d59f)
  • odf.js: add the shared draw-shape writer for odp/odg (6094c63)
  • odf.js: add writeOdp/writeOdpContent, a real .odp writer (989b210)
  • odf.js: add writeOdsContent/writeOds, the genuine inverse of the ods reader (3e45986)
  • odf.js: add writeSxw/writeSxwContent, a real .sxw writer (c54f6bd)
  • odf.js: reverse the OpenOffice.org 1.x transform into an ODF-to-OOo1 rewrite (f2b2535)
  • odf.js: serialise a path's own subpaths into svg:d and svg:viewBox (5b43224)
  • odf.js: write .odg packages from the drawing content arm (a078382)
  • odf.js: write .ott/.ots/.otp/.otg templates, and their .stw/.stc/.sti/.std counterparts (e50af49)
  • odf.js: write .sxd through writeOdg and the OpenOffice.org 1.x transform (b55d43c)
  • odf.js: write a shape's paint order as draw:z-index (92608cb)
  • odf.js: write ContentVector rect/ellipse/line/path as draw: elements (8b38551)

Bug Fixes

  • odf.js: declare the presentation namespace prefix on every written part (b07e712)
  • odf.js: decode XML entities in a shape's draw:name (ec6abf2)
  • odf.js: expand a drawing shape's rotate() angle out of exponent notation (3b4c78e)
  • odf.js: format an ODF length as fixed-point decimal, never exponent notation (dd3e63b)
  • odf.js: mint a text-in-a-frame shape's own graphic style unconditionally (05430a8)
  • odf.js: refuse a paintOrder beyond Number.isSafeInteger's own bound (a988a61)
  • odf.js: rename a drawing style's family between the graphics and graphic spellings (6551c71)
  • odf.js: write draw:z-index unconditionally on every drawing shape and vector (5a467b0)

Code Refactoring

  • odf.js: export border-formatting and column/row default constants for reuse (fc515db)
  • odf.js: keep the draw-shape write seam out of the published surface (ee763d5)
  • odf.js: move the metadata and draw-shape canonical forms beside what they describe (8eedaee)
  • odf.js: share write-side list-numId planning and canonical-form helpers (d3e4c65)
  • odf.js: state a canonicalised shape's and vector's paint order as required (fedc9d3)

Documentation

  • odf.js: document .odg write support (71bdddc)
  • odf.js: document odp write support and the LibreOffice verification (4984c6a)
  • odf.js: document the .sxc writer (6ae314f)
  • odf.js: document the .sxd writer and what its LibreOffice verification found (3fc0453)
  • odf.js: document the .sxi writer (a8705a2)
  • odf.js: document the .sxw writer and fix the now-stale read-only claim (380846d)
  • odf.js: document the ods writer's real scope in the README (9152ada)
  • odf.js: name all five fields canonicalShape drops, not four of them (29670de)
  • odf.js: state that a .sx* writer produces its base media type, never its .st* template (89d4685)
  • odf.js: state what the LibreOffice flat-XML check actually establishes (2081e23)
  • odf.js: update ooo1 module comments now that a real writer exists (897393b)

Styles

  • odf.js: wrap the .sxc barrel export across multiple lines (7b1556b)

Tests

  • odf.js: assert the OpenOffice.org 1.x writers' tree-form output is genuinely OOo1x (0a34a3d)
  • odf.js: audit the odg and sxi writers' namespace prefixes too (7ceede2)
  • odf.js: check the svg:d serializer against the parser it inverts (37572cf)
  • odf.js: construct the namespace audit's own fixture colours as Color objects (19b43ad)
  • odf.js: cover transformToOoo1Package and the .sxw round-trip law (29808c9)
  • odf.js: cover writeOdsContent's XML shapes and its round-trip law (498c9cb)
  • odf.js: pin the odg custom-shape draw:name decode against a mutation (42c469b)
  • odf.js: pin the odg writer's XML shapes and its round-trip law (b49c46c)
  • odf.js: verify the .sxc writer round-trips through the unmodified reader (c60766a)
  • odf.js: verify the .sxi writer round-trips through the unmodified reader (c1b568e)
  • odf.js: verify writeOdp's XML shapes and its own round-trip law (98232db)

Dependencies

  • Updated document-schema.js to ^5.5.1