From 9b180723dbdefc991078946196511b5fe89bfc2e Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Fri, 5 Jun 2026 23:09:00 +0000
Subject: [PATCH 1/2] RELEASING: Releasing 24 package(s)
Releases:
@ensnode/datasources@1.15.2
ensapi@1.15.2
enscli@1.15.2
@ensnode/ensnode-sdk@1.15.2
ensskills@1.15.2
ensindexer@1.15.2
@ensnode/ensdb-sdk@1.15.2
ensrainbow@1.15.2
@ensnode/ensrainbow-sdk@1.15.2
ensadmin@1.15.2
fallback-ensapi@1.15.2
@ensnode/integration-test-env@1.15.2
@namehash/namehash-ui@1.15.2
@docs/ensnode@1.15.2
@namehash/ens-referrals@1.15.2
@docs/ensrainbow@1.15.2
enssdk@1.15.2
enskit@1.15.2
@ensnode/ponder-sdk@1.15.2
@ensnode/ponder-subgraph@1.15.2
@ensnode/shared-configs@1.15.2
@ensnode/ensindexer-perf-testing@1.15.2
@ensnode/enskit-react-example@0.0.10
@ensnode/enssdk-example@0.0.4
[skip ci]
---
.changeset/datasources-identify-contracts.md | 5 ----
.changeset/domain-profile-omnigraph.md | 5 ----
.changeset/domain-resolver-effective.md | 5 ----
.changeset/ensapi-universal-resolver-proxy.md | 5 ----
.changeset/enscli-datasources-identify.md | 5 ----
.changeset/enscli-initial.md | 5 ----
.changeset/ensnode-sdk-sepolia-v2-default.md | 5 ----
.changeset/ensskills-datasources-identify.md | 5 ----
.changeset/ensskills-initial.md | 5 ----
.changeset/ensskills-llms-txt-link.md | 5 ----
...-resolution-delegate-universal-resolver.md | 5 ----
.changeset/light-tools-stare.md | 6 -----
.changeset/omnigraph-resolution-api.md | 9 -------
.../recently-registered-subdomains-index.md | 6 -----
.../searchable-canonical-name-prefix.md | 7 -----
.changeset/server-heal-labelhash-verify.md | 6 -----
.changeset/universal-resolver-proxy.md | 5 ----
apps/ensadmin/CHANGELOG.md | 11 ++++++++
apps/ensadmin/package.json | 2 +-
apps/ensapi/CHANGELOG.md | 27 +++++++++++++++++++
apps/ensapi/package.json | 2 +-
apps/ensindexer/CHANGELOG.md | 18 +++++++++++++
apps/ensindexer/package.json | 2 +-
apps/ensrainbow/CHANGELOG.md | 11 ++++++++
apps/ensrainbow/package.json | 2 +-
apps/fallback-ensapi/CHANGELOG.md | 8 ++++++
apps/fallback-ensapi/package.json | 2 +-
docs/ensnode.io/CHANGELOG.md | 8 ++++++
docs/ensnode.io/package.json | 2 +-
docs/ensrainbow.io/CHANGELOG.md | 7 +++++
docs/ensrainbow.io/package.json | 2 +-
examples/enskit-react-example/CHANGELOG.md | 8 ++++++
examples/enskit-react-example/package.json | 6 ++---
examples/enssdk-example/CHANGELOG.md | 7 +++++
examples/enssdk-example/package.json | 4 +--
packages/datasources/CHANGELOG.md | 13 +++++++++
packages/datasources/package.json | 2 +-
packages/ens-referrals/CHANGELOG.md | 8 ++++++
packages/ens-referrals/package.json | 2 +-
packages/enscli/CHANGELOG.md | 14 ++++++++++
packages/enscli/package.json | 2 +-
packages/ensdb-sdk/CHANGELOG.md | 12 +++++++++
packages/ensdb-sdk/package.json | 2 +-
packages/ensindexer-perf-testing/CHANGELOG.md | 2 ++
packages/ensindexer-perf-testing/package.json | 2 +-
packages/enskit/CHANGELOG.md | 7 +++++
packages/enskit/package.json | 2 +-
packages/ensnode-sdk/CHANGELOG.md | 10 +++++++
packages/ensnode-sdk/package.json | 2 +-
packages/ensrainbow-sdk/CHANGELOG.md | 9 +++++++
packages/ensrainbow-sdk/package.json | 2 +-
packages/enssdk/CHANGELOG.md | 2 ++
packages/enssdk/package.json | 2 +-
packages/ensskills/CHANGELOG.md | 10 +++++++
packages/ensskills/package.json | 2 +-
packages/integration-test-env/CHANGELOG.md | 11 ++++++++
packages/integration-test-env/package.json | 2 +-
packages/namehash-ui/CHANGELOG.md | 9 +++++++
packages/namehash-ui/package.json | 2 +-
packages/ponder-sdk/CHANGELOG.md | 2 ++
packages/ponder-sdk/package.json | 2 +-
packages/ponder-subgraph/CHANGELOG.md | 2 ++
packages/ponder-subgraph/package.json | 2 +-
packages/shared-configs/CHANGELOG.md | 2 ++
packages/shared-configs/package.json | 2 +-
65 files changed, 245 insertions(+), 121 deletions(-)
delete mode 100644 .changeset/datasources-identify-contracts.md
delete mode 100644 .changeset/domain-profile-omnigraph.md
delete mode 100644 .changeset/domain-resolver-effective.md
delete mode 100644 .changeset/ensapi-universal-resolver-proxy.md
delete mode 100644 .changeset/enscli-datasources-identify.md
delete mode 100644 .changeset/enscli-initial.md
delete mode 100644 .changeset/ensnode-sdk-sepolia-v2-default.md
delete mode 100644 .changeset/ensskills-datasources-identify.md
delete mode 100644 .changeset/ensskills-initial.md
delete mode 100644 .changeset/ensskills-llms-txt-link.md
delete mode 100644 .changeset/forward-resolution-delegate-universal-resolver.md
delete mode 100644 .changeset/light-tools-stare.md
delete mode 100644 .changeset/omnigraph-resolution-api.md
delete mode 100644 .changeset/recently-registered-subdomains-index.md
delete mode 100644 .changeset/searchable-canonical-name-prefix.md
delete mode 100644 .changeset/server-heal-labelhash-verify.md
delete mode 100644 .changeset/universal-resolver-proxy.md
diff --git a/.changeset/datasources-identify-contracts.md b/.changeset/datasources-identify-contracts.md
deleted file mode 100644
index 386f744815..0000000000
--- a/.changeset/datasources-identify-contracts.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@ensnode/datasources": patch
----
-
-Add contract identification by address. `@ensnode/datasources` exports `identifyDatasourceContracts(namespaceId, query)`, which finds every well-known contract in a namespace's datasources whose address matches a given address, optionally scoped to a chain.
diff --git a/.changeset/domain-profile-omnigraph.md b/.changeset/domain-profile-omnigraph.md
deleted file mode 100644
index a11332c89f..0000000000
--- a/.changeset/domain-profile-omnigraph.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"ensapi": patch
----
-
-**Omnigraph API:** Introduces `Domain.resolve.profile` and `PrimaryNameRecord.resolve.profile` for resolving semantic record values.
diff --git a/.changeset/domain-resolver-effective.md b/.changeset/domain-resolver-effective.md
deleted file mode 100644
index e76f7c1868..0000000000
--- a/.changeset/domain-resolver-effective.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"ensapi": patch
----
-
-**Omnigraph API:** Adds `DomainResolver.effective`, the Resolver that ENS Forward Resolution (ENSIP-10) lands on for a Domain. Complements the existing `DomainResolver.assigned` (the Domain's directly-assigned Resolver).
diff --git a/.changeset/ensapi-universal-resolver-proxy.md b/.changeset/ensapi-universal-resolver-proxy.md
deleted file mode 100644
index f8d709d42a..0000000000
--- a/.changeset/ensapi-universal-resolver-proxy.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"ensapi": patch
----
-
-Omnigraph API: Resolution now uses the ENSv2-ready stable UniversalResolver proxy address when not accelerated.
diff --git a/.changeset/enscli-datasources-identify.md b/.changeset/enscli-datasources-identify.md
deleted file mode 100644
index 57d2e58324..0000000000
--- a/.changeset/enscli-datasources-identify.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"enscli": patch
----
-
-`enscli` gains `datasources identify
`: an offline command that reports which well-known ENS contract an address corresponds to. It accepts a bare address, a chain-scoped `chainId:address`, or full CAIP-10 `eip155:chainId:address`, and `--namespace` (default `mainnet`) selects which namespace to search. A miss returns `{ matches: [] }` with exit code `0`.
diff --git a/.changeset/enscli-initial.md b/.changeset/enscli-initial.md
deleted file mode 100644
index e41026a279..0000000000
--- a/.changeset/enscli-initial.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"enscli": patch
----
-
-Introduce `enscli`, a new agent- and human-friendly CLI for ENS that wraps `enssdk` and the ENS Omnigraph. It supports raw Omnigraph queries (`enscli ensnode omnigraph "" --variables …`), offline schema exploration (`enscli ensnode omnigraph schema [Type[.field]]`), indexing status, ENSRainbow healing, and `namehash`/`labelhash`. It defaults to NameHash-hosted instances per `--namespace` (mainnet, sepolia, sepolia-v2), resolves config from flags/env/`.env`, outputs JSON when piped and a pretty form in a TTY, and hardens inputs against agent hallucinations.
diff --git a/.changeset/ensnode-sdk-sepolia-v2-default.md b/.changeset/ensnode-sdk-sepolia-v2-default.md
deleted file mode 100644
index 81540ccba8..0000000000
--- a/.changeset/ensnode-sdk-sepolia-v2-default.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@ensnode/ensnode-sdk": patch
----
-
-`getDefaultEnsNodeUrl` now returns the hosted default for the `sepolia-v2` namespace (`https://api.v2-sepolia.ensnode.io`).
diff --git a/.changeset/ensskills-datasources-identify.md b/.changeset/ensskills-datasources-identify.md
deleted file mode 100644
index 5685e04672..0000000000
--- a/.changeset/ensskills-datasources-identify.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"ensskills": patch
----
-
-The `enscli` agent skill documents the new `datasources identify` command.
diff --git a/.changeset/ensskills-initial.md b/.changeset/ensskills-initial.md
deleted file mode 100644
index 8491f0934d..0000000000
--- a/.changeset/ensskills-initial.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"ensskills": patch
----
-
-Introduce `ensskills`, a versioned, `skills-npm`-installable package of ENS agent skills. It ships the `ens-protocol` skill (a concise, stable, vendor-neutral conceptual model of the ENS protocol — nametree, normalization, hashing, registry/resolver/registrar, resolution, records, multichain — with pull-as-needed reference pages), the `omnigraph` skill (autogenerated schema reference + vetted example queries, plus prose on the unified ENSv1+ENSv2 datamodel and resolution), and the `enscli` skill (running Omnigraph queries and the other CLI commands, with the output contract, namespace/URL resolution, and input hardening), with stub skills reserved for `enssdk`, `enskit`, `migrate-to-omnigraph`, and `unigraph-sql`.
diff --git a/.changeset/ensskills-llms-txt-link.md b/.changeset/ensskills-llms-txt-link.md
deleted file mode 100644
index 418dafba9f..0000000000
--- a/.changeset/ensskills-llms-txt-link.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"ensskills": patch
----
-
-Point the base skill at the published `llms.txt` / `llms-full.txt` docs endpoints so agents can load the full ENSNode documentation when a question reaches beyond the skills.
diff --git a/.changeset/forward-resolution-delegate-universal-resolver.md b/.changeset/forward-resolution-delegate-universal-resolver.md
deleted file mode 100644
index c14d96b710..0000000000
--- a/.changeset/forward-resolution-delegate-universal-resolver.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"ensapi": patch
----
-
-Forward Resolution now fully delegates to the `UniversalResolver` whenever records cannot be accelerated, correctly implementing the [ENSv2-Readiness](https://docs.ens.domains/web/ensv2-readiness/) check for `ur.integration-test.eth`. Unaccelerated requests are always delegated to the `UniversalResolver`.
diff --git a/.changeset/light-tools-stare.md b/.changeset/light-tools-stare.md
deleted file mode 100644
index f66c2956fa..0000000000
--- a/.changeset/light-tools-stare.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-"@ensnode/datasources": patch
-"ensindexer": patch
----
-
-Updates the `sepolia-v2` ENS Namespace to support the latest ENSv1+ENSv2 test deployment on Sepolia.
diff --git a/.changeset/omnigraph-resolution-api.md b/.changeset/omnigraph-resolution-api.md
deleted file mode 100644
index 6312e6f99d..0000000000
--- a/.changeset/omnigraph-resolution-api.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-"ensapi": patch
----
-
-Changes related to **Omnigraph**:
-
-- add `Domain.resolve { records, trace, acceleration, profile? }` for forward resolution driven by the GraphQL selection set
-- add `Account.resolve { primaryName(by: ...), primaryNames(where: ...) }` for reverse (ENSIP-19 primary name) resolution with `@oneOf` inputs (`coinType`/`chainName`, `coinTypes`/`chainNames`)
-- add `PrimaryNameRecord.resolve { records, ... }` for forward resolution of the resolved primary name
diff --git a/.changeset/recently-registered-subdomains-index.md b/.changeset/recently-registered-subdomains-index.md
deleted file mode 100644
index 7a8644f18b..0000000000
--- a/.changeset/recently-registered-subdomains-index.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-"@ensnode/ensdb-sdk": patch
-"ensindexer": patch
----
-
-Index-accelerate `REGISTRATION_TIMESTAMP` / `REGISTRATION_EXPIRY`-ordered domain queries (e.g. `Domain.subdomains(order: { by: REGISTRATION_TIMESTAMP, dir: DESC })`). Previously these joined `domains → latest_registration_indexes → registrations` and sorted the full registry partition — ~55s for `.eth`'s subdomains. The latest registration's start/expiry is now mirrored onto the Domain row (`__latestRegistrationStart` / `__latestRegistrationExpiry`) with composite indexes `(registry_id, , id)`, turning the query into an index-ordered scan. The sort columns are NOT NULL — an absent value (no registration, or a never-expiring registration) is materialized as a `+∞` sentinel — so a single plain composite per column serves both directions with a plain keyset tuple, and the sentinel sorts last for ASC and first for DESC.
diff --git a/.changeset/searchable-canonical-name-prefix.md b/.changeset/searchable-canonical-name-prefix.md
deleted file mode 100644
index 1f89f433d9..0000000000
--- a/.changeset/searchable-canonical-name-prefix.md
+++ /dev/null
@@ -1,7 +0,0 @@
----
-"@ensnode/ensdb-sdk": patch
-"ensindexer": patch
-"ensapi": patch
----
-
-Add a materialized `domains.__canonical_name_prefix` column — the first 64 code points of `canonical_name` — to back left-anchored / substring search and NAME ordering. Direct-SQL consumers can now `WHERE __canonical_name_prefix LIKE 'vit%' ORDER BY __canonical_name_prefix` instead of replicating the previous `left(canonical_name, 256)` expression index. `canonical_name` is unchanged and remains the column for exact (`=` / `IN`) matches and display; the Omnigraph `name.starts_with` filter now targets the prefix column while continuing to return `canonical_name`.
diff --git a/.changeset/server-heal-labelhash-verify.md b/.changeset/server-heal-labelhash-verify.md
deleted file mode 100644
index 8e85cf2f8b..0000000000
--- a/.changeset/server-heal-labelhash-verify.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-"ensrainbow": patch
-"@ensnode/ensrainbow-sdk": patch
----
-
-Labelhash verification for heal responses now runs in `ensrainbow` (server) instead of `@ensnode/ensrainbow-sdk` (client). Malformed rainbow records — where the stored label does not hash back to the requested `labelHash` — are rejected as `NotFound`.
diff --git a/.changeset/universal-resolver-proxy.md b/.changeset/universal-resolver-proxy.md
deleted file mode 100644
index d6d4517c20..0000000000
--- a/.changeset/universal-resolver-proxy.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"@ensnode/datasources": patch
----
-
-Consolidate UniversalResolver onto the `IUniversalResolver` proxy. Each ENSRoot Datasource now exposes a single `UniversalResolver` contract pointing at the proxy address (`0xeeeeeeee14d718c2b47d9923deab1335e144eeee` on mainnet/sepolia), replacing the separate `UniversalResolver` (V1) and `UniversalResolverV2` contracts. The exported `UniversalResolverABI` is now `IUniversalResolver` merged with `IMulticallable`.
diff --git a/apps/ensadmin/CHANGELOG.md b/apps/ensadmin/CHANGELOG.md
index c323853472..f860f4ff7c 100644
--- a/apps/ensadmin/CHANGELOG.md
+++ b/apps/ensadmin/CHANGELOG.md
@@ -1,5 +1,16 @@
# ensadmin
+## 1.15.2
+
+### Patch Changes
+
+- Updated dependencies [[`0eec193`](https://github.com/namehash/ensnode/commit/0eec19344e576db7021ab4f16c420477efe9cd54), [`0eec193`](https://github.com/namehash/ensnode/commit/0eec19344e576db7021ab4f16c420477efe9cd54), [`39cb445`](https://github.com/namehash/ensnode/commit/39cb445b8d8790aa9d6fe2ee904e60bdb158efbd), [`6165f50`](https://github.com/namehash/ensnode/commit/6165f50e26729c6d740c7424034057642f5175b5)]:
+ - @ensnode/datasources@1.15.2
+ - @ensnode/ensnode-sdk@1.15.2
+ - @namehash/namehash-ui@1.15.2
+ - enssdk@1.15.2
+ - @ensnode/scalar-react@0.0.0
+
## 1.15.1
### Patch Changes
diff --git a/apps/ensadmin/package.json b/apps/ensadmin/package.json
index 6010f2ff8e..49d663114e 100644
--- a/apps/ensadmin/package.json
+++ b/apps/ensadmin/package.json
@@ -1,6 +1,6 @@
{
"name": "ensadmin",
- "version": "1.15.1",
+ "version": "1.15.2",
"private": true,
"type": "module",
"description": "Inspect the ENS Protocol like never before",
diff --git a/apps/ensapi/CHANGELOG.md b/apps/ensapi/CHANGELOG.md
index 3285e6d467..44a970744f 100644
--- a/apps/ensapi/CHANGELOG.md
+++ b/apps/ensapi/CHANGELOG.md
@@ -1,5 +1,32 @@
# ensapi
+## 1.15.2
+
+### Patch Changes
+
+- [#2240](https://github.com/namehash/ensnode/pull/2240) [`7d23ee9`](https://github.com/namehash/ensnode/commit/7d23ee94d454c81561e5eedb4032377aab1aaedc) Thanks [@sevenzing](https://github.com/sevenzing)! - **Omnigraph API:** Introduces `Domain.resolve.profile` and `PrimaryNameRecord.resolve.profile` for resolving semantic record values.
+
+- [#2265](https://github.com/namehash/ensnode/pull/2265) [`c6f9643`](https://github.com/namehash/ensnode/commit/c6f9643d0855dff6a69b3055fee010a1bbb30342) Thanks [@shrugs](https://github.com/shrugs)! - **Omnigraph API:** Adds `DomainResolver.effective`, the Resolver that ENS Forward Resolution (ENSIP-10) lands on for a Domain. Complements the existing `DomainResolver.assigned` (the Domain's directly-assigned Resolver).
+
+- [#2267](https://github.com/namehash/ensnode/pull/2267) [`6165f50`](https://github.com/namehash/ensnode/commit/6165f50e26729c6d740c7424034057642f5175b5) Thanks [@shrugs](https://github.com/shrugs)! - Omnigraph API: Resolution now uses the ENSv2-ready stable UniversalResolver proxy address when not accelerated.
+
+- [#2268](https://github.com/namehash/ensnode/pull/2268) [`ff75f79`](https://github.com/namehash/ensnode/commit/ff75f795680490bf4f6d3c0518a6f3ae2460e6cd) Thanks [@shrugs](https://github.com/shrugs)! - Forward Resolution now fully delegates to the `UniversalResolver` whenever records cannot be accelerated, correctly implementing the [ENSv2-Readiness](https://docs.ens.domains/web/ensv2-readiness/) check for `ur.integration-test.eth`. Unaccelerated requests are always delegated to the `UniversalResolver`.
+
+- [#1974](https://github.com/namehash/ensnode/pull/1974) [`8a86fb4`](https://github.com/namehash/ensnode/commit/8a86fb4ac8b2651efa68b5c94e408f37093eca2d) Thanks [@sevenzing](https://github.com/sevenzing)! - Changes related to **Omnigraph**:
+ - add `Domain.resolve { records, trace, acceleration, profile? }` for forward resolution driven by the GraphQL selection set
+ - add `Account.resolve { primaryName(by: ...), primaryNames(where: ...) }` for reverse (ENSIP-19 primary name) resolution with `@oneOf` inputs (`coinType`/`chainName`, `coinTypes`/`chainNames`)
+ - add `PrimaryNameRecord.resolve { records, ... }` for forward resolution of the resolved primary name
+
+- [#2255](https://github.com/namehash/ensnode/pull/2255) [`c8267e4`](https://github.com/namehash/ensnode/commit/c8267e45099efd62e5690f19437c8aa242f77601) Thanks [@shrugs](https://github.com/shrugs)! - Add a materialized `domains.__canonical_name_prefix` column — the first 64 code points of `canonical_name` — to back left-anchored / substring search and NAME ordering. Direct-SQL consumers can now `WHERE __canonical_name_prefix LIKE 'vit%' ORDER BY __canonical_name_prefix` instead of replicating the previous `left(canonical_name, 256)` expression index. `canonical_name` is unchanged and remains the column for exact (`=` / `IN`) matches and display; the Omnigraph `name.starts_with` filter now targets the prefix column while continuing to return `canonical_name`.
+
+- Updated dependencies [[`0eec193`](https://github.com/namehash/ensnode/commit/0eec19344e576db7021ab4f16c420477efe9cd54), [`0eec193`](https://github.com/namehash/ensnode/commit/0eec19344e576db7021ab4f16c420477efe9cd54), [`39cb445`](https://github.com/namehash/ensnode/commit/39cb445b8d8790aa9d6fe2ee904e60bdb158efbd), [`5f929d8`](https://github.com/namehash/ensnode/commit/5f929d858a21e935b4b62ce6f2cbccc273623f96), [`c8267e4`](https://github.com/namehash/ensnode/commit/c8267e45099efd62e5690f19437c8aa242f77601), [`6165f50`](https://github.com/namehash/ensnode/commit/6165f50e26729c6d740c7424034057642f5175b5)]:
+ - @ensnode/datasources@1.15.2
+ - @ensnode/ensnode-sdk@1.15.2
+ - @ensnode/ensdb-sdk@1.15.2
+ - @namehash/ens-referrals@1.15.2
+ - enssdk@1.15.2
+ - @ensnode/ponder-subgraph@1.15.2
+
## 1.15.1
### Patch Changes
diff --git a/apps/ensapi/package.json b/apps/ensapi/package.json
index 4a9b71ed75..ecd63fa93a 100644
--- a/apps/ensapi/package.json
+++ b/apps/ensapi/package.json
@@ -1,6 +1,6 @@
{
"name": "ensapi",
- "version": "1.15.1",
+ "version": "1.15.2",
"private": true,
"type": "module",
"description": "ENSNode's ENS API",
diff --git a/apps/ensindexer/CHANGELOG.md b/apps/ensindexer/CHANGELOG.md
index 91bbb3eebd..2556f42e30 100644
--- a/apps/ensindexer/CHANGELOG.md
+++ b/apps/ensindexer/CHANGELOG.md
@@ -1,5 +1,23 @@
# ensindexer
+## 1.15.2
+
+### Patch Changes
+
+- [#2191](https://github.com/namehash/ensnode/pull/2191) [`39cb445`](https://github.com/namehash/ensnode/commit/39cb445b8d8790aa9d6fe2ee904e60bdb158efbd) Thanks [@tk-o](https://github.com/tk-o)! - Updates the `sepolia-v2` ENS Namespace to support the latest ENSv1+ENSv2 test deployment on Sepolia.
+
+- [#2259](https://github.com/namehash/ensnode/pull/2259) [`5f929d8`](https://github.com/namehash/ensnode/commit/5f929d858a21e935b4b62ce6f2cbccc273623f96) Thanks [@shrugs](https://github.com/shrugs)! - Index-accelerate `REGISTRATION_TIMESTAMP` / `REGISTRATION_EXPIRY`-ordered domain queries (e.g. `Domain.subdomains(order: { by: REGISTRATION_TIMESTAMP, dir: DESC })`). Previously these joined `domains → latest_registration_indexes → registrations` and sorted the full registry partition — ~55s for `.eth`'s subdomains. The latest registration's start/expiry is now mirrored onto the Domain row (`__latestRegistrationStart` / `__latestRegistrationExpiry`) with composite indexes `(registry_id, , id)`, turning the query into an index-ordered scan. The sort columns are NOT NULL — an absent value (no registration, or a never-expiring registration) is materialized as a `+∞` sentinel — so a single plain composite per column serves both directions with a plain keyset tuple, and the sentinel sorts last for ASC and first for DESC.
+
+- [#2255](https://github.com/namehash/ensnode/pull/2255) [`c8267e4`](https://github.com/namehash/ensnode/commit/c8267e45099efd62e5690f19437c8aa242f77601) Thanks [@shrugs](https://github.com/shrugs)! - Add a materialized `domains.__canonical_name_prefix` column — the first 64 code points of `canonical_name` — to back left-anchored / substring search and NAME ordering. Direct-SQL consumers can now `WHERE __canonical_name_prefix LIKE 'vit%' ORDER BY __canonical_name_prefix` instead of replicating the previous `left(canonical_name, 256)` expression index. `canonical_name` is unchanged and remains the column for exact (`=` / `IN`) matches and display; the Omnigraph `name.starts_with` filter now targets the prefix column while continuing to return `canonical_name`.
+
+- Updated dependencies [[`0eec193`](https://github.com/namehash/ensnode/commit/0eec19344e576db7021ab4f16c420477efe9cd54), [`0eec193`](https://github.com/namehash/ensnode/commit/0eec19344e576db7021ab4f16c420477efe9cd54), [`39cb445`](https://github.com/namehash/ensnode/commit/39cb445b8d8790aa9d6fe2ee904e60bdb158efbd), [`5f929d8`](https://github.com/namehash/ensnode/commit/5f929d858a21e935b4b62ce6f2cbccc273623f96), [`c8267e4`](https://github.com/namehash/ensnode/commit/c8267e45099efd62e5690f19437c8aa242f77601), [`04388d2`](https://github.com/namehash/ensnode/commit/04388d2193f422a95898eb0ee23e7555397b3ab6), [`6165f50`](https://github.com/namehash/ensnode/commit/6165f50e26729c6d740c7424034057642f5175b5)]:
+ - @ensnode/datasources@1.15.2
+ - @ensnode/ensnode-sdk@1.15.2
+ - @ensnode/ensdb-sdk@1.15.2
+ - @ensnode/ensrainbow-sdk@1.15.2
+ - enssdk@1.15.2
+ - @ensnode/ponder-sdk@1.15.2
+
## 1.15.1
### Patch Changes
diff --git a/apps/ensindexer/package.json b/apps/ensindexer/package.json
index d9663d4ace..57200521f0 100644
--- a/apps/ensindexer/package.json
+++ b/apps/ensindexer/package.json
@@ -1,6 +1,6 @@
{
"name": "ensindexer",
- "version": "1.15.1",
+ "version": "1.15.2",
"private": true,
"type": "module",
"description": "A multichain ENS indexer, powered by Ponder",
diff --git a/apps/ensrainbow/CHANGELOG.md b/apps/ensrainbow/CHANGELOG.md
index e881392b94..af4b1e45b9 100644
--- a/apps/ensrainbow/CHANGELOG.md
+++ b/apps/ensrainbow/CHANGELOG.md
@@ -1,5 +1,16 @@
# ensrainbow
+## 1.15.2
+
+### Patch Changes
+
+- [#2186](https://github.com/namehash/ensnode/pull/2186) [`04388d2`](https://github.com/namehash/ensnode/commit/04388d2193f422a95898eb0ee23e7555397b3ab6) Thanks [@djstrong](https://github.com/djstrong)! - Labelhash verification for heal responses now runs in `ensrainbow` (server) instead of `@ensnode/ensrainbow-sdk` (client). Malformed rainbow records — where the stored label does not hash back to the requested `labelHash` — are rejected as `NotFound`.
+
+- Updated dependencies [[`0eec193`](https://github.com/namehash/ensnode/commit/0eec19344e576db7021ab4f16c420477efe9cd54), [`04388d2`](https://github.com/namehash/ensnode/commit/04388d2193f422a95898eb0ee23e7555397b3ab6)]:
+ - @ensnode/ensnode-sdk@1.15.2
+ - @ensnode/ensrainbow-sdk@1.15.2
+ - enssdk@1.15.2
+
## 1.15.1
### Patch Changes
diff --git a/apps/ensrainbow/package.json b/apps/ensrainbow/package.json
index e6e091d988..e83d03b21c 100644
--- a/apps/ensrainbow/package.json
+++ b/apps/ensrainbow/package.json
@@ -1,6 +1,6 @@
{
"name": "ensrainbow",
- "version": "1.15.1",
+ "version": "1.15.2",
"private": true,
"type": "module",
"description": "ENSRainbow is an ENSNode service for healing ENS labels",
diff --git a/apps/fallback-ensapi/CHANGELOG.md b/apps/fallback-ensapi/CHANGELOG.md
index da41447d7e..bcf754847e 100644
--- a/apps/fallback-ensapi/CHANGELOG.md
+++ b/apps/fallback-ensapi/CHANGELOG.md
@@ -1,5 +1,13 @@
# fallback-ensapi
+## 1.15.2
+
+### Patch Changes
+
+- Updated dependencies [[`0eec193`](https://github.com/namehash/ensnode/commit/0eec19344e576db7021ab4f16c420477efe9cd54), [`0eec193`](https://github.com/namehash/ensnode/commit/0eec19344e576db7021ab4f16c420477efe9cd54), [`39cb445`](https://github.com/namehash/ensnode/commit/39cb445b8d8790aa9d6fe2ee904e60bdb158efbd), [`6165f50`](https://github.com/namehash/ensnode/commit/6165f50e26729c6d740c7424034057642f5175b5)]:
+ - @ensnode/datasources@1.15.2
+ - @ensnode/ensnode-sdk@1.15.2
+
## 1.15.1
### Patch Changes
diff --git a/apps/fallback-ensapi/package.json b/apps/fallback-ensapi/package.json
index 6aa93f32a3..9ed55918b6 100644
--- a/apps/fallback-ensapi/package.json
+++ b/apps/fallback-ensapi/package.json
@@ -1,7 +1,7 @@
{
"private": true,
"name": "fallback-ensapi",
- "version": "1.15.1",
+ "version": "1.15.2",
"type": "module",
"description": "Infrastructure-level Fallback for ENSApi",
"license": "MIT",
diff --git a/docs/ensnode.io/CHANGELOG.md b/docs/ensnode.io/CHANGELOG.md
index 94b7d0d848..96441363d9 100644
--- a/docs/ensnode.io/CHANGELOG.md
+++ b/docs/ensnode.io/CHANGELOG.md
@@ -1,5 +1,13 @@
# @docs/ensnode
+## 1.15.2
+
+### Patch Changes
+
+- Updated dependencies [[`0eec193`](https://github.com/namehash/ensnode/commit/0eec19344e576db7021ab4f16c420477efe9cd54)]:
+ - @ensnode/ensnode-sdk@1.15.2
+ - @namehash/namehash-ui@1.15.2
+
## 1.15.1
### Patch Changes
diff --git a/docs/ensnode.io/package.json b/docs/ensnode.io/package.json
index cf63195c77..37dd70b218 100644
--- a/docs/ensnode.io/package.json
+++ b/docs/ensnode.io/package.json
@@ -3,7 +3,7 @@
"private": true,
"license": "MIT",
"type": "module",
- "version": "1.15.1",
+ "version": "1.15.2",
"packageManager": "pnpm@10.33.0",
"scripts": {
"dev": "astro dev",
diff --git a/docs/ensrainbow.io/CHANGELOG.md b/docs/ensrainbow.io/CHANGELOG.md
index 93dcc50380..afd0c05ae5 100644
--- a/docs/ensrainbow.io/CHANGELOG.md
+++ b/docs/ensrainbow.io/CHANGELOG.md
@@ -1,5 +1,12 @@
# @docs/ensrainbow
+## 1.15.2
+
+### Patch Changes
+
+- Updated dependencies []:
+ - @namehash/namehash-ui@1.15.2
+
## 1.15.1
### Patch Changes
diff --git a/docs/ensrainbow.io/package.json b/docs/ensrainbow.io/package.json
index ad4a91c208..19b971691e 100644
--- a/docs/ensrainbow.io/package.json
+++ b/docs/ensrainbow.io/package.json
@@ -1,7 +1,7 @@
{
"name": "@docs/ensrainbow",
"type": "module",
- "version": "1.15.1",
+ "version": "1.15.2",
"license": "MIT",
"packageManager": "pnpm@10.33.0",
"private": true,
diff --git a/examples/enskit-react-example/CHANGELOG.md b/examples/enskit-react-example/CHANGELOG.md
index 4b8b9c6483..54d9000e7d 100644
--- a/examples/enskit-react-example/CHANGELOG.md
+++ b/examples/enskit-react-example/CHANGELOG.md
@@ -1,5 +1,13 @@
# @ensnode/enskit-react-example
+## 0.0.10
+
+### Patch Changes
+
+- Updated dependencies []:
+ - enssdk@1.15.2
+ - enskit@1.15.2
+
## 0.0.9
### Patch Changes
diff --git a/examples/enskit-react-example/package.json b/examples/enskit-react-example/package.json
index b2c38ea3bd..0cec26c9ad 100644
--- a/examples/enskit-react-example/package.json
+++ b/examples/enskit-react-example/package.json
@@ -1,7 +1,7 @@
{
"name": "@ensnode/enskit-react-example",
"private": true,
- "version": "0.0.9",
+ "version": "0.0.10",
"license": "MIT",
"type": "module",
"scripts": {
@@ -12,8 +12,8 @@
"generate:gqlschema": "gql.tada generate-output"
},
"dependencies": {
- "enskit": "1.15.1",
- "enssdk": "1.15.1",
+ "enskit": "1.15.2",
+ "enssdk": "1.15.2",
"react": "catalog:",
"react-dom": "catalog:",
"react-router": "^7.17.0"
diff --git a/examples/enssdk-example/CHANGELOG.md b/examples/enssdk-example/CHANGELOG.md
index 43cccc778e..17b0ffe663 100644
--- a/examples/enssdk-example/CHANGELOG.md
+++ b/examples/enssdk-example/CHANGELOG.md
@@ -1,5 +1,12 @@
# @ensnode/enssdk-example
+## 0.0.4
+
+### Patch Changes
+
+- Updated dependencies []:
+ - enssdk@1.15.2
+
## 0.0.3
### Patch Changes
diff --git a/examples/enssdk-example/package.json b/examples/enssdk-example/package.json
index 11af0b285c..618ec3fe02 100644
--- a/examples/enssdk-example/package.json
+++ b/examples/enssdk-example/package.json
@@ -1,7 +1,7 @@
{
"name": "@ensnode/enssdk-example",
"private": true,
- "version": "0.0.3",
+ "version": "0.0.4",
"license": "MIT",
"type": "module",
"scripts": {
@@ -10,7 +10,7 @@
"generate:gqlschema": "gql.tada generate-output"
},
"dependencies": {
- "enssdk": "1.15.1"
+ "enssdk": "1.15.2"
},
"devDependencies": {
"@types/node": "catalog:",
diff --git a/packages/datasources/CHANGELOG.md b/packages/datasources/CHANGELOG.md
index 7bf463c7c9..db6261907f 100644
--- a/packages/datasources/CHANGELOG.md
+++ b/packages/datasources/CHANGELOG.md
@@ -1,5 +1,18 @@
# @ensnode/ens-deployments
+## 1.15.2
+
+### Patch Changes
+
+- [#2242](https://github.com/namehash/ensnode/pull/2242) [`0eec193`](https://github.com/namehash/ensnode/commit/0eec19344e576db7021ab4f16c420477efe9cd54) Thanks [@shrugs](https://github.com/shrugs)! - Add contract identification by address. `@ensnode/datasources` exports `identifyDatasourceContracts(namespaceId, query)`, which finds every well-known contract in a namespace's datasources whose address matches a given address, optionally scoped to a chain.
+
+- [#2191](https://github.com/namehash/ensnode/pull/2191) [`39cb445`](https://github.com/namehash/ensnode/commit/39cb445b8d8790aa9d6fe2ee904e60bdb158efbd) Thanks [@tk-o](https://github.com/tk-o)! - Updates the `sepolia-v2` ENS Namespace to support the latest ENSv1+ENSv2 test deployment on Sepolia.
+
+- [#2267](https://github.com/namehash/ensnode/pull/2267) [`6165f50`](https://github.com/namehash/ensnode/commit/6165f50e26729c6d740c7424034057642f5175b5) Thanks [@shrugs](https://github.com/shrugs)! - Consolidate UniversalResolver onto the `IUniversalResolver` proxy. Each ENSRoot Datasource now exposes a single `UniversalResolver` contract pointing at the proxy address (`0xeeeeeeee14d718c2b47d9923deab1335e144eeee` on mainnet/sepolia), replacing the separate `UniversalResolver` (V1) and `UniversalResolverV2` contracts. The exported `UniversalResolverABI` is now `IUniversalResolver` merged with `IMulticallable`.
+
+- Updated dependencies []:
+ - enssdk@1.15.2
+
## 1.15.1
### Patch Changes
diff --git a/packages/datasources/package.json b/packages/datasources/package.json
index 3766ae654f..3e213cb49c 100644
--- a/packages/datasources/package.json
+++ b/packages/datasources/package.json
@@ -1,6 +1,6 @@
{
"name": "@ensnode/datasources",
- "version": "1.15.1",
+ "version": "1.15.2",
"type": "module",
"description": "Catalog of ENSNode-related datasources including chain, contract addresses, start blocks, and event filters.",
"license": "MIT",
diff --git a/packages/ens-referrals/CHANGELOG.md b/packages/ens-referrals/CHANGELOG.md
index 159b567602..26faa58f27 100644
--- a/packages/ens-referrals/CHANGELOG.md
+++ b/packages/ens-referrals/CHANGELOG.md
@@ -1,5 +1,13 @@
# @namehash/ens-referrals
+## 1.15.2
+
+### Patch Changes
+
+- Updated dependencies [[`0eec193`](https://github.com/namehash/ensnode/commit/0eec19344e576db7021ab4f16c420477efe9cd54)]:
+ - @ensnode/ensnode-sdk@1.15.2
+ - enssdk@1.15.2
+
## 1.15.1
### Patch Changes
diff --git a/packages/ens-referrals/package.json b/packages/ens-referrals/package.json
index e1987c7802..3cb87b4825 100644
--- a/packages/ens-referrals/package.json
+++ b/packages/ens-referrals/package.json
@@ -1,6 +1,6 @@
{
"name": "@namehash/ens-referrals",
- "version": "1.15.1",
+ "version": "1.15.2",
"type": "module",
"description": "Utilities for ENS Referrals.",
"license": "MIT",
diff --git a/packages/enscli/CHANGELOG.md b/packages/enscli/CHANGELOG.md
index 75823797f7..db6dde8ccf 100644
--- a/packages/enscli/CHANGELOG.md
+++ b/packages/enscli/CHANGELOG.md
@@ -1,5 +1,19 @@
# enscli
+## 1.15.2
+
+### Patch Changes
+
+- [#2242](https://github.com/namehash/ensnode/pull/2242) [`0eec193`](https://github.com/namehash/ensnode/commit/0eec19344e576db7021ab4f16c420477efe9cd54) Thanks [@shrugs](https://github.com/shrugs)! - `enscli` gains `datasources identify `: an offline command that reports which well-known ENS contract an address corresponds to. It accepts a bare address, a chain-scoped `chainId:address`, or full CAIP-10 `eip155:chainId:address`, and `--namespace` (default `mainnet`) selects which namespace to search. A miss returns `{ matches: [] }` with exit code `0`.
+
+- [#2242](https://github.com/namehash/ensnode/pull/2242) [`0eec193`](https://github.com/namehash/ensnode/commit/0eec19344e576db7021ab4f16c420477efe9cd54) Thanks [@shrugs](https://github.com/shrugs)! - Introduce `enscli`, a new agent- and human-friendly CLI for ENS that wraps `enssdk` and the ENS Omnigraph. It supports raw Omnigraph queries (`enscli ensnode omnigraph "" --variables …`), offline schema exploration (`enscli ensnode omnigraph schema [Type[.field]]`), indexing status, ENSRainbow healing, and `namehash`/`labelhash`. It defaults to NameHash-hosted instances per `--namespace` (mainnet, sepolia, sepolia-v2), resolves config from flags/env/`.env`, outputs JSON when piped and a pretty form in a TTY, and hardens inputs against agent hallucinations.
+
+- Updated dependencies [[`0eec193`](https://github.com/namehash/ensnode/commit/0eec19344e576db7021ab4f16c420477efe9cd54), [`0eec193`](https://github.com/namehash/ensnode/commit/0eec19344e576db7021ab4f16c420477efe9cd54), [`39cb445`](https://github.com/namehash/ensnode/commit/39cb445b8d8790aa9d6fe2ee904e60bdb158efbd), [`04388d2`](https://github.com/namehash/ensnode/commit/04388d2193f422a95898eb0ee23e7555397b3ab6), [`6165f50`](https://github.com/namehash/ensnode/commit/6165f50e26729c6d740c7424034057642f5175b5)]:
+ - @ensnode/datasources@1.15.2
+ - @ensnode/ensnode-sdk@1.15.2
+ - @ensnode/ensrainbow-sdk@1.15.2
+ - enssdk@1.15.2
+
## 1.15.1
## 1.15.0
diff --git a/packages/enscli/package.json b/packages/enscli/package.json
index 13c2fb7301..5b430d272e 100644
--- a/packages/enscli/package.json
+++ b/packages/enscli/package.json
@@ -1,6 +1,6 @@
{
"name": "enscli",
- "version": "1.15.1",
+ "version": "1.15.2",
"type": "module",
"description": "An agent- and human-friendly CLI for ENS, ENSNode, and the Omnigraph API.",
"license": "MIT",
diff --git a/packages/ensdb-sdk/CHANGELOG.md b/packages/ensdb-sdk/CHANGELOG.md
index c08bddf9e6..b6ea9b25b2 100644
--- a/packages/ensdb-sdk/CHANGELOG.md
+++ b/packages/ensdb-sdk/CHANGELOG.md
@@ -1,5 +1,17 @@
# @ensnode/ensdb-sdk
+## 1.15.2
+
+### Patch Changes
+
+- [#2259](https://github.com/namehash/ensnode/pull/2259) [`5f929d8`](https://github.com/namehash/ensnode/commit/5f929d858a21e935b4b62ce6f2cbccc273623f96) Thanks [@shrugs](https://github.com/shrugs)! - Index-accelerate `REGISTRATION_TIMESTAMP` / `REGISTRATION_EXPIRY`-ordered domain queries (e.g. `Domain.subdomains(order: { by: REGISTRATION_TIMESTAMP, dir: DESC })`). Previously these joined `domains → latest_registration_indexes → registrations` and sorted the full registry partition — ~55s for `.eth`'s subdomains. The latest registration's start/expiry is now mirrored onto the Domain row (`__latestRegistrationStart` / `__latestRegistrationExpiry`) with composite indexes `(registry_id, , id)`, turning the query into an index-ordered scan. The sort columns are NOT NULL — an absent value (no registration, or a never-expiring registration) is materialized as a `+∞` sentinel — so a single plain composite per column serves both directions with a plain keyset tuple, and the sentinel sorts last for ASC and first for DESC.
+
+- [#2255](https://github.com/namehash/ensnode/pull/2255) [`c8267e4`](https://github.com/namehash/ensnode/commit/c8267e45099efd62e5690f19437c8aa242f77601) Thanks [@shrugs](https://github.com/shrugs)! - Add a materialized `domains.__canonical_name_prefix` column — the first 64 code points of `canonical_name` — to back left-anchored / substring search and NAME ordering. Direct-SQL consumers can now `WHERE __canonical_name_prefix LIKE 'vit%' ORDER BY __canonical_name_prefix` instead of replicating the previous `left(canonical_name, 256)` expression index. `canonical_name` is unchanged and remains the column for exact (`=` / `IN`) matches and display; the Omnigraph `name.starts_with` filter now targets the prefix column while continuing to return `canonical_name`.
+
+- Updated dependencies [[`0eec193`](https://github.com/namehash/ensnode/commit/0eec19344e576db7021ab4f16c420477efe9cd54)]:
+ - @ensnode/ensnode-sdk@1.15.2
+ - enssdk@1.15.2
+
## 1.15.1
### Patch Changes
diff --git a/packages/ensdb-sdk/package.json b/packages/ensdb-sdk/package.json
index 333a8a8258..414e699675 100644
--- a/packages/ensdb-sdk/package.json
+++ b/packages/ensdb-sdk/package.json
@@ -1,6 +1,6 @@
{
"name": "@ensnode/ensdb-sdk",
- "version": "1.15.1",
+ "version": "1.15.2",
"type": "module",
"description": "SDK for interacting with data in ENSDb",
"license": "MIT",
diff --git a/packages/ensindexer-perf-testing/CHANGELOG.md b/packages/ensindexer-perf-testing/CHANGELOG.md
index 8edc7d2fa0..06b13e7176 100644
--- a/packages/ensindexer-perf-testing/CHANGELOG.md
+++ b/packages/ensindexer-perf-testing/CHANGELOG.md
@@ -1,5 +1,7 @@
# @ensnode/ensindexer-perf-testing
+## 1.15.2
+
## 1.15.1
## 1.15.0
diff --git a/packages/ensindexer-perf-testing/package.json b/packages/ensindexer-perf-testing/package.json
index deebdc9c93..a88a2eb0f1 100644
--- a/packages/ensindexer-perf-testing/package.json
+++ b/packages/ensindexer-perf-testing/package.json
@@ -1,7 +1,7 @@
{
"name": "@ensnode/ensindexer-perf-testing",
"private": true,
- "version": "1.15.1",
+ "version": "1.15.2",
"description": "Local Prometheus + Grafana bundle for benchmarking ENSIndexer throughput.",
"license": "MIT",
"scripts": {
diff --git a/packages/enskit/CHANGELOG.md b/packages/enskit/CHANGELOG.md
index 4946f73235..a057466f17 100644
--- a/packages/enskit/CHANGELOG.md
+++ b/packages/enskit/CHANGELOG.md
@@ -1,5 +1,12 @@
# enskit
+## 1.15.2
+
+### Patch Changes
+
+- Updated dependencies []:
+ - enssdk@1.15.2
+
## 1.15.1
### Patch Changes
diff --git a/packages/enskit/package.json b/packages/enskit/package.json
index ff1cd5f1a8..16d9c687a2 100644
--- a/packages/enskit/package.json
+++ b/packages/enskit/package.json
@@ -1,6 +1,6 @@
{
"name": "enskit",
- "version": "1.15.1",
+ "version": "1.15.2",
"type": "module",
"description": "The ENS toolkit for React applications",
"license": "MIT",
diff --git a/packages/ensnode-sdk/CHANGELOG.md b/packages/ensnode-sdk/CHANGELOG.md
index f6844f226f..469f2afdc9 100644
--- a/packages/ensnode-sdk/CHANGELOG.md
+++ b/packages/ensnode-sdk/CHANGELOG.md
@@ -1,5 +1,15 @@
# @ensnode/ensnode-sdk
+## 1.15.2
+
+### Patch Changes
+
+- [#2242](https://github.com/namehash/ensnode/pull/2242) [`0eec193`](https://github.com/namehash/ensnode/commit/0eec19344e576db7021ab4f16c420477efe9cd54) Thanks [@shrugs](https://github.com/shrugs)! - `getDefaultEnsNodeUrl` now returns the hosted default for the `sepolia-v2` namespace (`https://api.v2-sepolia.ensnode.io`).
+
+- Updated dependencies [[`0eec193`](https://github.com/namehash/ensnode/commit/0eec19344e576db7021ab4f16c420477efe9cd54), [`39cb445`](https://github.com/namehash/ensnode/commit/39cb445b8d8790aa9d6fe2ee904e60bdb158efbd), [`6165f50`](https://github.com/namehash/ensnode/commit/6165f50e26729c6d740c7424034057642f5175b5)]:
+ - @ensnode/datasources@1.15.2
+ - enssdk@1.15.2
+
## 1.15.1
### Patch Changes
diff --git a/packages/ensnode-sdk/package.json b/packages/ensnode-sdk/package.json
index 98ff74b150..efa6e8b9a0 100644
--- a/packages/ensnode-sdk/package.json
+++ b/packages/ensnode-sdk/package.json
@@ -1,6 +1,6 @@
{
"name": "@ensnode/ensnode-sdk",
- "version": "1.15.1",
+ "version": "1.15.2",
"type": "module",
"description": "A utility library for interacting with ENSNode and ENS data",
"license": "MIT",
diff --git a/packages/ensrainbow-sdk/CHANGELOG.md b/packages/ensrainbow-sdk/CHANGELOG.md
index 640e189137..9f7ac3b774 100644
--- a/packages/ensrainbow-sdk/CHANGELOG.md
+++ b/packages/ensrainbow-sdk/CHANGELOG.md
@@ -1,5 +1,14 @@
# @ensnode/ensrainbow-sdk
+## 1.15.2
+
+### Patch Changes
+
+- [#2186](https://github.com/namehash/ensnode/pull/2186) [`04388d2`](https://github.com/namehash/ensnode/commit/04388d2193f422a95898eb0ee23e7555397b3ab6) Thanks [@djstrong](https://github.com/djstrong)! - Labelhash verification for heal responses now runs in `ensrainbow` (server) instead of `@ensnode/ensrainbow-sdk` (client). Malformed rainbow records — where the stored label does not hash back to the requested `labelHash` — are rejected as `NotFound`.
+
+- Updated dependencies []:
+ - enssdk@1.15.2
+
## 1.15.1
### Patch Changes
diff --git a/packages/ensrainbow-sdk/package.json b/packages/ensrainbow-sdk/package.json
index 4acd0d7990..77e3af3770 100644
--- a/packages/ensrainbow-sdk/package.json
+++ b/packages/ensrainbow-sdk/package.json
@@ -1,6 +1,6 @@
{
"name": "@ensnode/ensrainbow-sdk",
- "version": "1.15.1",
+ "version": "1.15.2",
"type": "module",
"description": "ENSRainbow SDK for interacting with the ENSRainbow API.",
"license": "MIT",
diff --git a/packages/enssdk/CHANGELOG.md b/packages/enssdk/CHANGELOG.md
index 597b741402..15e9179636 100644
--- a/packages/enssdk/CHANGELOG.md
+++ b/packages/enssdk/CHANGELOG.md
@@ -1,5 +1,7 @@
# enssdk
+## 1.15.2
+
## 1.15.1
## 1.15.0
diff --git a/packages/enssdk/package.json b/packages/enssdk/package.json
index a3f0827f7c..0867fcda62 100644
--- a/packages/enssdk/package.json
+++ b/packages/enssdk/package.json
@@ -1,6 +1,6 @@
{
"name": "enssdk",
- "version": "1.15.1",
+ "version": "1.15.2",
"type": "module",
"description": "The foundational ENS development library",
"license": "MIT",
diff --git a/packages/ensskills/CHANGELOG.md b/packages/ensskills/CHANGELOG.md
index ab6051d8ec..daf8395c2c 100644
--- a/packages/ensskills/CHANGELOG.md
+++ b/packages/ensskills/CHANGELOG.md
@@ -1,5 +1,15 @@
# ensskills
+## 1.15.2
+
+### Patch Changes
+
+- [#2242](https://github.com/namehash/ensnode/pull/2242) [`0eec193`](https://github.com/namehash/ensnode/commit/0eec19344e576db7021ab4f16c420477efe9cd54) Thanks [@shrugs](https://github.com/shrugs)! - The `enscli` agent skill documents the new `datasources identify` command.
+
+- [#2242](https://github.com/namehash/ensnode/pull/2242) [`0eec193`](https://github.com/namehash/ensnode/commit/0eec19344e576db7021ab4f16c420477efe9cd54) Thanks [@shrugs](https://github.com/shrugs)! - Introduce `ensskills`, a versioned, `skills-npm`-installable package of ENS agent skills. It ships the `ens-protocol` skill (a concise, stable, vendor-neutral conceptual model of the ENS protocol — nametree, normalization, hashing, registry/resolver/registrar, resolution, records, multichain — with pull-as-needed reference pages), the `omnigraph` skill (autogenerated schema reference + vetted example queries, plus prose on the unified ENSv1+ENSv2 datamodel and resolution), and the `enscli` skill (running Omnigraph queries and the other CLI commands, with the output contract, namespace/URL resolution, and input hardening), with stub skills reserved for `enssdk`, `enskit`, `migrate-to-omnigraph`, and `unigraph-sql`.
+
+- [#2242](https://github.com/namehash/ensnode/pull/2242) [`0eec193`](https://github.com/namehash/ensnode/commit/0eec19344e576db7021ab4f16c420477efe9cd54) Thanks [@shrugs](https://github.com/shrugs)! - Point the base skill at the published `llms.txt` / `llms-full.txt` docs endpoints so agents can load the full ENSNode documentation when a question reaches beyond the skills.
+
## 1.15.1
## 1.15.0
diff --git a/packages/ensskills/package.json b/packages/ensskills/package.json
index 68c97f2ea3..f151448581 100644
--- a/packages/ensskills/package.json
+++ b/packages/ensskills/package.json
@@ -1,6 +1,6 @@
{
"name": "ensskills",
- "version": "1.15.1",
+ "version": "1.15.2",
"type": "module",
"description": "Agent skills for ENS — install with skills-npm to teach AI coding agents the ENS Omnigraph",
"license": "MIT",
diff --git a/packages/integration-test-env/CHANGELOG.md b/packages/integration-test-env/CHANGELOG.md
index 49a85b57e6..29e439923a 100644
--- a/packages/integration-test-env/CHANGELOG.md
+++ b/packages/integration-test-env/CHANGELOG.md
@@ -1,5 +1,16 @@
# @ensnode/integration-test-env
+## 1.15.2
+
+### Patch Changes
+
+- Updated dependencies [[`0eec193`](https://github.com/namehash/ensnode/commit/0eec19344e576db7021ab4f16c420477efe9cd54), [`0eec193`](https://github.com/namehash/ensnode/commit/0eec19344e576db7021ab4f16c420477efe9cd54), [`39cb445`](https://github.com/namehash/ensnode/commit/39cb445b8d8790aa9d6fe2ee904e60bdb158efbd), [`5f929d8`](https://github.com/namehash/ensnode/commit/5f929d858a21e935b4b62ce6f2cbccc273623f96), [`c8267e4`](https://github.com/namehash/ensnode/commit/c8267e45099efd62e5690f19437c8aa242f77601), [`6165f50`](https://github.com/namehash/ensnode/commit/6165f50e26729c6d740c7424034057642f5175b5)]:
+ - @ensnode/datasources@1.15.2
+ - @ensnode/ensnode-sdk@1.15.2
+ - @ensnode/ensdb-sdk@1.15.2
+ - enssdk@1.15.2
+ - @ensnode/shared-configs@1.15.2
+
## 1.15.1
### Patch Changes
diff --git a/packages/integration-test-env/package.json b/packages/integration-test-env/package.json
index c35f41509b..c2faaac880 100644
--- a/packages/integration-test-env/package.json
+++ b/packages/integration-test-env/package.json
@@ -1,6 +1,6 @@
{
"name": "@ensnode/integration-test-env",
- "version": "1.15.1",
+ "version": "1.15.2",
"private": true,
"license": "MIT",
"type": "module",
diff --git a/packages/namehash-ui/CHANGELOG.md b/packages/namehash-ui/CHANGELOG.md
index 022768a89c..94e632e916 100644
--- a/packages/namehash-ui/CHANGELOG.md
+++ b/packages/namehash-ui/CHANGELOG.md
@@ -1,5 +1,14 @@
# @namehash/namehash-ui
+## 1.15.2
+
+### Patch Changes
+
+- Updated dependencies [[`0eec193`](https://github.com/namehash/ensnode/commit/0eec19344e576db7021ab4f16c420477efe9cd54), [`0eec193`](https://github.com/namehash/ensnode/commit/0eec19344e576db7021ab4f16c420477efe9cd54), [`39cb445`](https://github.com/namehash/ensnode/commit/39cb445b8d8790aa9d6fe2ee904e60bdb158efbd), [`6165f50`](https://github.com/namehash/ensnode/commit/6165f50e26729c6d740c7424034057642f5175b5)]:
+ - @ensnode/datasources@1.15.2
+ - @ensnode/ensnode-sdk@1.15.2
+ - enssdk@1.15.2
+
## 1.15.1
### Patch Changes
diff --git a/packages/namehash-ui/package.json b/packages/namehash-ui/package.json
index 2f2e233e5d..7378b14345 100644
--- a/packages/namehash-ui/package.json
+++ b/packages/namehash-ui/package.json
@@ -1,6 +1,6 @@
{
"name": "@namehash/namehash-ui",
- "version": "1.15.1",
+ "version": "1.15.2",
"type": "module",
"description": "Opinionated UI components for use in apps published by NameHash Labs",
"license": "MIT",
diff --git a/packages/ponder-sdk/CHANGELOG.md b/packages/ponder-sdk/CHANGELOG.md
index 83fd33d5cf..c6dd40158c 100644
--- a/packages/ponder-sdk/CHANGELOG.md
+++ b/packages/ponder-sdk/CHANGELOG.md
@@ -1,5 +1,7 @@
# @ensnode/ponder-sdk
+## 1.15.2
+
## 1.15.1
## 1.15.0
diff --git a/packages/ponder-sdk/package.json b/packages/ponder-sdk/package.json
index b0e5e1dfa2..3bd89b9687 100644
--- a/packages/ponder-sdk/package.json
+++ b/packages/ponder-sdk/package.json
@@ -1,6 +1,6 @@
{
"name": "@ensnode/ponder-sdk",
- "version": "1.15.1",
+ "version": "1.15.2",
"type": "module",
"description": "A utility library for interacting with Ponder apps and data.",
"license": "MIT",
diff --git a/packages/ponder-subgraph/CHANGELOG.md b/packages/ponder-subgraph/CHANGELOG.md
index fe2382d9e8..df319f0c8c 100644
--- a/packages/ponder-subgraph/CHANGELOG.md
+++ b/packages/ponder-subgraph/CHANGELOG.md
@@ -1,5 +1,7 @@
# @ensnode/ponder-subgraph
+## 1.15.2
+
## 1.15.1
## 1.15.0
diff --git a/packages/ponder-subgraph/package.json b/packages/ponder-subgraph/package.json
index 110d5c6e2a..c009c540f8 100644
--- a/packages/ponder-subgraph/package.json
+++ b/packages/ponder-subgraph/package.json
@@ -1,6 +1,6 @@
{
"name": "@ensnode/ponder-subgraph",
- "version": "1.15.1",
+ "version": "1.15.2",
"type": "module",
"description": "A Hono middleware for generating Subgraph-compatible GraphQL schema.",
"license": "MIT",
diff --git a/packages/shared-configs/CHANGELOG.md b/packages/shared-configs/CHANGELOG.md
index e744e5d55d..d689555e0d 100644
--- a/packages/shared-configs/CHANGELOG.md
+++ b/packages/shared-configs/CHANGELOG.md
@@ -1,5 +1,7 @@
# @ensnode/shared-configs
+## 1.15.2
+
## 1.15.1
## 1.15.0
diff --git a/packages/shared-configs/package.json b/packages/shared-configs/package.json
index d0e1999bdd..256b838213 100644
--- a/packages/shared-configs/package.json
+++ b/packages/shared-configs/package.json
@@ -1,7 +1,7 @@
{
"name": "@ensnode/shared-configs",
"private": true,
- "version": "1.15.1",
+ "version": "1.15.2",
"type": "module",
"description": "Shared configs for the ENSNode project.",
"license": "MIT",
From 20657e828f3a29a5c508722f3a0afce4e1f6f197 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Fri, 5 Jun 2026 23:09:05 +0000
Subject: [PATCH 2/2] chore(release): version apps
---
docker/services/ensadmin.yml | 2 +-
docker/services/ensapi.yml | 2 +-
docker/services/ensindexer.yml | 2 +-
docker/services/ensrainbow.yml | 2 +-
docs/ensnode.io/ensapi-openapi.json | 2 +-
5 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/docker/services/ensadmin.yml b/docker/services/ensadmin.yml
index 944e1e0560..04dc8ce121 100644
--- a/docker/services/ensadmin.yml
+++ b/docker/services/ensadmin.yml
@@ -1,7 +1,7 @@
services:
ensadmin:
container_name: ensadmin
- image: ghcr.io/namehash/ensnode/ensadmin:${ENSNODE_VERSION:-1.15.1}
+ image: ghcr.io/namehash/ensnode/ensadmin:${ENSNODE_VERSION:-1.15.2}
build:
dockerfile: ./apps/ensadmin/Dockerfile
context: ../..
diff --git a/docker/services/ensapi.yml b/docker/services/ensapi.yml
index 01a5e2023d..2b767f4535 100644
--- a/docker/services/ensapi.yml
+++ b/docker/services/ensapi.yml
@@ -1,7 +1,7 @@
services:
ensapi:
container_name: ensapi
- image: ghcr.io/namehash/ensnode/ensapi:${ENSNODE_VERSION:-1.15.1}
+ image: ghcr.io/namehash/ensnode/ensapi:${ENSNODE_VERSION:-1.15.2}
build:
dockerfile: ./apps/ensapi/Dockerfile
context: ../..
diff --git a/docker/services/ensindexer.yml b/docker/services/ensindexer.yml
index ee131865f8..57520f9c45 100644
--- a/docker/services/ensindexer.yml
+++ b/docker/services/ensindexer.yml
@@ -1,7 +1,7 @@
services:
ensindexer:
container_name: ensindexer
- image: ghcr.io/namehash/ensnode/ensindexer:${ENSNODE_VERSION:-1.15.1}
+ image: ghcr.io/namehash/ensnode/ensindexer:${ENSNODE_VERSION:-1.15.2}
build:
dockerfile: ./apps/ensindexer/Dockerfile
context: ../..
diff --git a/docker/services/ensrainbow.yml b/docker/services/ensrainbow.yml
index 8bfff59a91..0bc1cb3cfc 100644
--- a/docker/services/ensrainbow.yml
+++ b/docker/services/ensrainbow.yml
@@ -1,7 +1,7 @@
services:
ensrainbow:
container_name: ensrainbow
- image: ghcr.io/namehash/ensnode/ensrainbow:${ENSNODE_VERSION:-1.15.1}
+ image: ghcr.io/namehash/ensnode/ensrainbow:${ENSNODE_VERSION:-1.15.2}
build:
dockerfile: ./apps/ensrainbow/Dockerfile
context: ../..
diff --git a/docs/ensnode.io/ensapi-openapi.json b/docs/ensnode.io/ensapi-openapi.json
index 7ce6bb354e..eab7920184 100644
--- a/docs/ensnode.io/ensapi-openapi.json
+++ b/docs/ensnode.io/ensapi-openapi.json
@@ -2,7 +2,7 @@
"openapi": "3.1.0",
"info": {
"title": "ENSApi APIs",
- "version": "1.15.1",
+ "version": "1.15.2",
"description": "REST APIs for the ENSNode stack as served by the ENSApi service"
},
"servers": [