Updates im Laravel-Ökosystem im Mai 2026. @fonts-Blade-Direktive, Interruptible Jobs, Subagent-Unterstützung, Scale-to-Zero in Cloud u. v. m.
Seite vorlesenetwa 3 Min.
Im Mai 2026 erschienen praxisorientierte Großaktualisierungen wie Full-Stack Scale-to-Zero und Managed Queues in Laravel Cloud, Font-Optimierung und Multi-Agent-Pipelines.Quelle: Laravel May Product Updates
Die neue Direktive @fonts verarbeitet die zum Laden von Webfonts benötigten <link rel="preload">-Tags, @font-face-Styles und HTTP/2-Push-Header vollständig automatisch. Sie liest das vom Vite-Font-Plugin erzeugte Font-Manifest ein und injiziert die notwendigen Elemente in einem Zug.
{{-- Alle Fonts laden --}}@fonts{{-- Nur bestimmte Font-Families --}}@fonts(["sans", "mono"])
Mit @fonts lassen sich pro Seite nur die tatsächlich benötigten Fonts steuern, sodass unnötige Preloads vermieden und die Performance optimiert wird.
Über das neue Interface Interruptible können Jobs darauf reagieren, wenn während eines Deployments der Queue Worker ein SIGTERM erhält. Loop-Stopp, Freigabe von Locks oder Sichern des Zustands lassen sich vor dem Shutdown des Workers sicher durchführen.
use Illuminate\Contracts\Queue\Interruptible;use Illuminate\Contracts\Queue\ShouldQueue;class ProcessLargeReport implements ShouldQueue, Interruptible{ public function handle(): void { foreach ($this->getChunks() as $chunk) { if ($this->shouldInterrupt()) { $this->saveProgress(); return; } $this->processChunk($chunk); } }}
API-Routen liefern Fehler-Responses automatisch im JSON-Format zurück. Bisher konnten unter bestimmten Bedingungen auch HTML-Antworten kommen; für in api.php definierte Routen sind JSON-Responses nun garantiert.
Ein neuer storage-Cache-Store wurde ergänzt. Er nutzt das Dateisystem als Cache-Backend, kann dabei jedoch die Storage-Konfiguration von Laravel verwenden.
Wenn ein SQS-Payload zu groß ist (über 256 KB), lässt sich dieser nun optional auf Disk speichern. Nützlich beim Umgang mit großen Datenmengen in Queues.
Mit der Option --stop-when-empty stoppt der Worker automatisch, sobald die Queue leer ist. Nützlich in Batch-Verarbeitung und CI-Umgebungen, in denen der Worker beim Leerlaufen der Queue beendet werden soll.
Ein Laravel-KI-Agent kann nun an andere Agenten delegieren. Wird aus der Methode tools() ein beliebiger Agent zurückgegeben, ruft das LLM des Elternagenten diesen wie ein normales Tool auf. Da die Kontexte getrennt bleiben, mischen sich die Konversationsverläufe nicht.
class OrchestratorAgent extends Agent{ public function tools(): array { return [ new AnalysisAgent(), new WritingAgent(), new SearchTool(), ]; }}
Full-Stack Scale-to-Zero (Start unter 500 ms, 20-fach schneller), Managed Queues (Auto-Scaling-Worker, Dashboard für fehlgeschlagene Jobs), Ausgabelimits, aktualisierte Pläne (Starter-Plan für $5/Monat)
Laravel Forge
Managed MySQL 8.4 (Auto-Backups, Read Replicas, Alerts), PHP 8.5 als neuer Default, automatischer Neustart von Horizon bei Änderungen der env
Nightwatch
Der MCP-Server liefert Performance-Daten wie Routen-Ausführungszeit, Query-Zeit und Metriken zur Job-Ausführung
Zuletzt geändert am 13. Juli 2026
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Knowledge of Laravel","colors":{"primary":"#16A34A","light":"#07C983","dark":"#15803D"},"logo":{"light":"https://mintcdn.com/invokable/AuZ0xql2mAbUyZ99/logo/light.svg?fit=max\u0026auto=format\u0026n=AuZ0xql2mAbUyZ99\u0026q=85\u0026s=df0b7397202a6aa1c1f321620c5aa146","dark":"https://mintcdn.com/invokable/AuZ0xql2mAbUyZ99/logo/dark.svg?fit=max\u0026auto=format\u0026n=AuZ0xql2mAbUyZ99\u0026q=85\u0026s=a8a0340d86ff8aa90e9adfc98a0362d7","href":"/"},"favicon":"https://mintcdn.com/invokable/AuZ0xql2mAbUyZ99/favicon.svg?fit=max\u0026auto=format\u0026n=AuZ0xql2mAbUyZ99\u0026q=85\u0026s=8f5a03a681c95d31803fc237b5811065","api":{"playground":{"display":"simple"}},"navbar":{},"footer":{"socials":{"github":"https://github.com/invokable"}},"seo":{"metatags":{"canonical":"https://kawax.biz"},"indexing":"all"},"styling":{"eyebrows":"breadcrumbs","latex":true},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"interaction":{"drilldown":false},"metadata":{"timestamp":true},"navigation":{"languages":[{"language":"jp","default":true,"href":"jp/packages/laravel-boost-copilot-cli"},{"language":"en","href":"en/packages/laravel-boost-copilot-cli"},{"language":"de","href":"de/packages/laravel-boost-copilot-cli"},{"language":"es","href":"es/packages/laravel-boost-copilot-cli"},{"language":"fr","href":"fr/packages/laravel-boost-copilot-cli"},{"language":"it","href":"it/packages/laravel-boost-copilot-cli"},{"language":"ko","href":"ko/packages/laravel-boost-copilot-cli"},{"language":"nl","href":"nl/packages/laravel-boost-copilot-cli"},{"language":"zh-Hans","href":"zh-CN/packages/laravel-boost-copilot-cli"},{"language":"zh-Hant","href":"zh-TW/packages/laravel-boost-copilot-cli"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"invokable","hasAudioNarration":true,"actualSubdomain":"invokable","customDomains":["kawax.biz"],"gitSource":{"type":"github","owner":"kawax","repo":"mintlify-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af42a2cab2a2eaa872b2ff8","clientVersion":"0.0.4102","searchFilterCounts":[{"language":"en","tag":"My Packages","count":145},{"language":"jp","tag":"マイパッケージ","count":145},{"language":"de","tag":"Meine Pakete","count":100},{"language":"es","tag":"Mis paquetes","count":100},{"language":"fr","tag":"Mes packages","count":100},{"language":"it","tag":"I miei pacchetti","count":100},{"language":"ko","tag":"My 패키지","count":100},{"language":"nl","tag":"Mijn packages","count":100},{"language":"zh-Hans","tag":"我的包","count":100},{"language":"zh-Hant","tag":"我的套件","count":100},{"language":"de","tag":"Fortgeschrittene Themen","count":81},{"language":"en","tag":"Advanced Topics","count":81},{"language":"es","tag":"Temas avanzados","count":81},{"language":"fr","tag":"Sujets avancés","count":81},{"language":"it","tag":"Argomenti avanzati","count":81},{"language":"jp","tag":"応用トピック","count":81},{"language":"ko","tag":"심화 주제","count":81},{"language":"nl","tag":"Geavanceerde onderwerpen","count":81},{"language":"zh-Hans","tag":"进阶主题","count":81},{"language":"zh-Hant","tag":"進階主題","count":81},{"language":"en","tag":"VOICEVOX","count":67},{"language":"jp","tag":"VOICEVOX","count":67},{"language":"de","tag":"Leitfaden","count":61},{"language":"en","tag":"Guide","count":61},{"language":"es","tag":"Guía","count":61},{"language":"fr","tag":"Guide","count":61},{"language":"it","tag":"Guida","count":61},{"language":"jp","tag":"ガイド","count":61},{"language":"ko","tag":"가이드","count":61},{"language":"nl","tag":"Gids","count":61},{"language":"zh-Hans","tag":"指南","count":61},{"language":"zh-Hant","tag":"指南","count":61},{"language":"de","tag":"Blog","count":47},{"language":"en","tag":"Blog","count":47},{"language":"es","tag":"Blog","count":47},{"language":"fr","tag":"Blog","count":47},{"language":"it","tag":"Blog","count":47},{"language":"jp","tag":"ブログ","count":47},{"language":"ko","tag":"블로그","count":47},{"language":"nl","tag":"Blog","count":47},{"language":"zh-Hans","tag":"博客","count":47},{"language":"zh-Hant","tag":"部落格","count":47},{"language":"en","tag":"VOICEVOX Engine API Reference","count":45},{"language":"jp","tag":"VOICEVOXエンジンAPIリファレンス","count":45},{"language":"de","tag":"GitHub Copilot","count":43},{"language":"en","tag":"GitHub Copilot","count":43},{"language":"es","tag":"GitHub Copilot","count":43},{"language":"fr","tag":"GitHub Copilot","count":43},{"language":"it","tag":"GitHub Copilot","count":43},{"language":"jp","tag":"GitHub Copilot","count":43},{"language":"ko","tag":"GitHub Copilot","count":43},{"language":"nl","tag":"GitHub Copilot","count":43},{"language":"zh-Hans","tag":"GitHub Copilot","count":43},{"language":"zh-Hant","tag":"GitHub Copilot","count":43},{"language":"de","tag":"Paketentwicklung","count":42},{"language":"en","tag":"Package Development","count":42},{"language":"es","tag":"Desarrollo de paquetes","count":42},{"language":"fr","tag":"Développement de packages","count":42},{"language":"it","tag":"Sviluppo di pacchetti","count":42},{"language":"jp","tag":"パッケージ開発","count":42},{"language":"ko","tag":"패키지 개발","count":42},{"language":"nl","tag":"Package-ontwikkeling","count":42},{"language":"zh-Hans","tag":"包开发","count":42},{"language":"zh-Hant","tag":"套件開發","count":42},{"language":"de","tag":"GitHub Copilot SDK for Laravel","count":41},{"language":"en","tag":"GitHub Copilot SDK for Laravel","count":41},{"language":"es","tag":"GitHub Copilot SDK for Laravel","count":41},{"language":"fr","tag":"GitHub Copilot SDK for Laravel","count":41},{"language":"it","tag":"GitHub Copilot SDK for Laravel","count":41},{"language":"jp","tag":"GitHub Copilot SDK for Laravel","count":41},{"language":"ko","tag":"GitHub Copilot SDK for Laravel","count":41},{"language":"nl","tag":"GitHub Copilot SDK for Laravel","count":41},{"language":"zh-Hans","tag":"GitHub Copilot SDK for Laravel","count":41},{"language":"zh-Hant","tag":"GitHub Copilot SDK for Laravel","count":41},{"language":"de","tag":"Tutorial","count":35},{"language":"en","tag":"Tutorial","count":35},{"language":"es","tag":"Tutorial","count":35},{"language":"fr","tag":"Tutoriel","count":35},{"language":"it","tag":"Tutorial","count":35},{"language":"jp","tag":"チュートリアル","count":35},{"language":"ko","tag":"튜토리얼","count":35},{"language":"nl","tag":"Tutorial","count":35},{"language":"zh-Hans","tag":"教程","count":35},{"language":"zh-Hant","tag":"教學","count":35},{"language":"de","tag":"SDK","count":27},{"language":"es","tag":"SDK","count":27},{"language":"fr","tag":"SDK","count":27},{"language":"it","tag":"SDK","count":27},{"language":"ko","tag":"SDK","count":27},{"language":"nl","tag":"SDK","count":27},{"language":"zh-Hans","tag":"SDK","count":27},{"language":"zh-Hant","tag":"SDK","count":27},{"language":"de","tag":"VOICEVOX","count":22},{"language":"es","tag":"VOICEVOX","count":22},{"language":"fr","tag":"VOICEVOX","count":22},{"language":"it","tag":"VOICEVOX","count":22},{"language":"ko","tag":"VOICEVOX","count":22},{"language":"nl","tag":"VOICEVOX","count":22},{"language":"zh-Hans","tag":"VOICEVOX","count":22},{"language":"zh-Hant","tag":"VOICEVOX","count":22}],"searchSettings":{"isFiltersEnabled":false,"showContentSnippets":true,"fullPageSearch":true}},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"privacy":{"consentBanner":{"enabled":true}},"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"de/blog/changelog/202605","slug":"/de/blog/changelog/202605","pageMetadata":{"title":"Laravel-Updates Mai 2026","description":"Updates im Laravel-Ökosystem im Mai 2026. @fonts-Blade-Direktive, Interruptible Jobs, Subagent-Unterstützung, Scale-to-Zero in Cloud u. v. m.","sidebarTitle":"Mai 2026","href":"/de/blog/changelog/202605"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Updates im Laravel-Ökosystem im Mai 2026. @fonts-Blade-Direktive, Interruptible Jobs, Subagent-Unterstützung, Scale-to-Zero in Cloud u. v. m.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,hr:`hr`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Table,Tip}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Im Mai 2026 erschienen praxisorientierte Großaktualisierungen wie Full-Stack Scale-to-Zero und Managed Queues in Laravel Cloud, Font-Optimierung und Multi-Agent-Pipelines.`}),`\n`,_jsxs(_components.p,{children:[`Quelle: `,_jsx(_components.a,{href:`https://laravel.com/blog/laravel-may-product-updates`,children:`Laravel May Product Updates`})]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`laravel-framework`,children:`Laravel Framework`}),`\n`,_jsx(Heading,{level:`3`,id:`@fonts-blade-direktive`,children:`@fonts-Blade-Direktive`}),`\n`,_jsxs(_components.p,{children:[`Die neue Direktive `,_jsx(_components.code,{children:`@fonts`}),` verarbeitet die zum Laden von Webfonts benötigten `,_jsx(_components.code,{children:`\u003clink rel=\"preload\">`}),`-Tags, `,_jsx(_components.code,{children:`@font-face`}),`-Styles und HTTP/2-Push-Header vollständig automatisch. Sie liest das vom Vite-Font-Plugin erzeugte Font-Manifest ein und injiziert die notwendigen Elemente in einem Zug.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`5`,language:`blade`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`blade`,children:_jsxs(_components.code,{language:`blade`,numberOfLines:`5`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`{{-- Alle Fonts laden --}}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`@fonts`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`{{-- Nur bestimmte Font-Families --}}`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`@fonts`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`([`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"sans\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"mono\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`])`})]}),`\n`]})})}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`Mit `,_jsx(_components.code,{children:`@fonts`}),` lassen sich pro Seite nur die tatsächlich benötigten Fonts steuern, sodass unnötige Preloads vermieden und die Performance optimiert wird.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`interruptible-jobs-signal-fähige-jobs`,children:`Interruptible Jobs (Signal-fähige Jobs)`}),`\n`,_jsxs(_components.p,{children:[`Über das neue Interface `,_jsx(_components.code,{children:`Interruptible`}),` können Jobs darauf reagieren, wenn während eines Deployments der Queue Worker ein SIGTERM erhält. Loop-Stopp, Freigabe von Locks oder Sichern des Zustands lassen sich vor dem Shutdown des Workers sicher durchführen.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`16`,language:`php`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`php`,children:_jsxs(_components.code,{language:`php`,numberOfLines:`16`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`use`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` Illuminate\\\\Contracts\\\\Queue\\\\`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`Interruptible`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`use`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` Illuminate\\\\Contracts\\\\Queue\\\\`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`ShouldQueue`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`class`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` ProcessLargeReport`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` implements`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` ShouldQueue`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`Interruptible`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` public`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` function`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` handle`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`()`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` void`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` foreach`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`$this`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`->`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`getChunks`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`() `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`as`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` $chunk`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`$this`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`->`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`shouldInterrupt`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`()) {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` $this`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`->`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`saveProgress`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`();`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` return`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` $this`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`->`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`processChunk`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$chunk`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`json-exceptions-als-default-für-api-routen`,children:`JSON-Exceptions als Default für API-Routen`}),`\n`,_jsxs(_components.p,{children:[`API-Routen liefern Fehler-Responses automatisch im JSON-Format zurück. Bisher konnten unter bestimmten Bedingungen auch HTML-Antworten kommen; für in `,_jsx(_components.code,{children:`api.php`}),` definierte Routen sind JSON-Responses nun garantiert.`]}),`\n`,_jsx(Heading,{level:`3`,id:`storage-cache-store`,children:`Storage-Cache-Store`}),`\n`,_jsxs(_components.p,{children:[`Ein neuer `,_jsx(_components.code,{children:`storage`}),`-Cache-Store wurde ergänzt. Er nutzt das Dateisystem als Cache-Backend, kann dabei jedoch die Storage-Konfiguration von Laravel verwenden.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`8`,language:`php`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`php`,children:_jsxs(_components.code,{language:`php`,numberOfLines:`8`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// config/cache.php`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'stores'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =>`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'storage'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =>`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'driver'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =>`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'storage'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'disk'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =>`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'local'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'path'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =>`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'framework/cache'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`ablage-großer-sqs-payloads-auf-disk`,children:`Ablage großer SQS-Payloads auf Disk`}),`\n`,_jsx(_components.p,{children:`Wenn ein SQS-Payload zu groß ist (über 256 KB), lässt sich dieser nun optional auf Disk speichern. Nützlich beim Umgang mit großen Datenmengen in Queues.`}),`\n`,_jsx(Heading,{level:`3`,id:`umgebungsfilter-für-scheduled-commands`,children:`Umgebungsfilter für Scheduled Commands`}),`\n`,_jsxs(_components.p,{children:[`Der Befehl `,_jsx(_components.code,{children:`schedule:list`}),` erlaubt jetzt eine Filterung nach Umgebung.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`php`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` artisan`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` schedule:list`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --environment=production`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`option-„stop-when-empty”-für-worker`,children:`Option „Stop When Empty” für Worker`}),`\n`,_jsxs(_components.p,{children:[`Mit der Option `,_jsx(_components.code,{children:`--stop-when-empty`}),` stoppt der Worker automatisch, sobald die Queue leer ist. Nützlich in Batch-Verarbeitung und CI-Umgebungen, in denen der Worker beim Leerlaufen der Queue beendet werden soll.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`php`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` artisan`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` queue:work`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --stop-when-empty`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`schema-helper-foreignuuidfor`,children:`Schema-Helper foreignUuidFor`}),`\n`,_jsxs(_components.p,{children:[`Als UUID-Variante von `,_jsx(_components.code,{children:`foreignIdFor()`}),` wurde `,_jsx(_components.code,{children:`foreignUuidFor()`}),` hinzugefügt.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`php`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`php`,children:_jsxs(_components.code,{language:`php`,numberOfLines:`3`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`Schema`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`::`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`table`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'posts'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`function`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`Blueprint`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` $table`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` $table`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`->`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`foreignUuidFor`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`User`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`::`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`class`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`->`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`constrained`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`();`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`});`})}),`\n`]})})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`unterstützung-für-ki-subagenten`,children:`Unterstützung für KI-Subagenten`}),`\n`,_jsxs(_components.p,{children:[`Ein Laravel-KI-Agent kann nun an andere Agenten delegieren. Wird aus der Methode `,_jsx(_components.code,{children:`tools()`}),` ein beliebiger Agent zurückgegeben, ruft das LLM des Elternagenten diesen wie ein normales Tool auf. Da die Kontexte getrennt bleiben, mischen sich die Konversationsverläufe nicht.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`11`,language:`php`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`php`,children:_jsxs(_components.code,{language:`php`,numberOfLines:`11`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`class`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` OrchestratorAgent`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` extends`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` Agent`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` public`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` function`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` tools`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`()`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`:`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` array`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` return`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` new`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` AnalysisAgent`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(),`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` new`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` WritingAgent`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(),`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` new`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` SearchTool`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(),`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ];`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`inertia-3-x`,children:`Inertia 3.x`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsxs(_components.strong,{children:[`Option `,_jsx(_components.code,{children:`mode`}),` von `,_jsx(_components.code,{children:`router.poll`})]}),`: der Polling-Betriebsmodus lässt sich konfigurieren`]}),`\n`,_jsxs(_components.li,{children:[_jsxs(_components.strong,{children:[`Dynamische Daten mit `,_jsx(_components.code,{children:`usePoll`})]}),`: Daten während des Pollings dynamisch aktualisieren`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`Inertia.once`})}),`: Unterstützung für Events, die nur einmal ausgelöst werden`]}),`\n`,_jsxs(_components.li,{children:[_jsxs(_components.strong,{children:[_jsx(_components.code,{children:`rescue`}),`-Slot in `,_jsx(_components.code,{children:`\u003cDeferred>`})]}),`: Fallback, wenn ein deferred Prop fehlschlägt`]}),`\n`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`pao-php-agentic-output`,children:`PAO (PHP Agentic Output)`}),`\n`,_jsx(_components.p,{children:`PAO ist standardmäßig in den Starterkits enthalten. Zusätzlich wurden folgende Funktionen ergänzt:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Rector-Unterstützung`}),`: PAO verarbeitet auch die JSON-Ausgabe von Rector`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Agenten-Guidance für PHPStan`}),`: Hinweise, die dem Agenten mitteilen, wie er Fehlerstellen korrigieren soll`]}),`\n`,_jsxs(_components.li,{children:[_jsxs(_components.strong,{children:[`Umgebungsvariable `,_jsx(_components.code,{children:`PAO_FORCE`})]}),`: erzwingt das Aktivieren des PAO-Modus`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Artisan-RECTOR-Unterstützung`}),`: PAO unterstützt nun Artisan-Kommandos`]}),`\n`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`laravel-cloud-laravel-forge-und-nightwatch`,children:`Laravel Cloud, Laravel Forge und Nightwatch`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Produkt`}),_jsx(_components.th,{children:`Wichtige Updates`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Laravel Cloud`})}),_jsx(_components.td,{children:`Full-Stack Scale-to-Zero (Start unter 500 ms, 20-fach schneller), Managed Queues (Auto-Scaling-Worker, Dashboard für fehlgeschlagene Jobs), Ausgabelimits, aktualisierte Pläne (Starter-Plan für $5/Monat)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Laravel Forge`})}),_jsx(_components.td,{children:`Managed MySQL 8.4 (Auto-Backups, Read Replicas, Alerts), PHP 8.5 als neuer Default, automatischer Neustart von Horizon bei Änderungen der env`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Nightwatch`})}),_jsx(_components.td,{children:`Der MCP-Server liefert Performance-Daten wie Routen-Ausführungszeit, Query-Zeit und Metriken zur Job-Ausführung`})]})]})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Laravel-Updates Mai 2026","description":"Updates im Laravel-Ökosystem im Mai 2026. @fonts-Blade-Direktive, Interruptible Jobs, Subagent-Unterstützung, Scale-to-Zero in Cloud u. v. m.","sidebarTitle":"Mai 2026","href":"/de/blog/changelog/202605"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Laravel Framework","slug":"laravel-framework","depth":2,"children":[{"title":"@fonts-Blade-Direktive","slug":"@fonts-blade-direktive","depth":3,"children":[]},{"title":"Interruptible Jobs (Signal-fähige Jobs)","slug":"interruptible-jobs-signal-fähige-jobs","depth":3,"children":[]},{"title":"JSON-Exceptions als Default für API-Routen","slug":"json-exceptions-als-default-für-api-routen","depth":3,"children":[]},{"title":"Storage-Cache-Store","slug":"storage-cache-store","depth":3,"children":[]},{"title":"Ablage großer SQS-Payloads auf Disk","slug":"ablage-großer-sqs-payloads-auf-disk","depth":3,"children":[]},{"title":"Umgebungsfilter für Scheduled Commands","slug":"umgebungsfilter-für-scheduled-commands","depth":3,"children":[]},{"title":"Option „Stop When Empty” für Worker","slug":"option-„stop-when-empty”-für-worker","depth":3,"children":[]},{"title":"Schema-Helper foreignUuidFor","slug":"schema-helper-foreignuuidfor","depth":3,"children":[]}]},{"title":"Unterstützung für KI-Subagenten","slug":"unterstützung-für-ki-subagenten","depth":2,"children":[]},{"title":"Inertia 3.x","slug":"inertia-3-x","depth":2,"children":[]},{"title":"PAO (PHP Agentic Output)","slug":"pao-php-agentic-output","depth":2,"children":[]},{"title":"Laravel Cloud, Laravel Forge und Nightwatch","slug":"laravel-cloud-laravel-forge-und-nightwatch","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"narration":{"path":"de/blog/changelog/202605","locale":"de","estimatedDurationSec":206},"subdomain":"invokable","siteName":"Knowledge of Laravel","title":"Laravel-Updates Mai 2026 - Knowledge of Laravel","relatedPagesConfig":{"enabled":true,"limit":5,"mode":"automatic"},"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"jp":{"href":"/jp/blog/changelog/202605","matchLevel":1},"en":{"href":"/en/blog/changelog/202605","matchLevel":1},"de":{"href":"/de/blog/changelog/202605","matchLevel":0},"es":{"href":"/es/blog/changelog/202605","matchLevel":1},"fr":{"href":"/fr/blog/changelog/202605","matchLevel":1},"it":{"href":"/it/blog/changelog/202605","matchLevel":1},"ko":{"href":"/ko/blog/changelog/202605","matchLevel":1},"nl":{"href":"/nl/blog/changelog/202605","matchLevel":1},"zh-Hans":{"href":"/zh-CN/blog/changelog/202605","matchLevel":1},"zh-Hant":{"href":"/zh-TW/blog/changelog/202605","matchLevel":1}}},"lastModified":"2026-07-13T21:16:43.998Z","gitLastModified":"2026-07-13T21:15:13.000Z","originalFileLocation":"de/blog/changelog/202605.mdx","locale":"de"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Updates im Laravel-Ökosystem im Mai 2026. @fonts-Blade-Direktive, Interruptible Jobs, Subagent-Unterstützung, Scale-to-Zero in Cloud u. v. m.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Knowledge of Laravel\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/invokable/pboFjibLpJPX3oCo/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/invokable/pboFjibLpJPX3oCo/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/invokable/pboFjibLpJPX3oCo/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/invokable/pboFjibLpJPX3oCo/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/invokable/pboFjibLpJPX3oCo/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/invokable/pboFjibLpJPX3oCo/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/invokable/pboFjibLpJPX3oCo/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/invokable/pboFjibLpJPX3oCo/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/invokable/pboFjibLpJPX3oCo/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Laravel-Updates Mai 2026 - Knowledge of Laravel\">\u003cmeta data-mint-head property=\"og:description\" content=\"Updates im Laravel-Ökosystem im Mai 2026. @fonts-Blade-Direktive, Interruptible Jobs, Subagent-Unterstützung, Scale-to-Zero in Cloud u. v. m.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Knowledge of Laravel\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://kawax.biz/de/blog/changelog/202605\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://invokable.mintlify.site/_mintlify/api/og/v2?division=Changelog\u0026amp;title=Laravel-Updates+Mai+2026\u0026amp;description=Updates+im+Laravel-%C3%96kosystem+im+Mai+2026.+%40fonts-Blade-Direktive%2C+Interruptible+Jobs%2C+Subagent-Unterst%C3%BCtzung%2C+Scale-to-Zero+in+Cloud+u.+v.+m.\u0026amp;theme=cef70bdc0dd1884481ab7c5d\u0026amp;signature=13b980f15fd6f38862c28a106917d23da4bbfd7dff39c8919c39dc288ec865f9\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Laravel-Updates Mai 2026 - Knowledge of Laravel\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Updates im Laravel-Ökosystem im Mai 2026. @fonts-Blade-Direktive, Interruptible Jobs, Subagent-Unterstützung, Scale-to-Zero in Cloud u. v. m.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://invokable.mintlify.site/_mintlify/api/og/v2?division=Changelog\u0026amp;title=Laravel-Updates+Mai+2026\u0026amp;description=Updates+im+Laravel-%C3%96kosystem+im+Mai+2026.+%40fonts-Blade-Direktive%2C+Interruptible+Jobs%2C+Subagent-Unterst%C3%BCtzung%2C+Scale-to-Zero+in+Cloud+u.+v.+m.\u0026amp;theme=cef70bdc0dd1884481ab7c5d\u0026amp;signature=13b980f15fd6f38862c28a106917d23da4bbfd7dff39c8919c39dc288ec865f9\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/invokable/pboFjibLpJPX3oCo/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Knowledge of Laravel\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#16A34A\">\u003clink data-mint-head rel=\"canonical\" href=\"https://kawax.biz/de/blog/changelog/202605\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/de/blog/changelog/202605.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"de\" href=\"https://kawax.biz/de/blog/changelog/202605\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ja\" href=\"https://kawax.biz/jp/blog/changelog/202605\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://kawax.biz/en/blog/changelog/202605\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"es\" href=\"https://kawax.biz/es/blog/changelog/202605\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"fr\" href=\"https://kawax.biz/fr/blog/changelog/202605\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"it\" href=\"https://kawax.biz/it/blog/changelog/202605\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ko\" href=\"https://kawax.biz/ko/blog/changelog/202605\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"nl\" href=\"https://kawax.biz/nl/blog/changelog/202605\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"zh-Hans\" href=\"https://kawax.biz/zh-CN/blog/changelog/202605\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"zh-Hant\" href=\"https://kawax.biz/zh-TW/blog/changelog/202605\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://kawax.biz/jp/blog/changelog/202605\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://kawax.biz/#organization\",\"name\":\"Knowledge of Laravel\",\"url\":\"https://kawax.biz\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/invokable/AuZ0xql2mAbUyZ99/logo/light.svg?fit=max\u0026auto=format\u0026n=AuZ0xql2mAbUyZ99\u0026q=85\u0026s=df0b7397202a6aa1c1f321620c5aa146\"}},{\"@type\":\"WebSite\",\"@id\":\"https://kawax.biz#website\",\"name\":\"Knowledge of Laravel\",\"url\":\"https://kawax.biz\",\"publisher\":{\"@id\":\"https://kawax.biz/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://kawax.biz/de/blog/changelog/202605#webpage\",\"url\":\"https://kawax.biz/de/blog/changelog/202605\",\"name\":\"Laravel-Updates Mai 2026\",\"description\":\"Updates im Laravel-Ökosystem im Mai 2026. @fonts-Blade-Direktive, Interruptible Jobs, Subagent-Unterstützung, Scale-to-Zero in Cloud u. v. m.\",\"dateModified\":\"2026-07-13T21:15:13.000Z\",\"isPartOf\":{\"@id\":\"https://kawax.biz#website\"},\"breadcrumb\":{\"@id\":\"https://kawax.biz/de/blog/changelog/202605#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://kawax.biz/de/blog/changelog/202605#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Changelog\",\"item\":\"https://kawax.biz/de/blog/changelog/202610\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Laravel-Updates Mai 2026\",\"item\":\"https://kawax.biz/de/blog/changelog/202605\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://kawax.biz/de/blog/changelog/202605#article\",\"headline\":\"Laravel-Updates Mai 2026\",\"name\":\"Laravel-Updates Mai 2026\",\"description\":\"Updates im Laravel-Ökosystem im Mai 2026. @fonts-Blade-Direktive, Interruptible Jobs, Subagent-Unterstützung, Scale-to-Zero in Cloud u. v. m.\",\"url\":\"https://kawax.biz/de/blog/changelog/202605\",\"mainEntityOfPage\":{\"@id\":\"https://kawax.biz/de/blog/changelog/202605#webpage\"},\"dateModified\":\"2026-07-13T21:15:13.000Z\",\"publisher\":{\"@id\":\"https://kawax.biz/#organization\"},\"isPartOf\":{\"@id\":\"https://kawax.biz#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Knowledge of Laravel\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Knowledge of Laravel\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/de/blog/changelog/202605.md","siteName":"Knowledge of Laravel","nav":{"global":null,"languages":[{"language":"jp","default":true,"pages":[{"title":"jp","href":"/jp/blog/changelog/202605"}]},{"language":"en","pages":[{"title":"en","href":"/en/blog/changelog/202605"}]},{"language":"de","tabs":[{"tab":"Meine Pakete","pages":[{"title":"Meine Pakete","href":"/de/packages/laravel-boost-copilot-cli"}]},{"tab":"Tutorial","pages":[{"title":"Tutorial","href":"/de/introduction"}]},{"tab":"Leitfaden","pages":[{"title":"Leitfaden","href":"/de/lifecycle"}]},{"tab":"Fortgeschrittene Themen","pages":[{"title":"Fortgeschrittene Themen","href":"/de/advanced/mcp-server"}]},{"tab":"Blog","groups":[{"group":"Changelog","pages":[{"title":"Laravel-Updates Oktober 2026","sidebarTitle":"Oktober 2026","href":"/de/blog/changelog/202610"},{"title":"Laravel-Updates September 2026","sidebarTitle":"September 2026","href":"/de/blog/changelog/202609"},{"title":"Laravel-Updates August 2026","sidebarTitle":"August 2026","href":"/de/blog/changelog/202608"},{"title":"Laravel-Updates Juli 2026","sidebarTitle":"Juli 2026","href":"/de/blog/changelog/202607"},{"title":"Laravel-Updates Juni 2026","description":"Updates im Laravel-Ökosystem im Juni 2026. Bus::bulk(), Unterstützung für Postgres Transaction Pooler, MCP-Client/-Server, Kommando artisan dev, Route-Metadaten u. v. m.","sidebarTitle":"Juni 2026","href":"/de/blog/changelog/202606"},{"title":"Laravel-Updates Mai 2026","sidebarTitle":"Mai 2026","href":"/de/blog/changelog/202605"},{"title":"Laravel-Updates April 2026","description":"Updates im Laravel-Ökosystem im April 2026. Passkeys (passwortlose Authentifizierung), Debounceable Jobs, MCP UI App, Redis-Cluster-Unterstützung u. v. m.","sidebarTitle":"April 2026","href":"/de/blog/changelog/202604"},{"title":"Laravel-Updates März 2026","sidebarTitle":"März 2026","href":"/de/blog/changelog/202603"}]},{"group":"Laravel 13","pages":[{"title":"Übersicht der neuen Features in Laravel 13","href":"/de/blog/laravel-13-new-features"}]},{"group":"Produkte","pages":[{"title":"Laravel Cloud – Der Gesamtüberblick zum Laravel-eigenen PaaS","href":"/de/blog/laravel-cloud"},{"title":"Laravel Cloud Hibernation (automatisches Pausieren)","href":"/de/blog/laravel-cloud-hibernation"},{"title":"Einführung in Laravel Nightwatch","href":"/de/blog/nightwatch-introduction"},{"title":"Laravel Cloud CLI – Laravel Cloud vom Terminal aus bedienen","href":"/de/blog/laravel-cloud-cli"},{"title":"KI-Agenten: Von „korrektem“ Code zu „idiomatischem Laravel“ – Der nächste Schritt der Boost Benchmarks","sidebarTitle":"Der nächste Schritt der Boost Benchmarks","href":"/de/blog/boost-benchmarks-idiomatic-laravel"},{"title":"Laravel-KI-Agenten unterstützen MCP-Server","href":"/de/blog/ai-sdk-mcp-client"}]},{"group":"Paketvorstellungen","pages":[{"title":"⚡ Einführung in Livewire 4 – Reaktive UIs ohne JavaScript","href":"/de/blog/livewire-introduction"},{"title":"SPAs mit Inertia.js entwickeln","href":"/de/blog/inertia-introduction"},{"title":"Laravel-Tests mit Pest PHP starten","href":"/de/blog/pest-introduction"},{"title":"Laravel Pennant – Praxis-Anwendungsfälle","href":"/de/blog/laravel-pennant"},{"title":"Laravel Telescope – Praxistechniken","href":"/de/blog/telescope-introduction"},{"title":"Vorstellung von Laravel Wayfinder","href":"/de/blog/wayfinder-introduction"},{"title":"Vorstellung des Blaze-Pakets","href":"/de/blog/blaze-introduction"}]},{"group":"Untersuchung neuer Repositories","pages":[{"title":"Laravel Multiplex – TUI zur Bündelung lokaler Entwicklungsprozesse","href":"/de/blog/multiplex-introduction"},{"title":"Laravel Maestro – Orchestrator für die Entwicklung von Starterkits","href":"/de/blog/maestro-introduction"},{"title":"laravel/agent-skills – Offizielle KI-Agent-Skills-Sammlung von Laravel","href":"/de/blog/agent-skills-introduction"},{"title":"Laravels neues Ökosystem zur Code-Analyse – surveyor / ranger / roster","href":"/de/blog/laravel-ecosystem-analysis"},{"title":"Laravel Sentinel – Analyse der Route-Schutz-Middleware","href":"/de/blog/sentinel-introduction"},{"title":"Erste Analyse: Laravel Passkeys (passkeys-server + @laravel/passkeys)","href":"/de/blog/passkeys-introduction"},{"title":"Laravel Agent Detector – Paket zur Erkennung von KI-Agenten","href":"/de/blog/agent-detector-introduction"},{"title":"Laravel PAO – Output-Optimierungstool für KI-Agenten","href":"/de/blog/pao-introduction"},{"title":"Laravel Chisel – Post-Install-Skript-Bibliothek für Starterkits","sidebarTitle":"Laravel Chisel","href":"/de/blog/chisel-introduction"},{"title":"Laravel LSP – IDE-Erweiterung per Language Server Protocol","href":"/de/blog/laravel-lsp-introduction"},{"title":"laravel/symfony-on-cloud – Symfony-Apps auf Laravel Cloud betreiben","href":"/de/blog/symfony-on-cloud-introduction"},{"title":"Laravel Package Skeleton – Starter-Template für offizielle Pakete","sidebarTitle":"Laravel Package Skeleton","href":"/de/blog/package-skeleton-introduction"},{"title":"Laravel Doctor — Diagnosewerkzeug für Ihre Anwendung","href":"/de/blog/laravel-doctor-introduction"},{"title":"cpx 2.0 — Der Composer Package Executor wird vollständig neu geschrieben","sidebarTitle":"cpx 2.0","href":"/de/blog/cpx-introduction"}]},{"group":"Upgrade-Anleitungen","pages":[{"title":"Upgrade-Anleitung von Laravel 12 auf 13","href":"/de/blog/upgrade-12-to-13"},{"title":"Upgrade-Anleitung von Laravel 11 auf 12","href":"/de/blog/upgrade-11-to-12"},{"title":"Upgrade von Laravel 10 auf 11","href":"/de/blog/upgrade-10-to-11"},{"title":"Upgrade von Laravel 9 auf 10","href":"/de/blog/upgrade-9-to-10"},{"title":"Upgrade von Laravel 8 auf 9","href":"/de/blog/upgrade-8-to-9"}]},{"group":"Authentifizierung","pages":[{"title":"Migrations-Guide von laravel/ui zu Fortify","href":"/de/blog/ui-to-fortify"}]},{"group":"Frontend","pages":[{"title":"Vue.js – Einstieg mit Inertia × Laravel","href":"/de/blog/vue-introduction"},{"title":"React – Einstieg mit Inertia × Laravel","href":"/de/blog/react-introduction"},{"title":"Svelte – Einstieg mit Inertia × Laravel","href":"/de/blog/svelte-introduction"}]},{"group":"Einrichtung der Umgebung","pages":[{"title":"PHP, Composer und Node.js mit Homebrew installieren (macOS)","href":"/de/blog/mac-setup"},{"title":"PHP, Composer und Node.js mit WSL installieren (Windows)","href":"/de/blog/windows-setup"}]}]}]},{"language":"es","pages":[{"title":"es","href":"/es/blog/changelog/202605"}]},{"language":"fr","pages":[{"title":"fr","href":"/fr/blog/changelog/202605"}]},{"language":"it","pages":[{"title":"it","href":"/it/blog/changelog/202605"}]},{"language":"ko","pages":[{"title":"ko","href":"/ko/blog/changelog/202605"}]},{"language":"nl","pages":[{"title":"nl","href":"/nl/blog/changelog/202605"}]},{"language":"zh-Hans","pages":[{"title":"zh-Hans","href":"/zh-CN/blog/changelog/202605"}]},{"language":"zh-Hant","pages":[{"title":"zh-Hant","href":"/zh-TW/blog/changelog/202605"}]}]},"basePath":"","title":"Laravel-Updates Mai 2026 - Knowledge of Laravel","buildId":"dpl_596ePT575z4qnAFksq1biRW97aLY","deploymentId":"dpl_596ePT575z4qnAFksq1biRW97aLY","dynamics":["2bfc744e19"],"chunks":["NarrationPlayer-B8rALa9K.js","types-CiTgMxws.js","shallow-BG4cT0fH.js"]}