لاراول 13 منتشر شد؛ قابلیتهای جدید، تغییرات مهم و آموزش ارتقا
لاراول 13 با SDK رسمی هوش مصنوعی، جستجوی برداری و PHP 8.3 منتشر شده است. قابلیتهای جدید، جدول پشتیبانی، تغییرات ناسازگار و مراحل ارتقا از Laravel 12 را بخوانید.
فهرست مطالب
- تاریخ انتشار و حداقل نسخهٔ PHP
- سیاست پشتیبانی Laravel 11، 12 و 13
- مهمترین قابلیتهای جدید Laravel 13
- Laravel AI SDK
- جستجوی معنایی و برداری
- PHP Attributes در بخشهای بیشتر
- Queue Routing و Cache::touch
- JSON:API Resources و محافظت از جعل درخواست
- تغییرات ناسازگار (Breaking Changes)
- راهنمای ارتقا از Laravel 12 به Laravel 13
- بهروزرسانیهای اکوسیستم
- نکتههای مهم برای توسعهدهندگان ایرانی
- دسترسی به Composer و Packagist
- نسخهٔ PHP هاست اشتراکی
- سرویسهای هوش مصنوعی
- سؤالات متداول
- لاراول 13 چه زمانی منتشر شد؟
- لاراول 13 به چه نسخهای از PHP نیاز دارد؟
- ارتقا از Laravel 12 به 13 چقدر زمان میبرد؟
- آیا Filament با Laravel 13 سازگار است؟
- آیا باید همین حالا از Laravel 12 ارتقا بدهم؟
- جمعبندی
لاراول 13 (Laravel 13) روز ۲۶ اسفند ۱۴۰۴ (۱۷ مارس ۲۰۲۶) منتشر شد و حالا چند ماه است که نسخهٔ اصلی این فریمورک محبوب PHP به حساب میآید. تیم لاراول در این نسخه دو هدف را دنبال کرده است: ابزارهای رسمی برای ساخت اپلیکیشنهای مبتنی بر هوش مصنوعی و کمکردن تغییرات ناسازگار. نتیجه نسخهای است که به گفتهٔ مستندات رسمی، ارتقا به آن از Laravel 12 حدود ۱۰ دقیقه زمان میبرد.
در این مقاله میخوانید Laravel 13 به چه نسخهای از PHP نیاز دارد، تا کی پشتیبانی میشود، مهمترین قابلیتهایش چیست و کدام تغییرات ممکن است پروژهٔ شما را بشکنند. در ادامه، مراحل ارتقا از Laravel 12 را قدمبهقدم مرور میکنیم و به مشکلات رایج توسعهدهندگان ایرانی، مثل دسترسی به Composer و نسخهٔ PHP هاستهای اشتراکی، هم میپردازیم.
تاریخ انتشار و حداقل نسخهٔ PHP
Laravel 13 در ۱۷ مارس ۲۰۲۶ منتشر شد. طبق سیاست لاراول، هر نسخهٔ اصلی تقریباً سالی یک بار عرضه میشود و این نسخه هم در همان بازهٔ مورد انتظار یعنی سهماههٔ اول ۲۰۲۶ آمد.
مهمترین شرط نصب، PHP 8.3 یا بالاتر است. نسخههای 8.3، 8.4 و 8.5 رسماً پشتیبانی میشوند. پس اگر پروژهٔ Laravel 12 شما هنوز روی PHP 8.2 اجرا میشود، اول باید PHP را بهروز کنید. من سایت شخصی خودم را روی Laravel 13 با PHP 8.4 و Filament 5 اجرا میکنم و تا امروز مشکل خاصی از بابت سازگاری نداشتهام.
سیاست پشتیبانی Laravel 11، 12 و 13
لاراول برای هر نسخهٔ اصلی ۱۸ ماه رفع باگ و ۲ سال بهروزرسانی امنیتی ارائه میکند. جدول زیر بر اساس مستندات رسمی laravel.com تنظیم شده است:
| نسخه | نسخههای PHP | تاریخ انتشار | رفع باگ تا | بهروزرسانی امنیتی تا |
|---|---|---|---|---|
| Laravel 11 | 8.2 تا 8.4 | 12 مارس 2024 | 3 سپتامبر 2025 | 12 مارس 2026 |
| Laravel 12 | 8.2 تا 8.5 | 24 فوریه 2025 | 13 آگوست 2026 | 24 فوریه 2027 |
| Laravel 13 | 8.3 تا 8.5 | 17 مارس 2026 | سهماههٔ سوم 2027 | 17 مارس 2028 |
نکتهٔ مهم: پشتیبانی امنیتی Laravel 11 تمام شده و دورهٔ رفع باگ Laravel 12 هم از مرداد ۱۴۰۵ به پایان رسیده است. Laravel 12 تا اسفند ۱۴۰۵ فقط وصلهٔ امنیتی میگیرد، پس الان زمان خوبی برای برنامهریزی ارتقاست.
مهمترین قابلیتهای جدید Laravel 13
Laravel AI SDK
بزرگترین خبر این نسخه، SDK رسمی هوش مصنوعی است. این پکیج یک API یکپارچه برای تولید متن، ایجنتهای دارای ابزار، embedding، صدا و تصویر فراهم میکند و از ارائهدهندههایی مثل OpenAI، Anthropic، Gemini، Mistral و Ollama پشتیبانی میکند. نصب با composer require laravel/ai انجام میشود و ایجنت را با php artisan make:agent SalesCoach میسازید:
use App\Ai\Agents\SalesCoach;
$response = SalesCoach::make()->prompt('Analyze this sales transcript...');
return (string) $response;جستجوی معنایی و برداری
کوئریبیلدر حالا متد whereVectorSimilarTo دارد. اگر بهجای بردار یک رشتهٔ ساده بدهید، لاراول با کمک AI SDK خودش embedding را میسازد. این قابلیت فعلاً روی PostgreSQL با افزونهٔ pgvector و MariaDB 11.7 و بالاتر کار میکند:
$documents = DB::table('documents')
->whereVectorSimilarTo('embedding', 'Best wineries in Napa Valley')
->limit(10)
->get();PHP Attributes در بخشهای بیشتر
Laravel 13 در بیش از ۱۵ بخش از فریمورک از PHP Attributes پشتیبانی میکند؛ از جمله کنترلرها، مدلها، جابها و کامندها. این قابلیت اختیاری است و روش قبلی مبتنی بر property همچنان کار میکند. برای جابها هم attributeهایی مثل #[Tries]، #[Backoff] و #[Timeout] اضافه شده است:
#[Middleware('auth')]
class CommentController
{
#[Middleware('subscribed')]
#[Authorize('create', [Comment::class, 'post'])]
public function store(Post $post)
{
// ...
}
}Queue Routing و Cache::touch
با Queue::route میتوانید اتصال و صف پیشفرض هر جاب را در یک نقطه تعیین کنید. متد Cache::touch هم عمر (TTL) یک آیتم کش را بدون خواندن و ذخیرهٔ دوباره تمدید میکند:
Queue::route(ProcessPodcast::class, connection: 'redis', queue: 'podcasts');
Cache::touch('key', 3600);JSON:API Resources و محافظت از جعل درخواست
لاراول حالا Resourceهای رسمی مطابق استاندارد JSON:API دارد و دیگر برای این کار به پکیج جانبی نیازی نیست. میدلور CSRF هم با نام تازهٔ PreventRequestForgery مبدأ درخواست را با هدر Sec-Fetch-Site بررسی میکند.
تغییرات ناسازگار (Breaking Changes)
راهنمای رسمی ارتقا تغییرات را بر اساس احتمال اثرگذاری دستهبندی کرده است. مهمترین موارد:
اثر زیاد: میدلور
VerifyCsrfTokenبهPreventRequestForgeryتغییر نام داده است. نامهای قبلی بهصورت alias منسوخ باقی ماندهاند، ولی بهتر است ارجاعها را اصلاح کنید.اثر متوسط: گزینهٔ جدید
serializable_classesدر تنظیمات کش بهطور پیشفرضfalseاست. اگر اشیای PHP را در کش ذخیره میکنید، باید کلاسهای مجاز را صریحاً فهرست کنید.اثر متوسط: متد
upsertدر MySQL و MariaDB حالا با مقدار خالیuniqueByخطایInvalidArgumentExceptionمیدهد.اثر کم: پیشوند پیشفرض کش و Redis و نام کوکی سشن بهجای underscore از خط تیره استفاده میکند. اگر این مقادیر را در
.envتعیین نکرده باشید، کش قبلی نادیده گرفته میشود.اثر کم: نام ویوهای صفحهبندی Bootstrap 3 صریح شدهاند (
pagination::bootstrap-3) و در رویدادQueueBusyویژگی$connectionبه$connectionNameتغییر نام داده است.
راهنمای ارتقا از Laravel 12 به Laravel 13
یک branch جدید در Git بسازید و از دیتابیس نسخهٔ پشتیبان بگیرید.
با
php -vمطمئن شوید PHP روی سیستم خودتان و روی سرور 8.3 یا بالاتر است.وابستگیهای
composer.jsonرا بهروز کنید:"laravel/framework": "^13.0", "laravel/boost": "^2.0", "laravel/tinker": "^3.0", "phpunit/phpunit": "^12.0", "pestphp/pest": "^4.0"دستور
composer updateرا اجرا کنید و هر پکیج جانبی را که هنوز Laravel 13 را پشتیبانی نمیکند، بهروز یا جایگزین کنید.فهرست تغییرات ناسازگار را مرور کنید؛ بهخصوص CSRF، تنظیمات کش و پیشوندهای کش و سشن.
اگر وقت کمی دارید، از Laravel Shift استفاده کنید. این سرویس جامعهمحور ارتقا را خودکار میکند و یک Pull Request با commitهای تفکیکشده تحویل میدهد. Laravel Boost نسخهٔ 2 هم دستور
/upgrade-laravel-v13را برای ایجنتهای کدنویسی مثل Claude Code و Cursor دارد.تستها را با
php artisan testاجرا کنید و بعد از سبز شدن همه، ابتدا روی محیط staging منتشر کنید.
بهروزرسانیهای اکوسیستم
Starter Kitها: کیتهای React، Vue، Svelte و Livewire با Laravel 13 و Inertia v3 عرضه میشوند و میتوانند از روز اول با مدیریت تیم (Teams) ساخته شوند. احراز هویت با Laravel Fortify و ورود دومرحلهای بهصورت پیشفرض فعال است.
Laravel Boost: یک سرور MCP است که به ایجنتهای هوش مصنوعی اطلاعات دقیق دربارهٔ ساختار پروژه، دیتابیس و مستندات هر نسخه میدهد. نصب با
composer require laravel/boost --devو سپسphp artisan boost:installانجام میشود.Filament: Filament 5 (نسخههای 5.8 به بعد) در وابستگیهای خود Laravel 13 را پذیرفته است و با Livewire 4 کار میکند.
نکتههای مهم برای توسعهدهندگان ایرانی
دسترسی به Composer و Packagist
دانلود پکیجها از packagist.org و GitHub گاهی از داخل ایران کند است یا قطع میشود. برای همین چند میرور Packagist در دسترس است که فهرست پکیجها و فایلها را کش میکنند. آنها را با تنظیم repos.packagist در Composer معرفی میکنید. قبل از استفاده از هر میرور غیررسمی، اعتبار گردانندهاش را بسنجید و فایل composer.lock را در مخزن نگه دارید تا نسخهها و hashها کنترل شوند.
نسخهٔ PHP هاست اشتراکی
بسیاری از هاستهای اشتراکی ایرانی با cPanel یا DirectAdmin چند نسخهٔ PHP را از طریق ابزاری مثل «Select PHP Version» ارائه میکنند، اما نسخهٔ پیشفرض گاهی قدیمیتر از 8.3 است. قبل از ارتقا، نسخهٔ PHP هاست را در پنل یا با phpinfo() بررسی کنید و اگر 8.3 وجود ندارد، از پشتیبانی بخواهید یا به VPS مهاجرت کنید. دستور composer check-platform-reqs هم نشان میدهد سرور همهٔ نیازمندیها را دارد یا نه.
سرویسهای هوش مصنوعی
بعضی ارائهدهندههای هوش مصنوعی به دلیل تحریم، ایران را در فهرست کشورهای پشتیبانیشده ندارند. خود AI SDK متنباز است، اما استفاده از آن به قوانین و دسترسی ارائهدهندهٔ انتخابی بستگی دارد. مدلهای محلی مثل Ollama گزینهای برای تست روی سیستم شخصی هستند.
سؤالات متداول
لاراول 13 چه زمانی منتشر شد؟
Laravel 13 روز ۱۷ مارس ۲۰۲۶ (۲۶ اسفند ۱۴۰۴) منتشر شد.
لاراول 13 به چه نسخهای از PHP نیاز دارد؟
حداقل PHP 8.3. نسخههای 8.3، 8.4 و 8.5 پشتیبانی میشوند.
ارتقا از Laravel 12 به 13 چقدر زمان میبرد؟
مستندات رسمی زمان تقریبی را ۱۰ دقیقه اعلام کرده است. در پروژههای بزرگ با پکیجهای زیاد، بررسی وابستگیها و تستها ممکن است بیشتر طول بکشد.
آیا Filament با Laravel 13 سازگار است؟
بله. Filament 5 در نسخههای اخیرش Laravel 13 را پشتیبانی میکند و خودم آن را روی یک پروژهٔ واقعی استفاده میکنم.
آیا باید همین حالا از Laravel 12 ارتقا بدهم؟
دورهٔ رفع باگ Laravel 12 تمام شده و فقط تا ۲۴ فوریه ۲۰۲۷ وصلهٔ امنیتی میگیرد. چون ارتقا ساده است، بهتر است آن را در برنامهٔ چند هفتهٔ آینده قرار دهید.
جمعبندی
Laravel 13 نسخهای کمدردسر و در عین حال پربار است: SDK رسمی هوش مصنوعی، جستجوی برداری، Attributeهای بیشتر و JSON:API داخلی، همراه با تعداد کمی تغییر ناسازگار. اگر PHP سرورتان 8.3 یا بالاتر است و تست خوبی دارید، ارتقا از Laravel 12 کار یک عصر است. توسعهدهندگان ایرانی فقط باید از قبل به دسترسی Composer و نسخهٔ PHP هاست فکر کنند.
منابع: Release Notes و Upgrade Guide رسمی laravel.com، وبلاگ Laravel (March Product Updates)، Laravel News و Packagist/GitHub (مارس تا سپتامبر ۲۰۲۶).
دیدگاهها (۰)
هنوز دیدگاهی ثبت نشده. اولین نفر باشید!
دیدگاه خود را بنویسید