Skip to content

Releases: woss/exiftool

v0.7.1

Choose a tag to compare

@github-actions github-actions released this 19 Oct 23:35
360a7c8

Bug Fixes

  • release: JSON updater for jsr.json; sync version to 0.7.0 (eb4a2db)
  • release: use json updater for jsr.json extra-files; sync jsr version to 0.7.0 (11a3fe6)

v0.7.0

Choose a tag to compare

@github-actions github-actions released this 19 Oct 23:26
eb4a2db

Features

  • rework plugin presets — ALL exhaustive, MODERN web-only, new MODERN_RAW (8496a07)
  • rework plugin presets — ALL is exhaustive, MODERN is web formats, add MODERN_RAW (436b4bd)

Bug Fixes

  • docs: MDX-safe header, resolvable links, correct C2PA status (c045260)
  • docs: MDX-safe header, resolvable links, correct C2PA status (d67059c)

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 19 Oct 14:41
b6f7292

Added

  • Metadata writing surface: JPEG (ICC, JFIF, Ducky, comment, XMP, IPTC
    append), PNG (tEXt/iTXt/zTXt, language-qualified text, ICC profile,
    ancillary chunks, modification date, XMP delete), WebP (ICC profile,
    XMP delete, EXIF preservation), GIF, EXV, PBM/PGM/PPM, and standalone
    EXIF, ICC, and XMP writing.
  • CLI write workflows: tag copying (tagsFromFile with source-file
    selectors, exclusions, same-file mappings), conditional write
    filtering (boolean/regex/parenthesized conditions), output-path
    templates with source-token expansion, collision counters, batch
    writes to directories, stdout output, and -o XMP sidecars.
  • ExifTool-compatible write modes (wm, wc, wg, and group-creating
    variants) with CLI validation.
  • XMP list append/removal: Creator and Subject appends, IPTC Keywords,
    Dublin Core list properties, first-match list-item removal, and empty
    container cleanup after deletion.
  • PNG read parity: ICC profile parsing and compressed text chunks.
  • Standalone XMP and PBM/PGM/PPM/PPM format writers.

Fixed

  • JPEG ICC profile segment reassembly; PNG EXIF/ICC/text round-trip
    preservation, GPS sign encoding, date/value normalization, and
    late-chunk hoisting.
  • Permission preservation in atomic metadata writes; quiet-mode write
    failure surfacing; unsupported CLI tag-write reporting.

Docs

  • CLI and API write workflow documentation and metadata write parity
    scope.

v0.5.2

Choose a tag to compare

@github-actions github-actions released this 29 Sep 15:09
c33507d

Added

  • PNG IHDR read parity: Filter and Interlace with reference PrintConv
    strings, SRGBRendering from the sRGB chunk.
  • PNG zTXt chunk support (zlib/deflate; Node parser layer).
  • PNG tEXt/iTXt/zTXt keywords surface as bare capitalized tag names
    (parameters → Parameters), yielding to EXIF/eXIf/XMP-derived keys.
  • XMP read parity: unknown-namespace properties surface with capitalized
    local names (InvokeAI Metadata/Graph, DMI DigitalSourceType,
    GPano panorama tags with integer typing); xmpMM:History flattens to
    History* fields and the raw container is no longer emitted; XMP dates
    with Z suffix normalize to EXIF-style rendering; TAG_REMAP entries
    pinned for exif:UserComment, InvokeAI, DMI, GPano/IGPano.
  • src/ai-parity.test.ts: reference-equal tests against real exiftool on
    A1111 (tEXt parameters) and InvokeAI (XMP/DMI/History) fixtures.

Fixed

  • pngWriter omitted the IEND CRC — every PNG written by the library was
    truncated by 4 bytes and unreadable by strict parsers.

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 29 Sep 09:24
e53587d

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.
  • XMP embedding per container: PNG (iTXt, uncompressed, keyword
    XML:com.adobe.xmp), WebP (XMP RIFF chunk + VP8X flag), plain TIFF
    (IFD0 XMP/XMLPacket tag 0x02BC) — previously EXIF-only.
  • 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.
  • Big-endian TIFF version check read bytes 2/3 swapped, rejecting valid
    big-endian TIFF files.

Known limitation

  • 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.

v0.3.1

Choose a tag to compare

@github-actions github-actions released this 15 Sep 14:30
cb4b3ad

Fixed

  • JPEG parser no longer stamps a fabricated ExifToolVersion into parse
    output (tool-injected, not file data; was JPEG-only and inconsistent with
    the TIFF-RAW output).

Added

  • Docs demo page: tag dots colored by metadata group, with legend.

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 15 Sep 09:50
85c01aa

Added

  • exiftool-compatible merge writes on JPEG: EXIF (IFD0/ExifIFD/GPS)
    structural merge plus EXIF:Copyright, EXIF:Orientation,
    XMP-dc:Rights, XMP-xmpRights:WebStatement with fresh-XMP fallback.
  • Branding: custom aperture logo; human + AI credit in README and docs
    footer.

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 15 Sep 07:49
f616baa

Added

  • TIFF-family RAW container reading (TIFF, DNG, CR2, NEF, ARW, ORF, RW2/RWL,
    PEF, ERF, DCR, SRW).
  • MakerNotes decoding for 6 core vendors; TIFF RAW read-parity gaps closed.
  • ExifIFD/GPS IFD writing; C2PA docs sidebar.
  • Measured performance numbers replacing placeholder claims; parity page.

Fixed

  • Dropped accidental self-dependency; bumped deprecated uuid via override.

v0.1.3

Choose a tag to compare

@github-actions github-actions released this 06 Sep 21:05
e67dfed

Changed

  • Version bump with JSR payload sync.

v0.1.2

Choose a tag to compare

@github-actions github-actions released this 06 Sep 20:39
9b2352a

Changed

  • Excluded heavy/test directories from the JSR publish payload.