تحديث / إعادة بناء حاوية Docker ينتج عنه v3.5.2 بدلاً من v2025.11.0

لقد قمنا بتحديث إعداد Discourse موجود كما فعلنا عدة مرات من قبل: بعد سحب المراجعة الحالية لمستودع discourse_docker، نقوم بتشغيل الأمر التالي:

./launcher rebuild app

يتم تشغيله دون خطأ ويقوم أيضًا بتشغيل الحاوية الجديدة - يبدو كل شيء على ما يرام.

ولكن عند فحص مصدر HTML للتطبيق قيد التشغيل، نرى أنه لا يزال يدعي أنه الإصدار v3.5.2 (الإصدار الذي كان قبل التحديث) - بدلاً من الإصدار المتوقع v2025.11.0

إجرائنا هو نفسه كما في التحديثات السابقة. الشيء الوحيد الذي تغير بشكل واضح هو نظام ترقيم الإصدارات الذي تم تقديمه مع v2025.11.0 - ربما يكون مرتبطًا بهذا التغيير؟

لقد تحققت مما إذا كان في الكود المصدري لـ Discourse قد تم نسيان تحديث سلسلة الإصدار، ولكن هذا ليس هو الحال، شاهد الالتزامين (commits):

من المخرجات لأمر إعادة بناء المشغل (launcher)، لاحظت أنه يقوم بسحب git pull ويرى/يكتشف الفروع الجديدة:

(... )
 t [tag update]          beta                    -> beta
 t [tag update]          latest-release          -> latest-release
 * [new tag]             release                 -> release
 * [new tag]             v2025.11.0              -> v2025.11.0
 * [new tag]             v2025.12.0-latest       -> v2025.12.0-latest
 * [new tag]             v3.5.2                  -> v3.5.2
 * [new tag]             v3.6.0.beta2            -> v3.6.0.beta2
Switched to a new branch 'stable'
I, [2025-12-03T12:27:14.785550 #1]  INFO -- : branch 'stable' set up to track 'origin/stable'.

ومع ذلك، لا يزال الأمر يبدو وكأنه يختار الفرع الخاطئ (بمعنى أنه ليس الأحدث). يبدو أن الفرع “stable” يحتوي على v3.5.2 (وفقًا لـ lib/version.rb في ذلك الفرع)

أعدت قراءة إعلان الإصدار لـ 2025.11.0 وهو بالفعل يبدو وكأنه إصدار مستقر، وليس مجرد إصدار تجريبي / للمتبنين الأوائل. تشير استراتيجية الإصدار الجديدة المرتبطة إلى الفرع latest، ولكني الآن لست أقل حيرة بشأن ما يجب توقعه.

هل فاتني شيء ما؟ أو هل يمكننا التأثير على الإصدار الذي سيتم اختياره أثناء إعادة البناء؟ أو هل هي مجرد أداة إعادة البناء التي لا تعمل كما هو مقصود في الوقت الحالي وتحتاج إلى تغيير؟

لست متأكدًا مما إذا كان هذا مرتبطًا، ولكن على Docker hub، العلامة “latest” هي 3.5.2 - وعند الترتيب العددي تنازليًا، قد تكون هذه هي أحدث علامة لفترة طويلة جدًا…

إعجاب واحد (1)

v3.5.x هو الإصدار الصحيح للفرع المستقر :+1:

2025.11.0 هو إصدار شهري، ولكنه ليس إصدار “مستقر” / “esr”. (سنقوم بإعادة تسمية المستقر إلى esr قريبًا، كجزء من استراتيجية الإصدار الجديدة)

إعجاب واحد (1)

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

:person_shrugging:

شكرًا لك @david - هذا على الأقل يساعد لأنني أفهم الآن أنني لم أرتكب أي خطأ.

الآن تبقى المشكلة بالنسبة لنا، كيف نقرر ما هو “إصدار شهري” وما هو “إصدار مستقر”؟

نحن نجلب خلاصة Atom من Github (للحصول على إشعار حول الإصدارات المكتشفة حديثًا) ويظهر 2025.11.0 و 3.5.2 بنفس الطريقة (جنبًا إلى جنب مع العديد من العلامات الأخرى).

إذًا، كيف / أين يمكننا بسهولة معرفة نية فريقكم لعلامة إصدار معينة؟

أنا أتفق مع @pfaffman، الأمر مربك للغاية في الوقت الحالي.

نعم، أتفق معك - نحن في مرحلة انتقالية بين نظامين للترقيم/التسمية، لذا فإن الأمور صعبة المتابعة بعض الشيء.

نحن نعمل على إنشاء صفحة تسرد جميع الإصدارات المدعومة حاليًا وسجلات التغيير الخاصة بها. شيء على غرار هذا. نأمل أن يساعد ذلك في الإجابة على أسئلة كهذه.

اعتبارًا من يناير 2026، سنضع علامة “esr” على الإصدار. سيكون هذا بديلاً للإيقاع كل 6 أشهر للإصدار “المستقر” الحالي.

لذا، أصبحت beta (النسخة التجريبية) هي release (الإصدار) (لم تكن “تجريبية” حقًا، بل كانت مجرد نقطة تحقق شهرية).

و stable (المستقر) ستصبح esr، لكن هذا لم يحدث بعد.

لذا، إذا كنت تريد إيقاعًا كل 6 أشهر، فيجب أن تلتزم بـ stable في الوقت الحالي، ثم تستخدم esr بدءًا من يناير.

إذا كنت تريد إيقاعًا شهريًا، فيمكنك استهداف علامة release.