Web Development

Forge: Deployment Rollbacks


We introduced the Deployments panel back in October 2020 and have continued to improve the functionality of it since. The panel shows the last 10 deployments including: the commit hash, author, message, and deployment status.Rolling ba...

Forge: Site Commands


Forge has had the ability to execute arbitrary Bash scripts on your server via Recipes for some time now. However, sometimes you may just need to run a quick command without the overhead of creating a new recipe.So, today we're shippin...

Forge: Session Changes


On the morning of March 18th all Laravel Forge sessions were manually logged out. This was done so that we could enable a new security feature in Forge that allows you to manage other browser sessions.Managing Browser Sessions in Forge...

Forge: MeiliSearch Server Type


Today we're excited to announce MeiliSearch as a new addition to the recently released Server Types feature.MeiliSearch is an open source, blazingly fast and hyper relevant search-engine that will improve your search experience.Laravel...

Installer: Git Support


With the newly released v4.2 update of the Laravel installer comes an exciting new feature: Git Support! It's now possible to initialise a Git repository with the base skeleton already committed when setting up a new project. Simply ma...

Forge: Using Tags To Organize Your Projects


As your server infrastructure and number of sites grows, finding the right server or site can become increasingly cumbersome. Thankfully, Laravel Forge makes managing your infrastructure easier with the use of tags.Tags can be added to...

Laravel Internals: Episode #4


In this week's episode, our team members Dries Vints and Nuno Maduro chat about the recent developments on the Laravel ecosystem.Be sure to subscribe to our YouTube channel so you don't miss the next episode!

Forge: Introducing Server Types


Today we are excited to announce a new way to provision different types of servers within Laravel Forge. When creating a Forge server, you will now have your choice of six different server types: App Server, Web Server, Worker Server, ...

Laravel: New Release Schedule


For the last 4 years, Laravel has released a new "major" version every 6 months. Before adopting the "semantic versioning" standard - the second number in the Laravel version number changed every 6 months. With the adoption of semantic...

Laravel: Parallel Testing Is Now Available


As you may know, Laravel and PHPUnit execute your tests sequentially within a single process. However, a single process doesn’t use multiple cores; therefore, your test execution is seriously bottlenecked!

