Skip to content


Follow us on Twitter to hear about changes first.

Unlimited custom domains for all Pro teams

You can now add unlimited Custom Domains to your project on a Pro team. This enables creators, entrepreneurs, and platforms on Vercel to create the next big thing. To help enable this, we've created a Platforms Starter Kit.

Try out the demo and create your own platform.

Avatar for leerob

Checkly Integration and Checks API now generally available

With the Vercel Checkly Integration, monitor the Core Web Vitals of your site on every build before it gets deployed so that your performance never degrades.

This integration can be installed from the Integration Marketplace or Status view, and comes with rich functionality out-of-the-box. You can now:

  • Run reliability and performance checks on preview and production
  • Automatically block your build when checks fail
  • Get deep insights such as web vitals and error logs

This Checkly Integration is built using our new Checks API which allows you to insert validation and status checks after a deployment is built but before it is released to production.

Avatar for camicanoAvatar for skllcrnAvatar for chriswdmrAvatar for mrmckebAvatar for dglsparsonsAvatar for dferber

Easier navigation for documentation

The Concepts and Reference navigation items now expand to reveal all available pages within each section. This change gives an easy overview of what each section holds, and enables you to quickly navigate to your desired section of the documentation.

To view the new navigation, visit our documentation.

Avatar for pacoAvatar for molebox

Papercuts, small feature requests, and bug fixes

With your feedback, we've shipped dozens of bug fixes and small feature requests to improve your product experience:

  • iCloud DNS Email Preset: Easily add DNS records to your domain to allow email forwarding.
  • Syntax Highlighting for Source Files: When viewing contents of a Deployment, source files now have syntax highlighting based on the code language.
  • Easier Domain Assignment: When adding new custom domains, you can now press Enter to save the input instead of clicking save.
  • Fixed Sticky Tabs in Safari: The dashboard navigation now properly hides items after scrolling in Safari.
  • Safer Domain Removal: When removing a domain from your project, we’ve removed the option to also remove all subdomains based on customer feedback.
  • Full Timestamps for Activity Log: When viewing the Activity Log for your team, you can now hover over the relative timestamp to view the full date and time.
  • Improved Team Member Search: When trying to add members to a large team, searching now happens server-side to prevent needing to click load more.
  • New Confirmation Modals: When modifying Git Fork Protection and Log and Source Protection, confirmation is now required to save changes.
  • Team Navigation shows Plan: Change between your Personal Account and Teams now clearly shows whether the selected account is Hobby, Pro, Enterprise, and also if billing is overdue.

Let us know other opportunities where we can improve your experience with Vercel.

Avatar for pacoAvatar for skllcrnAvatar for leerobAvatar for simpsokaAvatar for anatrajkovskaAvatar for chibicode

Easily manage custom nameservers for domains

You can now more easily add custom nameservers to your Vercel hosted domain, allowing for delegation to other DNS providers. Add up to four nameservers at once, and revert to your previous settings if necessary.

Check out the documentation as well.

Avatar for samsisleAvatar for cl3arglass

Vercel Security: Response to Log4j Vulnerability

Recently, a series of security vulnerabilities were discovered in the popular logging utility Log4j.

As with any emerging threat, details are still coming to light and investigations are ongoing, but we have not presently identified any use of Log4j in our environment that would make us or our customers susceptible to the detailed exploit. Additionally, we're working with our third-party providers to ensure that they have patched or will patch instances of this vulnerability according to their highest criticality timelines.

Our internal teams are working closely with our external security services provider to monitor our environment. We will send follow-up communications to customers as, and when, appropriate.

Please feel free to reach out to us at if you have any questions or concerns.

Avatar for rauchg

Usage Overview project grouping

To help provide better insight into your accounts resource usage, the Usage Overview now gives you the ability to view data grouped by your top 4 projects, in addition to grouping the charts by count or ratio.

Check out the documentation here.

Avatar for simpsokaAvatar for skllcrnAvatar for codybrouwers

Turborepo Open-Source CLI and Remote Caching on Vercel

Turborepo, a high-performance build system for JavaScript and TypeScript codebases, is joining Vercel. Starting today, the Turborepo CLI is open source and available for anyone to use.

Turborepo reduces build times by providing:

  • Intelligent caching
  • Content-aware hashing
  • Remote caching (beta)
  • Parallel execution
  • Task pipelines

Get started with Turborepo today.

Avatar for rauchgAvatar for jared

Remix projects can now be deployed with zero configuration

Vercel now automatically optimizes your Remix projects. When importing a new project, it will detect Remix and configure the right settings for you — including automatic immutable HTTP caching headers for JavaScript and CSS assets.

Get started by deploying the Remix template or running npx create-remix@latest, selecting Vercel, and then deploying with npx vercel.

Check out the documentation as well.

Avatar for leerobAvatar for leo

Automatic REST API documentation with OpenAPI

Our REST API documentation is now automatically updated with changes to our API.

