Skip to content

Latest commit

 

History

History
210 lines (140 loc) · 13.8 KB

CHANGELOG.md

File metadata and controls

210 lines (140 loc) · 13.8 KB

@openzeppelin/ui-react

3.3.2

Patch Changes

  • #214 ddd681e Thanks @pasevin! - Ship the AGPL-3.0 licence text inside each published package.

    The repository has a root LICENSE, but npm does not walk up to the repository root when packing, and these packages declare narrow files arrays (dist, README.md). So every published tarball carried an AGPL-3.0 declaration in its package.json with no accompanying licence text — confirmed with npm pack --dry-run, which listed no LICENSE entry.

    Each published package now has its own copy, which npm includes automatically.

  • Updated dependencies [ddd681e]:

    • @openzeppelin/ui-components@3.8.3
    • @openzeppelin/ui-types@3.5.2
    • @openzeppelin/ui-utils@4.0.1

3.3.1

Patch Changes

  • Updated dependencies [f7498bc]:
    • @openzeppelin/ui-utils@4.0.0
    • @openzeppelin/ui-types@3.5.1
    • @openzeppelin/ui-components@3.8.2

3.3.0

Minor Changes

  • #195 b56165d Thanks @pasevin! - Add optional network-scoped ENS resolution so forward and reverse lookups can follow a selected network (e.g. Address Book Add Alias dropdown) without switching the wallet-global active network.

    useRuntimeNameResolver(scopedNetwork?) and useResolveAddress(..., { network }) load the target runtime via RuntimeProvider.getRuntimeForNetwork, sharing the same SF-2 cache keys (INV-119). AddressNameResolutionProvider, ResolvedAddressFieldPreviewWithNameResolution, and AddAliasDialog accept an optional network prop. Deprecated aliases: useNetworkNameResolver, useNetworkResolveAddress.

Patch Changes

  • Updated dependencies [b56165d]:
    • @openzeppelin/ui-components@3.8.0

3.2.0

Minor Changes

  • #188 b4eab15 Thanks @pasevin! - Add mainnet-L1 miss-fallback consumer opt-in runtime wiring (initiative 003, SF-4).

    Exports createResolveRuntime, useResolveRuntime, DEFAULT_RUNTIME_CREATION_CONFIG, buildCreateRuntimeOptions, and isMainnetL1MissFallbackEnabled. Opt-in threads enableMainnetL1MissFallback: true to EcosystemExport.createRuntime only when explicitly enabled; default OFF omits the nameResolution slice entirely.

    RuntimeProvider now fully disposes cached runtimes when the resolveRuntime callback identity changes (INV-218) — registry flush, loading reset, and deferred dispose() — so toggling fallback opt-in or swapping factory wiring cannot serve stale adapter capabilities from a prior config.

    Resolution query cache keys now include a stable per-active-runtime-instance id via getRuntimeInstanceId (INV-230), so toggling the opt-in — which recreates runtimes through INV-218 — forces forward and reverse re-resolution instead of serving stale cached names (fixes stale reverse displays and one-way toggle behavior).

Patch Changes

  • Updated dependencies [b4eab15, b4eab15]:
    • @openzeppelin/ui-utils@3.3.0
    • @openzeppelin/ui-components@3.5.0
    • @openzeppelin/ui-types@3.3.0

3.1.0

Minor Changes

  • #180 290dc8f Thanks @pasevin! - Add name-resolution hooks and runtime wiring (SF-2 + SF-3 bridge).

    @openzeppelin/ui-react exports the SF-2 name-resolution engine: useResolveName, useResolveAddress, NameResolutionProvider, NameResolutionContext, useNameResolutionContext, and the shared NameResolutionStatus / result types. These hooks own debounce, cache, dedupe, retries, and the closed error union — the capability-facing layer apps mount once per runtime.

    Also exports useRuntimeNameResolver, which maps the active EcosystemRuntime's nameResolution capability into the dumb NameResolver shape consumed by @openzeppelin/ui-components' NameResolverProvider. Apps and the renderer use this to wire inline forward resolution without hand-rolling capability plumbing.

Patch Changes

  • Updated dependencies [290dc8f, 290dc8f, 290dc8f]:
    • @openzeppelin/ui-utils@3.2.0
    • @openzeppelin/ui-components@3.4.0
    • @openzeppelin/ui-types@3.2.0

3.0.1

Patch Changes

  • #171 0abe1fb Thanks @pasevin! - chore(deps): resolve Dependabot security alerts for transitive dependencies

    Update the workspace pnpm overrides so vulnerable transitive dependencies resolve to patched versions:

    • protobufjs → ^7.6.3 (was pinned to ^7.5.5, still allowed 7.6.x advisories)
    • ws → ^8.21.0 for the v8 line and ^7.5.11 for the v7 line (was ^8.20.1)
    • hono → ^4.12.25
    • form-data → ^4.0.6 (CRLF injection)
    • ua-parser-js → ^2.0.10 (ReDoS)
    • js-yaml (v4) → ^4.2.0 (quadratic-complexity DoS)
    • uuid → ^11.1.1 (missing buffer bounds check)
    • esbuild → ^0.28.1 (dev-server arbitrary file read)
    • @babel/core → ^7.29.6 (arbitrary file read via sourceMappingURL)

    elliptic (<= 6.6.1) has no published fix and remains; it is a low-severity advisory with no upstream patch available.

    These overrides only affect dependency resolution within this monorepo's lockfile and do not change the published packages' declared dependency ranges.

  • Updated dependencies [0abe1fb]:

    • @openzeppelin/ui-components@3.3.1
    • @openzeppelin/ui-utils@3.1.1

