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"]
 |===

Reply via email to