Release New Version#2278
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
3 Skipped Deployments
|
|
Warning Review limit reached
More reviews will be available in 25 minutes and 59 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (2)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Greptile SummaryThis PR rolls back the
Confidence Score: 5/5Safe to merge — the only change is pinning example app dependencies to a known-good published version. Both example apps are private packages that pull enskit/enssdk from the public npm registry rather than via workspace:*. Reverting to 1.15.1 unblocks installation until 1.15.2 is published. The workspace source packages are unaffected and remain at 1.15.2. No files require special attention. Once 1.15.2 is published to npm, these pins should be updated to keep the examples in sync with the latest release. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[Example Apps\nenskit-react-example\nenssdk-example] -->|install from npm registry| B{Version available\non npm?}
B -->|1.15.1 ✅| C[Install succeeds]
B -->|1.15.2 ❌ not yet published| D[Install fails]
C --> E[Developers can use examples]
D --> F[Blocked until 1.15.2 is published]
subgraph Workspace packages
G[packages/enssdk v1.15.2]
H[packages/enskit v1.15.2]
end
Reviews (1): Last reviewed commit: "fix: keep example apps on 1.15.1 for ins..." | Re-trigger Greptile |
There was a problem hiding this comment.
Pull request overview
Pins the example applications’ enssdk/enskit dependencies back to 1.15.1 so the examples can be installed against an available/published package version, independent of the monorepo’s in-repo package versions.
Changes:
- Downgrade
examples/enssdk-exampleto useenssdk@1.15.1. - Downgrade
examples/enskit-react-exampleto useenskit@1.15.1andenssdk@1.15.1.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| examples/enssdk-example/package.json | Pins enssdk dependency to 1.15.1 for installability. |
| examples/enskit-react-example/package.json | Pins enskit/enssdk dependencies to 1.15.1 for installability. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and publish to npm yourself or setup this action to publish automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@ensnode/datasources@1.15.2
Patch Changes
#2242
0eec193Thanks @shrugs! - Add contract identification by address.@ensnode/datasourcesexportsidentifyDatasourceContracts(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
39cb445Thanks @tk-o! - Updates thesepolia-v2ENS Namespace to support the latest ENSv1+ENSv2 test deployment on Sepolia.#2267
6165f50Thanks @shrugs! - Consolidate UniversalResolver onto theIUniversalResolverproxy. Each ENSRoot Datasource now exposes a singleUniversalResolvercontract pointing at the proxy address (0xeeeeeeee14d718c2b47d9923deab1335e144eeeeon mainnet/sepolia), replacing the separateUniversalResolver(V1) andUniversalResolverV2contracts. The exportedUniversalResolverABIis nowIUniversalResolvermerged withIMulticallable.Updated dependencies [
83ed372]:@namehash/ens-referrals@1.15.2
Patch Changes
83ed372,0eec193,83ed372]:enscli@1.15.2
Patch Changes
#2242
0eec193Thanks @shrugs! -enscligainsdatasources identify <address>: an offline command that reports which well-known ENS contract an address corresponds to. It accepts a bare address, a chain-scopedchainId:address, or full CAIP-10eip155:chainId:address, and--namespace(defaultmainnet) selects which namespace to search. A miss returns{ matches: [] }with exit code0.#2242
0eec193Thanks @shrugs! - Introduceenscli, a new agent- and human-friendly CLI for ENS that wrapsenssdkand the ENS Omnigraph. It supports raw Omnigraph queries (enscli ensnode omnigraph "<query>" --variables …), offline schema exploration (enscli ensnode omnigraph schema [Type[.field]]), indexing status, ENSRainbow healing, andnamehash/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,83ed372,0eec193,83ed372,39cb445,04388d2,6165f50]:@ensnode/ensdb-sdk@1.15.2
Patch Changes
#2259
5f929d8Thanks @shrugs! - Index-accelerateREGISTRATION_TIMESTAMP/REGISTRATION_EXPIRY-ordered domain queries (e.g.Domain.subdomains(order: { by: REGISTRATION_TIMESTAMP, dir: DESC })). Previously these joineddomains → latest_registration_indexes → registrationsand 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, <col>, 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.#2271
83ed372Thanks @shrugs! - Theresolverstable gains anis_extendedcolumn — whether the Resolver implements ENSIP-10 wildcard resolution (IExtendedResolver, interfaceId0x9061b923) — populated at index time via a single cachedsupportsInterfaceRPC. The Omnigraph API exposes it as a newResolver.extended: Boolean!field.#2255
c8267e4Thanks @shrugs! - Add a materializeddomains.__canonical_name_prefixcolumn — the first 64 code points ofcanonical_name— to back left-anchored / substring search and NAME ordering. Direct-SQL consumers can nowWHERE __canonical_name_prefix LIKE 'vit%' ORDER BY __canonical_name_prefixinstead of replicating the previousleft(canonical_name, 256)expression index.canonical_nameis unchanged and remains the column for exact (=/IN) matches and display; the Omnigraphname.starts_withfilter now targets the prefix column while continuing to returncanonical_name.Updated dependencies [
83ed372,0eec193,83ed372]:enskit@1.15.2
Patch Changes
83ed372]:@ensnode/ensnode-sdk@1.15.2
Patch Changes
#2271
83ed372Thanks @shrugs! - The EIP-165supportsInterfaceprobe (used to classify a Resolver's ENSIP-10extendedsupport at index time) now opts out of Ponder's empty-response retry. A0x("returned no data") response from a pre-EIP-165 Resolver is a definitive "not supported", never transient — but Ponder'scontext.clientpreviously retried it 9× with exponential backoff (~64s each), making a full index pathologically slow. The probe now fails fast (still resolving toextended = false).#2242
0eec193Thanks @shrugs! -getDefaultEnsNodeUrlnow returns the hosted default for thesepolia-v2namespace (https://api.v2-sepolia.ensnode.io).Updated dependencies [
0eec193,83ed372,39cb445,6165f50]:@ensnode/ensrainbow-sdk@1.15.2
Patch Changes
#2186
04388d2Thanks @djstrong! - Labelhash verification for heal responses now runs inensrainbow(server) instead of@ensnode/ensrainbow-sdk(client). Malformed rainbow records — where the stored label does not hash back to the requestedlabelHash— are rejected asNotFound.Updated dependencies [
83ed372]:enssdk@1.15.2
Patch Changes
83ed372Thanks @shrugs! - Adds theResolvableNamebranded type withisResolvableName/asResolvableNameguards — anInterpretedNamethat can be DNS-encoded and resolved (no Encoded LabelHash segments, every label under 256 bytes). Also adds theUnindexedDomainIdtype andmakeUnindexedDomainId;DomainIdnow includesUnindexedDomainId.ensskills@1.15.2
Patch Changes
#2242
0eec193Thanks @shrugs! - Theenscliagent skill documents the newdatasources identifycommand.#2242
0eec193Thanks @shrugs! - Introduceensskills, a versioned,skills-npm-installable package of ENS agent skills. It ships theens-protocolskill (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), theomnigraphskill (autogenerated schema reference + vetted example queries, plus prose on the unified ENSv1+ENSv2 datamodel and resolution), and theenscliskill (running Omnigraph queries and the other CLI commands, with the output contract, namespace/URL resolution, and input hardening), with stub skills reserved forenssdk,enskit,migrate-to-omnigraph, andunigraph-sql.#2242
0eec193Thanks @shrugs! - Point the base skill at the publishedllms.txt/llms-full.txtdocs endpoints so agents can load the full ENSNode documentation when a question reaches beyond the skills.@namehash/namehash-ui@1.15.2
Patch Changes
0eec193,83ed372,0eec193,83ed372,39cb445,6165f50]:@ensnode/ponder-sdk@1.15.2
@ensnode/ponder-subgraph@1.15.2
ensadmin@1.15.2
Patch Changes
0eec193,83ed372,0eec193,83ed372,39cb445,6165f50]:ensapi@1.15.2
Patch Changes
#2240
7d23ee9Thanks @sevenzing! - Omnigraph API: IntroducesDomain.resolve.profileandPrimaryNameRecord.resolve.profilefor resolving semantic record values.#2265
c6f9643Thanks @shrugs! - Omnigraph API: AddsDomainResolver.effective, the Resolver that ENS Forward Resolution (ENSIP-10) lands on for a Domain. Complements the existingDomainResolver.assigned(the Domain's directly-assigned Resolver).#2267
6165f50Thanks @shrugs! - Omnigraph API: Resolution now uses the ENSv2-ready stable UniversalResolver proxy address when not accelerated.#2268
ff75f79Thanks @shrugs! - Forward Resolution now fully delegates to theUniversalResolverwhenever records cannot be accelerated, correctly implementing the ENSv2-Readiness check forur.integration-test.eth. Unaccelerated requests are always delegated to theUniversalResolver.#1974
8a86fb4Thanks @sevenzing! - Changes related to Omnigraph:Domain.resolve { records, trace, acceleration, profile? }for forward resolution driven by the GraphQL selection setAccount.resolve { primaryName(by: ...), primaryNames(where: ...) }for reverse (ENSIP-19 primary name) resolution with@oneOfinputs (coinType/chainName,coinTypes/chainNames)PrimaryNameRecord.resolve { records, ... }for forward resolution of the resolved primary name#2271
83ed372Thanks @shrugs! - Theresolverstable gains anis_extendedcolumn — whether the Resolver implements ENSIP-10 wildcard resolution (IExtendedResolver, interfaceId0x9061b923) — populated at index time via a single cachedsupportsInterfaceRPC. The Omnigraph API exposes it as a newResolver.extended: Boolean!field.#2255
c8267e4Thanks @shrugs! - Add a materializeddomains.__canonical_name_prefixcolumn — the first 64 code points ofcanonical_name— to back left-anchored / substring search and NAME ordering. Direct-SQL consumers can nowWHERE __canonical_name_prefix LIKE 'vit%' ORDER BY __canonical_name_prefixinstead of replicating the previousleft(canonical_name, 256)expression index.canonical_nameis unchanged and remains the column for exact (=/IN) matches and display; the Omnigraphname.starts_withfilter now targets the prefix column while continuing to returncanonical_name.#2271
83ed372Thanks @shrugs! - Omnigraph API — Resolvable-but-unindexed Domains & Accounts (off-chain / CCIP-Read names, unindexed 3DNS names, wildcard subnames) are now resolvable viaQuery.domain(by: { name })andQuery.account(by: { address }), instead of returningnull. This is supported by an additional concept, theUnindexedDomain, which expands the possible concrete types of theDomaininterface.Updated dependencies [
0eec193,83ed372,0eec193,83ed372,39cb445,5f929d8,83ed372,c8267e4,6165f50]:ensindexer@1.15.2
Patch Changes
#2271
83ed372Thanks @shrugs! - The EIP-165supportsInterfaceprobe (used to classify a Resolver's ENSIP-10extendedsupport at index time) now opts out of Ponder's empty-response retry. A0x("returned no data") response from a pre-EIP-165 Resolver is a definitive "not supported", never transient — but Ponder'scontext.clientpreviously retried it 9× with exponential backoff (~64s each), making a full index pathologically slow. The probe now fails fast (still resolving toextended = false).#2191
39cb445Thanks @tk-o! - Updates thesepolia-v2ENS Namespace to support the latest ENSv1+ENSv2 test deployment on Sepolia.#2259
5f929d8Thanks @shrugs! - Index-accelerateREGISTRATION_TIMESTAMP/REGISTRATION_EXPIRY-ordered domain queries (e.g.Domain.subdomains(order: { by: REGISTRATION_TIMESTAMP, dir: DESC })). Previously these joineddomains → latest_registration_indexes → registrationsand 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, <col>, 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.#2271
83ed372Thanks @shrugs! - Theresolverstable gains anis_extendedcolumn — whether the Resolver implements ENSIP-10 wildcard resolution (IExtendedResolver, interfaceId0x9061b923) — populated at index time via a single cachedsupportsInterfaceRPC. The Omnigraph API exposes it as a newResolver.extended: Boolean!field.#2255
c8267e4Thanks @shrugs! - Add a materializeddomains.__canonical_name_prefixcolumn — the first 64 code points ofcanonical_name— to back left-anchored / substring search and NAME ordering. Direct-SQL consumers can nowWHERE __canonical_name_prefix LIKE 'vit%' ORDER BY __canonical_name_prefixinstead of replicating the previousleft(canonical_name, 256)expression index.canonical_nameis unchanged and remains the column for exact (=/IN) matches and display; the Omnigraphname.starts_withfilter now targets the prefix column while continuing to returncanonical_name.Updated dependencies [
0eec193,83ed372,0eec193,83ed372,39cb445,5f929d8,83ed372,c8267e4,04388d2,6165f50]:ensrainbow@1.15.2
Patch Changes
#2186
04388d2Thanks @djstrong! - Labelhash verification for heal responses now runs inensrainbow(server) instead of@ensnode/ensrainbow-sdk(client). Malformed rainbow records — where the stored label does not hash back to the requestedlabelHash— are rejected asNotFound.Updated dependencies [
83ed372,0eec193,83ed372,04388d2]:fallback-ensapi@1.15.2
Patch Changes
0eec193,83ed372,0eec193,39cb445,6165f50]:@docs/ensnode@1.15.2
Patch Changes
83ed372,0eec193]:@docs/ensrainbow@1.15.2
Patch Changes
@ensnode/enskit-react-example@0.0.10
Patch Changes
83ed372]:@ensnode/enssdk-example@0.0.4
Patch Changes
83ed372]:@ensnode/integration-test-env@1.15.2
Patch Changes
0eec193,83ed372,0eec193,83ed372,39cb445,5f929d8,83ed372,c8267e4,6165f50]:@ensnode/ensindexer-perf-testing@1.15.2
@ensnode/shared-configs@1.15.2