News

Laravel 10.39 with a round-robin mailer, dynamic max tries on queued jobs, and more

Published
Laravel 10.39 with a round-robin mailer, dynamic max tries on queued jobs, and more image

Release updates

Never miss a Laravel release

Get an email whenever a new Laravel release lands.

This week, the Laravel team released v10.39 with a round-robin mailer, dynamic max tries on queued jobs, and more. Here is a bit more info about the new features introduced in Laravel v10.39 this week:

Round-robin Mailer

Ahmed shamim contributed a new round-robin mailer transport driver that distributes the mailing workload across multiple transports:

Basically, failover transport driver is extended from the roundrobin transport driver class by only overriding the logic for selecting the next transport. But the use case is different for these two drivers. The failover driver helps to achieve High availability and roundrobin helps to achieve load-balancing.

Here's what the application configuration update looks like in your Laravel application's confi/mail.php file:

'roundrobin' => [
'transport' => 'roundrobin',
'mailers' => [
'ses',
'postmark',
],
],

This feature is documented in the official Mail documentation round robin configuration. Finally, you can learn more in Symfony's Mailer load balancing documentation and Pull Request #49435.

Dynamic Max Tries on Queued Jobs

@Di contributed the ability to define a dynamic maxTries for a queued job, similar to backoff(). Previously, you could define a dynamic value via the $tries property (which still takes precedence), but now you can define the method on your job:

class TestJob implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
 
// If the property is still defined, it precedes over the tries() method,
// providing the same behavior as the backoff definition
public $tries = 3;
 
public function tries(): int
{
return config('test_job.retries'); // Example: Get the number of tries from config
}
}

Release notes

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

v10.39.0

Paul Redmond photo

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

Sponsored

tinkerwell logo
Tinkerwell

Enjoy coding and debugging in an editor designed for fast feedback and quick iterations. It's like a shell for your application – but with multi-line editing, code completion, and more.

Visit Tinkerwell

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