Skip to content

Releases: blockscout/frontend

v2.10.1

Choose a tag to compare

@tom2drum tom2drum released this 05 Aug 11:05
  • Build production bundles with webpack — Turbopack miscompiles the Dynamic-labs SDK
  • Display the fee payer and batched calls on the transaction details page

Full Changelog: v2.10.0...v2.10.1

v2.10.0

Choose a tag to compare

@tom2drum tom2drum released this 28 Jul 13:08

🚀 New Features

  • Multichain: cross-chain views by @tom2drum in #3539
  • Link the API navigation item to the Blockscout Dev Portal on Pro API chains by @tom2drum in #3592

🐛 Bug Fixes

  • Fix gas estimation for Dynamic wallet contract writes by @tom2drum in #3578
  • Fix api_temp_token cookie TTL — use api-v2-temp-token-ttl instead of x-ratelimit-reset by @tom2drum in #3590

⚡ Performance Improvements

  • Performance of large lists: lazy tooltip/popover mounting, skeleton fast path, profiling tooling by @tom2drum in #3551
  • Improve initial load by priming API fetches and deferring wallet & analytics by @tom2drum in #3568
  • Lazy-render heavy list and table pages with query-identity reset keys by @tom2drum in #3584
  • Build CSP policies with a nonce once at startup instead of on every page request by @tom2drum in #3591

📦 Dependencies Updates

🎨 Design Updates

  • UI/UX: Show revert reason for failed transactions by @tom2drum in #3554

🛠️ DX & Tooling

  • Refine the product-task workflow: per-subtask folders, self-contained PR titles, testing & comment rules by @tom2drum in #3579
  • Back the env-var deprecation branch choice with a check of the DevOps config repo by @tom2drum in #3594

🚨 Changes in ENV variables

  • #3592:
    • Removed NEXT_PUBLIC_ACCOUNT_API_KEYS_BUTTON — the "Add API key" button is now hidden automatically on Pro API chains, so the variable and its URL-link mode are no longer needed. Instances still passing it will fail container startup.
    • NEXT_PUBLIC_API_DOCS_TABS no longer accepts the pro_api tab; instances still passing that value will fail container startup. Leaving the variable unset is what enables the dev-portal link on Pro API chains.
    • NEXT_PUBLIC_API_DOCS_ALERT_MESSAGE no longer has any effect — the API docs page does not show a custom alert anymore. The variable is still accepted and prints a startup warning; it will be removed from the schema in the next release.
    • NEXT_PUBLIC_API_KEYS_ALERT_MESSAGE now has a built-in default — the API keys deprecation notice shown on Pro API chains. Do not pass the variable unless you need to override that text; an empty value hides the notice.

Full list of the ENV variables: v2.10.0

💑 Compatibility

From this version onward, the app is compatible only with the following API versions:

Service Version
Blockscout API v11.2.3+

Full Changelog: v2.9.4...v2.10.0

v2.9.4

Choose a tag to compare

@tom2drum tom2drum released this 16 Jul 16:03
  • Fix link style in token verified tooltip

Full Changelog: v2.9.3...v2.9.4

v2.9.3

Choose a tag to compare

@tom2drum tom2drum released this 16 Jul 13:35

Full Changelog: v2.9.2...v2.9.3

v2.9.2

Choose a tag to compare

@tom2drum tom2drum released this 13 Jul 14:17
30d52d5

🚀 New Features

  • Hero banner: customize search input background and border colors by @tom2drum in #3559

🐛 Bug Fixes

  • Support .vyi interface files in Vyper multi-part verification by @tom2drum in #3558

📦 Dependencies Updates

  • Clean up API types and adopt admin-rs / contracts-info type packages by @tom2drum in #3544
  • Bump Dynamic wallet SDK to 4.91.4 by @tom2drum in #3548

🛠️ DX & Tooling

🎨 Design Updates

  • UI: Stroke for Color theme and Address identicon by @tom2drum in #3543
  • Rework Token page + token instance page navigation by @tom2drum in #3560

