Laravel 11.29, weekly updates, and 🔥 tip

Laravel 11.29

Mostly fixes in this week's minor release of Laravel 11.29, with a few additions of note.

  • Allow list of rate limiters without requiring unique keys in #53177
  • Add directive @bool to Blade in #53179
  • Add getConnection to Factory in #53237
  • Add waitUntil to Process in #53236
  • Add Http method to determine stray request prevention state in #53232

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

Still catching up on all the things from traveling at the beginning of the month.

Last week, Caen and I gave our side-project some final UI polish. We just had a very basic Tailwind UI form that we were using while we focused on the functionality. Now that the MVP is in a good place, it's time to revisit it and the Livewire performance.

JT and I actually pivoted to a new side-project. Something quick that relates to all this WP drama. It has use cases well outside of WordPress. But that's the immediate opportunity. We got the MVP built last week. This week we're adding one more feature and copy for the landing page.

Similarly, Joey and I are making some adjustments to include publishing themes via WPPM. We had always planned on including themes. But with more and more devs getting booted off wordpress.org, again, seemed like an opportunity.

Between that, I had some Human Shifts to upgrade two Laravel 10 applications to Laravel 11. Those are mostly done. I just need to determine the path I want to take for replacing an old Postgres GIS package.

🔥 Tip

I found myself using yet another native PHP function in all the side-projects I mentioned above - parse_url.

It takes a string and returns an array of named elements for the scheme, host, port, path, query, fragment, and more.

I had no idea the stuff after the # in a URL is called fragment. Anyway, you can get all this as an array, or pass a second argument to get a specific item as a string.

parse_url('https://shiftybits.news/update-laravel-11-29/');
// ['scheme' => 'https', 'host' => 'shiftybits.news', ...]
 
parse_url('https://shiftybits.news/update-laravel-11-29/', PHP_URL_PATH);
// /update-laravel-11-29