Laravel 8.25, weekly updates, and 🔥 tip

Laravel 8.25

A few releases last week, so we're jumping all the way to 8.25.0 this week with some big features. Notably new Stringable methods and running tests in parallel.

  • Limit expected bindings (part 2) in #35972
  • Fix worker --delay option in #35991
  • Pipe view exceptions through render and report in #36032
  • Add Str::pipe and make Stringable tappable in #36017
  • Add parallel testing in #36034
  • Support JSON encoding Stringable in #36012
  • Support for escaping bound attributes in #36042

You may review the full branch diff on GitHub for a complete list of changes.

This minor version bump and update is automated for subscribers to a Shifty Plan. If you don't have one of those, be sure to bump your constraint and run composer update to get the latest features.

Weekly Journal

A few tweaks last week to the recent facelift changes. Also finished up the Human Shifts. I spent the remainder of the week implementing tweaks to the Laravel 8.x Shift to account for recent releases.

To that point, one of the recent releases was Laravel Mix 6. I wanted to update to Mix 6, so I went ahead and created a task for this in the Shift Workbench. Like a majority of the tasks, it's completely free. Just another bit of automation to help you save time keeping your Laravel projects up-to-date. This is automated in the Laravel 8.x Shift as well.

I also updated the build to run tests in parallel with Laravel 8.25. The hype is real, as it saved nearly 50% in my local Docker environment and 70% in the CI environment. Note though, to take advantage of this, you need to use the artisan test --parallel command or the underlying vendor/bin/paratest runner.

This week I'm working on a set of about 10 videos to better highlight all the features Shift offers. So much was added last year. I worry many developers don't know about them, and worse, aren't taking advantage of them.

🔥 Tip

Saw this little gem on Twitter last week. You don't have to type the snake_case or TitleCase name for migrations. Instead you can simply quote it.

All of the following commands make the same migration:

1artisan make:migration create_transactions_table
2artisan make:migration CreateTransactionsTable
3artisan make:migration "create transactions table"

A reminder, adding the table suffix allows the command to prefill the table name within the migration. 🔥🔥