Developers can use our REST API to extend the Vercel platform and programmatically augment their workflows. After every change to our API repository, a new version of the documentation is automatically generated. This includes all API endpoints and the correct fields and types used. Starting today, more endpoints are listed and all parameters are now documented.

Check out the improved documentation.

Avatar for pacoAvatar for tootallnateAvatar for javivelascoAvatar for anatrajkovskaAvatar for shudingAvatar for nkzawa

Python 3.9 is now available

As of today, new Deployments using Python Serverless Functions will use version 3.9 and the legacy version 3.6 is being deprecated.

If you need to continue making Deployments using Python 3.6, ensure your Pipfile and corresponding Pipfile.lock have python_version set to 3.6 exactly.

Python 3.6 will reach end of life in December 2021. Before completely removing support, there will be another announcement with the exact sunset date.

Check out the documentation as well.

Avatar for styfle

IP Geolocation now available for all plans

IP Geolocation is now available on all plans, Hobby, Pro and Enterprise teams, for requests received by Edge and Serverless Functions.

In this Edge Functions example, you can determine a user's location.

Check out our documentation to learn more.

Avatar for matheusAvatar for connordavis

Edge Functions are now available in Public Beta

Edge Functions are now available in Public Beta. They allow developers to deliver content to your site with speed and personalization, by enabling them to serve the exact end-user experience they're imagining, every time. Edge Functions have instant cold boots, support streaming, and are deployed globally by default.

To get started with Edge Functions, create a _middleware.js file in the pages/ directory for Next.js 12+ or on the root of any Vercel project. Middleware enables Edge authentication, bot protection, feature flags, A/B testing, server-side analytics, logging, and more.

Read about deploying Edge Functions in the documentation, and check out the examples.

Avatar for simpsokaAvatar for javivelascoAvatar for matheus

Frankfurt (Germany) is now available on the Edge Network

The Edge just got even more powerful. We're excited to introduce Frankfurt (Germany) as a new region on the Edge Network, allowing you to serve up faster experiences to customers and visitors all over central Europe.

Static files and the responses from your Serverless Functions are now automatically cached in this region. Furthermore, Pro and Enterprise Teams can choose the region for running Serverless Functions on the respective page in the Project Settings.

Check out the documentation as well.

Avatar for matheus

Quickly navigate the Dashboard with shortcuts

The  K shortcut on your keyboard now lets you navigate straight to a particular area of the dashboard and take important actions without using the dashboard menu.

Among many other ways of saving you time, the new Command Menu lets you:

  • Navigate to a specific Project, or even Deployments within that Project
  • Search the documentation for helpful information
  • Invite others to join your currently selected Vercel Team
  • Create new Projects from an existing Git repository or Template

Check out the documentation as well.

Avatar for raunoAvatar for pacoAvatar for rizbizkitsAvatar for skllcrn

Request access to Teams right from the Dashboard

For you to join a Team on Vercel, one of its owners can invite you from the Team Settings on the dashboard (or, in the case of SAML, add you to the respective Directory Sync provider).

In addition, the platform now also suggests Teams that you can request access to based on:

  • The Git namespaces (e.g. GitHub organizations) that any Git Login Connections associated with your Personal Account have access to.
  • The email domain associated with your Personal Account.

Suggested Teams will appear on a new Teams page in your Personal Account Settings (which also provides an overview of the Teams that you're already a part of) and in the scope selector on the top left of the dashboard.

Check out the documentation as well.

Avatar for mrmckebAvatar for raunoAvatar for pacoAvatar for skllcrn

Sunsetting UI-Hooks and Legacy Webhooks

As previously mentioned (on May 25th, 2021) Vercel will be removing UI Hooks for integrations.

UI Hooks have already become unavailable for newly created Integrations, but they will also be removed from all existing Integrations, meaning that:

  • Integrations with UI Hooks can't be installed anymore.
  • Integration UI Hooks will no longer be shown on the Dashboard.
  • The respective configuration field will be removed from the Integration Console.
  • The API endpoint /v1/integrations/configuration/:id/metadata will become unavailable.

Furthermore, we also deprecated the manual webhook creation through our API. See our previous announcement about this change. This means that:

  • The API endpoint /v1/integrations/webhooks will become unavailable.
  • The API endpoint /v1/integrations/webhooks/:id will become unavailable.
  • DELETE requests to the configured generic Webhook URL will be not send anymore.

Check the updated documentation to learn more about upgrading your Integration.

Avatar for chriswdmrAvatar for simpsoka

Projects can now be transferred to Personal Accounts

As of today, you can transfer projects from Teams to Personal Accounts with no workflow interruptions or downtime.

This is useful when your project no longer requires the functionality offered by Vercel Teams, like working with collaborators.

Previously, it was only possible to transfer Vercel projects from Personal Accounts to Teams when a need for collaboration and more advanced functionality arose.

Check out the documentation as well.

Avatar for pacoAvatar for tootallnateAvatar for skllcrn

New Slack Integration

We’re happy to share that Vercel's new and improved Slack Integration is now ready for use.

It can be installed from the Integration Marketplace and comes with a number of advantages over the previous Slack Integration. You can now:

  • Choose specific events you’re interested in.
  • Send all events to one Slack channel or to multiple on a per-project basis.
  • Send events to private Slack channels.

If you're currently using the previous legacy Slack Integration (you can tell by opening the Integration's configuration view from your Personal Account or Team dashboard), please remove it and add the new one, as the legacy Integration will stop working on August 20th.

