Tim Allison created TIKA-4816:
---------------------------------

             Summary: Finish metadata key cleanups post TIKA-4807
                 Key: TIKA-4816
                 URL: https://issues.apache.org/jira/browse/TIKA-4816
             Project: Tika
          Issue Type: Task
            Reporter: Tim Allison


- Property public factories throw on reserved tk:/X-TIKA: names; curated 
constants mint via package-private reserved factories — a tk: Property can no 
longer be forged
  - Property registration: first-wins (putIfAbsent) + WARN on type mismatch, 
replacing silent overwrite; new non-registering mint path for runtime keys (no 
static-map growth in
  servers)
  - PassthroughPrefix → KeyPrefix: constructor validation 
(reserved/empty/undelimited rejected, duplicate registration throws) + typed 
factories (text/date/integer/real/bool/textBag)
  minting unregistered Properties for document-derived key names
  - New Metadata.putAll(Metadata) — provenance-preserving, multi-value-safe 
copy; replaces manual copy loops
  - setAll(Properties) removed (bypassed limiter + reserved-key guard)
  - Last bare-String key constants promoted to Property (ClimateForcast, 
CreativeCommons); dead TikaMimeKeys deleted; registry +18 keys; docs reconciled
  - reconstruct contract pinned by tests, incl. the accepted /pipes 
userMetadata stance; migration-guide entries for parser authors and integrators
  - Fix: EMBEDDED_EXCEPTION no longer collapses to one value under an active 
write limiter
  - Not in this PR (follow-up): parser call-site migration to KeyPrefix, 
forbiddenapis bans, and the reserved-key guard flip from silent-drop to throw

 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to