This year's Laracon keynote was absolutely insane! There were seven segments packed with open source goodies, AI-powered development tools, and infrastructure that'll make you rethink what modern web development can be. Here's everything that went down.
- 🎯 New Framework Features (Taylor Otwell)
- 🚀 Open Source Deep Dive (Joe Tannenbaum)
- 🤖 Laravel AI (Ashley Hindle)
- 🎨 Laravel Design (David Hill)
- 🌙 Nightwatch (Taylor Otwell)
- ⚒ Forge 2.0 (James Brooks)
- ☁️ Laravel Cloud (Joe Dixon)
Taylor kicked things off with welcoming everyone to Laracon and expressing how this eco-system has never felt stronger. After he spits some good vibes, he starts things off by talking about some new framework features.
🎯 New Framework Features
Attribute-Based Container Bindings
Remember trudging over to your AppServiceProvider
to bind interfaces? Those days are numbered.
The Old Way:
$this->app->bind(PaymentProcessor::class, Stripe::class);
The New Way:
#[Bind(Stripe::class)]
interface PaymentProcessor
{
// That's it. You're done.
}
But wait, there's more! Environment-specific bindings are here:
#[Bind(Stripe::class)]
#[Bind(FakeStripe::class, environments: ['local'])]
interface PaymentProcessor
{
// Production gets real Stripe, local gets fake version
}
The attribute also supports #[Singleton]
and #[Scoped]
decorators for fine-grained instance management—especially useful for queued jobs and Octane applications.
Fluent URI Builder: URL Manipulation That Doesn't Suck
If you've ever tried to manually manipulate URL strings and wanted to throw your computer out the window, this one's for you.
Instead of string concatenation nightmares:
$uri = URI::for('https://laravel.com')
->withPath('/docs')
->withQuery(['version' => '11.x', 'page' => 'routing'])
->withoutQuery('page') // Remove a query param
->withFragment('installation');
The real elegance? You can return these URI objects directly from routes:
Route::get('/redirect', function() {
return URI::route('users.index')
->withQuery(['filter' => 'active']);
});
Laravel automatically generates redirects. The readability is chef's kiss perfect.
Cache Memoization: Fix Performance Without Thinking
Picture this: you're calling Cache::get('expensive-key')
multiple times throughout a single request. Each call hits your cache store, even though you're asking for the same thing.
In Taylor's demo, a route that called the cache four times resulted in four actual cache queries. Not ideal.
The Solution:
// Instead of this
$value = Cache::get('expensive-key');
// Do this
$value = Cache::memoGet('expensive-key');
Laravel keeps the value in memory after the first retrieval. Subsequent calls return instantly without hitting the cache store.
The clever bit? If you Cache::put()
a new value during the request, Laravel automatically updates the memoized version. No stale data, no manual cache busting.
🚀 Open Source Deep Dive
Joe took the stage to deliver some serious open source improvements that'll make your daily development life significantly better.
Broadcasting's JavaScript Makeover
The old php artisan install:broadcasting
command got a complete overhaul. Instead of choosing a provider and figuring out the rest yourself, Laravel now asks for all required information upfront:
- Automatically writes correct ENV keys to your
.env
file - Provides Vite configuration keys for JavaScript consumption
- Detects your frontend framework (Vue/React) and configures accordingly
- Installs appropriate Laravel Echo packages automatically
Goodbye Boilerplate, Hello Hooks
Remember this nightmare?
// Old way - lifecycle management hell
onMounted(() => {
channel = Echo.channel('orders')
.listen('OrderShipped', (e) => {
// handle event
});
});
onUnmounted(() => {
Echo.leave('orders');
});
Now it's just this:
// New way - clean hooks
const { data } = useEcho({
channel: 'orders',
event: 'OrderShipped'
});
The hooks automatically handle mounting/unmounting, provide type safety, and come in flavors for public, private, presence, and model channels. Available for both Vue and React!
Streaming Made Simple
While Laravel's server-side streaming is already fantastic (10 lines of code!), consuming these streams on the JavaScript side was getting messy.
Enter stream hooks:
const { data, isStreaming, cancel, restart } = useStream('/api/chat');
These hooks automatically concatenate streaming data, provide connection state, handle cancellation, and parse JSON. All the complexity hidden behind one powerful hook.
Inertia Forms Revolution
Traditional Inertia forms require a lot of boilerplate with useForm()
.
The new Inertia Form component is a drop-in replacement for the HTML form tag:
<Form action="/login" method="post" v-slot="{ data, errors, processing }">
<input name="email" />
<input name="password" />
<button :disabled="processing">Login</button>
</Form>
No more v-model
bindings, no more form.something
references everywhere. Just use name
attributes and get form state through slot props. Launching in the next couple weeks.
Laravel Wayfinder: Type Safety Nirvana
Joe addressed the elephant in the room—the gap between PHP and TypeScript. The client needs to know what the server has defined, but it's often just educated guesses with magic strings.
Magic Strings Are Dead
Instead of writing post('/login', ...)
, Wayfinder automatically generates TypeScript definitions for your routes:
import { store } from './authenticated-session-controller'
The route becomes a beautifully typed object with method
and URL
properties. Change your PHP route from POST to PUT? It automatically reflects in your client-side code.
Inertia Gets a Type Safety Makeover
Wayfinder understands your entire Inertia setup:
- What props your components receive
- What shape your request data should be
- What your server expects when you submit forms
Change a server-side form request, and boom—TypeScript definitions update automatically. Add a required active
boolean field to your PHP validation? Your frontend immediately shows a red squiggly line if you forget to include it.
Beyond Inertia: Standard HTTP Gets Love Too
Not using Inertia? Wayfinder works with standard fetch requests too. Your analytics endpoint expects specific page values? Wayfinder provides autocomplete for valid values based on your validation rules.
Laravel Ranger: The Engine Behind the Magic
Wayfinder is built on Laravel Ranger, a more general-purpose package that walks your Laravel app and discovers "interesting things"—models, enums, validation rules—and converts them into well-typed DTOs.
Want auto-generated JSON schemas that perfectly match your PHP models? Ranger's got you covered.
Timeline:
- Echo and streaming hooks: Available now
- Inertia form component: Coming in a couple weeks
- Wayfinder and Ranger: Public beta "very, very soon" with full release fall 2025
🤖 Laravel AI
Ashley Hindle introduced how Laravel is stepping into the world of AI. LLMs are decent at PHP and Laravel, but there are still gaps in day-to-day development assistance.
Laravel Boost: Your AI Coding Starter Kit
Meet Laravel Boost, a Composer package that transforms AI pair programming from "maybe helpful" to "actually useful."
Three Core Features That Matter
1. Laravel-Specific MCP Server Your AI agent gets real Laravel superpowers:
- Query your database directly
- Run code through Tinker
- Search documentation
- Understand your project structure
2. Version-Specific Documentation Laravel has vectorized the entire ecosystem documentation, but it's version-aware. Using Laravel 10 with Inertia 1.x? You get exact docs for that combination.
3. Laravel-Maintained AI Guidelines Boost automatically creates configuration files for Cursor, Juni, GitHub Copilot, and Claude with carefully curated, version-specific guidelines.
Installation: Simple as It Should Be
composer require laravel/boost --dev
php artisan boost:install
The interactive installer auto-detects your IDE setup, figures out which packages you're using, and discovers project-specific guidelines.
It automatically discovers guidelines based on your exact package versions—13 different guidelines in the demo, including Inertia V2, PHPUnit, Flux UI, and Tailwind 4.
Project-specific guidelines use Blade templating. Want to query the database in your guidelines? Go for it.
The Arsenal of Tools
The MCP server includes:
- List artisan commands
- Query the database
- Get absolute URLs from relative paths
- Search documentation
- Browser logs
- Application info
Before and After: Night and Day
Without Boost: AI creates functional code that would get rejected in code review.
With Boost: AI searches documentation, finds the correct approach, and implements it properly using the right components.
The search docs tool makes all the difference.
Best part? Laravel Boost launches free within two weeks of Laracon 2025.
🎨 Laravel Design
David Hill explained how Laravel's design team grew from one to six people in the past year. But they're not just making things pretty—they're data mining user feedback:
"We listen, we read, and we watch everything that you share... from your tweets to your support emails, your blog posts, your podcasts, your YouTube videos, and, yes, even the delightful Reddit posts."
This explains why Laravel products feel like they were built by people who actually use them.
🌙 Nightwatch Updates
Taylor announced immediate improvements:
New Pricing:
- Increased included events across all plans
- Additional events now cost 50 cents per 100,000 (significant reduction)
New Features (Available Today):
- Cache Insights Page: See cache hits, misses, and hit rates
- Slack Integration: Get exceptions pushed to Slack channels
And yes, Nightwatch Light Mode is here—properly rethought for accessibility, not just inverted colors.
⚒ Forge 2.0
James Brooks unveiled Forge 2.0—over a year in development. Built with Vue 3, TypeScript, and Inertia, featuring a new UI that mirrors Laravel Cloud while maintaining Forge's personality.
The new interface focuses on contextually relevant information: recent servers, sites, deployments, and activity feeds.
Laravel VPS: The Game Changer
Taylor announced Laravel VPS—purchase servers directly from Laravel through their DigitalOcean partnership. No more API keys, no complex setup. Just sign up for Forge and start creating servers. Taylor set a goal for sub-minute server provisioning. They demolished it—servers ready in 5-10 seconds. The live demo showed a fully operational server with database credentials ready almost instantly.
Plus, you get a free .onforge.com
domain—no more sharing IP addresses or setting up DNS before showing clients a working URL.
Professional-Grade Features
Zero Downtime Deployments: Your deployment runs in a new release directory, gets fully prepared, then becomes active. No more crossing fingers during deployments.
Health Checks: After deployment, Forge automatically pings your site from multiple locations worldwide. If something's broken, you know immediately.
Heartbeat Monitoring: Create a heartbeat, get a URL, ping it when scheduled tasks complete. If Forge doesn't hear from your scheduler, you get notified.
Beyond Laravel: Nuxt.js Support
The demo showed a Nuxt.js application with full SSR support, signaling Forge's expansion beyond just Laravel applications.
The Terminal Integration That Changes Everything
Remember SSH key management, copying IP addresses, and the whole dance just to debug something? That's dead.
Control+Backtick drops you into a server terminal. That's it. Full auto-completion, PHP version checks, HTOP—a complete SSH session in your browser.
Site-level terminal access drops you right into that site's directory.
The collaboration features blew minds—see when team members start sessions and join them in real-time. Pair programming for server debugging.
Timeline: All Forge updates launch in 8 weeks.
☁️ Laravel Cloud
Joe Dixon showed how Laravel Cloud is reimagining modern PHP app hosting.
Starter Kits That Deploy Themselves
Pick Laravel, Livewire, Vue, or React. Pick your repo name and region. Boom:
- GitHub repo created
- Starter files pushed
- App deployed
- Auto-deploy setup complete
From idea to deployed app in under a minute.
Auto-Scaling That Actually Thinks
Set custom CPU and memory thresholds for granular scaling control.
It's like having a full-time DevOps engineer who doesn't sleep or mess up.
Managed Queue Clusters: The Horizon Alternative
Set rules like "If jobs wait more than 5 seconds, scale up." Cloud watches CPU, memory, queue length, throughput, job wait times, and worker activity—then auto-scales vertically or horizontally in real time.
The demo with 2,000 jobs showed real-time scaling with replica visualization.
WebSockets with One Click (Managed Reverb)
Spinning up WebSocket servers:
- Click "Add Resource"
- Select "WebSockets"
- Choose connection limit
- Click "Create"
- Done
All Reverb environment variables auto-injected, CORS handled, each app gets isolated instances sharing server infrastructure.
Shipping Schedule
✅ Available Today:
- Production-ready MySQL
- Starter Kits with auto-deploy
- Auto-scaling threshold controls
🕒 Coming August 12:
- New Starter & Pro plan pricing
- Custom domains on every plan
- Smart queue clusters
🍂 Coming This Fall:
- Fully managed Reverb
- Laravel Valkey (open-source Redis alternative)
- Cloud API for DevOps automation
- Role-based access control
- Dedicated regions + enterprise compute
🎬 The Wrap-Up
Taylor closed with a statement that resonated through the entire auditorium:
"There is no full stack experience like this. There's just nothing even close to this."
And honestly? He's absolutely right. The combination of Laravel's developer experience, AI-powered tooling with Laravel Boost, and this level of deployment and testing automation through Laravel Cloud creates something genuinely unprecedented in web development.
We're not just watching Laravel evolve—we're watching the future of web development unfold before our eyes. From attribute-based bindings that eliminate boilerplate, to AI that actually understands your codebase, to infrastructure that scales itself while you sleep, Laravel continues to push the boundaries of what's possible.
The ecosystem has never been stronger, and if this keynote is any indication, we're just getting started. 🚀
Want to dive deeper into any of these features? Check out the official Laravel documentation and keep an eye on the release announcements. The future is here, and it's more exciting than we ever imagined.
Comments (0)