mirror of
https://github.com/pezkuwichain/pezkuwi-wasm.git
synced 2026-04-21 23:48:00 +00:00
541 lines
14 KiB
Markdown
541 lines
14 KiB
Markdown
# CHANGELOG
|
|
|
|
## 7.5.4 Dec 9, 2025
|
|
|
|
Changes:
|
|
|
|
- Bump pezkuwi dependencies ([#605](https://github.com/pezkuwichain/pezkuwi-wasm/pull/605))
|
|
|
|
|
|
## 7.5.3 Nov 24, 2025
|
|
|
|
Changes:
|
|
|
|
- Bump @pezkuwi dependencies ([#603](https://github.com/pezkuwichain/pezkuwi-wasm/pull/603))
|
|
|
|
|
|
## 7.5.2 Nov 10, 2025
|
|
|
|
Changes:
|
|
|
|
- Fix/Revert asm build ([#599](https://github.com/pezkuwichain/pezkuwi-wasm/pull/599))
|
|
- Bump @pezkuwi dependencies ([#601](https://github.com/pezkuwichain/pezkuwi-wasm/pull/601))
|
|
|
|
|
|
## 7.5.1 aug 25, 2025
|
|
|
|
Changes:
|
|
|
|
- Bump yarn to 4.5.1 ([#573](https://github.com/pezkuwichain/pezkuwi-wasm/pull/573))
|
|
- Update comments and labels from 2024 to 2025 ([#574](https://github.com/pezkuwichain/pezkuwi-wasm/pull/574))
|
|
- Bump yarn to 4.6.0 ([#575](https://github.com/pezkuwichain/pezkuwi-wasm/pull/575))
|
|
- Set execute for build script in CI ([#576](https://github.com/pezkuwichain/pezkuwi-wasm/pull/576))
|
|
- Set permissions on all scripts ([#577](https://github.com/pezkuwichain/pezkuwi-wasm/pull/577))
|
|
- Bump dev to 0.83.2 ([#578](https://github.com/pezkuwichain/pezkuwi-wasm/pull/578))
|
|
- chore: added check in ext_secp_recover for signature normalization ([#579](https://github.com/pezkuwichain/pezkuwi-wasm/pull/579))
|
|
- chore: Improve CI ([#580](https://github.com/pezkuwichain/pezkuwi-wasm/pull/580))
|
|
- Revert CI improvements and wasm-bindgen version ([#583](https://github.com/pezkuwichain/pezkuwi-wasm/pull/583))
|
|
- Added validation checks in PBKDF2 and Scrypt hashing functions ([#584](https://github.com/pezkuwichain/pezkuwi-wasm/pull/584))
|
|
- Rollback wasm-bindgen version change ([#586](https://github.com/pezkuwichain/pezkuwi-wasm/pull/586))
|
|
- Fix rust version to 1.84 ([#587](https://github.com/pezkuwichain/pezkuwi-wasm/pull/587))
|
|
- Default to installed rust version ([#588](https://github.com/pezkuwichain/pezkuwi-wasm/pull/588))
|
|
- Default to nightly rust version ([#589](https://github.com/pezkuwichain/pezkuwi-wasm/pull/589))
|
|
- Ci Fix ([#590](https://github.com/pezkuwichain/pezkuwi-wasm/pull/590))
|
|
- Read lock file ([#591](https://github.com/pezkuwichain/pezkuwi-wasm/pull/591))
|
|
- Setup nightly as default ([#592](https://github.com/pezkuwichain/pezkuwi-wasm/pull/592))
|
|
- Tweak install-build-deps.sh script ([#593](https://github.com/pezkuwichain/pezkuwi-wasm/pull/593))
|
|
- Remove ASM build ([#594](https://github.com/pezkuwichain/pezkuwi-wasm/pull/594))
|
|
- Bump @pezkuwi deps ([#595](https://github.com/pezkuwichain/pezkuwi-wasm/pull/595))
|
|
|
|
|
|
## 7.4.1 Oct 20, 2024
|
|
|
|
- Bump dev deps to 0.81.2
|
|
- Bump TS
|
|
- Ensure CJS is exported correctly
|
|
- Bump yarn
|
|
- Add missing sideEffect declarations
|
|
- Set Deno build in CI to 1.42.x
|
|
|
|
|
|
## 7.3.2 Dec 6, 2023
|
|
|
|
Changes:
|
|
|
|
- Apply fixes for OOB array access
|
|
|
|
|
|
## 7.3.1 Nov 17, 2023
|
|
|
|
Changes:
|
|
|
|
- Drop support for Node 16 (EOL 11 Sep 2023)
|
|
|
|
|
|
## 7.2.2 Aug 17, 2023
|
|
|
|
Changes:
|
|
|
|
- Adjust cjs exports for consistency
|
|
- Adjust usage of `?.` as per (latest) linting rules
|
|
|
|
|
|
## 7.2.1 May 13, 2023
|
|
|
|
Changes:
|
|
|
|
- Adjust `cjs/bytes.js` generation to follow `export.<var> = ...` form
|
|
- Add `module` to `package.json` export map (ESM-only)
|
|
|
|
|
|
## 7.1.2 Apr 28, 2023
|
|
|
|
Changes:
|
|
|
|
- Apply `readonly` specifiers to private class fields where applicable
|
|
- Adjust compilation output for `__internal__` class fields
|
|
|
|
|
|
## 7.1.1 Apr 22, 2023
|
|
|
|
Changes:
|
|
|
|
- Add `wasm-util` as dependency where `x-randomvalues` is a peer
|
|
- Drop support for Node 14 (EOL 30 Apr 2023)
|
|
|
|
|
|
## 7.0.3 Mar 11, 2023
|
|
|
|
Changes:
|
|
|
|
- Use consistent `.js` imports in source files (TS moduleResolution)
|
|
|
|
|
|
## 7.0.2 Mar 4, 2023
|
|
|
|
Changes:
|
|
|
|
- Update to latest `@pezkuwi/dev` (w/ tsc jsx detection output changes)
|
|
|
|
|
|
## 7.0.1 Mar 4, 2023
|
|
|
|
Changes:
|
|
|
|
- Swap TS -> JS compiler to use tsc (from babel)
|
|
- Adjust all tests to use `node:test` runner (ESM & CJS variants)
|
|
|
|
|
|
## 6.4.1 Dec 3, 2022
|
|
|
|
Changes:
|
|
|
|
- Add `/*#__PURE__*/` annotations for specific `export const something = someFunction(...)`
|
|
|
|
|
|
## 6.3.1 Jul 21, 2022
|
|
|
|
Changes:
|
|
|
|
- Optimize packed WASM base64 decoding loop
|
|
- Adjust test environment (no duplication)
|
|
- Adjust CI check steps, align with other org repos
|
|
- Remove unneeded `import_map.in.json` for Deno tests
|
|
|
|
|
|
## 6.2.3 Jul 7, 2022
|
|
|
|
Changes:
|
|
|
|
- Optimize WASM init with pre-allocated buffers
|
|
- Additional platform-specific tests
|
|
|
|
|
|
## 6.2.2 Jul 4, 2022
|
|
|
|
Changes:
|
|
|
|
- Protect against potential low-level double-sign leak in dalek-ed25519 (Don't use provided input pubKey, see https://github.com/MystenLabs/ed25519-unsafe-libs)
|
|
|
|
|
|
## 6.2.1 Jul 1, 2022
|
|
|
|
Changes:
|
|
|
|
- Add missing `peerDependencies` to `wasm-crypto` (`bridge` requirement)
|
|
- Adjust `WebAssembly.{Memory, ModuleImports}` usage to cater for non-dom TS
|
|
|
|
|
|
## 6.1.5 Jun 23, 2022
|
|
|
|
Changes:
|
|
|
|
- Adjust build outputs for Deno targets
|
|
|
|
|
|
## 6.1.4 Jun 22, 2022
|
|
|
|
Changes:
|
|
|
|
- Adjust build outputs for Deno targets
|
|
|
|
|
|
## 6.1.3 Jun 21, 2022
|
|
|
|
Changes:
|
|
|
|
- Fix bundle publish (from dev bump)
|
|
|
|
|
|
## 6.1.2 Jun 21, 2022
|
|
|
|
Changes:
|
|
|
|
- Adjust assert usage in all internal non-test code
|
|
- Additional comments where missing
|
|
|
|
|
|
## 6.1.1 May 13, 2022
|
|
|
|
Changes:
|
|
|
|
- Adjust init, allow RN with default ASM.js-only fallback
|
|
- Split `wasm-{bridge, util}` packages for internal re-use
|
|
|
|
|
|
## 6.0.1 Apr 9, 2022
|
|
|
|
- **Breaking change** In this major version the commonjs outputs are moved to a sub-folder. Since the `export` map and `main` field in `package.json` does reflect this change, there should be no usage changes. However the packages here will all need to be on the same version for internal linkage.
|
|
|
|
Changes:
|
|
|
|
- Update ed25519 secret key format return description
|
|
- Output commonjs files under the `cjs/**` root
|
|
|
|
|
|
## 5.1.1 Mar 27, 2022
|
|
|
|
Changes:
|
|
|
|
- Swap from `libsecp256k1` to `secp256k1` (this aligns with the Bizinikiwi use)
|
|
- Adjust `wasm-crypto/init*` to also export `initWasm(): Promise<void>` (optional manual init)
|
|
- Allow for `wasm-crypto/initNone` with no defined Wasm or Asm interfaces
|
|
- Fix initialization on React Native with only ASM
|
|
|
|
|
|
## 5.0.1 Mar 19, 2022
|
|
|
|
- **Breaking change** For users of React Native, you are now required to add `import '@pezkuwi/wasm-crypto/initOnlyAsm'` at your project top-level to ensure that asm.js is initialized. (Or alternatively `import '@pezkuwi/wasm-crypto/initWasmAsm'` to future-proof when WASM does become available)
|
|
- **Breaking change** For users who used to map the `data` and `empty` of the internal `wasm-crypto-{wasm, asmjs}` packages in their bundlers, swap to one of the `@pezkuwi/wasm-crypto/init*` top-level imports to set the type of interfaces you would prefer. A full writeup of the rationale and other options can be found [in the FAQ](https://js.pezkuwichain.io/docs/util-crypto/FAQ#i-dont-have-wasm-available-in-my-environment)
|
|
|
|
Changes:
|
|
|
|
- Add (optional) `@pezkuwi/wasm-crypto/init{OnlyAsm, OnlyWasm, WasmAsm}` to allow specific interface types
|
|
- Add work-around for lazy secp256k1 init in asm.js environments
|
|
- Optimize asm.js output size
|
|
- Use latest `wasm-bindgen`, `binaryen` & `wabt` packages in build
|
|
- Additional workaround for Vite bundling
|
|
|
|
|
|
## 4.6.1 Mar 12, 2022
|
|
|
|
Changes:
|
|
|
|
- Adjust ed25519 internals, consistency in code
|
|
- Ensure package path is available under ESM & CJS
|
|
- JS wrapped bytes interoperability test
|
|
- Adjust for bundlers where `import.meta.url` is undefined
|
|
|
|
|
|
## 4.5.1 Dec 3, 2021
|
|
|
|
Changes:
|
|
|
|
- Add `secp256k1{Compress, Expand, Recover, Sign}` functions
|
|
- Remove all occurences of `.unwrap()` (match everywhere)
|
|
- Adjust and optimize WASM function JS interface construction
|
|
- Simplify base64 bytes decoding on construction
|
|
|
|
|
|
## 4.4.1 Nov 22, 2021
|
|
|
|
Changes:
|
|
|
|
- Add `hmacSha256` & `hmacSha512` functions
|
|
|
|
|
|
## 4.3.1 Nov 19, 2021
|
|
|
|
Contributed:
|
|
|
|
- Updated package.json to include repo (Thanks to https://github.com/v-zhzhou)
|
|
|
|
Changes:
|
|
|
|
- Add `keccak512` function
|
|
- Add `sha256` function
|
|
|
|
|
|
## 4.2.1 Aug 28, 2021
|
|
|
|
Contributed:
|
|
|
|
- Add sr25519 agreement external (Thanks to https://github.com/shelvenzhou)
|
|
|
|
Changes:
|
|
|
|
- Adjust tests to align with JS coding standards
|
|
- Allow for optional build with Rust stable bootstrap
|
|
|
|
|
|
## 4.1.2 Jul 9, 2021
|
|
|
|
Changes:
|
|
|
|
- Bump `@pezkuwi/dev` to allow for bundles with new-format
|
|
|
|
|
|
## 4.1.1 Jul 7, 2021
|
|
|
|
Changes:
|
|
|
|
- Add an explicit `engines` field to `package.json`
|
|
- Allow building as a completely stand-alone browser bundle (experimental)
|
|
|
|
|
|
## 4.0.2 Mar 5, 2021
|
|
|
|
Changes:
|
|
|
|
- Add import indirection for both CJS & ESM (where generated source file is commonjs)
|
|
|
|
|
|
## 4.0.1 Mar 4, 2021
|
|
|
|
**Important** In the 4.0 version the default package type has been changed to ESM modules by default. This should not affect usage, however since the output formats changed, a new major version is required.
|
|
|
|
Changes:
|
|
|
|
- Build to ESM by default (with cjs versions via export map)
|
|
|
|
|
|
## 3.2.4 Feb 24, 2021
|
|
|
|
Changes:
|
|
|
|
- Cleanup implicit dependencies, perform base64 decoding using base64-js
|
|
|
|
|
|
## 3.2.3 Feb 16, 2021
|
|
|
|
Changes:
|
|
|
|
- Change package detect import to use `.js` source, not `.json`
|
|
|
|
|
|
## 3.2.2 Jan 24, 2021
|
|
|
|
Changes:
|
|
|
|
- Remove `module` field in `package.json`
|
|
|
|
|
|
## 3.2.1 Jan 22, 2021
|
|
|
|
Contributed:
|
|
|
|
- Expose sr25519 `ext_vrf_{sign, verify}` methods (Thanks to https://github.com/stiiifff)
|
|
|
|
Changes:
|
|
|
|
- Add explicit `.editorconfig` for Rust sources
|
|
- Remove unused code bundles (`vrf_{sign,verify}_extra`, `secp256k1` with tests)
|
|
- Test run wrapper cleanups
|
|
|
|
|
|
## 3.1.1 Dec 19, 2020
|
|
|
|
Changes:
|
|
|
|
- Single-instance package detection
|
|
- Adjust WASM inflate with localized methods
|
|
|
|
|
|
## 3.0.1 Dec 13, 2020
|
|
|
|
**Important** This assumes `@pezkuwi/util` 5+ peerDependencies
|
|
**Important** While this package contains no external interface changes, it doe now compile and ship both cjs and esm modules. This means that modern bundlers will have more information for tree-shaking available. Additionally when using Node with `.mjs` extensions, the esm version imports will be used on recent Node versions. Adding an export map, as here, may have some impacts so a major semver bump is advised. There may be (small) dragons hiding in the dark corners...
|
|
|
|
Changes:
|
|
|
|
- Build and expose both cjs and esm via exports map
|
|
- Split wasm and asmjs files into the `@pezkuwi/wasm-crypto-{wasm,asmjs}` packages
|
|
- Add fflate WASM compression, with 180K raw savings (37K over-the-wire)
|
|
- Convert the package to full TypeScript sources
|
|
|
|
|
|
## 2.0.1 Nov 8, 2020
|
|
|
|
Changes:
|
|
|
|
- Rework generation of WASM interfaces (proper cross-platform JS support)
|
|
- Remove explicit `crypto` dependency, this is now applied by `@pezkuwi/x-randomvalues`
|
|
- Build via xargo for panic abort, an overall small sizes without stack (Pinned nightly)
|
|
- Move Rust library sources in to `rs/` subfolder
|
|
|
|
|
|
## 1.4.1 Aug 27, 2020
|
|
|
|
Changes:
|
|
|
|
- Re-add the BTC/ETH compatible `bip39ToSeed` dropped in the previous version (ETH-compatible pairs)
|
|
|
|
|
|
## 1.3.1 Aug 9, 2020
|
|
|
|
Changes:
|
|
|
|
- Add `scrypt` function for KDF generation
|
|
- Remove `bip39ToSeed`, we only use the `bip39ToMiniSecret` variant in Bizinikiwi
|
|
- Update ed25519-dalek to 1.0.0-pre.4
|
|
- Rework generation based on latest wasm-pack generator
|
|
|
|
|
|
## 1.2.1 Feb 29, 2020
|
|
|
|
Changes:
|
|
|
|
- Adjust build process for smaller wasm bundle outputs (~50K dropped from base bundle)
|
|
- Unpin nightly from nightly-2020-02-17 version
|
|
- Swap to yarn 2 and add support for use by yarn 2 projects
|
|
|
|
|
|
## 1.1.1 Feb 24, 2020
|
|
|
|
- **Important** The sr25519 interface dropped the use of `verify_simple_preaudit_deprecated` for signature verification, instead it now uses `verify_simple`. Only schnorrkel 0.8+ signatures will now pass verification. This is a follow-up of the 0.1 signing support that was dropped in a previous version.
|
|
|
|
Changes:
|
|
|
|
- Rework schnorrkel signatures test vectors based on the above change (Rust, WASM and ASM.js tests)
|
|
- Rust nightly pinned to last-known-working 2020-02-17 on CI (compiler issues, should to be reverted in a future release)
|
|
|
|
|
|
## 1.0.1 Feb 15, 2020
|
|
|
|
Changes:
|
|
|
|
- No functionality changes from 0.20.1. The interfaces here are stable in the current iteration.
|
|
|
|
|
|
## 0.20.1 Jan 30, 2020
|
|
|
|
Changes:
|
|
|
|
- Pull in schnorrkel 0.8.5 for full Bizinikiwi 2.x compatibility
|
|
|
|
|
|
## 0.14.1 Sep 09, 2019
|
|
|
|
Changes:
|
|
|
|
- No functionality changes at all, everything done is "under the hood" to give the codebase better maintainability
|
|
|
|
|
|
## 0.13.1 Jul 20, 2019
|
|
|
|
Changes:
|
|
|
|
- Added an asm.js fallback which is active for React Native via the `"react-native"` entry in `package.json`. Ensure that you run the build step with the `NODE_OPTIONS=--max_old_space_size=8192` flags, since the asm.js bundle is large. (For RN the full command would therefore be `NODE_OPTIONS=--max_old_space_size=8192 npm start`)
|
|
|
|
|
|
## 0.12.1 Jul 17, 2019
|
|
|
|
Changes:
|
|
|
|
- Remove deprecated `@pezkuwi/wasm-schnorrkel` & `@pezkuwi/wasm-dalek-ed25519` source (all combined in `@pezkuwi/wasm-crypto`, was kept for historical purposes)
|
|
- Security dependency bumps
|
|
- Updated Rust `hex-literal` for recent versions of the compiler (used in tests only)
|
|
|
|
|
|
## 0.11.1 May 31, 2019
|
|
|
|
Changes:
|
|
|
|
- Security dependency bumps
|
|
|
|
|
|
## 0.10.1 May 09, 2019
|
|
|
|
Changes:
|
|
|
|
- w3f/schnorrkel updated to 0.1.1 as per bizinikiwi
|
|
- Added known subkey signature test (Rust & JS)
|
|
|
|
|
|
## 0.9.1 Apr 29, 2019
|
|
|
|
Changes:
|
|
|
|
- Dependency bumps
|
|
|
|
|
|
## 0.8.1 Mar 31, 2019
|
|
|
|
Changes:
|
|
|
|
- Pull ed25519 & sr25519 into `@pezkuwi/wasm-crypto` as well (smaller final size)
|
|
- Disable build/publish of `wasm-dalek-ed25519` & `wasm-schnorrkel`
|
|
- Improve error messaging, instead of `__wasm_malloc of null`
|
|
|
|
|
|
## 0.7.1 Mar 30, 2019
|
|
|
|
Changes:
|
|
|
|
- Fix build scripts to properly attach errors in the log (dropped in 0.6.1)
|
|
|
|
|
|
## 0.6.1 Mar 27, 2019
|
|
|
|
Changes:
|
|
|
|
- Log init errors for both non-WebAssembly usage as well as WebAssembly errors
|
|
|
|
|
|
## 0.5.1 Mar 23, 2019
|
|
|
|
Changes:
|
|
|
|
- Add password argument to bip39ToSeed
|
|
|
|
|
|
## 0.4.1 Mar 23, 2019
|
|
|
|
Changes:
|
|
|
|
- Add bip39ToSeed
|
|
|
|
|
|
## 0.3.1 Mar 23, 2019
|
|
|
|
Changes:
|
|
|
|
- Add wasm-dalek-ed25519 for all used crypto there
|
|
- Add keccak256
|
|
- Try secp256k1 (bloating code, not used atm)
|
|
|
|
|
|
## 0.2.1 Mar 20, 2019
|
|
|
|
Changes:
|
|
|
|
- Add basic crypto functions, creation of wasm-crypto package
|
|
- blake2, bip39, sha2, xxhash
|
|
|
|
|
|
## 0.1.1 Mar 18, 2019
|
|
|
|
Changes:
|
|
|
|
- Initial release
|