Files
onenote-tools/CHANGELOG.md

103 lines
5.1 KiB
Markdown

# Changelog
## 0.3.4 - 2026-07-27
- Move the canonical source, manifest schema links, and package registry from
the personal `zemion` namespace to the `lotobo` (LocalToolBox) Gitea
organization.
- Upgrade the Toolbox contract, React shell, and validation testkit to 0.2.3,
republished from the organization-owned registry without functional shell
changes.
## 0.3.3 - 2026-07-23
- Let the OneNote application use the full width supplied by the shared
Toolbox shell, matching the shell bar's `min(100%, 90rem)` content span
instead of retaining the former 76rem application cap.
## 0.3.2 - 2026-07-23
- Upgrade the Toolbox contract, React shell, and validation testkit to 0.2.2,
pinned to SDK revision `53c40a61ba1581246f65773fcbb1c1cfd31ac98e`.
- Move the Toolbox icon and `add·ideas Toolbox` label to the fixed far-left
block and place Help, the OneNote-specific Gitea source link, Apps, and
Personalize in that order in the fixed far-right cluster while retaining the
centered app title and tagline.
- Use the shared portal-style Personalize appearance panel; catalogue counts
and preference import/export remain portal-only controls.
## 0.3.1 - 2026-07-23
- Upgrade the Toolbox contract, React shell, and validation testkit to 0.2.1.
- Adopt the stable shared top bar: the fixed left cluster contains Personalize,
Apps, the OneNote-specific Gitea source link, and Help; the app title and one
tagline remain centered; and the fixed far-right block contains the Toolbox
icon and `add·ideas Toolbox` label.
## 0.3.0 - 2026-07-23
- Adopt the Toolbox SDK 0.2.0 shared header with standard Help and app-specific
Gitea source controls, centered app identity, Personalize, and Apps menus.
- Apply the shared system, light, and dark appearance choice to the OneNote
reader while retaining authored page fonts, colors, highlights, and ink.
- Scope reader controls so application button styling cannot override the
shared Toolbox header.
## 0.2.1 - 2026-07-22
- Preserve the intrinsic aspect ratio of embedded images when their recorded
display width is reduced to fit the reader, including linked images.
- Allow the page reader to scroll when its Toolbox grid area is constrained.
## 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.