v1.6.0
@namehash/ens-referrals@1.6.0
Minor Changes
-
#1663
c6cc7c4Thanks @Goader! - Introduces a pluggable award model architecture for referral program editions. The original Holiday Awards logic is now encapsulated as thepie-splitmodel. A newrev-share-limitmodel is added to support the upcoming referral program edition.ReferralProgramRulesis now a discriminated union overawardModel, with anUnrecognizedvariant for forward compatibility — older clients safely skip editions with unknown models rather than crashing. -
#1621
75c8b01Thanks @Goader! - Addedstatusfield to referral program API responses (ReferrerLeaderboardPage,ReferrerEditionMetricsRanked,ReferrerEditionMetricsUnranked) indicating whether a program is "Scheduled", "Active", or "Closed" based on the program's timing relative toaccurateAsOf. -
#1603
8be113bThanks @Goader! - Introduces referral program editions support with pre-configured edition definitions (ENS Holiday Awards December 2025, March 2026 edition). Updated ENSAnalytics API v1 to support edition-based leaderboard queries and added edition configuration to environment schema. -
#1712
3ece8f0Thanks @Goader! - Add admin disqualification support for rev-share-limit referral program editions. -
#1542
500388bThanks @Goader! - Flipped dependency relationship betweenensnode-sdkandens-referrals. Introduced newENSReferralsClientfor referral leaderboard APIs. Consolidated duplicate types (ChainId,AccountId,UnixTimestamp,Duration) by importing fromensnode-sdk. -
#1562
84a4c5eThanks @Goader! - Migrated v1 referrer leaderboard API to use maturePriceEthandPriceUsdctypes fromensnode-sdk, replacing temporaryRevenueContributionandUSDQuantitytypes. Added/v1subpath export toens-referrals.
Patch Changes
- Updated dependencies [
220b71f,75c8b01,a13e206,1f8a05b,9bffd55,91d7653,9bffd55,a13e206,a0be9a6,3d7fb07,6f4d39b,a13e206,4cf6f41,8be113b,1bc599f,500388b,3d7fb07,70b15a1,43d3e9c,84a4c5e]:- @ensnode/ensnode-sdk@1.6.0
@ensnode/ensnode-schema@1.6.0
Minor Changes
@ensnode/ensnode-sdk@1.6.0
Minor Changes
-
#1621
75c8b01Thanks @Goader! - SWRCachefnnow optionally receives the currently cached result as a parameter, allowing implementations to inspect cached data before deciding whether to return it or fetch fresh data. Fully backward compatible. -
#1675
a13e206Thanks @tk-o! - IncludesmergeBlockNumberRangeshelper function to enable indexed blockrange aggregation, for example, across multiple contract definitions. -
#1715
1f8a05bThanks @tk-o! - AddedvalidateEnsIndexerPublicConfigandvalidateEnsIndexerVersionInfofunctions. -
#1660
9bffd55Thanks @tk-o! - Introduces ENSDb module which includes data model definitions. -
#1690
91d7653Thanks @tk-o! - RenamesChainIndexingConfig*types to matchBlockRefRange*pattern to support further data model improvements. -
#1660
9bffd55Thanks @tk-o! - Extends ENSIndexer module with functionality allowing compatibility check between two instances of ENSIndexer public config. -
#1675
a13e206Thanks @tk-o! - IncludesbuildOmnichainIndexingStatusSnapshotfunction for simple builder returningOmnichainIndexingStatusSnapshotobject. -
#1705
a0be9a6Thanks @tk-o! - AddedensRainbowPublicConfigfield toEnsIndexerPublicConfig. -
#1699
3d7fb07Thanks @tk-o! - ReplacedBlockrangedata model with more versatile ones:BlockNumberRangeandBlockRefRange. -
#1675
a13e206Thanks @tk-o! - IntroducedbuildIndexedBlockrangesfunction that builds a map of indexed blockranges configured for each indexed chain. -
#1643
4cf6f41Thanks @tk-o! - IntroducesEnsIndexerClientclass, supporting easy interactions with ENSIndexer APIs. -
#1617
1bc599fThanks @tk-o! - IntroducesvalidateChainIndexingStatusSnapshotwhich enables validating values against business-layer requirements. -
#1542
500388bThanks @Goader! - Flipped dependency relationship betweenensnode-sdkandens-referrals. Introduced newENSReferralsClientfor referral leaderboard APIs. Consolidated duplicate types (ChainId,AccountId,UnixTimestamp,Duration) by importing fromensnode-sdk. -
#1699
3d7fb07Thanks @tk-o! - ReplacedcreateIndexingConfigfunction withbuildBlockRefRangethat utilises updatedBlockRefRangedata model. -
#1697
70b15a1Thanks @tk-o! - Introduced streamlined datamodel for block ranges. -
#1629
43d3e9cThanks @tk-o! - Introducedvalidate*functions for Indexing Status data model. These functions enable new use cases on consumer side. -
#1562
84a4c5eThanks @Goader! - Migrated v1 referrer leaderboard API to use maturePriceEthandPriceUsdctypes fromensnode-sdk, replacing temporaryRevenueContributionandUSDQuantitytypes. Added/v1subpath export toens-referrals.
Patch Changes
-
#1553
220b71fThanks @lightwalker-eth! - Added getDefaultEnsNodeUrl utility to get the URL for the default ENSNode deployment for a given ENS namespace -
#1688
6f4d39bThanks @djstrong! -EnsRainbowApiClient.heal()now accepts labelhashes in any common format — with or without a0xprefix, uppercase hex characters, bracket-enclosed encoded labelhashes, or odd-length hex strings — and normalizes them automatically. Invalid inputs return aHealBadRequestErrorrather than throwing.The underlying normalization utilities (
parseLabelHash,parseEncodedLabelHash,parseLabelHashOrEncodedLabelHash) are also exported from@ensnode/ensnode-sdkfor use in other contexts. -
#1603
8be113bThanks @Goader! - AddsparseTimestamputility to parse ISO 8601 date strings into Unix timestamps. AddserrorTtloption toSWRCachefor configuring separate revalidation intervals for cached errors vs. successful results. -
Updated dependencies [
a87b437]:- @ensnode/datasources@1.6.0
@ensnode/ensrainbow-sdk@1.6.0
Minor Changes
- #1705
a0be9a6Thanks @tk-o! - Altered code references accordingly to the updatedEnsIndexerPublicConfigdata model.
Patch Changes
-
#1688
6f4d39bThanks @djstrong! -EnsRainbowApiClient.heal()now accepts labelhashes in any common format — with or without a0xprefix, uppercase hex characters, bracket-enclosed encoded labelhashes, or odd-length hex strings — and normalizes them automatically. Invalid inputs return aHealBadRequestErrorrather than throwing.The underlying normalization utilities (
parseLabelHash,parseEncodedLabelHash,parseLabelHashOrEncodedLabelHash) are also exported from@ensnode/ensnode-sdkfor use in other contexts. -
#1425
b06e60fThanks @djstrong! - Adds/v1/configendpoint to ENSRainbow API returning public configuration (version, label set, records count) and deprecates/v1/versionendpoint. The new endpoint provides comprehensive service discovery capabilities for clients.Server startup now requires an initialized database (with a precalculated record count). Run ingestion before starting the server so
/v1/configis accurate and the service is ready to serve. If the database is empty or uninitialized, startup fails with a clear error directing you to run ingestion first.
@ensnode/ponder-sdk@1.6.0
Minor Changes
-
#1602
ce9ea49Thanks @tk-o! - Introduce theponder-sdkpackage, including an initialPonderClientimplementation. -
#1675
a13e206Thanks @tk-o! - IncludesmergeBlockNumberRangeshelper function to enable indexed blockrange aggregation, for example, across multiple contract definitions. -
#1675
a13e206Thanks @tk-o! - IntroducesLocalPonderClientclass which wrapsPonderClientwith useful data model enhancements. -
#1604
eec37a7Thanks @tk-o! - ExtendPonderClientwith additional methods:health(),metrics(). -
#1699
3d7fb07Thanks @tk-o! - ReplacedBlockrangedata model with more versatile ones:BlockNumberRangeandBlockRefRange. -
#1697
70b15a1Thanks @tk-o! - Introduced streamlined datamodel for block ranges.
@ensnode/datasources@1.6.0
Patch Changes
- #1516
a87b437Thanks @shrugs! - Introduces a temporarysepolia-v2ENS Namespace, intended for testing of ephemeral ENSv2 deployments to the Sepolia chain. This feature is intended for developers of the ENS protocol, and is highly experimental and should be considered unstable.
@ensnode/ensnode-react@1.6.0
Patch Changes
- Updated dependencies [
220b71f,75c8b01,a13e206,1f8a05b,9bffd55,91d7653,9bffd55,a13e206,a0be9a6,3d7fb07,6f4d39b,a13e206,4cf6f41,8be113b,1bc599f,500388b,3d7fb07,70b15a1,43d3e9c,84a4c5e]:- @ensnode/ensnode-sdk@1.6.0
@namehash/namehash-ui@1.6.0
Patch Changes
-
#1551
6e6020cThanks @Y3drk! - Refines several features as a result of the application of the package in ENSAwards. -
Updated dependencies [
220b71f,75c8b01,a13e206,1f8a05b,9bffd55,91d7653,9bffd55,a13e206,a0be9a6,3d7fb07,6f4d39b,a13e206,4cf6f41,8be113b,1bc599f,500388b,a87b437,3d7fb07,70b15a1,43d3e9c,84a4c5e]:- @ensnode/ensnode-sdk@1.6.0
- @ensnode/datasources@1.6.0
- @ensnode/ensnode-react@1.6.0
@ensnode/ponder-subgraph@1.6.0
ensadmin@1.6.0
Minor Changes
-
#1705
a0be9a6Thanks @tk-o! - Altered code references accordingly to the updatedEnsIndexerPublicConfigdata model. -
#1701
b0de5e9Thanks @tk-o! - No longer depends on@ensnode/ponder-metadatapackage. -
#1332
bfaa673Thanks @tk-o! - UpdatesuseIndexingStatusWithSwrto always return current realtime indexing status projection. -
#1699
3d7fb07Thanks @tk-o! - Applied updated data model for block ranges. -
#1332
bfaa673Thanks @tk-o! - IncludesProjectionInfocomponent on Indexing Status page.
Patch Changes
- Updated dependencies [
220b71f,75c8b01,a13e206,1f8a05b,9bffd55,6e6020c,91d7653,9bffd55,a13e206,a0be9a6,3d7fb07,6f4d39b,a13e206,4cf6f41,8be113b,1bc599f,500388b,9bffd55,a87b437,3d7fb07,70b15a1,43d3e9c,84a4c5e]:- @ensnode/ensnode-sdk@1.6.0
- @namehash/namehash-ui@1.6.0
- @ensnode/ensnode-schema@1.6.0
- @ensnode/datasources@1.6.0
- @ensnode/ensnode-react@1.6.0
ensapi@1.6.0
Minor Changes
-
#1663
c6cc7c4Thanks @Goader! - Introduces a pluggable award model architecture for referral program editions. The original Holiday Awards logic is now encapsulated as thepie-splitmodel. A newrev-share-limitmodel is added to support the upcoming referral program edition.ReferralProgramRulesis now a discriminated union overawardModel, with anUnrecognizedvariant for forward compatibility — older clients safely skip editions with unknown models rather than crashing. -
#1621
75c8b01Thanks @Goader! - Addedstatusfield to referral program API responses (ReferrerLeaderboardPage,ReferrerEditionMetricsRanked,ReferrerEditionMetricsUnranked) indicating whether a program is "Scheduled", "Active", or "Closed" based on the program's timing relative toaccurateAsOf. -
#1603
8be113bThanks @Goader! - Introduces referral program editions support with pre-configured edition definitions (ENS Holiday Awards December 2025, March 2026 edition). Updated ENSAnalytics API v1 to support edition-based leaderboard queries and added edition configuration to environment schema. -
#1654
40b95fbThanks @shrugs! - ENSv2 GraphQL API: BREAKING: Removes Account.domains in favor ofQuery.domainswithownerspecified. -
#1576
6e98fb6Thanks @shrugs! - The experimental ENSv2 API now supports the following Domain filters, namely matching indexed Domains by name prefix.Query.domains(where: { name?: "example.et", owner?: "0xdead...beef" })
-
#1705
a0be9a6Thanks @tk-o! - Altered code references accordingly to the updatedEnsIndexerPublicConfigdata model. -
#1670
3ce245eThanks @shrugs! - ENSv2 GraphQL API: BREAKING —Domain.labelis now aLabelrather than aString, providingLabel.hashandLabel.interpreted(the previous value ofDomain.label). -
#1670
3ce245eThanks @shrugs! - ENSv2GraphQL API: IntroduceDomain.subdomainCount. -
#1659
43b50cfThanks @shrugs! - Theens-test-envnamespace now functions against devnet commit762de44, which includes the major refactor of ENSv2 onto the ENS Root Chain, away from Namechain. -
#1621
75c8b01Thanks @Goader! - Referral program edition leaderboard caches now check for immutability within the cache builder function. Closed editions past the safety window return cached data without re-fetching. -
#1655
41077b3Thanks @shrugs! - ENSv2 API: Breaking change, Registration.start is replaced by Registration.event.timestamp. -
#1658
08e893eThanks @shrugs! - ENSv2 GraphQL API: IntroducesDomain.subdomainsfor traversal of the unified ENSv1/ENSv2 namegraph without needing to select a type-specific fragment. -
#1554
365c996Thanks @Goader! - Implemented API versioning for ENSAnalytics referral endpoints. Introduced explicit/ensanalytics/v1/*routes while preserving existing/ensanalytics/*routes as implicit v0. -
#1595
229eaebThanks @shrugs! - ENSv2 GraphQL API: Introduces order criteria for Domain methods, i.e.Query.domains(order: { by: NAME, dir: ASC }). The supported Order criteria areNAME,REGISTRATION_TIMESTAMP, andREGISTRATION_EXPIRYin eitherASCorDESCorders, defaulting toNAMEandASC. -
#1654
40b95fbThanks @shrugs! - Adds acanonical?: booleanfilter to the where filter inQuery.domains. When specified, the resulting set of Domains is composed exclusively of Canonical Domains.
Patch Changes
-
#1680
a5f9178Thanks @shrugs! - addAccount.domainsand enhanceDomain.subdomainsandRegistry.domainswith filtering and orderingAccount.domains(new) — paginated connection of domains owned by this account.where: { name?: String, canonical?: Boolean }— optional partial Interpreted Name filter and canonical filter (defaults to false)order: { by: NAME | REGISTRATION_TIMESTAMP | REGISTRATION_EXPIRY, dir: ASC | DESC }— ordering
Domain.subdomains(enhanced) — paginated connection of subdomains of this domain, now with filtering and ordering.where: { name?: String }— optional partial Interpreted Name filterorder: { by: NAME | REGISTRATION_TIMESTAMP | REGISTRATION_EXPIRY, dir: ASC | DESC }— ordering
Registry.domains(enhanced) — paginated connection of domains in this registry, now with filtering and ordering.where: { name?: String }— optional partial Interpreted Name filterorder: { by: NAME | REGISTRATION_TIMESTAMP | REGISTRATION_EXPIRY, dir: ASC | DESC }— ordering
Query.domains(updated) —where.nameis now required. Added optionalwhere.canonicalfilter (defaults to false).where: { name: String!, canonical?: Boolean }— required partial Interpreted Name, optional canonical filterorder: { by: NAME | REGISTRATION_TIMESTAMP | REGISTRATION_EXPIRY, dir: ASC | DESC }— ordering
-
#1542
500388bThanks @Goader! - Flipped dependency relationship betweenensnode-sdkandens-referrals. Introduced newENSReferralsClientfor referral leaderboard APIs. Consolidated duplicate types (ChainId,AccountId,UnixTimestamp,Duration) by importing fromensnode-sdk. -
#1562
84a4c5eThanks @Goader! - Migrated v1 referrer leaderboard API to use maturePriceEthandPriceUsdctypes fromensnode-sdk, replacing temporaryRevenueContributionandUSDQuantitytypes. Added/v1subpath export toens-referrals. -
Updated dependencies [
c6cc7c4,75c8b01,220b71f,75c8b01,8be113b,a13e206,1f8a05b,9bffd55,91d7653,9bffd55,a13e206,a0be9a6,3d7fb07,6f4d39b,a13e206,4cf6f41,8be113b,3ece8f0,1bc599f,500388b,9bffd55,a87b437,3d7fb07,70b15a1,43d3e9c,84a4c5e]:- @namehash/ens-referrals@1.6.0
- @ensnode/ensnode-sdk@1.6.0
- @ensnode/ensnode-schema@1.6.0
- @ensnode/datasources@1.6.0
- @ensnode/ponder-subgraph@1.6.0
ensindexer@1.6.0
Minor Changes
-
#1702
57fe689Thanks @tk-o! - IntroducedEnsDbClientandEnsDbWriterWorkerto enable storing metadata in ENSDb. -
#1705
a0be9a6Thanks @tk-o! - Altered code references accordingly to the updatedEnsIndexerPublicConfigdata model. -
#1659
43b50cfThanks @shrugs! - Theens-test-envnamespace now functions against devnet commit762de44, which includes the major refactor of ENSv2 onto the ENS Root Chain, away from Namechain. -
#1675
a13e206Thanks @tk-o! - IntroducesIndexingStatusBuilderclass that integratesLocalPonderClientto enhance Indexing Status API. -
#1701
b0de5e9Thanks @tk-o! - No longer depends on@ensnode/ponder-metadatapackage. -
#1715
1f8a05bThanks @tk-o! - Refactored HTTP handlers to rely solely on ENSDb Client for data. -
#1699
3d7fb07Thanks @tk-o! - Applied updated data model for block ranges.
Patch Changes
- Updated dependencies [
220b71f,75c8b01,ce9ea49,a0be9a6,a13e206,1f8a05b,9bffd55,91d7653,a13e206,9bffd55,a13e206,eec37a7,a0be9a6,3d7fb07,6f4d39b,a13e206,4cf6f41,8be113b,1bc599f,500388b,9bffd55,a87b437,3d7fb07,70b15a1,43d3e9c,84a4c5e,b06e60f]:- @ensnode/ensnode-sdk@1.6.0
- @ensnode/ponder-sdk@1.6.0
- @ensnode/ensrainbow-sdk@1.6.0
- @ensnode/ensnode-schema@1.6.0
- @ensnode/datasources@1.6.0
ensrainbow@1.6.0
Minor Changes
- #1648
42534c8Thanks @djstrong! - Constrain CSV input to single-column format (label only). The two-column format (label + labelhash) is no longer supported. All labelhashes are now computed deterministically from labels, removing the risk of incorrect mappings from untrusted labelhash values.
Patch Changes
-
#1425
b06e60fThanks @djstrong! - Adds/v1/configendpoint to ENSRainbow API returning public configuration (version, label set, records count) and deprecates/v1/versionendpoint. The new endpoint provides comprehensive service discovery capabilities for clients.Server startup now requires an initialized database (with a precalculated record count). Run ingestion before starting the server so
/v1/configis accurate and the service is ready to serve. If the database is empty or uninitialized, startup fails with a clear error directing you to run ingestion first. -
Updated dependencies [
220b71f,75c8b01,a0be9a6,a13e206,1f8a05b,9bffd55,91d7653,9bffd55,a13e206,a0be9a6,3d7fb07,6f4d39b,a13e206,4cf6f41,8be113b,1bc599f,500388b,3d7fb07,70b15a1,43d3e9c,84a4c5e,b06e60f]:- @ensnode/ensnode-sdk@1.6.0
- @ensnode/ensrainbow-sdk@1.6.0
@docs/ensnode@1.6.0
Minor Changes
-
#1705
a0be9a6Thanks @tk-o! - Altered code references accordingly to the updatedEnsIndexerPublicConfigdata model.
Patch Changes
-
#1558
69f5c6bThanks @lightwalker-eth! - Activate Context7 to assist builders using LLMs to build on ENSNode -
#1579
a14120dThanks @tk-o! - Included ENSRainbow Searchlight instance on Hosted ENSRainbow Instances page.
fallback-ensapi@1.6.0
Patch Changes
- Updated dependencies [
220b71f,75c8b01,a13e206,1f8a05b,9bffd55,91d7653,9bffd55,a13e206,a0be9a6,3d7fb07,6f4d39b,a13e206,4cf6f41,8be113b,1bc599f,500388b,a87b437,3d7fb07,70b15a1,43d3e9c,84a4c5e]:- @ensnode/ensnode-sdk@1.6.0
- @ensnode/datasources@1.6.0
@docs/mintlify@1.6.0
@docs/ensrainbow@1.6.0
📦 NPM packages
- @ensnode/datasources@1.6.0
- @ensnode/ensnode-react@1.6.0
- @ensnode/ensnode-schema@1.6.0
- @ensnode/ensnode-sdk@1.6.0
- @ensnode/ensrainbow-sdk@1.6.0
- @ensnode/ponder-sdk@1.6.0
- @ensnode/ponder-subgraph@1.6.0