Laravel 10.35 Released
Published on by Paul Redmond
The Laravel team released v10.35 with a Blade @use
directive, a number abbreviation helper, the ability to generate a secret with artisan down
, and more. Here is a bit more info about the new features introduced this week:
@use()
directive
Add a Blade Simon Hamp contributed a @use()
directive to import a PHP class into a Blade template without using raw PHP tags:
{{-- Before --}}@phpuse \App\Enums\WidgetStatusEnum as Status;@endphp {{-- After --}}@use('App\Enums\WidgetStatusEnum', 'Status')@use('App\Models\Bar') {{ Status::Foo }}{{ Bar::first() }}
Number::abbreviate()
method
Abbreviate a number with the @jcsoriano contributed a Number::abbreviate()
class to the newly added Number Class, which provides a human-readable abbreviated number:
Number::abbreviate(1_000_000); // "1M"Number::abbreviate(100_001); // "100K"Number::abbreviate(100_100); // "100K"Number::abbreviate(99_999); // "100K"Number::abbreviate(99_499); // "99K"
--with-secret
option to the artisan down
command
Add the Jacob Daniel Prunkl contributed a --with-secret
option to the artisan down
command that will generate a secret phrase that can be used to bypass maintenance mode so the user doesn't have to define one themselves:
Conditionable
trait to the AssertableJson
class
Add Khalil Laleh contributed adding the Conditionable
trait to the AssertableJson
class, to make it possible to assert based on a given conditional:
// Before$response->assertJson(function (AssertableJson $json) use ($condition) { $json->has('data'); if ($condition) { $json->has('meta'); } $json->etc();}); // After$response ->assertJson(fn (AssertableJson $json) => $json->has('data')) ->when($condition, fn (AssertableJson $json) => $json->has('meta')) // ...;
Release notes
You can see the complete list of new features and updates below and the diff between 10.34.0 and 10.35.0 on GitHub. The following release notes are directly from the changelog:
v10.35.0
- [10.x] Add
Conditionable
trait toAssertableJson
by @khalilst in https://github.com/laravel/framework/pull/49172 - [10.x] Add
--with-secret
option to Artisandown
command. by @jj15asmr in https://github.com/laravel/framework/pull/49171 - [10.x] Add support for
Number::summarize
by @jcsoriano in https://github.com/laravel/framework/pull/49197 - [10.x] Add Blade @use directive by @simonhamp in https://github.com/laravel/framework/pull/49179
- [10.x] Fixes retrying failed jobs causes PHP memory exhaustion errors when dealing with thousands of failed jobs by @crynobone in https://github.com/laravel/framework/pull/49186
- [10.x] Add "substituteImplicitBindingsUsing" method to router by @calebporzio in https://github.com/laravel/framework/pull/49200
- [10.x] Cookies Having Independent Partitioned State (CHIPS) by @fabricecw in https://github.com/laravel/framework/pull/48745
- [10.x] Update InteractsWithDictionary.php to use base InvalidArgumentException by @Grldk in https://github.com/laravel/framework/pull/49209
- [10.x] Fix docblock for wasRecentlyCreated by @stancl in https://github.com/laravel/framework/pull/49208
- [10.x] Fix loss of attributes after calling child component by @rojtjo in https://github.com/laravel/framework/pull/49216
- [10.x] Fix typo in PHPDoc comment by @caendesilva in https://github.com/laravel/framework/pull/49234
- [10.x] Determine if the given view exists. by @hafezdivandari in https://github.com/laravel/framework/pull/49231