14 lines
1.7 KiB
Markdown
14 lines
1.7 KiB
Markdown
# Changelog
|
|||
|
|
|
||
|
|
All notable changes to this project are documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||
|
|
|
||
|
|
## [Unreleased]
|
||
|
|
|
||
|
|
### Added
|
||
|
|
|
||
|
|
- BentoPDF v2.8.8 built from source at its pinned commit with BentoPDF's air-gapped build options: Simple Mode, German by default, every module served from the image's own `/wasm/`, the CORS proxy off.
|
||
|
|
- The CDN modules vendored and checked against `vendor.lock` (PyMuPDF, Ghostscript, CoherentPDF, Tesseract with German, French, Italian and English, the OCR font, the PDF editor's Latin, Arabic and Hebrew fallback fonts). Ghostscript is served as its whole package with `gs.js` and `gs.wasm` linked at its root, because BentoPDF's own loader and PyMuPDF's wrapper expect the two different layouts (upstream's air-gap layout left `pdf-to-docx` with a 404).
|
||
|
|
- A Content-Security-Policy without any host, `img-src` included; the build fails if one survives.
|
||
|
|
- `digital-sign-pdf` and `timestamp-pdf` disabled: both need a third party by design.
|
||
|
|
- The hand-off glue on every page: a source link (AGPL), the hand-in of a file from bau-pm through a one-minute cookie into the tab's `sessionStorage`, confirmed by the tool's own reaction and retried while it has none (BentoPDF attaches its listener late, and its service worker made the glue win that race), the hand-back of a result caught in every window, the viewer's frame included, and waiting for the hand-off's details when a save comes before them, and the signing tool's flatten switch locked on.
|
||
|
|
- The zero-host gate (`test/zero-hosts.mjs`) over every tool page, in CI and in the release workflow.
|