Skip to content

chore: release main - #9270

Open
JSONbored wants to merge 1 commit into
mainfrom
release-please--branches--main
Open

chore: release main#9270
JSONbored wants to merge 1 commit into
mainfrom
release-please--branches--main

Conversation

@JSONbored

Copy link
Copy Markdown
Owner

🤖 I have created a release beep boop

ui: 0.15.0

0.15.0 (2026-08-03)

Features

  • api: fields= projection on the neuron routes (#9087) (59e7e0e), closes #9082
  • api: publish per-field provenance on the network singletons (#9081) (57f246a), closes #9078
  • api: register the AI-native routes, and derive the guarantee that they stay registered (#9101) (3e0b04c), closes #9092
  • chain: surface the Crowdloan pallet from chain storage (#9152) (0780c30)
  • ui: /chain/emissions — the v440 emission-pipeline decomposition, plus a subnet panel (#8745) (#9049) (3944892)

Bug Fixes

  • api: finish renaming the *_tao fields that hold alpha (#9039) (52b6b1e)
  • api: stop advertising 9 routes as testnet-addressable when the router 404s them (#9053) (0ac7d16)
  • ci: serve the e2e from dist/, the path the worker build actually emits (#9083) (af1eb2c)
  • ci: stop failing the UI preview deploy on a URL that no longer exists (#9047) (b584240)
  • contract: publish the limit ceiling each route actually enforces (#9129) (d89ff06), closes #9127
  • contracts: describe the hyperparams and identity tiers as Postgres, not D1 (#9151) (ca328f3)
  • contracts: describe the neurons tier as Postgres, not the retired D1 (#9147) (83a2a05)
  • deps: update dependency @tanstack/react-virtual to ^3.14.9 (#9209) (b6a2a01)
  • deps: update dependency fumadocs-mdx to ^15.2.1 (#9232) (69b9ea8)
  • ui+api: filter /apis server-side so the shortcuts stop truncating (#9118) (481e864), closes #9117
  • ui: give UI sourcemap releases a stable name instead of a per-deploy SHA (#9077) (9a5409a)
  • ui: stop serving the whole site from the leftover workers.dev hostname (#9034) (d7d4557), closes #9004

Performance

  • ci: run the UI e2e sweep against the production build (#9080) (fb897a1)

Documentation

  • contracts: say which tier answers ownership-history and OHLC (#9213) (98cb359)
platform: 1.2.0

1.2.0 (2026-08-03)

Features

  • accounts: serve the registration and serving footprints from the lakehouse (#9244) (fa2e31e), closes #9243 #9146
  • ai: $ai_embedding, one trace per ask, and degraded-path visibility (#8976) (9918989)
  • alerts: emit telemetry when an alert delivery fails (#9025) (7997233), closes #8997
  • analytics: serve per-subnet stake flow from the chain-stake-flow projection (#9194) (649a481)
  • api: field_sources on /api/v1/economics, with the read instant (#9107) (9c68305), closes #9106
  • api: field_sources on /subnets/{netuid}/{burn,recycled} (#9105) (f8709e0), closes #9104
  • api: field_sources on the remaining eight chain-read routes (#9109) (49f231a), closes #9108
  • api: fields= projection on the neuron routes (#9087) (59e7e0e), closes #9082
  • api: publish per-field provenance on the network singletons (#9081) (57f246a), closes #9078
  • api: register the AI-native routes, and derive the guarantee that they stay registered (#9101) (3e0b04c), closes #9092
  • api: serve /api/v1/rpc/usage from the lakehouse (#9207) (8045385), closes #9206 #9146
  • api: serve /chain/serving and /chain/registrations from the lakehouse (#9216) (794c9e8)
  • api: serve /chain/weights from the lakehouse across all three surfaces (#9237) (a62ec01), closes #9236
  • api: serve the remaining account feeds from the lakehouse cold tier (#9178) (479a28b)
  • api: serve the small-table route families from the lakehouse cold tier (#9153) (3b0f4c4)
  • blocks: resolve the cold-tier seam from the decoder's published watermark (#9217) (0363c1f)
  • blocks: serve the block-production summary from a scheduled projection (#9195) (03df0b2), closes #9146
  • chain: serve the registration leaderboard from a scheduled projection (#9222) (0afaec3), closes #9221 #9146
  • chain: surface the Crowdloan pallet from chain storage (#9152) (0780c30)
  • ci: auto-merge bot sync PRs once their checks are green (#9055) (c26a2aa)
  • ci: check live responses against their own published schemas (#9144) (fa45568), closes #9141
  • config: retire the postgres serving tier for the decommissioned box — MERGE AT WIPE (#9145) (08e868b)
  • cron: alarm when the neurons live lane stops moving (#9185) (7899a15)
  • cron: record every cron tick, not only the alert-worthy ones (#9016) (ea88bee), closes #8998
  • cron: run the emission-gate sampler on the Worker, not GitHub Actions (#9177) (8735923)
  • cron: run the live emission-drift check on the Worker, not GitHub Actions (#9179) (837e0ac)
  • d1: dual-write the observation tables, closing the box's only unrecoverable hole (#9036) (1bdb2e0)
  • d1: move the registry write path off Hyperdrive onto D1 (#9007) (7fca9d2)
  • d1: registry schema on D1, translated from the self-hosted Postgres (#8981) (46fdf33)
  • data-api: flag-switch the neurons-family reads onto D1 for the box decommission (#9160) (142e807)
  • data-api: port the user-state tables to D1 (#9086) (1d49f9c)
  • data: move the hyperparams + account-identity sync lanes onto D1 for the box wipe (#9180) (b807f6f)
  • data: port the neurons-sync write path to D1 before the box is wiped (#9157) (630183f), closes #9156
  • economics: move the live-economics refresh onto a Worker cron (#9197) (78e8549)
  • emission: restore the emission-gate sampling lane on D1 + Actions (#9084) (c2d05ca)
  • explorer: serve recent block detail from a live-follow hot tier (#9240) (5039d15)
  • firehose: head poller in ChainFirehoseHub, restoring live head capture (#9037) (1105ccb)
  • firehose: instrument ChainFirehoseHub's connection lifecycle (#9031) (53325fe), closes #8997
  • indexer: enable the raw chain capture lane (#9113) (1e36f8a)
  • indexer: gap-free raw chain capture — extrinsic/event bytes, durable before decode (#9112) (1a49b2d)
  • mcp: instrument every protocol method, not just three of fourteen (#9012) (49fd8d3)
  • mcp: instrument McpSessionHub's session lifecycle (#9015) (1bfb120), closes #8997
  • mcp: instrument SubnetStatusHub's subscription lifecycle (#9030) (f39e257), closes #8997
  • mcp: record the access model as ADR 0027, and stop misreporting it (#9010) (b3fc7a8)
  • mcp: session-bound surface-credential store, moving secrets out of tool arguments (#9009) (#9042) (ef52706)
  • mcp: truthful tool annotations and a complete $mcp_* property contract (#8974) (0b8dcfb)
  • observability: hourly freshness watchdog, the alarm that survives the boxes (#8990) (6d03556)
  • ops: alert when SafeMode is entered, from chain state (#9126) (603239a), closes #9125 #8696
  • ops: drive the metagraph sync from Actions before the box is wiped (#9158) (3593690), closes #9146
  • poller: require DATABASE_URL only when a Postgres-backed job runs (#9162) (75cd762), closes #9146
  • projections: recompute the windowed chain aggregates from the lakehouse on a cron (#9174) (ec564d9)
  • projections: register the remaining chain-wide windowed-aggregate lanes (#9181) (72e7bb1)
  • rpc: restore proxy usage capture on Workers Analytics Engine (#9247) (c0b1d8f)
  • scripts: bake COMPUTED_LIVE artifacts so frozen mode has something to serve (#8969) (a49b966)
  • serving: close the block gap above the lakehouse with a seamed cold tier (#9122) (9f4f2b6)
  • serving: complete the lakehouse cold-tier cutover — MCP tools, events, sudo/governance (#9140) (0654e0c)
  • serving: D1 read tier for subnet_snapshots — trajectory + economics trends off the box (#9070) (2943e59)
  • serving: flip METAGRAPH_HEALTH_SOURCE to d1 — health reads off the box (#9064) (9c0cc65)
  • serving: R2 SQL client for the chain lakehouse (#9116) (5f4e4d1)
  • serving: resurrect the D1 read tier for the health analytics loaders (#9061) (9fb4fa9)
  • serving: serve block history from the lakehouse when Postgres misses (#9119) (23e202f)
  • serving: serve extrinsic history from the lakehouse when Postgres misses (#9134) (2277035)
  • serving: serve top-holders from the final materialized answer (#9155) (857c557)
  • signals: move the github-signals lane to a Worker cron writing R2 (#9089) (#9090) (a6b6f2f)
  • subnets: serve ownership-history and OHLC from the lakehouse (#9198) (bc3c32b)
  • subnets: serve ownership-history and OHLC from the lakehouse (#9203) (d7227a7)
  • subnets: serve the event summary from a daily projection lane (#9256) (f7831eb), closes #9255 #9146
  • subnets: serve the subnet event feed from the lakehouse (#9212) (a861ef7), closes #9146
  • telemetry: attribute Cloudflare Worker subrequests via cf-worker (#9022) (6f87e9c), closes #9004
  • telemetry: attribute MCP callers by session id, so unique callers become countable (#9054) (#9057) (6b70856)
  • telemetry: capture D1 observation write failures and head-poller faults as $exception (#9043) (ccef0b1)
  • telemetry: condition-level PostHog capture for the wss-lb Worker (#9050) (32b641c)
  • telemetry: give the OAuth auth surface a usage label (#9029) (65259cf), closes #8996
  • telemetry: give usage_event the dimensions that make 6M events queryable (#8977) (85b91b6), closes #8963
  • tracing: sample MCP traces per-surface, so tracing finally emits (#9024) (df85999), closes #9000
  • ui: /chain/emissions — the v440 emission-pipeline decomposition, plus a subnet panel (#8745) (#9049) (3944892)
  • workers: retire the machine-data PR lanes — operational surfaces, schema snapshots, surface verification (#9099) (35873b2), closes #9096
  • wss-lb: cut wss.metagraph.sh over to a Worker and retire Railway (#8986) (3be3735)
  • wss-lb: port the WSS load balancer from Railway to a Worker (#8980) (fbe3b4a)

Bug Fixes

  • accounts: build the weight-setter slot predicate as a tuple IN list (#9234) (7a4777f), closes #9233 #9146
  • accounts: serve the account summary card from the lakehouse (#9257) (6cbce29), closes #9254 #9146
  • ai: omit the embedding token count instead of reporting a fabricated 0 (#8979) (b5ae681), closes #8965
  • analytics: restore the D1 reads behind the registry leaderboards and compare (#9199) (5d7659d), closes #9146
  • api: answer /chain/serving from the lakehouse on MCP and GraphQL too (#9230) (dd0941f), closes #9229
  • api: answer 503 when DATA_API is unreachable instead of throwing a 500 (#8971) (95e63bc)
  • api: count distinct (netuid, uid) pairs for uid-keyed network totals (#9252) (52d2b31), closes #9250 #9236
  • api: degrade the six DATA_API-proxied routes instead of 502-ing (#9182) (63a5c49), closes #9146
  • api: exclude root from the chain-yield network aggregate (#9041) (a0afc87)
  • api: finish renaming the *_tao fields that hold alpha (#9039) (52b6b1e)
  • api: label a data-tier miss so a degraded zero is not read as measured (#9114) (7900621), closes #9110
  • api: price the cross-subnet stake sums so *_tao means TAO (#9058) (b82153b)
  • api: reject unknown query params on the chain-events proxy (#9150) (ee17c0c), closes #9149
  • api: require the alpha price and drop the unpriced_* escape hatch (#9066) (e9f6d84)
  • api: stop advertising 9 routes as testnet-addressable when the router 404s them (#9053) (0ac7d16)
  • chain: count distinct weight setters with GROUP BY, not COUNT(DISTINCT) (#9261) (958dfbc), closes #9258
  • chain: serve the weight-setter leaderboards from the lakehouse (#9251) (ec37ae5), closes #9249 #9146
  • ci: budget the Worker bundle against the limit Cloudflare actually has (#9060) (0032b49)
  • ci: make the module-state gate see generically-typed collections (#9028) (19081ca), closes #8988
  • ci: serve the e2e from dist/, the path the worker build actually emits (#9083) (af1eb2c)
  • ci: stop failing the UI preview deploy on a URL that no longer exists (#9047) (b584240)
  • config: unbind HYPERDRIVE from the data worker -- its Postgres no longer exists (#9186) (9368992)
  • contract: publish the limit ceiling each route actually enforces (#9129) (d89ff06), closes #9127
  • contracts: describe the hyperparams and identity tiers as Postgres, not D1 (#9151) (ca328f3)
  • contracts: describe the neurons tier as Postgres, not the retired D1 (#9147) (83a2a05)
  • data-api: bind both realized-return baseline bounds as date strings (#8975) (0e3e0f6), closes #8961
  • data-api: bound the Hyperdrive connect, which nothing else did (#8972) (c0a7cc5)
  • data-api: dedupe schema-drift $exception capture per isolate (#8989) (270695b), closes #8985
  • data: add the neuron_daily take column schema.sql never carried (#9154) (752288b)
  • data: fit the neurons D1 writes inside the Workers binding's real limits (#9173) (2e99c07)
  • deploy: upload sourcemaps to PostHog before the deploy ships traffic (#9075) (ef51603)
  • deps: update dependency @cloudflare/workers-oauth-provider to ^0.8.3 (#9196) (5b75870)
  • deps: update dependency @tanstack/react-virtual to ^3.14.9 (#9209) (b6a2a01)
  • deps: update dependency fumadocs-mdx to ^15.2.1 (#9232) (69b9ea8)
  • deps: update radix-ui-primitives monorepo (#9248) (23a84d6)
  • economics: decode SubnetMovingPrice as I96F32, not U64F64 (#9231) (c856b41), closes #9224
  • economics: pin chain_state in the KV tier, unbreaking emission-pipeline (#9021) (8b5644f)
  • economics: publish field_sources for the tier that actually served (#9223) (ddee7fe), closes #9220
  • economics: read alpha-price history from D1, not the destroyed Postgres (#9189) (d1a8ea4)
  • economics: stamp the pinned block on live-tier economics rows (#9219) (e7e4495), closes #9218
  • freshness: measure adapter rows against the job that actually writes them (#9023) (656dab8)
  • graphql: unwrap the OHLC tier envelope and reach the lakehouse tiers (#9204) (b406eba)
  • health: read bulk health trends from D1 instead of serving an empty payload (#9192) (33356b2), closes #9146
  • mcp: capture a notification's dispatch fault before returning (#9018) (4c957c4), closes #8995
  • mcp: count a rate-limited request instead of dropping it (#9002) (d3cc438), closes #8992
  • mcp: degrade the subnet history/conviction tools instead of throwing (#9184) (fc09ffa), closes #9146
  • mcp: emit ai_degraded when semantic search falls back to keywords (#9014) (89d0dbb), closes #8999
  • mcp: hold the whole registry listing to the live server, not just its version (#9103) (213f93c), closes #9102 #8612
  • mcp: make an unknown surface_id recoverable instead of a dead end (#8978) (d17eb1f), closes #8962
  • mcp: mark a tier miss in the tool result so agents can see it (#9121) (e9e3584), closes #9120
  • mcp: read the live self-health tier, which the envelope check made unreachable (#8991) (2f3a26b), closes #8987
  • mcp: recover the netuid from a near-miss surface id (#9067) (#9069) (603c69c)
  • mcp: reject out-of-enum categoricals on list_subnets instead of matching nothing (#9013) (433fc16), closes #8942
  • mcp: report the session $mcp_initialize creates, not the one it arrived with (#9027) (acd0bf8), closes #8994
  • schema: declare the data.source /rpc/pools actually serves (#9143) (6cf6315), closes #9142 #9138
  • schema: declare the health_source /rpc/pools actually serves (#9139) (35d1e8c), closes #9138
  • serving: forward the neurons 'd1' flag to DATA_API so the seeded tables are reachable (#9165) (35f0efb)
  • serving: page the blocks cold tier on the Postgres tier's exact cursor (#9135) (a1b7f33)
  • serving: re-measure the lakehouse block seam and enforce it (#9163) (24f9db1), closes #9161
  • smoke: substitute the crowdloan id in the live-API smoke path (#9159) (b482c9c), closes #8696
  • telemetry: classify bare rate_limited, which fell through to internal (#8982) (2c6888f), closes #8963
  • telemetry: make Worker $exception frames symbolicatable by PostHog (#9048) (8bb2333)
  • telemetry: mask identifiers in data-api route and span labels (#9003) (ddd1a0f), closes #9001
  • telemetry: re-tune the usage sample rate against measured volume (#9100) (035a1b2)
  • telemetry: stop counting internal plumbing as API usage (#9006) (2dec20e), closes #9005
  • telemetry: stop every Hyperdrive connection drop minting its own issue (#9020) (e9200ba), closes #9019
  • test: assert the documented REST paths by error code, not status (#9095) (7c8c153), closes #9094
  • test: declare validate-error-messages' timeout in the file (#9098) (f57d051), closes #9097
  • test: drive the r2-sql abort instead of racing a real timer (#9124) (4af3418), closes #9123
  • ui+api: filter /apis server-side so the shortcuts stop truncating (#9118) (481e864), closes #9117
  • ui: give UI sourcemap releases a stable name instead of a per-deploy SHA (#9077) (9a5409a)
  • ui: stop serving the whole site from the leftover workers.dev hostname (#9034) (d7d4557), closes #9004

Performance

  • api: bound chain-events/stats on the partition column so chunks exclude (#8984) (0f2e576), closes #8970
  • api: bound the block prev/next lookup on the partition column (#9026) (baa3455), closes #8968
  • api: bound the chain-events head lookup, which #8984 left scanning (#9011) (cc5f2cb), closes #8970
  • ci: run the UI e2e sweep against the production build (#9080) (fb897a1)

Documentation

  • api: say which *_tao fields hold alpha, and settle #8945's inventory (#9191) (2874fa8)
  • contract: describe the query parameters that mean the same everywhere (#9133) (33f3ba1), closes #9131
  • contracts: correct the neurons tier cadence to the poller Container's 15-minute loop (#9190) (e8252ff), closes #9146
  • contracts: say which tier answers ownership-history and OHLC (#9213) (98cb359)
  • governance: record the metadata-grep trap and the corrected pallet census (#9148) (05619fc)
  • mcp: execute the agent-workflows examples instead of trusting them (#9093) (b3706fd), closes #9091 #8612
  • record how to restore each backup, with the traps that hide a bad one (#9132) (fb8d672)
  • scripts: drop a private-repo issue reference from a public comment (#8973) (e0bb875)

This PR was generated with Release Please. See documentation.

@superagent-security

Copy link
Copy Markdown

Superagent didn't find any vulnerabilities or security issues in this PR.

@JSONbored JSONbored self-assigned this Aug 3, 2026
@github-actions
github-actions Bot deployed to preview/pr-9270 August 3, 2026 12:23 Active
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment