Files
onenote-tools/CHANGELOG.md

3.0 KiB

Changelog

0.2.0 - 2026-07-22

  • Open unfragmented FSSHTTPB package-store .one sections through the same bounded page/content model as desktop revision stores.
  • Interpret desktop and FSSHTTPB .onetoc2 stores into authored section-group, section, page, and subpage trees, with identity fallback and deterministic handling of missing, duplicate, cyclic, and unlisted entries.
  • Add complete-set CAB extraction for multi-cabinet packages, including split CFDATA blocks, spanning files, codec continuity, link validation, aggregate limits, and browser selection of one .onepkg plus its .cab companions.
  • Add native MSZIP and Quantum decoding alongside uncompressed and LZX CAB support.
  • Parse and render structured outlines, rich-text formatting and safe links, tables, signature/header-validated PNG/JPEG images, decoded ink, layout hints, and declared embedded attachments.
  • Add local structured JSON, text, Markdown, inert HTML, and deterministic static notebook ZIP exports with diagnostics, unsupported-content summaries, normalized resource names, and bounded output.
  • Add independent parser, image-preview, display, TOC, cabinet-set, and export resource budgets. Oversized images remain explicitly downloadable but are not copied or decoded for automatic preview.
  • Verify the implementation against the redistributable OneNote golden corpus, a licensed five-part libmspack fixture, adversarial malformed inputs, and two private .onepkg files without committing their bytes.

Known unsupported areas remain fragmented FSSHTTPB data-element reconstruction, equations, audio/video, pixel-perfect page placement, and untested OneNote producer variants.

0.1.0 - 2026-07-22

  • Add a standalone React/Vite reader integrated with Toolbox SDK 0.1.1, including AppShell, the Toolbox manifest, nested-path-safe assets, and the Portal release contract.
  • Add a worker-hosted native TypeScript parser for a desktop OneNote revision-store subset: bounded file-node and object-space traversal, property sets, page metadata, titles, timestamps, levels, and plain text.
  • Add in-memory CAB enumeration and extraction for uncompressed and LZX folders, including checksums, strict paths, explicit resource limits, and cooperative cancellation between data blocks.
  • Open contained .one sections independently and expose package entries, section/page navigation, partial failures, and structured diagnostics.
  • Verify a Joplin .one golden with three pages and a Joplin LZX 0x1203 .onepkg golden with seven entries, five sections, and seven pages. Also verify rust-cab uncompressed and LZX 0x1303 fixtures.
  • Add deterministic static release packaging, SHA-256 sidecars, pinned-source provenance, fixture licensing, and security/support documentation.

Known unsupported areas are FSSHTTP-packaged .one, MSZIP and Quantum CAB extraction, multi-cabinet archives, .onetoc2 hierarchy/order interpretation, visual content, attachments, layout/format fidelity, links, and exports.