All Versions
37
Latest Version
Avg Release Cycle
18 days
Latest Release
-

Changelog History
Page 3

  • v4.3.1

    March 12, 2020
  • v4.3.0 Changes

    March 11, 2020

    🚀 Quality-Of-Life release. Improves compatibility and ease of use with various tools and environments.

    🔄 Changed

    • all ESM bundles are now available in two identical copies with different file extensions. .mjs and .js for ESM, .cjs and .js for UMD. Just pick one that works with your tooling or environment.
    • 📦 Backtracking on using only "type":"module" in package.json as the only way to define the module as ESM.
    • 📦 package.json's "main" points to UMD bundle full.esm.mjs instead of UMD full.umd.js.
    • ➕ Added default export which wraps all named exports into single object.
  • v4.3.x Changes

    🛠 Fixed

    • orientation() in mini bundle (possibly more mini-bundle related bugs)
    • 🚑 bug: Critical dependency: require function related to bundling UMD with webpack
    • d.ts types
    • IE10 DataView related bug

    ➕ Added

    • 🏗 .cjs copy of all legacy builds in dist/.
  • v4.2.0 Changes

    March 08, 2020

    🔄 Changed

    • Simplified and improved implementation of thumbnail() and thumbnailUrl().
    • 👌 Improved typescript types. Added HTMLImageElement to input.
  • v4.1.0 Changes

    March 08, 2020

    ➕ Added

    • 👌 Support for IE10

    💥 Breaking changes (for IE / legacy bundle)

    • No need to use these polyfills anymore: 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
  • v4.0.0 Changes

    March 05, 2020

    ➕ Added

    • 📜 XMP XML Parser
    • 👍 XMP Extended support. To extract all XMP segments, set options.multiSegment or options.xmp.multiSegment to true.

    🔄 Changed

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

    🛠 Fixed

    • 👷 window.BigInt bug in webworker
  • v3.0.1 Changes

    February 20, 2020

    🛠 Fixed

    • 🛠 Fixed types in d.ts (String -> string, Number -> number).
  • v3.0.0 Changes

    February 18, 2020

    💥 Breaking changes

    Exports

    • 📜 renamed ExifParser class to Exifr.
    • 💻 renamed thumbnailBuffer() function to thumbnail(). It now also returns Uint8Array instead of ArrayBuffer in browser. Node.js version keeps returning Buffer.

    Output format

    • 📇 Renamed options.image block to options.ifd0.
    • 📇 Renamed options.thumbnail block to options.ifd1.
    • 👀 renamed & simplified behavior of seekChunkSize and parseChunkSize. See firstChunkSize, firstChunkSizeBrowser, firstChunkSizeNode.
    • 🔄 Changed EXIF & IPTC tag dictionary to match ExifTool. Most tag names remain the same. Some might be changed slightly. You can check out the src/dicts/* files for reference. For example: before {ExposureBiasValue: 0}, after {ExposureCompensation: 0}; before {WhiteBalance: 'Auto white balance'}, after {WhiteBalance: 'Auto'}

    Options

    • 📇 Renamed output.image block to output.ifd0.
    • 📇 Renamed output.thumbnail block to output.ifd1.
    • ✂ removed postProcess property and split its behavior to new properties sanitize, translateKeys, translateValues and reviveValues.
    • 🔄 Changed behavior of options.wholeFile and renamed to options.chunked

    library bundles

    • 0️⃣ The library now comes in multiple bundles, with varying number of parsers & tag dictonaries. lite bundle is now recommend as the default for browser use because of its small footprint.
    • 🏗 Broken down parsers and tag dictionaries into multiple files. No all of them are included in lite or mini builds.
    • 📦 package.json defined module as "type": "module". All .js files are treated as ES Modules by Node.js.

    ➕ Added

    • 📜 ICC Parser
    • 💻 Older browsers support
    • 🏗 multiple new output builds (so users can prevent importing unused code)
    • 🏷 tags filtering (pick/skip options)
    • exifr.gps()

    🔄 Changed

    • major rewrite of a whole input reader pipeline
      • implemented BufferView wrapper class for all forms of binary data.
      • reimplemented chunked reader
    • 📜 major rewrite of a whole parser pipeline
      • broken the code into separate parser classes & files (TIFF, XMP, IPTC, ICC)
      • TIFF is no longer the main parser
      • All APP segments are now first searched in the file and then parsed
      • implemented base parser class than can be used to implement custom APP-segment parsers by user
      • exposed segment parsers
    • rewrote readme
  • v2.1.4 Changes

    November 10, 2019

    🔄 Changed

    • udpated dependencies
    • 👉 tweaked demo page
  • v2.1.3 Changes

    November 10, 2019

    ➕ Added

    • code coverage