چرخهٔ انتشار لاراول: سالی یک نسخهٔ اصلی
خلاصهٔ کاملتر
Laravel News تو مقالهای به قلم پاول ردموند چرخهٔ انتشار لاراول رو یهجا مرتب کرده. خلاصهش اینه: سالی یه نسخهٔ اصلی، معمولاً تو سهماههٔ اول سال، و بینشون تقریباً هر سهشنبه یه نسخهٔ ماینر یا پچ. لاراول ۱۳ نسخهٔ فعلیه و ۱۷ مارس ۲۰۲۶ منتشر شد؛ لاراول ۱۴ هم برای سهماههٔ اول ۲۰۲۷ انتظار میره.
لاراول از نسخهٔ ۶ و سپتامبر ۲۰۱۹ رفت روی semantic versioning (یعنی هر بخش عدد نسخه یه معنی ثابت داره). تو 13.33.0 عدد اول وقتی عوض میشه که تغییر ناسازگار (breaking change) داشته باشیم، عدد دوم وقتی ویژگی جدید سازگار با نسخهٔ قبل اضافه شه، و عدد سوم فقط برای رفع باگ. قبل از لاراول ۶ عدد دوم نقش نسخهٔ اصلی رو داشت، یعنی رفتن از ۵.۴ به ۵.۵ میتونست برنامهت رو بشکنه.
پس عدد ماینری که رفته تو دههٔ سیام، معنیش این نیست که عقب موندی. اکثر ویژگیهای جدید همون تو نسخههای هفتگی میآن و نسخهٔ اصلی فقط چیزهایی رو نگه میداره که یه جا رو میشکنن. نویسنده میگه تو composer.json از قید caret استفاده کن:
"require": {
"laravel/framework": "^13.0"
}این قید همهٔ نسخههای 13.x رو قبول میکنه و سر 14.0 میایسته، یعنی نسخههای هفتگی با یه composer update ساده میآن و ارتقای اصلی تا وقتی خودت قید رو عوض نکنی صبر میکنه.
سیاست پشتیبانی جای دقت داره: هر نسخهٔ اصلی ۱۸ ماه رفع باگ و دو سال وصلهٔ امنیتی میگیره و دیگه هیچ نسخهٔ LTS وجود نداره؛ آخریش لاراول ۶ بود. الان لاراول ۱۰ و ۱۱ به آخر عمر رسیدن، لاراول ۱۲ فقط تا ۲۴ فوریهٔ ۲۰۲۷ وصلهٔ امنیتی میگیره و ۱۳ تنها نسخهایه که رفع باگ میگیره. رفع باگ لاراول ۱۲ هم ۱۳ اوت ۲۰۲۶ تموم شد، پس به گفتهٔ نویسنده ارتقا رو باید دور همون پنجرهٔ ۱۸ ماهه برنامهریزی کنی، نه پنجرهٔ دوسالهٔ امنیتی.
دو نکتهٔ ریز هم هست که راحت از دست میرن. اول اینکه named arguments جزو تضمین سازگاری لاراول نیست، پس تیم میتونه اسم پارامتر یه متد رو حتی تو یه نسخهٔ ماینر عوض کنه و کدی مثل Cache::put(key: 'foo', value: 'bar') بشکنه. دوم اینکه بالا بردن حداقل نسخهٔ PHP خودش یکی از همون تغییرهای ناسازگاره: لاراول ۱۳ به PHP 8.3 نیاز داره و لاراول ۱۴ به PHP 8.4.
نکات کلیدی:
- لاراول ۱۳ در ۱۷ مارس ۲۰۲۶ منتشر شد و تا ۲۲ سپتامبر ۲۰۲۶ به نسخهٔ ۱۳.۳۳ رسیده بود.
- هر نسخهٔ اصلی ۱۸ ماه رفع باگ و ۲۴ ماه وصلهٔ امنیتی میگیره؛ LTS از لاراول ۶ به بعد حذف شده.
- قید ^13.0 همهٔ نسخههای 13.x رو میگیره و تا 14.0 جلو نمیره.
- named arguments تحت تضمین سازگاری نیست و میتونه تو یه نسخهٔ ماینر بشکنه.
- لاراول ۱۳ به PHP 8.3 و لاراول ۱۴ به PHP 8.4 نیاز داره.




