Laravel 8.19, weekly updates, and 🔥 tip

Laravel 8.19

One patch releases last week to bump to Laravel 8.18.1. This week we get a minor version bump to 8.19.0.

  • Delay pushing jobs to queue until database transactions are committed in #35422
  • Delay dispatching listeners until transaction commits in #35434
  • Add job encryption in #35527
  • Fix passing model instances to factories in #35541
  • Add has method to ComponentAttributeBag in #35562
  • Add ScheduleListCommand and ScheduleTestCommand in #35574 and #35573

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

More Shift tweaks last week. Particularly to the separation of old factories and migration to class-based factories in Laravel 8. There were lots of syntactical edge-cases and overlapping method names, but most of those have been resolved now.

I also added a new task to the Shift Workbench for syncing config files. As the config files are always changing (even in minor releases), this is a nice way to automatically compare and merge yours with the defaults for your Laravel version. I used it few times myself and it picked up several new options and ENV variables.

This week I'm still working on the design facelift. I wanted to revisit the pricing section more, so it's taking a bit longer. Hopefully it will be done by the end of the year as I'm looking to focus on "expanding Shift" in 2021.

🔥 Tip

Before implementing the design facelift, I wanted to add some Dusk tests to the project. I don't typically write many Dusk tests, but in this case they make sense to verify behavior. In addition, having that full end-to-end, integration test for some of the mission critical functionality gives me extra confidence.

I set up the Dusk tests to run as part of my GitHub Actions. Doing so was pretty straightforward with the Laravel docs. What was not so straightforward is setting up the database.

So, for the hot tip, if you're setting up GitHub Actions to run against an actual database (which I recommend), be sure to either explicitly map the port or reference the randomly assigned port.