LibreOffice: Plano de lançamentos

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

    Introduction

    O encadeamento de lançamentos baseados em tempo tem mostrado ser a alternativa para se produzir software livre com uma melhor qualidade. Lançamentos baseado em tempo é uma forma que não espera por funcionalidades ou correções de falhas, mas é baseada (como o mais puramente possível) no tempo. Isso impõe disciplina na introdução de correções, dá previsibilidade, e permite liberações mais regulares. É também o caso que nós necessariamente lançaremos mais cedo e, em seguida, de forma incremental lançaremos rapidamente correção de falha com base na versão estável anterior. Assim, se você tiver uma necessidade de versões com mais alta qualidade, pode fazer sentido adiar a atualização até a liberação da primeira, ou talvez segunda versão menor.

    • LibreOffice does bi-annual, predictable releases that are in sync with other Free Software projects (eg. Gnome) and are at least one month ahead major Linux distribution releases.
    • Synchronizing time-based release schedule with the wider Free Software ecosystem also has huge advantages, by getting our new features, out to users as quickly as possible – with a minimum of distribution cycle lag. In consequence, we aim at six monthly releases, and over time nudge them to align well with the March/September norms.
    • 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.

    Future
    Fresh
    Still

    7.5 release

    Basic dates for the initial and bugfix releases
    Release Freeze Publishing
    7.5.0 (freeze: week 02) Week 47 , 21/11/2022 - 27/11/2022 Week 05 , 30/1/2023 - 5/2/2023
    7.5.1 Week 06 , 6/2/2023 - 12/2/2023 Week 09 , 27/2/2023 - 5/3/2023
    7.5.2 Week 10 , 6/3/2023 - 12/3/2023 Week 13 , 27/3/2023 - 2/4/2023
    7.5.3 Week 15 , 10/4/2023 - 16/4/2023 Week 18 , 1/5/2023 - 7/5/2023
    7.5.4 Week 20 , 15/5/2023 - 21/5/2023 Week 23 , 5/6/2023 - 11/6/2023
    7.5.5 Week 26 , 26/6/2023 - 2/7/2023 Week 29 , 17/7/2023 - 23/7/2023
    7.5.6 Week 33 , 14/8/2023 - 20/8/2023 Week 36 , 4/9/2023 - 10/9/2023
    7.5.7 Week 41 , 9/10/2023 - 15/10/2023 Week 44 , 30/10/2023 - 5/11/2023
    End of Life November 30, 2023

    See also the detailed schedule and the release notes.

    7.4 release

    Basic dates for the initial and bugfix releases
    Release Freeze Publishing
    7.4.0 (freeze: week 30) Week 19 , 9/5/2022 - 15/5/2022 Week 33 , 15/8/2022 - 21/8/2022
    7.4.1 Week 34 , 22/8/2022 - 28/8/2022 Week 37 , 12/9/2022 - 18/9/2022
    7.4.2 Week 38 , 19/9/2022 - 25/9/2022 Week 41 , 10/10/2022 - 16/10/2022
    7.4.3 Week 44 , 31/10/2022 - 6/11/2022 Week 47 , 21/11/2022 - 27/11/2022
    7.4.4 Week 50 , 12/12/2022 - 18/12/2022 Week 53 , 2/1/2023 - 8/1/2023
    7.4.5 Week 04 , 23/1/2023 - 29/1/2023 Week 04 , 23/1/2023 - 29/1/2023
    7.4.6 Week 07 , 13/2/2023 - 19/2/2023 Week 10 , 6/3/2023 - 12/3/2023
    7.4.7 Week 16 , 17/4/2023 - 23/4/2023 Week 19 , 8/5/2023 - 14/5/2023
    End of Life June 12, 2023

    See also the detailed schedule and the release notes.

    7.3 release

    Basic dates for the initial and bugfix releases
    Release Freeze Publishing
    7.3.0 (freeze: week 02) Week 43 , 25/10/2021 - 31/10/2021 Week 05 , 31/1/2022 - 6/2/2022
    7.3.1 Week 06 , 7/2/2022 - 13/2/2022 Week 09 , 28/2/2022 - 6/3/2022
    7.3.2 Week 10 , 7/3/2022 - 13/3/2022 Week 13 , 28/3/2022 - 3/4/2022
    7.3.3 Week 15 , 11/4/2022 - 17/4/2022 Week 18 , 2/5/2022 - 8/5/2022
    7.3.4 Week 20 , 16/5/2022 - 22/5/2022 Week 23 , 6/6/2022 - 12/6/2022
    7.3.5 Week 26 , 27/6/2022 - 3/7/2022 Week 29 , 18/7/2022 - 24/7/2022
    7.3.6 Week 33 , 15/8/2022 - 21/8/2022 Week 36 , 5/9/2022 - 11/9/2022
    7.3.7 Week 41 , 10/10/2022 - 16/10/2022 Week 44 , 31/10/2022 - 6/11/2022
    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 , 10/5/2021 - 16/5/2021 Week 33 , 16/8/2021 - 22/8/2021
    7.2.1 Week 34 , 23/8/2021 - 29/8/2021 Week 37 , 13/9/2021 - 19/9/2021
    7.2.2 Week 38 , 20/9/2021 - 26/9/2021 Week 41 , 11/10/2021 - 17/10/2021
    7.2.3 Week 44 , 1/11/2021 - 7/11/2021 Week 47 , 22/11/2021 - 28/11/2021
    7.2.4 Week 48 , 29/11/2021 - 5/12/2021 Week 49 , 6/12/2021 - 12/12/2021
    7.2.5 Week 50 , 13/12/2021 - 19/12/2021 Week 53 , 3/1/2022 - 9/1/2022
    7.2.6 Week 07 , 14/2/2022 - 20/2/2022 Week 10 , 7/3/2022 - 13/3/2022
    7.2.7 Week 16 , 18/4/2022 - 24/4/2022 Week 19 , 9/5/2022 - 15/5/2022
    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 , 19/10/2020 - 25/10/2020 Week 05 , 1/2/2021 - 7/2/2021
    7.1.1 Week 06 , 8/2/2021 - 14/2/2021 Week 09 , 1/3/2021 - 7/3/2021
    7.1.2 Week 10 , 8/3/2021 - 14/3/2021 Week 13 , 29/3/2021 - 4/4/2021
    7.1.3 Week 15 , 12/4/2021 - 18/4/2021 Week 18 , 3/5/2021 - 9/5/2021
    7.1.4 Week 20 , 17/5/2021 - 23/5/2021 Week 23 , 7/6/2021 - 13/6/2021
    7.1.5 Week 26 , 28/6/2021 - 4/7/2021 Week 29 , 19/7/2021 - 25/7/2021
    7.1.6 Week 33 , 16/8/2021 - 22/8/2021 Week 36 , 6/9/2021 - 12/9/2021
    7.1.7 Week 41 , 11/10/2021 - 17/10/2021 Week 44 , 1/11/2021 - 7/11/2021
    7.1.8 Week 48 , 29/11/2021 - 5/12/2021 Week 49 , 6/12/2021 - 12/12/2021
    End of Life November 30, 2021

    See also the detailed schedule and the release notes.

    7.0 release

    datas referenciais para a distribuição e correção de falhas
    Lançamento Congelamento Publicação
    7.0.0 (freeze: week 29) Week 19 , 4/5/2020 - 10/5/2020 Week 32 , 3/8/2020 - 9/8/2020
    7.0.1 Week 33 , 10/8/2020 - 16/8/2020 Week 36 , 31/8/2020 - 6/9/2020
    7.0.2 Week 38 , 14/9/2020 - 20/9/2020 Week 41 , 5/10/2020 - 11/10/2020
    7.0.3 Week 43 , 19/10/2020 - 25/10/2020 Week 46 , 9/11/2020 - 15/11/2020
    7.0.4 Week 48 , 23/11/2020 - 29/11/2020 Week 51 , 14/12/2020 - 20/12/2020
    7.0.5 Week 07 , 15/2/2021 - 21/2/2021 Week 10 , 8/3/2021 - 14/3/2021
    7.0.6 Week 16 , 19/4/2021 - 25/4/2021 Week 19 , 10/5/2021 - 16/5/2021
    Término do suporte May 31, 2021

    Leia também o cronograma detalhado e as notas do lançamento.

    6.4 release

    datas referenciais para a distribuição e correção de falhas
    Lançamento Congelamento Publicação
    6.4.0 (freeze: week 02) Week 42 , 14/10/2019 - 20/10/2019 Week 05 , 27/1/2020 - 2/2/2020
    6.4.1 Week 06 , 3/2/2020 - 9/2/2020 Week 09 , 24/2/2020 - 1/3/2020
    6.4.2 Week 09 , 24/2/2020 - 1/3/2020 Week 12 , 16/3/2020 - 22/3/2020
    6.4.3 Week 13 , 23/3/2020 - 29/3/2020 Week 16 , 13/4/2020 - 19/4/2020
    6.4.4 Week 18 , 27/4/2020 - 3/5/2020 Week 21 , 18/5/2020 - 24/5/2020
    6.4.5 Week 24 , 8/6/2020 - 14/6/2020 Week 27 , 29/6/2020 - 5/7/2020
    6.4.6 Week 30 , 20/7/2020 - 26/7/2020 Week 33 , 10/8/2020 - 16/8/2020
    6.4.7 Week 39 , 21/9/2020 - 27/9/2020 Week 42 , 12/10/2020 - 18/10/2020
    Término do suporte November 30, 2020

    Leia também o cronograma detalhado e as notas do lançamento.

    6.3 release

    datas referenciais para a distribuição e correção de falhas
    Lançamento Congelamento Publicação
    6.3.0 (freeze: week 29) Week 19 , 6/5/2019 - 12/5/2019 Week 32 , 5/8/2019 - 11/8/2019
    6.3.1 Week 32 , 5/8/2019 - 11/8/2019 Week 35 , 26/8/2019 - 1/9/2019
    6.3.2 Week 36 , 2/9/2019 - 8/9/2019 Week 39 , 23/9/2019 - 29/9/2019
    6.3.3 Week 41 , 7/10/2019 - 13/10/2019 Week 44 , 28/10/2019 - 3/11/2019
    6.3.4 Week 47 , 18/11/2019 - 24/11/2019 Week 50 , 9/12/2019 - 15/12/2019
    6.3.5 Week 05 , 27/1/2020 - 2/2/2020 Week 08 , 17/2/2020 - 23/2/2020
    6.3.6 Week 15 , 6/4/2020 - 12/4/2020 Week 18 , 27/4/2020 - 3/5/2020
    Término do suporte May 29, 2020

    Leia também o cronograma detalhado e as notas do lançamento.

    Datas

    O tempo de lançamento é aproximado mas a agenda define a semana do ano no lugar do dia exato. É porque primamos pela flexibilidade. O lançamento pode ser adiado por alguns dias devido a erros impeditivos, problemas na compilação e outras questões técnicas.

    O lançamento é composto de várias versões betas e candidatas. São necessárias diversas ações para cada compilação. O fluxo de trabalho ideal tem se mostrado assim:

    • Segunda-feira - a data limite de submissão; um lembrete é enviado para a lista de regionalização (internacionalização l10n) dos desenvolvedores, antes do processo ser iniciado
    • Terça-feira - o marco é criado sob uma submissão a qual é compilada, permitindo testes de unidade, subsequentes, e testes de rejeição; o marco é anunciado nas listas de discussão de desenvolvedores e de testadores de garantia da qualidade (QA).
    • Quarta-feira - as compilações são enviadas para a página inicial de pré-lançamento; elas são anunciadas nas listas de discussão de desenvolvedores e de testadores de garantia da qualidade (QA).
    • Quinta-feira - as compilações são enviadas aos servidores da internet
    • Sexta-feira - as compilações ficam disponíveis na página oficial de pré-lançamento; elas são anunciadas através de muitos canais, por exemplo, listas de discussão, twitter entre outros

    A versão final costuma ser anunciada na quarta-feira, poucos dias após a versão candidata final estiver disponível.

    Observe que nós somos muito rigorosos com a versão candidata final, por isso a regressão completa não é necessária. Quando a versão candidata passa nos exames necessários ela é usada como a versão definitiva. E finalmente é apenas renomeada nos servidores.

    Cronograma

    O cronograma é baseado nas seguintes regras:

    • Fazer um lançamento secundário a cada 6 meses e sincronizar com as principais distribuições Linux. Ele sempre vem com uma vasta gama de funcionalidades, correções e melhorias.
    • Consertar as falhas a cada mês após o lançamento principal até que fique bom o suficiente para os usuários mais conservadores; diminuir a frequência depois.
    • Não coincidir datas finais para a liberação, se possível.
    • Oferecer suporte a um lançamento por pelo menos 1 ano.

    O resultado é o seguinte gabarito:

    lançamentos intercalados
    evento inverno verão
    x.y congelamento junho(i) dezembro(i)
    x.y.0 lançamento da 1ª versão agosto(i) fevereiro(i)
    x.y.1 lançamento de versão corrigida setembro(i) março(i)
    x.y.2 lançamento de versão corrigida outubro(i) abril(i)
    x.y.3 lançamento de versão corrigida novembro(i) maio(i)
    x.y.4 lançamento de versão corrigida dezembro(i) junho(i)
    x.y.5 lançamento de versão corrigida fevereiro(m) agosto(m)
    x.y.6 lançamento de versão corrigida abril(m) outubro(m)

    onde (i) significa início do mês e (m) significa meados do mês.

    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.

    Esquema da versão

    Fazemos diversas compilações para cada lançamento. O seguinte esquema de versão é usado:

    • X.Y.0.0.alphaN - n-ésima versão alfa da distribuição inicial
    • X.Y.0.0.betaN - n-ésima versão beta da distribuição inicial
    • X.Y.0.N - n-ésima versão candidata da distribuição inicial, sendo que a última RC é considerada como final e disponibilizada na página principal para distribuição
    • X.Y.1.N - n-ésima versão candidata da 1ª distribuição corrigida, sendo que a última RC é considerada como final e disponibilizada na página principal para distribuição

    Parece ser o melhor compromisso com as seguintes vantagens:

    • de fácil compreensão para usuários normais, alfa e beta, de modo a definir expectativas razoáveis
    • classificação alfabética correta em RPM na página de informações de erros (bugzilla)
    • “fácil” para analisar (alfa e beta são delimitadas pelo ponto)

    Houve um longo debate sobre este esquema na lista de discussão.

    Acelerar o ciclo de lançamento

    Esta aceleração do ciclo de lançamento envolve algumas considerações na engenharia de lançamento e esforços de controle de qualidade (QA). Para reduzir o custo destes, iremos, ao longo do tempo, trabalhar para fornecer dados completos, ou seja, contendo todos os idiomas, com instantâneos diários do ramo principal para permitir o teste contínuo de melhorias do código.

    Da mesma forma, pretendemos cada vez mais automatizar o processo de compilação para permitir um fluxo de liberação muito menor, e que continue a diminuir a pegada dos nossos binários para permitir a transferência muito mais rápida das construções do produto equivalente.

    Versões com o suporte encerrado

    Geralmente um ramo de distribuição tem um tempo de vida de aproximadamente nove meses. O término do suporte (EOL) chega um mês após o último lançamento planejado.

    Entretanto, se você quer um período maior para o suporte, sinta-se convidado a contratar os serviços de qualquer desenvolvedor certificado nível L3.

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