✨ Other Changes

  • Add USD value for UserOps fees by @tom2drum in #3556
  • Support count-only new_blocks_count socket event for the blocks list new-items counter by @tom2drum in #3564

🚨 Changes in ENV variables

  • #3559:
    • Extended NEXT_PUBLIC_HOMEPAGE_HERO_BANNER_CONFIG with new optional fields in its search object: background (hero search input background color per light/dark theme) and border_color (border color per input state — _empty, _hover, _focus, _filled). The existing border_width behavior is unchanged, and instances without the new fields keep their current appearance.

Full list of the ENV variables: v2.9.2

💑 Compatibility

From this version onward, the app is compatible only with the following API versions:

Service Version
Blockscout API v11.2.3+

Full Changelog: v2.9.1...v2.9.2

v2.9.1

Choose a tag to compare

@tom2drum tom2drum released this 03 Jul 16:34

v2.9.0

Choose a tag to compare

@tom2drum tom2drum released this 24 Jun 13:31

🚀 New Features

🐛 Bug Fixes

  • Multichain explorer: ERC-7984 tokens display in search results by @tom2drum in #3508
  • Prevent SSRF via x-endpoint header by @tom2drum in #3526
  • Code editor: dispose all models when component unmounts itself by @tom2drum in #3533

⚡ Performance Improvements

  • Use a shared Intl.Collator for locale-aware string comparison by @tom2drum in #3529

📦 Dependencies Updates

🛠️ DX & Tooling

  • Refactor dev-server env flow to fetch instance config at startup by @tom2drum in #3523
  • [Migration 6-3] Features multichain and multichain-button by @tom2drum in #3481
  • [Migration 6-4] Feature: name-services (domains and clusters) by @tom2drum in #3460
  • [Migration 6-8] Feature: validators by @tom2drum in #3475
  • [Migration 6-9] Feature: marketplace by @tom2drum in #3469
  • [Migration 6-10] Feature: rewards by @tom2drum in #3464
  • [Migration 6-11] Feature: advanced-filter by @tom2drum in #3470
  • [Migration 6-13] Features: cross-chain-txs, gas-tracker, sol2uml by @tom2drum in #3484
  • [Migration 6-16] Feature: dex-pools by @tom2drum in #3467
  • [Migration 6-21] Feature: tx-interpretation by @tom2drum in #3473
  • [Migration 6-22] Feature address-metadata — merge public-tags-submission by @tom2drum in #3478
  • [Migration 6-27] Features: web3-wallet and connect-wallet by @tom2drum in #3482
  • [Migration 6-28] Features: alternative-explorers and ads by @tom2drum in #3488
  • [Migration 7-1] Migrate client/shell by @tom2drum in #3490
  • [Migration 8-1] Remove legacy root directories by @tom2drum in #3491
  • [Migration 9-1] Co-locate config files from configs/ into client/ by @tom2drum in #3496
  • [Migration 10-1] Consolidate all application source under src/ by @tom2drum in #3500
  • [Migration] Clean up lib, stubs, mocks, types and ui folders by @tom2drum in #3485
  • Migrate address and token API types to @blockscout/api-types (part 1) by @tom2drum in #3525
  • Migrate core API types to @blockscout/api-types package by @tom2drum in #3538
  • Refactor CSP policies by @tom2drum in #3534
  • Refactor search bar menu width to use Popover sameWidth by @tom2drum in #3514
  • Add configurable URL validator with loose scheme support for FormFieldUrl by @tom2drum in #3515

🎨 Design Updates

  • Address page: change list views to table views on mobile by @tom2drum in #3506

