Laravel 11.15, weekly updates, and 🔥 deals
Laravel 11.15
Couple new features this week brings us to Laravel 11.15.
- Add support for mime types in
resend
mail transport in #52006 - Enhance database migrations in #51373
- Allow
MultipleInstanceManager
to have studly creators in #52030 - Make
Router
tappable in #52051 - Prompt about view creation for
make:mail
in #52057
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
Not much last week since it was a long weekend and the girls were out of school Thursday and Friday.
I did a quick live stream toying around on a new Fake
object. I'm not exactly sure what it is yet. Maybe just a cleaner, more Laravel way to interact with Faker
. Still don't know the exact shape it will take. So I'm going to put in on the backburner for now.
With the time I did have, I published blog.laravelshift.com. This will be the new home for the old knowledge base articles I published (but never linked), as well as deeper dives into technical aspects of Shift. It's a way to share new features and add SEO content. So, if you were interested, check out my post on Handling customizations when upgrading Laravel config files
With this week, I'll do another live stream tomorrow to add some new MailFake
test assertions. I'm also improving some error handing for wppm.io. If I have time, I'm going to rerecord some of the Shift videos to reflect the latest site design and Laravel versions.
🔥 Tip
I always forget how to disable updating the timestamps when saving a model. It's not something I do often, but also there isn't a streamlined method for doing so like saveQuietly
(which disables model events).
Instead, and from the docs, you wrap your code in a callback and pass it to the static withoutTimestamps
method on the model.
For example, to disable updating the timestamps for a User
model when calling save
:
User::withoutTimestamps(fn () => $user->save());
And, from searching the internet, you may also simply set the public timestamps
property on your model to false
. For example:
$user->timestamps = false;$user->save();
That feels a bit hacky to me. Again, this isn't something I do often, but some kind of like saveQuietly
would be cool...
$user->saveWithoutTimestamps();