2.2.0 (2026-03-30)
- example-hoodi: upgrade to SDK 2.2.0-alpha.4 + registry + ERC-7984 flows (#179) (6819c13)
- example-react-wagmi: upgrade to wagmi v3 with full ERC-7984 flows (SDK-37) (#160) (a6386f8)
- react-ethers: upgrade to SDK 2.1.0-alpha.2 + Sepolia + delegation flows (SDK-35) (#148) (44ce6ee)
- react-sdk: improve query wrappers types (#168) (db616c7)
- react-viem: upgrade to SDK 2.1.0-alpha.2 + Sepolia + delegation flows (SDK-36) (#150) (fe7dfc0), closes #1 #4 #6 #7 #9 #10
- sdk,react-sdk: add WrappersRegistry class and on-chain registry hooks (#116) (06bc94b), closes #registryTTL #registryInstance #registry #enrichPair #pairWithMetadata
- rename useAllowTokens/useRevokeTokens back to useAllow/useRevoke (#167) (f9d6b1a)
- sdk: add DelegationNotPropagatedError for gateway sync delay (#177) (f451fa2)
2.2.0-alpha.10 (2026-03-30)
2.2.0-alpha.9 (2026-03-30)
2.2.0-alpha.8 (2026-03-30)
2.2.0-alpha.7 (2026-03-30)
2.2.0-alpha.6 (2026-03-27)
2.2.0-alpha.5 (2026-03-27)
2.2.0-alpha.4 (2026-03-27)
- react-viem: upgrade to SDK 2.1.0-alpha.2 + Sepolia + delegation flows (SDK-36) (#150) (fe7dfc0), closes #1 #4 #6 #7 #9 #10
2.2.0-alpha.3 (2026-03-27)
2.2.0-alpha.2 (2026-03-26)
- wrapper-discovery:
coordinatorAddresshas been renamed toerc20AddressinwrapperDiscoveryQueryOptions,UseWrapperDiscoveryConfig, andUseWrapperDiscoverySuspenseConfig. Update call sites accordingly. - wrapper-discovery:
tokenAddressinUseWrapperDiscoveryConfigis now required (Address, notAddress | undefined). To disable the query conditionally, passerc20Address: undefinedinstead. - readonly-token:
ReadonlyToken.discoverWrapper()has been removed. Usesdk.registry.getConfidentialToken(erc20Address)orsdk.registry.getUnderlyingToken(confidentialTokenAddress)instead.
- sdk,react-sdk: add WrappersRegistry class and on-chain registry hooks (#116) (06bc94b), closes #registryTTL #registryInstance #registry #enrichPair #pairWithMetadata
2.2.0-alpha.1 (2026-03-25)
2.1.1-alpha.2 (2026-03-25)
2.1.1-alpha.1 (2026-03-25)
2.1.0 (2026-03-24)
- exclude logger from web worker init payload (#146) (1b8d50f), closes #145
- gate queries on undefined tokenAddress (#163) (5803e78)
- sdk: colocate node worker with node entrypoint (#138) (294d76e)
2.1.0-alpha.5 (2026-03-24)
2.1.0-alpha.4 (2026-03-24)
2.1.0-alpha.3 (2026-03-24)
2.1.0-alpha.2 (2026-03-20)
2.1.0-alpha.1 (2026-03-20)
2.0.1-alpha.1 (2026-03-20)
2.0.0 (2026-03-20)
- useUserDecryptFlow removed, useUserDecrypt now has the flow hook's signature. Old low-level useUserDecrypt accepting UserDecryptParams is removed.
Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com
- docs(react-sdk): fix stale JSDoc example in useEncrypt
Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com
- refactor(sdk,react-sdk): extract userDecryptMutationOptions and remove decryptionKeys wrapper
Move the user-decrypt orchestration logic (credential resolution, handle
grouping, relayer calls) into userDecryptMutationOptions in the SDK query
module so it can be shared. The react-sdk useUserDecrypt hook now delegates
to these options instead of reimplementing the logic inline.
Also remove the decryptionKeys indirection — all code now uses
zamaQueryKeys.decryption.handle() directly from @zama-fhe/sdk/query.
Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com
- refactor(sdk,react-sdk): extract all relayer mutation options into SDK query module
Move all remaining inline relayer mutation logic from react-sdk hooks into
shared mutation option factories in @zama-fhe/sdk/query. Hooks now delegate
to these options instead of calling sdk.relayer.* directly.
New SDK mutation options:
- generateKeypairMutationOptions
- createEIP712MutationOptions
- createDelegatedUserDecryptEIP712MutationOptions
- delegatedUserDecryptMutationOptions
- publicDecryptMutationOptions
- requestZKProofVerificationMutationOptions
Also adds onSuccess to MutationFactoryOptions using TanStack Query v5's
MutationFunctionContext — decrypt mutations now populate the query cache via
context.client.setQueryData() directly in the options, removing the need for
hooks to manage cache population.
Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com
- chore: regenerate API reports after mutation options refactor
Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com
- add delegated decryption support [SDK-12] (#72) (7bcaeb6), closes #batchDelegationOp #storage #batchDecryptCore
- examples: add example-hoodi — ERC-7984 demo on Hoodi testnet (#111) (438f90a)
- sdk: persist FHE public key and params with artifact-level revalidation (#110) (e2dd6ae)
- remove ABI re-exports from react-sdk that are no longer in sdk public API (ad24185)
- sdk: auto-detect browser extensions and fall back to file-based worker URL (292bd3b)
- sdk: detect session expiry with 30s staleTime on isAllowed query (#124) (532fb92)
- sdk: fix extension runtime fallback and revoke blob URL after worker creation (e7c6d07)
- sdk: inline worker code via blob URL to eliminate Vite optimizeDeps workaround (60f09b1)
- sdk: make worker blob URL creation lazy to avoid SSR crashes (9a9311a)
- sdk: support browser extensions and lazy worker creation (c0fcd44)
- sdk: use proper TypeScript assertion type narrowing in utility guards (632bb80)
- test: use forks pool for react-sdk in CI instead of default (4eca9aa)
- reduce bundle size by inlining slim ABI fragments (613321c)
- test: use vmForks locally, vmThreads in CI for both test projects (d6f9de9)
2.0.0-alpha.4 (2026-03-19)
2.0.0-alpha.3 (2026-03-19)
2.0.0-alpha.2 (2026-03-18)
2.0.0-alpha.1 (2026-03-18)
- useUserDecryptFlow removed, useUserDecrypt now has the flow hook's signature. Old low-level useUserDecrypt accepting UserDecryptParams is removed.
Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com
- docs(react-sdk): fix stale JSDoc example in useEncrypt
Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com
- refactor(sdk,react-sdk): extract userDecryptMutationOptions and remove decryptionKeys wrapper
Move the user-decrypt orchestration logic (credential resolution, handle
grouping, relayer calls) into userDecryptMutationOptions in the SDK query
module so it can be shared. The react-sdk useUserDecrypt hook now delegates
to these options instead of reimplementing the logic inline.
Also remove the decryptionKeys indirection — all code now uses
zamaQueryKeys.decryption.handle() directly from @zama-fhe/sdk/query.
Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com
- refactor(sdk,react-sdk): extract all relayer mutation options into SDK query module
Move all remaining inline relayer mutation logic from react-sdk hooks into
shared mutation option factories in @zama-fhe/sdk/query. Hooks now delegate
to these options instead of calling sdk.relayer.* directly.
New SDK mutation options:
- generateKeypairMutationOptions
- createEIP712MutationOptions
- createDelegatedUserDecryptEIP712MutationOptions
- delegatedUserDecryptMutationOptions
- publicDecryptMutationOptions
- requestZKProofVerificationMutationOptions
Also adds onSuccess to MutationFactoryOptions using TanStack Query v5's
MutationFunctionContext — decrypt mutations now populate the query cache via
context.client.setQueryData() directly in the options, removing the need for
hooks to manage cache population.
Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com
- chore: regenerate API reports after mutation options refactor
Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com
1.2.0-alpha.5 (2026-03-18)
1.2.0-alpha.4 (2026-03-18)
1.2.0-alpha.3 (2026-03-17)
- sdk: auto-detect browser extensions and fall back to file-based worker URL (292bd3b)
- sdk: fix extension runtime fallback and revoke blob URL after worker creation (e7c6d07)
- sdk: inline worker code via blob URL to eliminate Vite optimizeDeps workaround (60f09b1)
- sdk: make worker blob URL creation lazy to avoid SSR crashes (9a9311a)
- sdk: support browser extensions and lazy worker creation (c0fcd44)
- sdk: use proper TypeScript assertion type narrowing in utility guards (632bb80)
- test: use forks pool for react-sdk in CI instead of default (4eca9aa)
- test: use vmForks locally, vmThreads in CI for both test projects (d6f9de9)
1.2.0-alpha.2 (2026-03-16)
- remove ABI re-exports from react-sdk that are no longer in sdk public API (ad24185)
- reduce bundle size by inlining slim ABI fragments (613321c)
1.2.0-alpha.1 (2026-03-16)
- add delegated decryption support [SDK-12] (#72) (7bcaeb6), closes #batchDelegationOp #storage #batchDecryptCore
1.1.0 (2026-03-13)
- add activity feed, batch transfer, and resume unshield e2e tests (0b05774)
- add cleartext fhEVM feature (#51) (f951673)
- add wagmi v2 compatibility shim for useConnection/getConnection (0741649)
- cache decrypted balances in storage to eliminate spinner on reload (f90d649)
- expose WASM thread pool option for RelayerWeb [SDK-10] (#28) (11dae99)
- implement 10 SDK backlog items — types, hooks, callbacks, status tracking (Vibe Kanban) (#57) (b59e222), closes #ensureAllowance
- react-sdk: audit improvements — consistent imports, optimistic shieldETH, error docs, mergeEnabled (Vibe Kanban) (#100) (d6efb4f)
- read-only signer mode & gitbook import audit (#65) (03366c2)
- sdk: add configurable session TTL for wallet sessions [SDK-11] (#56) (f6655d0), closes #hasLegacySignature
- sdk: cleartext flat config refactor (#78) (b052bb9)
- session-scoped signatures & SDK API improvements [SDK-6] (#25) (116ae85), closes CredentialsManager#sessionSignatures #reSign #storeKey #onEvent #lastChainId #unsubscribeSigner
- test-components: add 11 shared form/panel components (28a29c2)
- test-components: add shared responsive sidebar nav (ded5823)
- test-components: add token-table with framework-agnostic LinkComponent prop (df48d0f)
- test-components: scaffold shared test components package (3ff61a9)
- test-vite: add React Router, Tailwind CSS, and extract pages (8c8c2fa)
- test-vite: migrate to rolldown-vite (7488eef)
- add
viemas dep of sdk, fix examples (#74) (3cf92cd) - address integrator friction — gas limits, worker IIFE, CDN localhost, StrictMode restart, Sepolia /v2 (a18079c)
- ci: add Vite build step before running e2e tests (66ee3d8)
- deps: pin minimatch to 10.2.4 to resolve ReDoS vulnerabilities (#69) (3861748)
- playwright: drain in-flight route handlers before reverting chain state (de35aab)
- playwright: use uniform 30s timeout for nextjs project (d65cd82)
- release: remove registry-url to fix npm trusted publishing (aa515ee)
- replace
< 2Mwith prose in JSDoc to silence tsdoc-malformed-html-name (2a777b4) - replace importScripts with fetch+eval in worker to fix MIME-type errors (54dbee8)
- sdk: add /v2 path to mainnet relayer URL (84978f1)
- security: resolve 3 high-severity Dependabot alerts (#41) (9c81b97), closes #3 #4 #2
- security: resolve CodeQL code scanning alerts (#42) (27d54b6)
- test-components: add non-null assertion for array index access (7e3efec)
- test-nextjs: correct theme.css import path in globals.css (2b52c60)
- test-nextjs: correct USDT contract address to match hardhat deployment (3e40812)
- test-nextjs: replace CONTRACTS.confidentialToken with CONTRACTS.cUSDT (8762b14)
- use real hardhat-deployed addresses, add missing transferBatcher approval (#50) (06c6428)
- remove premature localhost CDN validation & document balance cache (a17f191)
1.1.0-alpha.3 (2026-03-12)
- react-sdk: audit improvements — consistent imports, optimistic shieldETH, error docs, mergeEnabled (Vibe Kanban) (#100) (d6efb4f)
1.1.0-alpha.2 (2026-03-11)
1.1.0-alpha.1 (2026-03-10)
- add activity feed, batch transfer, and resume unshield e2e tests (0b05774)
- add cleartext fhEVM feature (#51) (f951673)
- add wagmi v2 compatibility shim for useConnection/getConnection (0741649)
- cache decrypted balances in storage to eliminate spinner on reload (f90d649)
- expose WASM thread pool option for RelayerWeb [SDK-10] (#28) (11dae99)
- implement 10 SDK backlog items — types, hooks, callbacks, status tracking (Vibe Kanban) (#57) (b59e222), closes #ensureAllowance
- read-only signer mode & gitbook import audit (#65) (03366c2)
- sdk: add configurable session TTL for wallet sessions [SDK-11] (#56) (f6655d0), closes #hasLegacySignature
- sdk: cleartext flat config refactor (#78) (b052bb9)
- session-scoped signatures & SDK API improvements [SDK-6] (#25) (116ae85), closes CredentialsManager#sessionSignatures #reSign #storeKey #onEvent #lastChainId #unsubscribeSigner
- test-components: add 11 shared form/panel components (28a29c2)
- test-components: add shared responsive sidebar nav (ded5823)
- test-components: add token-table with framework-agnostic LinkComponent prop (df48d0f)
- test-components: scaffold shared test components package (3ff61a9)
- test-vite: add React Router, Tailwind CSS, and extract pages (8c8c2fa)
- test-vite: migrate to rolldown-vite (7488eef)
- add
viemas dep of sdk, fix examples (#74) (3cf92cd) - address integrator friction — gas limits, worker IIFE, CDN localhost, StrictMode restart, Sepolia /v2 (a18079c)
- ci: add Vite build step before running e2e tests (66ee3d8)
- deps: pin minimatch to 10.2.4 to resolve ReDoS vulnerabilities (#69) (3861748)
- playwright: drain in-flight route handlers before reverting chain state (de35aab)
- playwright: use uniform 30s timeout for nextjs project (d65cd82)
- release: remove registry-url to fix npm trusted publishing (aa515ee)
- replace
< 2Mwith prose in JSDoc to silence tsdoc-malformed-html-name (2a777b4) - replace importScripts with fetch+eval in worker to fix MIME-type errors (54dbee8)
- sdk: add /v2 path to mainnet relayer URL (84978f1)
- security: resolve 3 high-severity Dependabot alerts (#41) (9c81b97), closes #3 #4 #2
- security: resolve CodeQL code scanning alerts (#42) (27d54b6)
- test-components: add non-null assertion for array index access (7e3efec)
- test-nextjs: correct theme.css import path in globals.css (2b52c60)
- test-nextjs: correct USDT contract address to match hardhat deployment (3e40812)
- test-nextjs: replace CONTRACTS.confidentialToken with CONTRACTS.cUSDT (8762b14)
- use real hardhat-deployed addresses, add missing transferBatcher approval (#50) (06c6428)
- remove premature localhost CDN validation & document balance cache (a17f191)
1.0.0-alpha.20 (2026-03-10)
1.0.0-alpha.19 (2026-03-10)
1.0.0-alpha.18 (2026-03-10)
1.0.0-alpha.17 (2026-03-09)
1.0.1 (2026-03-09)
- release: Trigger release (19d079a)
- add activity feed, batch transfer, and resume unshield e2e tests (c1d95b5)
- add API key auth and mainnet support to examples (189f6c1)
- add CDN URL validation and simplify worker global scope typing (b1f8362)
- add cleartext fhEVM feature (#51) (24e00bf)
- add CredentialsLocked/Unlocked events (dd14c06)
- add E2E test app with Playwright tests and CI pipeline (e0b316f)
- add E2E tests for approve, transfer-from, unshield-all, unwrap, FHE relayer, and wrapper discovery hooks (a242d7a)
- add example projects and make EthersSigner accept BrowserProvider (2690388)
- add GenericLogger for worker observability and improve hook docs (10ddc15)
- add Hex type, missing hooks, DX improvements, and bug fixes (9db28b1)
- add Hex type, wagmi suspense hooks, error tests, and community docs (3c68206)
- add lazy chain ID resolution and auto re-init on chain switch (0dca351)
- add lock/unlock/isUnlocked API for session signature management (bde2896)
- add maxConcurrency option to batch decrypt and event emission tests (c4cfc29)
- add NodeWorkerPool with least-connections scheduling (2e9ec8c)
- add PR coverage reporting and bump thresholds to 80% (fd8833b)
- add Suspense variants for token metadata, approval, allowance, and wrapper discovery hooks (a93b25c)
- add useBalanceOf hook, security config, and fix E2E integrity check (a072f17)
- add wagmi v2 compatibility shim for useConnection/getConnection (2cc9418)
- cache decrypted balances in storage to eliminate spinner on reload (3a9ca4e)
- expose WASM thread pool option for RelayerWeb [SDK-10] (#28) (5f1362b)
- implement 10 SDK backlog items — types, hooks, callbacks, status tracking (Vibe Kanban) (#57) (71d78f0), closes #ensureAllowance
- improve wallet compatibility, error handling, and SDK robustness (5dcbe4d)
- initialize token-sdk monorepo with source packages (d5e1180)
- react-sdk: add query/mutation options factory exports (f00e67e)
- read-only signer mode & gitbook import audit (#65) (d3ab112)
- SDK API improvements [SDK-4] (#19) (7b77999)
- sdk: add configurable session TTL for wallet sessions [SDK-11] (#56) (791806c), closes #hasLegacySignature
- session-scoped signatures & SDK API improvements [SDK-6] (#25) (70374b1), closes CredentialsManager#sessionSignatures #reSign #storeKey #onEvent #lastChainId #unsubscribeSigner
- session-scoped signatures with re-sign flow and legacy migration (9eeb55e)
- test-components: add 11 shared form/panel components (f3030b4)
- test-components: add shared responsive sidebar nav (64cefdf)
- test-components: add token-table with framework-agnostic LinkComponent prop (b0bb322)
- test-components: scaffold shared test components package (cef03bb)
- test-vite: add React Router, Tailwind CSS, and extract pages (ab749a8)
- test-vite: migrate to rolldown-vite (f2a451a)
- token-react-sdk: add tsup build config and npm exports (6658c7a)
- token-sdk: add tsup build config and npm exports (82e9311)
- address integrator friction — gas limits, worker IIFE, CDN localhost, StrictMode restart, Sepolia /v2 (38518a1)
- CI hardening, worker init dedup, mutation hooks, RelayerNode re-export (1cfd393)
- ci: add Vite build step before running e2e tests (bba344f)
- ci: disable submodule checkout for vitest workflow to fix Dependabot PRs (bb049b4)
- clear() also clears session signature, isExpired works without session (768bef7)
- correct balanceOf log from "Confidential" to "Decrypted" (c130a3b)
- correct README inaccuracies — error class names, peer deps, pnpm version (5fdebf6)
- deps: pin minimatch to 10.2.4 to resolve ReDoS vulnerabilities (#69) (9161806)
- e2e: increase Hardhat webServer timeout to prevent CI flake (4ecf80b)
- e2e: remove explicit webServer timeouts to use Playwright defaults (a93b1bd)
- ensure "use client" directive survives bundling with code splitting (159f0fa)
- move prepare build to root where tsup is available (5ca49ec)
- playwright: drain in-flight route handlers before reverting chain state (d7d1fee)
- playwright: use uniform 30s timeout for nextjs project (b864b5e)
- preserve address case to satisfy relayer SDK checksum validation (bb13aab)
- production hardening — strict types, security, retry logic, CI pinning (93f627d)
- production hardening — worker leaks, race conditions, error codes (7fdb749)
- production readiness — license, source maps, type safety, error handling (8381634)
- race conditions, worker crash recovery, and query key stability (5908e6e)
- race conditions, worker init safety, and defensive hardening (dc369de), closes #worker
- react-sdk: invalidate wagmi useBalance cache on unshield/finalize (7af63b2)
- react-sdk: replace unsafe casts, fix fee hooks signer access, add test coverage (6c0a13f)
- react-sdk: use broad balanceOf predicate instead of address-scoped (6488a7d)
- react-sdk: use predicate-based wagmi balanceOf cache invalidation (5a57077)
- relax wagmi peer dependency to >=2 for v2 compatibility (d89aef8)
- remove Node.js-only RelayerNode re-export from react-sdk (8fbe902)
- Remove remaining token-sdk references (46b40b8)
- replace
< 2Mwith prose in JSDoc to silence tsdoc-malformed-html-name (84a2344) - replace importScripts with fetch+eval in worker to fix MIME-type errors (3e05c86)
- sdk: add /v2 path to mainnet relayer URL (6d5f281)
- security: resolve 3 high-severity Dependabot alerts (#41) (8f824c2), closes #3 #4 #2
- security: resolve CodeQL code scanning alerts (#42) (46da756)
- strip EIP712Domain from signer types and re-key balance Map by original addresses (0d0b8e4)
- test-components: add non-null assertion for array index access (66d4187)
- test-nextjs: correct theme.css import path in globals.css (cbec13f)
- test-nextjs: correct USDT contract address to match hardhat deployment (48d596f)
- test-nextjs: replace CONTRACTS.confidentialToken with CONTRACTS.cUSDT (012ad6f)
- type safety, error handling, and query stability improvements (40cb140), closes NodeWorkerPool#dispatch
- unwrap error granularity, cache reuse, and defensive hardening (ba88c32), closes #ensureAllowance
- use blob URL for worker script loading with extension fallback (a5e3cc0)
- use real hardhat-deployed addresses, add missing transferBatcher approval (#50) (5881423)
- use SUBMODULE_TOKEN for private submodule checkout in CI (66cda4a)
- worker crash safety, concurrency guards, and query key consistency (3259942)
- remove premature localhost CDN validation & document balance cache (af2ca7c)
1.0.0-alpha.16 (2026-03-06)
1.0.0-alpha.15 (2026-03-06)
1.0.0-alpha.14 (2026-03-06)
1.0.0-alpha.13 (2026-03-06)
1.0.0-alpha.12 (2026-03-06)
1.0.0-alpha.11 (2026-03-06)
- sdk: add configurable session TTL for wallet sessions [SDK-11] (#56) (f6655d0), closes #hasLegacySignature
1.0.0-alpha.10 (2026-03-06)
1.0.0-alpha.9 (2026-03-06)
- release: remove registry-url to fix npm trusted publishing (aa515ee)
1.0.0-alpha.8 (2026-03-05)
- expose WASM thread pool option for RelayerWeb [SDK-10] (#28) (11dae99)
- implement 10 SDK backlog items — types, hooks, callbacks, status tracking (Vibe Kanban) (#57) (b59e222), closes #ensureAllowance
- session-scoped signatures & SDK API improvements [SDK-6] (#25) (116ae85), closes CredentialsManager#sessionSignatures #reSign #storeKey #onEvent #lastChainId #unsubscribeSigner
- add activity feed, batch transfer, and resume unshield e2e tests (0b05774)
- add API key auth and mainnet support to examples (189f6c1)
- add CDN URL validation and simplify worker global scope typing (b1f8362)
- add CredentialsLocked/Unlocked events (dd14c06)
- add E2E test app with Playwright tests and CI pipeline (e0b316f)
- add E2E tests for approve, transfer-from, unshield-all, unwrap, FHE relayer, and wrapper discovery hooks (a242d7a)
- add example projects and make EthersSigner accept BrowserProvider (2690388)
- add GenericLogger for worker observability and improve hook docs (10ddc15)
- add Hex type, missing hooks, DX improvements, and bug fixes (9db28b1)
- add Hex type, wagmi suspense hooks, error tests, and community docs (3c68206)
- add lazy chain ID resolution and auto re-init on chain switch (0dca351)
- add lock/unlock/isUnlocked API for session signature management (bde2896)
- add maxConcurrency option to batch decrypt and event emission tests (c4cfc29)
- add NodeWorkerPool with least-connections scheduling (2e9ec8c)
- add PR coverage reporting and bump thresholds to 80% (fd8833b)
- add Suspense variants for token metadata, approval, allowance, and wrapper discovery hooks (a93b25c)
- add useBalanceOf hook, security config, and fix E2E integrity check (a072f17)
- add wagmi v2 compatibility shim for useConnection/getConnection (0741649)
- cache decrypted balances in storage to eliminate spinner on reload (f90d649)
- expose WASM thread pool option for RelayerWeb [SDK-10] (#28) (11dae99)
- implement 10 SDK backlog items — types, hooks, callbacks, status tracking (Vibe Kanban) (#57) (b59e222), closes #ensureAllowance
- improve wallet compatibility, error handling, and SDK robustness (5dcbe4d)
- initialize token-sdk monorepo with source packages (d5e1180)
- react-sdk: add query/mutation options factory exports (f00e67e)
- SDK API improvements [SDK-4] (#19) (7b77999)
- session-scoped signatures & SDK API improvements [SDK-6] (#25) (116ae85), closes CredentialsManager#sessionSignatures #reSign #storeKey #onEvent #lastChainId #unsubscribeSigner
- session-scoped signatures with re-sign flow and legacy migration (9eeb55e)
- test-components: add 11 shared form/panel components (28a29c2)
- test-components: add shared responsive sidebar nav (ded5823)
- test-components: add token-table with framework-agnostic LinkComponent prop (df48d0f)
- test-components: scaffold shared test components package (3ff61a9)
- test-vite: add React Router, Tailwind CSS, and extract pages (8c8c2fa)
- test-vite: migrate to rolldown-vite (7488eef)
- token-react-sdk: add tsup build config and npm exports (6658c7a)
- token-sdk: add tsup build config and npm exports (82e9311)
- address integrator friction — gas limits, worker IIFE, CDN localhost, StrictMode restart, Sepolia /v2 (a18079c)
- CI hardening, worker init dedup, mutation hooks, RelayerNode re-export (1cfd393)
- ci: add Vite build step before running e2e tests (66ee3d8)
- ci: disable submodule checkout for vitest workflow to fix Dependabot PRs (bb049b4)
- clear() also clears session signature, isExpired works without session (768bef7)
- correct balanceOf log from "Confidential" to "Decrypted" (c130a3b)
- correct README inaccuracies — error class names, peer deps, pnpm version (5fdebf6)
- e2e: increase Hardhat webServer timeout to prevent CI flake (4ecf80b)
- e2e: remove explicit webServer timeouts to use Playwright defaults (a93b1bd)
- ensure "use client" directive survives bundling with code splitting (159f0fa)
- move prepare build to root where tsup is available (5ca49ec)
- playwright: drain in-flight route handlers before reverting chain state (de35aab)
- playwright: use uniform 30s timeout for nextjs project (d65cd82)
- preserve address case to satisfy relayer SDK checksum validation (bb13aab)
- production hardening — strict types, security, retry logic, CI pinning (93f627d)
- production hardening — worker leaks, race conditions, error codes (7fdb749)
- production readiness — license, source maps, type safety, error handling (8381634)
- race conditions, worker crash recovery, and query key stability (5908e6e)
- race conditions, worker init safety, and defensive hardening (dc369de), closes #worker
- react-sdk: invalidate wagmi useBalance cache on unshield/finalize (7af63b2)
- react-sdk: replace unsafe casts, fix fee hooks signer access, add test coverage (6c0a13f)
- react-sdk: use broad balanceOf predicate instead of address-scoped (6488a7d)
- react-sdk: use predicate-based wagmi balanceOf cache invalidation (5a57077)
- relax wagmi peer dependency to >=2 for v2 compatibility (d89aef8)
- remove Node.js-only RelayerNode re-export from react-sdk (8fbe902)
- Remove remaining token-sdk references (46b40b8)
- replace
< 2Mwith prose in JSDoc to silence tsdoc-malformed-html-name (2a777b4) - replace importScripts with fetch+eval in worker to fix MIME-type errors (54dbee8)
- sdk: add /v2 path to mainnet relayer URL (84978f1)
- security: resolve 3 high-severity Dependabot alerts (#41) (9c81b97), closes #3 #4 #2
- security: resolve CodeQL code scanning alerts (#42) (27d54b6)
- strip EIP712Domain from signer types and re-key balance Map by original addresses (0d0b8e4)
- test-components: add non-null assertion for array index access (7e3efec)
- test-nextjs: correct theme.css import path in globals.css (2b52c60)
- test-nextjs: correct USDT contract address to match hardhat deployment (3e40812)
- test-nextjs: replace CONTRACTS.confidentialToken with CONTRACTS.cUSDT (8762b14)
- type safety, error handling, and query stability improvements (40cb140), closes NodeWorkerPool#dispatch
- unwrap error granularity, cache reuse, and defensive hardening (ba88c32), closes #ensureAllowance
- use blob URL for worker script loading with extension fallback (a5e3cc0)
- use real hardhat-deployed addresses, add missing transferBatcher approval (#50) (06c6428)
- use SUBMODULE_TOKEN for private submodule checkout in CI (66cda4a)
- worker crash safety, concurrency guards, and query key consistency (3259942)
- remove premature localhost CDN validation & document balance cache (a17f191)
1.0.0-alpha.7 (2026-03-02)
1.0.0-alpha.6 (2026-03-02)
1.0.0-alpha.5 (2026-03-02)
1.0.0-alpha.4 (2026-03-02)
- add activity feed, batch transfer, and resume unshield e2e tests (70efc7e)
- add wagmi v2 compatibility shim for useConnection/getConnection (c480ac4)
- cache decrypted balances in storage to eliminate spinner on reload (63df398)
- test-components: add 11 shared form/panel components (71aea3d)
- test-components: add shared responsive sidebar nav (2cbdab0)
- test-components: add token-table with framework-agnostic LinkComponent prop (62a89d0)
- test-components: scaffold shared test components package (2ed32fa)
- test-vite: add React Router, Tailwind CSS, and extract pages (e70f4ad)
- test-vite: migrate to rolldown-vite (ab80bfc)
- address integrator friction — gas limits, worker IIFE, CDN localhost, StrictMode restart, Sepolia /v2 (a42d583)
- ci: add Vite build step before running e2e tests (689e1d5)
- playwright: drain in-flight route handlers before reverting chain state (23cfec9)
- playwright: use uniform 30s timeout for nextjs project (bfe96af)
- replace
< 2Mwith prose in JSDoc to silence tsdoc-malformed-html-name (cf4264e) - sdk: add /v2 path to mainnet relayer URL (0310d01)
- test-components: add non-null assertion for array index access (6b9a1ff)
- test-nextjs: correct theme.css import path in globals.css (f4b8564)
- test-nextjs: correct USDT contract address to match hardhat deployment (6cd96f5)
- test-nextjs: replace CONTRACTS.confidentialToken with CONTRACTS.cUSDT (b0ab373)
- remove premature localhost CDN validation & document balance cache (2a3664c)
1.0.0-alpha.3 (2026-02-27)
1.0.0-alpha.2 (2026-02-27)
- add API key auth and mainnet support to examples (189f6c1)
- add CDN URL validation and simplify worker global scope typing (b1f8362)
- add CredentialsLocked/Unlocked events (dd14c06)
- add E2E test app with Playwright tests and CI pipeline (e0b316f)
- add E2E tests for approve, transfer-from, unshield-all, unwrap, FHE relayer, and wrapper discovery hooks (a242d7a)
- add example projects and make EthersSigner accept BrowserProvider (2690388)
- add GenericLogger for worker observability and improve hook docs (10ddc15)
- add Hex type, missing hooks, DX improvements, and bug fixes (9db28b1)
- add Hex type, wagmi suspense hooks, error tests, and community docs (3c68206)
- add lazy chain ID resolution and auto re-init on chain switch (0dca351)
- add lock/unlock/isUnlocked API for session signature management (bde2896)
- add maxConcurrency option to batch decrypt and event emission tests (c4cfc29)
- add NodeWorkerPool with least-connections scheduling (2e9ec8c)
- add PR coverage reporting and bump thresholds to 80% (fd8833b)
- add Suspense variants for token metadata, approval, allowance, and wrapper discovery hooks (a93b25c)
- add useBalanceOf hook, security config, and fix E2E integrity check (a072f17)
- improve wallet compatibility, error handling, and SDK robustness (5dcbe4d)
- initialize token-sdk monorepo with source packages (d5e1180)
- react-sdk: add query/mutation options factory exports (f00e67e)
- SDK API improvements [SDK-4] (#19) (7b77999)
- session-scoped signatures with re-sign flow and legacy migration (9eeb55e)
- token-react-sdk: add tsup build config and npm exports (6658c7a)
- token-sdk: add tsup build config and npm exports (82e9311)
- CI hardening, worker init dedup, mutation hooks, RelayerNode re-export (1cfd393)
- ci: disable submodule checkout for vitest workflow to fix Dependabot PRs (bb049b4)
- clear() also clears session signature, isExpired works without session (768bef7)
- correct balanceOf log from "Confidential" to "Decrypted" (c130a3b)
- correct README inaccuracies — error class names, peer deps, pnpm version (5fdebf6)
- e2e: increase Hardhat webServer timeout to prevent CI flake (4ecf80b)
- e2e: remove explicit webServer timeouts to use Playwright defaults (a93b1bd)
- ensure "use client" directive survives bundling with code splitting (159f0fa)
- move prepare build to root where tsup is available (5ca49ec)
- preserve address case to satisfy relayer SDK checksum validation (bb13aab)
- production hardening — strict types, security, retry logic, CI pinning (93f627d)
- production hardening — worker leaks, race conditions, error codes (7fdb749)
- production readiness — license, source maps, type safety, error handling (8381634)
- race conditions, worker crash recovery, and query key stability (5908e6e)
- race conditions, worker init safety, and defensive hardening (dc369de), closes #worker
- react-sdk: invalidate wagmi useBalance cache on unshield/finalize (7af63b2)
- react-sdk: replace unsafe casts, fix fee hooks signer access, add test coverage (6c0a13f)
- react-sdk: use broad balanceOf predicate instead of address-scoped (6488a7d)
- react-sdk: use predicate-based wagmi balanceOf cache invalidation (5a57077)
- relax wagmi peer dependency to >=2 for v2 compatibility (d89aef8)
- remove Node.js-only RelayerNode re-export from react-sdk (8fbe902)
- Remove remaining token-sdk references (46b40b8)
- replace importScripts with fetch+eval in worker to fix MIME-type errors (a73c02e)
- strip EIP712Domain from signer types and re-key balance Map by original addresses (0d0b8e4)
- type safety, error handling, and query stability improvements (40cb140), closes NodeWorkerPool#dispatch
- unwrap error granularity, cache reuse, and defensive hardening (ba88c32), closes #ensureAllowance
- use blob URL for worker script loading with extension fallback (a5e3cc0)
- use SUBMODULE_TOKEN for private submodule checkout in CI (66cda4a)
- worker crash safety, concurrency guards, and query key consistency (3259942)
All notable changes to this project will be documented in this file.