Newslurp

<< Stories

#77 - Rotating Laravel’s APP_KEY 🔄, The Real Risks of Relying on AI to Speed Up CodingNext 🤖, Understanding FrankenPHP 🧟, Request Mirror 📦

The Laralist <hello@thelaralist.com>

September 28, 10:31 am

#77 - Rotating Laravel’s APP_KEY 🔄, The Real Risks of Relying on AI to Speed Up CodingNext 🤖, Understanding FrankenPHP 🧟, Request Mirror 📦
Changing the APP_KEY isn’t as simple as running php artisan key:generate. To rotate it safely, you need to generate a new key, re-encrypt data, clear caches, and redeploy carefully. The guide includes a practical script to help automate the process without downtime or data loss.
The Laralist
#77 - 28th of September, 2025
🧱
Laravel

Discover how to use inline anonymous classes to extend or adjust external classes for your logic, avoiding the question of where such small, custom classes should live in your Laravel project.

Changing the APP_KEY isn’t as simple as running php artisan key:generate. To rotate it safely, you need to generate a new key, re-encrypt data, clear caches, and redeploy carefully. The guide includes a practical script to help automate the process without downtime or data loss.

Laravel v12.31, this is a small release, enhances number-parsing helpers to return false, adds support for custom connections in RedisTaggedCache.flush(), and updates the exception renderer with a light–dark scheme.

💡
Tip of the Week

The HTTP client provides intuitive and flexible timeout configurations. You can specify timeouts in a readable format and adjust them for different network conditions or endpoints.

use Illuminate\Support\Facades\Http;

// Set the maximum number of seconds to wait for a response.
$response = Http::timeout(5)->get('https://api.example.com/data');

// Set the maximum number of seconds to wait while trying to connect to a server.
$response = Http::connectTimeout(3)->get('https://api.example.com/data');
🐘
PHP

PHP is revisiting a built-in clamp() with a new RFC. It would provide a native way to constrain a number within a given range clamp(num, min, max), replacing slower or inconsistent userland implementations.

FrankenPHP introduces a new PHP execution model with persistent workers, reducing bootstrapping overhead for higher performance. But this persistence introduces challenges: leaked global state, stricter threading requirements, and the need for careful state cleanup.

📦
Package of the Week

A free micro-service to reflect and inspect HTTP requests for easier webhook and API development. It provides custom endpoints where you can inspect headers or payloads between other tools, helping you validate and troubleshoot integrations without touching production endpoints.

it('can send a notification when the site is down', function () {
   performUptimeCheck('https://request-mirror.ohdear.app/status/500');
    
   Notification::assertSent(UptimeCheckFailedNotification::class);
});

More details in this article from the Oh Dear team.

Misc

AI tools can speed up coding, but relying on them too heavily can backfire. They risk turning design discussions into implementation details, encourage over-engineered solutions, and make code reviews less effective. The real challenge is balancing speed with thoughtful engineering practices.

Leading package registries, including Composer and Maven Central, are raising concerns about the sustainability of open-source infrastructure. Packagist highlights the strain from automated traffic and calls on organizations to contribute through funding, improved caching, and reducing unnecessary requests to keep services reliable for developers.

We value your thoughts and feedback. Feel free to hit reply and share your ideas with us.
If you find our content helpful, please consider forwarding it or sharing it with your friends and colleagues.
Thank you for reading,
Mario & Javi
If you prefer not to receive future editions of The Laralist, please unsubscribe.