دروبال 12 ونهاية دعم دروبال 10: خطة الترقية قبل ديسمبر

كتلة زجاجية قديمة تتشقق وكتلة جديدة مضيئة تحل محلها، ترمز إلى الترقية إلى دروبال 12 قبل نهاية دعم دروبال 10

لو موقعك لسه على دروبال 10، فالشهر ده هو آخر فرصة مريحة. في أسبوع واحد من ديسمبر 2026 بيصدر دروبال 12 وبيتوقف دروبال 10 عن استلام أي تحديث أمني، والاتنين على نفس صفحة جدول الإصدارات. الخبر الحلو إن الترقية نفسها أبسط بكتير مما تتخيل، لو مشيت بالترتيب الصح.

بصراحة: هذا المقال قراءة في وثائق دروبال الرسمية ودليل ترقية مفصّل نشرته شركة تطوير متخصصة، وليس تجربة ترقية نفّذناها بأنفسنا. راجع كل رقم إصدار في صفحة المتطلبات الرسمية قبل أن تحجز أي عمل على السيرفر.

الموعدان اللذان يحددان خطتك

حسب جدول إصدارات نواة دروبال، يصدر دروبال 12.0.0 في أسبوع 7 ديسمبر 2026 ومعه دروبال 11.5.0. بعدها بيومين، في 9 ديسمبر 2026، يصل دروبال 10 إلى نهاية الدعم (End of Life)، ولن تصدر له أي نسخة أو نشرة أمنية بعد ذلك.

نحن الآن في أول نوفمبر، والإصدارات المرشحة (RC) لدروبال 12 و11.5 مجدولة لأسبوع 9 نوفمبر. يعني الوقت المتبقي لموقع على دروبال 10 حوالي خمسة أسابيع.

التاريخما يحدث
أسبوع 9 نوفمبر 2026الإصدارات المرشحة لـ Drupal 12.0.0 و11.5.0
أسبوع 7 ديسمبر 2026صدور Drupal 12.0.0 و11.5.0، وانتهاء الدعم الأمني لفرعي 11.3.x و10.6.x
9 ديسمبر 2026نهاية دعم Drupal 10 بالكامل

التزامن ليس صدفة. سياسة دروبال تُصدر إصداراً رئيسياً كل سنتين، وتدعم كل إصدار رئيسي حتى يصدر بعده إصداران آخران. دروبال 10 صدر في ديسمبر 2022، وبصدور دروبال 12 اكتمل الشرط.

دروبال 11 نفسه لا يتوقف. مع صدور 11.5 يدخل مرحلة الدعم طويل الأمد (Long Term Support)، وتذكر وثائق دروبال أنه مدعوم حتى منتصف أو أواخر 2028.

ماذا تعني «نهاية الدعم» لموقعك فعلاً؟

موقعك لن يتوقف صباح 10 ديسمبر. سيعمل كما هو، لكن فريق أمان دروبال لن ينشر بعد ذلك أي إصلاح لثغرات النواة في دروبال 10، فكل ثغرة تُكتشف بعد هذا التاريخ تبقى مفتوحة على موقعك للأبد.

الأثر الأبطأ يأتي من الوحدات المساهمة (Contributed Modules). مع توقف المطورين عن دعم دروبال 10، تخرج وحداتك من نظام النشرات الأمنية بهدوء، دون أي إشعار، بينما تقرير التحديثات في لوحة التحكم يظل أخضر.

تنبيه: إذا كان موقعك يخدم جهة حكومية أو جامعة أو عميلاً مؤسسياً، راجع العقد أو سياسة التأمين: كثير منها يشترط «برمجيات مدعومة من المورّد». هذا سؤال قانوني لعقدك أنت، فاسأل المسؤول عنه قبل ديسمبر لا بعد حادثة.

حدّد مسارك: موقعك على أي إصدار؟

السؤال الأول ليس «متى أرقّي إلى 12؟» بل «من أين أبدأ؟». المسار يختلف تماماً حسب إصدارك الحالي:

إصدارك الحاليالمسارحجم العمل
Drupal 11.4 أو 11.5ترقية مباشرة إلى 12صغير: أوامر Composer وتحديث قاعدة البيانات
Drupal 11.3 أو أقدم من 11ارفع إلى 11.4 أولاً ثم 12متوسط
Drupal 10قفزتان: 10 ← 11.4+ ← 12الأكبر، ومعظمه في القفزة الأولى
Drupal 7 أو 8إعادة بناء وترحيل إلى Drupal 11مشروع كامل لا ترقية

