@thenamespace/ens-components. Dates are npm publish dates. Prereleases on the alpha tag aren’t listed separately; their changes are listed under the stable release that shipped them.
To move from 2.x to 3.x, follow Upgrade to the latest version.
v3.0.0
- Breaking:
- Onchain flows default to ENSv2.
versiononEnsNameRegistrationForm,NameRenewForm,EnsRecordsForm,SubnameMintForm, and theuseENSResolverhook defaults to2. Passversion={1}toSubnameMintFormfor parents on an old Namespace listing. ENSv1 registration and renewal are retired. .ethregistration is paid in USDC or DAI. InonRegistrationSuccess,registrationCostis the token amount, andtransactionFeesandtotalare both the ETH network fees.TransactionPendingScreenno longer takes amessageprop.hashis now optional, and a newdetailsprop takes label and value rows.
- Onchain flows default to ENSv2.
- Added:
NameRenewForm: renews a.ethname in one step, paid in USDC or DAI. Anyone can renew any name, and the owner keeps it.SubnameRenewForm: renews a subname at the price set by the parent’s owner, and warns when the subname would outlive its parent.TransactionProgressandTransactionModal: the progress screen every form uses, exported for your own transactions.- ENSv2 subname minting in
SubnameMintForm, through Namespace’s ENSv2 activation contracts. The user pays in USDC or DAI. resolverprop onSubnameMintFormfor activations that don’t set a resolver.priceCurrencyon theSubnameMintFormonSuccesspayload.- ENSv2 helpers:
getEnsV2RegistrationDeployment,isEnsV2NameAvailable,getEnsV2Deployment,quoteEnsV2Mint,quoteEnsV2Payment,getEnsV2RenewalDeployment,getEnsV2RenewalTarget,getEnsV2RenewPrice, andquoteEnsV2Renewal.
- Changed:
- ENSv2 runs on mainnet and Sepolia. Contract addresses come from
@thenamespace/addresses1.2.0. - ENSv2 registration gives each owner a PermissionedResolver, deployed with the name’s records. Commitments resume after a page reload.
EnsRecordsFormfinds the resolver through the ENSv2 Universal Resolver and writes to standard resolvers, PermissionedResolvers, and Namespace’s SimplifiedResolver.- Registration and renewal send the
referrerprop, falling back to Namespace’s referrer address. - Wallets with EIP-5792 atomic batching confirm each step in one prompt. Other wallets get one transaction per call.
- Forms show “Insufficient funds” and block the transaction when the wallet can’t cover the token price or gas.
- The subname mint fee estimate uses the effective gas price.
- The package ships CommonJS bundles for
requireentries.
- ENSv2 runs on mainnet and Sepolia. Contract addresses come from
v2.2.0
- Added:
- A Custom section in the records editor for arbitrary key and value text records.
- Changed:
- Every top-level form card is 500 px wide, set by
--ns-frame-width. - Registration, subname minting, and offchain subname forms share one layout and no longer depend on host Bootstrap margins.
- Visible hover states on buttons, and alerts without the left accent bar.
- Every top-level form card is 500 px wide, set by
v2.1.0
- Fixed:
SubnameMintFormestimates the network fee when the wallet can’t cover price and fee, then shows “Insufficient funds” and disables Mint instead of showing N/A.EnsNameRegistrationFormchecks.ethavailability with the registrar instead of the registry, so expired names past their grace period show as available.
v2.0.0
- Breaking:
- New visual design. Components adopt the Namespace Flows design system: a near-black accent derived from
--ns-inkinstead of blue, 10 px corners from--ns-radiusinstead of square ones, and DM Sans and DM Mono instead of Satoshi. Props, hooks, and exports are unchanged.
- New visual design. Components adopt the Namespace Flows design system: a near-black accent derived from
- Added:
- A token layer (
--ns-variables). Older--ns-color-*,--ns-blue-*, and--ns-alert-*names still resolve as aliases. TagandIdenticonatoms.- One availability status line for every name state in registration, subname minting, and offchain subname forms.
- A “No records found” state with a clear-filter action in the records editor search.
- A token layer (
- Changed:
- The stylesheet no longer forces a background on the host page’s
htmlelement. - Forms use container queries, so they adapt inside narrow modals on desktop screens.
- The records editor is 600 px wide.
- The stylesheet no longer forces a background on the host page’s
v1.5.2
- Changed:
- Updated
@thenamespace/avatarto 2.0.2.
- Updated
v1.5.1
- Changed:
- Documented DNS names imported into ENS as supported parents in
SubnameMintFormandOffchainSubnameForm, and as names inEnsRecordsForm. - Updated
@thenamespace/avatarto 2.0.1.
- Documented DNS names imported into ENS as supported parents in
v1.5.0
- Changed:
- Avatar and header uploads use
@thenamespace/avatarv2. - The Avatar SDK is no longer bundled into the package, which keeps the build browser-safe.
- Avatar and header uploads use
v1.4.0
- Changed:
- Amounts below the display threshold read
<0.0001.
- Amounts below the display threshold read
- Fixed:
- Registration fees load when the registration form opens.
- Registration fees stay visible when no wallet is connected.
v1.3.1
- Fixed:
- Registration shows a real network fee estimate for the commit and register transactions instead of a fixed placeholder.
- Fee estimation falls back to a heuristic when the RPC can’t simulate the registration, and marks the value with
~. - Network fees and totals display with four decimals.
v1.3.0
- Breaking:
onRegistrationSuccessreturnsdurationLabelinstead ofexpiryInYears.
- Added:
- A duration picker for registration and subname minting that switches between years and a calendar date.
- Changed:
- Registration and minting track duration in seconds.
v1.2.1
- Fixed:
EnsNameRegistrationFormpasses thereferrerprop to the commit and register transactions. Before, both used Namespace’s default referrer.
v1.2.0
- Added:
- USD estimates next to ETH totals, using
useEthDollarValue.
- USD estimates next to ETH totals, using
- Changed:
- The mint client uses the RPC URLs from your wagmi config for mainnet, Sepolia, Base, Base Sepolia, and Optimism.
- Fixed:
- Subname mint fee estimation.
v1.1.6
- Fixed:
- Chain switching to Sepolia, and other testnet issues.
v1.1.5
- Fixed:
- The email text record.
v1.1.4
- Changed:
- Maintenance release with no changes to the components.
v1.1.3
- Added:
- Custom text records in the records editor.
titleandsubtitleprops onSubnameMintForm.
v1.1.2
- Breaking:
OffchainSubnameFormno longer writes subnames. It takes anoffchainManagerclient instead ofapiKeyOrToken, and replacesonSuccesswithonSubnameCreatedandonSubnameUpdated. Your callbacks save the subname.- Peer dependencies raised to
viem^2.46.3 andwagmi^2.19.5.
- Added:
titleandsubtitleprops onOffchainSubnameForm.
v1.1.1
- Added:
avatarUploadDomainprop onEnsNameRegistrationFormandSubnameMintForm, used as the domain in the avatar upload sign-in message.
v1.1.0
- Added:
- First 1.x release. Version 1.0.0 was never published.
- Avatar and header image upload in the records editor, with cropping. GIF and SVG files skip the crop step.
- A drawer presentation for modals on small screens.
v0.26.0 to v0.37.0
- Added:
SubnameMintFormfor onchain subnames under a Namespace listing (0.27.0).OffchainSubnameFormfor gasless subnames (0.29.0), with Sepolia support (0.30.0).txConfirmationsoption (0.33.0), also onEnsRecordsForm(0.34.0).
- Changed:
EnsRecordsFormcallbacks (0.26.0) and transaction wait handling (0.32.0).
- Fixed:
- Removing text records (0.31.0).
- Minting on Sepolia, including L2 listings (0.35.0, 0.36.0).
SubnameMintFormpassesisTestnetto the mint client (0.37.0).
v0.20.0 to v0.25.0
- Breaking:
- Reworked component set.
ENSNameCard,ProfileCard,NavbarProfileCard,SubnameOnChainRegistrarModal,SubnameOffChainRegistrarModal, andENSNamesRegistrarComponentwere removed (0.20.0), andPendingTransactionfollowed (0.25.0). - React 19 required. Peer dependencies are
reactandreact-dom19 or later,viem, andwagmi(0.20.0).
- Reworked component set.
- Added:
EnsNameRegistrationFormwith the commit, wait, and register flow and a progress bar (0.20.0).EnsRecordsFormwith a summary of record changes (0.25.0).
- Fixed:
- Registration with records (0.21.0), form styles (0.22.0, 0.23.0), and registration fixes (0.24.0).
v0.10.0 to v0.19.0
- Added:
- ENS name registration and onchain registration integration (0.10.0, 0.11.0).
- Profile and ENS records components (0.13.0, 0.14.0).
- Fixed:
- Build and bundling issues, including the viem export and a
process is not definederror (0.15.0 to 0.19.0).
- Build and bundling issues, including the viem export and a
v0.1.0 to v0.9.0
- Added:
- First releases:
SelectRecordsForm, ENS name and profile cards, and first versions of the ENS registration and onchain and offchain subname modals. - Contenthash record support and record selector improvements (0.3.0, 0.4.0).
- First releases:
- Fixed:
- The avatar record button (0.5.0).

