Following the release of Node.js 16 last week, Vercel is announcing the deprecation of Node.js 12, which reached its official end of life on April 30th 2022.
On August 9th 2022, Node.js 12 will be disabled in the Project Settings and existing Projects that have Node.js 12 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.
While existing Deployments with Serverless Functions using the Node.js 12 runtime will not be affected, we strongly encourage upgrading to Node.js 16 to ensure you receive security updates (using either engines
in package.json
or the General page in the Project Settings).
Check out the documentation as well.
Vercel now automatically optimizes your Astro projects. When importing a new project, it will detect Astro and configure the right settings for optimal performance — including automatic immutable
HTTP caching headers for JavaScript and CSS assets.
Deploy the Astro template to get started.
Vercel now supports pnpm v7. For deployments with a pnpm-lock.yaml
file with version: 5.4
, Vercel will automatically use pnpm v7 for install and build commands.
To upgrade your project to pnpm v7, run pnpm install -g pnpm@7
locally and then re-run pnpm install.
After updating, create a new deployment!
Check out the documentation as well.
All Vercel customers will now experience faster build times.
We’ve made improvements to the Vercel infrastructure for customers across all plans:
Deploy a template to get started.
Deploying your Serverless Functions in a region close to your data can greatly improve performance by reducing latency.
Previously, Hobby customers could only choose US East (iad1
) regardless of where their data was hosted. Starting today, all plans can co-locate their Functions with their data for lower latency when server-rendering with hybrid frameworks like Next.js, SvelteKit, and more, or when using API Routes.
Check out the documentation as well.
With your feedback, we've shipped dozens of bug fixes and small feature requests to improve your product experience. Here are some of our most recent.
Let us know other opportunities where we can improve your experience with Vercel.
As of today, version 16 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).
The new version introduces several new features including:
AbortController
AggregateError
Array.prototype.at()
require('crypto').webcrypto
require('timers/promises')
fs.cp()
The exact version used today is 16.14.0 and will automatically update minor and patch releases. Therefore, only the major version (16.x) is guaranteed.
Check out the documentation as well.
If you host multiple subdomains on Vercel throughout separate accounts, you are now able to verify ownership of those subdomains in a self-serve manner via the Vercel Dashboard and API. Adding a subdomain to a project no longer requires the apex domain. Ownership is established via a token that is generated when the subdomain is added to a project and published in the domain owner’s DNS records. This change makes it easier to share domains for Platforms, teams, and collaborators on Vercel.
To learn more check out the UI docs or REST API docs to add a domain to a project and verify that domain if needed.
Following the release of Python 3.9, Vercel is deprecating support for Python 3.6 which reached end of life last year.
On July 18th 2022, new deployments targeting Python 3.6 will fail with an error message. Existing deployments will be unaffected.
Check out the documentation as well.
New and existing monorepos deployed to Vercel will experience faster builds.
Vercel now automatically caches node_modules
recursively when installing dependencies during the build process. ENABLE_ROOT_PATH_BUILD_CACHE=1
will be set as a default environment variable on all new and existing monorepo projects. For large monorepos, this can decrease build times by minutes.
Check out the docs as well.
The Axiom integration enables you to monitor the health and performance of your Vercel deployments by ingesting all your request, function, and web vitals data. Use Axiom's pre-built dashboard for an overview across all your Vercel logs and vitals, drill down to specific projects and deployments, and get insight on how functions are performing with a single click.
Try out the integration and start streaming your logs.
Find your essential deployments instantly with status and branch filters.
From the deployments tab, you can search for branches matching deployments you’re interested in. You can also filter by status, with canceled deployments filtered out automatically making the view more useful at a glance. Both status and branch filters are also persisted via the url, so you can quickly share context with your team.
Checkout the project dashboard documentation for more information.
With the Vercel Provider, now verified in the Terraform Registry, you can configure and deploy Vercel projects alongside your back-end services from Terraform’s infrastructure as code (IaC) software tool. By codifying cloud infrastructure and frontend deployment into a single workflow, your team can provision, preview, and ship applications faster.
Check out our guide to get started.
With your feedback, we've shipped dozens of bug fixes and small feature requests to improve your product experience. Here are some of our most recent.
Let us know other opportunities where we can improve your experience with Vercel.
We've updated the design of comments from Vercel on pull requests.
Vercel automatically deploys your projects and creates Preview Deployments when integrated with GitHub, GitLab, and Bitbucket. The updated comment design makes it easier to see deployment statuses and quickly navigate to Preview Deployments. The table design improves the monorepo experience where multiple Vercel deployments are shown in a single pull request.
Check out the documentation as well.
Enterprise users can now be assigned a viewer role, providing increased security with view-only permissions. The viewer role enables members to view and collaborate on projects while preventing them from editing any team or project settings.
Viewer role is in public beta. Learn more about roles and permissions of Team members.
You can now share and bookmark a specific filter state of Vercel Analytics, which are now persisted as URL parameters.
Check out the documentation as well.
Projects using pnpm can now be deployed to Vercel with zero configuration. Vercel is also now sponsoring pnpm to further package manager innovation.
Like Yarn and npm, pnpm is a package manager focused on saving disk space and boosting installation speed by utilizing symlinks. Starting today, Projects that contain a pnpm-lock.yaml
file will automatically run pnpm install
as the default Install Command using the latest version of pnpm.
Check out the documentation as well.
Access tokens used in the CLI and for authenticating APIs can now be scoped to specific Teams.
This improvement provides additional security and controls for those extending the Vercel platform through our CLI or our APIs.
Check out the documentation as well.
Monorepo build systems like Turborepo are able to leverage Vercel's infrastructure to remotely cache build artifacts using our Remote Cache API. Turborepo uses this API out-of-the-box to store build artifacts and make builds more efficient.
This API is now available as a public beta. To learn more about using the Remote Cache API please read our documentation here.
When using monorepo build tools like Turborepo, Vercel automatically caches build artifacts remotely for faster, more efficient builds. The usage dashboard now highlights time saved for your team's projects using Remote Caching. You can visualize data based on whether the cache was local or remote, as well as per project.
Check out the documentation to get started with Remote Caching.
Enterprise customers can now transfer projects to other Vercel accounts.
This makes it easier for Enterprise teams to move projects between different accounts when ownership changes.
Check out the documentation as well.
We're excited to release one of our most requested features with Next.js 12.1:
getStaticProps
instantly.styled-components
, Relay, and more.next/jest
Plugin: Zero-configuration Jest support using SWC.Starting today when deployed to Vercel, on-demand revalidation propagates globally in ~300ms when pushing pages to the edge. Read the 12.1 blog post to learn more.
Installing, uninstalling, and changing permissions of Integrations is now shown in the Activity Log.
Check out the Activity Log to see integrations data.
Version 24 of the Vercel CLI has been released, including many improvements and bug fixes, as well as the new vercel bisect
command:
vercel bisect
: Inspired by the git bisect
command, this new command helps identify in which Deployment a bug was introduced.--project
flag in vercel link
.vercel dev
is now stable (no longer in beta).This is a major version bump and includes some breaking changes, most of which are the final removal of features that have been deprecated for years. Read the full changelog carefully before updating.
Remote Caching for Monorepo tools now includes usage graphs for your team, including:
Monorepo tools like Turborepo can now use Remote Caching on Vercel with zero configuration. Check out the documentation.
You can now add autocompletion, type checking, schema validation, and in-editor documentation to any vercel.json
file.
Add https://openapi.vercel.sh/vercel.json
as the $schema
key at the top of your file. The schema file is autogenerated similar to our automatic REST API documentation.
Check out the documentation as well.
The Railway integration connects your Postgres, Redis, and MySQL databases hosted on Railway with your Vercel project. Instantly provision and deploy your backend infrastructure with Railway, then integrate it with your Vercel frontend in seconds.
Try out the integration and connect your database.
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.
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:
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.
With your feedback, we've shipped dozens of bug fixes and small feature requests to improve your product experience:
Let us know other opportunities where we can improve your experience with Vercel.
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.
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 security@vercel.com if you have any questions or concerns.
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.
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:
Get started with Turborepo today.
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.
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.
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.
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.
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.
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.
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:
Check out the documentation as well.
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:
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.
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:
/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:
/v1/integrations/webhooks
will become unavailable./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.
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.
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:
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.
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...
In addition, the header and activity stream were removed to help you get to what matters faster.
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.
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.
Creating a new project on the dashboard now takes you through a new, simpler flow:
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.
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.
Following our launch of Vercel's new Integration Marketplace, we're now making it easier to manage Integrations on the dashboard.
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.
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.
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.
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.
To provide better insight into the amount of resources a project uses on Vercel, new functionality was added to the Usage Overview:
Check out the documentation as well.
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.
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:
Cookie
header) or the type of device the visitor is using (User-Agent
header).Cookie
header).User-Agent
header).Check out the documentation and Next.js announcement to learn more.
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:
Check out the documentation as well.
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:
/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.
The following Dashboard pages now display the Environment of Deployments and Domains:
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.
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.
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.
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.
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.
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.
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.
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.
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.
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:
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.
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.
Vercel Analytics now updates your Real Experience Score in near real-time as visitors load your website:
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.
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.
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:
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.
You can now select a temporary or permanent status code for Domain Redirects.
There are some subtle differences between these status codes:
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.
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.
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.
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.
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
:
self.path
will be set to /hi!
.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.
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.
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.
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.
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:
now.sh
will instead end in vercel.app
.project-d418mhwf5.vercel.app
will gain the slug of the owner Vercel scope to match Automatic Branch URLs: project-d418mhwf5-team.vercel.app
.project-git-update.team.vercel.app
will lose their second subdomain level in favor of a dash: project-git-update-team.vercel.app
.project.team.vercel.app
and Automatic Team Member URLs like project-user.team.vercel.app
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.