Skip to content

v6.12.0

Choose a tag to compare

@github-actions github-actions released this 30 Aug 07:28
  • New Document::save(std::ostream &) and Document::save_to_memory(), which
    returns the saved document as an in-memory File. The path overloads are
    unchanged.

  • The wasm binding gained edit(diff), save(), isEditable() and
    isSavable(), so a browser can save an edit back.

  • Memory saves in the other bindings: save_to_memory() returns bytes in
    python, saveToMemory() byte[] in java, -saveToMemoryWithError: NSData
    in Objective-C.

  • Two entries of the same zip document can be read at once; nothing serialises
    on a single lock any more.

  • The zip backend is miniz/3.1.1, up from 3.0.2. Rendered output is
    unchanged.

  • New FileType::hypertext_markup_language for html, htm, xhtml,
    text/html and application/xhtml+xml. Classification only: no open, no
    translate_html, and never detected from its bytes.

  • Breaking An ods sheet stores a repeated cell once, at the range it
    covers, rather than once per position: SheetCell::position() reports the
    anchor of that range instead of the position the cell was looked up at, and
    Sheet::cell() hands back the same element everywhere in it.

  • An ods table:number-columns-repeated beside a table:number-rows-repeated
    no longer inflates — the grid's own 1048576 × 1024 asked for three billion
    elements out of four hundred bytes.

  • An xlsx <mergeCell> whose ref names more positions than the sheet has
    cells opens again; ref="A1:XFD1048576" used to visit all 17 billion.

  • Decoding a spreadsheet costs about half the memory it did — pugixml is built
    in compact mode and the ods sheet index is sorted vectors rather than maps.
    A consumer that includes an internal header now needs PUGIXML_COMPACT, and
    the conan package declares it.


Features

  • Name html as a file type, without a renderer for it (#769)
  • Save to a stream or into memory, and bind edit/save in wasm (#778)

Performance

  • Halve what a spreadsheet costs to decode, and stop two repeat bombs (#776)

Refactoring

  • Make the archive's read callback re-entrant (#775)

Build

  • Bump miniz to 3.1.1 (#774)

Publishing v6.12.0

  • conansuccess · conan package (conan.yml)
  • mavensuccess · app.opendocument:odr-core-java — Maven Central + GitHub Packages
  • androidsuccess · app.opendocument:odr-core-android — Maven Central + GitHub Packages
  • pythonsuccess · pyodr wheels — PyPI
  • applesuccess · OdrCoreObjC.xcframework — the release asset and its manifest
  • wasmsuccess · @opendocument/odr-core — npm