Skip to content

Blog

Vercel was born to help frontend teams succeed at scale. From the ideal developer experience on localhost, to the best performance for your end-user via our Global Edge Network.
Today we are introducing major end-to-end enhancements, starting with a realtime developer workflow (with Next.js and Vercel CLI) and finishing with serving pages up to 6x faster.

Read more →

Up until now, after creating a new Project from a Git repository or one of our examples, all commits to its default branch were being deployed to Production.
Today we are introducing a new default for newly created Projects, as well as an easy way to customize it from your Project Settings.

Read more →

Next.js is a React framework that supports pre-rendering. Instead of having the browser render everything from scratch, Next.js can serve pre-rendered HTML in two different ways.

Read more →

July 2020·Changelog
  • Deployments
    • If the appropiate Cache-Control header is present, responses returned by a Serverless Function with a 404, 301 or 308 status code will now be cached. Previously, only 200 was cached.
    • Whenever Next.js' Incremental Static Regeneration feature is used, changes are now only made available once all Edge Network regions have received the update.
    • It's now possible to make dotfiles publicly available by including them when creating a new Deployment. Previously, they've been ignored.
    • Deploying Serverless Functions to multiple regions is now restricted to the Enterprise plan (listed on the pricing page since the new pricing model was released, but only enforced now).
    • It's now possible to use deploy.new/<template> and deploy.new/<owner>/<repo> for easily importing Templates or GitHub repositories. Documentation is coming soon.
    • Whenever the Output Directory for a Docusaurus Deployment is missing, a useful error is now rendered.
    • Passing a inverted Range header (such as Range: bytes=5-1) to Deployments will now return a 416 response instead of crashing with 500.
    • Hitting the maximum limit of files in a Deployment's build (16,000) will now render a useful error message.
    • If one of the Serverless Functions created from a Deployment is larger than 250MB unzipped, a useful error message will now be rendered.
    • Log lines piped to Log Drains will now correctly render vercel instead of now as the origin application name.
    • The .nuxt directory is now cached automatically for Nuxt.js Projects. Additionally, default caching headers are provided for the client assets.
    • Placing invalid sub properties within the redirects, rewrites or headers properties will now render a useful error message.
    • Defining a functions property with invalid paths will now render a useful error message.
  • Dashboard
    • The Logs and Source Protection section in the Project Settings now doesn't require a new Deployment in order for the setting to be applied anymore.
    • Environment Variables are now listed in their own, dedicated page in the Project Settings.
    • The Preview Deployment Suffix feature in the Team Settings now supports subdomains.
    • Events that are rendered whenever a Deploy Hook is invoked for a Project now render an avatar that is not associated to any Vercel Account, since the Deploy Hook requests are usually issued programmatically.
    • Events are now rendered for Team Members that are joining and leaving Teams.
    • The names of newly created Projects can now be up to 100 characters long instead of 52.
    • Importing a Git repository that contains a Blitz.js app will now automatically apply defaults for the Build and Development Settings. Additionally, you can now find it in our list of Templates.
    • Importing a Git repository from GitLab that doesn't contain one of our optimized frameworks on the top level will now let you visually select the directory that you'd like to import (as it can't default to the root level).
    • Importing a Git repository on iPad will now ensure that both the settings and the build logs are perfectly visible at the same time.
    • Importing an empty Git repository will now render a useful error message.
    • Importing a Git repository will now forward to the success page immediately after the Deployment completed – without a delay. When errors occur, they're also surfaced immediately now.
    • When linking to the import flow, developers can now pass a ?redirect-url query string parameter that contains a URL to which the user will be redirected to after successfully importing a Git repository. Additionally, ?developer-id can be passed with the ID of an integration that will render a logo and name for the redirect. If ?redirect-url is supplied, all relevant links for a Deployment are attached when performing the redirect.
    • When linking to the import flow, developers can now pass a ?production-deploy-hook query string parameter that contains the name of a Deploy Hook that will automatically be created for the new Project.
    • The Templates page now renders good-looking screenshots even if the screen is smaller (like portrait mode on iPad).
    • Deleting a lot of Tokens will now render a scrollable preview of all the Tokens that will be deleted after confirming.
    • Errors that occur while adding a Deploy Hook to a Project now properly get surfaced instead of being hidden away.
    • The button for downloading a CSV sheet of an invoice on the Usage page isn't missing for subscription invoices anymore.
    • Deleting a Personal Account or Team will now render a info modal about the recovery time.
    • All links to Deployments with custom Domains assigned on the Dashboard will now default to the http protocol, as custom Domains are assigned even before their SSL Certificate is ready.
    • Error pages (such as the 404 page) will not render the notification banner at the top of the page anymore. Additionally, the 404 page now indicates that the resource might not exist, but you also just might not have access to it too.
    • All occurances of now.json across the Dashboard were replaced with vercel.json, as that's the new name of the configuration file.
    • Logging in now renders a warning message that you shouldn't close the window until you've clicked the confirmation link in the email.
    • Deleting a Project will now correctly wipe all associated Deployments too.
    • The flow for creating projects now renders a useful header with only the least amount of information necessary.
    • When logging in with an email address on the Dashboard, no "Failed to load data" error will occur on the verification screen anymore.
    • The URL of a Git repository entered within the project creation flow will now remain visible after submitting it on Safari (iOS and macOS).
    • Deleting Personal Accounts or Teams will now immediately make all Projects and Deployments unavailable.
    • The "View Function Logs" button on the Project View will now always render correctly.
    • Customers that are trying to sign up with GitLab or Bitbucket even though they already have a Vercel Account will now be logged in correctly.
    • Invoices for the legacy Unlimited plan will now render the correct team seat price on the Usage page in the dashboard.
    • The "Git Integration" section in the Project Settings will now render a useful error if a Git repository was selected that the GitHub App does not have access to.
    • Confirming the deletion of a Personal Account is now possible to do without logging in, by clicking the confirmation link in the email.
  • Domains
    • The dashboard will now render the correct "Registrar" field for the Advanced Settings view of a .is Domain.
    • All second-level Domains for .br (such as .app.br) are now properly supported.
    • Trying to add a non-FQDN Domain to the Project Settings will now render a useful error.
    • If the most recent Production Deployment in a Project has failed, a useful message will now be rendered on Domains in the Project Settings that fail to apply because of that.
    • The message that renders on a potentially available .vercel.app subdomain is now more explicit and states that the Domain might be available, as there's a chance that the name matches the name of a Vercel Account – in which case using it is prohibited.
    • Adding a Domain in the Project Settings that uses Cloudflare will now render a link to the respective knowledge base article.
    • Domains ending in .im will not be listed on the page for purchasing Domains anymore if they violate the minimum length requirements of 3 characters.
    • Manually removing the underlying alias of a Domain using vercel alias rm will now render a useful error message on the Domains page in the Project Settings.
    • Transferring a Domain into Vercel will now generate an invoice immediately.
    • It's now possible to add up to 50 Domains to the Project Settings in quick succession without running into a rate limit.
  • Documentation
    • An overhauled Deploy Button page now talks about how to integrate Vercel's project creation flow into your Git repository or service.
    • The section for Adding a Domain now reflects that you can easily add Domains using A and CNAME records (no need for setting nameservers).
    • It's now possible to use the / character in text fields (such as the feedback form) without accidentally focusing on the search bar. The cursor will only focus on it if it's not currently focused on a text field.
    • The Caching page now properly reflects the new company name in all of header names.
    • A new section was added to the Build Step page that explains how to use (or not use) .env files with Vercel.
    • The FAQ page now contains a new section about how to programmatically bypass Password Protection.
    • If a Domain is added to the Project Settings that doesn't have nameservers configured, the nameserver list on the right will now render "No Nameservers Found" instead of an empty section.
    • The System Environment Variables section now renders a screenshot that doesn't include the old company name anymore.
  • Command-Line
    • The vercel dev command will now download the Development Environment Variables from your Project Settings automatically.
    • Checking for updates will not slow down the bootup time of Vercel CLI anymore, as it's now performed asynchronously.
    • Instead of watching vercel.json and waiting for changes, Vercel CLI will now automatically load it fresh for every incoming request.
    • Running vercel dev will now consider the Output Directory field defined in the Project Settings.
    • Spreading arrays is now supported in Serverless Node.js Functions run using vercel dev.
    • The .env file generated by vercel env pull is now automatically extended without rendering a confirmation prompt. This is made possible by a comment that lets Vercel CLI understand whether it created the file in the first place.
    • Whenever both functions and builds are used in vercel.json when vercel dev is run, a useful error message is rendered.
    • The Continuous Integration indicator badge shown in the README.md file of the vercel/vercel GitHub repository now works again.
    • Invoking Vercel CLI with a .vercel of a Project or Vercel Account you don't have access to will now render a useful error message.
    • Configuring the rewrites or routes properties in vercel.json and running vercel dev will now work as expected with external URL destinations.
    • All occurances of zeit.ink URLs were replaced with their vercel.link counterpart.
  • Integrations
    • The comment rendered on pull requests by the Bitbucket Integration will now correctly link to the respective documentation page, instead of linking to the one for the GitHub Integration.
    • Deployments created with the GitLab or Bitbucket Integrations will now render the correct author in the Activity feed.
    • The GitLab Integration now renders merge request comments in the same style as the GitHub and Bitbucket Integrations.
    • Just like the GitHub and Bitbucket Integrations, the GitLab Integration will not leave comments on commits that were not created on the Production Branch anymore.
    • The @vercel/integrations package was properly adjusted for the new company name.
    • Modifying a the vercel.json file in a fork pull request of a Project that contains Secrets in vercel.json (or defines Environment Variables in the Project Settings) will now cause a prompt to render, which will require a member of the target Team to approve the pull request. Previously, this only happened for now.json.
    • The prompt mentioned above will now be hidden if the author of the most recent commit within the pull request is a member of the Vercel Team.
    I spend a lot of my time building web applications. I want to get as many of my ideas out into the world as possible and nothing has made that simpler than Vercel. Their technologies — Next.js and their cloud platform — have helped me prototype and build full-fledged applications in days!
    But even with the wealth of tools they produce, auth was always a barrier for me. No matter how quickly I could build everything else – I always struggled with auth.

    Read more →