O SemVer em si não foi realmente projetado para grandes aplicações. Entendo que ele é muito mais voltado para bibliotecas consumidas por software e, em particular, a lógica de numeração de versão é construída em torno da API do pacote.
Poderíamos aplicar o SemVer às nossas APIs, embora. Ter garantias mais fortes em torno das APIs que o Discourse expõe é certamente uma conversa que vale a pena ter, mas acho que é separada desta.
Agora, entendo que você não disse que deveríamos estar em conformidade com o SemVer – você apenas disse que deveríamos continuar usando números que são compatíveis com o sistema de numeração especificado pelo SemVer.
- Um número de versão normal DEVE ter a forma X.Y.Z, onde X, Y e Z são inteiros não negativos e NÃO DEVEM conter zeros à esquerda. X é a versão principal, Y é a versão secundária e Z é a versão de correção. Cada elemento DEVE aumentar numericamente. Por exemplo: 1.9.0 → 1.10.0 → 1.11.0.
Acho que a sugestão de “zeros à esquerda” é a única coisa que estaríamos quebrando se seguíssemos esse caminho.
Fora isso, acho que qualquer biblioteca SemVer ainda seria capaz de analisar os números de versão que estamos sugerindo e ordená-los corretamente.
Tudo isso de lado, você pode compartilhar mais sobre por que você acha que ser compatível com um sistema de numeração SemVer tem valor?