Laravel 8.29, weekly updates, and 🔥 tip

Laravel 8.29

Couple new features this week. So this gives us a minor version bump to 8.29.0. There was a patch release last week for 8.28.1, so be sure to run composer update if you're on 8.28.0.

  • Fix cache:clear for redis clusters in #36281
  • Fix retrying encrypted job in 054c3912
  • Support username parameter for predis in #36299
  • Add setUpTestDatabase for seeding databases when parallel testing in #36301
  • Support using closures for Factory Sequences in 3c66f6cd
  • Fire new GateEvaluated event in 0c6f5f75
  • Add collect method to the HTTP Client response in #36331
  • Add whereInstanceOf collection method in #36328
  • Allow passing class constants to Blade @inject in #36356

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. These are nearly complete. I'll be testing them on my course sites this week and then open alpha testing later in the week.

To that point, I still have a few spots available for the alpha. If you have a Tailwind 0.x or Tailwind 1.x project and 20 minutes Thursday afternoon or Friday morning (US Eastern Time), reply to be part of the alpha test group (and upgrade your project to Tailwind 2.x).

That will be my focus this week. Friday is month end, so I normally use that for bug fixes. A few were reported with the uptick in older version Shifts. So I'll squash some Friday and maybe more over the weekend.

A friendly reminder that next Monday, prices for the Laravel 5.6, 5.7, and 5.8 Shifts will increase by $10. This puts them in the oldest Laravel Shift pricing tier and reflects them as unsupported versions.

Closely following that will be a change in the Shifty Plans. Primarily to reflect the supported versions, but also some renaming for clarity, and the introduction of an "Everything" plan. Any current subscriber will be grandfathered into the new plans.

So if you have an old app, this week is your last chance to save a few bucks or get one of the current plans.

🔥 Tip

A few have mentioned this. I know I tweeted it a while ago. But it's invaluable, so I'm sharing it again.

When testing a lot of data, you may use a data provider to pass data to a test case. Essentially creating a foreach loop.

The 🔥 tip is to key your data. When doing so, PHPUnit will print this value with the test case failure, making it easier to identify. It also communicates what you're testing.

For example, this data provider:

1public function configFileDataProvider()
2{
3 return [
4 'Default 0.7.4 Config' => ['default-0.7.4'],
5 // ...
6 ];
7}

Yields the following message on failure:

1There was 1 error:
2
31) Tests\Tasks\Tailwind\Tailwind1x\ConfigTest::it_updates_a_default_config with data set "Default 0.7.4 Config" ('default-0.7.4')

For more on data providers, check out this post by Tighten.