برنامه انتشار

    From The Document Foundation Wiki
    This page is a translated version of the page ReleasePlan and the translation is 11% complete.

    معرفی

    نشان داده شده است که انتشار مرتب و مبتنی بر زمان باکیفیت‌ترین نرم‌افزار آزاد را تولید می‌کند. انتشار مبتنی بر زمان، نسخه‌ای است که منتظر هیچ کدام از ویژگی‌ها یا رفع اشکال‌ها نمی‌ماند - بلکه (تا حد امکان صرفاً) به‌هنگام است. این امر نظم و انضباط را در ارائه اصلاحات اعمال می‌کند، قابلیت پیش‌بینی می‌دهد و امکان انتشار منظم‌تری را فراهم می‌کند. همچنین این نکته وجود دارد که ما لزوماً نسخه‌های رفع اشکال را زودتر و سپس به سرعت، بر اساس نسخه پایدار قبلی منتشر می‌کنیم. بنابراین اگر به نسخه بسیار باکیفیت نیاز دارید، منطقی است که انتقال را تا اولین یا شاید دومین انتشار نسخه فرعی به تعویق بیندازید.

    لیبره‌آفیس نسخه‌های دوسالانه و قابل پیش‌بینی را ارائه می‌دهد که با سایر پروژه‌های نرم‌افزار آزاد (مانند گنوم) همگام هستند و حداقل یک ماه جلوتر از انتشارهای عمده توزیع لینوکس منتشر می‌شوند.

    • همگام‌سازی زمان‌بندی انتشار مبتنی بر زمان با زیست‌بوم نرم‌افزار آزاد به صورت گسترده‌تر مزایای زیادی دارد؛ مانند ارائه ویژگی‌های جدید ما به کاربران در سریع‌ترین زمان ممکن - با حداقل تاخیر در چرخه توزیع. در نتیجه، ما شش نسخه ماهانه را هدف‌گذاری می‌کنیم، و به مرور زمان آنها را تنظیم می کنیم تا به خوبی با انتشار معمول در مارس/سپتامبر هماهنگ شوند.
    • Time-based release trains have been shown to produce the best quality Free software. A time based release is one that does not wait for either features, or bug fixes - but is based (as purely as possible) on time. This enforces discipline in introducing fixes, gives predictability, and allows more regular releasing. It is also the case that we will necessarily release earlier, and then rapidly, incrementally bug fix releases based on the previous stable version. Thus if you have a need for the very highest quality version, it can make sense to defer a move until the first or perhaps second minor point release.
    • There are 2 branches: Fresh (the newest release) and Still (the previous release), which are intended for mainstream feature users and conservative, corporate deployments respectively.
    • As a result, users get new major version every six months with a wide range of features, fixes, and enhancements. In addition, they get many pure bugfix micro releases. The first X.Y.0 release is intended for early adopters. More conservative users are advised to wait for a later X.Y.Z bugfix release.

    Note that the dates mentioned in the schedule might get shifted if there are serious technical or other problems with the release. An extra RC might be needed if the final release candidate does not fit the Release Criteria. Such problem would shift the final release by one week or even more.

    The simplified graphic below shows three releases placed on a timeline consisting of 24 months.

    آینده
    Fresh
    Still

    7.5 release

    Basic dates for the initial and bugfix releases
    Release Freeze Publishing
    7.5.0 (freeze: week 02) Week 47 , نوامبر ۲۱, ۲۰۲۲ - نوامبر ۲۷, ۲۰۲۲ Week 05 , ژانویه ۳۰, ۲۰۲۳ - فوریه ۵, ۲۰۲۳
    7.5.1 Week 06 , فوریه ۶, ۲۰۲۳ - فوریه ۱۲, ۲۰۲۳ Week 09 , فوریه ۲۷, ۲۰۲۳ - مارس ۵, ۲۰۲۳
    7.5.2 Week 10 , مارس ۶, ۲۰۲۳ - مارس ۱۲, ۲۰۲۳ Week 13 , مارس ۲۷, ۲۰۲۳ - آوریل ۲, ۲۰۲۳
    7.5.3 Week 15 , آوریل ۱۰, ۲۰۲۳ - آوریل ۱۶, ۲۰۲۳ Week 18 , مه ۱, ۲۰۲۳ - مه ۷, ۲۰۲۳
    7.5.4 Week 20 , مه ۱۵, ۲۰۲۳ - مه ۲۱, ۲۰۲۳ Week 23 , ژوئن ۵, ۲۰۲۳ - ژوئن ۱۱, ۲۰۲۳
    7.5.5 Week 26 , ژوئن ۲۶, ۲۰۲۳ - ژوئیه ۲, ۲۰۲۳ Week 29 , ژوئیه ۱۷, ۲۰۲۳ - ژوئیه ۲۳, ۲۰۲۳
    7.5.6 Week 33 , اوت ۱۴, ۲۰۲۳ - اوت ۲۰, ۲۰۲۳ Week 36 , سپتامبر ۴, ۲۰۲۳ - سپتامبر ۱۰, ۲۰۲۳
    7.5.7 Week 41 , اکتبر ۹, ۲۰۲۳ - اکتبر ۱۵, ۲۰۲۳ Week 44 , اکتبر ۳۰, ۲۰۲۳ - نوامبر ۵, ۲۰۲۳
    End of Life November 30, 2023

    See also the detailed schedule and the release notes.

    انتشار ۷.۴

    تاریخ های اصلی انتشارهای ابتدایی و انتشارهای رفع اشکال شده
    انتشار Freeze Publishing
    7.4.0 (freeze: week 30) Week 19 , مه ۹, ۲۰۲۲ - مه ۱۵, ۲۰۲۲ Week 33 , اوت ۱۵, ۲۰۲۲ - اوت ۲۱, ۲۰۲۲
    7.4.1 Week 34 , اوت ۲۲, ۲۰۲۲ - اوت ۲۸, ۲۰۲۲ Week 37 , سپتامبر ۱۲, ۲۰۲۲ - سپتامبر ۱۸, ۲۰۲۲
    7.4.2 Week 38 , سپتامبر ۱۹, ۲۰۲۲ - سپتامبر ۲۵, ۲۰۲۲ Week 41 , اکتبر ۱۰, ۲۰۲۲ - اکتبر ۱۶, ۲۰۲۲
    7.4.3 Week 44 , اکتبر ۳۱, ۲۰۲۲ - نوامبر ۶, ۲۰۲۲ Week 47 , نوامبر ۲۱, ۲۰۲۲ - نوامبر ۲۷, ۲۰۲۲
    7.4.4 Week 50 , دسامبر ۱۲, ۲۰۲۲ - دسامبر ۱۸, ۲۰۲۲ Week 53 , ژانویه ۲, ۲۰۲۳ - ژانویه ۸, ۲۰۲۳
    7.4.5 Week 04 , ژانویه ۲۳, ۲۰۲۳ - ژانویه ۲۹, ۲۰۲۳ Week 04 , ژانویه ۲۳, ۲۰۲۳ - ژانویه ۲۹, ۲۰۲۳
    7.4.6 Week 07 , فوریه ۱۳, ۲۰۲۳ - فوریه ۱۹, ۲۰۲۳ Week 10 , مارس ۶, ۲۰۲۳ - مارس ۱۲, ۲۰۲۳
    7.4.7 Week 16 , آوریل ۱۷, ۲۰۲۳ - آوریل ۲۳, ۲۰۲۳ Week 19 , مه ۸, ۲۰۲۳ - مه ۱۴, ۲۰۲۳
    پایان عمر ۲۲ خرداد ۱۴۰۲

    See also the detailed schedule and the release notes.

    انتشار ۷.۳

    Basic dates for the initial and bugfix releases
    Release Freeze Publishing
    7.3.0 (freeze: week 02) Week 43 , اکتبر ۲۵, ۲۰۲۱ - اکتبر ۳۱, ۲۰۲۱ Week 05 , ژانویه ۳۱, ۲۰۲۲ - فوریه ۶, ۲۰۲۲
    7.3.1 Week 06 , فوریه ۷, ۲۰۲۲ - فوریه ۱۳, ۲۰۲۲ Week 09 , فوریه ۲۸, ۲۰۲۲ - مارس ۶, ۲۰۲۲
    7.3.2 Week 10 , مارس ۷, ۲۰۲۲ - مارس ۱۳, ۲۰۲۲ Week 13 , مارس ۲۸, ۲۰۲۲ - آوریل ۳, ۲۰۲۲
    7.3.3 Week 15 , آوریل ۱۱, ۲۰۲۲ - آوریل ۱۷, ۲۰۲۲ Week 18 , مه ۲, ۲۰۲۲ - مه ۸, ۲۰۲۲
    7.3.4 Week 20 , مه ۱۶, ۲۰۲۲ - مه ۲۲, ۲۰۲۲ Week 23 , ژوئن ۶, ۲۰۲۲ - ژوئن ۱۲, ۲۰۲۲
    7.3.5 Week 26 , ژوئن ۲۷, ۲۰۲۲ - ژوئیه ۳, ۲۰۲۲ Week 29 , ژوئیه ۱۸, ۲۰۲۲ - ژوئیه ۲۴, ۲۰۲۲
    7.3.6 Week 33 , اوت ۱۵, ۲۰۲۲ - اوت ۲۱, ۲۰۲۲ Week 36 , سپتامبر ۵, ۲۰۲۲ - سپتامبر ۱۱, ۲۰۲۲
    7.3.7 Week 41 , اکتبر ۱۰, ۲۰۲۲ - اکتبر ۱۶, ۲۰۲۲ Week 44 , اکتبر ۳۱, ۲۰۲۲ - نوامبر ۶, ۲۰۲۲
    End of Life November 30, 2022

    See also the detailed schedule and the release notes.

    7.2 release

    Basic dates for the initial and bugfix releases
    Release Freeze Publishing
    7.2.0 (freeze: week 30) Week 19 , مه ۱۰, ۲۰۲۱ - مه ۱۶, ۲۰۲۱ Week 33 , اوت ۱۶, ۲۰۲۱ - اوت ۲۲, ۲۰۲۱
    7.2.1 Week 34 , اوت ۲۳, ۲۰۲۱ - اوت ۲۹, ۲۰۲۱ Week 37 , سپتامبر ۱۳, ۲۰۲۱ - سپتامبر ۱۹, ۲۰۲۱
    7.2.2 Week 38 , سپتامبر ۲۰, ۲۰۲۱ - سپتامبر ۲۶, ۲۰۲۱ Week 41 , اکتبر ۱۱, ۲۰۲۱ - اکتبر ۱۷, ۲۰۲۱
    7.2.3 Week 44 , نوامبر ۱, ۲۰۲۱ - نوامبر ۷, ۲۰۲۱ Week 47 , نوامبر ۲۲, ۲۰۲۱ - نوامبر ۲۸, ۲۰۲۱
    7.2.4 Week 48 , نوامبر ۲۹, ۲۰۲۱ - دسامبر ۵, ۲۰۲۱ Week 49 , دسامبر ۶, ۲۰۲۱ - دسامبر ۱۲, ۲۰۲۱
    7.2.5 Week 50 , دسامبر ۱۳, ۲۰۲۱ - دسامبر ۱۹, ۲۰۲۱ Week 53 , ژانویه ۳, ۲۰۲۲ - ژانویه ۹, ۲۰۲۲
    7.2.6 Week 07 , فوریه ۱۴, ۲۰۲۲ - فوریه ۲۰, ۲۰۲۲ Week 10 , مارس ۷, ۲۰۲۲ - مارس ۱۳, ۲۰۲۲
    7.2.7 Week 16 , آوریل ۱۸, ۲۰۲۲ - آوریل ۲۴, ۲۰۲۲ Week 19 , مه ۹, ۲۰۲۲ - مه ۱۵, ۲۰۲۲
    End of Life June 12, 2022

    See also the detailed schedule and the release notes.

    7.1 release

    Basic dates for the initial and bugfix releases
    Release Freeze Publishing
    7.1.0 (freeze: week 02) Week 43 , اکتبر ۱۹, ۲۰۲۰ - اکتبر ۲۵, ۲۰۲۰ Week 05 , فوریه ۱, ۲۰۲۱ - فوریه ۷, ۲۰۲۱
    7.1.1 Week 06 , فوریه ۸, ۲۰۲۱ - فوریه ۱۴, ۲۰۲۱ Week 09 , مارس ۱, ۲۰۲۱ - مارس ۷, ۲۰۲۱
    7.1.2 Week 10 , مارس ۸, ۲۰۲۱ - مارس ۱۴, ۲۰۲۱ Week 13 , مارس ۲۹, ۲۰۲۱ - آوریل ۴, ۲۰۲۱
    7.1.3 Week 15 , آوریل ۱۲, ۲۰۲۱ - آوریل ۱۸, ۲۰۲۱ Week 18 , مه ۳, ۲۰۲۱ - مه ۹, ۲۰۲۱
    7.1.4 Week 20 , مه ۱۷, ۲۰۲۱ - مه ۲۳, ۲۰۲۱ Week 23 , ژوئن ۷, ۲۰۲۱ - ژوئن ۱۳, ۲۰۲۱
    7.1.5 Week 26 , ژوئن ۲۸, ۲۰۲۱ - ژوئیه ۴, ۲۰۲۱ Week 29 , ژوئیه ۱۹, ۲۰۲۱ - ژوئیه ۲۵, ۲۰۲۱
    7.1.6 Week 33 , اوت ۱۶, ۲۰۲۱ - اوت ۲۲, ۲۰۲۱ Week 36 , سپتامبر ۶, ۲۰۲۱ - سپتامبر ۱۲, ۲۰۲۱
    7.1.7 Week 41 , اکتبر ۱۱, ۲۰۲۱ - اکتبر ۱۷, ۲۰۲۱ Week 44 , نوامبر ۱, ۲۰۲۱ - نوامبر ۷, ۲۰۲۱
    7.1.8 Week 48 , نوامبر ۲۹, ۲۰۲۱ - دسامبر ۵, ۲۰۲۱ Week 49 , دسامبر ۶, ۲۰۲۱ - دسامبر ۱۲, ۲۰۲۱
    End of Life November 30, 2021

    See also the detailed schedule and the release notes.

    7.0 release

    Basic dates for the initial and bugfix releases
    Release Freeze Publishing
    7.0.0 (freeze: week 29) Week 19 , مه ۴, ۲۰۲۰ - مه ۱۰, ۲۰۲۰ Week 32 , اوت ۳, ۲۰۲۰ - اوت ۹, ۲۰۲۰
    7.0.1 Week 33 , اوت ۱۰, ۲۰۲۰ - اوت ۱۶, ۲۰۲۰ Week 36 , اوت ۳۱, ۲۰۲۰ - سپتامبر ۶, ۲۰۲۰
    7.0.2 Week 38 , سپتامبر ۱۴, ۲۰۲۰ - سپتامبر ۲۰, ۲۰۲۰ Week 41 , اکتبر ۵, ۲۰۲۰ - اکتبر ۱۱, ۲۰۲۰
    7.0.3 Week 43 , اکتبر ۱۹, ۲۰۲۰ - اکتبر ۲۵, ۲۰۲۰ Week 46 , نوامبر ۹, ۲۰۲۰ - نوامبر ۱۵, ۲۰۲۰
    7.0.4 Week 48 , نوامبر ۲۳, ۲۰۲۰ - نوامبر ۲۹, ۲۰۲۰ Week 51 , دسامبر ۱۴, ۲۰۲۰ - دسامبر ۲۰, ۲۰۲۰
    7.0.5 Week 07 , فوریه ۱۵, ۲۰۲۱ - فوریه ۲۱, ۲۰۲۱ Week 10 , مارس ۸, ۲۰۲۱ - مارس ۱۴, ۲۰۲۱
    7.0.6 Week 16 , آوریل ۱۹, ۲۰۲۱ - آوریل ۲۵, ۲۰۲۱ Week 19 , مه ۱۰, ۲۰۲۱ - مه ۱۶, ۲۰۲۱
    End of Life May 31, 2021

    See also the detailed schedule and the release notes.

    6.4 release

    Basic dates for the initial and bugfix releases
    Release Freeze Publishing
    6.4.0 (freeze: week 02) Week 42 , اکتبر ۱۴, ۲۰۱۹ - اکتبر ۲۰, ۲۰۱۹ Week 05 , ژانویه ۲۷, ۲۰۲۰ - فوریه ۲, ۲۰۲۰
    6.4.1 Week 06 , فوریه ۳, ۲۰۲۰ - فوریه ۹, ۲۰۲۰ Week 09 , فوریه ۲۴, ۲۰۲۰ - مارس ۱, ۲۰۲۰
    6.4.2 Week 09 , فوریه ۲۴, ۲۰۲۰ - مارس ۱, ۲۰۲۰ Week 12 , مارس ۱۶, ۲۰۲۰ - مارس ۲۲, ۲۰۲۰
    6.4.3 Week 13 , مارس ۲۳, ۲۰۲۰ - مارس ۲۹, ۲۰۲۰ Week 16 , آوریل ۱۳, ۲۰۲۰ - آوریل ۱۹, ۲۰۲۰
    6.4.4 Week 18 , آوریل ۲۷, ۲۰۲۰ - مه ۳, ۲۰۲۰ Week 21 , مه ۱۸, ۲۰۲۰ - مه ۲۴, ۲۰۲۰
    6.4.5 Week 24 , ژوئن ۸, ۲۰۲۰ - ژوئن ۱۴, ۲۰۲۰ Week 27 , ژوئن ۲۹, ۲۰۲۰ - ژوئیه ۵, ۲۰۲۰
    6.4.6 Week 30 , ژوئیه ۲۰, ۲۰۲۰ - ژوئیه ۲۶, ۲۰۲۰ Week 33 , اوت ۱۰, ۲۰۲۰ - اوت ۱۶, ۲۰۲۰
    6.4.7 Week 39 , سپتامبر ۲۱, ۲۰۲۰ - سپتامبر ۲۷, ۲۰۲۰ Week 42 , اکتبر ۱۲, ۲۰۲۰ - اکتبر ۱۸, ۲۰۲۰
    End of Life November 30, 2020

    See also the detailed schedule and the release notes.

    6.3 release

    Basic dates for the initial and bugfix releases
    Release Freeze Publishing
    6.3.0 (freeze: week 29) Week 19 , مه ۶, ۲۰۱۹ - مه ۱۲, ۲۰۱۹ Week 32 , اوت ۵, ۲۰۱۹ - اوت ۱۱, ۲۰۱۹
    6.3.1 Week 32 , اوت ۵, ۲۰۱۹ - اوت ۱۱, ۲۰۱۹ Week 35 , اوت ۲۶, ۲۰۱۹ - سپتامبر ۱, ۲۰۱۹
    6.3.2 Week 36 , سپتامبر ۲, ۲۰۱۹ - سپتامبر ۸, ۲۰۱۹ Week 39 , سپتامبر ۲۳, ۲۰۱۹ - سپتامبر ۲۹, ۲۰۱۹
    6.3.3 Week 41 , اکتبر ۷, ۲۰۱۹ - اکتبر ۱۳, ۲۰۱۹ Week 44 , اکتبر ۲۸, ۲۰۱۹ - نوامبر ۳, ۲۰۱۹
    6.3.4 Week 47 , نوامبر ۱۸, ۲۰۱۹ - نوامبر ۲۴, ۲۰۱۹ Week 50 , دسامبر ۹, ۲۰۱۹ - دسامبر ۱۵, ۲۰۱۹
    6.3.5 Week 05 , ژانویه ۲۷, ۲۰۲۰ - فوریه ۲, ۲۰۲۰ Week 08 , فوریه ۱۷, ۲۰۲۰ - فوریه ۲۳, ۲۰۲۰
    6.3.6 Week 15 , آوریل ۶, ۲۰۲۰ - آوریل ۱۲, ۲۰۲۰ Week 18 , آوریل ۲۷, ۲۰۲۰ - مه ۳, ۲۰۲۰
    End of Life May 29, 2020

    See also the detailed schedule and the release notes.

    Dates

    The release is time-based but the schedule defines calendar weeks instead of exact dates. It is because we are always a bit flexible. The release can be delayed by few days because of blocker bugs, build problems, and other technical issues.

    The release consists of several beta and release candidate builds. There are needed several actions for each build. The ideal workflow looks like:

    • Monday: commit deadline; reminder is sent to devel, l10n mailing list before it happens
    • Tuesday: the tag is created on a commit that builds and passes unit-, subsequent-, and smoke-tests; tag is announced on the devel and qa mailing lists
    • Wednesday: builds are uploaded on the early pre-release site; they are announced on the devel and qa mailing lists
    • Thursday: builds are uploaded on mirrors. They are announced via many channels, e.g. mailing lists, twitter
    • Friday: builds are available via the official pre-release site

    The final release is usually announced on Thursday, few days after the final release candidate is out.

    Note that we are very strict about commits to the final release candidate, so full regression test is not needed. It is used as the final build when it passes the needed tests. It is just renamed on mirrors.

    زمان‌بندی

    The schedule is based on the following rules:

    • do the major release every six months and synchronize it (at least one month ahead) with major Linux distributions; it always comes with a wide range of features, fixes, and enhancements
    • do a pure bugfix release every month after the main release until it is good enough even for the most conservative people; do it less frequently afterwards
    • do pure bugfix releases, including security fixes, until the next release is ready for most conservative people
    • do not do two builds the same week.

    The result is the following template:

    Interlocking releases
    Event Summer Winter
    x.y feature freeze Jun(b) Dec(b)
    x.y.0 first release Aug(b) Feb(b)
    x.y.1 bugfix release Sep(b) Mar(b)
    x.y.2 bugfix release Oct(b) Apr(b)
    x.y.3 bugfix release Nov(b) May(b)
    x.y.4 bugfix release Dec(b) Jun(b)
    x.y.5 bugfix release Feb(m) Aug(m)
    x.y.6 bugfix release Apr(m) Oct(m)

    Where (b) means the beginning of the month, (m) means the middle of the month and (e) means the end of the month.

    String freeze

    The release plans for the first version of each major release indicate a "hard English string & UI freeze". The idea is to make the lives of translators easier. The translators should be able to trust that no new translatable strings are added into the UI or Help files between the period of the string freeze and release.

    After the first version of a major release is out, correcting mistakes in the UI and Help strings is fine. Any completely new content should target the next major release.

    طرح نسخه‌دهی

    We do several builds around each release. The following versioning scheme is used:

    • X.Y.0.0.alphaZ - Zth alpha version of the initial release
    • X.Y.0.0.betaZ - Zth beta version of the initial release
    • X.Y.0.Z - Zth release candidate of the initial release, last rc is considered as final and put on the main download page
    • X.Y.1.Z - Zth release candidate of the 1st bugfix release, last rc is considered as final and put on the main download page

    It seems to be the best compromise with the following advantages:

    • easy to understand for normal users, alpha, beta flags are known from other projects, so they set reasonable expectations
    • correct alphabetical sorting in RPM, Bugzilla
    • “easy” to parse (alpha/beta strings delimited by dot)

    There was a long discussion about this scheme on the mailing list.

    Accelerating the release cycle

    This acceleration of the release cycle involves some considerable release engineering and QA effort. To reduce the cost of these, we work to provide complete (ie. containing all languages) daily snapshots of the master branch to allow continual testing of code improvements. This works partially already, as can be seen/downloaded from here.

    Similarly, we plan to increasingly automate the build process to allow a much lower-touch release flow, and to continue to shrink the footprint of our binaries to allow far more rapid transfer of product-equivalent builds.

    نسخه‌های از رده خارج

    A release normally has a lifetime of around nine months. We consider a release to have reached its End of Life (EOL) one month after the last planned release.

    If you want longer term support for a release, you’re encouraged to engage any certified L3 provider who could provide you with the service.

    Because of the amount of data, the releases were split out to ReleasePlan/Archive.