> ## Documentation Index
> Fetch the complete documentation index at: https://kawax.biz/llms.txt
> Use this file to discover all available pages before exploring further.

# April 2026 Laravel Updates

> Laravel ecosystem updates for April 2026, including passkeys, debounceable jobs, MCP UI apps, and Redis Cluster support.

In April 2026, full-stack passwordless authentication became a first-party Laravel feature. The ecosystem also gained debounceable jobs, MCP UI apps, and several practical framework improvements.

Source: [Laravel April Product Updates](https://laravel.com/blog/laravel-april-product-updates)

***

## Laravel Framework

### Debounceable queued jobs

The `#[DebounceFor]` attribute combines repeated dispatches during a time window and runs only the final one. It provides a clean solution for bursty workloads.

```php theme={null}
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Queue\Attributes\DebounceFor;

#[DebounceFor(30)]
class RebuildSearchIndex implements ShouldQueue
{
    // Ten updates within 30 seconds trigger one rebuild.
}

RebuildSearchIndex::dispatch()->debounceFor(seconds: 30);
```

<Info>
  Debounced jobs dispatch a `JobDebounced` event, allowing you to observe skipped jobs.
</Info>

### JSON health route responses

The built-in `/up` health route now returns JSON for JSON requests, making it easier to integrate with load balancers, uptime monitors, and orchestrators.

```json theme={null}
{ "status": "Application is up" }
```

### JsonFormatter

`JsonFormatter` ensures that data returned by custom exception `context()` methods is recorded in structured logs, including context from previous exceptions in the chain.

```php theme={null}
'formatter' => Illuminate\Log\Formatters\JsonFormatter::class,
```

### prefersJsonResponses()

API applications can add one line to `bootstrap/app.php` to treat broad `Accept` headers as JSON and serialize authentication, validation, and exception responses appropriately.

```php theme={null}
return Application::configure(basePath: dirname(__DIR__))
    ->withRouting(...)
    ->prefersJsonResponses()
    ->create();
```

### Cloudflare Email Service

Cloudflare Email Service is now officially supported as a Laravel mailer.

```php theme={null}
'cloudflare' => [
    'account_id' => env('CLOUDFLARE_ACCOUNT_ID'),
    'token' => env('CLOUDFLARE_TOKEN'),
],
```

### Full Redis Cluster support

Laravel queues and `ConcurrencyLimiter` now detect Redis Cluster connections and wrap queue names in hash tags, preventing CROSSSLOT errors on services such as AWS ElastiCache Serverless.

```text theme={null}
queues:{default}
queues:{default}:delayed
queues:{default}:reserved
```

### Queue job inspection

Three methods let you inspect queued jobs without querying the database directly.

```php theme={null}
Queue::pendingJobs();
Queue::delayedJobs();
Queue::reservedJobs();

Queue::reservedJobs('high-priority')->first()->name;
```

### Form Request strict mode

Strict mode rejects incoming fields that are not declared in a Form Request's `rules()` method.

```php theme={null}
public function boot(): void
{
    FormRequest::failOnUnknownFields(! app()->isProduction());
}
```

***

## Passkeys

Passwordless authentication is now available across the first-party stack:

* **`laravel/passkeys`:** migrations, authentication and credential routes, WebAuthn actions, and events
* **`@laravel/passkeys`:** React, Vue, and Svelte helpers for browser WebAuthn ceremonies
* **Fortify integration:** enable shared endpoints and contracts with `Features::passkeys()`

```php theme={null}
'features' => [
    Features::passkeys(),
],
```

***

## MCP UI app support

MCP tools can now render fully sandboxed HTML applications in an iframe instead of returning text only.

```bash theme={null}
php artisan make:mcp-app-resource DashboardApp
```

```php theme={null}
class DashboardApp extends AppResource
{
    #[RendersApp]
    public function handle(Request $request): Response
    {
        return Response::view('mcp.dashboard-app', ['title' => 'Dashboard']);
    }
}
```

***

## Inertia and ecosystem

* **`useHttp` hook:** adds `onHttpException` and `onNetworkError` callbacks
* **Laravel Echo Svelte 5 adapter:** provides real-time features through the `useEcho` rune
* **Dusk:** adds `clickOnceEnabled()` and `clickOnceVisible()` to reduce flaky tests
* **Horizon:** supports Redis Cluster and AWS ElastiCache Serverless
* **VS Code extension:** supports completion, hover information, and navigation for Laravel 13 attributes

***

## Laravel Cloud and Laravel Forge

| Product           | Key updates                                                                                     |
| ----------------- | ----------------------------------------------------------------------------------------------- |
| **Laravel Cloud** | Fully responsive mobile UI and enhanced edge-network reporting, firewall rules, and cache rules |
| **Laravel Forge** | PHP 8.5, multiple SSL servers, and certificate renewal alerts                                   |
