Laravel 10.15, weekly updates, and 🔥 tip

Laravel 10.15

It was a holiday last week, so no release. Today we have the release of Laravel 10.15.0 was tagged. Here are the highlights:

  • Add Collection::wrap to add method on BatchFake in #47589
  • Add toRawSql, dumpRawSql, and ddRawSql to query builders in #47507
  • Sub-minute scheduling in #47279
  • Add inline attachments support for "notifications" markdown mailables in #47643
  • Add assertions for counting outgoing mailables in #47655
  • Add getRawQueryLog to DB in #47623
  • Add isUrl to Str in #47688
  • Make Vite throw a new ManifestNotFoundException in #47681
  • Dispatch model pruning started and ended events in #47669
  • Update DatabaseRule to handle enums for simple WHERE clause in #47679
  • Add data_remove helper in #47618
  • Allow HTTP exceptions to be thrown from views in #47714

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

A few Human Shifts came in last week. One for adding tests to an existing Laravel 10.x application and another to update a Laravel 5.3 application to Laravel 10.x. I am working to complete those this week so I have next week open to enjoy Laracon.

To that point, last week was mostly working on my talk. A lot goes into a talk. Even a short 30 minute one. I'm probably close to 30 hours now and expect several more practicing until I'm on stage next Wednesday.

While working on my talk, I saw an opportunity to add a few more tests assertions to the MailFake. I think some of the other fakes could benefit from similar assertions. So I may add those after Laracon.

🔥 Tip

I'm going to give a whole talk on this, but for now, I'll simply say be explicit when writing tests. Make sure your tests verify the expected behavior of the underlying code. It should do what you want it to do, and only what you want it to do. Nothing more. Nothing less.