Laravel 9.39, weekly updates, and 🔥 tip

Laravel 9.39

Several fixes this week and a few new features brings us to Laravel 9.39. Here are the highlights:

  • Fix TestResponse::assertSessionHasNoErrors() check all bags in #44802
  • Fix dispatchAfterResponse in PendingBatchFake in #44815
  • Add assertDatabaseEmpty in #44810
  • Fix InteractsWithContainer::withoutMix in #44822
  • Add CSP nonce to Vite reactRefresh inline script in #44816
  • Allow route group() to be chained in #44825

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 went to LonghornPHP. I gave a talk on Friday about setting up GitHub Actions for PHP projects. This was a live demo of manually setting up workflows to check for lint, verify code style, and run tests.

Basically all workflows which are automatically created for you with the CI Generator. After giving this talk, I want to add some new things to this Shift. So I hope to work on those in the coming weeks.

Other than that, I am focusing on the numerous Human Shifts which came in over the last two weeks. I am still catching up on those and will likely need most of this week too.

I also recorded another episode of The BaseCode Podcast. This time I focus on some of the things I think made Shift successful. I plan to record two more episodes. I'd still like to make the last one a Q&A episode. So if you have any questions about Shift - technical, personal, or business - please send them my way.

🔥 Tip

Something which received interest in my talk was my fork of the GitHub Action actions/cache.

You can dig through this super long issue which discusses this shortcoming, but this action only caches the results if the entire workflow is successful.

In my opinion, that is a bit strict. Imagine a workflow where the tests are failing, but Composer dependencies install successfully. You will never have a cache hit on subsequent runs until the tests pass.

It's a one line change to always cache. So if you want to try my fork to see if it improves your build times, you may also make a one line change by swapping actions/cache@vX with jasonmccreary/cache@main.