From 641d910c81ce908e54438875a3b7566219e918b8 Mon Sep 17 00:00:00 2001 From: Thanga Ganapathy Date: Wed, 28 Oct 2026 02:48:22 +0530 Subject: [PATCH 1/2] chore(release): otf-pdf-content@0.1.0, otf-pdf-doc@0.1.0, otf-pdf-font@0.1.0, otf-pdf-syntax@0.1.0, otf-pdf-text@0.1.0, otf-pdf@0.1.0 --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8586395..2adcea0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,8 @@ versioning: [SemVer](https://semver.org/). ## [Unreleased] +## [0.1.0] - 2026-10-27 + ### Added - **otf-pdf-syntax:** Object model (`Object`, `Dict`, `Name`, `PdfString`, `Stream`, `ObjId`) with names and strings kept as bytes, and a deterministic serializer. From 806f03ba4112e44b52308615994d2f6733edda9e Mon Sep 17 00:00:00 2001 From: Thanga Ganapathy Date: Wed, 28 Oct 2026 02:50:14 +0530 Subject: [PATCH 2/2] test: check pdf.js manifest passwords only when its corpus is fetched --- crates/otf-pdf-syntax/tests/corpus.rs | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/crates/otf-pdf-syntax/tests/corpus.rs b/crates/otf-pdf-syntax/tests/corpus.rs index 19b24c4..5d4daf8 100644 --- a/crates/otf-pdf-syntax/tests/corpus.rs +++ b/crates/otf-pdf-syntax/tests/corpus.rs @@ -95,10 +95,15 @@ fn external_corpus_opens() { use otf_pdf_syntax::{File, OpenOptions}; use std::sync::Arc; let passwords = passwords(); - assert!( - passwords.is_empty() || passwords.len() >= 5, - "pdf.js manifest passwords not found" - ); + // When pdf.js's files are fetched, its manifest's passwords must load + // (corpus/passwords.tsv alone is always present). + if corpus().join("external/pdfjs").exists() { + let from_manifest = passwords + .keys() + .filter(|k| k.starts_with("external/pdfjs/")) + .count(); + assert!(from_manifest >= 5, "pdf.js manifest passwords not found"); + } against_baseline("open", |key, bytes| { let options = OpenOptions { password: passwords