لا يوجد طريق مباشر من 10 إلى 12. مسار تحديث قاعدة البيانات من أي إصدار أقدم من 11.4.0 حُذف من دروبال 12، فالخطوة الوسيطة ليست نصيحة بل شرط تقني.

Drupal 10 → Drupal 12

خطة الترقية قبل 9 ديسمبر 2026

  1. افحص الموقع بـ Upgrade Status

    على نسخة من الموقع الحالي، وصدّر التقرير وقسّم الوحدات حسب جاهزيتها.

  2. جهّز الاستضافة

    تأكد من توفر PHP 8.5 ونسخة قاعدة البيانات المطلوبة قبل أي تغيير في الكود.

  3. انتقل إلى Drupal 11.4 أو أحدث

    هذه هي القفزة الأولى وفيها معظم المخاطرة. لا توجد ترقية مباشرة من 10 إلى 12.

  4. شغّل الموقع أسابيع على 11.x

    راقب التحرير والزيارات الحقيقية قبل الخطوة التالية.

  5. انتقل إلى Drupal 12 بهدوء

    بعد أن تصدر الوحدات المساهمة نسخاً مستقرة متوافقة، غالباً مطلع 2027.

ابن موقعك قطعة قطعةarabcms.com
مسار ترقية موقع Drupal 10 إلى Drupal 12 على مرحلتين

ما الذي يتغير فعلاً في دروبال 12؟

أقل مما تتوقع، وده مقصود. ملاحظات إصدار alpha1 تقول إن 12.0.x مطابق تقريباً لـ 11.5.x، والفرق في ثلاثة أشياء: حذف الكود المُعلَّم كمهمل، ورفع إصدارات المكتبات الأساسية، ورفع متطلبات النظام.

التغييرات السلوكية التي تستحق الانتباه:

  • تشفير كلمات المرور: الخوارزمية الافتراضية تصبح argon2id، مع إمكانية الرجوع إلى bcrypt إن لم تتوفر على السيرفر.
  • ملف robots.txt: النسخة الجديدة تمنع الزحف إلى صفحات نتائج البحث التي تحمل معاملات في الرابط. إن كان لديك robots.txt معدّل، أضف هذه القواعد يدوياً.
  • ويندوز في الإنتاج: تشغيل دروبال مباشرة على Windows في بيئة الإنتاج صار مهملاً، ويظل مدعوماً للتطوير المحلي فقط.
  • المكتبات: Symfony ينتقل إلى الإصدار 8، ومكتبة HTMX المضمّنة إلى إصدار رئيسي أحدث. الكود المخصص الذي يعتمد مباشرة على فئات Symfony هو أول ما سيتأثر.

الوحدات التي خرجت من النواة

يواصل دروبال نقل الوحدات المتخصصة من النواة إلى مشاريع مستقلة. حسب ملاحظات alpha1، خرجت وحدات Ban وContact وField Layout وHistory وSettings Tray وShortcut وTelephone، ومعها قالب Stable 9، وانتقل حقل Text with Summary إلى وحدة مستقلة.

انتبه بالذات لـ Shortcut وSettings Tray: فريق التحرير يستخدمهما يومياً دون أن يفكر فيهما كخيار. الطريقة الصحيحة هي إضافة النسخة المساهمة إلى متطلبات Composer قبل الترقية، وليس إلغاء تثبيت الوحدة. إلغاء التثبيت يمسح إعداداتها، بينما دروبال يبحث عن الوحدة في المشاريع المساهمة قبل النواة فيستخدمها تلقائياً.

تحذير: Drush يتخطى تحذيرات update.php عن الوحدات المفقودة، فتظهر المشكلة لاحقاً كأخطاء في تقرير الحالة. راجع التقرير بعد كل ترقية.

أصحاب مواقع دروبال 7: هذا البند يخصّكم

وحدتا Migrate Drupal وMigrate Drupal UI حُذفتا من دروبال 12 ولن تنتقلا إلى مشروع مساهم. واجهة Migrate API باقية، لكن أدوات القراءة من قواعد بيانات دروبال 6 و7 لن تكون موجودة.

النتيجة العملية: موقع دروبال 7 يجب أن يُرحَّل إلى دروبال 11، ثم يُرقّى إلى 12 بالطريق العادي. لو تأجل الترحيل حتى يخرج دروبال 11 من الدعم، ستضطر لبناء أدوات الترحيل بنفسك أو تشغيل نواة قديمة في بيئة مؤقتة، وكلاهما أغلى.

الاستضافة قبل الكود: PHP 8.5 وقاعدة البيانات

