Skip to content

Latest commit

 

History

History
734 lines (537 loc) · 74 KB

File metadata and controls

734 lines (537 loc) · 74 KB

Changelog

2.2.0-alpha.3 (2026-03-27)

Features

  • react-ethers: upgrade to SDK 2.1.0-alpha.2 + Sepolia + delegation flows (SDK-35) (#148) (44ce6ee)

2.2.0-alpha.2 (2026-03-26)

  • wrapper-discovery: coordinatorAddress has been renamed to erc20Address in wrapperDiscoveryQueryOptions, UseWrapperDiscoveryConfig, and UseWrapperDiscoverySuspenseConfig. Update call sites accordingly.
  • wrapper-discovery: tokenAddress in UseWrapperDiscoveryConfig is now required (Address, not Address | undefined). To disable the query conditionally, pass erc20Address: undefined instead.
  • readonly-token: ReadonlyToken.discoverWrapper() has been removed. Use sdk.registry.getConfidentialToken(erc20Address) or sdk.registry.getUnderlyingToken(confidentialTokenAddress) instead.

Features

2.2.0-alpha.1 (2026-03-25)

Features

  • react-sdk: improve query wrappers types (#168) (db616c7)

2.1.1-alpha.2 (2026-03-25)

Bug Fixes

  • rename useAllowTokens/useRevokeTokens back to useAllow/useRevoke (#167) (f9d6b1a)

2.1.1-alpha.1 (2026-03-25)

2.1.0 (2026-03-24)

Features

  • example-hoodi: add on-chain ACL delegation flows (SDK-41) (#126) (2ea2349)

Bug Fixes

  • 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)

Bug Fixes

  • exclude logger from web worker init payload (#146) (1b8d50f), closes #145

2.1.0-alpha.4 (2026-03-24)

Bug Fixes

  • gate queries on undefined tokenAddress (#163) (5803e78)

2.1.0-alpha.3 (2026-03-24)

2.1.0-alpha.2 (2026-03-20)

2.1.0-alpha.1 (2026-03-20)

Features

  • example-hoodi: add on-chain ACL delegation flows (SDK-41) (#126) (2ea2349)

2.0.1-alpha.1 (2026-03-20)

Bug Fixes

  • sdk: colocate node worker with node entrypoint (#138) (294d76e)

2.0.0 (2026-03-20)

⚠ BREAKING CHANGES

  • 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

Features

Bug Fixes

  • 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)

Performance Improvements

  • reduce bundle size by inlining slim ABI fragments (613321c)
  • test: use vmForks locally, vmThreads in CI for both test projects (d6f9de9)

Documentation

  • improve documentation for useEncrypt and useUserDecrypt (#81) (5ce5f2e), closes #114

2.0.0-alpha.4 (2026-03-19)

Features

  • sdk: persist FHE public key and params with artifact-level revalidation (#110) (e2dd6ae)

2.0.0-alpha.3 (2026-03-19)

Features

  • examples: add example-hoodi — ERC-7984 demo on Hoodi testnet (#111) (438f90a)

2.0.0-alpha.2 (2026-03-18)

Bug Fixes

  • sdk: detect session expiry with 30s staleTime on isAllowed query (#124) (532fb92)

2.0.0-alpha.1 (2026-03-18)

⚠ BREAKING CHANGES

  • 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

Documentation

  • improve documentation for useEncrypt and useUserDecrypt (#81) (5ce5f2e), closes #114

1.2.0-alpha.5 (2026-03-18)

1.2.0-alpha.4 (2026-03-18)

1.2.0-alpha.3 (2026-03-17)

Bug Fixes

  • 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)

Performance Improvements

  • test: use vmForks locally, vmThreads in CI for both test projects (d6f9de9)

1.2.0-alpha.2 (2026-03-16)

Bug Fixes

  • remove ABI re-exports from react-sdk that are no longer in sdk public API (ad24185)

Performance Improvements

  • reduce bundle size by inlining slim ABI fragments (613321c)

1.2.0-alpha.1 (2026-03-16)

Features

1.1.0 (2026-03-13)

Features

  • 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)

Bug Fixes

  • add viem as 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 < 2M with 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)

Performance Improvements

Reverts

  • remove premature localhost CDN validation & document balance cache (a17f191)

1.1.0-alpha.3 (2026-03-12)

Features

  • 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)

Features

Bug Fixes

  • add viem as 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 < 2M with 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)

Performance Improvements

Reverts

  • remove premature localhost CDN validation & document balance cache (a17f191)

1.0.0-alpha.20 (2026-03-10)

Features

  • sdk: cleartext flat config refactor (#78) (b052bb9)

1.0.0-alpha.19 (2026-03-10)

1.0.0-alpha.18 (2026-03-10)

Performance Improvements

1.0.0-alpha.17 (2026-03-09)

Bug Fixes

  • add viem as dep of sdk, fix examples (#74) (3cf92cd)

1.0.1 (2026-03-09)

Bug Fixes

  • release: Trigger release (19d079a)

1.0.0 (2026-03-09)

Features

  • 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)

Bug Fixes

  • 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 < 2M with 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)

Reverts

  • 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)

Bug Fixes

  • deps: pin minimatch to 10.2.4 to resolve ReDoS vulnerabilities (#69) (3861748)

1.0.0-alpha.12 (2026-03-06)

Features

  • read-only signer mode & gitbook import audit (#65) (03366c2)

1.0.0-alpha.11 (2026-03-06)

Features

1.0.0-alpha.10 (2026-03-06)

Features

1.0.0-alpha.9 (2026-03-06)

Bug Fixes

  • release: remove registry-url to fix npm trusted publishing (aa515ee)

1.0.0-alpha.8 (2026-03-05)

Features

Bug Fixes

  • use real hardhat-deployed addresses, add missing transferBatcher approval (#50) (06c6428)

1.0.0-alpha.1 (2026-03-05)

Features

  • 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)

Bug Fixes

  • 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 < 2M with 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)

Reverts

  • remove premature localhost CDN validation & document balance cache (a17f191)

1.0.0-alpha.7 (2026-03-02)

Bug Fixes

  • security: resolve CodeQL code scanning alerts (#42) (96ae63f)

1.0.0-alpha.6 (2026-03-02)

Bug Fixes

  • security: resolve 3 high-severity Dependabot alerts (#41) (9f29783), closes #3 #4 #2

1.0.0-alpha.5 (2026-03-02)

1.0.0-alpha.4 (2026-03-02)

Features

  • 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)

Bug Fixes

  • 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 < 2M with 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)

Reverts

  • 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)

1.0.0-alpha.1 (2026-02-26)

Features

  • 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)

Bug Fixes

  • 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.