чтобы не было bc break надо просто не изменять, а добавлять) завести каталог v2 и там новый измененный класс. понадобилось еще что-то поменять - делается v3 / v2_1_1. в каждой мажорной версии старые классы и методы помечать
@deprecated, со временем удалять их, предупреждая, что начиная с этой версии (v4.0) функционал v1_0 более не доступен вовсе, рекомендуется использовать v4_0, а более старые версии использовать не рекомендуется, и т д