![image](https://laravel-blo...

Forge: Deploy Keys Now Supported


Forge is used by agencies all over the world to provision servers and deploy sites on behalf of their clients.

Currently, when Forge provisions a server, that server's SSH key is added to the SSH keys of the Forge user's connected sou...

Security: Laravel 6.20.12, 7.30.3 Released


Earlier this week we released a security update to address a problem with query parameter binding in Laravel. However, the 6.x and 7.x releases were done before the Git sub-tree splits had completed running; therefore, anyone using the...

Forge: Creating Circle Servers


When subscribed to Laravel Forge's Business plan, it's easy to share servers with other Forge users via "Circles". However, these circle members were never allowed to create servers within the circle. That changes today!As a circle own...

Security: Fortify 1.7.4. Released


We have reverted a pull request that was merged into Laravel Fortify 1.7.3 which introduced a potential security vulnerability. Please update your applications using Fortify 1.7.3, including all Jetstream based applications, to Fortify...

Jetstream 2.0 Released


Today I'm excited to announce the release of Laravel Jetstream 2.0! This release of Jetstream adds several highly requested features to the application starter kit, including:Team Member InvitationsInertia Authentication ViewsTeam Swit...

Laravel Internals: Episode #3


In this week's episode, our team chat about the recent developments on the Laravel ecosystem.Be sure to subscribe to our YouTube channel so you don't miss the next episode!

Laravel Internals: Episode #2


In this week's episode, our team members Dries Vints and Mohamed Said chat about the recent developments in Open Source and Vapor.Be sure to subscribe to our YouTube channel so you don't miss the next episode!

Envoyer & Vapor: Automatically Email Invoices


Beginning today, you may provide a list of email addresses that you would like to receive invoice PDFs when your Envoyer and Vapor subscriptions successfully renews.

We recently added this feature to [Forge](https://blog.laravel.com/...

Vapor: Amazon Linux 2 Runtimes Are Now Available


The `runtime` configuration option in the `vapor.yml` allows you to specify which PHP version a given environment uses.

Amazon recently announced the second version of its operating system: [Amazon Linux 2](https://aws.amazon.com/amaz...

Envoyer: Selectable Deployment Hooks


Envoyer's powerful deployment hook system allows you to create bespoke deployment plans for your projects. Envoy can install your dependencies and compile your assets or even interact with third-party APIs. Our customers use deployment...

Vapor: Docker Based Deployments


One of the limitations of AWS Lambda is that the deployment size, including layers, must not exceed 250 MB. This is not ideal for large projects that have many composer dependencies. In addition, many people interested in Laravel Vapor...

Forge: Automatically Email Invoices


Beginning today, you may provide a list of email addresses that you would like to receive invoice PDFs when your Forge subscription successfully renews. This new feature is available on your "Profile > Billing" dashboard.

![image](htt...

Forge: PHP 8.0 Is Now Supported


PHP 8 has been released and it includes many new features and improvements: **[php.net/releases/8.0](https://www.php.net/releases/8.0/en.php)**.

As you may know, Forge allows you to specify which PHP version a given site runs on. Of c...

Forge: Database Management Improvements


One of Forge's killer features is that it can provision servers with your choice of database: MySQL, MariaDB or PostgreSQL. Once the server has provisioned you can then use Forge to:Create new databasesCreate new database usersManage d...

Laravel: PHP 8 Support


[PHP 8 has been officially released](https://www.php.net/releases/8.0/en.php)! We've been hard at work behind the scenes to provide support for all our libraries so that upgrading to PHP 8 with Laravel is easy.

First, make sure you're...

Vapor: PHP 8.0 Runtime Is Now Available


PHP 8 has just been released and it includes many new features and improvements: **[php.net/releases/8.0](https://www.php.net/releases/8.0/en.php)**.

As you may know, Vapor allows you to specify which PHP version a given environment r...

Forge: Streaming Backups & More


Since launching Forge's Database Backup feature back in February, our customers have created thousands of backup configurations, which have made hundreds of thousands of backups and counting. In June, we extended the backup providers t...

Forge: New AWS ARM Instance Types Available


Starting today, you can provision T4g AWS servers using Laravel Forge. These instance types are powered by AWS Graviton2, a processor built by AWS using 64-bit ARM cores. These instance types provide a performance benefit of up to 40...

Vapor: EU (Milan) Region Is Now Available


As you may know, Vapor offers support for deploying your serverless application to a region of your choice. Starting today, you may also choose the **EU (Milan)** region when starting a new project on Vapor. This new region offers low ...

Laravel Internals: Episode #1


The Laravel team is proud to introduce you to our new podcast: Laravel Internals - a live YouTube podcast about Laravel, Forge, Vapor, Envoyer related news, and more.In this week's episode, our team members James Brooks and Nuno Maduro...

Vapor: Load Balancer Security Policy Updates


By default, Vapor routes HTTP traffic to your serverless applications using AWS API Gateway. As an alternative to API Gateway, some customers have chosen to route their application traffic using **Load Balancers**, which can provide la...

Forge: Nginx Templates


Today we're excited to introduce a new feature to Laravel Forge called Nginx Templates. These templates allow you to define your own base Nginx configuration files that can be used when creating your sites.You may have found yourself n...

Introducing The Envoyer API


Today we're excited to release our API for Envoyer!You can create new API tokens from your Envoyer account page. Each token can be scoped to provide limited access to your data.Creating an API Token in EnvoyerWe're excited to continue ...

Forge: Upgrading To Composer 2.0


Following the release of Composer 2 on October 24th, we wanted to share a guide on how to upgrade your servers to make the most of all the great benefits it brings.First, all new servers will automatically receive Composer 2 by default...

Vapor: Debugging Hooks, CI Deployments, and more!


Over the last few days, we've been working on some enhancements on Vapor. Now, before we talk about what's new, make sure you are running the latest version of the packages `laravel/vapor-core`, and `laravel/vapor-cli` — otherwise, you...

Forge: Enabling TLS 1.3


As of today, newly issued LetsEncrypt certificates on Laravel Forge servers that run on Ubuntu 20.04 have TLS 1.3 enabled by default. TLS 1.3 offers a faster handshake and more secure cipher suites.If you have an existing LetsEncr...

Vapor: RDS Proxies Now Available


Even though your serverless Laravel applications running on Vapor can handle extreme amounts of web traffic, traditional relational databases such as MySQL can become overwhelmed and crash due to connection limit restrictions.

So, sta...

Forge: Self-Hosted GitLab Support


Forge has always supported using a custom Git provider for your projects, but starting today Forge has first-party support for self-hosted GitLab installations.This means that Forge now provides a better integration for your self-hoste...

Vapor: Bypassing Maintenance Mode


When putting your application in maintenance mode using the `vapor down` command, your application will respond with a status code of 503 on every request.

Beginning today, you may use the `secret` option on the `vapor down` command t...

Vapor: Serving Assets From The Root Domain


As you may know, during deployment Vapor automatically extracts all of the assets in your Laravel project's public directory and uploads them to S3. Also, Vapor creates an AWS CloudFront (CDN) distribution to distribute these assets ef...

Envoyer: Refreshed Deployment Steps


Yesterday we shipped an updated to [Envoyer](https://envoyer.io) that gives deployment steps a much needed refresh.

![Envoyer Deployment Steps](https://laravel-blog-assets.s3.amazonaws.com/zpU2i4q89msOjcUroeNwCA1FJRsxaATVSHP4dCcf.png ...

Vapor: Customize Default Role


When running your first Vapor deployment, Vapor creates a **laravel-vapor-role** role within your AWS account that grants permission to your applications to access certain AWS services such as AWS CloudWatch for logs or AWS SQS for que...

Jetstream: Customization + Password Confirmation


As many of you know, we released Laravel 8.x and [Laravel Jetstream](https://jetstream.laravel.com) last week. Thanks to very valuable feedback from the community, I am thrilled to give you an overview of some new customization options...

Vapor: UI Dashboard Now Has Job Metrics


On September 3rd, we released the [Vapor UI Dashboard Package](https://blog.laravel.com/vapor-ui-dashboard-package). In short, this package provides a beautiful dashboard within your Vapor powered application that allows you to monitor...

Forge: TLS v1.3, Redis Passwords and more!


Over the last few weeks, we've been working on many new features and enhancements in Forge. I often tweet about these changes since they don’t warrant a full-blown blog post by themselves, but that means that they're also missed by a l...

Vapor: UI Dashboard Package


Today we're proud to introduce you to our new [open-source package](https://github.com/laravel/vapor-ui): Vapor UI. In short, this package provides a beautiful dashboard within your Vapor powered application that allows you to monitor ...

Forge: phpMyAdmin One Click Install


Beginning today, phpMyAdmin is now available as a "one click" installation option on Laravel Forge!When installing phpMyAdmin, you will be asked to create an additional database and database user if you have not already done so.If you ...

Forge: New Load Balancer Features


Beginning today, you may now customize the "weight" of your load balancer servers, indicating that some servers should serve more traffic than others. In addition, you may now specify servers as "backup" servers. These servers will be ...

Security Release: Laravel 6.18.35, 7.24.0


**Note: This security patch only affects applications using the `$guarded` property on models. In addition, applications that set `$guarded` to `[]` or `['*']` are not affected by the bug described in this post.**

Today we are releasi...