Essa funcionalidade não é permitida, apenas não é muito comum como resultado da maneira como a numeração de bibliotecas funciona e devido ao inconveniente das alterações no nome do pacote.
Se o uso de um esquema de número de versão pontilhada XYZ A versão "micro" Z muda frequentemente em correções de erros, o número "menor" Y muda em alterações compatíveis com versões anteriores e o número da versão "principal" X precisa mudar nas alterações da API (e às vezes muda maior funcionalidade extra).
Nunca deve haver um motivo para você não querer corrigir os bugs mais recentes, e as alterações compatíveis com versões anteriores também não devem prejudicar o software.
Se a biblioteca for desenvolvida dessa maneira, você sempre poderá substituir XYZ por X. (Y + m). (Z + n). para qualquer dado m e n. Ou seja, você sempre deve poder substituir sua biblioteca pelas últimas da mesma série de números principais. E se os desenvolvedores da biblioteca forem cuidadosos e o próximo número principal for compatível (por exemplo, com o anúncio de descontinuar as coisas, mas ainda não as remover), você poderá usar o próximo número principal.
Para desenvolvedores de pacotes, isso significa que eles podem usar o nome com apenas um, ou mesmo sem nome numérico, para fornecer a versão mais recente atualizando o pacote. Se eles entregam uma biblioteca em um pacote abc2
, precisam passar por dificuldades para mover seu próprio software que contava com abc2
a atualização para uso abc3
, às vezes com pacotes de transição. É mais conveniente deixar de fora o número da versão principal de uma biblioteca, se isso funcionar para a maioria dos pacotes que dependem. Portanto, mesmo que ambos abc2
e abc3
devam estar disponíveis em algum momento disponível em uma distribuição, abc3
seja chamado com frequência abc
(assim como abc2
foi chamado quando abc3
ainda não existia) e, assim que nenhum pacote depende abc2
da distribuição, é possível descartarabc2
completamente.
O esquema de numeração não é seguido de maneira uniforme, mas só posso imaginar que, com o advento da Internet, divulgue informações sobre como usar esse esquema e a pressão dos usuários da biblioteca (incluindo desenvolvedores de distribuição) para deixar claro coisas importantes, como compatibilidade com versões anteriores, sem ter que ler um arquivo CHANGES incluído na biblioteca, contribuiu para que isso se tornasse mais comum.
Um exemplo contrário, mas não de uma biblioteca, é o intérprete python, que não é compatível com seus objetos compartilhados e com o formato de decapagem em uma pequena alteração no número. Portanto, você verá pacotes para python (o mais recente da série 2.7) e python3 (o mais recente da série python3.4), bem como pacotes explícitos para o python 2.6 (não ficando menos comum) e para o python 3.3.