Laravel 8.32, weekly updates, and π₯ tip
Laravel 8.32
Lots of releases! A patch release and a minor release last week. A new minor release this week, with a fast follow patch release bringing us to 8.32.1.
Here are the highlights:
- Fix validator treating
null
astrue
in #36504 - Add Fluent JSON Assertions in #36454
- Add new
Stringable::test
method in #36462 - Helper methods to dump HTTP requests in #36466
- Add support for passing Eloquent Collections to
Model::destroy()
in #36497 - Support passing callback arguments for
value
in #36506 - Ability to slow workers down in #36521
- Add
ThrottlesExceptionsWithRedis
job middleware in #36518 - Add
prohibited_if
andprohibited_unless
validation rules in #36516
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
Last week Jess and I continued pairing on the Tailwind Shifts. We're in a place now where all the alpha tests are going well, and we have used them on our own projects.
So, I'll be launching the beta release of these Tailwind Shifts tomorrow. They will be offered at a discounted price of $9 while we continue to improve the automation for all the various ways people may use Tailwind in their projects - as these are not just for Laravel projects.
I hope to make a fun marketing video later I'll post on Twitter, and a demo video tomorrow for the official release.
I also "grandfathered" the existing subscriptions to the new Shifty Plans. This was a bit more involved than I thought. Mainly for the reasons Stripe does not allow you to swap plans that have different billing cycles without generating an invoice.
Since I moved the "CI Plan" from bi-annual to annual to mirror the new Laravel release cycle, the billing cycles changed. My only choice was a manual (gross), opt-in approach. Existing subscribers have immediate access to the new "Latest Plan" features. So it's really just a matter of swapping your plan to the billing cycle to taking advantage of the new discounted price.
This week I plan to release the Tailwind Shifts. While building the actual Shift is the most work, there's still a lot of work that goes into the launch - the "Learn More" pages, SEO images, marketing video, and ultimately sharing the release. So that will likely be the rest of my week. In addition to creating a Tailwind UI Shift (as I need that too).
π₯ Tip
Going to toot my own horn a bit for this week's π₯ tip. I finally got the db:seed
argument for the class name merged into Laravel. Took a few tries, but after some likes on Twitter, I revisited the conversation with Taylor.
This allows you to pass the seeder class name directly as an argument, instead of setting it via the --class=
option. For example, all of the following may be used to run the DatabaseSeeder
:
1php artisan db:seed --class=DatabaseSeeder2php artisan db:seed DatabaseSeeder3php artisan db:seed
For whatever reason this was just a symmetrical paper cut, as it did not align with most of the other artisan
commands. Despite using Laravel for several years, I continually passed the class name as an argument. So dropping the ββclass=
saves you several keystrokes.
For more saving keystrokes tips, check out the Episode 32 of the BaseCode podcast. You'll find a lot of command shortcuts in the Show Notes.