You can now use waitUntil by importing @vercel/functions
in your Vercel Functions, regardless of the framework or runtime you use.
The waitUntil()
method enqueues an asynchronous task to be performed during the lifecycle of the request. It doesn't block the response, but should complete before shutting down the function.
It's used to run anything that can be done after the response is sent, such as logging, sending analytics, or updating a cache, without blocking the response from being sent.
The package is supported in Next.js, Vercel CLI, and other frameworks, and can be used with the Node.js and Edge runtimes.
Learn more in the documentation.
Based on your feedback, Hobby customers can now run functions up to 60 seconds.
Starting today, all new deployments will be able to increase the maximum duration of functions on the free tier from 10 seconds up to 60 seconds. If you need longer than 60 seconds, you can upgrade to Pro for up to 5 minutes.
Check out our documentation to learn more.
You can now recommend feature flag overrides for specific branches in order to equip your team and quickly share work in development.
The Vercel Toolbar will suggest flag overrides to team members working on the branch locally or when visiting a branch Preview Deployment. This extends the recently announced ability to view and override your application's feature flags from Vercel Toolbar, currently in beta.
As part of this change, we’ve improved the onboarding for setting up and integrating feature flags into the toolbar.
Learn more about the Vercel Toolbar and feature flags.
Enterprise customers can now manage access to critical Vercel projects across many Vercel users easier than ever with Access Groups.
Access Groups allow team administrators to create a mapping between team members and groups of Vercel projects. Users added to an Access Group will automatically be assigned access to the Projects connected to that Access Group, and will be given the default role of that group, making onboarding easier and faster than ever for new Vercel Team members.
For customers who use a third-party Identity Provider, such as Okta, Access Groups can automatically sync with their provider, making it faster to start importing users to Vercel without creating manual user group mappings (Vercel is SCIM compliant).
For example, you can have a Marketing Engineering Access Group, which has a default project role of "Developer". When a new member is added to the Marketing Engineering group, they will automatically be assigned the Developer role, and access to all Projects assigned to that group.
This builds on our advanced access controls, like project level access controls and deployment protection. Learn more about Access Groups or contact us for a demo of our access security features.
Starting today, new Python Builds and Functions will use version 3.12 and new Ruby Builds and Functions will use version 3.3.
If you need to continue using Python 3.9 or Ruby 3.2, ensure you have 18.x
selected for the Node.js Version in your project settings to use the older build image.
For Python 3.9, ensure your Pipfile
and corresponding Pipfile.lock
have python_version
set to 3.9
exactly. Similarly, for Ruby 3.2, make sure ruby "~> 3.2.x"
is defined in the Gemfile
.
Check out the documentation to learn more about our supported runtimes.
You can now add multiple email addresses to your Vercel account.
For example, both your personal email and work email can be attached to the same Vercel account. All verified emails attached to your account can be used to login. You can mark an email as "primary" on your account, which makes it the destination for account and project notifications.
Learn more in our documentation.
We've optimized our build process to reduce upload times by 15% on average for all customers.
For customers with large builds (10,000 outputs or more), upload times have decreased by 50%. This results in a time saving of up to 5 minutes per build for several customers.
Learn more about builds in our documentation.
The Vercel Terraform Provider allows you to create, manage and update your Vercel projects, configuration, and settings through infrastructure-as-code.
You can now control significantly more Vercel resources through Terraform:
Learn how to get started with the Terraform provider for Vercel. If you already have Terraform set up, upgrade by running:
terraform init -upgrade
The default CPU for Vercel Functions will change from Basic
(0.6 vCPU/1GB Memory) to Standard
(1 vCPU/1.7GB Memory) for new projects created after May 6th, 2024. Existing projects will remain unchanged unless manually updated.
This change helps ensure consistent function performance and faster startup times. Depending on your function code size, this may reduce cold starts by a few hundred milliseconds.
While increasing the function CPU can increase costs for the same duration, it can also make functions execute faster. If functions execute faster, you incur less overall function duration usage. This is especially important if your function runs CPU-intensive tasks.
This change will be applied to all paid plan customers (Pro and Enterprise), no action required.
Check out our documentation to learn more.
Earlier this month, we announced our improved infrastructure pricing, which is active for new customers starting today.
Billing for existing customers begins between June 25 and July 24. For more details, please reference the email with next steps sent to your account. Existing Enterprise contracts are unaffected.
Our previous combined metrics (bandwidth and functions) are now more granular, and have reduced base prices. These new metrics can be viewed and optimized from our improved Usage page.
These pricing improvements build on recent platform features to help automatically prevent runaway spend, including hard spend limits, recursion protection, improved function defaults, Attack Challenge Mode, and more.
It’s now easier to join a team on Vercel. New team members no longer need to re-enter their email, or create a Hobby team or Pro trial. Team invite emails now lead to a sign up page customized for the team. This includes simplified sign up options that reflect the team's SSO settings.
You can invite new team members under "Members" in your team settings. Learn more about managing team members in the documentation.
Important: This change does not impact customers currently using custom certificates issued by commercial CAs and using them on Vercel via the [custom certificate](https://vercel.com/docs/projects/domains/custom-SSL-certificate) feature.
Vercel uses Let's Encrypt as its certificate authority (CA) to auto-provision TLS certificates to enable secure connections by default. When using custom domains in your Vercel app, traffic between clients and Vercel Edge Network is encrypted and protected using the auto-provisioned Let's Encrypt certificate.
As planned, on September 30th, 2024, the current Let’s Encrypt cross-sign DST Root CA X3 root certificate issued by IdenTrust will expire and no longer be available. Considering the small proportion of internet users with older devices today, Let's Encrypt has decided to officially sunset this cross-sign certificate chain. This change has been planned by Let's Encrypt over the past few years, under their mission of providing safe and secure communication to everyone who uses the Web. You can read more about this change in their blog post.
After September 30th, 2024, clients accessing your websites hosted on Vercel must be able to trust the latest ISRG Root X1 root certificate from their local trust store. Modern operating systems and browsers trust this certificate, and it should not cause any noticeable impacts on your users. However, some older devices, such as Android 7.0 or earlier, may be unable to trust the new chain by default.
You can check more details about this change and review remedy options in our public announcement on the GitHub community forum.
You can now get AI-assisted answers to your questions directly from the Vercel docs search:
Start searching with ⌘K
(or Ctrl+K
on Windows) menu on vercel.com/docs.
The Gemini AI Chatbot template is a streaming-enabled, Generative UI starter application. It's built with the Vercel AI SDK, Next.js App Router, and React Server Components & Server Actions.
This template features persistent chat history, rate limiting to prevent abuse, session storage, user authentication, and more.
The Gemini model used is models/gemini-1.0-pro-001
, however, the Vercel AI SDK enables exploring an LLM provider (like OpenAI, Anthropic, Cohere, Hugging Face, or using LangChain) with just a few lines of code.
You can now inspect and filter hostnames in Vercel Web Analytics.
This feature is available to all Web Analytics customers.
Learn more in our documentation about filtering.
Node.js 20 is now fully supported for Builds and Vercel Functions. You can select 20.x
in the Node.js Version section on the General page in the Project Settings. The default version for new projects is now Node.js 20.
Node.js 20 offers improved performance and introduces new core APIs to reduce the dependency on third-party libraries in your project.
The exact version used by Vercel is 20.11.1 and will automatically update minor and patch releases. Therefore, only the major version (20.x
) is guaranteed.
Read the documentation for more.
Last year, we introduced Vercel's industry-first Skew Protection mechanism and we're happy to announce it is now generally available.
Skew Protection solves two problems with frontend applications:
Since the initial release of Skew Protection, we have made the following improvements:
Skew Protection is now supported in SvelteKit (v5.2.0
of the Vercel adapter), previously supported in Next.js (stable in v14.1.4
), and more frameworks soon. Framework authors can view a reference implementation here.
Learn more in the documentation to get started with Skew Protection.
The Next.js AI Chatbot template has been updated to use AI SDK 3.0 with React Server Components.
We've included Generative UI examples so you can get quickly create rich chat interfaces beyond just plain text. The chatbot has also been upgraded to the latest Next.js App Router and Shadcn UI.
Lastly, we've simplified the default authentication setup by removing the need to create a GitHub OAuth application prior to initial deployment. This will make it faster to deploy and also easier for open source contributors to use Vercel Preview Deployments when they make changes.
To accelerate the production release process, customers on all plans can now prioritize changes to the Production Environment over Preview Deployments.
With this setting configured, any Production Deployment changes will skip the line of queued Preview Deployments and go to the front of the queue.
You can also increase your build concurrency limits to give you the ability to start multiple builds at once. Additionally, Enterprise customers can also contact sales to purchase enhanced build machines with larger memory and storage.
Check out our documentation to learn more.
You can now configure Function CPU from the project settings page, where you can change your project’s default memory, and by extension CPU. Previously, this could only be changed in vercel.json
.
The memory configuration of a function determines how much memory and CPU the function can use while executing. This new UI makes it more clear increasing memory boosts vCPU, which can result in better performance, depending on workload type.
Existing workloads (that have not modified vercel.json
) are using the cost-effective basic option. Increasing function CPU increases the cost for the same duration, but may result in a faster function. This faster function may make the change net-neutral (or a price decrease in some cases).
Check out the documentation to learn more.
Pro customers can now automatically pause all projects when a spend amount is reached.
Spend Management allows you to receive notifications, trigger a webhook, and now more immediately pause projects when metered usage exceeds the set amount within the current billing cycle. This stops you incurring further cost from the production deployments.
Check out our documentation to learn more.
Vercel now supports deploying Remix applications using Vite.
import { vitePlugin as remix } from '@remix-run/dev'; import { installGlobals } from '@remix-run/node'; import { defineConfig } from 'vite'; import tsconfigPaths from 'vite-tsconfig-paths'; import { vercelPreset } from '@vercel/remix/vite'; installGlobals(); export default defineConfig({ plugins: [ remix({ presets: [vercelPreset()], }), tsconfigPaths(), ], });
Configuring your Remix application with the Vercel Vite preset.
We've collaborated with the Remix team to add Server Bundles to Remix. Vercel will now detect Remix projects using Vite and optimize them using our new Vite preset (@vercel/remix/vite).
This preset enables adding additional features for Remix on Vercel such as:
loader
stale-while-revalidate
actions
inside Vercel FunctionsDeploy Remix to Vercel or learn more in the docs.
You can now view and override your application's feature flags from the Vercel Toolbar.
This means you can override flags provided by LaunchDarkly, Optimizely, Statsig, Hypertune, Split, or your custom setup without leaving your Vercel environment.
Vercel can now query an API Route defined in your application to find out about your feature flags, and will pick up their values by scanning the DOM for script tags. From there you can create overrides from the Vercel Toolbar, per session, for shorter feedback loops and improved QA and testing. Additionally, the overrides will be stored in an optionally encrypted cookie so your application can respect them.
This functionality is currently in beta and available to users on all plans.
Check out the documentation to learn more.
If you're a feature flag provider and interested in integrating with the Vercel Toolbar, contact us.
Vercel Firewall protects your application from DDoS attacks.
Spikes in high volumes of traffic sometimes indicate malicious activity on your site. Customers can now quickly lock down traffic and further protect against DDoS attacks by challenging requests, minimizing the chance that malicious bots get through.
Attack Challenge Mode is now available for all Vercel customers at no additional cost. When temporarily enabled, all visitors to your site will see a challenge screen before they are allowed through.
Learn how to enable Attack Challenge Mode and protect your site.
Vercel and Next.js provide increased observability of your applications through OpenTelemetry.
import { registerOTel } from '@vercel/otel'; export function register() { registerOTel({ serviceName: 'acme-co' }); }
Using the Vercel OTEL package with Next.js.
v1.3.0 of @vercel/otel
now providing custom resource and operation names for Datadog to satisfy their cardinality requirements. You can group related URL paths for a given span to reduce cardinality and associated usage.
For example, /products/hoodie
can be mapped to /products/[name]
.
Learn more in our documentation or start using the package with Next.js.
The default Vercel Function timeout of all new projects for Enterprise customers will be reduced to 15 seconds on Feb 20th. This change helps prevent unintentional function usage, unless explicitly opted into the longer function duration (up to 15 minutes).
Existing Enterprise projects will not have their defaults changed.
Check out our documentation to learn more.
UTM parameters are now available in Vercel Web Analytics, enabling detailed insights into marketing campaign effectiveness directly from the dashboard.
This feature is available to Pro customers with Web Analytics Plus and Enterprise customers.
You can now incorporate AI models and services from industry-leading providers into your Vercel projects with a single click.
Check out the documentation to get started.
Preview deployments you have recently viewed or deployed are now accessible from the Recent Previews column on your dashboard.
Each recent preview includes a link to the deployment's page in Vercel and a link to the PR or source on your git provider's site when available.
Learn more in the dashboard overview documentation.
You can now invite emails or team members to view a deployment through the share menu. All invitees will receive an email with a link to the deployment and have access to comment if comments are enabled.
The share menu will display who currently has access to a given deployment. Users with sufficient permissions will also be able to revoke access.
Visit the documentation to learn more about all options for sharing deployments.
You can now add sensitive Environment Variables to your projects for added security of secret values like API keys.
While all Environment Variables are encrypted, sensitive values can only be decrypted during builds. This replaces our legacy secrets implementation which is being sunset.
Get started using Sensitive Environment Variables through the dashboard or with Vercel CLI 33.4
.
Legacy secrets are being sunset in favor of Sensitive Environment Variables, which are now shareable across projects.
On May 1st, 2024 secrets will be automatically converted to sensitive Environment Variables for Preview and Production environments. Secrets attached to Development environments will not be migrated.
Why are legacy secrets being sunset?
Our legacy secrets were encrypted values global for your entire team and could only be managed through the CLI. Based on your feedback, we have since:
When will I no longer be able to use secrets?
On May 1st, 2024, secrets will be removed from Vercel CLI:
How can I migrate to Sensitive Environment Variables?
Secrets for Preview and Production environments will be automatically migrated.
For secrets which contain the Development environment, you should create new Sensitive Environment Variables, as these values will not be automatically migrated for your security. If you need to share Environment Variables across projects, you can make them shared.
How can I understand if I’m affected?
To list projects using secrets that will be automatically converted, run:
vercel secrets ls
View the secrets added to your Vercel teams.
Vercel and Next.js provide increased observability of your applications through OpenTelemetry.
import { registerOTel } from '@vercel/otel'; export function register() { registerOTel({ serviceName: 'acme-co' }); }
Using the Vercel OTEL package with Next.js.
v1.0 of @vercel/otel
now supports:
Learn more in our documentation or start using the package with Next.js.
You can now switch between branches directly from the Vercel Toolbar.
Access the command menu through the toolbar or ⌘K
(Ctrl+K
on Windows) and select branch switcher. You’ll see your team’s branches sorted to highlight those with recent activity or unread comments. Then, select a branch to switch to that deployment.
Learn more about the command menu and other features of the toolbar.
When creating and editing Environment Variables on Vercel, you can now see hints to warn you of potentially leaking secret values to the public. This supports all frameworks that use a prefix to mark an environment variable as safe to use on the client like:
Learn more about Environment Variables.
Vercel Functions can now automatically failover to the next healthy region.
Vercel's Edge Network is resilient to regional outages by automatically rerouting traffic to static assets. Vercel Functions also have multiple availability zone redundancy by default. We are now enhancing this further with support for multi-region redundancy for Functions.
In the instance of a regional outage, traffic directed towards your Vercel Function using the Node.js runtime will be automatically re-routed to the next healthy region, ensuring continuous service delivery and uptime without manual intervention.
Failover regions are also supported through Vercel Secure Compute, which allows you to create private connections between your databases and other private infrastructure.
You can configure which regions to failover to in your vercel.json
file. For example, you might want to fallback to many different regions, or specific regions in a country.
{ "functionFailoverRegions": ["iad1", "cle1"] }
Defining your fallback regions in your configuration file.
Enterprise teams can enable this feature in their project settings. If you are not on Enterprise, get in touch to upgrade and enable function failover.
Webhooks allow you to get notified through a defined HTTP endpoint about certain deployment or project events that happened on the Vercel platform.
Webhooks are now available for all Pro and Enterprise customers. You can create a maximum of 20 webhooks per account.
Check out our documentation to create your first webhook.
You can now protect your Edge Config with a JSON schema. Use schema protection to prevent unexpected updates that may cause bugs or downtime.
Edge Config is a low latency data store accessed from Vercel Functions or Edge Middleware. It is ideal for storing experimentation data like feature flags and A/B testing cohorts, as well as configuration data for Middleware routing rules like redirects or blocklists.
To protect an Edge Config with a schema:
Check out the documentation to learn more.
Viewing domains for your team now has faster search and a refreshed design.
It's now easier to filter domains based on their renewal status, as well as see options to configure, transfer, move, or delete individual domains.
Check out the documentation to learn more.
With the GitHub Issues integration, you can now convert comments to GitHub Issues.
For teams who use GitHub Issues and Projects to track work, this allows comments to fit into your existing workflow. Collect and discuss feedback in-context on your deployment with comments and then convert those threads to issues to manage and track that work.
Your converted issues will contain the full thread, attached images and screenshots, and a link back to the thread within the preview.
GitHub Issues is part of our growing collection of integrations for comments which includes Slack, Linear, and Jira, now available to all Vercel users.
Check out the documentation to learn more.
Vercel Blob now supports storing files up to 5 TB with multipart uploads.
When using multipart: true
, put()
and upload()
will progressively read and chunk data, upload it in parts, and retry if there are issues.
import { upload } from '@vercel/blob/client'; const blob = await upload('big-file.mp4', file, { access: 'public', handleUploadUrl: '/api/upload', multipart: true // 🚀 });
Uploading a big video file to Vercel Blob
Network output is maximized without consuming too much memory. Multipart uploads support retrying streams (Node.js streams and the Web Streams API), a unique feature amongst file upload APIs.
Check out the documentation to learn more.
You can now see all outgoing requests for a selected log in Runtime Logs.
Logs now display the status, duration, URL, and a trace for each request. Request metrics work with every request on Vercel, so all frameworks are supported. This makes it easier to debug latency and caching inside your Vercel Functions or when calling databases.
This release also includes various of quality-of-life improvements in the Logs UI.
Request metrics are free while in beta and only available to Pro and Enterprise customers.
You can now use the Pinecone integration to create vector databases for your AI applications. Vector databases enable augmenting LLMs with the ability to retrieve additional knowledge (RAG) from your provided sources.
This integration is available for users on all plans.
Check out the integration to get started.
A security vulnerability in the @clerk/nextjs
SDK was identified by the Clerk team recently, which allows malicious actors to act-on-behalf-of other users.
The Clerk team has already released a patch with the latest version. Please check the public announcement by the Clerk team for more details.
While we still recommend updating to the latest version of the Clerk SDK, Vercel has taken proactive measures on our Firewall to protect our customers on all plans.
We will continue efforts to proactively protect Clerk + Next.js deployments on Vercel through the Vercel Firewall, regardless of Clerk's Next.js SDK version running.
Your Vercel personal account will soon automatically become a free team.
What is changing?
{username}s-projects
.{username}s-projects.vercel.app
.Your free Vercel experience will remain unchanged. Upgrading and downgrading will now be easier, as they will no longer require transferring projects.
When will my account be updated?
We'll start rolling out this change today and it might take some time before it's your turn. Once it's your turn, in most cases, update should happen instantly.
For a small number of accounts with thousands of projects or deployments, you may temporarily see a message displayed on the dashboard. During this update period, you will have read access to your personal account projects and resources, but not write access.
Who can I contact if something seems off?
Please contact us using the “Account Management” case type if you have questions about this change or notice something wrong with your account.
You can now use passkeys to login to Vercel including touch, facial recognition, a device password, or a PIN. Passkeys provide a simple and secure authentication option.
How do I use passkeys on Vercel?
Learn more in our documentation.
You can now create HTTPS
DNS records in Vercel DNS.
The new HTTPS
DNS record type, also known as SVCB or Service Binding record, has recently been published as RFC 9460.
This record type is designed for the HTTP protocol to improve client performance and privacy in establishing secure connections. The record can include additional information about the target server, such as supported ALPN protocols (e.g., HTTP/2, HTTP/3, etc), which can eliminate the need for protocol negotiation/upgrade between client and server to minimize the number of round trips.
Since the HTTPS
record type is still a new standard, not all HTTP clients can support it. Learn more in our documentation.
Deployment summaries help you understand how changes in your frontend application code lead to managed infrastructure on Vercel. We've improved the output with the following:
/
for output pathsRead more in our documentation or learn more about framework-defined infrastructure.
Vercel Firewall protects your application from DDoS attacks and unauthorized access.
Enterprise teams now have increased security with the ability to control traffic and restrict access through static IP addresses or entire network CIDR ranges.
Stay secure by blocking entire subnets, or restricting access from untrusted networks, to prevent attacks against your applications.
Learn more in our documentation or contact our sales team to upgrade to Enterprise.
You can now manage your Vercel Blob files from the dashboard using the new file browser:
Log Drains now support the following options through the dashboard and API:
Learn more in our documentation.
You can now control when domains are assigned to deployments, enabling the manual promotion of production deployments to serve traffic.
When a new deployment is created (with our Git Integrations, CLI, or REST API), Vercel will automatically apply any custom domains configured for the project.
You can now create staged deployments that do not assign domains, which can later be promoted to production and serve traffic. This is helpful for custom workflows and having multiple production environments for QA or testing.
From the dashboard
From the CLI
vercel --prod --skip-domain
vercel promote [deployment-id or url]
Learn more in our documentation.
Instant Rollback enables you to quickly revert to a previous production deployment, making it easier to fix breaking changes.
You can now choose to prevent the automatic assignment of production domains when rolling back. Reverted deployments will not be replaced by new production deployments until you manually promote a new deployment.
Learn more in our documentation.
You can now initiate new deployments directly from the dashboard using a git reference. This approach is helpful when git providers have service interruptions with webhook delivery.
To create a deployment from a git branch or SHA:
Depending on how you would like to deploy, enter the following:
Finally, select Create Deployment and Vercel will build and deploy your commit or branch.
When the same commit appears in multiple branches, Vercel will prompt you to choose the appropriate branch configuration. This choice is crucial as it affects settings like environment variables linked to each branch.
Learn more in our documentation.
Enterprise customers now have faster build compute infrastructure by default.
Builds are now 15% faster than Pro by median, and 7% faster than the previous Enterprise build infrastructure. Additionally, Enterprise customers can now purchase enhanced build machines with larger memory and storage.
Learn more about builds or contact us to upgrade to Enterprise.
Vercel Functions now scale 12x faster for high-volume requests on paid plans:
Learn more about automatic concurrency scaling with Vercel Functions.
Searching across the Vercel documentation is now faster and more intuitive with a redesigned ⌘+K
menu that includes:
You can access the menu by pressing ⌘+K
on macOS or Ctrl+K
on Windows and Linux from the Vercel documentation site or dashboard with Shift+D
.
Check out the documentation to learn more.
Speed Insights measures site performance and helps you understand areas for improvement. This includes Core Web Vitals like First Contentful Paint, Largest Contentful Paint, Cumulative Layout Shift, and more.
The Speed Insights experience has been improved to include:
@vercel/speed-insights
package. This includes supporting dynamic route segments in frameworks like SvelteKit and Remix.Speed Insights is available on all plans. Learn more about upgrading to the new package and see how to take advantage of the new features.
Today, we're releasing new features to Vercel's Developer Experience Platform to help Enterprise teams ship higher quality code, faster—even as teams and codebases scale:
Conformance: Maintain high-quality code standards across projects in your codebase.
Code Owners: Integrate with your Git client for streamlined code reviews and smart reviewer assignments.
A reimagined dashboard experience: When you start using Conformance, you’ll see a reengineered workspace to surface code health insights, aid cross-team collaboration, and ensure a better onboarding experience for new team members.
Check out the documentation to learn more or contact us to get started.
Following the Node.js 16 end of life on September 11, 2023, we are deprecating Node.js 16 for Builds and Functions on June 15, 2024.
Will my existing deployments be affected?
No, existing deployments with Serverless Functions will not be affected.
When will I no longer be able to use Node.js 16?
On June 15, 2024, Node.js 16 will be disabled in project settings. Existing projects using 16 as the version for Functions will display an error when a new deployment is created.
How can I upgrade to Node.js 18?
You can configure your Node.js version in project settings or through the engines
field in package.json
.
How can I see which of my projects are affected?
You can see which of your projects are affected by this deprecation with:
npm i -g vercel@latest vercel project ls --update-required
View projects that require updating to the latest version of Node.js.
We've upgraded our Managed Infrastructure resulting in up to 45% faster routing at p99 and reliability improvements for all plans.
When a request is made to a Vercel-managed site, traffic is routed to the nearest Edge Network region with our Anycast routing. Vercel processes the request, identifies the deployment to serve, and instantly retrieves related metadata about the requested deployment.
Now with optimized metadata retrieval and routing, this performance enhancement benefits all workloads. Responses to static resources are then fetched from storage, or dynamic content is generated through Vercel Functions, based on the routing details from the deployment metadata.
These infrastructure improvements benefit all existing and new deployments. Deploy now or learn more about Vercel's Managed Infrastructure.
source "https://rubygems.org" ruby "~> 3.2.x"
Ruby v3.2 is now generally available, and is the new default runtime version for Ruby based Builds and Serverless Functions. Additionally, Ruby v2.7 will be discontinued on December 7th, 2023.
ruby "~> 3.2.x"
is defined in the Gemfile
ruby "~> 2.7.x"
in the Gemfile
will no longer buildOnly the minor version (3.2
) is guaranteed, meaning we will always use the latest patch version available within the minor range.
Read the documentation for more.
Comments on your deployments can now be converted into Jira issues. This makes it easy to take action on feedback in the workflows your team is already using.
You can name your issue and select the project and issue type without leaving your deployment. Issues retain the full thread history with any attached images and include a link back to where the comment was left.
Jira is part of our growing collection of integrations for comments which includes Slack and Linear, available to Pro and Enterprise users as well as Hobby users with public git repositories.
Check out the documentation to learn more.
As of today, Node.js version 20 can be used as the runtime for Builds and Serverless Functions. Select 20.x
in the Node.js Version section on the General page in the Project Settings. The default version remains Node.js 18.
Node.js 20 introduces several new features including:
import.meta.resolve
Node.js 20 is faster and introduces new core APIs eliminating the need for some third-party libraries in your project. Support for Node.js 20 on Vercel is currently in beta.
The exact version used by Vercel is 20.5.1 and will automatically update minor and patch releases. Therefore, only the major version (20.x
) is guaranteed.
Read the documentation for more.
Vercel Cron Jobs let you to run scheduled jobs for things like data backups or archives, triggering updates to third-party APIs, sending email and Slack notifications, or any task you need to run on a schedule.
By using a specific syntax called a cron expression, you can define the frequency and timing of each task. Cron Jobs work with any frontend framework and can be defined in vercel.json
. You can use them to run your Serverless Functions and Edge Functions.
During the beta, we made Cron Jobs more secure by providing an environment variable with the name CRON_SECRET
. We also added support for Deployment Protection and Instant Rollback.
Cron Jobs are now included for customers on all plans. Per account, users on the Hobby plan will have access to 2 Cron Jobs, users on the Pro plan will have access to 40 Cron Jobs, and users on the Enterprise plan will have access to 100 Cron Jobs.
Check out our documentation or deploy an example with Cron Jobs.
Vercel can now automatically detect and replay layout shifts on your deployments from the Vercel Toolbar.
Layout shifts are reported and notified through the Toolbar. Each reported shift includes a summary of what caused the shift and how many elements it affected. Additionally, you replay and animate the shift to see it again.
The Toolbar is automatically added to all Preview Deployments, but can also be used in localhost and in production (likely behind your own staff authentication checks) when using the @vercel/toolbar package.
Check out the documentation to learn more.
A security vulnerability was discovered that affects Sentry’s Next.js SDK, which made it possible to exploit Sentry’s Tunnel feature to establish Server-Side Request Forgery (SSRF) attacks.
The Sentry team has already released a patch with the latest version 7.77.0.
While we still recommend updating to the latest version of the Sentry SDK, Vercel has taken proactive measures on our firewall to protect our customers.
We will continue to proactively protect all Sentry + Next.js deployments on Vercel through the Vercel Firewall, regardless of Sentry's Next.js SDK version running.
Vercel Edge Config is our global low-latency data store for feature flags, experiments, and configuration metadata. Now, backups of your Edge Config are automatically created with every update to an Edge Config's items. You can restore backups from the Storage tab in your Vercel dashboard.
Customers on all plans can take advantage of backups. Hobby customers have 7 days of backup retention, Pro customers have 90 days of backup retention, and Enterprise customers have 365 days of backup retention.
Check out the documentation to learn more.
You will now see more information in the build logs when your build fails due to either exhausting the available memory (OOM) or disk space (ENOSPC).
In the case of OOM, your build logs will confirm the event. For ENOSPC situations, detailed information on disk space allocation is provided.
Check out our documentation to learn more.
We recently introduced an improved project and team switcher on Vercel, including the option to favorite projects.
Now, favorited projects will also appear in your dashboard overview, and you can easily add and remove them from the context menu.
Deployment Protection is now enabled by default for all new projects, and our full set of protection options is now generally available.
Deployment Protection includes a series of features that ensure you can keep your Vercel deployments secure. Secure your Preview and Production deployments with:
To configure existing deployments with Deployment Protection, you can use this migration guide. For all new deployments, Deployment Protection with Vercel Authentication is now enabled by default.
Check out the documentation to learn more.
Ensure your past production deployments remain secure by enabling Standard Protection as the default setting for your deployments. With Standard Protection, Vercel Authentication or Password Protection will ensure that all of your preview and production deployments remain secure.
Migrating existing deployments to use Standard Protection will protect both preview and generated production URLs. Standard Protection restricts access to the production generated deployment URL
Learn more about migrating to Standard Protection in our documentation.
Deployment Protection is available on all plans.
Trusted IPs are a feature of Deployment Protection that allow you to limit access to your deployments by IP address. Configure Trusted IPs in addition to Vercel Authentication to ensure only your team members can access and make changes to your deployments.
For customers who rely on a VPN or additional proxy, Trusted IPs ensure you can restrict access to your deployments to only users behind the VPN.
You can configure Trusted IPs by specifying a list of IPv4 addresses, or by CIDR ranges.
Trusted IP for Deployment Protection is only available for customers on the Enterprise plan.
Check out the documentation to learn more.
Next.js 14 is fully supported on Vercel. Build data-driven, personalized experiences for your visitors with Next.js, and automatically deploy to Vercel with optimizations, including:
Additionally in Next.js 14 you will find:
create-next-app:
There is now an 80% smaller function size for a basic create-next-app
application.edge
runtime in development.Check out our documentation to learn more.
Vercel Postgres, our serverless SQL database, is now available for Hobby and Pro users.
During the beta period, we reduced cold start times to 100-200ms and fixed several bugs around handling connections. Usage prices have also been lowered from the beta:
Billing will begin on October 19th and Pro users have the following usage included:
If you were a beta participant and want to opt out of using Vercel Postgres, you can backup your database and delete it.
Check out the documentation to learn more.
At Vercel, we consistently monitor and update our security protocols to address emerging threats. A new vulnerability, known as the HTTP/2 Rapid Reset Attack (CVE-2023-44487), has the potential to disrupt HTTP/2-enabled web servers.
Rapid Reset is a vulnerability possible in the HTTP/2 protocol involving quickly initiating and canceling streams. It can be used to launch large denial-of-service attacks, negatively affecting performance and availability.
We've taken proactive steps to refine our infrastructure and strengthen our defenses. Our improved system can now more efficiently handle the HTTP/2 Rapid Reset Attack.
An essential component of our defense strategy is inline network traffic monitoring, where we identify malicious TCP connections and terminate them. Limiting abuse over a single connection has enabled Vercel to protect against HTTP/2 Rapid Reset Attack.
Combining our existing system with new improvements, all applications on Vercel are even further resistant to the HTTP/2 Rapid Reset Attack.
We want to assure you that your web assets are protected against the HTTP/2 Rapid Reset Attack. We're committed to consistently improving our security measures in response to new threats to ensure safety and reliability for all users.
Vercel's Slack integration now includes Comments. Once the Vercel Slack app is installed, you can subscribe to messages in a channel about all Comments made on your team's deployments or Comments made on specific projects.
If you configured the Slack app before October 4th, 2023, the updated app requires new permissions. You must reconfigure the app to subscribe to new Comment threads and link new channels.
You will get a Slack message for each new Comment, and replies in Slack will automatically appear in the Comment thread on your deployment. You can also log in to the integration with your Vercel account to get DMs about comments relevant to you.
Install the integration in our marketplace, or visit the documentation to learn more.
Vercel Web Analytics now supports tracking custom events on the server-side, in addition to existing support for client-side tracking.
import { track } from '@vercel/analytics/server'; export default function FeedbackPage() { async function submitFeedback(data: FormData) { 'use server'; await track('Feedback', { message: data.get('feedback') as string, }); } return ( <form action={submitFeedback}> <input type="text" name="feedback" placeholder="Feedback" /> <button type="submit">Submit Feedback</button> </form> ); }
Tracking a server-side event with a Server Action in Next.js.
Events can now be tracked from Route Handlers, API Routes, and Server Actions when using Next.js (or other frameworks like SvelteKit and Nuxt) through the track
function.
Custom event tracking is available for Pro and Enterprise users.
Check out the documentation to learn more.
Today, we'll begin rolling out Spend management on the Pro plan for the Billing and Owner roles. You can recieve notifications and trigger webhooks when you pass a given spend amount on metered resources like Functions. The actions you can take are:
When your spending approaches or exceeds the set limit, you'll receive realtime notifications to help you stay in control. This includes Web and Email notifications at 50%, 75%, and 100%. Additionally, you can also receive SMS notifications when your spending reaches 100%.
Setting a spend amount does not mean your project with pause automatically. To programmatically take action based on your set amount, you can use a webhook to pause your project, or even put your site into maintenance mode.
Check out our documentation to learn more.
You can now use ⌘K
(or Ctrl+K
on Windows) to open the Command Menu on any deployment where the Vercel Toolbar is enabled, including production and localhost. You can use Cmd + Shift + K
if you're viewing a deployment of a website that has its own ⌘K
menu.
Users can now navigate between a deployment and other Vercel pages relevant to the project directly through the menu.
Check out our documentation to learn more.
You can now receive and view Comment notifications in the Vercel dashboard.
Notifications for new Comments are shown in the dashboard with a counter on the bell icon. You can quickly resolve Comments there or filter by specific pages, branches, or authors.
Check out our documentation to learn more.
Based on your feedback, rather than pausing a deployment when exceeding the included Image Optimization usage, Vercel will now only pause optimization for additional source images.
onError
callback (if provided) and showing the alt
text instead of the image Check out our documentation to learn more.
When creating and editing Environment Variables on Vercel, you can now see hints that will warn you of potential typos in the name. This includes issues like:
Learn more about Environment Variables.
Comments and other collaboration features are available in all Preview Deployments on Vercel. Now, you can enable them in Production Deployments and localhost by injecting the Vercel toolbar on any site with our @vercel/toolbar
package.
import { VercelToolbar } from '@vercel/toolbar/next'; import { useIsEmployee } from 'lib/auth'; // Your auth library export function StaffToolbar() { const isEmployee = useIsEmployee(); return isEmployee ? <VercelToolbar /> : null; }
By using the @vercel/toolbar
npm package you and your team can leave feedback with Comments, take advantage of Draft Mode to view unpublished CMS content, or use Visual Editing on your production application.
This package is available to users on all plans and is our first step in bringing the Vercel Toolbar into your production sites.
Check out the documentation to learn more.
Based on your feedback, we’re improving Serverless Functions as follows:
These changes help prevent unintentional function usage, unless explicitly opted into the longer function duration.
Beginning October 1st, all new projects will receive a default timeout of 15 seconds. In addition, any projects that have not had functions run for more than 15 seconds will have their default timeouts reduced to 15 seconds.
To avoid unexpected timeouts, any projects that have had functions running for longer than 15 seconds (less than 1% of traffic) will not have their defaults changed.
Existing defaults still apply for Hobby and Enterprise customers.
Check out our documentation to learn more.
Vercel now supports Remix v2. Deploy your Remix application on Vercel with advanced support for:
loader
stale-while-revalidate
actions
inside Serverless and Edge FunctionsDeploy our Remix template to get started.
You can now create and save presets of your commonly used filters for all of your Runtime Logs searches. You can save presets to either My Project Presets (related to your personal account) or Team Project Presets. Personal presets can only be viewed and edited by the user who created them.
This feature is available to users on all plans.
Check out our documentation to learn more.
Vercel Blob is a fast, easy, and efficient solution for storing files in the cloud, perfect for large files, like videos.
The Vercel Blob works with any framework. It can be securely called from Edge and Serverless Functions and returns an immutable URL that can be exposed to visitors or put into storage.
This feature is now in public beta and available for all Hobby and Pro customers.
Check out our documentation to learn more.
Today, we’re introducing more ways for Enterprise customers to have control over which members of their Vercel team have access to certain projects for increased security.
The new team level role Contributor, has restricted access to make changes at the project level, and only has access to the projects to which they’ve been assigned. This role can be useful for agencies and contractors working on a limited project basis.
Additionally, we’ve introduced new Project level roles: Project Admin, Project Developer, and Project Viewer. Project level roles are assigned to a team member on a project level and are only valid for the project they are assigned to.
Check out the documentation to learn more.
Failed or canceled builds now have better feedback clearly displayed on the Vercel dashboard in the deployment details page.
The following build failures now have more helpful error messages:
vercel.json
configurationignore build step
Check out our documentation to learn more.
We have achieved the ISO 27001:2013 certification to further strengthen our commitment to security at Vercel.
Learn more about security at Vercel.
Projects using Bun as a package manager can now be deployed to Vercel with zero configuration.
Like yarn, npm, and pnpm, Bun acts as a package manager focused on saving disk space and boosting installation speed. Starting today, Projects that contain a bun.lockb
file will automatically run bun install
as the default Install Command using bun@1
.
This change impacts the build phase but not runtime. Therefore, Serverless Functions will not use the Bun runtime yet.
Check out the documentation to learn more.
You can now use the Hypertune integration to initialize the Hypertune SDK from Vercel Edge Config with zero latency. This allows you to access your feature flags and run A/B tests with no performance impact to your applications.
This integration is available for users on all plans.
Check out the integration to get started.
We've redesigned and improved the Vercel documentation with:
Get started with the Vercel documentation today.
Enterprise customers are now able to configure builds of their Production deployments to begin before any builds of their Preview deployments.
With this setting configured, any Production Deployment changes will skip the line of queued Preview Deployments, so they're ready as soon as possible.
You can also increase your build concurrency limits to give you the ability to kick off multiple builds at once.
Read more in our documentation.
Customers using Azure DevOps can now use our extension from the Visual Studio Marketplace to get their deployments triggered automatically whenever they make a new commit or create a new pull request. This makes Azure pipeline development much easier and creates a better integration with other commonly used Azure products, like Azure Key Vault.
The extension can create a comment on the pull requests, containing crucial information about the deployment status and the Preview URL, to help track deployments better.
This feature is available to customers on all plans.
Check out the documentation to learn more or view the extension to get started.
Vercel is announcing the deprecation of Node.js 14 and 16, which will be discontinued on August 15th 2023 and June 15th 2024 respectively. Node.js 14 reached official end of life on April 30th 2023. Node.js 16 will reach official end of life on September 11, 2023.
On August 15th 2023, Node.js 14 will be disabled in the Project Settings and existing Projects that have Node.js 14 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.
On June 15th 2024, Node.js 16 will be disabled in the Project Settings and existing Projects that have Node.js 16 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 will not be affected, Vercel strongly encourages upgrading to Node.js 18 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.
Deployment summaries now have more detailed views of the infrastructure primitives provisioned by Vercel at build time.
With this improved summary, you can track how changes in your frontend application code lead to specific changes in the build's output—the runtimes, regions, paths, and more—that Vercel uses or creates when deploying your application on our Global Edge Network.
Read more in our documentation or learn more about framework-defined infrastructure.
Vercel Edge Middleware and Edge Functions now support more Node.js modules. You may want to make use of these modules directly, but many of these low-level APIs are pieces of core functionality that other modules depend on. Adding support for these APIs expands the compatibility of existing npm packages.
export default function (request: Request) { const url = new URL(request.url); const message = url.searchParams.get("message") ?? ''; return Response.json({ decoded: Buffer.from(message, "base64").toString(), message, }); } export const config = { runtime: "edge", };
Edge Function using Buffer global
The following APIs are now supported:
buffer
.Promise
, and a helper function to convert a function that returns a Promise
into one that accepts a callback.You can take advantage of these additional APIs in Edge Middleware and Edge Functions with your next deployment. To deploy Edge Functions on Vercel you can get started with any framework or one of our templates.
You can now view projects on the dashboard grouped by their repository with list view.
List view improves the experience for teams using monorepos or a large number of projects. Projects are sorted by date and displayed as a list. You can use the toggle to switch between the card or list view for displaying projects, with your preference saved across devices.
Check out the documentation to learn more.