Furthermore, if you're using the legacy Integration, you will also receive a notification directly on your Slack channel about the next steps you can take to upgrade to its latest version.

Avatar for chriswdmr

A new dashboard overview is now available

Your Vercel dashboard provides you with an overview of Projects available within your Personal Account or Team, and what their status is.

Today we're excited to announce a completely overhauled dashboard overview with a number of improvements. You can now...

  • Search for a particular Project.
  • See which change is currently available in Production for your Projects.
  • Easily find the Project you're looking for by framework icon or favicon.
  • Navigate to Projects via the cards and hover to quickly visit Production on desktop.

In addition, the header and activity stream were removed to help you get to what matters faster.

Avatar for pacoAvatar for gkaragkiaourisAvatar for skllcrn

Version 7 of npm is now supported

Vercel will now automatically detect whether your Project's dependencies were added with version 7 of the npm CLI, based on the presence of the latest lockfile format.

If detected, Vercel will automatically switch to using npm v7 to install your Project's dependencies within the Build Step.

This means that, among many bug fixes in the latest version of npm, your Deployments can now make use of the following new features:

Check out the full release notes and the documentation as well.

Avatar for tootallnateAvatar for ktcarter

Customizing the Install Command while creating Projects

When importing a Git repository into Vercel, your Project's dependencies used to automatically be installed using either Yarn or npm, depending on your code. Selecting a different package manager such as pnpm was only possible after the Project was already deployed.

As of today, however, you can configure your custom Install Command even before the first Deployment for your new Project is created.

This also comes in handy for passing custom options to the yarn or npm install commands, since you can simply place the command of your choice in the "Install Command" field.

Check out the documentation as well.

Avatar for anatrajkovska

Get started faster with the new Project Creation Flow

Creating a new project on the dashboard now takes you through a new, simpler flow:

  • New projects will default to your currently selected Personal Account or Team, instead of prompting you to pick one every time.
  • Everything now happens on a single view, instead of making you navigate through four different pages every time.

These improvements make it easier to import a Git repository or start fresh from a Template. Try it out by clicking the New Project button on your dashboard!

If you'd like to integrate our new Project Creation Flow into your own application or Git repository, check out the documentation as well.

Avatar for anatrajkovskaAvatar for mrmckebAvatar for luclerayAvatar for raunoAvatar for nkzawaAvatar for skllcrnAvatar for evilrabbit

SvelteKit projects can now be deployed with zero configuration

Vercel now automatically optimizes your SvelteKit projects. When importing a new project, it will detect SvelteKit and configure the right settings for you.

In addition, System Environment Variables are made available under the SVELTEKIT_ prefix by default and you can now easily start new SvelteKit projects from the dashboard.

Check out the documentation as well.

Avatar for leerob

Integrations can now be managed more efficiently

Following our launch of Vercel's new Integration Marketplace, we're now making it easier to manage Integrations on the dashboard.

  • Before: Navigating to the "Integrations" tab of a Personal Account or Team would list all previously added Integrations and all their different configurations.
  • After: Every Integration is listed only once per Personal Account or Team, and per-project configurations are handled by the respective third party instead.

Legacy Integrations, as mentioned at the bottom of the dashboard, will disappear on August 20th. Integration authors will be able to upgrade them until then.

Check out our updated documentation to learn how to create your own Integration.

Avatar for chibicodeAvatar for chriswdmrAvatar for skllcrn

Removing Domains is now much easier

Starting today, removing Domains in the Project Settings now also optionally removes them globally, for all other Projects on your Personal Account or Team.

Before, this required navigating to the global Domains page on your Personal Account or Team.

Check out the documentation as well.

Avatar for rizbizkitsAvatar for mcsdev

Vite projects can now be deployed with zero configuration

Vercel now automatically optimizes your Vite projects. When importing a new project, it will detect Vite and configure the right settings for you.

In addition, System Environment Variables are made available under the VITE_ prefix by default and you can now easily start new Vite projects from the dashboard.

Check out the documentation as well.

Avatar for leerob

SAML Single Sign-On and Directory Sync now fully available

Enterprise Teams can now use their identity provider to log into and sign up to Vercel with SAML Single Sign-On. Popular identity providers such as Okta, Google, Auth0, OneLogin, and Azure are supported and can be configured in the Security section of your Team Settings.

