News

Laravel 11.27 Released

Published
Laravel 11.27 Released image

Release updates

Never miss a Laravel release

Get an email whenever a new Laravel release lands.

This week, the Laravel team released v11.27, with a configurable default currency in the Number helper, a Str::doesntContain() method, Schema::hasTable() performance improvements, and more.

Globally Change the Default Currency of the Number Helper

Ryan Holton contributed a configurable default currency setting for the Number helper. The USD currency setting is still the default, but now you can define a different default without using the in argument to override:

use Illuminate\Support\Number;
 
// Set the default currency
Number::useCurrency('EUR');
 
$currency = Number::currency(1000);
// €1,000.00
 
$currency = Number::currency(1000, in: 'USD');
// $1,000.00
 
// Some code that uses USD and defaults back to EUR after
Number::withCurrency('USD', function () {
//
});

You can see the example output with this Tinkerwell session:

String doesntContain() method

Ryan Holton contributed a doesntContain() method to the Str helper, which is the inverse of the contains() method:

use Illuminate\Support\Str;
 
$str = 'My favorite food is Pizza';
 
Str::doesntContain($str, 'Steak'); // true
Str::doesntContain($str, 'Pizza'); // false
Str::doesntContain($str, ['Steak', 'Spaghetti']); // true
Str::doesntContain($str, ["Steak", "Spaghetti", "Pizza"]); // false

You can see the example output with this Tinkerwell session:

Improve Schema::hasTable() Performance

Hafez Divandari contributed a performance update to the Schema::hasTable() method:

The Schema::hasTable() method is using the Schema::getTable() method internally, which could sometimes result in an expensive query. This PR improves the performance of Schema::hasTable() by using more lightweight queries.

Add Extension Support to Str::inlineMarkdown()

Ryan Chandler added markdown extension support to the Str::inlineMarkdown() and str()->inlineMarkdown() methods, matching the update in Laravel 11.14 to add extension support to the markdown() method.

HTTP Kernel Methods to Append Middleware Relative to Other Middleware

Ollie Read contributed an update to the HTTP Kernel that allows programmatic insertion of the middleware in relation to existing middleware in the priority stack. Specifically, it introduces two new public methods:

  • addToMiddlewarePriorityAfter(): inserts middleware after specified middleware.
  • addToMiddlewarePriorityBefore(): inserts middleware before specified middleware.

These changes make it easier for package developers to manage middleware priority without requiring user intervention.

Here are two examples from the pull request description:

$kernel->addToMiddlewarePriorityAfter(
\Illuminate\Routing\Middleware\ValidateSignature::class,
[
\Illuminate\Cookie\Middleware\EncryptCookies::class,
\Illuminate\Contracts\Auth\Middleware\AuthenticatesRequests::class,
],
);
 
$kernel->addToMiddlewarePriorityBefore(
\Illuminate\Routing\Middleware\ValidateSignature::class,
[
\Illuminate\Cookie\Middleware\EncryptCookies::class,
\Illuminate\Contracts\Auth\Middleware\AuthenticatesRequests::class,
],
);

Release notes

You can see the complete list of new features and updates below and the diff between 11.26.0 and 11.27.1 on GitHub. The following release notes are directly from the changelog:

v11.27.1

v11.27.0

Paul Redmond photo

Staff writer at Laravel News. Full stack web developer and author.

Sponsored

masteringlaravel logo
Laravel Code Review

Get expert guidance in a few days with a Laravel code review

Visit Laravel Code Review

The latest

View all →
CPX: The Composer Package Executor for PHP image

CPX: The Composer Package Executor for PHP

Read article
Laravel AI SDK Adds Human-in-the-Loop Tool Approval image

Laravel AI SDK Adds Human-in-the-Loop Tool Approval

Read article
Pest 5 Released With Test Impact Analysis, Agent Verification, and Evals image

Pest 5 Released With Test Impact Analysis, Agent Verification, and Evals

Read article
Queue-SQL: Run Mass Deletes and Updates Across Parallel Queue Jobs image

Queue-SQL: Run Mass Deletes and Updates Across Parallel Queue Jobs

Read article
Blade Formatting in Laravel Pint image

Blade Formatting in Laravel Pint

Read article
Inertia DevTools Is Now on the Chrome Web Store image

Inertia DevTools Is Now on the Chrome Web Store

Read article