Back to Blog

Laravel 11.28 Adds a Composer Dev Command

Julian Beaujardin
Julian Beaujardin October 15th, 2024

This week, the Laravel team released v11.28, with a composer run dev command, Tailwind default config, a "CollectedBy" attribute to define a custom Collection class for a model, interactive encrypt/decrypt commands, and more.

Add Tailwind and composer run dev Command

Taylor Otwell updated the laravel/laravel application repo with a composer run dev command for all new applications. In the same pull request, every new Laravel application has a tailwind.config.js. Having a Tailwind config lets you start using it immediately without installing any starter kit. This is great news for anyone who wants to tinker with Tailwind without any additional setup.

Add CollectedBy Attribute

Andreas Alsterholm contributed a CollectedBy attribute for specifying a custom collection class for a model:

With this attribute added, one would only have to add the attribute rather than override the newCollection() method on the Model class.

Here's an example from the pull request:

use Illuminate\Database\Eloquent\Attributes\CollectedBy;

#[CollectedBy(PostCollection::class)]
class Post
{
    // ...
}

Interactive env:encrypt and env:decrypt Commands

Harm Hermsen contributed interactive support for the env:encrypt and env:decrypt commands. The encrypt command prompts the user to either generate a random key or enter an existing one to use for encryption. The decrypt command allows you to paste in the key using a prompt and password field.

Add defaultLocale() and defaultCurrency() Helpers to the Number Facade

Ryan Holton contributed two new methods to the Number facade for getting whatever the default locale and currency values are:

Number::defaultLocale(); // returns default locale
Number::defaultCurrency(); // returns default currency

Release notes

You can see the complete list of new features and updates below and the diff between 11.27.0 and 11.28.0 on GitHub. The following release notes are directly from the changelog: