সংস্করণ জীবনচক্র
মিডিয়াউইকি একটি "continuous integration" ডেভেলপমেন্ট মডেলে কাজ করে, যেখানে সফ্টওয়্যার পরিবর্তনগুলি নিয়মিতভাবে উইকিমিডিয়া ওয়েব সাইট যেমন উইকিপিডিয়াতে সরাসরি ঠেলে দেওয়া হয়।
তাত্ত্বিকভাবে, নতুন বড় রিলিজগুলি অর্ধ-বছরের ভিত্তিতে জারি করা হয় এবং রিলিজ শাখাগুলি প্রথম প্রকাশের হিসাবে এক বছর পর্যন্ত নিরাপত্তা আপডেটগুলি পেতে থাকে। সময়ের সীমাবদ্ধতা এবং কোড বেসের দ্রুত রিফ্যাক্টরিংয়ের কারণে, আমরা অপ্রচলিত রিলিজগুলিকে চিরতরে সমর্থন করতে পারি না, এবং সুরক্ষা এবং সমালোচনামূলক আপডেটগুলি সেই রিলিজে প্রয়োগ করা হয় না যেগুলি তাদের জীবনের শেষ অবস্থায় পৌঁছেছে।
রিলিজ ম্যানেজার দৃঢ়ভাবে সুপারিশ করেন যে উইকি অপারেটররা mediawiki-announce
মেইলিং লিস্টে সাবস্ক্রাইব করুন, যা সমস্ত রিলিজের বিজ্ঞপ্তি পায় এবং নিশ্চিত করে যে তাদের উইকি সফ্টওয়্যারটির সর্বাধিক আপ টু ডেট সংস্করণ চালায়। এই ঘোষণা mediawiki-l
এবং wikitech-l
পোস্ট করা হয়.
সংস্করণ এবং তাদের জীবনের শেষ
সংস্করণ | অবস্থা | মুক্তি | জীবনের শেষ |
---|---|---|---|
1.44.x | ভবিষ্যতের সংস্করণ | ||
1.43.x (LTS) | ভবিষ্যতের দীর্ঘমেয়াদী সমর্থন সংস্করণ | ||
1.42.x | বর্তমান স্থিতিশীল সংস্করণ | ||
1.41.x | উত্তরাধিকার সংস্করণ | ||
1.40.x | অপ্রচলিত সংস্করণ | ||
1.39.x (LTS) | বর্তমান দীর্ঘমেয়াদী সমর্থন সংস্করণ | ||
1.38.x | অপ্রচলিত সংস্করণ |
উপরের সারণীতে অন্তর্ভুক্ত সংস্করণগুলি যেগুলি অপ্রচলিত হিসাবে চিহ্নিত করা হয়েছে এবং সেই সাথে তালিকাভুক্ত নয় এমন সংস্করণগুলি কোনও নিরাপত্তা সমাধান পাবে না৷ তারা গুরুতর নিরাপত্তা দুর্বলতা এবং সম্ভাব্য ডেটা ক্ষতি এবং/অথবা দুর্নীতির হুমকি সহ অন্যান্য বড় বাগ থাকতে পারে। রিলিজ ম্যানেজার একটি দৃঢ় সুপারিশও জারি করেছেন যে শুধুমাত্র বর্তমান "স্থিতিশীল সংস্করণ", "লেগেসি সংস্করণ" বা "দীর্ঘমেয়াদী সমর্থন সংস্করণ" হিসাবে উপরে তালিকাভুক্ত সংস্করণগুলি একটি উত্পাদন পরিবেশে ব্যবহার করা হবে৷ This also includes all versions older than the oldest version listed. They may contain critical security vulnerabilities and other major bugs, including the threat of possible data loss and/or corruption. The release manager has also issued a strong recommendation that only versions listed above as the current “stable version”, "legacy version" or “long-term support version” be used in a production environment.
- Alpha development
- Release development
- Stable release
- Long-term support release
Release policy
- প্রতিটি পয়েন্ট রিলিজে আপডেট করা i18n ফাইলের পাশাপাশি যেকোনো বাগ অন্তর্ভুক্ত থাকবে। কোনো নতুন বৈশিষ্ট্য পয়েন্ট রিলিজে ব্যাক-পোর্ট করা হবে না এবং সাপোর্টে সাধারণভাবে বান্ডিল এক্সটেনশন এবং স্কিনস অন্তর্ভুক্ত করা হয় না।
- একটি প্রধান রিলিজ'প্রতি ছয় মাসে'' করা হবে।
- একটি ছোট রিলিজ (নিরাপত্তা প্যাচ, বার্তা অনুবাদ ব্যাক-পোর্ট এবং সাধারণ বাগ ফিক্স সহ) প্রতি ত্রৈমাসিকে করা হবে।
- একটি দীর্ঘ-মেয়াদী সমর্থন রিলিজ (LTS) প্রতি দুই বছরে করা হবে। LTS সমর্থনে এক বছরের ওভারল্যাপ থাকবে। উদাহরণস্বরূপ, ১.২৩ মে ২০১৭ পর্যন্ত সমর্থিত ছিল। ১.২৭ এর আগের বছর প্রকাশ করা হয়েছিল, যাতে লোকেদের কাছে এটিকে এলটিএস হিসাবে উপলব্ধ থাকে এবং স্থানান্তর করার জন্য এক বছর।
- কি পরিবর্তন হয়েছে তা দেখার জন্য রিলিজ নোটগুলি ভিত্তি হতে থাকবে। একটি স্বেচ্ছাসেবক-চালিত প্রকল্পের প্রকৃতির কারণে, আগামী ৬-১২ মাসে কি '' হবে তা নিশ্চিত করে বলা সম্ভব নয়।
প্রকাশের সময়সূচী
এই টাইমলাইনটি একটি নতুন সংস্করণ প্রকাশের আগে যা ঘটতে হবে তার একটি সময়সূচী। প্রকৃত রিলিজের তারিখ এখানে T (রিলিজের "সময়") এবং প্রত্যয় -# ("রিলিজের আগের সপ্তাহের সংখ্যার জন্য") হিসাবে দেওয়া হয়েছে।
আপেক্ষিক সময়সূচী | কাজ |
---|---|
T - 7 | ঘোষণা করুন এক সপ্তাহের মধ্যে রিলিজ শাখা তৈরি করা হবে। প্রগতিশীল বৈশিষ্ট্যগুলি সম্পূর্ণ করার জন্য যা কিছু প্রয়োজন তা তার আগে একত্রিত করা হয়েছে তা নিশ্চিত করতে লোকেদের বলুন৷ ফ্যাব্রিকেটরে "MW-X.XX-রিলিজ" তৈরি করুন। |
T - 6 | Gerrit এ কোর এবং সমস্ত এক্সটেনশনের জন্য শাখা তৈরি করুন। |
T - 5 | X.XX-rc.0 ট্যাগ প্রয়োগ করুন এবং প্রাথমিক রিলিজ প্রার্থীকে ছেড়ে দিন। |
T - 4 | Collect any bug reports and summarise them on the mailing list. |
T - 3 | Apply the X.XX-rc.1 tag and release the second release candidate. Any new extensions proposed for addition to the tarball should be included by this point. No extension changes are made after this point. |
T - 2 | Collect any new bug reports, merge fixes, back out new, incomplete features accidentally included, apply X.XX-rc.2 tag and release third release candidate. |
T - 1 | Repeat previous step, use X.XX-rc.final to tag and release. No backports are accepted after this point. |
T | TAG the repository with X.XX and make the release. |
Extension lifecycle management
Most MediaWiki installations include a significant number of extensions (Wikimedia wikis often have around 140). Managing the maintenance bug fixing of extensions and choosing the right version of an extension in cases where the HEAD development version relies on features not yet available in stable or oldstable MediaWiki core can be challenging.
Extension maintainers are therefore strongly encouraged to maintain a git branch for each extension version corresponding to a MediaWiki version.
(See Compatibility#MediaWiki extensions for details.)
For extensions hosted in Wikimedia's git repos, such branches (with names such as REL1_30
for MediaWiki 1.30) are created automatically from master when a new MediaWiki version is branched (on the assumption that the extension master is compatible with MediaWiki master at all times).
However, it's preferable for the extension maintainer to fix bugs not only in HEAD but also in the oldstable and stable versions (by backporting the fix to the old branches if necessary).
The goal of these rules is that people or organisations installing MediaWiki can rely on installing the newest release of a version and matching extensions by a simple method, e.g., for 1.20.x core by referring to REL1_20
in git.
It avoids tarballs and zip files with non-relevant and unpredictable names.
See also
- Generators on WikiApiary - Statistics about the use of different versions of MediaWiki.