Ao lançar uma atualização para uma extensão, é necessário definir a nova versão no arquivo XML de atualização localizado no servidor, da seguinte forma:
<update>
<name>JJ Shoutbox</name>
<description>JJ Shoutbox</description>
<element>mod_shoutbox</element>
<type>module</type>
<version>4.0.3</version>
<downloads>
<downloadurl type="full" format="Zip">PATH_TO_FILE</downloadurl>
</downloads>
<maintainer>JoomJunk</maintainer>
<maintainerurl>http://www.joomjunk.co.uk</maintainerurl>
<targetplatform name="joomla" version="3.3"/>
<client>0</client>
<client_id>0</client_id>
</update>
Normalmente, o que faço é, para cada versão, duplicar o código acima. Como você pode imaginar, quanto mais atualizações forem lançadas, mais longo o arquivo XML se tornará.
Minha pergunta é: preciso duplicar o código acima para cada versão ou preciso defini-lo apenas para a versão mais recente?
O Joomla Installer itera através de todos os nós de atualização XML, procurando a última versão correspondente. Ele não se lembra do valor anterior da nota "head". Além disso, quando o adaptador do Instalador instala as extensões, ele lê todos os valores do nó. Portanto, não é possível otimizar o arquivo XML.
Como prática recomendada, recomendo trabalhar com um gerenciador de downloads do Joomla que crie arquivos de atualização XML. Na minha operação, trabalho com o Akeeba Releases.