Laravel 12.20, weekly updates, and weekly tip

Laravel 12.20

With no releases the last 3 week, Laravel 12.20.0 is full of stuff. Here are the highlights.

  • Display job queue names when running queue:work with --verbose in #56086
  • Allow Uri to be JsonSerializable in #56097
  • Add --model and --except options to model:prune in #56140
  • Add fakeFor() and fakeExceptFor() to Queue facade in #56149
  • Add doesntStartWith() and doesntEndWith() to Str in #56168
  • Add remember* methods to Context in #56156
  • Add collection*() to Config facade in #56200
  • Improve Mailable assertion error messages in #56221
  • Add @​context Blade directive in #56146

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 mostly worked on the Human Shifts. In between, I updated the Legacy Shifty Plan. It is supposed to include the 5 most recent Laravel version. But I hadn't rotated it in a while. So it went all the way back to Laravel 6.x. Making it an incredible deal.

I rotated the Shifts included and built in some grandfathering. Anyone who subscribed to a Legacy Plan will still be able to run older Shifts until their next billing cycle. Otherwise, the site has been updated to reflect the Shifts currently included. Still a good deal. But now I'm no longer giving Shifts away.

Other than support emails, I took the holiday weekend off. Mostly to drink Budweiser out of an American flag can and blow stuff up. Happy Birthday America!

Anyway, yesterday I worked to set up Amazon SES. I decided to go directly with them for my email sender. I'm waiting on AWS to increase my daily quota. While it should be enough to send emails from the application, it won't be enough to send my weekly summaries.

Weekly Tip

I finished up my latest Creator Series last week. In doing so, I was reminded of something from BaseCode.

Writing human readable code does not mean the code has to be simple. Writing readable code is not about coding for the lowest common developer. So long as the code communicates, it's okay to promote advancement.

Said another way, you don't want to read the code and think, "WTF! Why did they write the code this way?" But it's ok to think, "Huh, what does this do?"