Вам знакомо то чувство, когда обновление того или иного фреймворка на давнем и стабильном проекте взрывает код и превращает его в красно-перечеркнутое месиво? Будучи разработчиками платформы CUBA нам до боли это знакомо. Так за время существования платформы, она поменяла под собой 3 ORM-а, 3 мажорных версии Vaadin, не говоря уже о Spring Framework. При этом, одной из задач, решаемых платформой, является именно сохранение стабильного API, чтобы наши пользователи не страдали от выше обозначенной проблемы и мигрировали на последние версии всех используемых в платформе библиотек. В этом выступлении мы делимся своим опытом построения API, а также приемами, которые позволяют нам решать проблемы с переездом решений на базе CUBA на up-to-date стек.