For additional security, SAML can be enforced. This requires team members to authenticate with your identity provider for all interactions with the Vercel Team.

Lastly, the related Directory Sync feature allows Enterprise teams to automatically sync users from a directory provider (Okta, Google, Azure, and generic SCIM providers are supported), add or remove them from the Team, and issue Vercel Personal Accounts as needed.

Contact Sales to upgrade to an Enterprise plan, or check out the documentation.

Avatar for tootallnateAvatar for pacoAvatar for skllcrn

New filters and metrics available on the Usage Overview

To provide better insight into the amount of resources a project uses on Vercel, new functionality was added to the Usage Overview:

  • Additional presets for the date range, and the ability to select any start and end date, allowing for a better understanding of how your usage has changed over time.
  • Usage metrics can now also be filtered by individual Serverless Functions, allowing you to identify which Functions don't perform optimally.
  • A new chart for Image Optimization shows the number of optimized source images, to provide insight into how Image Optimization is used across your projects.

Check out the documentation as well.

Avatar for andyAvatar for shudingAvatar for skllcrn

Reworked Integrations and Integrations Marketplace

The Integrations Marketplace has been upgraded. With an improved design, it's now easier than ever to discover and install Integrations in one place. All listed Integrations have been reworked to maximize usability and deliver a stellar user experience.

Check out the new categories of Integrations:

Check out our updated documentation to learn how to create your own Integration.

Avatar for chriswdmrAvatar for chibicode

Routing based on Headers and Query String Parameters

At Vercel, our goal is to provide you with the best performance for your web projects, while still allowing for the most flexibility possible when it comes to tailoring responses to users.

As part of these efforts, we're now launching a new sub property called has for rewrites, redirects, and headers (in vercel.json or next.config.js), which allows for routing conditionally based on the values of headers, cookies, and query string parameters.

Combined with features like SSG, ISR, or cached SSR, it can be used in cases like these:

  • Responding differently based on a cookie that was set in the visitor's browser (Cookie header) or the type of device the visitor is using (User-Agent header).
  • Responding differently based on the geographical location of the visitor (Geo-IP headers).
  • Redirecting users directly to their dashboard if they're logged in (Cookie header).
  • Redirecting old browsers to prevent serving unsupported pages (User-Agent header).

Check out the documentation and Next.js announcement to learn more.

Avatar for jj4Avatar for connordavis

Detailed Usage metrics for Personal Accounts

The new Usage Overview on the dashboard that was recently added for Teams on the Pro and Enterprise plans is now also available for Personal Accounts on the Hobby plan.

It provides insight into the following metrics related to your own usage of the Vercel platform:

  • The Networking section helps you to optimize your Deployment's responses.
  • The Functions section lets you identify Serverless Functions that execute poorly.
  • The Builds section will help you improve the duration of your Builds.
  • The Analytics section provides information about how many Web Vital data points were collected for your Deployments.

Check out the documentation as well.

Avatar for andyAvatar for skllcrn

UI Hooks for Integrations will be deprecated

Since the launch of the Integration Marketplace, any newly submitted Integration was expected to provide UI Hooks for integrating its UI into the Vercel Dashboard.

As this constraint required a lot of additional work to be done by third-party services that already had their Integration UI available in their own dashboard, UI Hooks will now be deprecated in favor of allowing Integration authors to re-use existing interfaces outside Vercel.

UI Hooks have already become unavailable for newly created Integrations, but they will soon also be removed from all existing Integrations, meaning that:

  • Integration UI Hooks will no longer be shown on the Dashboard.
  • The respective configuration field will be removed from the Integration Console.
  • The API endpoint /v1/integrations/configuration/:id/metadata will become unavailable.

These changes will be applied on August 20th, 2021, which is the same date as the one that was announced for the Deprecation of old Integration Webhooks.

Check out the updated documentation to learn more about upgrading your Integration.

Avatar for chriswdmr

Surfacing the Environment of Deployments and Domains

The following Dashboard pages now display the Environment of Deployments and Domains:

  • The Deployment View
  • The Deployment List
  • The Domain List in your Project Settings

In the case of Domains and Environment Variables, the Environment reflects the Environment of the Deployments that they're assigned to.

This change will make it easier for you to determine which Deployments, Domains, and Environment Variables relate to each other.

Check out the documentation as well.

Avatar for andyAvatar for pacoAvatar for skllcrn

Git Fork Protection can now be disabled

If you receive a pull request from a fork of your Git repository that includes a change to the vercel.json file or the Project has Environment Variables configured, Vercel will require authorization from you or a member of your Team to deploy the pull request.

This behavior protects you from accidentally leaking sensitive Project information.

If you're certain your Environment Variables do not contain sensitive information, you can now disable Git Fork Protection by visiting the Security section of your Project Settings.

Check out the documentation as well.

Avatar for styfle

Environments Variables per Git branch

You can now add Environment Variables to a specific Git branch in the Preview Environment.

