Команда Laravel цього тижня випустила версію 12.41, яка включає оновлений сучасний шаблон електронних листів, нові допоміжні функції для тривалості в мілісекундах, тижнях та місяцях, команду перезавантаження для сервісів під час розгортання та інші нововведення.
Тейлор Отвелл оновив стандартний шаблон електронної пошти Laravel на більш сучасний варіант:

Деталі реалізації можна знайти у Pull Request #57987.
Сандер Мулер додав допоміжні функції для milliseconds(), weeks() та months(), продовжуючи впровадження таких функцій з версії Laravel 12.40:
use function Illuminate\Support\{seconds, minutes, hours, days, years, milliseconds, weeks, months};
milliseconds(10);
weeks(4);
months(72);
// повертає Carbon\CarbonInterval
// Існуючі допоміжні функції тривалості, випущені в Laravel 12.40
seconds(5);
minutes(5);
hours(1);
days(30);
years(1);
Кас Ебберс додав метод throwUnless() до класу Response HTTP-клієнта:
use Illuminate\Http\Client\Response;
// Викидає виключення, якщо сталася помилка і умова є хибною...
$response->throwUnless($condition);
// Викидає виключення, якщо сталася помилка і заданий замикання повертає хибне значення...
$response->throwUnless(fn (Response $response) => false);
Метод throwUnless() раніше вже був задокументований, але реалізований лише в PendingRequest. Дивіться Pull Request #57951 для деталей.
Баррі ван Хевель представив команду reload Artisan та можливість для провайдерів сервісів додавати свої команди. Це дозволяє сервісам мати єдину команду, яка реалізує етапи розгортання після завершення роботи:
public function boot()
{
$this->reloads('reverb:restart');
}
Деталі можна знайти в Pull Request #57923.
Повний список нових функцій та оновлень можна переглянути нижче, а також різницю між 12.40.0 та 12.41.0 на GitHub. Наступні примітки до випуску є безпосередньо з змін:
throwUnless() до Illuminate\Http\Client\Response від @CasEbb в https://github.com/laravel/framework/pull/57951HasAttributes::addDateAttributesToArray() при UPDATED_AT = null та моделі, що намагається перетворити в масив від @crynobone в https://github.com/laravel/framework/pull/57945PendingRequest@send() за рахунок раннього повернення від @cosmastech в https://github.com/laravel/framework/pull/57943-, замість _ від @crynobone в https://github.com/laravel/framework/pull/57927LoggerInterface при створенні екземпляра RoundrobinTransport від @jnoordsij в https://github.com/laravel/framework/pull/57956FluentPromise для забезпечення чистішого монтажу в Pool від @cosmastech в https://github.com/laravel/framework/pull/57967lazy та proxy об'єктів від @timacdonald в https://github.com/laravel/framework/pull/57831pretend() від @xurshudyan в https://github.com/laravel/framework/pull/57968offsetExists() від @xurshudyan в https://github.com/laravel/framework/pull/57970milliseconds, weeks та months до Illuminate\Support від @SanderMuller в https://github.com/laravel/framework/pull/57997