Разница между feature versioning и versioning средствами VCS заключается в подходе к версионированию:
- Feature versioning предполагает работу с набором фич (функций) вместо конкретных версий. habr.com Приложение клиента работает с набором фич, а сервер поддерживает полный реестр фич. habr.com Когда приложение с ним коннектится, он проверяет, какой набор активных фич из реестра поддерживает приложение. habr.com На основании этого совпадения сервер знает, в каком формате давать ответ, чтобы приложение не сломалось. habr.com
- Versioning средствами VCS — это версионирование с помощью систем контроля версий. habr.com blog.4geeks.io Система выступает центральным хранилищем, в котором хранятся все разные версии кодовой базы и отслеживаются изменения между ними. blog.4geeks.io Для обозначения версии на нужный коммит навешивают тэг версии. habr.com
Таким образом, feature versioning подходит для ситуаций, когда у API нет конкретных версий, а нужно решить проблему обратной совместимости. habr.com Versioning средствами VCS подходит для маленьких API, которые просто и легко поддерживать, а также для внутренних API микросервисов. habr.com