This is an automated email from the ASF dual-hosted git repository. tballison pushed a commit to branch TIKA-4842 in repository https://gitbox.apache.org/repos/asf/tika.git
commit ce410f6d003c6ee30ce4dbff591418e68cc2a152 Author: tallison <[email protected]> AuthorDate: Wed Aug 26 12:16:19 2026 -0400 twiddle --- CHANGES.txt | 10 ++++++---- .../ROOT/pages/migration-to-4x/metadata-changes-4x.adoc | 14 +++++++++++--- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index c5ad109272..d7907ba138 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -12,10 +12,12 @@ Release 4.1.0 - unreleased than lazily; under CONTENT_ONLY only a parse-context filter replaces the built-in one, not the top-level metadata-filters chain; _mime-include/_mime-exclude also accept a bare string; Tess4J locks - poolSize and maxImagePixels as well as the two paths. Also corrected the - config nesting shown in every pipes-plugin fetcher/emitter javadoc -- 23 - of them, which had it inverted (the instance id is the outer key, the - component name the inner) -- and removed references to a + poolSize and maxImagePixels as well as the two paths; and pdf:trapped and + xmp:pdf:Trapped are new 4.x keys rather than renames (3.x captured the + flag only as pdf:docinfo:trapped and dropped the XMP value). Also + corrected the config nesting shown in every pipes-plugin fetcher/emitter + javadoc -- 23 of them, which had it inverted (the instance id is the + outer key, the component name the inner) -- and removed references to a TesseractOCRConfig.properties file that 4.x does not load (TIKA-4842). * Pipes plugins no longer bundle their own Jackson: jackson-core, -databind diff --git a/docs/modules/ROOT/pages/migration-to-4x/metadata-changes-4x.adoc b/docs/modules/ROOT/pages/migration-to-4x/metadata-changes-4x.adoc index 3edda9fc10..b4ecab6ea4 100644 --- a/docs/modules/ROOT/pages/migration-to-4x/metadata-changes-4x.adoc +++ b/docs/modules/ROOT/pages/migration-to-4x/metadata-changes-4x.adoc @@ -171,13 +171,21 @@ independent of casing (the name's origin). (`xmp*:`), EXIF/`tiff:`, `iptc:`, `photoshop:`, `geo:`, the CF/CMIP attributes under `cf:`, MAPI property names, email headers, the ECMA-376 OOXML core/extended property names (`AppVersion`, `lastModifiedBy`, `TotalTime`, …), and the PDF/A/X/VT/UA sub-namespaces - (`pdfaid:`, `pdfx:`, …). PDF Info-dict names (`pdf:docinfo:producer`, `pdf:docinfo:trapped`, - …) are lowercased rather than verbatim — the dictionary spells them `/Producer` and `/Trapped` - — but they are unchanged from 3.x. + (`pdfaid:`, `pdfx:`, …). PDF's own names are the exception: both the Info-dict keys under + `pdf:docinfo:` and the normalized `pdf:` keys they feed are lowercased rather than verbatim + (`/Producer` -> `pdf:docinfo:producer`, `pdf:producer`), even though the Info dictionary and + the XMP `pdf:` schema both capitalize them. The verbatim XMP spelling survives separately + under `xmp:pdf:` (`xmp:pdf:Producer`). None of those spellings changed in 4.x. (The `access_permission:` prefix is also normalized to `access-permission:`. The `extended-properties:HiddedSlides` entry additionally corrects a long-standing spelling typo.) +NOTE: `pdf:trapped` and `xmp:pdf:Trapped` are *new* in 4.x rather than renames. 3.x recorded the +trapped flag only as `pdf:docinfo:trapped` and discarded the XMP `pdf:Trapped` value entirely. +`pdf:trapped` now behaves like `pdf:producer` and the `dc:` keys: it takes the XMP value when the +document has one and falls back to the Info-dict value otherwise, while `xmp:pdf:Trapped` and +`pdf:docinfo:trapped` continue to record which source each value came from. + .3.x -> 4.0.0 format-namespace key casing [cols="1,1"] |===
