Laravel 8.78, weekly updates, and 🔥 tip
Laravel 8.78
Even though it has been two weeks since the last release, not necessarily double the features in this week's release for Laravel 8.78. Still, some nice additions though.
- Add
schedule:clear-mutex
command in #40135 - Ability to define extra default password rules in #40137
- Add
Request::mergeIfMissing
in #40116 - Improve support for custom Doctrine column types in #40119
- Add multiple lines at once for
SimpleMessage
in #40147 - Clear recorded calls when calling
Http::fake()
in #40194 - Add
Bus::assertBatchCount
in #40217 - Add ability to customize JSON options on
JsonResource
response in #40208
You may review the full branch diff on GitHub for a complete list of changes.
This 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 I finished merging the open PRs for all of the Shift repositories. In addition, I opened some new issues and prioritized existing issues. Starting next week our focus will be preparing for the Laravel 9 release later this month.
Unfortunately last week our household tested positive for Covid. This was likely contracted during our Christmas visits. We knew the risks with the new Omicron variant. But we had not been around family for the holidays since before Izzy was born. We're fully vaccinated, so fortunately symptoms have been pretty mild. We'll continue our quarantine until the end of the week.
I did have enough energy yesterday to complete the new snapshot testing for Shift. I proved the strategy last week, but wanted to add some custom assertions for an even better developer experience. If you're interested in more details, I posted this thread on Twitter.
Ideally I'll get this merged later today. Then with the rest of the week, I'll continue refactoring Shift and Jess will tweak the Tailwind Shifts based on recent feedback.
🔥 Tip
I though this change Taylor made in one of the recent patch releases was interesting:
- return ! $this->contains($key, $operator, $value);+ return ! $this->contains(...func_get_args());
To me, the original code seemed to better communicate the arguments. I was curious why spread the arguments passed instead of explicitly passing them.
So I asked Taylor and he pointed out that by spreading the arguments it would call the underlying method with the same number of arguments. This mattered since the underlying method behaved differently based on the arguments it received.
So spreading the arguments allowed the underlying method to behave as if it had been called directly. 🔥