Skip to content

Deploy v11.8.0#18304

Merged
wackerow merged 311 commits into
masterfrom
staging
May 29, 2026
Merged

Deploy v11.8.0#18304
wackerow merged 311 commits into
masterfrom
staging

Conversation

@pettinarip
Copy link
Copy Markdown
Member


⚡️ Changes

🌐 Translations

🐛 Bug Fix

📝 Documentation

🔧 Tooling

📦 Dependencies


🦄 Contributors

Thank you @BabyScope, @andreivladbrg, @bshastry, @konopkja, @mnelsonBT, @nloureiro, @pettinarip and @wackerow for the contributions! 🏆


BabyScope and others added 30 commits May 20, 2026 20:48
…ibutes

Locale codes pt-br and zh-tw are used as URL path segments (intentional)
but were also used directly as HTML lang attributes and hreflang language
keys, which require uppercase region subtags per BCP 47 (pt-BR, zh-TW).

Adds toLanguageTag() utility and applies it in:
- app/[locale]/layout.tsx: <html lang>
- src/lib/utils/metadata.ts: hreflang language keys
- app/sitemap.ts: sitemap hreflang alternates

Fixes ~142 "HTML lang attribute invalid" ahrefs errors.
IssuesList now fetches getGFIs() internally as an async Server
Component, replacing the gfissues MDX scope variable that the slug
route previously injected at compile time. Also swaps the direct
react-emoji-render import for the canonical @/components/Emoji
wrapper used by every other consumer.

Drops the now-unused scope parameter from getPageData and compile,
along with the gfissues fetch + try/catch from the slug route.

Find/replaces <IssuesList issues={gfissues} my={8} /> ->
<IssuesList my={8} /> across the English source and 24 translated
copies of contributing/index.md.