When you push to a branch, a combination of Preview Environment Variables and branch-specific variables will be used. Branch-specific variables will override other variables with the same name. This means you don't need to replicate all your existing Preview Environment Variables for each branch – you only need to add the values you wish to override.

Also, you no longer need to specify the type of Environment Variable (Plaintext, Secret, Provided by System) because all values are now encrypted. The new design is optimized for both security and convenience, ensuring you can easily view the value later by editing in the UI or running vercel env pull to fetch Development Environment Variables locally.

We previously introduced the Provided by System option as some frameworks need to map system variables like VERCEL_URL to framework prefixed variables like NEXT_PUBLIC_VERCEL_URL. You no longer need to configure this mapping because the prefixed variables are added automatically based on your Framework Preset.

Check out the documentation as well.

Avatar for styfleAvatar for ernestdAvatar for leoAvatar for skllcrn

Integration Webhooks are now easier to configure

You can now specify a generic Webhook URL in your Integration settings. If your Integration relies on Webhooks, it will now be much easier to configure and use them. Each of the following events will be sent as a POST request:

It's been possible to manually list, create, and delete Webhooks via the Vercel API, but this API is deprecated and will be removed on August 20th, 2021.

We no longer support a Delete Hook URL that receives a DELETE request when an Integration Configuration was removed. If a Delete Hook URL was set, it is now set as a Webhook URL, and "Integration Removed" is turned on. At the moment, the Integration Removed event is sent as two events (a POST request and a DELETE request). The DELETE requests will no longer be sent starting August 20th, 2021.

Check out the updated documentation and API reference to learn more.

Avatar for javivelascoAvatar for chriswdmrAvatar for chibicodeAvatar for leoAvatar for skllcrn

Domains can now easily be transferred out

Starting today, if you are looking to transfer out domains you purchased from or transferred into Vercel, you can access the authentication code for initiating the transfer to another registrar directly on your Domains overview.

Previously, this was only possible by contacting Support.

Check out the documentation as well.

Avatar for coetryAvatar for rizbizkits

Domains now include their `www` counterpart

Adding a domain to a project will now also suggest adding its www counterpart. This ensures visitors can always access your site, regardless of whether they type www when entering the domain, or not.

Using a www domain guarantees that the Vercel Edge Network can reliably and securely route incoming traffic as quickly as possible, so redirecting non-www to the www domain is recommended. Redirecting the other way works too if you prefer a cleaner URL address.

Existing domains are not affected by this change, but we recommend ensuring that your project already has a www redirect in place.

Check out the documentation as well.

Avatar for pacoAvatar for skllcrn

The build cache can now be enabled when redeploying

To surface the default behavior and provide granular control, you can now find an option for including the build cache when redeploying an existing Deployment.

This update also comes with a refreshed UI for the redeploying functionality, which states more clearly which Domains will be applied to the new Deployment.

Check out the documentation as well.

Avatar for rauno

Faster builds with per-branch caching

The Build Step now considers the current Git branch when reading and writing the cache.

Since the first push to a branch will create a deployment without a branch-specific cache, it will read from the Production branch's cache. Subsequent pushes to that branch will read from its own branch-specific cache.

This means that Preview branches will no longer write to the Production branch's cache. This leads to faster builds because changing dependencies in one branch won't change the cache of another branch.

In addition, we no longer delete the build cache when a build fails. Instead, you can manually trigger a build without cache by using the "Redeploy" button on the Dashboard.

Our tests with a large Next.js app brought down incremental build times from 13 minutes to 4 minutes.

Check out the documentation as well.

Avatar for igorAvatar for styfleAvatar for lucleray

IP Geolocation for Serverless Functions

Requests received by Serverless Functions on Pro and Enterprise Teams are now enriched with headers containing information about the geographic location of the visitor:

  • X-Vercel-IP-Country – The 2-letter country code of the IP sending the request.
  • X-Vercel-IP-Country-Region – The ISO 3166-2 region code associated to the IP.
  • X-Vercel-IP-City – The city name associated to the IP.

As an example, a request from Tokyo is now enriched with the following headers:

X-Vercel-IP-Country: JP
X-Vercel-IP-Country-Region: 13
X-Vercel-IP-City: Tokyo

This feature is now automatically activated for all new and existing Serverless Functions on Pro and Enterprise Teams — no code or configuration change needed.

Check out the documentation as well.

Avatar for nkzawaAvatar for matheusAvatar for lucleray

Every push now receives a new unique URL

Today, we're announcing that every Git push and Vercel CLI invocation will result in a new unique URL and a new immutable Deployment.

Existing Deployments will no longer be re-used if you try to create a new one.

This change will likely not impact you in a meaningful way. On November 20th 2020, we enabled automatic System Environment Variables by default. If that option is enabled, a new immutable Deployment will already be created every time.

Vercel always strives to give you real-time feedback on every change you push. To this end, we are working on leveraging smart incremental computation techniques to avoid redoing work that’s already been done.

