Skip to content

Release version 3.0.0

Compare
Choose a tag to compare
@Caligatio Caligatio released this 09 Apr 11:44
· 81 commits to master since this release
1e71528

Changelog for this release:

  • Transitioned codebase to TypeScript while still maintaining v2 backwards compatible output files (thanks for the solid start oberondelafay!).
  • v2 backwards compatible files now use the Universal Module Definition (UMD) format which should support all well-known loaders.
  • Added a oft-requested ECMAScript 2015 (ES6) ECMAScript Module (ESM) version of the library (dist/sha.mjs).
  • Reworked package exports to allow Node.js and other tools to smartly choose between ES6 ESM module and ES3 UMD versions of the library.
  • TypeScript declarations are now included with the library for the default entry points (dist/sha.js and dist/sha.mjs).
  • Source maps are now included with the library for the default entry points.
  • Limited hash variant files (sha1.js, sha256.js, sha512.js, and sha3.js) are now accessed via exports rather than file path (e.g. using require("jssha/sha1") rather than the previous require("jssha/src/sha1.js").
  • Changed build system from Google Closure Compiler to Rollup with terser as the minifier/uglifer (thanks blikblum!). This resulted in slightly larger output files but infinitely better maintainability.
  • Optimized 64-bit functions by removing unneeded logical/arithmetic/bit operations.
  • Completely overhauled testing due to transition to TypeScript. This resulted in the ability to get true 100% unit test coverage and identification of a few lurking/obscure bugs (see v2.4.2 and v2.4.1).