- Revert switch to enable fast "sinks" on Wasm because it breaks
dart2js
with server mode.
- Fix WebAssembly support.
- Require Dart 3.4
- Require Dart 2.19.0.
- Add topics to
pubspec.yaml
.
- Require Dart 2.14.0.
- Fix bug calculating hashes for content larger than 512MB when compiled to JS.
- Fix doc links in README.
- Stable release for null safety.
- Adds SHA-2 512/224 and SHA-2 512/256 from FIPS 180-4
- Removes
newInstance
instance members on some classes and updates documentation.
- Improve example and package description to address package site maintenance suggestions.
- BugFix: padding was incorrect for some SHA-512/328.
- Security vulnerability: Fixed constant-time comparison in
Digest
.
- Fix bug in SHA-2 384/512 blocksize.
- Added HMAC-SHA-2 test vectors
- Bump version number for publish mishap (spare file uploaded with
pub publish
).
- Added a workaround for a bug in DDC (used in build_web_compilers 1.x). This bug is not present in DDK (used in build_web_compilers 2.x).
- Added SHA384, and SHA512
- Add Sha224 + Refactor
- Support 32bit and 64bit operations for SHA384/51
- Add conditional imports
- De-listify 32bit allocations
- Add sha monte tests for 224,256,384, and 512
- Changed the max message size instead to 0x3ffffffffffff, which is the largest portable value for both JS and the Dart VM.
- Made max message size a BigNum instead of an int so that dart2js can compile with crypto.
- Updated SDK version to 2.0.0-dev.17.0
- Fix SDK constraint.
- Prepare
HashSink
implementation for limiting integers to 64 bits in Dart language.
- Support
convert
2.0.0.
Note: There are no APIs in 2.0.0 that weren't also in 0.9.2. Packages that
would use 2.0.0 as a lower bound should use 0.9.2 instead—for example, crypto: ">=0.9.2 <3.0.0"
.
Hash
andHmac
no longer extendChunkedConverter
.
- Properly close sinks passed to
Hash.startChunkedConversion()
whenByteConversionSink.close()
is called.
-
Hmac
andHash
now extend the newChunkedConverter
class fromdart:convert
. -
Fix all strong mode warnings.
- All APIs that were deprecated in 0.9.2 have been removed. No new APIs have
been added. Packages that would use 1.0.0 as a lower bound should use 0.9.2
instead—for example,
crypto: ">=0.9.2 <2.0.0"
.
- Avoid core library methods that don't work on dart2js.
-
Hash
,MD5
,SHA1
, andSHA256
now implementConverter
. They convert betweenList<int>
s and the newDigest
class, which represents a hash digest. TheConverter
APIs—Hash.convert()
andHash.startChunkedConversion
—should be used in preference to the old APIs, which are now deprecated. -
SHA1
,SHA256
, andHMAC
have been renamed toSha1
,Sha256
, andHmac
, respectively. The old names still work, but are deprecated. -
Top-level
sha1
,sha256
, andmd5
fields have been added to make it easier to use those hash algorithms without having to instantiate new instances. -
Hashing now works correctly for input sizes up to 2^64 bytes.
-
Hash.add
,Hash.close
, andHash.newInstance
are deprecated.Hash.convert
should be used for hashing single values, andHash.startChunkedConversion
should be used for hashing streamed values. -
SHA1
andSHA256
are deprecated. Use the top-levelsha1
andsha256
fields instead. -
While the
MD5
class is not deprecated, thenew MD5()
constructor is. Use the top-levelmd5
field instead. -
HMAC
is deprecated. UseHmac
instead. -
Base64Codec
,Base64Encoder
,Base64Decoder
,Base64EncoderSink
,Base64DecoderSink
, andBASE64
are deprecated. Use the Base64 APIs indart:convert
instead. -
CryptoUtils
is deprecated. Use the Base64 APIs indart:convert
and the hex APIs in theconvert
package instead.
- Base64 convert returns an Uint8List
- Base64 codec and encoder can now take an encodePaddingCharacter
- Implement a Base64 codec similar to codecs in 'dart:convert'
- ChangeLog starts here.