You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Added
Generalized XMP property writer: arbitrary group:property keys with value
shapes (scalar, rdf:Alt x-default, rdf:Bag, rdf:Seq), per-namespace
xmlns declaration, upsert-or-replace semantics, and fresh-packet fallback
when a container has no XMP.
P0 descriptive tags on all write containers: XMP-dc:Subject (keywords Bag,
replace-not-append), XMP-dc:Title, XMP-dc:Description
(Alt/x-default), XMP-xmp:MetadataDate.
IPTC IIM writer for JPEG APP13: repeatable Keywords (record 2, dataset 25)
plus CodedCharacterSet (record 1, dataset 90) = UTF-8; merges into an
existing Photoshop IRB, replacing only the 8BIM 0x0404 block.
ExifTool.writeSidecar(): Lightroom-readable .xmp sidecar for RAW/DNG
pickup, with read-merge of unknown properties and idempotent re-runs.
ExifToolCore.writeBytes (in-memory path) supports all of the above.
Changed
TIFF writing restricted to plain TIFF: camera RAW (CR2, NEF, ARW, …) and
files with SubIFDs (DNG raw data, previews, tiles) throw UnsupportedFormatError instead of risking corruption — use the sidecar
mode for those.
Fixed
TIFF writer used a typo'd XMP tag id (0xBC01); the real XMP/XMLPacket tag
is 0x02BC.
Adding EXIF entries to a JPEG can shift value areas in the rebuilt EXIF
block, breaking MakerNotes whose internal offsets are absolute from the
TIFF header (e.g. Olympus). XMP/IPTC-only writes never touch the EXIF
block. Reference exiftool fixes this with per-maker offset logic.