RencanaRilis
TDF LibreOffice Document Liberation Project Blog Komunitas Penerjemah Weblate Nextcloud Redmine Tanya LibreOffice Donasi
Pengantar
Berlatih melakukan rilis berbasis waktu telah terbukti menghasilkan perangkat lunak bebas kualitas terbaik. Rilis berbasis waktu adalah rilis yang tidak menunggu fitur, atau perbaikan kutu - tetapi didasarkan (semurni mungkin) pada ketepatan waktu. Hal ini membantu menerapkan disiplin dalam memperkenalkan perbaikan, memberikan perkiraan, dan memungkinkan rilis yang lebih teratur. Hal ini juga merupakan keadaan di mana kita harus melakukan rilis lebih awal, dan kemudian dengan cepat melakukan rilis perbaikan kutu berdasarkan versi stabil sebelumnya. Jadi, jika Anda membutuhkan versi kualitas tertinggi, masuk akal untuk menunda langkah hingga rilis poin minor pertama atau mungkin kedua.
- LibreOffice melakukan rilis dua tahun sekali yang dapat diperkirakan dan selaras dengan proyek Perangkat Lunak Bebas lainnya (misalnya Gnome) dan setidaknya satu bulan ke depan rilis distribusi Linux utama.
- Menyinkronkan jadwal rilis berbasis waktu dengan ekosistem Perangkat Lunak Bebas yang lebih luas juga memiliki keuntungan besar: yaitu dengan mendapatkan fitur baru secepat mungkin ke pengguna - dengan kelambatan minimal siklus distribusi. Sebagai akibatnya, kami menargetkan enam rilis bulanan, dan seiring waktu mendorong mereka agar selaras dengan norma Maret/September.
- Berlatih melakukan rilis berbasis waktu telah terbukti menghasilkan perangkat lunak merdeka kualitas terbaik. Rilis berbasis waktu adalah rilis yang tidak menunggu fitur, atau perbaikan kutu - tetapi didasarkan (semurni mungkin) pada ketepatan waktu. Hal ini membantu menerapkan disiplin dalam memperkenalkan perbaikan, memberikan perkiraan, dan memungkinkan rilis yang lebih teratur. Hal ini juga merupakan keadaan di mana kita harus melakukan rilis lebih awal, dan kemudian dengan cepat melakukan rilis perbaikan kutu berdasarkan versi stabil sebelumnya. Jadi, jika Anda membutuhkan versi kualitas tertinggi, masuk akal untuk menunda langkah hingga rilis poin minor pertama atau mungkin kedua.
- Terdapat dua cabang: Fresh (rilis terbaru) dan Still (rilis sebelumnya), yang masing-masing ditujukan untuk pengguna fitur utama dan deployment perusahaan konservatif.
- Sebagai hasilnya, pengguna mendapatkan versi utama baru setiap enam bulan dengan berbagai fitur, perbaikan, dan peningkatan. Selain itu, mereka mendapatkan banyak rilis mikro murni perbaikan kutu. Rilis X.Y.0 pertama ditujukan untuk pengguna awal. Pengguna yang lebih konservatif disarankan untuk menunggu rilis perbaikan kutu X.Y.Z nanti.
Perhatikan bahwa tanggal yang disebutkan dalam jadwal mungkin bergeser jika ada masalah teknis atau masalah serius lainnya dengan rilis. Kandidat rilis tambahan mungkin diperlukan jika kandidat rilis final tidak sesuai dengan Kriteria Rilis. Masalah seperti itu akan menggeser rilis final satu pekan atau lebih.
The simplified graphic below shows three releases placed on a timeline consisting of 24 months.
7.5 release
Release | Freeze | Publishing |
---|---|---|
7.5.0 (freeze: week 02) | Pekan 47 , 21 November 2022 - 27 November 2022 | Pekan 05 , 30 Januari 2023 - 5 Februari 2023 |
7.5.1 | Pekan 06 , 6 Februari 2023 - 12 Februari 2023 | Pekan 09 , 27 Februari 2023 - 5 Maret 2023 |
7.5.2 | Pekan 10 , 6 Maret 2023 - 12 Maret 2023 | Pekan 13 , 27 Maret 2023 - 2 April 2023 |
7.5.3 | Pekan 15 , 10 April 2023 - 16 April 2023 | Pekan 18 , 1 Mei 2023 - 7 Mei 2023 |
7.5.4 | Pekan 20 , 15 Mei 2023 - 21 Mei 2023 | Pekan 23 , 5 Juni 2023 - 11 Juni 2023 |
7.5.5 | Pekan 26 , 26 Juni 2023 - 2 Juli 2023 | Pekan 29 , 17 Juli 2023 - 23 Juli 2023 |
7.5.6 | Pekan 33 , 14 Agustus 2023 - 20 Agustus 2023 | Pekan 36 , 4 September 2023 - 10 September 2023 |
7.5.7 | Pekan 41 , 9 Oktober 2023 - 15 Oktober 2023 | Pekan 44 , 30 Oktober 2023 - 5 November 2023 |
End of Life | November 30, 2023 |
See also the detailed schedule and the release notes.
7.4 release
Release | Freeze | Publishing |
---|---|---|
7.4.0 (freeze: week 30) | Pekan 19 , 9 Mei 2022 - 15 Mei 2022 | Pekan 33 , 15 Agustus 2022 - 21 Agustus 2022 |
7.4.1 | Pekan 34 , 22 Agustus 2022 - 28 Agustus 2022 | Pekan 37 , 12 September 2022 - 18 September 2022 |
7.4.2 | Pekan 38 , 19 September 2022 - 25 September 2022 | Pekan 41 , 10 Oktober 2022 - 16 Oktober 2022 |
7.4.3 | Pekan 44 , 31 Oktober 2022 - 6 November 2022 | Pekan 47 , 21 November 2022 - 27 November 2022 |
7.4.4 | Pekan 50 , 12 Desember 2022 - 18 Desember 2022 | Pekan 53 , 2 Januari 2023 - 8 Januari 2023 |
7.4.5 | Pekan 04 , 23 Januari 2023 - 29 Januari 2023 | Pekan 04 , 23 Januari 2023 - 29 Januari 2023 |
7.4.6 | Pekan 07 , 13 Februari 2023 - 19 Februari 2023 | Pekan 10 , 6 Maret 2023 - 12 Maret 2023 |
7.4.7 | Pekan 16 , 17 April 2023 - 23 April 2023 | Pekan 19 , 8 Mei 2023 - 14 Mei 2023 |
End of Life | June 12, 2023 |
See also the detailed schedule and the release notes.
7.3 release
Release | Freeze | Publishing |
---|---|---|
7.3.0 (freeze: week 02) | Pekan 43 , 25 Oktober 2021 - 31 Oktober 2021 | Pekan 05 , 31 Januari 2022 - 6 Februari 2022 |
7.3.1 | Pekan 06 , 7 Februari 2022 - 13 Februari 2022 | Pekan 09 , 28 Februari 2022 - 6 Maret 2022 |
7.3.2 | Pekan 10 , 7 Maret 2022 - 13 Maret 2022 | Pekan 13 , 28 Maret 2022 - 3 April 2022 |
7.3.3 | Pekan 15 , 11 April 2022 - 17 April 2022 | Pekan 18 , 2 Mei 2022 - 8 Mei 2022 |
7.3.4 | Pekan 20 , 16 Mei 2022 - 22 Mei 2022 | Pekan 23 , 6 Juni 2022 - 12 Juni 2022 |
7.3.5 | Pekan 26 , 27 Juni 2022 - 3 Juli 2022 | Pekan 29 , 18 Juli 2022 - 24 Juli 2022 |
7.3.6 | Pekan 33 , 15 Agustus 2022 - 21 Agustus 2022 | Pekan 36 , 5 September 2022 - 11 September 2022 |
7.3.7 | Pekan 41 , 10 Oktober 2022 - 16 Oktober 2022 | Pekan 44 , 31 Oktober 2022 - 6 November 2022 |
End of Life | November 30, 2022 |
See also the detailed schedule and the release notes.
7.2 release
Release | Freeze | Publishing |
---|---|---|
7.2.0 (freeze: week 30) | Pekan 19 , 10 Mei 2021 - 16 Mei 2021 | Pekan 33 , 16 Agustus 2021 - 22 Agustus 2021 |
7.2.1 | Pekan 34 , 23 Agustus 2021 - 29 Agustus 2021 | Pekan 37 , 13 September 2021 - 19 September 2021 |
7.2.2 | Pekan 38 , 20 September 2021 - 26 September 2021 | Pekan 41 , 11 Oktober 2021 - 17 Oktober 2021 |
7.2.3 | Pekan 44 , 1 November 2021 - 7 November 2021 | Pekan 47 , 22 November 2021 - 28 November 2021 |
7.2.4 | Pekan 48 , 29 November 2021 - 5 Desember 2021 | Pekan 49 , 6 Desember 2021 - 12 Desember 2021 |
7.2.5 | Pekan 50 , 13 Desember 2021 - 19 Desember 2021 | Pekan 53 , 3 Januari 2022 - 9 Januari 2022 |
7.2.6 | Pekan 07 , 14 Februari 2022 - 20 Februari 2022 | Pekan 10 , 7 Maret 2022 - 13 Maret 2022 |
7.2.7 | Pekan 16 , 18 April 2022 - 24 April 2022 | Pekan 19 , 9 Mei 2022 - 15 Mei 2022 |
End of Life | June 12, 2022 |
See also the detailed schedule and the release notes.
7.1 release
Release | Freeze | Publishing |
---|---|---|
7.1.0 (freeze: week 02) | Pekan 43 , 19 Oktober 2020 - 25 Oktober 2020 | Pekan 05 , 1 Februari 2021 - 7 Februari 2021 |
7.1.1 | Pekan 06 , 8 Februari 2021 - 14 Februari 2021 | Pekan 09 , 1 Maret 2021 - 7 Maret 2021 |
7.1.2 | Pekan 10 , 8 Maret 2021 - 14 Maret 2021 | Pekan 13 , 29 Maret 2021 - 4 April 2021 |
7.1.3 | Pekan 15 , 12 April 2021 - 18 April 2021 | Pekan 18 , 3 Mei 2021 - 9 Mei 2021 |
7.1.4 | Pekan 20 , 17 Mei 2021 - 23 Mei 2021 | Pekan 23 , 7 Juni 2021 - 13 Juni 2021 |
7.1.5 | Pekan 26 , 28 Juni 2021 - 4 Juli 2021 | Pekan 29 , 19 Juli 2021 - 25 Juli 2021 |
7.1.6 | Pekan 33 , 16 Agustus 2021 - 22 Agustus 2021 | Pekan 36 , 6 September 2021 - 12 September 2021 |
7.1.7 | Pekan 41 , 11 Oktober 2021 - 17 Oktober 2021 | Pekan 44 , 1 November 2021 - 7 November 2021 |
7.1.8 | Pekan 48 , 29 November 2021 - 5 Desember 2021 | Pekan 49 , 6 Desember 2021 - 12 Desember 2021 |
End of Life | November 30, 2021 |
See also the detailed schedule and the release notes.
Rilis 7.0
Rilis | Pembekuan | Publikasi |
---|---|---|
7.0.0 (pembekuan: pekan ke-29) | Pekan 19 , 4 Mei 2020 - 10 Mei 2020 | Pekan 32 , 3 Agustus 2020 - 9 Agustus 2020 |
7.0.1 | Pekan 33 , 10 Agustus 2020 - 16 Agustus 2020 | Pekan 36 , 31 Agustus 2020 - 6 September 2020 |
7.0.2 | Pekan 38 , 14 September 2020 - 20 September 2020 | Pekan 41 , 5 Oktober 2020 - 11 Oktober 2020 |
7.0.3 | Pekan 43 , 19 Oktober 2020 - 25 Oktober 2020 | Pekan 46 , 9 November 2020 - 15 November 2020 |
7.0.4 | Pekan 48 , 23 November 2020 - 29 November 2020 | Pekan 51 , 14 Desember 2020 - 20 Desember 2020 |
7.0.5 | Pekan 07 , 15 Februari 2021 - 21 Februari 2021 | Pekan 10 , 8 Maret 2021 - 14 Maret 2021 |
7.0.6 | Pekan 16 , 19 April 2021 - 25 April 2021 | Pekan 19 , 10 Mei 2021 - 16 Mei 2021 |
Akhir Hayat | 31 Mei 2021 |
Lihat juga jadwal terperinci dan catatan rilis.
Rilis 6.4
Rilis | Pembekuan | Publikasi |
---|---|---|
6.4.0 (pembekuan: pekan ke-2) | Pekan 42 , 14 Oktober 2019 - 20 Oktober 2019 | Pekan 05 , 27 Januari 2020 - 2 Februari 2020 |
6.4.1 | Pekan 06 , 3 Februari 2020 - 9 Februari 2020 | Pekan 09 , 24 Februari 2020 - 1 Maret 2020 |
6.4.2 | Pekan 09 , 24 Februari 2020 - 1 Maret 2020 | Pekan 12 , 16 Maret 2020 - 22 Maret 2020 |
6.4.3 | Pekan 13 , 23 Maret 2020 - 29 Maret 2020 | Pekan 16 , 13 April 2020 - 19 April 2020 |
6.4.4 | Pekan 18 , 27 April 2020 - 3 Mei 2020 | Pekan 21 , 18 Mei 2020 - 24 Mei 2020 |
6.4.5 | Pekan 24 , 8 Juni 2020 - 14 Juni 2020 | Pekan 27 , 29 Juni 2020 - 5 Juli 2020 |
6.4.6 | Pekan 30 , 20 Juli 2020 - 26 Juli 2020 | Pekan 33 , 10 Agustus 2020 - 16 Agustus 2020 |
6.4.7 | Pekan 39 , 21 September 2020 - 27 September 2020 | Pekan 42 , 12 Oktober 2020 - 18 Oktober 2020 |
Akhir Hayat | 30 November 2020 |
Lihat juga jadwal terperinci dan catatan rilis.
Rilis 6.3
Rilis | Pembekuan | Publikasi |
---|---|---|
6.3.0 (pembekuan: pekan ke-29) | Pekan 19 , 6 Mei 2019 - 12 Mei 2019 | Pekan 32 , 5 Agustus 2019 - 11 Agustus 2019 |
6.3.1 | Pekan 32 , 5 Agustus 2019 - 11 Agustus 2019 | Pekan 35 , 26 Agustus 2019 - 1 September 2019 |
6.3.2 | Pekan 36 , 2 September 2019 - 8 September 2019 | Pekan 39 , 23 September 2019 - 29 September 2019 |
6.3.3 | Pekan 41 , 7 Oktober 2019 - 13 Oktober 2019 | Pekan 44 , 28 Oktober 2019 - 3 November 2019 |
6.3.4 | Pekan 47 , 18 November 2019 - 24 November 2019 | Pekan 50 , 9 Desember 2019 - 15 Desember 2019 |
6.3.5 | Pekan 05 , 27 Januari 2020 - 2 Februari 2020 | Pekan 08 , 17 Februari 2020 - 23 Februari 2020 |
6.3.6 | Pekan 15 , 6 April 2020 - 12 April 2020 | Pekan 18 , 27 April 2020 - 3 Mei 2020 |
Akhir Hayat | 29 Mei 2020 |
Lihat juga jadwal terperinci dan catatan rilis.
Tanggal
Rilis dilakukan berdasarkan waktu tetapi jadwal menentukan pekan, bukan tanggal tertentu. Hal ini dikarenakan kita selalu sedikit luwes. Rilis ini dapat ditunda beberapa hari karena kutu pemblokir, masalah build, dan masalah teknis lainnya.
Rilis ini terdiri dari beberapa versi beta dan kandidat rilis. Diperlukan beberapa tindakan untuk setiap build. Alur kerja ideal tampak seperti berikut ini:
- Senin: tenggat waktu commit; pengingat dikirim ke milis pengembang dan pelokalan sebelum tenggat terjadi
- Selasa: tag dibuat pada commit yang mem-build dan lulus pengujian unit, pengujian subsequent, dan pengujian smoke; tag diumumkan pada milis pengembang dan qa
- Rabu: build diunggah di situs pra-rilis awal; kemudian diumumkan di milis pengembang dan jaminan mutu
- Kamis: build diunggah ke mirror. Lalu diumumkan melalui banyak saluran, misalnya milis, twitter
- Jumat: versi tersedia melalui situs pra-rilis resmi
Rilis final biasanya diumumkan pada hari Kamis, beberapa hari setelah kandidat rilis final keluar.
Perhatikan bahwa kami sangat ketat tentang komitmen terhadap kandidat rilis final, sehingga uji regresi penuh tidak diperlukan. Hal ini digunakan sebagai build akhir ketika melewati pengujian yang dibutuhkan sehingga hanya diganti namanya di mirror.
Jadwal
Jadwal didasarkan pada aturan berikut:
- lakukan rilis utama setiap enam bulan dan sinkronkan (setidaknya satu bulan ke depan) dengan distribusi Linux utama; rilis ini selalu disertai dengan berbagai fitur, perbaikan, dan peningkatan
- lakukan rilis perbaikan kutu murni setiap bulan setelah rilis utama sampai cukup baik bahkan untuk orang yang paling konservatif; lakukan lebih jarang setelah itu
- lakukan rilis perbaikan kutu murni, termasuk perbaikan keamanan, sampai rilis berikutnya siap untuk kebanyakan orang konservatif
- jangan lakukan dua build di pekan yang sama.
Hasilnya adalah templat berikut:
Kegiatan | Musim panas | Musim dingin |
---|---|---|
x.y Pembekuan fitur | Jun(w) | Des(w) |
x.y.0 Rilis pertama | Ags(w) | Feb(w) |
x.y.1 Rilis perbaikan kutu | Sep(w) | Mar(w) |
x.y.2 Rilis perbaikan kutu | Okt(w) | Apr(w) |
x.y.3 Rilis perbaikan kutu | Nov(w) | Mei(w) |
x.y.4 rilis perbaikan kutu | Des(w) | Jun(w) |
x.y.5 rilis perbaikan kutu | Feb(t) | Ags(t) |
x.y.6 rilis perbaikan kutu | Apr(t) | Okt(t) |
Di mana (w) berarti awal bulan, (t) berarti pertengahan bulan dan (k) berarti akhir bulan.
Pembekuan string
Rencana rilis untuk versi pertama dari setiap rilis utama menunjukkan "pembekuan string bahasa Inggris & antarmuka yang keras". Idenya adalah untuk membuat kehidupan penerjemah lebih mudah. Para penerjemah harus dapat mempercayai bahwa tidak ada string terjemahan yang baru ditambahkan ke dalam antarmuka atau berkas Bantuan antara periode pembekuan dan pelepasan string.
Setelah versi pertama rilis utama keluar, memperbaiki kesalahan string pada antarmuka dan Bantuan bisa dilakukan. Konten yang benar-benar baru harus ditargetkan pada rilis besar berikutnya.
Skema versi
Kami melakukan beberapa build di sekitar setiap rilis. Skema versi berikut digunakan:
- X.Y.0.0.alphaZ - Zth versi alpha dari rilis awal
- X.Y.0.0.betaZ - Zth versi beta dari rilis awal
- X.Y.0.Z - Calon rilis ke-Z dari rilis awal, kandidat rilis terakhir dianggap sebagai final dan diletakkan di halaman unduhan utama
- X.Y.1.Z - Calon rilis ke-Z dari rilis perbaikan kutu pertama, kandidat rilis terakhir dianggap sebagai final dan diletakkan di halaman unduhan utama
Kesemuanya ini menjadi kompromi terbaik dengan keuntungan-keuntungan sebagai berikut:
- mudah dimengerti oleh pengguna normal. Bendera alpha, beta diketahui dari proyek lain, sehingga ada harapan yang bisa dipahami
- pengurutan alfabet yang benar dalam RPM, Bugzilla
- "Mudah" untuk diurai (string alpha/beta dibatasi oleh titik)
Terdapat diskusi panjang tentang skema ini di milis.
Mempercepat siklus rilis
Akselerasi siklus rilis ini melibatkan beberapa teknik rilis dan upaya JM yang cukup besar. Untuk mengurangi biaya ini, kami berupaya menyediakan snapshot harian lengkap (misalnya yang berisi semua bahasa) dari cabang master untuk memungkinkan pengujian berkelanjutan terhadap peningkatan kode. Hal ini sudah berfungsi sebagian, seperti yang dapat dilihat/diunduh dari sini.
Demikian pula, kami berencana untuk semakin mengotomatiskan proses build agar memungkinkan aliran rilis dengan sentuhan lebih sedikit, juga untuk terus mengecilkan jejak biner kami untuk memungkinkan transfer build yang jauh lebih cepat setara dengan produk.
Rilis Akhir-Hayat
Rilis biasanya memiliki masa hidup sekitar sembilan bulan. Kami menganggap rilis telah mencapai Akhir Hayat/End of Life (EOL) satu bulan setelah rilis yang direncanakan terakhir.
Jika Anda ingin dukungan jangka panjang untuk rilis, Anda dianjurkan untuk menggunakan penyedia L3 bersertifikat yang dapat memberi Anda layanan ini.
Dikarenakan jumlah data, rilis dibagi menjadi ReleasePlan/Arsip.