Laravel + AI news
Releases, posts, and packages from 16 sources — pulled every 30 minutes, deduplicated, and linked straight back to the publisher.
[13.x] Fix race condition with jobs using both onOneServer() and withoutOverlapping() by @tanerkay in #62007 [13.x] Respect faked Sleep in limiter block() timeout by @grzegorczykp in #62017 [13.x] Improve getForeignKeys...
Laravel 13.36 adds Rule:: methods for required_with, accepted_if, url, uuid, distinct, and the other string-only validation rules, with IDE autocompletion.
Spatie's Laravel URL AI Transformer fetches web pages, runs them through Laravel AI agents, and stores JSON-LD, summaries, or schema-validated data.
Resend is now a first-party Laravel Cloud integration. Connect once, verify a domain, and attach email to an environment like any other resource.
Laravel 13.36 adds Rule:: builders for the remaining validation rules, DB::olap() for PlanetScale, and an option to reset sticky connections between queue jobs.
What's Changed Fix notification slide-in direction in RTL by @yousef-aman in #20670 fix: sort by multiple columns in the order they are passed by @jnbn in #20676 fix(notifications): tolerate non-array items when restorin...
What's Changed Fix notification slide-in direction in RTL by @yousef-aman in #20670 fix: sort by multiple columns in the order they are passed by @jnbn in #20676 fix(notifications): tolerate non-array items when restorin...
PHP News is a new site from Eric Barnes and Matt Stauffer covering PHP core, RFCs, releases, packages, and events, plus a free weekly PHP newsletter.
[12.x] Address query issues by @taylorotwell in #61838 [12.x] Backport EncodedParameter from #61610 by @mahdyaralipor in #61871 [12.x] Generate different cache file based on configured $echoFormat by @crynobone in #61822
[12.x] Make the worker timed out exit code reachable by @kieranbrown in #61623 [12.x] Support named S3 credential providers and Cloud IAM disks by @kieranbrown in #61757 [12.x] Address query issues by @taylorotwell in #6...
Ryan Chandler makes a strong case for keeping PR descriptions human-written, even when agents handle most of the implementation. The piece focuses on ownership, review context, and why a concise explanation from the pers...
Inertia.js v3.9 adds a background option to pause polling in hidden tabs, a navigate event type for history restores, and fixes for back navigation.
What's Changed [3.x] Backport color picker lifecycle cleanup by @dbpolito in #20654 [3.x] Fix select refresh listener memory leak by @dbpolito in #20650 [3.x] Skip deferred modal opens after teardown by @dbpolito in #206...
A clear overview of PHP 8.6's readonly property defaults RFC, why the old restriction existed, and why interface properties made it worth revisiting. It also covers the practical edge cases, so you know where the new syn...
Puzzle Party isn't a game. It's a place to play the games you're already playing --- Wordle, Connections, Strands, crosswords, and other daily puzzles --- with people you already know.
BashBox runs AI-generated bash scripts in pure PHP, with a virtual filesystem, execution limits, and opt-in network access. No exec or proc_open calls.
A clear walkthrough of Laravel's Context feature and how it lets execution-scoped information travel through your app. It also explains why that matters for logging, queued jobs, and keeping trace data available without...
Laravel 13.35 adds Schedule::alwaysOnOneServer() to run every task once across servers, and a way for long scheduled commands to stop during a deploy.
Over the past few weeks I've posted a couple of times about There There, the helpdesk we're building at Spatie. After two decades of running our own customer support, we decided to stop compromising on tools and build th...
Laravel 13.35 lets assertPushed(), assertDispatched(), and assertSentTo() take an array of expected properties in place of a callback.
What's Changed fix: avoid null array offset in responsive column visibility checks by @rafafdez-fillthegapp in #20665 fix: ignore stale select search results after clearing search by @people-sea in #20664 fix: hide resid...
What's Changed fix: avoid null array offset in responsive column visibility checks by @rafafdez-fillthegapp in #20665 fix: ignore stale select search results after clearing search by @people-sea in #20664 fix: hide resid...
At Spatie we build SaaS apps with Laravel on the backend and Inertia with React on the frontend. That split means two type systems have to agree about every payload that crosses between them. Laravel data going out, Type...
Laravel 13.35 adds Route::query(), an opt-in defaults() method for models, property arrays in fake assertions, percentage worker memory limits, and more.
Laravel AI SDK 1.1 adds Agent Skills support, Cohere text generation, approval for built-in tools, and failover that skips provider tools a provider lacks.
New Features feat: add rich editor grid controls by @danharrin in #20585 feat: add assistive content to chart widgets by @danharrin in #20628 feat: inject related records into item closures by @danharrin in #20633 feat:...
New Features feat: add rich editor grid controls by @danharrin in #20585 feat: add assistive content to chart widgets by @danharrin in #20628 feat: inject related records into item closures by @danharrin in #20633 feat:...
VMPal gives your AI agent its own macOS, Windows, or Linux VM on Apple silicon, so Claude Code or Codex can work without you approving every prompt.
[13.x] Allow fake assertions to accept an array of properties by @jackbayliss in #61770 [13.x] Support percentages for queue:work --memory by @jackbayliss in #61753 [13.x] Let long-running scheduled commands see schedule...
There There, the helpdesk we're building at Spatie, is a project of learned habits. Twenty-some years of writing Laravel apps has taught us which patterns pay off and which ones quietly rot. One that keeps earning its ke...
Synapse from Redberry lists your Laravel AI SDK agents, lets you chat with them in the browser, and shows their tool calls and token usage.
Grant defines Laravel roles and permissions with PHP enums, stores role assignments in the database, and checks access through Laravel's Gate.
A single yes or no doesn't tell you much about a draft. In this episode of Decide with Jev, we ask Jev three questions in one request and get back a Boolean, a choice and a score. Then we read every part of each answer i...
If you keep up with Filament news, you've likely heard that there are now over 1,000 community plugins in the Filament plugins directory. So with these 1,000 plugins and growing, it's time to talk about how Filament hand...
A couple of posts back I walked through the agent and tools we built on top of the Laravel AI SDK for There There, the helpdesk we're putting together at Spatie. I ended that post on a small cliffhanger. We hand the agen...
What's Changed [3.x] fix: use valid Livewire upload references in restriction tests by @people-sea in #20400 chore(deps): bump zizmorcore/zizmor-action from 0.6.2 to 0.6.3 by @dependabot[bot] in #20453 chore(deps): bump...
LayaPHP sends text to a self-hosted model and returns typed classifications with confidence values for PHP and Laravel applications.
A video by the Syntax team on why they're using GPUI across more and more of their work. It offers a practical look at what makes GPUI appealing for modern tooling.
Read the full post on https://stitcher.io/blog/artificial-debt
A short video by Justin Jackson on ambition, motivation, and the question of how much you really want something. It looks like a thoughtful prompt for anyone building or creating over the long term.
Laravel Cloud added isolated preview environments and request metrics. The framework added per-tenant AI keys and semantic search. See what's new in September.
Inertia.js v3.8 adds a WhenMounted component for browser-only code under SSR, BigInt support for large integer props, Form callback fixes, and more.
Postcodes for Laravel adds typed GB postcode lookups, validation, geography data, distance searches, and test fakes through the GB Postcodes API.
A look back at Packagist's first 15 years, from the first Composer experiments to more than 200 billion package installs. It also covers the team's recent supply chain security work and what they're building next. Read m...
Laravel 14 adds a defaults() method to Eloquent models, so default attribute values can use config, feature flags, and dates instead of constant expressions.
Security advisories for the Laravel AI SDK and Laravel MCP fix an SSRF bug and an OAuth redirect issue. Here are the affected versions and how to update.
Pinkary's move from Laravel Forge to Laravel Cloud exposed SQLite and MySQL differences, query assumptions, and local-storage coupling. Here is the code-backed migration playbook.
Recently I wrote about how we use Jev in There There to detect spam, bounces, and automatic replies. Jev reads an incoming email and answers questions we define up front. We keep the probabilities and decide in our own c...
Laravel 13.34 counts worker crashes toward maxExceptions, notifies interruptible jobs before a timeout, adds job durations to JobProcessed, and more.
Mailbox for Laravel captures outgoing mail in a local dashboard and lets you test rendered HTML, recipients, and attachments with fluent assertions.
version
How Laravel releases work: one major version a year, weekly minor releases, 18 months of bug fixes, and support dates for Laravel 10 through 14.
Jason Cohen shares a blunt framework for separating the rare 10x opportunities from the many 0.1x tasks that quietly consume time. It is a strong piece on ruthless prioritization, delegation, and why most backlogs should...
[12.x] Make the worker timed out exit code reachable by @kieranbrown in #61623 [12.x] Support named S3 credential providers and Cloud IAM disks by @kieranbrown in #61757
[13.x] Include duration in JobProcessed event by @jackbayliss in #61672 [13.x] Notify job when a timeout is going to occur by @jackbayliss in #61651 [13.x] Add --queue option to queue:flush by @jackbayliss in #61630 Allo...
Elastic Bridge brings fluent Elasticsearch and OpenSearch queries to Laravel, with model-style documents, aggregations, pagination, and testing fakes.
Full Changelog: v4.4.6...v4.4.7
What's Changed [3.x] Stabilize loading delay browser test by @calebporzio in #10765 Stabilize query string browser tests on 3.x by @calebporzio in #10767 Full Changelog: v3.8.9...v3.8.10
Unlearn is free on October 10 and 11. Bring your Laravel app and a ticket from your backlog, then spec, build and review it with AI. Grab your weekend pass.
Large photo uploads can be slow, but resizing and compressing images in the browser can freeze the page if the work runs on the main thread. This article shows how to use a Web Worker to process images before uploading t...
Give every pull request its own preview environment on Laravel Cloud. Share a link, test the full stack, and let idle previews scale to zero.
Tashil is a Laravel package for subscription plans, feature limits, and usage tracking. It creates invoices and records payments from any gateway.
New Features feat: Add strict hierarchical breadcrumbs option by @ahmed-rashad-alnaggar in #20153 Add Rich Editor block icons, grid layout, search, and sticky controls by @imliam in #20448 Add minimal custom block contro...
New Features feat: Add strict hierarchical breadcrumbs option by @ahmed-rashad-alnaggar in #20153 Add Rich Editor block icons, grid layout, search, and sticky controls by @imliam in #20448 Add minimal custom block contro...
What Agent Experience engineering means in practice: discoverable code paths, scoped agent instructions, useful feedback, and human ownership of risky decisions. Read more
Decide with Jev is a new mini course where we build an app that checks if a draft does what its brief asked for. It uses Jev, an AI model from TypeSafe that answers with a number instead of text. In episode 1 we set it u...
Use Cache::memo()->tags() in Laravel to read tagged cache values once per request and serve repeat lookups from memory, with writes and flushes kept in sync.
JetBrains Air runs Claude Agent, Codex, Junie, and other AI coding agents in PhpStorm and other JetBrains IDEs, with team automations and AI cost controls.
Laravel 13.33 adds tags to Cache::memo(), a Refreshes attribute for generated columns, AsCollection::nullable(), inplace() index migrations, and more.
Laravel's new Refreshes attribute reloads storedAs and virtualAs columns after create() and update(), so the model has the database value without refresh().
Laravel AI SDK 1.0 is out with Jev classification, Vercel Chat and AG-UI streaming, approvable tool calls, and per-step agent middleware.
Laravel AI SDK v1.0 is here: one Laravel-native API for every provider, with conversation storage, streaming chat, agents, tool approvals, and Jev classification.
Watch all 17 Laravel Live Denmark 2026 talks on YouTube, including sessions on PHP, Inertia, NativePHP, security, AI, and open source.
Nuno Maduro, Brent Roose, and Matthieu Napoli spent two days at the JetBrains office building a full social network in PHP, and recorded all of it.
[13.x] Drop restart_syscalls from pcntl_signal in Worker by @jackbayliss in #61590 Adjust when password hash is stored for authenticated sessions by @taylorotwell in #61594 [13.x] Ability to opt out of killing the worker...
What's Changed Clarify quickstart form request and validation timing by @calebporzio in #10705 Correct the save-on-blur example in Alpine docs by @calebporzio in #10706 Fix PHP syntax in nesting documentation examples by...
Flare now has a dark mode, and this post walks through the design work needed to make it feel right and stay accessible. Nice details on semantic color tokens, fixing gradients and shadows, and using screenshot compariso...
Health for Laravel adds Kubernetes liveness, readiness, and startup probes, a Prometheus metrics endpoint, and 10 built-in health checks to your app.
What's Changed fix: collapse non-contained sections correctly by @people-sea in #20532 Full Changelog: v5.8.3...v5.8.4
What's Changed fix: collapse non-contained sections correctly by @people-sea in #20532 Full Changelog: v4.13.3...v4.13.4
What's Changed Swedish translations by @tanthammar in #20514 fix: bind Livewire's DataStore as a singleton by @jeffersongoncalves in #20515 Add missing Estonian translations by @ItsKaims in #20518 fix: correct FileUpload...
What's Changed Swedish translations by @tanthammar in #20514 fix: bind Livewire's DataStore as a singleton by @jeffersongoncalves in #20515 Add missing Estonian translations by @ItsKaims in #20518 fix: correct FileUpload...