Urgent
React2Shell security update
Auto-fix projectsLearn more
  • FastAPI Lifespan Events are now supported on Vercel

    Vercel now supports lifespan events for FastAPI apps. This allows you to define logic that can execute on startup and graceful shutdown—such as managing database connections or flushing external logs.

    from contextlib import asynccontextmanager
    from fastapi import FastAPI
    @asynccontextmanager
    async def lifespan(app: FastAPI):
    # Startup logic
    print("Starting up...")
    await startup_tasks()
    yield
    # Shutdown logic
    await cleanup_tasks()
    app = FastAPI(lifespan=lifespan)

    Deploy FastAPI on Vercel or visit the FastAPI on Vercel documentation.

  • Unified security actions dashboard

    Vercel now provides a unified dashboard that surfaces any security issues requiring action from your team. When a critical vulnerability or security-related task is detected, the dashboard automatically groups your affected projects and guides you through the steps needed to secure them.

    This view appears as a banner whenever action is required, and can be accessed anytime through the dashboard search.

    Most CVEs are handled automatically through WAF rules and other protections, but when user action is needed, they will appear here.

    • Automatic detection of security vulnerabilities that require user intervention - When the platform identifies a vulnerability or configuration that cannot be fully mitigated by Vercel’s autonomous protections, it’s surfaced here with clear instructions.

    • Project grouping based on required actions - Current categories include unpatched dependencies, manual fix required, unprotected preview deployments. Additional groups will appear over time as new protections and checks are added.

    • Support for both automated remediation - When possible, Vercel Agent offers one-click automated upgrades and PRs.

    • Support for manual remediation - For cases requiring manual updates or where GitHub access isn’t available, we provide direct instructions such as: npx fix-react2shell-next

    Link to headingStay secure with less effort

    The unified dashboard helps teams act quickly during critical moments, consolidate required fixes in one place, and maintain a stronger security posture across all projects.

    Explore the dashboard to view any required updates.

  • Automated React2Shell vulnerability patching is now available

    Vercel Agent now detects vulnerable packages in your project, and automatically generates pull requests with fixes to upgrade them to patched versions.

    React2Shell: Auto-fix vulnerable projects here

    Vercel Agent detects vulnerable packages in your project, and automatically generates pull requests with verified fixes to upgrade them to patched versions.

    Auto-fix React2Shell now

    Powered by Vercel's self-driving infrastructure, these auto-fix upgrades are available at no cost and help teams stay secure with minimal manual effort.

    • Automatic detection of vulnerable React, Next.js, and related RSC packages

    • Automatic PR creation

    • Full execution and verification of updates inside isolated Sandbox environments

    • Preview links generated with PR, to manually validate updates

    About React2Shell
    React2Shell (CVE-2025-55182) is a critical remote code execution vulnerability in React Server Components that affects React 19 and frameworks that use it like Next.js. Specially crafted requests can trigger unintended code execution if your application is running a vulnerable version. Immediate upgrades are required for all projects using affected React and Next.js releases.

    Get the latest updates on React2Shell or view the new dashboard here.

    React2Shell: Auto-fix vulnerable projects here

    Vercel Agent detects vulnerable packages in your project, and automatically generates pull requests with verified fixes to upgrade them to patched versions.

    Auto-fix React2Shell now

  • Rust runtime now in public beta for Vercel Functions

    Today, we are launching first-class support for the Rust runtime beta.

    This new release of native support, as an evolution of the community Rust runtime, brings the full benefits of Vercel Functions, including Fluid compute (with HTTP response streaming and Active CPU pricing) and an increased environment variable limit from 6KB to 64KB.

    Rust deployments automatically integrate with Vercel's existing logging, observability, and monitoring systems.

    To get started, create a Cargo.toml file and a handler function like in the example below:

    Cargo.toml
    [package]
    name = "rust-hello-world"
    version = "0.1.0"
    edition = "2024"
    [dependencies]
    tokio = { version = "1", features = ["full"] }
    vercel_runtime = { version = "2" }
    serde = { version = "1.0", features = ["derive"] }
    serde_json = "1.0"
    [[bin]]
    name = "hello"
    path = "api/hello.rs"

    api/handler.rs
    use serde_json::{Value, json};
    use vercel_runtime::{Error, Request, run, service_fn};
    #[tokio::main]
    async fn main() -> Result<(), Error> {
    let service = service_fn(handler);
    run(service).await
    }
    async fn handler(_req: Request) -> Result<Value, Error> {
    Ok(json!({
    "message": "Hello, world!",
    }))
    }

    Deploy to Vercel today with one of our starter templates Rust Hello World and Rust Axum, or read more in the Function docs.

  • Rewrites and redirects now available in runtime logs

    Vercel users can now view requests that make rewrites or redirects directly in the Vercel dashboard in runtime logs.

    By default, these requests are filtered out on the Runtime Logs page. To view these requests on the Logs page, you can filter for Rewrites or Redirects in the Resource dropdown.

    • Rewrites: shows the destination of the rewrite

    • Redirects: shows the redirect status code and location

    This feature is available to all users. Try it out or learn more about runtime logs.

  • New deployments of vulnerable Next.js applications are now blocked by default

    Any new deployment containing a version of Next.js that is vulnerable to CVE-2025-66478 will now automatically fail to deploy on Vercel.

    We strongly recommend upgrading to a patched version regardless of your hosting provider. Learn more

    This automatic protection can be disabled by setting the DANGEROUSLY_DEPLOY_VULNERABLE_CVE_2025_66478=1 environment variable on your Vercel project. Learn more

  • Introducing Platform Elements

    As part of the new Vercel for Platforms product, you can now use a set of prebuilt UI blocks and actions to add functionality directly to your application.

    An all-new library of production-ready shadcn/ui components and actions help you launch (and upgrade) quickly.

    Blocks:

    Actions:

    You can install Platforms components with the Vercel Platforms CLI. For example:

    npx @vercel/platforms add claim-deployment

    Start building with Platform Elements using our Quickstart for Multi-Tenant or Multi-Project platforms.

  • Introducing Vercel for Platforms

    You can now build platforms with the new Vercel for Platforms product announced today, making it easy to create and run customer projects on behalf of your users.

    Two platform modes are available: Multi-Tenant and Multi-Project, allowing you to deploy with a single codebase or many, across any number of domains.

    Link to headingMulti-Tenant Platforms

    Run a single codebase that serves many customers with:

    • Wildcard domains (*.yourapp.com) with automatic routing and SSL.

    • Custom domain support via SDK, including DNS verification and certificate management.

    • Routing Middleware for hostname parsing and customer resolution at the edge.

    • Single deployment model: deploy once, changes apply to all tenants.

    Add custom domains to your app in seconds:

    import {
    addDomain,
    getDomainStatus,
    } from "@/components/vercel-platform/src/actions/add-custom-domain";
    const added = await addDomain("test.com");
    if (added.status === "Valid Configuration") {
    // do something
    }
    const config = await getDomainStatus("test.com");
    config.dnsRecordsToSet; // show this in a table

    Link to headingMulti-Project Platforms

    Create a separate Vercel project per customer with:

    • Programmatic project creation with the Vercel SDK.

    • Isolation of builds, functions, environment variables, and settings per customer.

    • Support for different frameworks per project.

    Deploy your customer's code into isolated projects in seconds:

    import { deployFiles } from "@/components/vercel-platform/actions/deploy-files";
    // automatically detects the framework & build commands
    await deployFiles([], {
    // optionally assign a custom domian
    domain: "site.myapp.com",
    });

    Today we are also introducing Platform Elements, a new library to make building on platforms easier.

    Start building with our Quickstart for Multi-Tenant or Multi-Project platform.