The essential news about content management systems and mobile technology. Powered by Perfect Publisher and XT Search for Algolia.
The News Site publishes posts to the following channels: Facebook, Instagram, Twitter, Telegram, Web Push, Bluesky, and Blogger.
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:
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 theroundrobin
transport driver class by only overriding the logic for selecting the next transport. But the use case is different for these two drivers. Thefailover
driver helps to achieve High availability androundrobin
helps to achieveload-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.
@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
}
}
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:
maxTries
for queued jobs by @mechelon in https://github.com/laravel/framework/pull/49473The post Laravel 10.39 with a round-robin mailer, dynamic max tries on queued jobs, and more appeared first on Laravel News.
Join the Laravel Newsletter to get all the latest Laravel articles like this directly in your inbox.
Read more https://laravel-news.com/laravel-10-39-0
With just one week left in 2023, time’s running out to lock in a 25% savings on making those New Year’s resolutions happen for your site in 2024. If you saw our last announcement, you’ll know that we’re offering 25% off all annual paid plans until the end of year. So now’s the time—as soon as the clock strikes midnight on January 1st, this deal will be as done as 2023.
Whether you’re starting your first blog or launching an ecommerce empire, there’s a plan that will help you make it happen. Our upgraded plans are designed to help you take your site to the next level, opening up features that let you:
Need a little inspiration for that resolution? How about:
Wherever you want to take your site in 2024, we want to help you get there, and save some cash along the way. Lock in your savings now before this deal expires on December 31st.
Save 25% todayWe’d love to hear what you have planned for 2024 in the comments below.
Read more https://wordpress.com/blog/2023/12/27/resolutions-sale/
Laravel Octane v2.2.6 was released yesterday with support for using aarch64 builds of FrankenPHP. This means you can use FrankenPHP's Octane integration on arm64 or Apple Silicon via Laravel Sail:
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>Octane v2.2.6 has just been released, featuring support for the new Linux ARM builds from FrankenPHP. This means you can now enjoy @laravelphp Octane's FrankenPHP integration on servers like Hetzner arm64 or on your Apple Silicon laptop through Laravel Sail. Enjoy! ⛽️ pic.twitter.com/kTwGyMrfGY
— Nuno Maduro (@enunomaduro) December 26, 2023
The Octane documentation was also updated with instructions on using FrankenPHP via Laravel Sail. Please note, that once you follow the instructions to update Laravel Sail's Supervisor configuration, you will need to rebuild your application image to start using FrankenPHP with Sail:
./vendor/bin/sail build --no-cache
FrankenPHP now supports Linux (x86_64 and aarch64) and macOS buils, and other systems should use Docker images or compile FrankenPHP manually. Octane will determine the server architecture needed to run Octane with FrankenPHP binaries, thanks to a contribution by @foremtehan to support the new aarch64 builds in Pull Request #793.
The post Octane Now Supports FrankenPHP Linux ARM Builds appeared first on Laravel News.
Join the Laravel Newsletter to get all the latest Laravel articles like this directly in your inbox.
Read more https://laravel-news.com/octane-now-supports-frankenphp-linux-arm-builds
This year is coming to a close and to celebrate I put together this post of all the greatest hits each month. This features cool packages, news, and tutorials that came out over the year.
2024 is going to be exciting with the release of Laravel 11, and all the tutorials and packages that are sure to follow. A huge thanks to the community for sharing in 2023.
The post 90 Laravel Tutorials, Packages, and Resources from 2023 appeared first on Laravel News.
Join the Laravel Newsletter to get all the latest Laravel articles like this directly in your inbox.
Read more https://laravel-news.com/2023-wrapped
Spatie released the next major version (v3) of their popular spatie/image package, which also powers their laravel-medialibrary package. If you're looking for an image maniuplation library without any dependencies, you should check out this version.
The latest version of the image package is a major overhaul of the internals of the library, yet the public API hasn't changed much. This version doesn't depend on the PHP intervention package; the only dependencies are the Imagick or GD extensions.
Here's an example of the fluent API you can use to manipulate and image and save an updated version:
Image::load('example.jpg')
->sepia()
->blur(50)
->save();
If you're not familiar with Spatie's Image package, it provides a fluent API for the following image manipulations:
Take a look at this example of how you can easily optimize an image with this package:
Image::load('example.jpg')
->optimize()
->save('example-optimized.jpg');
That's a simple example, but you can customize the optimization process with more advanced options:
Image::load('example.jpg')
->optimize([Jpegoptim::class => [
'--all-progressive',
]])
->save();
The easiest way to get started with this package is to read the documentation. You can also use this package in your Laravel applications via the popular laravel-medialibrary.
If you'd like to get more of a behind-the-scenes look at the Spatie Image package update, read Freek Van der Herten's detailed writeup: New major versions for spatie/image and Laravel Media Library have been released.
The post New Major Versions of Spatie Image and Laravel Media Library Released appeared first on Laravel News.
Join the Laravel Newsletter to get all the latest Laravel articles like this directly in your inbox.
Read more https://laravel-news.com/spatie-image-v3