Changelog
[4.3.0]
Quality-Of-Life release. Improves compatibility and ease of use with various tools and environments.
.mjs
and .js
for ESM, .cjs
and .js
for UMD. Just pick one that works with your tooling or environment."type":"module"
in package.json as the only way to define the module as ESM."main"
points to UMD bundle full.esm.mjs
instead of UMD full.umd.js
.Changelog
[4.2.0]
thumbnail()
and thumbnailUrl()
.HTMLImageElement
to input
.Changelog
[4.1.0]
legacy
bundle)TextDecoder
, Object.assign
, Object.keys
, Object.values
, Object.fromEntries
, Array.from
, Array.prototype.includes
, fetch
, Map
, Set
.Promise
polyfill is needed now instead of regeneratorRuntime
Changelog
[4.0.0]
options.multiSegment
or options.xmp.multiSegment
to true.output.xmp
is no longer where the XMP segment data are stored. XMP tags are parsed, grouped by namespace and each namespace is assigned directly to output
object, like output.xmlns
, output.GPano
, output.crs
and more. This can be disabled by setting options.xmp.parse: false
window.BigInt
bug in webworkerChangelog
[3.0.1]
String
-> string
, Number
-> number
).Changelog
[3.0.0]
ExifParser
class to Exifr
.thumbnailBuffer()
function to thumbnail()
. It now also returns Uint8Array
instead of ArrayBuffer
in browser. Node.js version keeps returning Buffer
.options.image
block to options.ifd0
.options.thumbnail
block to options.ifd1
.seekChunkSize
and parseChunkSize
. See firstChunkSize
, firstChunkSizeBrowser
, firstChunkSizeNode
.src/dicts/*
files for reference. For example: before {ExposureBiasValue: 0}
, after {ExposureCompensation: 0}
; before {WhiteBalance: 'Auto white balance'}
, after {WhiteBalance: 'Auto'}
output.image
block to output.ifd0
.output.thumbnail
block to output.ifd1
.postProcess
property and split its behavior to new properties sanitize
, translateKeys
, translateValues
and reviveValues
.options.wholeFile
and renamed to options.chunked
lite
bundle is now recommend as the default for browser use because of its small footprint.lite
or mini
builds.package.json
defined module as "type": "module"
. All .js
files are treated as ES Modules by Node.js.pick
/skip
options)exifr.gps()
BufferView
wrapper class for all forms of binary data.Changelog
[2.1.4] - 2019-11-10