✨ Other Changes

  • Include individual chart pages in sitemap when chain stats is enabled by @tom2drum in #3524
  • Disconnect wallet on sign out by @tom2drum in #3509
  • Remove 500-transaction threshold for metadata address submit by @tom2drum in #3505
  • Improve REST API docs Swagger UI tag grouping and search by @tom2drum in #3486
  • Refactor metadata templates and update page titles/descriptions by @tom2drum in #3516
  • Remove deprecated MUD framework feature by @tom2drum in #3531
  • Mixpanel: route data to EU servers by @tom2drum in #3536

🚨 Changes in ENV variables

  • #3293:
    • Added NEXT_PUBLIC_USERCENTRICS_CONFIG — JSON object with settingsId and/or rulesetId. When set, injects the Usercentrics CMP script and gates third-party analytics, monitoring, and ad services behind user consent.
    • Added NEXT_PUBLIC_USERCENTRICS_DRAFT — set to true to load the unpublished (draft) CMP configuration for previewing consent changes before publishing. Only valid when NEXT_PUBLIC_USERCENTRICS_CONFIG is set.
  • #3461:
    • Added NEXT_PUBLIC_STATS_API_REFETCH_INTERVAL — JSON map controlling how often (ms) Stats API resources are refetched in the background (keys: stats:counters, stats:pages_main), e.g. for live-updating average block time. Only valid when NEXT_PUBLIC_STATS_API_HOST is configured.
  • #3476:
    • Added NEXT_PUBLIC_PRO_API_SUPPORTED (boolean) — controls whether the PRO API tab appears in the API docs. Automatically set at container startup based on the chain's membership in the Blockscout Pro API; can be manually overridden.
    • Extended NEXT_PUBLIC_API_DOCS_TABS with a new pro_api tab ID.
  • #3516:
    • Changed the default value of NEXT_PUBLIC_OG_ENHANCED_DATA_ENABLED from false to true.
  • #3520:
    • Extended NEXT_PUBLIC_VIEWS_TX_HIDDEN_FIELDS with four new field IDs — L1_gas_used, L1_gas_price, L1_fee, L1_fee_scalar — to allow hiding L1 fee datapoints individually on the transaction details page.
  • #3531:
    • Removed NEXT_PUBLIC_HAS_MUD_FRAMEWORK (MUD framework feature removed); moved to deprecated ENVs.

Full list of the ENV variables: v2.9.0

💑 Compatibility

From this version onward, the app is compatible only with the following API versions:

Service Version
Blockscout API v11.2.0+
Blockscout ENS microservice API v1.7.1+

Full Changelog: v2.8.1...v2.9.0

v2.8.1

Choose a tag to compare

@tom2drum tom2drum released this 01 Jun 13:08
  • Update useApiFetch to include credentials for non-core API requests on the same origin
  • Add zerodev to csp connect-src

Full Changelog: v2.8.0...v2.8.1

v2.8.0

Choose a tag to compare

@tom2drum tom2drum released this 07 May 14:13

🚀 New Features

🐛 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 contract for Solidity (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 Flows tx 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/api by @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

✨ 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.txt by @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_MESSAGE to accept either a single string or a JSON array of strings.
  • #3335:
    • Extended NEXT_PUBLIC_HOMEPAGE_HERO_BANNER_CONFIG with optional nested text to override hero heading copy.
  • #3337:
    • Added optional valueTitlePath field inside NEXT_PUBLIC_ADDRESS_3RD_PARTY_WIDGETS JSON for auxiliary title text.
  • #3355:
    • Added NEXT_PUBLIC_ADMIN_RS_INSTANCE_ID to support full instance specifiers in admin service URLs.
    • Added NEXT_PUBLIC_CONTRACT_INFO_INSTANCE_ID to support full instance specifiers in contract-info service URLs.
  • #3375:
    • Removed zkEvm from valid NEXT_PUBLIC_ROLLUP_TYPE values and removed associated zkEvm support paths.
  • #3383:
    • Replaced conizilla with sevio in the list of possible options for NEXT_PUBLIC_AD_BANNER_PROVIDER.
    • ...
Read more

v2.7.3

Choose a tag to compare

@tom2drum tom2drum released this 21 Apr 17:43