Updates in het Laravel-ecosysteem van mei 2026. De @fonts Blade-directive, interruptible jobs, ondersteuning voor subagents, Scale-to-Zero op Cloud en meer.
Pagina voorlezenongeveer 3 min
In mei 2026 kwamen er grote, praktische updates: full-stack Scale-to-Zero en Managed Queues op Laravel Cloud, fontoptimalisatie, multi-agent pipelines en meer.Bron: Laravel May Product Updates
Er is een @fonts-directive toegevoegd die alles automatisch afhandelt wat nodig was voor het laden van webfonts: de <link rel="preload">-tags, @font-face-stijlen en HTTP/2-pushheaders. De directive leest het fontmanifest dat de Vite-fontplugin genereert en injecteert alle benodigde elementen in één keer.
{{-- Alle fonts laden --}}@fonts{{-- Alleen specifieke fontfamilies --}}@fonts(["sans", "mono"])
Met @fonts bepaal je per pagina welke fonts nodig zijn, waardoor je onnodige preloads voorkomt en de prestaties optimaliseert.
Interruptible jobs (jobs die op signalen reageren)
Dankzij de nieuwe Interruptible-interface kunnen jobs nu reageren wanneer een queue-worker tijdens een deploy een SIGTERM ontvangt. Je kunt loops stoppen, locks vrijgeven en de status opslaan, allemaal veilig vóór de shutdown van de worker.
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-routes retourneren nu automatisch foutresponses in JSON-formaat. Voorheen kon een API-route onder bepaalde omstandigheden HTML retourneren, maar routes gedefinieerd in api.php zijn nu altijd gegarandeerd van een JSON-response voorzien.
Er is een nieuwe storage-cachestore toegevoegd. Deze gebruikt het bestandssysteem als cachebackend, maar maakt gebruik van de storage-configuratie van Laravel.
Er is een optie toegevoegd om SQS-payloads die te groot zijn (meer dan 256 KB) op schijf op te slaan. Handig wanneer je grote hoeveelheden data via de queue verwerkt.
Er is een --stop-when-empty-optie toegevoegd die de worker automatisch stopt zodra de queue leeg is. Handig voor batchverwerking of CI-omgevingen waarin de worker moet afsluiten wanneer de queue leeg is.
Laravel AI-agents kunnen nu delegeren aan andere agents. Retourneer je een willekeurige agent vanuit de tools()-methode, dan roept de LLM van de ouder-agent deze aan zoals een gewone tool. De context is gescheiden, dus gespreksgeschiedenissen raken niet vermengd.
class OrchestratorAgent extends Agent{ public function tools(): array { return [ new AnalysisAgent(), new WritingAgent(), new SearchTool(), ]; }}
Full-stack Scale-to-Zero (opstarten in minder dan 500 ms, 20x sneller), Managed Queues (automatisch schalende workers en een dashboard voor mislukte jobs), uitgavenlimieten, planvernieuwing (Starter-plan van $5 per maand)
Laravel Forge
Managed MySQL 8.4 (automatische back-ups, read replicas, alerts), PHP 8.5 is nu de standaard, Horizon herstart automatisch wanneer de env verandert
Nightwatch
De MCP-server levert prestatiegegevens zoals uitvoeringstijden van routes, querytijden en metrics van jobuitvoeringen
Laatst gewijzigd op 6 september 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":"6aee3d13cf9ef2a3674c25fe","clientVersion":"0.0.4076","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":78},{"language":"en","tag":"Advanced Topics","count":78},{"language":"es","tag":"Temas avanzados","count":78},{"language":"fr","tag":"Sujets avancés","count":78},{"language":"it","tag":"Argomenti avanzati","count":78},{"language":"jp","tag":"応用トピック","count":78},{"language":"ko","tag":"심화 주제","count":78},{"language":"nl","tag":"Geavanceerde onderwerpen","count":78},{"language":"zh-Hans","tag":"进阶主题","count":78},{"language":"zh-Hant","tag":"進階主題","count":78},{"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":46},{"language":"en","tag":"Blog","count":46},{"language":"es","tag":"Blog","count":46},{"language":"fr","tag":"Blog","count":46},{"language":"it","tag":"Blog","count":46},{"language":"jp","tag":"ブログ","count":46},{"language":"ko","tag":"블로그","count":46},{"language":"nl","tag":"Blog","count":46},{"language":"zh-Hans","tag":"博客","count":46},{"language":"zh-Hant","tag":"部落格","count":46},{"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":"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":"Paketentwicklung","count":39},{"language":"en","tag":"Package Development","count":39},{"language":"es","tag":"Desarrollo de paquetes","count":39},{"language":"fr","tag":"Développement de packages","count":39},{"language":"it","tag":"Sviluppo di pacchetti","count":39},{"language":"jp","tag":"パッケージ開発","count":39},{"language":"ko","tag":"패키지 개발","count":39},{"language":"nl","tag":"Package-ontwikkeling","count":39},{"language":"zh-Hans","tag":"包开发","count":39},{"language":"zh-Hant","tag":"套件開發","count":39},{"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":"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},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"privacy":{"consentBanner":{"enabled":true}},"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"nl/blog/changelog/202605","slug":"/nl/blog/changelog/202605","pageMetadata":{"title":"Laravel-updates van mei 2026","description":"Updates in het Laravel-ecosysteem van mei 2026. De @fonts Blade-directive, interruptible jobs, ondersteuning voor subagents, Scale-to-Zero op Cloud en meer.","sidebarTitle":"Mei 2026","href":"/nl/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 in het Laravel-ecosysteem van mei 2026. De @fonts Blade-directive, interruptible jobs, ondersteuning voor subagents, Scale-to-Zero op Cloud en meer.\"\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:`In mei 2026 kwamen er grote, praktische updates: full-stack Scale-to-Zero en Managed Queues op Laravel Cloud, fontoptimalisatie, multi-agent pipelines en meer.`}),`\n`,_jsxs(_components.p,{children:[`Bron: `,_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:`de-@fonts-blade-directive`,children:`De @fonts Blade-directive`}),`\n`,_jsxs(_components.p,{children:[`Er is een `,_jsx(_components.code,{children:`@fonts`}),`-directive toegevoegd die alles automatisch afhandelt wat nodig was voor het laden van webfonts: de `,_jsx(_components.code,{children:`\u003clink rel=\"preload\">`}),`-tags, `,_jsx(_components.code,{children:`@font-face`}),`-stijlen en HTTP/2-pushheaders. De directive leest het fontmanifest dat de Vite-fontplugin genereert en injecteert alle benodigde elementen in één keer.`]}),`\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:`{{-- Alleen specifieke fontfamilies --}}`})}),`\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:[`Met `,_jsx(_components.code,{children:`@fonts`}),` bepaal je per pagina welke fonts nodig zijn, waardoor je onnodige preloads voorkomt en de prestaties optimaliseert.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`interruptible-jobs-jobs-die-op-signalen-reageren`,children:`Interruptible jobs (jobs die op signalen reageren)`}),`\n`,_jsxs(_components.p,{children:[`Dankzij de nieuwe `,_jsx(_components.code,{children:`Interruptible`}),`-interface kunnen jobs nu reageren wanneer een queue-worker tijdens een deploy een SIGTERM ontvangt. Je kunt loops stoppen, locks vrijgeven en de status opslaan, allemaal veilig vóór de shutdown van de worker.`]}),`\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-standaard-voor-api-routes`,children:`JSON-exceptions standaard voor API-routes`}),`\n`,_jsxs(_components.p,{children:[`API-routes retourneren nu automatisch foutresponses in JSON-formaat. Voorheen kon een API-route onder bepaalde omstandigheden HTML retourneren, maar routes gedefinieerd in `,_jsx(_components.code,{children:`api.php`}),` zijn nu altijd gegarandeerd van een JSON-response voorzien.`]}),`\n`,_jsx(Heading,{level:`3`,id:`storage-cachestore`,children:`Storage-cachestore`}),`\n`,_jsxs(_components.p,{children:[`Er is een nieuwe `,_jsx(_components.code,{children:`storage`}),`-cachestore toegevoegd. Deze gebruikt het bestandssysteem als cachebackend, maar maakt gebruik van de storage-configuratie van Laravel.`]}),`\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:`grote-sqs-payloads-op-schijf-opslaan`,children:`Grote SQS-payloads op schijf opslaan`}),`\n`,_jsx(_components.p,{children:`Er is een optie toegevoegd om SQS-payloads die te groot zijn (meer dan 256 KB) op schijf op te slaan. Handig wanneer je grote hoeveelheden data via de queue verwerkt.`}),`\n`,_jsx(Heading,{level:`3`,id:`omgevingsfilter-voor-geplande-commando’s`,children:`Omgevingsfilter voor geplande commando’s`}),`\n`,_jsxs(_components.p,{children:[`Het commando `,_jsx(_components.code,{children:`schedule:list`}),` kan nu filteren per omgeving.`]}),`\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:`de-optie-stop-when-empty-voor-workers`,children:`De optie Stop When Empty voor workers`}),`\n`,_jsxs(_components.p,{children:[`Er is een `,_jsx(_components.code,{children:`--stop-when-empty`}),`-optie toegevoegd die de worker automatisch stopt zodra de queue leeg is. Handig voor batchverwerking of CI-omgevingen waarin de worker moet afsluiten wanneer de queue leeg is.`]}),`\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:`de-schemahelper-foreignuuidfor`,children:`De schemahelper foreignUuidFor`}),`\n`,_jsxs(_components.p,{children:[`Als UUID-variant van `,_jsx(_components.code,{children:`foreignIdFor()`}),` is `,_jsx(_components.code,{children:`foreignUuidFor()`}),` toegevoegd.`]}),`\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:`ondersteuning-voor-ai-subagents`,children:`Ondersteuning voor AI-subagents`}),`\n`,_jsxs(_components.p,{children:[`Laravel AI-agents kunnen nu delegeren aan andere agents. Retourneer je een willekeurige agent vanuit de `,_jsx(_components.code,{children:`tools()`}),`-methode, dan roept de LLM van de ouder-agent deze aan zoals een gewone tool. De context is gescheiden, dus gespreksgeschiedenissen raken niet vermengd.`]}),`\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:[`De `,_jsx(_components.code,{children:`mode`}),`-optie van `,_jsx(_components.code,{children:`router.poll`})]}),`: de werkmodus van polling is instelbaar`]}),`\n`,_jsxs(_components.li,{children:[_jsxs(_components.strong,{children:[`Dynamische data in `,_jsx(_components.code,{children:`usePoll`})]}),`: data dynamisch bijwerken tijdens het pollen`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`Inertia.once`})}),`: ondersteuning voor events die maar één keer afgaan`]}),`\n`,_jsxs(_components.li,{children:[_jsxs(_components.strong,{children:[`De `,_jsx(_components.code,{children:`rescue`}),`-slot van `,_jsx(_components.code,{children:`\u003cDeferred>`})]}),`: fallback voor wanneer een deferred prop mislukt`]}),`\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 is nu standaard opgenomen in de starter kits. De volgende functies zijn ook toegevoegd:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Ondersteuning voor Rector`}),`: PAO verwerkt nu ook de JSON-output van Rector`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Agentbegeleiding voor PHPStan`}),`: begeleiding toegevoegd die de agent vertelt hoe foutlocaties te herstellen`]}),`\n`,_jsxs(_components.li,{children:[_jsxs(_components.strong,{children:[`De omgevingsvariabele `,_jsx(_components.code,{children:`PAO_FORCE`})]}),`: forceert het inschakelen van de PAO-modus`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Artisan RECTOR-ondersteuning`}),`: PAO ondersteunt nu Artisan-commando’s`]}),`\n`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`laravel-cloud-laravel-forge-en-nightwatch`,children:`Laravel Cloud, Laravel Forge en Nightwatch`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Product`}),_jsx(_components.th,{children:`Belangrijkste 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 (opstarten in minder dan 500 ms, 20x sneller), Managed Queues (automatisch schalende workers en een dashboard voor mislukte jobs), uitgavenlimieten, planvernieuwing (Starter-plan van $5 per maand)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Laravel Forge`})}),_jsx(_components.td,{children:`Managed MySQL 8.4 (automatische back-ups, read replicas, alerts), PHP 8.5 is nu de standaard, Horizon herstart automatisch wanneer de env verandert`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Nightwatch`})}),_jsx(_components.td,{children:`De MCP-server levert prestatiegegevens zoals uitvoeringstijden van routes, querytijden en metrics van jobuitvoeringen`})]})]})]})]})}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 van mei 2026","description":"Updates in het Laravel-ecosysteem van mei 2026. De @fonts Blade-directive, interruptible jobs, ondersteuning voor subagents, Scale-to-Zero op Cloud en meer.","sidebarTitle":"Mei 2026","href":"/nl/blog/changelog/202605"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Laravel Framework","slug":"laravel-framework","depth":2,"children":[{"title":"De @fonts Blade-directive","slug":"de-@fonts-blade-directive","depth":3,"children":[]},{"title":"Interruptible jobs (jobs die op signalen reageren)","slug":"interruptible-jobs-jobs-die-op-signalen-reageren","depth":3,"children":[]},{"title":"JSON-exceptions standaard voor API-routes","slug":"json-exceptions-standaard-voor-api-routes","depth":3,"children":[]},{"title":"Storage-cachestore","slug":"storage-cachestore","depth":3,"children":[]},{"title":"Grote SQS-payloads op schijf opslaan","slug":"grote-sqs-payloads-op-schijf-opslaan","depth":3,"children":[]},{"title":"Omgevingsfilter voor geplande commando’s","slug":"omgevingsfilter-voor-geplande-commando’s","depth":3,"children":[]},{"title":"De optie Stop When Empty voor workers","slug":"de-optie-stop-when-empty-voor-workers","depth":3,"children":[]},{"title":"De schemahelper foreignUuidFor","slug":"de-schemahelper-foreignuuidfor","depth":3,"children":[]}]},{"title":"Ondersteuning voor AI-subagents","slug":"ondersteuning-voor-ai-subagents","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 en Nightwatch","slug":"laravel-cloud-laravel-forge-en-nightwatch","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"narration":{"path":"nl/blog/changelog/202605","locale":"nl","estimatedDurationSec":201},"subdomain":"invokable","siteName":"Knowledge of Laravel","title":"Laravel-updates van mei 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":1},"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":0},"zh-Hans":{"href":"/zh-CN/blog/changelog/202605","matchLevel":1},"zh-Hant":{"href":"/zh-TW/blog/changelog/202605","matchLevel":1}}},"lastModified":"2026-09-06T10:38:34.172Z","gitLastModified":"2026-09-06T10:37:36.000Z","originalFileLocation":"nl/blog/changelog/202605.mdx","locale":"nl"},"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 in het Laravel-ecosysteem van mei 2026. De @fonts Blade-directive, interruptible jobs, ondersteuning voor subagents, Scale-to-Zero op Cloud en meer.\">\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 van mei 2026 - Knowledge of Laravel\">\u003cmeta data-mint-head property=\"og:description\" content=\"Updates in het Laravel-ecosysteem van mei 2026. De @fonts Blade-directive, interruptible jobs, ondersteuning voor subagents, Scale-to-Zero op Cloud en meer.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Knowledge of Laravel\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://kawax.biz/nl/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+van+mei+2026\u0026amp;description=Updates+in+het+Laravel-ecosysteem+van+mei+2026.+De+%40fonts+Blade-directive%2C+interruptible+jobs%2C+ondersteuning+voor+subagents%2C+Scale-to-Zero+op+Cloud+en+meer.\u0026amp;theme=e73cb59538246989d21d6ff5\u0026amp;signature=96d96924c58f975df43fb6008c6481ba663fd8bb866b3031ae2c9feaf39c373c\">\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 van mei 2026 - Knowledge of Laravel\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Updates in het Laravel-ecosysteem van mei 2026. De @fonts Blade-directive, interruptible jobs, ondersteuning voor subagents, Scale-to-Zero op Cloud en meer.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://invokable.mintlify.site/_mintlify/api/og/v2?division=Changelog\u0026amp;title=Laravel-updates+van+mei+2026\u0026amp;description=Updates+in+het+Laravel-ecosysteem+van+mei+2026.+De+%40fonts+Blade-directive%2C+interruptible+jobs%2C+ondersteuning+voor+subagents%2C+Scale-to-Zero+op+Cloud+en+meer.\u0026amp;theme=e73cb59538246989d21d6ff5\u0026amp;signature=96d96924c58f975df43fb6008c6481ba663fd8bb866b3031ae2c9feaf39c373c\">\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/nl/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=\"/nl/blog/changelog/202605.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"nl\" href=\"https://kawax.biz/nl/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=\"de\" href=\"https://kawax.biz/de/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=\"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/nl/blog/changelog/202605#webpage\",\"url\":\"https://kawax.biz/nl/blog/changelog/202605\",\"name\":\"Laravel-updates van mei 2026\",\"description\":\"Updates in het Laravel-ecosysteem van mei 2026. De @fonts Blade-directive, interruptible jobs, ondersteuning voor subagents, Scale-to-Zero op Cloud en meer.\",\"dateModified\":\"2026-09-06T10:37:36.000Z\",\"isPartOf\":{\"@id\":\"https://kawax.biz#website\"},\"breadcrumb\":{\"@id\":\"https://kawax.biz/nl/blog/changelog/202605#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://kawax.biz/nl/blog/changelog/202605#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Changelog\",\"item\":\"https://kawax.biz/nl/blog/changelog/202609\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Laravel-updates van mei 2026\",\"item\":\"https://kawax.biz/nl/blog/changelog/202605\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://kawax.biz/nl/blog/changelog/202605#article\",\"headline\":\"Laravel-updates van mei 2026\",\"name\":\"Laravel-updates van mei 2026\",\"description\":\"Updates in het Laravel-ecosysteem van mei 2026. De @fonts Blade-directive, interruptible jobs, ondersteuning voor subagents, Scale-to-Zero op Cloud en meer.\",\"url\":\"https://kawax.biz/nl/blog/changelog/202605\",\"mainEntityOfPage\":{\"@id\":\"https://kawax.biz/nl/blog/changelog/202605#webpage\"},\"dateModified\":\"2026-09-06T10:37:36.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\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","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","pages":[{"title":"de","href":"/de/blog/changelog/202605"}]},{"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","tabs":[{"tab":"Mijn packages","pages":[{"title":"Mijn packages","href":"/nl/packages/laravel-boost-copilot-cli"}]},{"tab":"Tutorial","pages":[{"title":"Tutorial","href":"/nl/introduction"}]},{"tab":"Gids","pages":[{"title":"Gids","href":"/nl/lifecycle"}]},{"tab":"Geavanceerde onderwerpen","pages":[{"title":"Geavanceerde onderwerpen","href":"/nl/advanced/mcp-server"}]},{"tab":"Blog","groups":[{"group":"Changelog","pages":[{"title":"Laravel-updates van september 2026","sidebarTitle":"September 2026","href":"/nl/blog/changelog/202609"},{"title":"Laravel-updates van augustus 2026","sidebarTitle":"Augustus 2026","href":"/nl/blog/changelog/202608"},{"title":"Laravel-updates van juli 2026","sidebarTitle":"Juli 2026","href":"/nl/blog/changelog/202607"},{"title":"Laravel-updates van juni 2026","description":"Updates in het Laravel-ecosysteem van juni 2026. Bus::bulk(), ondersteuning voor Postgres-transactiepoolers, MCP-client/server, het artisan dev-commando, routemetadata en meer.","sidebarTitle":"Juni 2026","href":"/nl/blog/changelog/202606"},{"title":"Laravel-updates van mei 2026","sidebarTitle":"Mei 2026","href":"/nl/blog/changelog/202605"},{"title":"Laravel-updates van april 2026","description":"Updates in het Laravel-ecosysteem van april 2026. Passkeys (wachtwoordloze authenticatie), debounceable jobs, MCP UI-apps, ondersteuning voor Redis Cluster en meer.","sidebarTitle":"April 2026","href":"/nl/blog/changelog/202604"},{"title":"Laravel-updates van maart 2026","sidebarTitle":"Maart 2026","href":"/nl/blog/changelog/202603"}]},{"group":"Laravel 13","pages":[{"title":"Nieuwe functies in Laravel 13","href":"/nl/blog/laravel-13-new-features"}]},{"group":"Producten","pages":[{"title":"Laravel Cloud — het complete beeld van de PaaS speciaal voor Laravel","href":"/nl/blog/laravel-cloud"},{"title":"Laravel Cloud Hibernation (automatische slaapstand)","href":"/nl/blog/laravel-cloud-hibernation"},{"title":"Introductie tot Laravel Nightwatch","href":"/nl/blog/nightwatch-introduction"},{"title":"Laravel Cloud CLI — Laravel Cloud bedienen vanuit de terminal","href":"/nl/blog/laravel-cloud-cli"},{"title":"AI-agents: van \"correcte\" code naar \"idiomatische Laravel\"-code — de volgende stap van Boost Benchmarks","sidebarTitle":"De volgende stap van Boost Benchmarks","href":"/nl/blog/boost-benchmarks-idiomatic-laravel"},{"title":"Laravel AI-agents ondersteunen nu MCP-servers","href":"/nl/blog/ai-sdk-mcp-client"}]},{"group":"Package-introducties","pages":[{"title":"⚡Introductie van Livewire 4 — reactieve UI's bouwen zonder JavaScript","href":"/nl/blog/livewire-introduction"},{"title":"Een SPA bouwen met Inertia.js","href":"/nl/blog/inertia-introduction"},{"title":"Aan de slag met Laravel-testen in Pest PHP","href":"/nl/blog/pest-introduction"},{"title":"Praktische use-cases voor Laravel Pennant","href":"/nl/blog/laravel-pennant"},{"title":"Praktische technieken voor Laravel Telescope","href":"/nl/blog/telescope-introduction"},{"title":"Introductie van Laravel Wayfinder","href":"/nl/blog/wayfinder-introduction"},{"title":"Introductie van het Blaze-pakket","href":"/nl/blog/blaze-introduction"}]},{"group":"Nieuwe repositories verkennen","pages":[{"title":"Laravel Multiplex — een TUI om lokale ontwikkelprocessen samen te beheren","href":"/nl/blog/multiplex-introduction"},{"title":"Laravel Maestro — de orchestrator voor starter kit-ontwikkeling","href":"/nl/blog/maestro-introduction"},{"title":"laravel/agent-skills — de officiële Laravel-collectie van AI-agentskills","href":"/nl/blog/agent-skills-introduction"},{"title":"Het nieuwe code-analyse-ecosysteem van Laravel — surveyor / ranger / roster","href":"/nl/blog/laravel-ecosystem-analysis"},{"title":"Laravel Sentinel — verkenning van de routebeschermings-middleware","href":"/nl/blog/sentinel-introduction"},{"title":"Eerste verkenning van Laravel Passkeys (passkeys-server + @laravel/passkeys)","href":"/nl/blog/passkeys-introduction"},{"title":"Laravel Agent Detector — pakket voor het detecteren van AI-agents","href":"/nl/blog/agent-detector-introduction"},{"title":"Laravel PAO — outputoptimalisatie voor AI-agents","href":"/nl/blog/pao-introduction"},{"title":"Laravel Chisel — een bibliotheek voor post-installatiescripts van starter kits","sidebarTitle":"Laravel Chisel","href":"/nl/blog/chisel-introduction"},{"title":"Laravel LSP — IDE-functionaliteit via het Language Server Protocol","href":"/nl/blog/laravel-lsp-introduction"},{"title":"laravel/symfony-on-cloud — Symfony-apps draaien op Laravel Cloud","href":"/nl/blog/symfony-on-cloud-introduction"},{"title":"Laravel Package Skeleton — officiële startertemplate voor packages","sidebarTitle":"Laravel Package Skeleton","href":"/nl/blog/package-skeleton-introduction"},{"title":"Laravel Doctor — een diagnosetool voor applicaties","href":"/nl/blog/laravel-doctor-introduction"},{"title":"cpx 2.0 — de Composer Package Executor volledig herschreven","sidebarTitle":"cpx 2.0","href":"/nl/blog/cpx-introduction"}]},{"group":"Upgradegidsen","pages":[{"title":"Upgradegids van Laravel 12 naar 13","href":"/nl/blog/upgrade-12-to-13"},{"title":"Upgradegids van Laravel 11 naar 12","href":"/nl/blog/upgrade-11-to-12"},{"title":"Upgraden van Laravel 10 naar 11","href":"/nl/blog/upgrade-10-to-11"},{"title":"Upgraden van Laravel 9 naar 10","href":"/nl/blog/upgrade-9-to-10"},{"title":"Upgraden van Laravel 8 naar 9","href":"/nl/blog/upgrade-8-to-9"}]},{"group":"Authenticatie","pages":[{"title":"Migratiegids van laravel/ui naar Fortify","href":"/nl/blog/ui-to-fortify"}]},{"group":"Frontend","pages":[{"title":"Introductie Vue.js — de basis voor Inertia × Laravel","href":"/nl/blog/vue-introduction"},{"title":"Introductie React — de basis voor Inertia × Laravel","href":"/nl/blog/react-introduction"},{"title":"Introductie Svelte — de basis voor Inertia × Laravel","href":"/nl/blog/svelte-introduction"}]},{"group":"Omgeving opzetten","pages":[{"title":"PHP, Composer en Node.js installeren met Homebrew (macOS)","href":"/nl/blog/mac-setup"},{"title":"PHP, Composer en Node.js installeren met WSL (Windows)","href":"/nl/blog/windows-setup"}]}]}]},{"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 van mei 2026 - Knowledge of Laravel","buildId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","deploymentId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","dynamics":["2bfc744e19"],"chunks":["NarrationPlayer-BRixlvrm.js","types-CiTgMxws.js","shallow-rkyymjXQ.js"]}