Ciclo de vida da versão
O MediaWiki opera em um modelo de desenvolvimento de "integração contínua", onde as mudanças de software são enviadas diretamente para sites da Wikimedia como a Wikipédia em uma base regular.
Em teoria, os novos grandes lançamentos são emitidos numa base semestral, e pacotes de lançamento continuam a receber atualizações de segurança para até um ano a partir da primeira versão. Devido a limitações de tempo e de refatoração rápida da base de código, não podemos suportar lançamentos obsoletos para sempre, e as atualizações de segurança e críticas não são aplicadas aos lançamentos que atingiram o término do status de vida.
O gerenciador de lançamento recomenda enfaticamente que os operadores wiki se inscrevam na lista de discussão mediawiki-announce
, que recebe a notificação de todos os lançamentos, e garante que o seu wiki executa a mais atualizada versão do software possível. Estes anúncios também são destacados para mediawiki-l
e wikitech-l
.
Versões e seu fim de vida
Versão | Situação | Lançamento | Fim de vida |
---|---|---|---|
1.44.x | versão futura | ||
1.43.x (LTS) | versão de suporte de longo prazo atual | ||
1.42.x | versão estável atual | ||
1.41.x | versão legada | ||
1.40.x | versão obsoleta | ||
1.39.x (LTS) | versão de suporte a longo prazo legado | ||
1.38.x | versão obsoleta |
As versões incluídas na tabela acima que estão marcadas como obsoletas, bem como as versões não listadas, não receberão nenhuma correção de segurança. This also includes all versions older than the oldest version listed. Elas podem conter vulnerabilidades de segurança críticas e outros erros graves, incluindo a possível ameaça de perda e/ou corrupção de dados. O gerenciador de versões também emitiu uma recomendação forte de que apenas as versões “estável”, “legada” e “suporte a longo prazo” listadas acima sejam usadas em um ambiente de produção.
- Versão alpha
- Release development
- Stable release
- Long-term support release
Política de lançamento
- Cada lançamento pontual irá incluir arquivos i18n atualizados, bem como quaisquer correções de bugs. Nenhuma nova funcionalidade será portada para apontar lançamentos e o suporte não inclui necessariamente extensões e peles agrupadas no geral.
- Um lançamento majoritário será feito a cada seis meses.
- Um lançamento minoritário (incluindo correções de segurança, traduções de mensagens e consertos em geral) será feito a cada trimestre.
- Um lançamento de suporte a longo prazo (LTS) será feito a cada dois anos. Haverá uma sobreposição de um ano no suporte ao LTS. Por exemplo, a 1.23, que teve suporte até maio de 2017, foi sucedida pela 1.27, lançada no ano anterior (2016) para que as pessoas na 1.23 já tivessem uma nova LTS disponível para atualizar, bem como 1 ano para fazer essa transição.
- Notas de lançamentos continuarão sendo a base para ver o que mudou. Por causa da natureza de um projeto feito por voluntários, não é possível dizer com certeza o que irá acontecer nos próximos 6 ou 12 meses.
Cronograma de lançamento
Esta linha do tempo é uma programação para o que precisa acontecer antes do lançamento de uma nova versão. A data da versão atual é dada aqui como T (para “tempo” de lançamento) e o sufixo -# (para “número de semanas antes do lançamento”).
Cronograma relativo | Tarefa |
---|---|
T - 7 | Anunciar que o ramo de lançamento será criado em uma semana. Avisar às pessoas para se certificarem de que qualquer coisa necessária para concluir os recursos em andamento seja mesclada via merge antes da data. Criar “MW-X.XX-release” no Phabricator. |
T - 6 | Criar o ramo para o núcleo do MW e todas as extensões no Gerrit. |
T - 5 | Aplicar a marcação (tag) “X.XX-rc.0” e liberar o candidato de lançamento inicial. |
T - 4 | Coletar relatórios de erros e resumi-los na lista de discussão. |
T - 3 | Aplicar a marcação “X.XX-rc.1” e liberar o segundo candidato de lançamento. Quaisquer novas extensões propostas para adição ao tarball já devem estar inclusas nesse ponto. Nenhuma mudança nas extensões é feita após esse ponto. |
T - 2 | Coletar novos relatórios de erros, correções de merge, remover novos recursos incompletos acidentalmente incluídos, aplicar a marcação “X.XX-rc.2” e liberar o terceiro candidato de lançamento. |
T - 1 | Repetir a etapa anterior, marcando o lançamento como “X.XX-rc.final”. Não são aceitos backports após esse ponto. |
T | Marcar o repositório com X.XX e fazer o lançamento. |
Gestão da vida útil das extensões
A maioria das instalações do MediaWiki inclui um número significativo de extensões (as wikis da Wikimedia geralmente têm cerca de 140). Gerenciar a manutenção e a correção de erros nas extensões, bem como escolher a versão correta de uma extensão nos casos em que a versão de desenvolvimento do HEAD depende de recursos que ainda não estão disponíveis no núcleo do MediaWiki estável ou antigo (oldstable), pode ser um desafio.
Os mantenedores de extensões são, portanto, fortemente encorajados a manter no git um ramo (branch) para cada versão da extensão que corresponda a uma versão MediaWiki.
(Veja Compatibility#MediaWiki extensions para detalhes.)
Para extensões hospedadas nos repositórios de git da Wikimedia, tais ramos (com nomes como REL1_30
para o MediaWiki 1.30) são criados automaticamente a partir do master quando uma nova versão do MediaWiki é adicionada aos ramos (assumindo que o master da extensão seja compatível com o master do MediaWiki o tempo todo).
No entanto, é preferível que o mantenedor da extensão corrija erros não apenas no HEAD, mas também nas versões antigas (oldstable) e estáveis (fazendo o backport da correção nos ramos antigos, se necessário).
O objetivo dessas regras é que as pessoas ou organizações que instalam o MediaWiki possam contar com a instalação do mais novo lançamento de uma versão e suas extensões através de um método simples. Por exemplo, para o núcleo 1.20.x, consultando REL1_20
no git.
Isso evita que tarballs e arquivos zipados tenham nomes irrelevantes ou inúteis.
Ver também
- Informações de compatibilidade para o MediaWiki, entre as quais PHP e MySQL
- Política de interface estável
- Geradores no WikiApiary – Estatísticas sobre o uso de diferentes versões do MediaWiki.