Releases: dfinity/agent-js
v0.20.0
Significant new features in this release!
Most notably, @dfinity/agent version 0.20.0 now handles query signature verification. All queries will automatically check for signatures in the state tree signed by the node that replies. This enables the client to verify that there have been no man-in-the-middle attacks without a developer needing to implement certified variables or use update calls.
note: if you are using a lower version of dfx than 0.15.2, you will need to set
{verifyQuerySignatures: false}
in yourHttpAgent
options, as the signatures were not present in earlier replica versions.
Additionally, this change replaces the package tweetnacl
with @noble/curves
for Ed25519 curve signatures and validation.
What's Changed
- feat: fetch node keys from subnet certificate by @krpeacock in #776
- feat: retry logic catches thrown errors by @krpeacock in #774
- chore: replaces use of localhost with 127.0.0.1 for better node 18 support by @krpeacock in #787
- feat: subnet metrics for canisterStatus by @krpeacock in #790
- ci: use
dfinity/setup-dfx
to installdfx
by @smallstepman in #791 - style: remove deprecated packages by @smallstepman in #785
- fix: bigint toJson trailing space by @dgdg-app in #764
- fix: correct spelling mistake by @jennifertrin in #778
- feat: round ingress expiry by @krpeacock in #788
- fix: service ordering must be alphabetical by @lastmjs in #781
- ci: release and publishing automation by @smallstepman in #786
- feat: refactor to remove nonce from queries by @krpeacock in #792
- chore: increases size limit for agent-js by @krpeacock in #793
- feat: node signature verification for queries by @krpeacock in #784
- feat: introduces ExpirableMap by @krpeacock in #794
- fix: canisterStatus returns full list of controllers by @krpeacock in #799
- chore: updating tests for node 20 compatibility by @krpeacock in #782
- feat: uses expirable map for subnet keys by @krpeacock in #796
- chore: release v0.20.0 by @krpeacock in #800
New Contributors
- @smallstepman made their first contribution in #791
- @dgdg-app made their first contribution in #764
- @jennifertrin made their first contribution in #778
- @lastmjs made their first contribution in #781
Full Changelog: v0.19.3...v0.20.0
v0.20.0-beta.0
What's Changed
- feat: fetch node keys from subnet certificate by @krpeacock in #776
- feat: retry logic catches thrown errors by @krpeacock in #774
- chore: replaces use of localhost with 127.0.0.1 for better node 18 support by @krpeacock in #787
- feat: subnet metrics for canisterStatus by @krpeacock in #790
- ci: use
dfinity/setup-dfx
to installdfx
by @smallstepman in #791 - style: remove deprecated packages by @smallstepman in #785
- fix: bigint toJson trailing space by @dgdg-app in #764
- fix: correct spelling mistake by @jennifertrin in #778
- feat: round ingress expiry by @krpeacock in #788
- fix: service ordering must be alphabetical by @lastmjs in #781
- ci: release and publishing automation by @smallstepman in #786
- feat: refactor to remove nonce from queries by @krpeacock in #792
- chore: increases size limit for agent-js by @krpeacock in #793
- feat: node signature verification for queries by @krpeacock in #784
- feat: introduces ExpirableMap by @krpeacock in #794
New Contributors
- @smallstepman made their first contribution in #791
- @dgdg-app made their first contribution in #764
- @jennifertrin made their first contribution in #778
- @lastmjs made their first contribution in #781
Full Changelog: v0.19.3...v0.20.0-beta.0
v0.19.3
What's Changed
Noteworthy change: Principal now contains a toJSON
method, returning an object with {"__principal__": <principal-string>}
. This is compatible with the JSON reviver that is provided in @dfinity/utils
, allowing you to easily serialize and deserialize structures containing Principals into and out of JSON
- feat: enhanced error message for missing canister id by @krpeacock in #759
- chore: lock npm version for CI by @krpeacock in #762
- feat: certificate time checks by @krpeacock in #763
- feat: Principal class serializes to JSON by @krpeacock in #766
- chore: npm audit by @krpeacock in #771
- fix: Principal JSON is compatible with @dfinity/utils jsonReviver helper by @krpeacock in #770
- chore: release v0.19.3 by @krpeacock in #772
Full Changelog: v0.19.2...v0.19.3
v0.19.2
What's Changed
- fix: evaluates subdomains correctly when determining known hosts by @krpeacock in #757
- chore: release v0.19.2 by @krpeacock in #758
Full Changelog: v0.19.1...v0.19.2
v0.19.1
What's Changed
- fix: default host logic fixed and tests added by @krpeacock in #755
- chore: release v0.19.1 by @krpeacock in #756
Full Changelog: v0.19.0...v0.19.1
v0.19.0
Notable Changes
Now sets a default host of https://icp-api.io
for HttpAgent
Replaces js-sha256
with @noble/hash
Package sizes are reduced as a result of that dependency change!
What's Changed
- chore: bumping deps from npm audit by @krpeacock in #746
- feat: crypto nonce randomness by @krpeacock in #747
- feat: removes use of date in nonce generation by @krpeacock in #748
- chore: update dependencies by @krpeacock in #749
- feat: HttpAgent now uses a default address by @krpeacock in #751
- fix: add
@dfinity/principal
as a peerDependency where needed by @hpeebles in #752 - feat: replaces the
js-sha256
library with@noble/hashes
by @krpeacock in #753 - chore: release v0.19.0 by @krpeacock in #754
Full Changelog: v0.18.1...v0.19.0
v0.18.1
What's Changed
- fix: fix composite query support in actor.ts by @chenyan-dfinity in #739
Full Changelog: v0.18.0...v0.18.1
v0.18.0
What's Changed
- feat: expose boundary node http headers to calls by @keplervital in #736
- chore: release v0.18.0 by @dfx-json in #738
New Contributors
- @keplervital made their first contribution in #736
Full Changelog: v0.17.0...v0.18.0
v0.17.0
chore: release v0.17.0 (#735) * chore: release v0.17.0 * update package-lock.json
v0.16.0
Small breaking change - typo in JsonnableWebAuthnIdentity type
Reverts use of Headers
struct in HttpAgent for better node.js fetch library compatibility
What's Changed
- chore: small copy update for release process by @krpeacock in #727
- fix: reverts use of Headers for improved node compatibility by @krpeacock in #694
- chore: updating repo engines and nvmrc by @krpeacock in #728
- chore: correctly re-labeling dev dependencies by @krpeacock in #729
- chore(deps): bump vm2 from 3.9.13 to 3.9.19 in /e2e/browser by @dependabot in #720
- fix: Typo in JsonnableWebAuthnIdentitiy by @sea-snake in #725
- fix: fix error on decoding service type by @chenyan-dfinity in #731
- chore: release v0.16.0 by @krpeacock in #733
Full Changelog: v0.15.7...v0.16.0