Avatar for luclerayAvatar for leo

Nuxt analytics available on Vercel Analytics

Nuxt analytics are now available for all Nuxt projects on Vercel as part of Vercel Analytics, with zero configuration. This allows developers to understand the Real Experience Score for Nuxt projects.

To enable, after importing your Nuxt project:

  1. Open a Nuxt project in your Vercel dashboard.
  2. Select the "Analytics" tab and follow the flow.

No code changes are required, and options for self-hosted applications are available for enterprises.

Once deployed, your application will automatically report Core Web Vitals to Vercel.

Check out the documentation as well.

Avatar for leerobAvatar for tootallnateAvatar for timer

Vercel Analytics are now real-time

Vercel Analytics now updates your Real Experience Score in near real-time as visitors load your website:

  • Data is available seconds after enabling Analytics (down from ~30 minutes).
  • Immediately see updated metrics after new Production Deployment (down from ~3 hours).
  • Enjoy a reactive dashboard experience, even when viewing data for long time spans.
  • Improved search, loading, and sorting for Pages/URLs for better page-by-page analysis.

In addition to near real-time updates, you can now adjust the score interval granularity to help you understand your Real Experience Score better than ever before.

Enable Vercel Analytics for your project today, or visit the documentation.

Avatar for timerAvatar for jj4Avatar for matheusAvatar for joecohens

Jekyll deployments are now 15x faster

Starting today, Jekyll dependencies from bundle install will be cached and used for subsequent Deployments. A "hello world" Jekyll application now builds 15x faster – down from 3 minutes to 11 seconds with cache.

You can verify that the build cache was used by viewing your Deployment's build logs.

Avatar for styfle

Detailed usage metrics are now available

With the introduction of a new Usage overview, the dashboard now provides detailed insight into all the relevant usage metrics for your Team, and visualizes them as different charts:

  • The Networking section helps you ensure all responses are made as efficient as possible, split by cached and uncached responses.
  • The Functions section helps you track down misbehaving Serverless Functions through understanding requests that failed, timed out or were throttled.
  • The Builds section helps you ensure your Deployments spend the least amount of time possible in the Build Step.

Navigate to the new "Usage" tab available to Teams on the Pro or Enterprise plan and start optimizing your Projects today.

Check out the documentation as well.

Avatar for shudingAvatar for andyAvatar for timerAvatar for skllcrnAvatar for leo

Domains can now be redirected with a custom status code

You can now select a temporary or permanent status code for Domain Redirects.

There are some subtle differences between these status codes:

  • 307 Temporary Redirect: Not cached by client, method and body never changed.
  • 302 Found: Not cached by client, method may or may not be changed to GET.
  • 308 Permanent Redirect: Cached by client, method and body never changed.
  • 301 Moved Permanently: Cached by client, method may or may not be changed to GET.

We recommend using status code 307 or 308 to avoid the ambiguity of non-GET methods, which is necessary when your application needs to redirect a public API.

Check out the documentation as well.

Avatar for styfle

Node.js 10 is being deprecated

Following the release of Node.js 14 last week, Vercel is announcing the deprecation of Node.js 10, which reaches its offical end of life on April 30th 2021.

On April 20th 2021, Node.js 10 will be disabled in the Project Settings and existing Projects that have Node.js 10 selected will render an error whenever a new Deployment is created. The same error will show if the Node.js version was configured in the source code.

Serverless Functions of existing Deployments that are using Node.js 10 will be migrated to Node.js 12 on the date mentioned above.