Preliminary to the Velite MDX precompile migration, where MDX scope
variables don't fit the precompiled model.
Bumps [uuid](https://github.com/uuidjs/uuid) from 13.0.0 to 13.0.2.
- [Release notes](https://github.com/uuidjs/uuid/releases)
- [Changelog](https://github.com/uuidjs/uuid/blob/v13.0.2/CHANGELOG.md)
- [Commits](uuidjs/uuid@v13.0.0...v13.0.2)

---
updated-dependencies:
- dependency-name: uuid
  dependency-version: 13.0.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com>
Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com>
Adds a new /reports page that curates reputable, third-party institutional
reports on Ethereum from regulators, central banks, banks, consultancies, and
leading research firms. Each report shows the publication date as a tag, the
title, the publisher, and a link out to the publisher.

Also moves the existing /trillion-dollar-security page under
/reports/trillion-dollar-security with a 301 redirect, so the EF-led security
report sits alongside the external ones. Adds a Research -> Reports nav entry
and a footer link.

Card content follows the inclusion criteria from issue #18218 and the
maintainer feedback in #18218 (comment 4498659895): substantive Ethereum
content, named institutional publisher, direct publisher-hosted URL.

Initial 11 entries:
- Trillion Dollar Security (Ethereum Foundation, internal)
- Technical Risk Assessment on Blockchain Networks (OpenZeppelin, Apr 2026)
- Quantum Computing & Blockchain (Coinbase Independent Advisory Board, Apr 2026)
- State of Crypto Report 2025 (a16z crypto, Oct 2025)
- The Future of Financial Infrastructure: Ethereum's Layer 2 Landscape
  (Etherealize, Nethermind and L2BEAT, Dec 2025)
- Coin Report: Ethereum (ETH) (Fidelity Digital Assets, Aug 2025)
- Ethereum is Trustware (Consensys, Aug 2025)
- Ethereum Pectra Upgrade: The Impact on Institutional Staking
  (Twinstake, 2025)
- Strengthening American Leadership in Digital Financial Technology
  (The White House President's Working Group, Jul 2025)
- BIS Papers 156 (Bank for International Settlements, Apr 2025)
- From ripples to waves (McKinsey & Company, Jun 2024)

Follows the canonical Card primitive pattern from app/[locale]/learn:
row-span-3 subgrid layout with CardBanner (fit=contain) at top, CardContent
with Tag + CardTitle + CardParagraph, and a ButtonLink CTA. ButtonLink auto-
renders the external link arrow on outbound URLs.

Closes #18218

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Re-encodes the 10 /reports cover images from PNG/JPG at default quality to
WebP at q=80. Total asset size drops 3.8 MB to 648 KB (-83%). Largest single
file (l2-landscape) drops from 1122 KB to 99 KB.

WebP is well-supported across the runtime targets the site already serves;
Next.js Image continues to handle per-request optimization on top.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Replaces the marketing-flavored intro ("curated collection of reputable
reports", "every report listed has been independently verified") with copy
that frames the page around what readers can learn from these reports, not
how trustworthy the list is. Also drops the em dashes per the repo style
guide (no em dashes in content writing).

Changes the BIS Papers 156 title to use a colon between the title and
subtitle (matching the BIS-published title), removing the em dash there as
well. The "BIS Papers 156" series identifier moves out of the title since
the publisher field already carries the bibliographic context.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Does not apply this to `CardTitle` or `strong` text -- applies `text-body` to these
- Refactors to use `textColor` variant for `text-body` override on `CardParagraph` text as-needed
- Deprecates `variant="light"` for `CardParagraph` -- now applied globally by default

Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com>
Adds an optional fileSizeBytes field to the Report type and renders a small
"PDF, X.X MB" line below the publisher on each card whose href is a direct
PDF download.

Three current entries qualify:
- OpenZeppelin Technical Risk Assessment: 0.8 MB
- Coinbase Quantum Computing & Blockchain: 0.4 MB
- L2 Landscape (Etherealize / Nethermind / L2BEAT): 6.6 MB

Sizes were read from each publisher's Content-Length header at the time of
authoring. Cards that link to HTML landing pages do not show a size.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Encode the Card primitive's variant-driven design (CSS-var-controlled padding, spacing, and border-radius) so future UI work composes parts and picks variants rather than overriding via className.

Covers all sub-components (Card, CardHeader, CardContent, CardFooter, CardBanner, CardTitle, CardParagraph, CardEmoji) with their full variant matrices, and flags hoverEffect and footer rounded=fit as proof-of-concept pending design decisions.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com>
Switches four cards whose href previously pointed at the publisher's HTML
landing to the underlying PDF, so readers reach the actual report in one
click instead of two:

- a16z State of Crypto 2025: blog post -> standalone PDF (16.5 MB)
- Twinstake Pectra: webflow page -> PDF (1.2 MB)
- White House PWG: press fact-sheet -> the 160-page PWG report PDF (5.6 MB)
- BIS Papers 156: .htm landing -> bispap156.pdf (0.7 MB)

Each of those now also shows "PDF, X.X MB" beneath the publisher line, so
readers know what they are about to download. With this change all seven
externally-linked PDF reports surface their file size.

The remaining three external cards (Consensys "Ethereum is Trustware",
Fidelity Coin Report, McKinsey "From Ripples to Waves") are web-only
reports with no public direct-PDF URL; they now show a "Web article"
indicator in the same slot so every card has a media-type label.

The internal Trillion Dollar Security card stays unbadged so the EF
subpage remains visually distinct from external reports.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
PR #18195 updated component styles and CSS but missed the THEMES
constant in src/lib/shiki.ts, so highlighted output still rendered with
one-light / one-dark-pro instead of the vitesse pair promised in the
PR description.
Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com>
Build out Card primitive story coverage with variant-axis grids (backgrounds, spacing with content-spacing override, title variants, banner placement/backgrounds/sizes, header variants, footer buttons, linkable with zoom toggle) and a Composites story wired to real intl keys so the Storybook locale toolbar exercises RTL and verbose-language layouts.

Variant-axis stories opt out of Chromatic snapshots at the meta level since they're dev-facing references; Composites overrides this to keep regression coverage on the production-shape compositions.

Migrate MarkdownCard.stories.tsx to title 'Components / Cards / MarkdownCard' and add a grid decorator that renders six instances so the typical CardGrid layout is legible at-a-glance.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com>
Use the noun form (with the nominalizing suffix) to match zh-tw and provide better register for breadcrumb/page-title context. The bare form is valid as a modifier but reads less naturally as a standalone noun.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com>
i18n: translation pipeline ("quantum resistance" all languages)
Leaderboard: Update for aarnavrotten post 1380
…13.0.2

build(deps): bump uuid from 13.0.0 to 13.0.2
- Updates [svg] to [svg:not(.lucide-external-link)] for SVG coloring in alert variants
- Avoids re-coloring the external link arrow within Alert component

Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com>
myelinated-wackerow and others added 18 commits May 28, 2026 05:44
- " | ethereum.org" suffix automatically applied

Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com>
Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com>
Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com>
Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com>
- Migrate from page-developers-blog namespace usage
- Fixes ICU variable usage for "{minutes} min read"

Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com>
Add NodeFlare to nodes-as-a-service providers
…bility-description

fix: add missing docs-nav-data-availability-description translation key
fix(codeblock): actually switch shiki theme to vitesse
refactor(IssuesList): self-fetch GFIs, remove MDX scope plumbing
Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com>
…links

fix(seo): update /en/staking/ links to /staking/ in restaking translations
fix(docs): correct smart-contracts example URL in style guide
Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com>
fix(seo): normalize locale codes to BCP 47 for lang and hreflang attributes
@pettinarip pettinarip requested a review from wackerow as a code owner May 28, 2026 16:34
@netlify
Copy link
Copy Markdown

netlify Bot commented May 28, 2026

Deploy Preview for ethereumorg ready!

Name Link
🔨 Latest commit 4633e3c
🔍 Latest deploy log https://app.netlify.com/projects/ethereumorg/deploys/6a186e9dd9818900088890fa
😎 Deploy Preview https://deploy-preview-18304.ethereum.it
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
Lighthouse
Lighthouse
7 paths audited
Performance: 68 (🟢 up 3 from production)
Accessibility: 96 (no change from production)
Best Practices: 100 (no change from production)
SEO: 99 (no change from production)
PWA: 59 (no change from production)
View the detailed breakdown and full score reports

To edit notification comments on pull requests, go to your Netlify project configuration.

@github-actions github-actions Bot added config ⚙️ Changes to configuration files content 🖋️ This involves copy additions or edits dependencies 📦 Changes related to project dependencies documentation 📖 Change or add documentation tooling 🔧 Changes related to tooling of the project translation 🌍 This is related to our Translation Program labels May 28, 2026
@github-actions
Copy link
Copy Markdown
Contributor

Page Performance Accessibility Best practices SEO PWA

Lighthouse scores are calculated based on the latest audit results

@pettinarip
Copy link
Copy Markdown
Member Author

/review-release summary

Verified key user-facing changes on staging.ethereum.org.

Page / Item Status Notes
Homepage / ✅ Pass Loads cleanly; nav, dark-mode toggle, language picker present.
/reports/ (new page) ✅ Pass New page loads with full report list, correct breadcrumb (RESEARCH > REPORTS), and appears in the Research footer menu (#18254).
/llms.txt ✅ Pass HTTP 200, well-formed content, includes cross-link to dev docs llms.txt (#18234).
/developers/docs/llms.txt ✅ Pass HTTP 200, indexes dev docs correctly (#18234).
/layer-2/ hero CTAs ✅ Pass Primary → /layer-2/networks/, secondary → /layer-2/learn/; both resolve 200 (#18222).
/developers/docs/nodes-and-clients/nodes-as-a-service/ ✅ Pass NodeFlare is listed among providers (#18244).
/10years/ ✅ Pass Page renders; tabs section visible without unwanted shadow (#18270).
/roadmap/future-proofing/quantum-resistance/ ✅ Pass Topic hero displays page heading + description content; loads without errors (#18260).
/contributing/style-guide/content-standardization/ ✅ Pass Smart-contracts example URL now shows the corrected /developers/docs/smart-contracts/ pattern (#18295).
/apps/ (gallery) ✅ Pass App cards use "application banner" alt text — banner-first ordering applied (#18243).
/apps/0xbow/ (single app) ✅ Pass Gallery section renders with banner image first.
/developers/docs/smart-contracts/anatomy/ ✅ Pass Code blocks render with the new shiki vitesse theme (#18263).
/bug-bounty/ (leaderboard) ✅ Pass "aarnavrotten" (EL) and "Jie Ma (UTUX Labs)" (CL) both visible in leaderboards (#18255, #18279).
/staking/ vs /en/staking/ ✅ Pass /staking/ returns 200; /en/staking/ returns 301 redirect — consistent with restaking translation link fix (#18294).

Verdict: No 404s, broken pages, or visible regressions across the items checked. The deploy looks ready to ship.

Informational only — this is not a PR review. Approval and merge remain manual.

@wackerow wackerow merged commit 52c8df5 into master May 29, 2026
38 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

config ⚙️ Changes to configuration files content 🖋️ This involves copy additions or edits dependencies 📦 Changes related to project dependencies documentation 📖 Change or add documentation tooling 🔧 Changes related to tooling of the project translation 🌍 This is related to our Translation Program

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants