Laravel 9.38, weekly updates, and 🔥 tip

Laravel 9.38

A few fixes and new features this week brings us to Laravel 9.38. Here are the highlights:

  • Add dictionary to slug in #44730
  • Throw exception when broadcast connection not configured in #44745
  • Add nonce for preloaded assets in #44747
  • Add touchQuietly convenience method in #44722
  • Ability to set middleware based on notifiable instance and channel in #44767
  • Add method to remove a middleware from a group in #44780
  • Allow queueable notifications to set maxExceptions in #44773
  • Isolate migrate command in #44743
  • Inherit crossorigin attributes while preloading in #44800

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 recorded the final live stream in my Hacktober series. I still need to merge the feature I was working on. There's a few failing tests to get passing first. Hopefully I'll get that done next week.

I also had a flood of additional Human Shifts come in. I'm still working on the one from Laravel 4.2. Now I have one from Laravel 5.0, 5.5, and 5.7. So that will take the rest of this week and probably most of next week.

I'm wrapping up my solo season of The BaseCode Podcast talking about Shift. This morning I released another episode where I review some of the things that haven't really worked out for Shift over the years.

Later this week I'm actually heading to LonghornPHP. I'm speaking Friday about creating CI workflows with GitHub Actions. I'll also be eating my weight in BBQ. So the opposite of Adam Wathan, I will probably be gaining 5 pounds.

🔥 Tip

Nuno worked on a PR which was unfortunately closed. He proposed a simpler syntax to return responses.

For example:

return response()->ok();

I like this a lot. Very expressive. Very streamlined.

But as noted in the comments, there's already a pretty streamlined way to return empty responses - noContent. While the name would imply a 204 status code, you may pass any status you want.

So, while not as expressive as ok, this is currently available:

return response()->noContent(200);