O Discourse em breve atualizará nossa versão do framework Javascript Ember da versão 3 para a versão 5. A grande maioria do trabalho de preparação está concluída, e muitos sites já estão rodando em Ember 5 (incluindo o Meta!). ![]()
Esta atualização está disponível atrás de uma flag de recurso agora! Esta é a configuração padrão para instalações auto-hospedadas do Discourse a partir de 10 de janeiro. Inicialmente, o suporte ao Ember 3 permanecerá disponível através de uma flag, mas será removido no primeiro trimestre de 2024.
Em nossa hospedagem gerenciada discourse.org, faremos uma implementação gradual da flag nos próximos meses:
| Data de Upgrade | |
|---|---|
| Básico | 2023-12-07 |
| Grátis | 2023-12-12 |
| Pro | 2024-01-15 |
| Business | 2024-01-22 |
| Enterprise | (caso a caso) |
O que isso significa para mim e meu site?
Se você está rodando o Discourse sem temas, plugins ou componentes de tema extras… você está pronto! Não precisa fazer nada, ou se preocupar com isso.
Da mesma forma, se você usa apenas temas/plugins oficiais, nós cuidamos de você! Garantiremos que todos os nossos temas, componentes de tema e plugins oficiais estejam preparados e prontos para a atualização.
Para aqueles que usam personalizações de terceiros, seus desenvolvedores devem fazer as alterações necessárias para que você possa continuar a usá-los sem problemas durante esta transição.
No entanto, se você tem temas, componentes de tema ou plugins personalizados que criou ou encomendou para seus sites, este post é para você! Abordaremos como identificar e resolver quaisquer problemas antes da atualização.
Identificando problemas
Todos os problemas de atualização relacionados ao ember-5 podem ser identificados antes da atualização verificando o uso de APIs obsoletas. Nas versões recentes do Discourse (a partir do Discourse 3.2.0.beta4-dev), essas depreciações críticas acionarão um banner de aviso para administradores:
Você pode encontrar mais informações sobre depreciações acionadas no console do desenvolvedor do navegador. Geralmente, é uma boa prática resolver todas as depreciações que você vê. Mas para esta atualização de versão do Ember, as principais a serem resolvidas são:
-
discourse.modal-controllers(veja este tópico para mais informações) -
todas as depreciações do Ember (ou seja, aquelas com IDs que não são
-discourse.)
Ao imprimir depreciações no console, o Discourse tenta identificar o tema/plugin relevante.
Para desenvolvedores e provedores de hospedagem, disponibilizamos algumas ferramentas para identificar depreciações em massa:
-
Ao executar testes QUnit, um relatório é impresso no final com uma lista de todas as depreciações não resolvidas. No GitHub actions, uma versão em markdown disso é adicionada à página de resumo do workflow.
-
Para provedores de hospedagem, temos o plugin discourse-deprecation-collector que incrementa contadores prometheus sempre que depreciações são atingidas em produção.
Resolvendo depreciações
Geralmente, a mensagem do console incluirá uma descrição do problema e as etapas necessárias para resolvê-lo. Em alguns casos, eles fornecerão links para recursos externos como o site Ember deprecations ou o Discourse Meta.
Se algo não estiver claro, sinta-se à vontade para postar abaixo ou em um tópico dedicado de Dev e faremos o nosso melhor para ajudar.
Testando no Ember 5
Para testar no Ember 5 em um ambiente de desenvolvimento local, você pode iniciar nosso helper ember-cli com a variável de ambiente EMBER_VERSION. Por exemplo:
EMBER_VERSION=5 bin/ember-cli -u
Para confirmar que as coisas estão funcionando como esperado, verifique a versão do Ember que o Discourse imprime no console do navegador.
Em produção, você pode conseguir o mesmo adicionando EMBER_VERSION: 5 à seção env: do seu arquivo app.yml.




