Laravel 10.40, weekly updates, and 🔥 tip
Laravel 10.40
Happy 2024 everyone! Today is the first release of the year bringing us to Laravel 10.40. Here are the highlights:
- Expand
Gate::allows
andGate::denies
in #49503 - Fixes the
Arr::dot()
to properly handle indexes array in #49507 - Improve numeric comparison for custom casts in #49504
- Add
Session::except()
in #49520 - Add
Number::clamp()
in #49512 - Make
ComponentAttributeBag
Arrayable in #49524 - Update
AsArrayObject
cast to useARRAY_AS_PROPS
flag in #49534 - Make the Schema Builder macroable in #49547
- Add
assertViewEmpty
in #49558 - Add
assertCount
toQueueFake
in #49609 - Add
Str::apa
for APA style title casing in #49572
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
The last few weeks have mostly been working on the side-project. While launched, I'm still quietly alpha testing it and working through the bugs and final tweaks. I hope to share the public beta next week.
I started this week off with the great Shifty Plan migration of 2024. Boy, what a headache. Despite my efforts to make this as transparent and as seamless as possible, there was still confusion and a few hiccups.
Changing prices, especially for a subscription, is challenging. Unfortunately Stripe adds a layer of complexity when the plan prices have different billing cycles. I also messed up the differences between active
, onGracePeriod
, and cancelled
methods in Cashier. Anyway, after a couple tough emails and several prorated refunds, I think it's settling down.
With the rest of the week and next I plan to get pretty serious on the Laravel 11.x Shift.
🔥 Tip
I think it's time for a .laravel
or laravel.json
project level config file.
Having such a file would not only remove the debate about defaults, but allow you to configure many artisan
command options. It could also store options for community packages and services.
Imagine just being able to run artisan make:model Post
and Laravel knows what you want to generate without passing a bunch of options, like -test
, --pest
, --api
.
I posted this on Twitter, so let me know if you like the idea.