If your Project is using Node.js 10 (which you've either defined in engines in package.json or on the General page in the Project Settings), we recommend upgrading it to the latest version (Node.js 14).

Need help migrating to Node.js 14? Let us know and we'll help you out.

Avatar for leoAvatar for styfleAvatar for matheus

The Directory Listing feature will be disabled for older projects

Last month, Vercel announced that the Directory Listing feature could now be toggled directly from the Project Settings and that it would be disabled for newly created Projects.

In favor of security, and to prevent unexpected behavior for older Projects, the Directory Listing feature will be disabled for all Projects that were created before January 12th 2021, which is the release date of the respective Project Setting.

The change will be applied on March 8th 2021.

Because the Directory Listing feature allows for accessing the source code of a Deployment if no index file is present within it, it's safer to disable it by default. If you want, however, you can turn the feature back on right afterwards, if you're relying on it.

Check out the documentation as well.

Avatar for leo

Node.js 14 LTS is now available

As of today, version 14 of Node.js can be selected in the Node.js Version section on the General page in the Project Settings (newly created Projects will default to the new version).

Among other features, the new version introduces Diagnostic Reports, which can be logged to Log Drains (recommended) like so:

geo: {
    city?: string
    country?: string
    region?: string

The following features were introduced through v8:

The exact version used is 14.15.4 (changelog), but automatic updates will be applied for new minor and patch releases. Therefore, only the major version (14.x) is guaranteed.

Check out the documentation as well.

Avatar for styfleAvatar for leo

Correcting Request URLs with Python Serverless Functions

At the moment, the URLs of incoming requests to Python Serverless Functions deployed on Vercel are decoded automatically.

Because this behavior is not consistent with a "standalone" Python server, Vercel will stop decoding them for newly created Serverless Functions starting March 2nd, 2021. Existing Deployments will not be affected.

As an example, take a look at the Python Serverless Function code shown above and imagine that the URL of the incoming request ends in /hi%21:

  • With the incorrect behavior, self.path will be set to /hi!.
  • With the updated correct behavior, self.path will be set to /hi%21, which matches the behavior of the built-in HTTPServer class in Python.

To try out this change, define a FORCE_RUNTIME_TAG Environment Variable for your project, set it to canary and create a new Deployment.

Avatar for tootallnate

Projects can now be transferred without downtime

Personal Accounts on Vercel are great for hobby projects. Once you need to deploy more powerful sites, collaborate with other people and customize your workflow, Teams are the right way to go.

Migrating from a Personal Account to a Team previously wasn't possible without incurring downtime. It required removing Projects from their old location and deploying them again in the new one. As of today, it's only a matter of a few clicks on the dashboard.

Transferring projects without downtime is now as easy as navigating to the Advanced page in the Project Settings, following the flow and watching the magic happen.

All Deployments, Domains, Environment Variables, and any other configuration of your Project will automatically be moved to the target Team for you. Even optional features you might've enabled can be transferred over.

Check out the documentation as well.

Avatar for mglagolaAvatar for pacoAvatar for styfleAvatar for leoAvatar for skllcrn

Node.js Version now customizable in the Project Settings

For easy customization and in preparation for Node.js 14 LTS landing in the future, the General page in the Project Settings now contains a section for defining the Node.js version used in the Build Step and Serverless Functions.

Previously, defining an engines property in the package.json file was required to customize the Node.js version. However, this property will take precedence over the Project Setting.

Check out the documentation as well.

Avatar for styfleAvatar for leo

Invoices are now available on a dedicated page

Invoices for your payments on Vercel were previously found in the Past Invoices section of the Usage tab in the Dashboard.

To make it easier to navigate, they have been moved to a dedicated Invoices page alongside Billing in the Personal Account and Team Settings.

Even though the Upcoming Invoice section has been removed with this change, the Billing page in the Personal Account and Team Settings now provides the same insight.

Avatar for andyAvatar for skllcrnAvatar for leo

URLs are becoming consistent

A lot of feedback we've gathered has shown that the URLs Vercel currently provides you with are too complicated. As part of our strategy for making them simpler, we're starting with applying a consistent format on February 20th 2021:

  • Custom Domains and Automatic URLs ending in will instead end in
  • Automatic Deployment URLs like will gain the slug of the owner Vercel scope to match Automatic Branch URLs:
  • Automatic Branch URLs like will lose their second subdomain level in favor of a dash:
  • Automatic Project URLs like and Automatic Team Member URLs like will be adjusted like Automatic Branch URLs.

It is recommended to not rely on any of the Automatic URLs for Production use cases and instead use Custom Domains for that. If that's not possible, please ensure any program sending requests to these URLs supports 308 redirects – like modern browsers do.

Avatar for leo

Serverless Functions are now deployed to US East by default

Many Serverless Functions communicate with third-party services. Because most of these services are available in the US East region, deploying Serverless Functions to US West leads to slower response times.

For that reason (and to decrease the latency for requests arriving from Europe), newly created projects will default to the US East region (Washington, D.C., USA) instead of US West (San Francisco, USA) when deploying Serverless Functions.

Existing projects will be unaffected, but can be switched to the new default from the new "Serverless Functions" page in the Project Settings.

Check out the documentation as well.

Avatar for pacoAvatar for styfleAvatar for tootallnateAvatar for skllcrnAvatar for leo

Failed payments can now be retried

If a payment had failed for your Team because of an issue with your payment method, you previously had to reach out to our Support Team and ask them to retry it, so that you could create Deployments again.

Since that's quite a slow process, we instead added a button to the Billing page in your Team Settings that you can click to immediately issue a new charge. If that charge succeeds, your Team will be able to create Deployments again right after.

Changing the payment method will automatically issue a charge too, so this button is particularily helpful if you've fixed an issue with an existing payment method.

Avatar for andyAvatar for leo

Listing the content of directories can now be toggled

Until now, directories used to list the directory's contents whenever their path was visited (provided they didn't contain an index file).

In cases where this was considered a security issue, turning off the Directory Listing required configuring a rewrite rule in vercel.json.

As of today, the Directory Listing is disabled for all newly created Projects and can be toggled on the "Advanced" page in the Project Settings.

Check out the documentation as well.

Avatar for nkzawaAvatar for luclerayAvatar for skllcrnAvatar for leo

Git repositories can now be searched for and imported easily

Importing a Git repository into Vercel used to require navigating to it on the Git provider of your choice, copying its URL from the address bar, pasting it in the project creation flow on Vercel and then following the steps.

Thanks to its most recent update, however, the project creation flow now renders a list of recommended Git repositories to import and allows for searching for a particular one as well, annotated with icons for the frameworks that are being used within those Git repositories.

Cloning a Template is now also much easier than before, as they are presented on the same page as the recommended Git repositories.

Check out the documentation as well.

Avatar for anatrajkovskaAvatar for luclerayAvatar for nkzawaAvatar for skllcrnAvatar for leo

Multiple Git namespaces per Personal Account and Team

When connecting a Project on Vercel to a Git repository, the Git repository previously had to be located in the same Git scope as the Git repositories of all other Projects within that Personal Account or Team.

Now that this connection is defined on the Project-level (see above) instead of being configured on the Personal Account or Team, this limitation is lifted. Additionally, problems with an active connection are now surfaced there too.

Every Personal Account or Team can now contain Vercel Projects that are connected to Git repositories located in various different Git scopes. This also means that, when importing one, Vercel no longer forces a certain destination Personal Account or Team.

Check out the documentation as well.

Avatar for shudingAvatar for javivelascoAvatar for skllcrnAvatar for leo

Environment Variables can now be filtered

Previously, Environment Variables defined in the Project Settings used to be sharded into different Environments using tabs in the UI. To make it easier to add them to multiple Environments at once and edit them like that, however, they now live in a single list.

In order to make it easy for you to still only view the Environment Variables you're interested in, we just added a new search field and a select field on the right that lets you filter the Environment Variables down to a specific Environment.

Avatar for anatrajkovskaAvatar for leo

Build and Function Logs now render ANSI color codes nicely

If the logs that your source code or your framework are exposing within the Build Step or within your Serverless Functions contain ANSI color codes for providing more clarity, Vercel previously directly printed them out in the respective views on the Dashboard.

As of today, however, all of those codes are automatically parsed within the Deployment View, which contains Build Logs on the main page, but also the logs for your Serverless Functions on the "Functions" tab.

In the example above, you can see that ANSI codes are now automatically rendered as the colors they are supposed to represent, which makes the text much easier to understand.

Avatar for tootallnateAvatar for leo

System Environment Variables are now available by default

Previously, consuming values provided by the Vercel platform in your Environment Variables (like the URL of your Deployment) required adding System Environment Variables using the "Environment Variables" page in the Project Settings.

All new Projects created as of today, however, will automatically receive all System Environment Variables by default – without you having to expose them explicitly.

This setting can also be controlled from existing Projects, which means that you can easily opt into the new behavior for those as well.

Furthermore, the available System Environment Variables were revamped to have much more straightforward names and don't differentiate between Git providers anymore. For example, you can now use VERCEL_GIT_COMMIT_REF to retrieve the Git commit SHA for GitHub, GitLab and Bitbucket instead of having to use several different System Environment Variables for that.

Check out the documentation as well.

Avatar for luclerayAvatar for anatrajkovskaAvatar for leo

Projects can now be renamed

For all the Projects you've deployed on Vercel in the past, the platform either automatically selected a name for you based on the name of your Git repository or local directory, or you manually customized it before the Project was created.

Previously, it wasn't possible to change the name of a Project after it was created. As of today, however, you can do it directly from the "General" page in the Project Settings.

When changing the name of your Project, no interruptions in your or your Team's workflow will occur, considering that you're either deploying from a Git repository or you've linked the Project to a local directory using Vercel CLI.

Check out the documentation as well.

Avatar for pacoAvatar for leo

Dependencies can now be installed with a custom command

By default, Vercel automatically determines the right command for installing your project's code dependencies in the Build Step based on the Framework Preset configured for your project and the presence of certain files (like package-lock.json) in your source code.

As of today, you can customize the command that Vercel will run within the Build Step for installing your code dependencies.

In the new Install Command section within the Project Settings, you can now enter any command of your choice that will be run instead of having Vercel automatically determine the right one for you.

Check out the documentation as well.

Avatar for styfleAvatar for leo

Auto Renewal can now be disabled for Domains

Once you've purchased a Domain with Vercel or transferred it in from a different platform, Vercel will automatically make sure that your Domain is renewed every year – before it expires.

Like this, you never have to worry about your projects becoming unavailable. Instead, you will automatically be charged the renewal fee every year and your Domain will continue working.

Previously, the only way to prevent a Domain from being renewed again (in the case that you don't want to continue using it, for example) was contacting our Support Team, who disabled auto renewal for you.

As of today, you can toggle the auto renewal behavior of a Domain right on the Dashboard by navigating to the "Domains" tab on your Personal Account or Team, clicking the Domain you're interested in and toggling the option on the top right.

Check out the documentation as well.

Avatar for pacoAvatar for leo