Skip to content

v0.60.0

Choose a tag to compare

@github-actions github-actions released this 13 Oct 07:32

Fixed

  • Body paragraphs of Word, HWP and HWPX documents are separate Markdown paragraphs again. Since 0.59.3, consecutive
    paragraphs arrived on adjacent lines with no blank line between them, so a Markdown renderer showed one run-on paragraph
    and a paragraph-based chunker saw one block. Headings were not affected.
    • Extracted text changes for .docx, .doc, .hwp and .hwpx (every body paragraph now ends with a blank line),
      and for .xlsx workbooks that come back without sheet structure. PDF, PPTX and the table text of workbooks do not
      change. Documents extracted with 0.59.3 should be extracted again.
    • Cause: the readers asked the parsers for no paragraph spacing. Up to Undoc 0.19 / Unhwp 0.15 that option only
      removed extra spacing; from Undoc 0.23 / Unhwp 0.19 it removes the blank line itself. Every reader now takes its
      parser options from one definition, which keeps the blank line.

Removed

  • Breaking: the separate native Office reader is gone — AddNativeOfficeReader(), AddFileFluxWithNativeOffice(),
    OfficeNativeDocumentReader and the FileFlux.Core.Infrastructure.Interop types (UndocNativeLoader, UndocDocument,
    UndocMarkdownFlags and their companions), along with the FILEFLUX_NATIVE_AUTOUPDATE variable.
    The reader ran the same
    native library the built-in DOCX/XLSX/PPTX readers already use through the Undoc package, but downloaded its own copy
    from GitHub at run time instead of using the one that package ships, and that download no longer matched the release's
    file names: on a machine without a cached copy, every Office document failed with «Could not find library asset». The
    built-in readers also return tables as TableData, which this reader did not.
    • Migration: remove the call. AddFileFlux() serves .docx, .xlsx and .pptx with the built-in readers.

Documentation

  • The examples in docs/ARCHITECTURE.md match the library and are compiled by the tests. The custom reader example
    implements every IDocumentReader member (the stream overloads were missing); the package-selection example gets a reader
    from IDocumentReaderFactory and a processor from IDocumentProcessorFactory (it named a PdfDocumentReader that does not
    exist and the old IDocumentProcessor.ProcessAsync(path) call); the LMSupply example uses the
    FileFlux.Providers.LMSupply registration extensions; the custom chunker names FluxCurator's DocumentChunk.