No contexto da versão semântica, uma mudança na configuração padrão garante uma nova versão principal?

5

Meu módulo está habilitado por padrão (ou seja, quando você adiciona o módulo). Há também uma configuração que você pode usar opcionalmente, que suporta uma configuração enabled="true|false" . Desta forma, o módulo pode ser desativado após ser adicionado, sem a necessidade de remover o módulo.

Mas percebi que o módulo não funciona muito bem com outro módulo que também é ativado por padrão. Estou pensando em mudar meu módulo para que ele não seja ativado por padrão. Isso seria interrompido para qualquer pessoa que não tenha ativado explicitamente a configuração de enabled="true" .

Devo esperar pela v2.0 para isso? O semver.org menciona a API pública e quebra as alterações, não a configuração. É geralmente aceito que a configuração faz parte da API pública?

    
por Michiel van Oosterhout 05.02.2012 / 22:48
fonte

2 respostas

7

Eu consideraria qualquer alteração que obrigue um usuário a modificar seu código / configuração como resultado de uma quebra de mudança.

Portanto, nesse caso específico, esperaria até a v2 para introduzir o padrão de enabled=false e, em vez disso, adicionaria uma nota na próxima versão secundária que explica esse cenário conhecido, que você deve definir explicitamente enabled=false para evitar e que o próximo grande lançamento irá consertá-lo.

    
por 06.02.2012 / 00:05
fonte
-1

Não é uma mudança semântica, então você está bem mudando isso (não é uma mudança urgente forçando as pessoas a recompilar e testar). Isso é basicamente uma alternância e seus usuários podem alterá-la para atender às suas necessidades. É por isso que você fez a configuração para começar. Você não mudou a natureza do que o verdadeiro / falso significa.

Basta ser legal e adicioná-lo às anotações que estão desativadas por padrão, hehe.

    
por 05.02.2012 / 23:45
fonte