3.0.0

Major Changes

  • #113 6f09f66 Thanks @pasevin! - Migrate shared UI packages from monolithic adapter APIs to capability-based runtime APIs.

    BREAKING CHANGE: shared component props, helper types, and React context exports now use narrow capability interfaces and runtime-oriented names instead of ContractAdapter and FullContractAdapter surfaces.

Patch Changes

  • #113 f88f86b Thanks @pasevin! - Fix local adapter development installs by resolving first-party workspace packages that are outside the public family package map. Derive pnpmfile family data from the canonical STANDARD_FAMILIES definition instead of maintaining a hardcoded duplicate. Also formalize partial UiKitConfiguration overrides in the public types and ensure wallet state initializes adapter-managed UI kits consistently.
  • Updated dependencies [5fc43ce, 6f09f66, f88f86b]:
    • @openzeppelin/ui-types@3.0.0
    • @openzeppelin/ui-components@3.0.0
    • @openzeppelin/ui-utils@3.0.0

2.0.1

Patch Changes

  • #116 092a0f7 Thanks @pasevin! - Prevent infinite retry loop in RuntimeProvider when adapter loading fails

    When resolveRuntime rejected (e.g. due to a peer-dependency version mismatch), the provider would remove the network from loadingNetworks, which re-memoised getRuntimeForNetwork, which re-triggered the consumer's effect, restarting the failed load indefinitely. A failedNetworksRef now tracks permanently-failed networks so they are not retried. The set resets when resolveRuntime changes, allowing recovery after the host app fixes the underlying issue.

2.0.0

Major Changes

  • #113 52f2823 Thanks @pasevin! - Migrate shared UI packages from monolithic adapter APIs to capability-based runtime APIs.

    BREAKING CHANGE: shared component props, helper types, and React context exports now use narrow capability interfaces and runtime-oriented names instead of ContractAdapter and FullContractAdapter surfaces.

Patch Changes

  • #113 52f2823 Thanks @pasevin! - Fix local adapter development installs by resolving first-party workspace packages that are outside the public family package map. Derive pnpmfile family data from the canonical STANDARD_FAMILIES definition instead of maintaining a hardcoded duplicate. Also formalize partial UiKitConfiguration overrides in the public types and ensure wallet state initializes adapter-managed UI kits consistently.
  • Updated dependencies [52f2823, 52f2823, 52f2823]:
    • @openzeppelin/ui-types@2.0.0
    • @openzeppelin/ui-components@2.0.0
    • @openzeppelin/ui-utils@2.0.0

1.2.0

Minor Changes

  • #96 b7f6eb5 Thanks @pasevin! - Add VERSION export to all public packages for runtime peer compatibility validation. Each package now exports a VERSION constant that reflects the package version at build time, enabling consuming libraries (such as adapters) to verify compatible versions are installed and throw actionable errors on mismatch.

Patch Changes

  • Updated dependencies [b7f6eb5]:
    • @openzeppelin/ui-components@1.7.0
    • @openzeppelin/ui-types@1.12.0
    • @openzeppelin/ui-utils@1.4.0

1.1.0

Minor Changes

  • #33 20856cf Thanks @pasevin! - Add customization support for wallet components

    @openzeppelin/ui-types:

    • Add WalletComponentSize type ('sm' | 'default' | 'lg' | 'xl')
    • Add WalletComponentVariant type ('default' | 'outline' | 'ghost' | 'secondary')
    • Extend BaseComponentProps with size, variant, and fullWidth properties

    @openzeppelin/ui-react:

    • Add useWalletComponents() hook for direct access to adapter wallet components
    • Add connectButtonProps, accountDisplayProps, and networkSwitcherProps to WalletConnectionUI
    • Export WalletConnectionUIProps type

    @openzeppelin/ui-utils:

    • Add shared wallet component sizing utilities:
      • getWalletButtonSizeProps() - Maps size to button styling props
      • getWalletAccountDisplaySizeProps() - Maps size to account display styling
      • getWalletNetworkSwitcherSizeProps() - Maps size to network switcher styling
    • Export WalletButtonSizeProps, WalletAccountDisplaySizeProps, WalletNetworkSwitcherSizeProps types

Patch Changes

  • Updated dependencies [20856cf]:
    • @openzeppelin/ui-types@1.2.0
    • @openzeppelin/ui-utils@1.1.0

1.0.1

Patch Changes

  • #19 1ffc0ac Thanks @pasevin! - Fix React context mismatch when adapters bundle their own copy of ui-react

    Implements the Shared Global Context Pattern for WalletStateContext, storing the React context on globalThis to ensure a single instance is shared across all module loads. This prevents "useWalletState must be used within a WalletStateProvider" errors when bundlers (like Vite's optimizeDeps) inline transitive dependencies.