Система дизайна ясности была открыта в течение более года, и мы выбрали путь, ведущий к официальному выпуску 1.0. VMware имеет более 100 различных продуктов, использующих Clarity, и гораздо больше внешних пользователей. Хотя мы считаем Clarity стабильным проектом и стараемся ограничить критические изменения между выпусками 0.x, мы знаем, насколько важно иметь четкую стратегию того, чего ожидать от вашей дизайн-системы.

С этой целью мы изложили нашу политику в отношении того, как и когда мы планируем выпускать новые версии Clarity, чтобы вы могли соответствующим образом планировать свои проекты.

Семантическое управление версиями и цикл выпуска на основе времени

Clarity приняла семантическое управление версиями (semver), за исключением того, что у нас еще нет версии 1.0 и мы используем второстепенные выпуски для критических изменений. Это обычная практика, но мы считаем, что она также может вызвать некоторую путаницу. Поэтому мы планируем выпустить еще два второстепенных выпуска (0.12 и 0.13), а затем, когда мы выпустим версию 1.0, мы будем придерживаться правильного семвера в наших выпусках.

Другими словами, после версии 1.0 критические изменения произойдут только после выпуска версии 2.0. Любые версии 1.x.x будут оставаться обратно совместимыми, и любые новые функции, которые могут быть поставлены без критических изменений, должны быть включены в выпуски 1.x.

Ожидайте новых основных выпусков каждые 6 месяцев при правильном соблюдении правил семантического управления версиями, начиная с версии 1.0.

Мы также выпускаем версии по нерегулярному графику, в первую очередь, когда у нас есть критические изменения, которые нам нужно внести. Многие функции (например, новый datepicker) были введены без критических изменений, но другие функции (например, предстоящий рефакторинг форм) будут ждать следующего выпуска с критическими изменениями. Это может вызвать необходимость в планировании функций и выпусков, что может вызвать трение и требует времени для управления.

Чтобы решить эту проблему, мы решили также перейти на 6-месячный цикл выпуска основных выпусков, которые могут содержать критические изменения. Мы сосредоточимся на выпуске функций, когда они будут готовы, и только те из них, у которых есть критические изменения, нужно запланировать для следующего основного выпуска. Это означает, что только два раза в год вам придется беспокоиться о нарушении изменений во время обновления, если вы останетесь на последней версии Clarity.

Представляем долгосрочную поддержку ясности

Помимо выпусков, основанных на времени, самым большим объявлением о Clarity 1.0 является то, что каждый основной выпуск будет сопровождаться политикой долгосрочной поддержки (LTS), которая является руководством по тому, как мы планируем поддерживать каждый основной выпуск Clarity. Вот как мы определили LTS:

Clarity определяет долгосрочную поддержку (LTS) как обеспечение поддержки серьезных ошибок или ошибок безопасности для выпуска в течение 12 месяцев после выпуска следующей основной версии.

Начиная с версии 1.0, мы будем поддерживать каждый основной выпуск в течение 12 месяцев после выпуска следующей основной версии. На практике это означает, что использование версии Clarity фактически даст вам 18 месяцев поддержки, 6 месяцев активной разработки до следующего основного выпуска, а затем 12 месяцев поддержки. Чтобы визуализировать это, мы создали следующий пример того, как версии разрабатываются, выпускаются и поддерживаются.

В VMware некоторые из наших продуктов имеют долгосрочные графики выпуска, и мы ожидаем, что это изменение снизит опасения по поводу внедрения Clarity. Это будет наиболее полезно в ситуациях, когда выпуски не могут иметь дело с критическими изменениями, но все же нужно быть уверенным в безопасности и исправлениях ошибок.

Мы все еще выпускаем версии до 1.0, а для версий 0.12 и 0.13 запланированы более короткие циклы, чтобы помочь нам перейти к версии 1.0. Мы планируем выпустить Clarity 1.0 позже в 2018 году, и эти более короткие второстепенные выпуски помогут нам внести необходимые изменения перед выпуском LTS.

Связывание выпусков с расписанием Angular

Angular уже в течение некоторого времени обрисовал в общих чертах свои планы относительно своих циклов выпуска, которые включают новый основной выпуск примерно каждые 6 месяцев, при этом каждая другая версия является выпуском с долгосрочной поддержкой (LTS), который будет иметь дополнительные 12 месяцев исправлений ошибок и патчи безопасности.

На прошлой неделе на ng-conf 2018 Брэд Грин, менеджер проекта Angular, объявил, что каждый основной выпуск будет пользоваться такой же долгосрочной поддержкой, начиная с Angular 5. Итак, новый график выпусков Angular выглядит следующим образом.

Мы учли это изменение, когда выбирали нашу стратегию LTS, потому что вы должны использовать Angular для наилучшего взаимодействия с Clarity. Такое согласование между нашими выпусками и графиками поддержки означает, что Angular и Clarity будут работать вместе, не беспокоясь о пробелах в поддержке.

Дорога к ясности 1.0

Есть несколько вещей, которые нам нужно сделать с Clarity, чтобы перейти к версии 1.0. Список включает рефакторинг дизайна формы с новыми компонентами Angular, обновленную реализацию сетки, несколько новых компонентов, таких как расширенное поле выбора, нормализацию некоторых CSS и API, а также отказ от поддержки и удаление некоторых функций.

Мы используем вехи GitHub, чтобы обозначить, что входит в данный выпуск. Мы уже создали заявки с известными прекращениями поддержки и критическими изменениями, ожидаемыми в следующих выпусках, поэтому, если вы хотите ознакомиться с нашими планами, это лучшее место для поиска.

Мы также стараемся минимизировать критические изменения в максимально возможной степени и планируем специальный уровень совместимости для некоторых критических изменений, ожидаемых в 1.0. Это в первую очередь помогает при переходе с 0.12 на 1.0. Более подробная информация будет выпущена, когда мы доработаем эти детали, но мы намерены позволить вам выбрать этот уровень совместимости, чтобы упростить обновление до 1.0.

Создание и поддержка нескольких версий Clarity - это то, что мы тщательно продумали и считаем, что преимущества этого подхода будут значимы для наших пользователей. Пожалуйста, дайте нам знать, если у вас есть какие-либо вопросы о пути к версии 1.0 или о нашей политике поддержки!

Чтобы узнать больше о Clarity или пообщаться с нами, подпишитесь на нас в Twitter, посетите наш репозиторий GitHub и посетите наш сайт по адресу http://clarity.design.