هنا تتعطل مشاريع كثيرة في المنطقة. دروبال 12 يشترط PHP 8.5 ولا يقبل أي إصدار أقدم، بينما دروبال 11.3 و11.4 يقبلان 8.3 و8.4 و8.5. هذا التداخل هو طريقك الآمن: انقل الموقع إلى PHP 8.5 وهو ما زال على 11.4، تأكد أنه يعمل، ثم غيّر دروبال.

متطلبات قاعدة البيانات لدروبال 12 حسب صفحة المتطلبات الرسمية:

قاعدة البياناتالحد الأدنى لدروبال 12
MySQL8.0
MariaDB10.11
PostgreSQL18
SQLite3.45

ملاحظة: ملاحظات alpha1 ذكرت PostgreSQL 19 بينما صفحة المتطلبات تقول 18. إن كنت على PostgreSQL، راجع الرقم في الصفحة الرسمية قبل حجز أي عمل.

اعرف ما لديك الآن من سطر الأوامر:

php -v
mysql --version
drush status --field=db-driver

كثير من الاستضافات المشتركة في مصر والخليج تتأخر في توفير أحدث إصدار من PHP أو MariaDB. اسأل الدعم الفني صراحةً: «هل PHP 8.5 وMariaDB 10.11 متاحان على خطتي الآن؟». إن كانت الإجابة لا، فنقل الاستضافة يأتي قبل أي ترقية، وهذا ما يحوّل مهمة أسبوعين إلى شهرين.

الأداتان اللتان تختصران نصف العمل

سياسة دروبال تَعِد بأن الإصدار الرئيسي الجديد له نفس الواجهة البرمجية لآخر إصدار فرعي قبله. الواجهات الجديدة تُضاف في الإصدارات الفرعية، والقديمة تُعلَّم بـ الإهمال المجدول (Deprecation)، والحذف الفعلي يحدث عند الإصدار الرئيسي فقط.

معنى ذلك: إذا كان كودك ووحداتك تعمل على 11.5 دون أي تحذير إهمال، فهي تعمل على 12. والأداتان اللتان تكشفان التحذيرات:

Upgrade Status يفحص الموقع كله: متطلبات النظام، وتوافق الوحدات المساهمة، والكود المخصص عبر PHPStan، وقوالب Twig وملفات info.yml وcomposer.json. ثبّته على الموقع الذي ترقّي منه، لأن الواجهات المهملة يجب أن تكون موجودة ليكتشف استدعاءها:

drush upgrade_status:analyze --all

Drupal Rector يعيد كتابة ما يمكن إصلاحه آلياً في وحداتك وقوالبك المخصصة. شغّله أولاً مع --dry-run لترى التغييرات قبل تطبيقها:

vendor/bin/rector process web/modules/custom --dry-run

الترقية نفسها: من 11.4 إلى 12

إذا كنت على 11.4 أو 11.5 ووحداتك محدّثة، فالترقية أوامر Composer في الأساس. اطلب حزم الإصدار 12 دون تحديث فوري، واحذف أي متطلب صريح لـ drupal/core، ثم جرّب التحديث على الناشف أولاً:

composer require 'drupal/core-recommended:^12' 'drupal/core-composer-scaffold:^12' 'drupal/core-project-message:^12' --no-update
composer update --dry-run
composer update
drush updatedb

إن رفضت حزمة التوافق، هذا الأمر يسمّي لك العائق مباشرة:

composer why-not drupal/core ^12

لوحدة في منتصف انتقالها بين إصدارين، اسمح بالإصدارين معاً في composer.json، مثل "^6.1 || ^7.0". وبعد الترقية توقّع أن كل ملفات الـ scaffold تغيرت، ومنها .htaccess، فأعد تطبيق تعديلاتك عليها يدوياً بدل الدمج الأعمى.

جرد الوحدات المساهمة: هو اللي بيحدد موعدك

مشاريع الترقية نادراً ما تتعطل عند النواة. تتعطل عند الوحدة الرابعة عشرة في القائمة، اللي محدش فاكر مين ركّبها. صدّر تقرير Upgrade Status وقسّم الوحدات إلى أربع مجموعات:

المجموعةالحالةالتكلفة
1إصدار مستقر يدعم الإصدار الهدفلا شيء
2رقعة (patch) أو إصدار تطويري في صفحة المشكلاتعمل دمج صغير، مع خطر ألا تُعتمد الرقعة
3مشكلة مفتوحة دون رقعةتحتاج من يكتبها
4لا نشاط إطلاقاًهي التي تحدد جدولك الزمني وميزانيتك

