v3.0.0
Breaking Changes
get(),post(),put(),patch(),delete()methods no longer accept$middlewaresand$nameparametersaddRoute()now returnsRouteinstead ofvoid- Requires
solophp/contractsv1.2.0+
Added
- Fluent API with chainable
name()andmiddleware()methods onRoute - Support for multiple middlewares:
->middleware(Auth::class, Log::class) - Support for regex groups in paths:
/(admin|user)/profile
Changed
- Route name indexing is now lazy (built on first
getRouteByName()call) - Middleware type expanded to
callable|string
Fixed
- Static route detection now handles patterns with regex groups
Migration
Before (v2.x):
$r->get('/users', [UserController::class, 'index'], [AuthMiddleware::class], 'users.index');After (v3.0):
$r->get('/users', [UserController::class, 'index'])
->middleware(AuthMiddleware::class)
->name('users.index');