Laravel 11.22, weekly updates, and 🔥 deals

Laravel 11.22

Lots this week since there was no release last week with Laracon US. Here are the highlights for Laravel 11.22:

  • Unify Vite::prefetch() in #52550
  • Eloquent inverse relations in #51582
  • Support CSP nonce in #52558
  • Allow enums to be passed to routes in #52561
  • Allow prefetch to start on custom event in #52574
  • Accepts BackedEnum for queue names and connections in #52604

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

I was also out last week for Laravel US. It was great to be an attendee. It gave me more time to enjoy the speakers and mingle. I love interacting with the community. So thanks for all those that came up to me to say "hi" or share their love for Shift.

Normally I just stay at the conference hotel. But this time I stayed with some fellow Laravel developers at a nice AirBnB - which let us geek out at the end of the night with some poolside chats. Great fun and, for me, much better than going back to my hotel room.

I had several Human Shifts to catch up on. So I did some work over the weekend and yesterday. I hope to get all those in review by end of week. I also returned to my side-project with Caen. He made some excellent progress while I was at Laracon. So we're reconnecting this week for pairing. I'm optimistic we might have the MVP in a few weeks.

Simon Hamp was one of the fellow Laravel developers I stayed with, so we discussed his OG image creator. I think we're going to pair up to see if we can give that a bit of a smoother customization experience out-of-the-box. Mainly because I still need to finish my OG image for the Shift Blog.

Other than that, I hope to finish up those Human Shifts and keep working on the side-projects during this quiet period for Shift.

🔥 Tip

I noticed CI was failing for laravelshift.com. In fairness, Dusk has always been a bit flaky. Like any developer, I started ignoring its failures. However, I decided yesterday it was time to get it green again.

After an hour of hacking, I determined the issue. I use GitHub Actions for my CI. Specifically, the workflows are using ubuntu-latest. It seems when the image changed (not the Ubuntu version), the underlying Chrome driver bumped from version 126 to 128.

I tried setting the version back to 126 via the dusk:chrome-driver. Although it reported setting it to that version, Dusk still failed. I looked into locking the Ubuntu image, but since it was not a version change, I didn't see a way to set the specific image.

Finally, I added a run step to output the vendor/laravel/dusk/bin directory and realized two things. First, the executable was not named chromedriver-linux, but chromedriver underneath a chromedriver-linux64/. Second, it did not have executable permissions.

So, I copied it to the expected location and added executable permissions (chmod 755). Upon doing so, Dusk ran and all my Dusk tests passed (as they did back in July).

Now, I have no idea if this is best. So if you have a better understand, please let me know. Otherwise, if you're running Dusk within your GitHub Actions, maybe this will save you some time.