Fast, cross-platform Node.js access to ExifTool
💔 ExifTool.write
now returns metadata describing how many files were unchanged, updated, or created, and no longer throws an error if the operation is a no-op. It is up to you to inspect .warnings
and decide for your own usecase if the issue is exceptional. See issue #162 for details.
💔 In the interests of reducing complexity, the ExifToolOptions.isIgnorableError
predicate field was removed -- if this was used by anyone, please open an issue and we can talk about it.
✨ .warnings
are returned by ExifTool.read
and ExifTool.write
tasks if there are non-critical warnings emitted to stderr
by ExifTool.
📦 Some fields in Tags
were moved to more correct groups
📦 Refined WriteTags
signature to omit ExifToolTags
and FileTags
fields.
📦 Added node:
prefix to Node.js module imports. This requires node v14.13, v16.0, or later.
📦 Added MWG .HierarchicalKeywords
and .Collections
to Tags
🐞/📦 Rotation
was removed from the default set of numericTags
, as it may be encoded as an EXIF orientation value, or a degree rotation, and it should be up to the application to figure it out.
📦 Added new option, ignoreZeroZeroLatLon
, and defaulted this new option to true
. Several camera manufacturers and image applications will write 0
to the GPSLatitude
and GPSLongitude
tags when they mean "unset"--but this can cause incorrect timezone inference. Set to false
to retain prior code behavior.
📦 Rotation
was added to the default set of numericTags
, as it may be encoded as an EXIF orientation value. Prior builds could return Rotation values like "Rotate 270 CW"
.
📦 XMPTags.Notes
was added to Tags
, used as an album description
🐞 Some ExifToolOption
s were not passed from ExifTool into the ReadTask, which caused ReadTask to revert to defaults.
Full Changelog: https://github.com/photostructure/exiftool-vendored.js/compare/v23.5.0...v23.6.0
🌱 ExifTool upgraded to v12.70. 🏆 Thanks for 20 years of updates, Phil Harvey! 🏆
📦 XMPTags.Album
was added to Tags
🌱 ExifTool upgraded to v12.69
📦 ExifTool.read
: ExifTime
now adopts the default zone extracted from
the file. This may result in different values for timestamps.
📦 Updated dependencies
yarn u
script (409bd88)