🚀 New Features
- Cross-chain: ICTT users index, bridged tokens tab, and stats layout by @tom2drum in #3351
- Async CSV export by @tom2drum in #3330 and #3373
- Maintenance banner - allow rotation by @tom2drum in #3322
- Numeric widget: add optional value title from API (#3282) by @tom2drum in #3337
- Use sockets to update latest block/batch on home page by @maxaleks in #3353
🐛 Bug Fixes
- Fix: add base path to swagger UI requests, curl display by @2wheeh in #3316
- DApp disclaimer always forces embeded page by @tom2drum in #3336
- Adjust scale in d3 to display correct resolution by week in stats by @tom2drum in #3359
- Fix popoper overflow issue and sticky table header issue by @tom2drum in #3368
- Broken layout on
Verify & publish contractforSolidity (Hardhat)… by @tom2drum in #3367 - Multichain explorer: fix "View all transfers" link on tx page by @tom2drum in #3389
- Noves: unreadable tooltip in dark mode on
Asset Flowstx tab by @tom2drum in #3376 - Improve toast messages in the Revoke dapp by @maxaleks in #3344
- Fix address comparison by @maxaleks in #3409
- Fix adblock detection and CSP for Sevio by @maxaleks in #3428
- Multichain: support confidential (ERC-7984) tokens in portfolio and transfers by @tom2drum in #3424
📦 Dependencies Updates
- Migrate to Next.js 16 by @tom2drum in #3318
- Migrate from Yarn to pnpm by @tom2drum in #3323
- Bump Next.js to 16.2.4 and refresh dependency versions by @tom2drum in #3361
- Migrate to TypeScript 6 by @Copilot in #3395
- Update dependencies in package.json and pnpm-lock.yaml to Next.js 16.… by @tom2drum in #3406
- Dynamic wallet: add ZeroDev smart wallet connectors by @tom2drum in #3417
🛠️ DX & Tooling
- Refactor transaction page: TxInfo → TxDetails, external txs and TAC operation by @tom2drum in #3315
- Architecture redesign by @tom2drum in #3325
- Agent tooling relocation, architecture redesign docs by @tom2drum in #3343
- Refactor deployment workflows by @tom2drum in #3362
- Pass imageName: frontend-private to cleanup_docker workflow by @alik-agaev in #3365
- Add copilot-setup-steps.yml to pre-install pnpm dependencies by @Copilot in #3390
- Toolkit: input truncation, adaptive tabs list props, FormFieldSwitch label via children by @tom2drum in #3386
- [Migration 0-1] Rename configs/app/features/ files to kebab-case by @tom2drum in #3346
- [Migration 0-2] Enable ESLint import/no-cycle + boundaries rules by @tom2drum in #3349
- [Migration 1-1]: Migrate
client/apiby @Copilot in #3370 - [Migration 1-2] Migrate client/shared/ by @tom2drum in #3372
- [Migration 2-1:] pilot tx slice in client/ by @tom2drum in #3377
- [Migration 3-1] Move block slice to client/ architecture by @tom2drum in #3379
- [Migration 3-2] Slice: address by @tom2drum in #3385
- Fix client slice import paths by @tom2drum in #3391
- [Migration 3-3] Slice: search by @tom2drum in #3410
- [Migration 3-4] Slice: token by @tom2drum in #3394
- [Migration 3-5] Slice: contract by @tom2drum in #3402
- [Migration 3-6] Slice: internal-tx by @Copilot in #3397
- [Migration 3-7] Slice: home by @tom2drum in #3416
- [Migration 3-8] Slice: log by @Copilot in #3404
- [Migration 3-9] Slice: token-transfer by @Copilot in #3400
- [Migration 3-10] Slice: gas by @tom2drum in #3420
- [Migration 4-1] Feature rollup/optimism and op-interop by @tom2drum in #3422
- [Migration 4-2] Feature rollup/arbitrum by @tom2drum in #3425
- [Migration 4-3] Feature rollup/zk-sync by @tom2drum in #3427
- [Migration 4-4]: rollup/common — shared types and utils by @tom2drum in #3433
- [Migration 4-5] Feature: rollup/scroll by @tom2drum in #3430
- [Migration 4-6] Feature rollup/shibarium by @tom2drum in #3436
- [Migration 5-1] Feature: chain-variants/celo by @tom2drum in #3439
- [Migration 5-2] Feature: chain-variants/tac by @tom2drum in #3445
- [Migration 5-3] Feature: chain-variants/zeta-chain by @Copilot in #3447
- [Migration 5-4] Feature chain-variants/suave by @Copilot in #3444
- [Migration 5-5] Feature: chain-variants/mega-eth by @Copilot in #3451
- [Migration 5-6] Feature: chain-variants/beacon-chain by @Copilot in #3446
- [Migration 5-7] Feature: chain-variants/mud by @Copilot in #3454
- [Migration 6-1] Feature: user-ops by @Copilot in #3455
- [Migration 6-2] Feature: data-availability by @Copilot in #3457
- [Migration 6-5] Feature: account by @Copilot in #3459
🎨 Design Updates
- Multichain explorer: add border to portfolio card by @tom2drum in #3333
- Inputs: fix text line height by @tom2drum in #3334
- UI: Additional info popup (paddings) by @tom2drum in #3342
- UX: Remove filter if tab is empty by @tom2drum in #3347
✨ Other Changes
- Rework ads by @maxaleks in #3383
- Support full instance specifiers for admin and contract-info services by @tom2drum in #3355
- Support both chain slug and chain id in multichain page parameters by @tom2drum in #3338
- Support
http://localhost(no/api) as Swagger server URL placeholder by @Copilot in #3364 - Hero banner: move heading copy to configurable text in hero banner JSON by @tom2drum in #3335
- Remove zkEvm rollup option by @Copilot in #3375
- Promote the Blockscout PRO API in
llms.txtby @akolotov in #3388 - Tokens page: modify search field hint by @tom2drum in #3381
- API Keys page: allow modification of the helping text by @tom2drum in #3384
- ERC-7984 (token transfer page) by @tom2drum in #3413
- Update license formatting and add license header to files by @tom2drum in #3419
- Sitemap lastmod, font preconnect, and Tor onion footer by @tom2drum in #3435
- Add an option to disable internal and pending transactions views by @tom2drum in #3448
🚨 Changes in ENV variables
- #3322:
- Expanded
NEXT_PUBLIC_MAINTENANCE_ALERT_MESSAGEto accept either a single string or a JSON array of strings.
- Expanded
- #3335:
- Extended
NEXT_PUBLIC_HOMEPAGE_HERO_BANNER_CONFIGwith optional nestedtextto override hero heading copy.
- Extended
- #3337:
- Added optional
valueTitlePathfield insideNEXT_PUBLIC_ADDRESS_3RD_PARTY_WIDGETSJSON for auxiliary title text.
- Added optional
- #3355:
- Added
NEXT_PUBLIC_ADMIN_RS_INSTANCE_IDto support full instance specifiers in admin service URLs. - Added
NEXT_PUBLIC_CONTRACT_INFO_INSTANCE_IDto support full instance specifiers in contract-info service URLs.
- Added
- #3375:
- Removed
zkEvmfrom validNEXT_PUBLIC_ROLLUP_TYPEvalues and removed associated zkEvm support paths.
- Removed
- #3383:
- Replaced
conizillawithsevioin the list of possible options forNEXT_PUBLIC_AD_BANNER_PROVIDER. - Added
NEXT_PUBLIC_AD_BANNER_SEVIO_ZONESto configure Sevio ads banner zones.
- Replaced
- #3448
- Added
NEXT_PUBLIC_INTERNAL_TXS_ENABLEDto hide all internal transaction UI (global list, nav link, and detail-page tabs). - Added
NEXT_PUBLIC_VIEWS_TX_HIDDEN_VIEWSto hide different transaction views; currently supports onlypending_txsvalue.
- Added
Full list of the ENV variables: v2.8.0
💑 Compatibility
From this version onward, the app is compatible only with the following API versions:
| Service | Version |
|---|---|
| Blockscout API | v11.0.0+ |
| Interchain Indexer microservice API | v1.4.1+ |
🦄 New Contributors
- @yvaskov made their first contribution in #3352
- @Copilot made their first contribution in #3364
- @akolotov made their first contribution in #3388
Full Changelog: v2.7.3...v2.8.0