Обратная совместимость API, где новые версии, которые имеют новые API
Я прошел через некоторые связанные темы, но мой вопрос:
Если у меня есть модуль, который предоставляет API, и с каждой новой версией я продолжаю добавлять совершенно новые методы и изменяю существующие.
потребительская версия 1::-> использует API версию 1
потребительская версия 2::-> использует API версию 2 (с новыми методами) и может использовать API версию 1 (обратная совместимость)
В случае, когда потребительская версия 2 использует API-версию 1, как лучше всего убедиться, что новые методы не вызываются потребителем в API-версии 1?
Я знаю возможный обходной путь для введения метода getVersion() в API, и каждый раз, когда потребитель вызывает метод, он может проверить версию перед выполнением вызова. Есть ли возможный обходной путь или лучший способ?