لكل وحدة في المجموعة الرابعة أربعة خيارات: احذفها إن لم تعد الميزة مستخدمة، أو استبدلها بمشروع نشط، أو تبنَّ صيانتها عبر إجراء drupal.org لنقل ملكية المشاريع المهجورة، أو أعد كتابة الجزء الذي تستخدمه فعلاً في وحدة مخصصة صغيرة. الخيار الأخير غالباً أسرع بكثير من نقل وحدة كاملة.

في ووردبريس: نفس المنطق ينطبق لو بتدير مواقع ووردبريس كمان: ارفع PHP على نسخة تجريبية (staging) أولاً، وراجع توافق الإضافات قبل تحديث النواة، لا بعده.

خطة الأسابيع الخمسة المتبقية

ابدأ من 9 ديسمبر وارجع للخلف:

  1. هذا الأسبوع: شغّل Upgrade Status على نسخة من الإنتاج، وصدّر التقرير بالمجموعات الأربع.
  2. الأسبوع القادم: تأكد من PHP 8.5 وقاعدة البيانات عند استضافتك، وابدأ النقل فوراً إن لزم. قرّر مصير وحدات المجموعة الرابعة.
  3. قبل نهاية نوفمبر: أكمل الانتقال من دروبال 10 إلى 11.4 أو 11.5 وشغّله في الإنتاج.
  4. ديسمبر: تابع صدور 12.0.0 دون استعجال. موقعك الآن على فرع مدعوم.
  5. يناير أو فبراير 2027: انتقل إلى دروبال 12 بعد أن تصدر وحداتك المساهمة نسخاً مستقرة متوافقة.

لا توجد جائزة للترقية في أسبوع الإصدار نفسه. الجائزة الحقيقية ألا تكون على دروبال 10 حين تتوقف النشرات الأمنية. أما إن كان لديك موقع دروبال 7 بخطة إعادة بناء ممولة، فاستهدف دروبال 11 ولا تضيّع جهداً في القفز مباشرة إلى 12.

الأسئلة الشائعة

س: متى ينتهي دعم دروبال 10؟
ج: في 9 ديسمبر 2026، بعد يومين من صدور دروبال 12.0.0 المجدول لأسبوع 7 ديسمبر. بعد هذا التاريخ لا تصدر لدروبال 10 أي تحديثات أمنية.

س: هل يمكن الترقية من دروبال 10 إلى دروبال 12 مباشرة؟
ج: لا. مسار تحديث قاعدة البيانات من الإصدارات الأقدم من 11.4.0 حُذف من دروبال 12، فيجب الانتقال إلى 11.4 أو أحدث أولاً، ويُفضَّل 11.5.

س: ما متطلبات تشغيل دروبال 12؟
ج: PHP 8.5 كحد أدنى، وقاعدة بيانات MySQL 8.0 أو MariaDB 10.11 أو PostgreSQL 18 أو SQLite 3.45 فأحدث، مع Symfony 8. تشغيله على Windows في الإنتاج صار مهملاً.

س: هل أحتاج للترقية إلى دروبال 12 فوراً إن كنت على دروبال 11؟
ج: لا. فرعا 11.4 و11.5 مدعومان، ودروبال 11 يدخل مرحلة الدعم طويل الأمد. الأفضل الانتظار حتى تصدر الوحدات المساهمة نسخاً مستقرة متوافقة.

س: ماذا أفعل بموقع دروبال 7؟
ج: رحّله إلى دروبال 11 لا 12، لأن أدوات الترحيل من دروبال 7 حُذفت من دروبال 12. بعد الترحيل، رقِّه إلى 12 بالطريق العادي.

الخلاصة

دروبال 12 نفسه ليس قفزة كبيرة؛ هو دروبال 11.5 بعد التنظيف. الخطر الحقيقي هو البقاء على دروبال 10 بعد 9 ديسمبر، والطريق للخروج يبدأ بتقرير Upgrade Status والتأكد من PHP 8.5 عند استضافتك.

يعني من الآخر: افحص النهارده، جهّز السيرفر الأسبوع الجاي، واطلع على 11 قبل آخر الشهر. ودروبال 12 خليه لما الوحدات تبقى جاهزة.

مراجع إضافية: Drupal core release schedule، Announcing Drupal 12.0.0 platform requirements

مرجع المقال (بالإنجليزية): Drupal 12: What Changes and When to Move
المقال ده مش ترجمة حرفية: متكيّف للقارئ العربي ومضاف عليه سياق ووردبريس وElementor وJetEngine.

اترك تعليقاً