История изменений

Изменения платформы IT-CONF. Текущая версия: 0.1.0-R182.

182релиза в истории
0.1.0-R182 Текущая версия

ЮКасса: чек с НДС мероприятия, темы интерфейса и регистрация

  • ЮКасса получает чек с контактом покупателя, суммой заявки после скидок и ставкой НДС из параметров прейскуранта мероприятия. Ошибки чека и реквизитов магазина объясняются отдельно. Создание платежа оставляет заявку неоплаченной до подтверждения провайдера.
  • Исправлены границы выделения меню, центрирование пиктограмм, ссылка проживания и дублирующая плашка. Убраны запрос пакета и генерируемые плашки уровней партнёрства. Реквизиты, организаторы, программный комитет, докладчики, архив, история изменений и уведомления адаптированы к темам. Верхняя строка закреплена; вкладки используют цвета брендов и видимое наведение.
  • Профиль получил читаемые поля и редактор в тёмной теме. Фото сохраняется отдельной формой: обязательные скрытые за диалогом поля основного профиля больше не блокируют загрузку и удаление фотографии.
  • Телефон обычного участника необязателен; для регистратора и докладчиков проверка сохранена. Подтверждение показывает «Всего к оплате» и цены с НДС, в списке и карточке регистрации указан включённый НДС. Валюты интерфейса отображаются символами; ISO-коды API и хранения сохранены.
  • Добавлен Excel-импорт в незаполненные места заявки: прежний шаблон визарда, предпросмотр, проверка форматов, вместимости, дублей и обязательных данных. Пакет сохраняется атомарно и не меняет стоимость заявки.
0.1.0-R181

Исправление Windows-установщика и валидации полного пакета

  • Восстановлен UTF-8 BOM в Configure.ps1 и Validate.ps1: Windows PowerShell 5.1 корректно читает русский текст и запускает настройку, проверку и установку.
  • Сборка полного ZIP блокируется при неверной кодировке PowerShell или окончаниях строк CMD. Добавлены семь регрессий, включая воспроизведение отсутствующего BOM из R180.
  • Актуализированы проверки адаптивной консоли, полного тестового раннера, справочников и мобильного тестового режима. Исправлено полное чтение gettext-каталога из ZIP и согласован URL APK в постоянном профиле.
  • В PR и релизную цепочку добавлена проверка распакованного полного архива в Windows PowerShell 5.1. Ошибка этого задания блокирует пакет и TEST.
0.1.0-R180

CR-142: материалы докладчика и проживание SQA Days по макету «Маршрут»

  • Страницы «Памятка докладчикам», «Рекомендации по оформлению презентаций», «Темы и форматы докладов» и «Проживание» оформлены по выбранному «Маршруту» в обеих темах и на мобильных экранах. Вертикальная линия этапов и плашка «От подготовки к действию» исключены; сохранены брендовые шрифты, общая шапка, орбиты, ссылки, скачивание и единое поведение кнопок.
  • Со страницы «Докладчикам» материалы открываются внутри сайта мероприятия. В блоке «Где остановиться» добавлена ссылка «Рекомендации по проживанию». Для SQA Days 39 иллюстрация площадки заменена улучшенной фотографией Holiday Inn Сокольники, без обрезки здания. Пункт «Участники» скрыт в навигации SQA Days; раздел «Участникам» сохранён.
  • Подстраницы остаются редактируемыми через справочник мероприятия. Идемпотентная миграция дополняет SQA Days 39 полными текстами утверждённого альбома и предложением отеля, заменяя только неизменённые исходные тексты. Авторские правки и визуальные настройки сохраняются; предложение с датами и промокодом не переносится в другие мероприятия.
  • Обязательная квалификация: 1071 браузерный сценарий + 6 HTTP fixture, серверные регрессии, Docker quality, PostgreSQL checkout и полный пакет. Проверяются обе темы, три экрана, ссылки ресурсов, изоляция мероприятий и сохранение правок.
0.1.0-R179 Улучшение

CR-141: кнопки SQA Days и раскрывающийся переключатель языка

  • В шапке сайтов RU/EN заменён раскрывающимся переключателем: текущий язык сверху, второй вариант ниже. Русский используется до явного выбора; сохранены cookie языка, возврат на текущую страницу и защита от внешнего редиректа. Поддержаны клавиатура, Escape и закрытие вне переключателя.
  • На странице площадки кнопка переименована в «Открыть в Яндекс Картах»; кнопка 2GIS оформлена так же. Обе действующие ссылки и открытие карты сохранены. На участниках текст «Купить билет» центрирован; длинные названия уровней партнёров не сдвигают стрелку с правого края. У «Текущего периода» убрана оставшаяся тень.
  • Изменения SQA Days проверяются в обеих темах и трёх размерах экрана. Переключатель языка проверяется на трёх брендах. Полная обязательная квалификация: 981 браузерный сценарий + 6 HTTP fixture, серверные регрессии, Docker quality, PostgreSQL checkout и полный пакет. Данные и миграции не меняются.
0.1.0-R178 Улучшение

CR-140: страницы участия SQA Days по альбому и исправления тем

  • «Участникам», «Докладчикам» и «Партнёрам» получили модульное оформление, маршрут подготовки и сценические блоки из альбома в обеих темах и на мобильных экранах. Скин сохраняет действующие тексты, сроки, ссылки, FAQ и данные справочников; база содержимого не переписывается.
  • «О компании» раскрывается продолжением карточки логотипа в потоке страницы. Подписи остаются горизонтальными, соседняя карточка не растягивается, следующие строки сдвигаются. Размеры логотипов и условие скрытия пустых описаний сохранены.
  • Исправлены наложение строк на главной и белая плашка «Все секции» в тёмной теме. Удалена лишняя регистрация над «Оплата и документы». Переключатель темы — простая иконка с сохранённым управлением с клавиатуры. Пиктограммы профессий, форматов, участников и этапов докладчика заменены смысловыми SVG.
  • Квалификация: 936 браузерных сценариев + 6 HTTP fixture, серверные регрессии, Docker quality, PostgreSQL checkout и полный пакет. Проверки сохранения текстов/ссылок, раскрытия, обеих тем и трёх размеров экрана. Миграции не требуются.
0.1.0-R177 Улучшение

CR-140: страницы SQA Days, НДС по валюте и визуальный редактор подстраниц

  • «Стоимость», «Программа», «Контакты» и «Партнёры» SQA Days оформлены по утверждённому альбому в светлой и тёмной темах с мобильной адаптацией. Сохранены шрифты бренда, верхняя шапка, меню, анимированный логотип, ссылки и обработчики программы. Переключатель темы — иконка без видимой надписи, с доступным названием и подсказкой.
  • Карточки стоимости показывают итог первым. НДС рассчитывается и отображается только для RUB: публичные тарифы, предварительный расчёт регистрации и итог заказа используют одно правило. Для BYN, USD и EUR элементы НДС скрыты и начисления нет. Уже оплаченные заказы и начатые платежи не переписываются.
  • Размеры логотипов партнёров сохраняются из справочника статусов. Раскрытие «О компании» отсутствует при пустом описании, включая пустые HTML-абзацы. Контакты сохраняют ссылки электронной почты и произвольные редакторские разделы.
  • Основные страницы мероприятий всех брендов доступны в справочнике; подстраницы связаны с родителем того же мероприятия и открываются с основных страниц. Идемпотентная миграция добавляет отсутствующие основные записи без замены существующего содержимого.
  • Редактор показывает настоящую страницу выбранного мероприятия без верхних шапок. Текст редактируется на странице, изображения заменяются ссылкой или безопасной загрузкой. Сохранение публикует отдельные текстовые и графические правки по мероприятию и языку, сохраняя функциональный HTML и вычисляемые суммы. Есть просмотр темы/мобильного размера, контроль прав, CSRF, конфликтов сохранения и аудит.
  • Обязательная квалификация: серверные регрессии, Docker quality, PostgreSQL checkout, полный Windows-пакет и 864 браузерных сценария плюс 6 HTTP fixture. Ошибки и пропуски блокируют установку на TEST.
0.1.0-R176 Улучшение

CR-139: страницы «О конференции» и «Место проведения» SQA Days по альбому

  • Для SQA Days созданы отдельные представления «Сцена» и «Модульная система»: открытые нумерованные секции, иконки аудиторий и форматов, блоки участия, сетка площадки и нижние кнопки в светлой и тёмной темах.
  • Сохранены редакторские тексты, произвольные разделы и карточки, якоря, дочерние страницы, контактные ссылки, фактический адрес и интерактивная карта. Кнопки ведут на действующие программу, регистрацию, профиль, приложения, Яндекс Карты и 2GIS.
  • Использованы фирменные шрифты из настроек платформы и иллюстрация из утверждённого альбома; условное здание явно помечено как иллюстрация. Живая карта и фактические данные не заменяются изображениями или заглушками макета.
  • Верхняя шапка, меню, анимированный логотип и остальные страницы/бренды сохранены. Миграции и перезапись данных не требуются. Мобильная версия перестраивает сетку без горизонтальной прокрутки.
  • Добавлены пять серверных регрессий сохранения данных и ссылок, 36 браузерных сценариев обеих тем на трёх движках/экранах. Полный браузерный набор: 774 сценария + 6 HTTP fixture. Обязательны Docker quality, PostgreSQL checkout, полный пакет и TEST.
0.1.0-R175 Улучшение

CR-138: скин SQA Days по утверждённому альбому

  • Светлый и тёмный скин SQA Days использует фирменные Stolzl/Aeonik из действующих настроек. По умолчанию включён тёмный режим; переключатель в верхней плашке сохраняет выбор между страницами и работает при недоступном хранилище.
  • Сохранены верхняя шапка и меню, геометрия и анимация кружка логотипа, название и даты конференции на главной. В шапках страниц добавлены планеты на разнонаправленных орбитах с учётом prefers-reduced-motion.
  • Страницы «Сцена», «Модульная система», «Маршрут» и «Цена на первом месте» оформлены поверх существующих шаблонов и содержимого. Мобильные версии обеих тем, контраст и единая анимация кнопок включены в браузерную квалификацию.
  • Сохранены ссылки, формы, обработчики кнопок и функциональное содержимое программы. Итог тарифа с НДС показан первым, далее ставка и разбивка; используется действующее Decimal-округление checkout без изменения цен, формул и заказов.
  • Другие бренды не меняются; отдельные CR-134–137 остаются открытыми. Миграции и замена редакторского содержимого не требуются.
  • Обязательная квалификация: серверный Docker quality, PostgreSQL checkout, полный Windows-пакет и 738 браузерных сценариев плюс 6 HTTP fixture на Chromium, Firefox и WebKit. Пропуски и ошибки блокируют TEST.
0.1.0-R174 Исправление

CR-125–133: актуальные цены, рецензирование и страницы участников

  • CR-125: просроченные неоплаченные заявки физических и юридических лиц пересчитываются по текущему периоду в кабинете, заявке, оплате и фоновой задаче каждые пять минут. До 25-го цена действует до конца месяца, начиная с 25-го — до 5-го числа следующего месяца включительно. Учитываются повторные корпоративные строки, скидки и НДС; пересчёт атомарен и записывается в аудит.
  • Начатый внешний платёж сохраняет свою сумму до подтверждения статуса провайдером: фоновая проверка ЮКассы сначала получает статус через авторизованный API. Оплаченные, отменённые заявки и активные платежи не переоцениваются.
  • CR-126/127: решение по правке заменяет только изменённую карточку и сохраняет положение страницы. Под исходным и исправленным полем показано количество символов с пробелами без HTML-тегов; итог обновляется после каждого принятия правки.
  • CR-132/133: правки HTML-разметки и пробельных символов видимы и доступны для принятия или отклонения; безопасный итоговый текст хранится отдельно от обозначений. Русская и английская тема отображаются даже без исправлений.
  • CR-128/130: кнопка покупки на странице участников окрашена в цвет бренда с чёрной рамкой и контрастным текстом; тематики представлены текстовым списком с маркерами и разделителями.
  • CR-129/131: карточка докладчика не выводит пустую или неопубликованную биографию; ставка НДС выделена размером, насыщенностью шрифта и цветным вертикальным разделителем.
  • Playwright обязателен: 522 браузерных сценария и 6 HTTP fixture на трёх движках и трёх размерах экрана. PostgreSQL gate включает новые проверки пересчёта, оплаты и callback.
0.1.0-R173 Исправление

CR-117–124: партнёры, программа, кабинет и виджет ЮКассы

  • Партнёр получает выбранное в дереве мероприятие до проверки формы; повторное добавление показывает понятную ошибку. «Особый статус» поясняет замену подписи уровня без изменения размеров логотипа.
  • На главной убрана общая левая полоса избранных докладов. В мобильной шапке строка кабинета выровнена влево. Меню «Участникам», «Докладчикам», «Партнёрам» имеет контрастный общий фон и разделители.
  • Технический перерыв показывается служебным блоком без тематики, языка, докладчиков, флагов и избранного; не включается в число докладов и голосование. Исходные записи программы сохраняются.
  • Новые платежи ЮКассы используют встроенный виджет и токен embedded. Токен хранится зашифрованным и выводится только владельцу заявки; ошибка SDK имеет повтор загрузки, истечение токена — проверку статуса. Повторный платёж возможен после подтверждённой отмены; успешность подтверждает сервер через API провайдера.
  • Повторяющийся email отмечается светло-розовой плашкой во всех соответствующих карточках; переход блокируется до исправления.
  • CR-124 заменяет кнопки CR-115: рядом с названием мероприятия отображаются иконки скрытия и возврата; нажатие открывает пояснение и подтверждение. Сохраняются CSRF, права владельца и сама заявка.
  • Обязательная квалификация включает 441 браузерный сценарий и 6 HTTP fixture: Chromium, Firefox, WebKit, мобильный экран, десктоп и 5120px. Сбой или пропуск блокирует выпуск и TEST.
0.1.0-R172 Исправление

CR-109, 112–116: регистрация, мобильная вёрстка и Playwright

  • Повторяющиеся email выявляются при вводе, смене поля и восстановлении черновика; переход к проверке заблокирован до исправления. Серверные проверки сохранены.
  • Мобильные кнопки покупки и подачи доклада расположены в шапке рядом с меню. Исправлены рамка и отступы фактов, фон пунктов меню, разделение фильтров и выравнивание тематик. Кнопки участникам имеют одинаковый размер; покупка оформлена белым фоном с чёрным текстом.
  • НДС и ИНН/УНП показаны обычным поясняющим текстом. Пустой статус поиска компании скрыт. В кабинете вместо глаза — «Скрыть заявку» и «Показать заявку».
  • Нечитаемый ключ оплаты и неполный ответ ЮКассы возвращают ошибку с возможностью повторить платёж, без незавершённой записи. Причина HTTP 500 подтверждена на TEST: PostgreSQL запрещал блокировку nullable-стороны JOIN с настройками. FOR UPDATE ограничен строкой заявки; checkout проверяется на PostgreSQL 16 в CI.
  • Playwright снова обязателен в PR и выпуске: Chromium, Firefox, WebKit, десктоп, мобильный экран и 5120px; HTML, скриншоты, trace и русская сводка. Установка TEST зависит от успешного браузерного gate.
0.1.0-R171 Исправление

Повтор выпуска исправлений CR-082, 088, 092–111 после таймаута GHCR

  • Сохранены исправления R170, включая CR-111: рублёвые тарифы без НДС и ставка НДС под кнопкой покупки.
  • Публикация квалифицированного образа выполняет до трёх попыток при сетевом отказе; digest фиксируется только после успешной загрузки. Тег R170 не изменяется.
0.1.0-R170 Исправление

CR-082, 088, 092–111: регистрация, оплата, программа и TV

  • Повторно зарегистрированный регистратор исключён из количества новых мест, расчёта и списка участников; его имя сохраняется в шапке подтверждения. Повторяющиеся email проверяются на шаге участников и в транзакции создания заявки.
  • Мобильные кнопки подачи доклада и покупки закреплены; кнопки покупки добавлены участникам, разделены пункты меню, уменьшен адрес на главной, уточнены фильтры тем и белая панель секций. Сертификаты размещены последними в кабинете.
  • Автозаполнение ИНН/УНП выполняется без отдельной кнопки. Платёжная карточка показывает количество офлайн/онлайн мест, отделяет действия; неподходящий ответ ЮКассы возвращает понятную ошибку.
  • Шесть флагов доклада по умолчанию выключены. Изменение разрешено программному директору, куратору тематики и системному администратору, с блокировкой версии и аудитом; веб-программа и мобильный API показывают две строки значков.
  • Конструктор программы получает явный светлый фон, видимое сообщение ошибки и повтор загрузки. Рублёвые тарифы отмечены «без НДС», под покупкой показана настроенная ставка.
  • Android/PWA 4.62 открывает голосование непосредственно из QR и получает флаги платформы. TV Live 1.1.10 применяет выбранный голос и текущий текст при перегенерации, сбрасывает кэш, поддерживает ударение местА, удаляет оперативное сообщение и переименовывает шаблон правила.
0.1.0-R169 Исправление

CR-077: женские фамилии от существительных

  • Фамилии Жемчужина и Смородина склоняются как существительные: Жемчужины, Смородины.
  • Притяжательные фамилии сохраняют правильные формы: Кузьминой, Беловой. Общий алгоритм используется в карточках и документах.
0.1.0-R168 Исправление

CR-074–091: регистрация, кабинет, карточки компаний и мобильные QR

  • Выбор плательщика с тарифов переходит к соответствующей регистрации; возврат сохраняет выбранную карточку и доступность продолжения.
  • Очищены номера строк выписки ФНС; единый родительный падеж ФИО, должности и основания используется в карточке и документах.
  • Добавлены пояснения заблокированных полей, перенос банковских реквизитов и краткого названия компании в бейдж; написание «промокод» унифицировано.
  • Полный администратор редактирует профиль без смены своей учётной записи; собственные заявки можно скрыть и восстановить, завершённые конференции переходят в архив.
  • Ссылки подачи доклада ведут в платформу; добавлена кнопка внизу страницы докладчиков, белые заголовки секций и упрощённый фильтр тем.
  • Android/PWA 4.61 и TV Live 1.1.9: QR запускает сканер, затем голосование или секцию программы; ударение «места́» задано для озвучивания.
  • Сообщение о неверных данных входа поясняет чувствительность к регистру.
0.1.0-R167 Исправление

Компактный анализ докладов и модальное рецензирование

  • Без правок: заголовок поля и «Исправления не требуются», без полного исходника и исправленного текста.
  • Модальное окно под выбранным исправлением: стрелка, крестик, Escape и возврат фокуса.
  • Ширина окна ограничена экраном, включая масштабирование и поворот; длинные причины прокручиваются внутри.
  • Чёрные подписи на белом фоне, включая соответствие аннотации теме и ясность.
0.1.0-R166 Улучшение

Рецензирование текста с принятием правок и читаемой разметкой

  • Исходный текст и исправления рядом; на телефоне — вертикально в рамках одного поля.
  • Все правки текста и форматирования встроены в текст; причины и действия доступны в pop-up.
  • Завершение поля сохраняется на сервере с версией, хешем, блокировкой и аудитом; копируется только итоговый текст.
  • Кириллица в исходной HTML-разметке читаема; числовые сущности и координаты замороженного исходника не меняются.
  • Android/PWA 4.58: «Разработчик:» и компания с автором — ровно две строки по центру.
0.1.0-R165 Исправление

Английский анализ докладов и четырёхбалльное голосование

  • Английские темы читаются из EN XML по ID доклада; оценка ясности доступна без заголовка.
  • Контрастная адаптивная консоль и отметка уточнения CMOS 18 нейросетью в единственном запросе.
  • Android/PWA 4.57 и сервер используют оценки 1–4; архивные голоса сохранены с прежней шкалой.
  • Разработчик мобильных приложений: ООО «Лаборатория тестирования» • Владислав Орликов.
0.1.0-R164 Улучшение

Локальная проверка CMOS 18 и полное рецензирование изменений

  • Однозначные правила CMOS 18 проверяются локально; неоднозначные случаи анализируются моделью в том же единственном запросе на доклад.
  • Нейросеть получает зафиксированный чистый текст; авторская HTML-разметка и неизменённые сущности сохраняются сервером.
  • Рецензирование показывает все текстовые изменения модели, в том числе без пояснений, и их источник; полный журнал хранит предложения до локальной проверки.
0.1.0-R163 Исправление

Устойчивый анализ докладов: привязка цитат и частичные результаты

  • Одна неподтверждённая цитата больше не отклоняет весь анализ доклада; остальные замечания и метрики сохраняются.
  • Цитаты привязываются через HTML, сущности, пробелы и Unicode NFC; неоднозначные правки не предлагаются.
  • Консоль показывает код, поле и номер исключённого замечания; итоговый текст не содержит скрытых исправлений модели.
0.1.0-R162 Улучшение

Автоматический выбор прямого подключения и Cloudflare

  • Публичный каталог и XML доступны напрямую из PWA с CORS и проверкой источников.
  • Android/PWA 4.56 автоматически переключают маршруты; тестовая плашка показывает подключение.
  • Android определяет VPN системно; браузерная PWA выбирает маршрут по доступности; отправка голосов не повторяется автоматически.
0.1.0-R161 Улучшение

CR-071: общая настройка тестового режима и PWA на Cloudflare

  • Тестовый режим Android/PWA можно включать и выключать в общих настройках всех брендов; по умолчанию он включён.
  • Новая версия мобильных клиентов проверяет разрешение после пяти нажатий на номер версии и не показывает счётчик при выключении.
  • PWA доступно по новому адресу Cloudflare; мобильная программа и голосование используют облачный gateway.
0.1.0-R160 Исправление

CR-069, CR-070: резервный XML и автоматический учёт тестов

  • Мобильный клиент может получить проверенный XML с сервера TEST, если исходный адрес недоступен через VPN; сервер хранит последнюю проверенную копию.
  • Число тестов в квалификации и проверке пакета вычисляется автоматически при добавлении новых тестов.
0.1.0-R159 Исправление

CR-068: повторный выпуск исправлений голосования

  • Сохранение открытого режима, поиск адреса по ключу из формы и импорт XML без служебных обедов перенесены из R158 без изменения поведения.
  • Обновлён обязательный счётчик тестов: три новые проверки CR-068 включены в Docker quality gate и проверку пакета.
0.1.0-R158 Исправление

CR-068: настройки и доступность голосования

  • Открытое голосование сохраняется без координат и параметров сети; скрытые поля больше не блокируют форму.
  • Поиск адреса использует ключ Геокодера из ещё не сохранённой формы без передачи его в URL.
  • Служебные обеды из XML не импортируются как доклады и не мешают мобильным клиентам получить токен голосования.
0.1.0-R157 Исправление и обновление

CR-062, CR-066, CR-067: удаление заявок, материалы докладов, настройки голосования

  • Заявка с платежом удаляется через админку вместе с её зависимыми записями; другие заявки сохраняются.
  • Ссылка на материалы доступна в форме и карточке доклада, а также в сообщениях автора и программного комитета.
  • В списке редактируются независимые параметры голосования, полная форма содержит режим доступа и геолокацию.
0.1.0-R156 Исправление

CR-062–065: повторный выпуск и исправление продаж без тарифов

  • Перед проверкой релиза продажи и регистрация закрываются у опубликованных мероприятий без активных тарифов; заявки и тарифы сохраняются.
  • R155 не прошёл проверку TEST для Analyst Days / 23; после автоматического отката выпускается новый неизменяемый R156.
0.1.0-R155 Обновление

CR-062–065: заявки, голосование, XML-программа и фото

  • Удаление заявки удаляет её зависимые записи, сохраняя сведения о повторном участии в другой заявке.
  • Голосование содержит три критерия и необязательный развёрнутый отзыв; ключ Геокодера вводится в настройках.
  • XML-доклады видны в редакторе, а анализ использует тот же источник и ведёт к настройкам программы.
  • Фотография заполняет круг; перед сохранением её можно увеличить и переместить.
0.1.0-R154 Обновление

CR-060–061: настройки брендов и партнёры

  • Общие настройки управляют доступностью платёжных систем для всех брендов; сервис, режим и зашифрованные реквизиты заданы отдельно для каждого бренда.
  • Партнёры сгруппированы по статусу на главной, странице партнёров и в архиве; логотипы выровнены, сохраняют пропорции и масштабируются по проценту от генерального статуса.
0.1.0-R153 Исправление

Профиль снова доступен для редактирования всем участникам

  • Снято ограничение редактирования профиля для участников активных мероприятий всех брендов.
  • Поля профиля, фотография и описание снова доступны самому владельцу аккаунта.
0.1.0-R152 Обновление

CR-053–059: шаблоны билетов, платежи и кабинет

  • Шаблоны билетов А6 и раздел будущего сертификата добавлены в настройки брендов.
  • Подключены YooKassa, bePaid и Stripe с тестовым режимом и сверкой статуса платежа.
  • Поздняя оплата учитывает календарные правила 25-го и 5-го числа.
  • Групповые заявки помечены в кабинете; после оплаты участник получает ссылку на свой билет.
  • Профиль участника активного мероприятия меняет администратор.
0.1.0-R151 Обновление

CR-056: персональные билеты для трёх брендов

  • В личном кабинете появились разделы «Мои билеты» и «Мои сертификаты».
  • Офлайн-билет формата А6 использует логотип и цвет бренда, данные мероприятия и QR с номером заявки REG.
  • Билет доступен при оплате, бесплатном участии или постоплате и отзывается при смене статуса и после даты окончания мероприятия.
0.1.0-R150 Исправление

CR-044: фотография на полном диаметре круга

  • Фотография в карточке личного кабинета занимает весь диаметр круглой маски и полностью сохраняется благодаря object-fit: contain.
  • Чёрный фон заменён белым, а круглая маска применяется к изображению: квадрат и чёрные области устранены.
  • Отдельный релизный CSS исключает использование закэшированного правила предыдущего релиза.
0.1.0-R149 Исправление

CR-041 и CR-044: разметка и фотография профиля

  • Числовые HTML-сущности в аннотациях принятых докладов преобразуются в обычный читаемый текст.
  • Поддержано повторное экранирование старого сайта; исправление применяется к ранее сохранённым результатам без повторного импорта.
  • HTML-теги сохраняются в безопасном текстовом предпросмотре исходной разметки.
  • В карточке личного кабинета фотография целиком помещается в квадратную круглую область и больше не заходит на имя.
  • Отдельный релизный CSS исключает возврат к старому обрезающему правилу из кэша мобильного браузера.
0.1.0-R148 Исправление

CR-041, CR-044, CR-051 и CR-052: анализ и мобильная консоль

  • В исходной HTML-разметке анализа докладов декодируются Unicode-последовательности, включая ранее сохранённые данные с повторным экранированием.
  • Фотография профиля полностью вписывается в круг без отсечения углов изображения.
  • Мобильные карточки административных справочников получили чёрный фон и белый текст.
  • Прейскурант адаптирован к мобильной ширине: матрица цен и промокоды показаны карточками, формы складываются в одну колонку.
0.1.0-R147 Исправление

CR-044: фотография профиля внутри круглой области

  • Фотография профиля и её предпросмотр полностью масштабируются внутри круглой области без обрезания по принципу cover.
  • Добавлен серверный source-контракт, запрещающий возврат к обрезающему режиму отображения на странице профиля.
  • Исправление выпущено отдельной неизменяемой версией после повторного открытия CR-044.
0.1.0-R146 Обновление

CR-044–CR-050: профили и адаптивная административная консоль

  • Исправлены карточки пользователей без фотографии и мобильное расположение значков избранного и языка в программе.
  • Добавлены роли и права оргкомитета; публичная команда использует назначенные роли, короткие имена и раздел «Ответственность».
  • Справочники мероприятий получили единую брендовую плашку, скрытие повторяющегося мероприятия и карточное мобильное представление.
  • Упрощены справочник статусов и главная страница консоли: удалены лишние порядок и ссылки сброса, выровнены плашки и колонки.
0.1.0-R145 Обновление

CR-039: единый справочник статусов докладов

  • Статусы, подстатусы, сроки действия и переходы объединены в один пункт консоли мероприятия — «Справочник статусов».
  • Список показывает сводку по связанным данным, а карточка статуса позволяет настроить их в едином интерфейсе.
  • Отдельные дочерние справочники скрыты из навигации с сохранением совместимости прежних прямых URL.
0.1.0-R144 Исправление

Квалифицированный выпуск CR-040–CR-043

  • Исправлен регрессионный тест списка докладов: проверяется фактическая ссылка кабинета рецензирования с коротким публичным идентификатором.
  • Изменения CR-040–CR-043 переизданы следующим неизменяемым релизным тегом после остановки R143 на тестовом quality gate.
  • Полный выпуск квалифицируется серверными тестами без Playwright и браузерных проверок.
0.1.0-R143 Обновление

CR-040–CR-043: идентификаторы и анализ докладов

  • Ссылки на заявки используют короткие уникальные идентификаторы с брендом, номером конференции и порядковым номером; прежние UUID-ссылки сохранены для совместимости.
  • Литеральные Unicode-коды в темах, аннотациях и исходной HTML-разметке преобразуются в читаемый текст, включая символы вне BMP.
  • Повторное чтение опубликованной программы устойчиво к дополнительному Unicode-кодированию в одной из языковых версий.
  • На узких экранах верхняя панель показывает ссылки на все три бренда конференций.
0.1.0-R142 Обновление

CR-029–CR-038: страницы конференций и мобильная админка

  • Исправлена страница «Организаторы»; в программе выровнены значки и унифицирована стрелка тематик, а на странице SQA Days обновлены заголовки и термин AI in testing.
  • Добавлены каталоги докладчиков и участников с отбором по статусу, оплате и составу комитетов; в кабинете доступны смена пароля и подпись логина.
  • Исправлен номер TechWriter Days, заголовок «Мероприятия» и адаптивная компоновка административной консоли для узких экранов.
  • Релиз квалифицируется серверными тестами без Playwright и браузерных проверок.
0.1.0-R141 Обновление

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

  • Статусы и подстатусы докладов, сроки действия и матрица переходов перенесены в справочник мероприятия с миграцией существующих данных и журналом изменений.
  • Профиль содержит фотографию, биографию и настройки публичности; страницы оргкомитета и программного комитета берут участников из своих справочников.
  • Упорядочены админка и страница участников SQA Days; отчёты серверных тестов публикуются на русском языке без браузерных проверок.
0.1.0-R140 Обновление

Анализ докладов и страницы конференций

  • Повторное чтение принятого доклада и загрузка произвольного доклада используют авторизованную карточку старого сайта; исправлено определение ID мероприятий Analyst Days и TechWriter Days.
  • Обновлены страница «Участникам» SQA Days, программа мероприятий, профили, партнёры и форма подачи доклада; восстановлено открытие настроек мероприятия и размещение кнопок сброса порядка в админке.
  • Playwright и браузерные проверки удалены из проекта и процессов выпуска; обязательные серверные тесты и проверка пакета сохранены.
0.1.0-R139 Исправление

Чтение принятых докладов в авторизованной сессии

  • После входа через общее подключение список принятых докладов читается JSON-запросом со старого сайта вместо пустого Angular-шаблона.
  • Каждая защищённая карточка рецензирования открывается в той же сессии и содержит темы и аннотации на двух языках.
  • На TEST проверены девять докладов SQA Days 39; повреждённый ответ не заменяет ранее загруженные данные.
0.1.0-R138 Исправление

Чтение принятых докладов старого сайта

  • Список принятых докладов распознаёт ссылки на обоих исторических доменах и маршруты reviewTalk и talk.
  • Страница входа старого сайта теперь распознаётся отдельно и показывает понятную причину вместо сообщения о пустом списке.
  • Добавлена регрессия импорта девяти принятых докладов с сохранением прежних результатов анализа.
0.1.0-R137 Обновление

Анализ принятых докладов из XML

  • Добавлена вкладка анализа принятых докладов с перечнем по ID мероприятия и устранением повторяющихся ссылок.
  • Принятые и произвольные доклады загружаются из русской и английской версий XML, темы и аннотации показываются без дня и секции.
  • Выбор модели и вход на старый сайт общие для вкладок; вход используется при загрузке принятых и произвольных докладов.
  • Повторное чтение неизменного текста сохраняет результаты анализа и принятые правки; ошибочная загрузка не заменяет предыдущий набор докладов.
0.1.0-R136 Исправление

Устойчивый анализ произвольных докладов

  • Корректный ответ модели больше не отклоняется целиком из-за неподтверждённого переписывания отдельного поля: скрытое изменение безопасно заменяется исходным текстом.
  • Цитаты из видимого текста, пересекающие разрешённые HTML-теги, привязываются к точному фрагменту исходной разметки.
  • Выдуманные или неоднозначные цитаты, опасные исправления, повреждённый JSON и неполный обязательный перевод продолжают блокироваться.
  • Диагностический код содержит безопасную причину отказа без публикации доклада или ответа модели.
0.1.0-R135 Исправление

Устанавливаемый релиз и страницы участников

  • Устранена регрессия quality gate, из-за которой Docker-сборка R134 останавливалась до развёртывания.
  • Устаревший тест R124 согласован с контрактом R134: пустая информационная метрика допустима, а числовые значения по-прежнему строго проверяются по типу и диапазону.
  • Страницы «Участникам» SQA Days #39, Analyst Days #23 и TechWriter Days #4 принудительно обновляются новой миграцией по целевым eventId.
  • Содержимое сверено с заданными источниками, включая Analyst Days Community, а оформление согласовано с цветами, шрифтами, кнопками и фонами каждого бренда.
0.1.0-R134 Исправление

Надёжный разбор произвольных докладов

  • Доклады с русскими кавычками больше не отклоняются из-за противоречия между JSON-схемой и серверной проверкой служебного правила.
  • Допустимое пустое значение информационной метрики соответствия или ясности не прерывает весь анализ.
  • Авторское оформление кавычек сохраняется, а подтверждённые орфографические и стилистические правки продолжают обрабатываться независимо.
  • Повреждённые ответы и выдуманные цитаты остаются заблокированы; для диагностики добавлен безопасный код этапа.
0.1.0-R133 Переиздание

Техническое переиздание R132

  • Полный релиз R132 выпущен под следующим свободным номером R133.
  • Функциональность анализа произвольных докладов, страниц участников и докладчиков, а также счётчика избранного сохранена без изменений.
  • Обновлены версия платформы, история выпусков, сборочные манифесты и контрольные суммы.
0.1.0-R132 Обновление

Загрузка произвольных докладов и страницы участников

  • Парсер старой страницы рецензирования отделяет тему доклада от последующих заголовков типа выступления, аннотации, докладчиков и материалов.
  • Кнопка «Загрузить» читает произвольный доклад и показывает его в колонке исходного текста без OpenAI; «Проанализировать» запускается отдельно после загрузки.
  • Страницы «Участникам» трёх текущих выпусков перенесены по указанным источникам с отдельным содержанием, карточками, темами и FAQ каждого бренда.
  • Страницы «Докладчикам» и «Участникам» используют общую цветовую систему, типографику, кнопки, заголовки и фоны конференционных сайтов при сохранённой структуре.
  • Количество избранных докладов показывается в скобках рядом с названием вкладки программы.
0.1.0-R131 Инфраструктура

Централизованный мониторинг журналов

  • Django и Celery формируют JSON-события с request_id, сервисом, релизом, пользователем, брендом и конференцией без тел запросов и секретов.
  • В административной консоли появился защищённый раздел мониторинга Grafana и выгрузка логов в CSV/JSON.
  • Nginx допускает к Grafana и экспорту только пользователей с доступом к админке; внутренние сервисы слушают loopback-интерфейс.
  • Docker json-file ограничен ротацией, а web, worker и beat получают стабильные имена сервисов для поиска в VictoriaLogs.
  • Интеграция совместима с независимо версионируемым релизом ITCONF Log Monitoring 1.0.0-R1.
0.1.0-R130 Патч

Анализ докладов и календарь подготовки докладчиков

  • Парсер отдельных докладов читает темы и аннотации на двух языках со страницы рецензирования старого сайта, сохраняя исходную разметку.
  • Анализ опубликованных и произвольных докладов разделён на две вкладки; подключение к старому сайту находится рядом с загрузкой по ссылке.
  • После успешного перечитывания обновляются исходные поля и дата синхронизации; сообщения об успехе и ошибке выделены цветом.
  • Правки разделены по языку и полю, показывают исходную HTML-разметку, подписи двух вариантов и галочку выбранного решения; принятый текст раскрыт.
  • На страницах «Докладчикам» трёх брендов восстановлены полные тексты и лента этапов из указанных источников; дублирующиеся даты убраны, кнопка связи называется «Вопросы ПК».
  • Уточнены переключатель треков, анимация подачи доклада, наведение кнопки программы, ширина карточек контактов и кнопок карт.
0.1.0-R129 Патч

Актуальные тексты докладов и единое оформление страниц

  • Перечитывание программы запрашивает свежий XML; отдельный доклад находится по исходному ID, включая перенесённые и многослотовые выступления.
  • Исправлен вход на старый сайт; успешное обновление текста очищает прежнее сообщение об ошибке анализа.
  • Связанные правки одного словосочетания объединены в общую карточку с принятием и отклонением всей фразы.
  • На всех орбитах главной страницы появились планеты с последовательной сменой цветов; номер конференции выделен цветом бренда, повтор года убран.
  • Кнопки подачи доклада и покупки билета получили белые рамки; заголовки и отступы публичных страниц унифицированы.
  • Восстановлена сетка раздела «Докладчикам», исправлен блок «Присоединяйтесь», на странице места проведения добавлен 2GIS и убрано содержание.
  • У бегущей строки докладчиков оставлена компактная кнопка паузы без текстовой подписи.
0.1.0-R128 Патч

Независимая обработка докладов и сохранение форматирования

  • Правки готового доклада можно принимать и отклонять во время анализа остальных докладов.
  • Автоматические повторные запросы анализа отключены. После ошибки доступна кнопка «Повторить анализ» для отдельного доклада.
  • В карточке доступны «Перечитать доклад» и «Повторный анализ»: обновляется только выбранный доклад.
  • В рецензировании сохраняются абзацы, списки, выделения и ссылки исходного текста; запрещённые теги и атрибуты не отображаются как активная разметка.
0.1.0-R127 Патч

Анализ докладов, подключение к старому сайту и контрастные главные

  • На странице анализа докладов добавлен вход на старый сайт: логин и пароль зашифрованы и сохраняются отдельно для каждого администратора, доступны проверка подключения и удаление.
  • Отдельный доклад загружается по ссылке reviewTalk и анализируется с темами и аннотациями на двух языках; отсутствующий перевод предлагается с учётом активных правил.
  • Ошибки форматирования собраны в один блок без влияния на языковую оценку; исходный текст сохранён для принятия и отклонения изменений. Поля без правок скрыты в правой колонке.
  • Нажатие на правку показывает её причину; контекстное меню позволяет принять или отклонить изменение. Перерывы, обеды и служебные блоки исключены из анализа.
  • Перетаскивание блоков показывает вертикальную линию места вставки; порядок меняется после отпускания. На сенсорном экране используется удержание.
  • Главные страницы всех брендов получили контрастный редакционный блок, крупный полный адрес и чёрный круг с датами с разнонаправленным движением точек по орбитам.
  • В общих настройках можно загрузить веб-шрифты Stolzl для заголовков и Aeonik для основного текста всех сайтов.
0.1.0-R126 Обновление

Геолокация Яндекса и рецензирование капитализации

  • В настройках голосования адрес определяется через Геокодер Яндекса; найденная точка показывается на небольшой Яндекс Карте.
  • Правки капитализации заголовка собраны в общий блок с принятием или отклонением; пунктуационные правки рассматриваются отдельно.
0.1.0-R125 Обновление

Отдельный запуск браузерных проверок

  • Браузерные проверки перенесены в отдельный ручной запуск.
  • Сохранены программа «Ленты секций», редакционные главные страницы и возможности анализа докладов.
0.1.0-R124 Патч

Рецензирование докладов и редакционные главные страницы

  • Главные страницы всех брендов получили редакционный формат: выразительный заголовок, компактные факты, один основной логотип в шапке и сохранённый круг с датами; разделы программы, участия и партнёров сохранены.
  • В анализ докладов добавлены процент соответствия аннотации теме и информационная оценка ясности для ИТ-специалиста среднего уровня с объяснениями на русском.
  • Добавлена проверка английских заголовков по CMOS 18. Конечная точка отмечается как мелкая ошибка; простые кавычки в русском тексте допустимы.
  • Все предложения показаны в режиме рецензирования: изменения связаны с замечаниями, решения принять/отклонить сохраняются, принятый текст доступен для копирования.
  • Правила анализа объединены в общий справочник с переключателями. Каждый запуск сохраняет использованный набор правил.
0.1.0-R123 Программа и администрирование

Читаемая программа, справочники и профиль

  • Программа отображается лентами секций: высота каждой строки определяется самым высоким содержимым, блиц-доклады объединяются в общий слот, общие перерывы занимают всю ширину. Информация о докладчиках остаётся статичной, если помещается в слот, иначе используется бегущая строка. Аннотации раскрываются целиком без повторного заголовка.
  • Уменьшены заголовки докладов и закреплены названия секций при прокрутке программы.
  • Анализ докладов оценивает содержание и языковые ошибки без штрафов за разметку; неполные ответы обрабатываются повторно.
  • В настройки геолокации голосования добавлены адрес, поиск координат и карта.
  • Обновлён каталог крупнейших городов, добавлены редактирование приоритетов в таблице, сортировка и фильтр по стране.
  • Уточнены русские подписи справочников и отображение переключателей. Администратору доступно полное удаление профиля и связанных личных данных.
  • Убраны повторные сообщения об ошибках регистрации и технические коды из пользовательских уведомлений; добавлены инициалы и удобная загрузка фотографии профиля.
0.1.0-R122 Программа конференции

Связанные части докладов и личный путевой лист

  • Длинные доклады разделены на связанные части с полным названием, номером части и временем окончания. Аннотация доступна целиком в первой части.
  • Добавлены вкладка «Избранное», звёздочки докладов и скачивание компактного путевого листа в PDF.
  • Переполненные слоты прокручиваются с плавными индикаторами направления; тематики свёрнуты и сохраняют фильтрацию.
  • При подсчёте учитываются уникальные доклады; перерывы, обеды и служебные пункты исключены.
0.1.0-R121 Голосование

Режимы доступа к голосованию

  • Добавлены открытый режим, геолокация или IP площадки, строгая проверка обоих условий и Android/Wi-Fi.
  • В режиме «Только на площадке» мобильный интернет проверяется по геолокации. Открытый режим включён по умолчанию.
  • Сервер повторно проверяет условия перед сохранением голоса. Авторизация не требуется, QR не получает срока действия.
0.1.0-R120 Интерфейс и регистрация

Мобильные страницы, программа и регистрация

  • Уведомления колокольчика помещаются в экран телефона; восстановлен контраст кнопок на тёмных блоках.
  • Пустое количество дополнительных участников становится нулём; добавлены компактные подсказки пароля.
  • Избранные доклады на главной странице используют XML; у обедов скрыты тип и язык, со страницы программы убран счётчик докладов.
  • Источник XML редактируется в формировании программы; улучшены подписи настроек и русские заголовки таблиц участников.
  • Повторно проверена география и удалены записи с недопустимыми символами в русских названиях.
  • Шарик логотипа SQA Days движется при простое и останавливается при действиях пользователя.
0.1.0-R119 Обновление

Обновление платформы

  • В этом выпуске нет изменений пользовательских функций.
0.1.0-R118 Регистрация и справочники

Профиль, приоритетные города и история изменений

  • Программа на десктопе при выборе всех секций отображается сеткой; мобильный список сохранён.
  • История изменений доступна на сайтах мероприятий рядом с версией; опубликованы только изменения пользовательских функций.
  • Добавлены приоритетные города — не более пяти на страну. Справочники географии сверены с GeoNames.
  • Устранено дублирование валют. Сообщения об ошибках полей скрываются при редактировании. Добавлен телефонный шаблон по стране при создании профиля.
  • Регистрация определяется по профилю и email в текущем мероприятии бренда; совпадение телефона не ограничивает участие.
  • Кнопки регистрации и подачи доклада учитывают доступность мероприятия; кабинет докладчика доступен после добавления доклада.
0.1.0-R117 Исправления регистрации и программы

Однократный поиск компании и метаданные докладов

  • Поиск компании выполняется один раз для номера на странице: ИНН организации — 10 цифр, УНП — 9 цифр. Удалены повторные запросы из обработчиков автозаполнения и кнопки; сервер отклоняет неверный формат до обращения к реестру и лимиту запросов.
  • Для ИНН и УНП установлена цифровая клавиатура мобильных устройств; УНП допускает только цифры.
  • В программе язык доклада показан флагом справа от тематики и типа; плашка тематики использует её цвет из справочника и контрастный текст. Перерывы и обеды показываются без плашки типа и языка.
  • Из личного кабинета убран блок «Анкеты и отзывы».
0.1.0-R116 Исправления регистрации

Количество дополнительных участников

  • Исправлено включение кнопки «К участникам» для уже зарегистрированного физического лица: оба количества заполнены, хотя бы одно больше нуля.
  • Учтены очистка поля, повторное изменение, восстановление страницы и отключённый организатором формат. Добавлены серверные и DOM-проверки.
0.1.0-R115 Проверки качества

Playwright и кроссбраузерная квалификация

  • В полный пакет включён воспроизводимый набор Playwright для трёх сайтов, Chromium, Firefox и WebKit, мобильного, настольного и широкого экранов.
  • Добавлены изолированный стенд Django, запуск 10-BROWSER-TESTS.cmd, отчёты HTML/JSON и снимки ошибок.
  • Статусы реальных браузерных запусков отделены от HTTP-проверок и ограничений окружения в PDF-отчёте.
0.1.0-R114 Исправления интерфейса

Мобильное меню, карточки и источник программы

  • Исправлены область прокрутки мобильного меню и контраст кнопок на реальной разметке страницы «Докладчикам».
  • Объединены повторяющиеся темы и секции в легенде и фильтрах XML/ручной программы без удаления записей справочников.
  • В карточки программы добавлены фотографии, страна, город, компания спикеров и язык доклада.
  • XML-источник и переключатель добавлены непосредственно над таблицей «Программа» в консоли администратора.
0.1.0-R113 Интерфейс и программа

XML-программа, визуальный редактор и напоминания

  • Единый масштаб мобильной вёрстки, определение браузера и исправление контраста страниц докладчиков.
  • Визуальный редактор страниц с безопасной HTML-разметкой, абзацами и сохранением поддержки Markdown.
  • Публичная программа из XML по правилам мобильного приложения: источник, переключатель, кэш, темы/треки как фильтры, цвета справочников и секции без левой полосы.
  • Выгрузка участников по исходному шаблону из 25 столбцов с добавлением регистратора и сокращённого названия компании.
  • Единый учёт оставшихся мест в группах, уведомления в кабинете и настраиваемая частота напоминаний регистратору; прекращение напоминаний после заполнения.
0.1.0-R112 Обновление

Обновление платформы

  • В этом выпуске нет изменений пользовательских функций.
0.1.0-R111 Обновление

Обновление платформы

  • В этом выпуске нет изменений пользовательских функций.
0.1.0-R110 Интерфейс конференций

Компактный кабинет, даты и страницы докладчиков

  • Компактные кнопки действий в личном кабинете.
  • Логотип и даты рядом на мобильном первом экране.
  • Реквизиты без оглавления с названием юридического лица.
  • Текст сотрудничества только в разделе «Партнёрам».
  • Календарь, этапы и материалы на страницах докладчиков в стиле бренда.
  • Расчёт стоимости скрыт на шаге параметров обоих визардов.
0.1.0-R109 Страницы конференций и программа

Редактируемые страницы, контакты и адаптивное расписание

  • Единый размер заголовка «О конференции» и более плотные межсимвольные интервалы.
  • Площадка и карта используют адрес из настроек мероприятия.
  • Партнёрам: текст из настроек и кнопки почты, Telegram и MAX.
  • Программа с выделенным временем, секциями, карточками и адаптивными фильтрами.
  • Страницы контактов, участников и докладчиков для трёх брендов, включая вложенные материалы.
0.1.0-R108 Личный кабинет и регистрация

Мои регистрации, оплата и справочники

  • Все заявки и статусы оплаты в блоке «Мои регистрации», уведомление о неоплаченных заявках.
  • Администратор просматривает кабинет участника без смены пользователя.
  • Единые шаблоны телефона и светло-жёлтая плашка повторной регистрации.
  • Страна и город в первой строке карточки физлица; основание и email под должностью подписанта.
  • Редактор стран и городов содержит только русско-английские пары; записи без пары удаляются из справочника.
0.1.0-R107 Регистрация и личный кабинет

Повторная регистрация, участники и профиль

  • Повторная регистрация физлица добавляет только новых участников; формат регистратора заблокирован.
  • Общие карточки участников, удаление с подтверждением и пересчёт стоимости по форматам.
  • Корпоративное участие существующего участника оплачивается без дублирования реестра.
  • Поиск компании по ИНН/УНП сначала в своём справочнике, затем во внешнем.
  • Восстановление пароля, письмо о профиле, фотография и новая компоновка форм.
  • Компактные заголовки, единые сообщения и покупка билета в текущем периоде цен.
0.1.0-R106 Исправления регистрации

Мобильная регистрация и проверка контактов

  • Кнопка продолжения активна только после выбора плательщика.
  • Новая покупка сбрасывает количества и старый черновик; возврат внутри визарда сохраняет данные.
  • Проверка email на участие в конференции и очистка ошибок при изменении телефона.
  • Улучшена мобильная компоновка регистрации.
0.1.0-R105 Исправление опросов после доклада

Корректная обработка локальной даты конференции

  • Исправлен отбор докладов по локальной дате конференции при переходе через полночь UTC+3.
  • Сохранены точное 15-минутное окно приглашений после доклада и защита от повторной отправки.
  • Добавлены воспроизводимые проверки границ дат, месяца и года, UTC+14 и UTC−12; сохранены все изменения R104.
0.1.0-R104 Регистрация и выбранный профиль

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

  • Телефон выбранного профиля остаётся скрытым в браузере, восстанавливается по подписанному токену и нормализуется только на сервере.
  • Нестандартный уникальный номер старого профиля не блокирует визард; цифровое сравнение сохраняет проверку повторов.
  • Списки страны и города не открываются повторно для уже выбранных и вручную не изменённых значений.
  • После выбора под email остаются ФИО и адрес найденного профиля; добавлены 5 регрессионных тестов без миграций базы данных.
0.1.0-R103 Регистрация и адаптивный интерфейс

Надёжный выбор профиля, уникальный телефон и мобильные комбобоксы

  • Выбор найденного профиля подписывается и сохраняется между шагами; устаревший токен больше не блокирует вручную заполненную форму.
  • Email расположен первым рядом с кнопкой «Найти профиль»; результаты проверки краткие, русскоязычные и предлагают продолжить при отсутствии профиля.
  • Телефон форматируется при вводе и проверяется на повтор среди участников текущей конференции в браузере, форме и финальной транзакции.
  • Город визуально заблокирован до выбора страны; нативные мобильные подсказки заменены непрозрачным списком строго под полем.
  • Переходы назад и вперёд сохраняют карточки участников даже при изменении количества мест; публичная часть сайта получила общие адаптивные ограничения.
0.1.0-R102 Регистрация участников

Надёжная проверка формы, маскировка телефона и зависимые города

  • Устранена ошибка «Пожалуйста, отправьте 3 формы.»: устаревший браузерный черновик больше не подменяет служебное число участников.
  • Сервер восстанавливает количество карточек из параметров первого шага, поэтому заполненную регистрацию можно проверить и завершить.
  • При выборе существующего участника телефон показывает код страны, код города, первые и последние две цифры номера; остальные цифры скрыты.
  • Поле города недоступно без страны, очищается при смене страны, а поиск возвращает города только выбранной страны.
0.1.0-R101 Обновление

Синхронизация сквозного теста регистрации с R100

  • Проверяется полный сценарий регистрации физлица с заполненными страной, городом, телефоном и компанией.
  • Сохранены географические справочники, проверка контактов, подстановка профиля и расчёт НДС из R100.
0.1.0-R100 Регистрация и географические справочники

Страны, города, проверка контактов и корректный НДС

  • Добавлены 249 стран ISO/CLDR и 159 762 населённых пункта GeoNames cities1000 с русскими и английскими названиями.
  • Поля регистрации физлица сгруппированы по строкам; страна, город, телефон, email и данные компании стали обязательными.
  • Исправлены формат и нормализация телефона, DNS/MX/SMTP-проверка email и подстановка существующего профиля.
  • НДС начисляется поверх цены прейскуранта без НДС после применения скидки.
0.1.0-R99 Регистрация и логика анкет

Карточки участников, расчёт стоимости и Welcome Pack

  • Форма входа открывается без сохранённых значений; форма создания профиля получила русские подписи, страну и город.
  • Регистрация физлица: отдельные дополнительные офлайн- и онлайн-места, промокоды по форматам, редактируемая карточка основного участника и сохранение при возврате.
  • Добавлены отдельная компания и компания в бейдже, страна и город, копирование общих данных, поиск профиля по точному email с частичным скрытием телефона и компании.
  • Справочники стран и городов используются через ограниченный поиск с быстрым выбором; добавлены проверки формата телефона и почтового домена.
  • Расчёт стоимости для физлиц и юрлиц показывает базу без НДС, скидку, ставку и сумму НДС, итог; существующие тарифы с включённым НДС не увеличиваются повторно.
  • Исправлена интерактивная логика анкет, включая Доставку Welcome Pack: ветки обновляются без перезагрузки, скрытые ответы не блокируют отправку и не попадают в результаты.
0.1.0-R98 Публикация программы

Управление публичной программой и исправление ошибки 500

  • В разделе «Доклады и рецензирование → Формирование программы» добавлен флажок «Программа опубликована» с немедленным сохранением.
  • При выключенной публикации сайт сообщает «Программа не опубликована»; превью, поиск и прямые карточки не раскрывают скрытые доклады. Сетка остаётся доступна редакторам.
  • Устранено воспроизведённое падение главной страницы и программы при пустом адресе доклада; добавлены безопасные ссылки по идентификатору и обработка отсутствующей секции.
  • При миграции заполненные программы существующих опубликованных и архивных мероприятий сохраняют видимость; новые мероприятия по умолчанию скрывают программу.
  • Сохранены функциональность R97, история всех релизов, часовой пояс развёртывания UTC+3 и интеграция голосования Android/PWA.
0.1.0-R97 Компактное голосование

Личные оценки Android/PWA 4.45 и компактные результаты

  • Карточки результатов стали компактнее: тема, автор, день, время и секция; аннотации и биографии не выводятся.
  • Четыре небольшие цветовые шкалы со средними баллами и количеством голосов расположены рядом с информацией о докладе; пояснения вынесены над списком.
  • Android/PWA 4.45: компактное окно голосования и просмотра своих четырёх оценок, плавные слайдеры и отправка кнопкой «Готово».
  • После закрытия окна показывается результат отправки; при успехе доступна «Ваша оценка докладу», при ошибке можно повторить до окончания голосования.
  • Сохранены фильтры, сортировка, импорт XML, реальные оценки и отдельные тесты голосования R96.
0.1.0-R96 Тестирование голосования

Тестовые оценки Android/PWA 4.44 и отдельные результаты

  • Добавлено управляемое из админки тестовое голосование по виртуальному времени Android/PWA 4.44.
  • Тестовые оценки хранятся в отдельной таблице, не меняют реальные результаты и не занимают единственный реальный голос участника.
  • Новый тест позволяет тем же устройствам проголосовать повторно; остановка теста прекращает приём, старые тестовые записи сохраняются.
  • Отдельная подпись тестовых токенов и проверка текущего теста предотвращают смешение режимов; добавлены проверки полного пути голосования.
0.1.0-R95 Исправление голосования

Импорт XML на PostgreSQL и мобильный релиз 4.43

  • Исправлен импорт XML в результатах голосования на PostgreSQL: блокируются только строки докладов, без необязательного JOIN секций.
  • Сохранены первичные ключи докладов, существующие голоса и подписанные ссылки; добавлены регрессии первого импорта и доклада без секции.
  • Тайм-аут worker выводится отдельно; для других ошибок показан диагностический код с подробностями в журнале.
  • Клиенты Android/PWA 4.43 исправляют контраст оценок и обновление кэша PWA; серверный API R94 сохранён.
0.1.0-R94 Голосование по четырём критериям

Результаты XML и оценки Android/PWA

  • Модуль «Результаты голосования» загружает полную программу из XML по source_event_id, исключая перерывы и служебные блоки.
  • Карточки в одну колонку: темы, аннотации, докладчики, фото, компании, города, страны, материалы и признаки XML.
  • Добавлены фильтры по дням и секциям (по умолчанию все), сортировка по общей оценке и количеству голосов.
  • Четыре оценки 1–5: полезность, качество подачи, соответствие теме и общая оценка; средние баллы и распределение.
  • Сохранены существующие голоса, первичные ключи и подписанные ссылки; старые Like/Dislike не преобразуются в баллы.
  • Добавлены атомарная миграция voting.0003, фоновое перечитывание XML, проверки API и карточек. Сохранены R1–R93 и UTC+3.
0.1.0-R93 Редакторский анализ программы

AI-проверка тем, аннотаций и переводов

  • В разделе «Доклады и рецензирование» каждого мероприятия добавлен «Анализ докладов».
  • Импортируются русская и английская версии XML по source_event_id; темы сопоставляются по ID и слоту, аннотации сохраняются на двух языках.
  • По умолчанию выбраны День 1 и первая секция. Анализ охватывает все доклады выбранных фильтров.
  • Добавлены OpenAI Responses API, выбор модели, серверный ключ, прогресс Celery и отдельные ошибки по докладам.
  • Три адаптивные колонки показывают исходные тексты, шкалу 0–5 с разбором и предложения «было → стало», включая полные переводы.
  • Перечитывание XML атомарно обновляет снимок и сбрасывает только результаты изменённых текстов; программа и заявки не изменяются.
  • Добавлена миграция conferences.0016_r93_talk_analysis и 23 сценария регрессии; сохранены изменения R1–R92 и UTC+3.
0.1.0-R92 Адаптивность конструктора анкет

Полноширинная блок-схема для desktop и 5K

  • Административные формы анкет больше не ограничены шириной 1550px и используют доступную рабочую область.
  • На ширине от 1980px вопросы и визуальная логика располагаются рядом, при этом стандартному холсту гарантируется не менее 940px.
  • Инспектор настроек остаётся справа только при достаточной ширине панели, иначе компактно переносится под холст и не перекрывает узлы.
  • При высоком системном масштабировании редактор переходит в безопасный одноколоночный режим.
  • На сверхшироких экранах колонка вопросов ограничена 900px, а всё оставшееся пространство получает блок-схема.
0.1.0-R91 Производительность и анкеты

Стабильная память, копирование шаблонов и рабочая аналитика

  • Устранён рост памяти на страницах анкет: наблюдатели DOM ограничены своими formset-контейнерами, перерисовка блок-схемы объединяется в один кадр, а таймеры и ResizeObserver освобождаются при закрытии страницы.
  • Большие результаты больше не загружаются целиком: сервер обрабатывает ответы потоково, ограничивает словари свободных значений и отдаёт таблицу респондентов страницами по 100 строк.
  • В шаблонах и рабочих анкетах визуальная блок-схема размещена в правой колонке рядом с вопросами и адаптивно переносится вниз на узких экранах.
  • Выбор назначения при создании анкеты сразу загружает вопросы, настройки и визуальную логику шаблона; изменения до первого сохранения не теряются.
  • Исправлены все пять видов результатов и пять профилей аналитики рабочих анкет, включая отдельные карточки докладов, сводку мероприятия, карту ожиданий и постраничные реестры.
0.1.0-R90 Анкеты, роли и реестр участников

Блок-схемы логики, сроки докладов и группы регистрации

  • Обычные правила логики снова редактируются и двусторонне синхронизируются с сохраняемой визуальной блок-схемой из условий, действий и стрелок Да/Нет.
  • Шаблон «Доставка Welcome Pack» получил полностью раздельные ветки пункта выдачи и домашнего адреса; высота чёрной шапки теперь адаптируется к логотипу.
  • Добавлена роль Speaker: автор редактирует и удаляет новый доклад в срок, редактирует доклад на рецензировании с автоматическим статусом «Обновлено» и пишет в обсуждение при любом статусе.
  • В мероприятии настраиваются сроки всех статусов докладов; после окончания срока изменение доступно только администратору, главе ПК и назначенным кураторам.
  • Докладчики, члены программного и организационного комитетов автоматически регистрируются как участники со статусами «Докладчик», «ПК» и «ОК».
  • Добавлен состав оргкомитета, вкладка «Группы» для мест без контактов и Excel-выгрузка групп по структуре предоставленного файла SQA Days 39.
0.1.0-R89 Редактор и аналитика анкет

Чистые выгрузки, визуальная логика и безопасные правки

  • Таблица респондентов и реестр доставки выгружаются без системных полей и внутренних кодов, с порядковым номером и светло-серым заголовком.
  • Опубликованную анкету можно изменить после подтверждения снятия с публикации; сохранённую редакцию требуется опубликовать повторно.
  • Добавлен визуальный drag-and-drop конструктор логики, синхронизированный с обычными правилами, актуальными вопросами и контекстными значениями.
  • Удалены неиспользуемые модели, административный раздел, фоновые доставки и право интеграций анкет; REST API и каналы распространения сохранены.
  • Телефон стал полностью редактируемым, Welcome Pack получил отдельные ветки доставки, а hero-блок главной страницы больше не обрезает логотип и не дублирует навигацию.
0.1.0-R88 Единое серверное время

Обязательный UTC+3 на Ubuntu и во всех контейнерах

  • Web, worker, beat, PostgreSQL и Redis получают TZ=Europe/Moscow, /etc/localtime и базу часовых поясов хоста.
  • Правило UTC+3 закреплено в постоянном server.env, Django, Compose, контексте разработки и R88 release contracts для всех будущих релизов.
0.1.0-R87 Анкеты и аналитика

Рабочая модерация, справочные поля и наследуемые отчёты

  • Исправлен HTTP 400 ссылки «Ответы и модерация» в настройках мероприятия.
  • Страна и город стали комбобоксами глобальных справочников со свободным вводом; телефон и email получили строгую проверку.
  • Шаблоны получили фиксированные виды результатов и аналитики, которые наследуются рабочими анкетами и меняют представление отчёта.
  • Код ссылки формируется сразу, защищён от редактирования и коллизий.
  • Выключенная защита паролем сохраняется и очищает прежний хэш; пять R87 contracts включены в полный release gate.
0.1.0-R86 Адрес PWA голосования

Канонический мобильный адрес во всех конфигурациях

  • Кнопка PWA на странице QR направлена на https://mobile.it-conf.com/pwa/ вместо устаревшего адреса основного сайта.
  • Каноническое значение добавлено в Django, серверную схему окружения и генератор постоянного Windows-профиля server.env.
  • Документирована безопасная команда применения на текущем Ubuntu-сервере с резервной копией и пересозданием только web-контейнера.
0.1.0-R85 Обновление

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

  • Созданные анкеты и опросы удаляются из административной консоли вместе с вопросами, ответами, правилами и связанными данными.
  • Сохранён запрет на отдельное изменение или удаление структуры вопросов после получения ответов; разрешено только атомарное удаление всей анкеты пользователем с соответствующим правом.
0.1.0-R84 Голосование за доклады

Анонимное голосование, QR и результаты по мероприятиям

  • Добавлен модуль «Голосование» с настройками для каждого мероприятия, итогами Like/Dislike по докладам и журналом голосов.
  • Голосование открывается после окончания доклада; первый день остаётся доступен во второй, а все голоса закрываются с окончанием конференции.
  • QR-ссылки и мобильные клиенты используют единый talk token и открывают точную карточку доклада.
  • Добавлены API регистрации устройства, статуса доклада, сохранения голоса, QR PNG и мобильная посадочная страница Android/PWA.
0.1.0-R83 Шаблоны анкет и прейскурант

Раздельные шаблоны, создание рабочих анкет и наглядные цены

  • Модуль анкет разделён на каталог «Шаблоны» и рабочий раздел «Анкеты и опросы: Создание»; шаблон не содержит конференцию, статус и настройки распространения.
  • Рабочая анкета создаётся с нуля или полной копией шаблона, выбирает только неархивную конференцию и после публикации открывается по всем каналам без ошибки 404.
  • Коды шаблона и ссылки формируются автоматически английскими идентификаторами; назначение шаблона является текстом, а в рабочей анкете выбирается из каталога шаблонов.
  • Публичный прейскурант по умолчанию показывает физических лиц, визуально отмечает выбранную аудиторию, скрывает вторую аудиторию и оформляет состав тарифа инфографикой.
  • Текущий период отмечается плашкой основного цвета; прошедшие периоды скрыты по умолчанию и включаются отдельным чекбоксом мероприятия в справочнике «Прейскурант».
  • Добавлены две миграции, четыре сквозных регрессионных теста и блокирующие R83 contracts; R83 является полным релизом поверх R82.
0.1.0-R82 Анкеты и права администраторов

Рабочие публичные ссылки, простая логика и режим только чтения

  • Публичные ссылки анкеты формируются на домене бренда выбранной конференции; постоянный токен сначала находит анкету, а её жизненный цикл больше не маскируется ошибкой 404.
  • Правила логики показаны компактными карточками и сортируются перетаскиванием мышью, сенсорным жестом или клавиатурой; оба списка вопросов ограничены текущей анкетой.
  • Поле «Доклад» подключается отдельным чекбоксом, выключено по умолчанию и на уровне интерфейса, API и модели исключено из анкет другого назначения.
  • Добавлены системные группы Administrator и Administrator View Only: первая получает весь функционал, вторая — всю административную консоль в режиме чтения без эффективных прав изменения.
  • Добавлены миграция, четыре регрессионных теста и блокирующие R82 contracts; R82 является полным релизом поверх R81.
0.1.0-R81 Анкеты и административный UX

Стабильные ссылки, визуальный конструктор и быстрые статусы

  • Опубликованные анкеты открываются по неизменяемому публичному токену; изменение slug больше не вызывает 404, а прежние ссылки R79/R80 безопасно перенаправляются.
  • Конструктор получил палитру 22 типов блоков, цветные сводные карточки, понятные поля вариантов, шкал и матриц, а расширенный JSON скрыт до запроса пользователя.
  • Сохранённые вопросы открываются свёрнутыми; порядок меняется перетаскиванием, стрелками, клавиатурой и на сенсорных экранах.
  • Центр нотификаций показывает состояние почтового сервиса, ключевые показатели и цветные адаптивные разделы для автоматизаций, рассылок и мониторинга.
0.1.0-R80 Администрирование нотификаций и рассылок

Поисковые правила, безопасные тесты и полный предпросмотр

  • Переименованы справочники регистрации, подачи и рецензирования; статусы нотификаций и списков подписчиков переключаются прямо в таблицах.
  • Системные коды нотификаций и правил формируются из русских названий в уникальные английские идентификаторы, а редактор показывает справочник тегов автоподстановки.
  • Триггеры и поля условий выбираются через русские поисковые описания, фильтруются по разделу; допустимые значения предлагаются списком, условия и действия сортируются перетаскиванием.
  • Добавлен безопасный тестовый режим шаблонов, правил и почтовой конфигурации: все тестовые письма перенаправляются текущему администратору и сохраняются в аудите.
  • Интерфейс рассылок переведён на HTML-редактор, предпросмотр развёрнут до полного письма; улучшены хлебные крошки, подписчики и подсказки webhook UniSender Go.
  • Исправлена ошибка 500 карточки мероприятия, усилена проверка auth-хэша webhook; R80 является полным релизом поверх R79 и сохраняет модуль анкетирования.
0.1.0-R79 Анкетирование и обратная связь

Конструктор форм, каналы сбора, интеграции и аналитика

  • Добавлен административный модуль «Анкетирование и опросы» с конструктором из 22 типов вопросов, условной логикой, скорингом, таймером и настройками публикации.
  • Реализованы обычные и именные ссылки, iframe и popup embed, Android/PWA API, QR-коды, печатная версия, push-сценарии и итоговое письмо после конференции.
  • REST API v3, подписанные webhooks, Google Sheets, Telegram, Max и push-шлюз работают через идемпотентную очередь с повторами и журналом доставок.
  • Аналитика показывает конверсию, длительность, оценки, NPS, устройства, географию, секции, треки, форматы, бренды, выпуски, проблемы и офлайн/онлайн; доступны CSV, XLSX, Word и PDF.
  • Добавлены четыре базовых шаблона, уникальность ответов пользователя/именной ссылки, дополнительный IP-антифрод и разрешённый правами тестовый обход для администраторов.
  • R79 поставляется новым полным релизом и сохраняет весь функционал R78.
0.1.0-R78 Нотификации и рассылки

Автоматизации, UniSender Go и массовые кампании

  • В администрирование добавлен модуль «Нотификации и рассылки» с разделами нотификаций регистрации, подачи доклада и системы рецензирования.
  • Добавлен движок КОГДА/ЕСЛИ/ТОГДА с несколькими условиями и действиями, приоритетами, задержками, идемпотентностью и полным аудитом каждого срабатывания.
  • Каталог наполнен 28 редактируемыми rich-text нотификациями и соответствующими правилами; пользовательские изменения не перезаписываются при повторной инициализации.
  • Интеграция UniSender Go использует Web API, безопасное хранение ключа, отправителя no-reply@it-conf.com, повторы временных ошибок, webhooks, suppression и мониторинг доступности.
  • Подсистема рассылок включает кампании, списки и CSV-импорт, подписчиков, сегменты, блочный и HTML-редакторы, планирование, тестовую отправку, паузу, отмену и статистику доставки.
  • R78 поставляется новым полным релизом и сохраняет весь функционал и оптимизированную процедуру развёртывания R77.
0.1.0-R77 Формирование программы и права главы ПК

Рабочее меню главы ПК, PostgreSQL и мобильное перетаскивание

  • В системе рецензирования для главы программного комитета добавлены разделы формирования программы, тем/треков и форматов докладов.
  • Глава ПК управляет двумя программными справочниками в интерфейсе рецензирования, но не получает прямого доступа к Django admin и остальным справочникам.
  • Тестовый режим доступен реальному главе ПК только для назначенных конференций и всех активных ролей, кроме Администратора.
  • Исправлена PostgreSQL-ошибка FOR UPDATE с nullable LEFT JOIN при размещении доклада; необязательный аудит больше не может повредить основную транзакцию.
  • В сетку программы добавлено мобильное перетаскивание карточек через тап, удержание и движение с подсветкой цели и автопрокруткой.
  • R77 поставляется новым полным релизом и сохраняет оптимизированную процедуру развёртывания R72 и исправления R73–R76.
0.1.0-R76 Обновление

Изоляция проверок внутри app build context

  • Сохранены исправления R74–R75, роли и права R73 и оптимизированное развёртывание R72; R76 поставляется только полным релизом.
0.1.0-R75 Обновление

Совместимость legacy-проверки с тестированием ролей

  • Исправлено второе ложное срабатывание Validate.ps1: администраторская панель тестирования роли больше не считается устаревшим публичным тестовым режимом.
  • Legacy-проверка R26 по-прежнему запрещает тестовые флаги и баннеры в публичных runtime-файлах, но base.html проверяется отдельно с обязательным административным guard.
  • Добавлен блокирующий контракт полного сборщика, запрещающий снова включать base.html в несовместимую глобальную проверку.
  • Сохранены 30 прав, девять ролей, сессионное тестирование доступа R73, исправление навигации R74 и оптимизированное развёртывание R72.
  • R75 поставляется новым полным релизом и не перезаписывает R74.
0.1.0-R74 Обновление

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

  • Исправлено ложное срабатывание Validate.ps1: служебное поле возврата формы выключения тестового режима больше не считается публичной ссылкой на рецензирование.
  • Форма восстановления административных прав возвращает пользователя на текущую страницу и больше не содержит скрытого адреса панели рецензирования.
  • Добавлены блокирующие контракты, запрещающие возврат ошибочной проверки R73 в серверном и полном сборщиках.
  • Весь функционал ролей и прав R73 и оптимизированная процедура развёртывания R72 сохранены; R74 поставляется только полным релизом.
0.1.0-R73 Роли и права рецензирования

Настраиваемая матрица доступа и безопасный тестовый режим

  • Добавлен справочник «Роли и права» с 30 исполняемыми правами, созданием пользовательских ролей и назначением прав без изменения кода.
  • Преднастроены Администратор, Глава программного комитета, Куратор, Наблюдатель и Наблюдатель+, а также роли основного состава и вспомогательного персонала.
  • Администратор может включить для выбранной конференции тестовый режим роли; исходные группы, назначения и флаги учётной записи не изменяются, а включение и выключение фиксируются в аудите.
  • Состав программного комитета разделён на «Основной состав» и «Вспомогательный персонал» с фильтрацией и корректным набором назначаемых ролей.
0.1.0-R72 Обновление

Обновление платформы

  • Неизменившаяся историческая миграционная регрессия PostgreSQL переиспользует доказательство установленной версии; при изменении миграций, моделей, настроек или зависимостей полный тест запускается автоматически.
0.1.0-R71 Замена системы рецензирования

Новый процесс с кураторами и вкладками статусов

  • Полностью заменена система рецензирования: шесть вкладок, основной и дополнительный кураторы, подстатусы обсуждения, резерв и решения главы ПК.
  • Переработан интерфейс по референсам: фильтры, карточка доклада, отдельные каналы автора и ПК, журнал старых и новых значений.
  • Публикация добавляет доклад только в пул программы; отказ, самоотвод и сброс удаляют его из пула и сетки.
  • По явному требованию удаляются прежние доклады, связанные элементы программы и данные старого рецензирования; миграции очистки и схемы разделены.
0.1.0-R70 Исправление обновления PostgreSQL

Разделение схемы и переноса данных рецензирования

  • Миграция proposals.0005 создаёт только схему; перенос данных выполняется отдельной атомарной миграцией 0006 после завершения индексов.
  • Устранён pending trigger events при обновлении заполненной PostgreSQL-базы с R64; существующие состояния рецензирования не переинициализируются.
  • Добавлена исполняемая регрессия 11 старых статусов, связей отзывов, оценок, решений и конфликтов; проверяется сохранение последующих изменений при повторном запуске.
  • Сохранён полный функционал R65–R69 и полные административные права; R70 поставляется полным пакетом.
0.1.0-R69 Обновление

Семантический locale-контракт целочисленных скидок

  • Исправлен блокирующий R64 price-list контракт Validate.ps1, который требовал устаревшую соседнюю цепочку discount_percent|unlocalize и отклонял корректный фильтр R65.
  • Добавлен исполняемый контракт R69 для двух групповых скидок и строки промокода; целочисленное отображение, знак процента и locale-safe HTML number сохранены.
  • Полные права администраторов staff/superuser, ограничения остальных ролей и весь функционал R65–R68 сохранены без изменений.
  • R69 поставляется полным пакетом; R68 не перезаписывается и заменён исправленным релизом.
0.1.0-R68 Обновление

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

  • Исправлен блокирующий public-content контракт Validate.ps1, который требовал устаревшую однострочную запись Python и отклонял корректный двухстрочный guard.
  • Добавлен AST-контракт R68, подтверждающий фактическую семантику запрета доступа, а не форматирование исходного текста.
  • Полные права администраторов staff/superuser, конфликтные ограничения для остальных ролей и весь функционал R65–R67 сохранены без изменений.
  • R68 поставляется полным пакетом; R67 не перезаписывается и заменён исправленным релизом.
0.1.0-R67 Полный объединённый релиз

Исправленный R65 и система рецензирования R66

  • Сохранены изменения R65: инфографические плитки пяти справочников, удаление ошибочного объединённого пункта, drag-and-drop сортировка и целочисленные скидки со знаком процента.
  • Исправлен блокирующий дефект миграции R65: 0008 теперь фиксирует и поле sort_order, и Meta.ordering, поэтому makemigrations --check не требует незапакованную 0009.
  • Включён полный процесс рецензирования R66: кампании, фазы, роли, версии докладов, конфликты, рецензии, доработка, решения, резерв и публикация.
  • Администраторы staff/superuser имеют полные права на все операции без ролевых, фазовых, конфликтных и кворумных ограничений; административные действия отмечаются в аудите.
0.1.0-R66 Отозванный неполный релиз

Рецензирование без изменений фактического R65

  • Введены независимые состояния процесса, доработки, решения ПК и публикации, кампании и фазы, контекстные роли и неизменяемые версии доклада.
  • Реализованы кураторы, назначения, конфликт интересов, динамическая форма рецензии, кворум, расхождение оценок и два изолированных канала обсуждения.
  • Релиз ошибочно построен от R64 и не содержит изменения фактического R65, поэтому отозван и не должен устанавливаться.
  • Полный объединённый и исправленный пакет выпущен под неизменяемым номером R67.
0.1.0-R65 Обновление

Плитки и сортировка справочников, целые проценты скидок

  • Пять глобальных справочников отображаются инфографическими плитками, а ошибочный объединённый пункт и его DOM-инъектор удалены.
  • Все пять справочников поддерживают drag-and-drop сортировку; организациям добавлено поле sort_order.
  • Групповые и промо-скидки вводятся целыми процентами и отображаются со знаком процента.
0.1.0-R64 Функциональная доработка регистрации и прейскуранта

Глобальные справочники, реквизиты ИП, участники и прозрачная калькуляция

  • Справочники компаний, стран, городов, статусов участников и способов оплаты выведены в корневую админ-плашку и зарегистрированы в кастомном AdminSite; старые значения безопасно переносятся без удаления.
  • Исправлены UX поиска компаний: стабильный размер кнопки, очищаемый телефон, подсказки по юрисдикции, дополнительные источники юридического адреса и корректное предзаполнение ИП России/Беларуси.
  • На шаге участников добавлены 15-символьное название компании в бейдже, счётчик, режим одной компании и отображение регистратора-участника; обновлён Excel-сценарий.
  • Подтверждение показывает раздельную калькуляцию offline/online, выбирает большую из групповой и промо-скидки и показывает включённый НДС; исправлено сохранение числовых настроек прейскуранта при русской локали.
  • Публичная стоимость выделяет текущий период и визуально различает прошедшие и будущие периоды во всех валютах и для обоих типов плательщика.
0.1.0-R63 Обновление

Шаблоны регистрации и актуальные API-регрессии

  • Исправлен TemplateSyntaxError формы регистрации: wizard_form явно загружает библиотеку static перед использованием тега static.
  • Исторические R55-тесты переведены на активный публичный endpoint views_r59 и больше не требуют авторизации, отменённой в R59.
  • Публичный lookup гарантирует JSON с Cache-Control: no-store и корректно обрабатывает ValidationError как ошибку ввода.
  • Autocomplete-тест сравнивает разобранный JSON, а не способ Unicode-экранирования; добавлены блокирующие source-контракты R63.
0.1.0-R62 Обновление

Обновление платформы

  • Исправлена гарантированная ошибка Django-теста R59: модель CompanyDirectoryEntry использует поле banking_details, а тест ошибочно передавал bank_details.
0.1.0-R61 Обновление

Независимый от релиза cache-контракт поиска компаний

  • Устранена блокирующая проверка R57, требовавшая устаревший cache namespace itconf:company-lookup:r57 в более новых релизах.
  • Кэш поиска по ИНН/УНП переведён на семантическую версию схемы itconf:company-lookup:v3, которая изменяется только при несовместимом формате данных.
0.1.0-R60 Исправление упаковки и валидации

Корректный release-index и синхронный полный пакет

  • Исправлен release-index.json: server_sha256 содержит путь к файлу .zip.sha256, а поле sha256 — только фактический digest серверного ZIP.
  • Полный пакет собирается официальным build_full_package.py, который проверяет индекс до упаковки и повторно читает его из готового ZIP.
  • Исходники app и deploy/server во внешнем пакете синхронизированы с вложенным серверным архивом, поэтому R59-функциональность больше не существует только во вложенном ZIP.
  • История приведена к единому статическому диапазону R60–R1: восстановлена запись R58 и добавлена фактическая запись функционального релиза R59.
0.1.0-R59 Функциональный релиз регистрации

Публичный поиск компаний, Excel-импорт и глобальные справочники

  • Поиск реквизитов по ИНН и УНП доступен до авторизации; для Беларуси поддерживаются юридические лица и индивидуальные предприниматели.
  • Юридический адрес извлекается из compact JSON ФНС и альтернативных вложенных структур; неполный результат не закрепляется в кэше.
  • Данные визарда сохраняются при переходах назад, а смена юрисдикции очищает реквизиты предыдущей страны.
  • Возвращены шаблон XLSX и импорт участников из Excel с проверкой структуры, e-mail и ограничения количества строк.
  • Добавлены поиск по справочнику компаний и глобальные двуязычные справочники стран, городов, статусов участников и способов оплаты.
0.1.0-R58 Обновление

Обновление платформы

  • App-only verifier динамически сверяет VERSION, RELEASE_HISTORY и литералы тестов, поэтому следующий релиз не сможет пройти упаковку со старым числом записей.
  • Функциональность compact JSON ФНС из R57 сохранена без изменений.
0.1.0-R57 Исправление интеграции ФНС

Разбор фактического compact JSON ЕГРЮЛ

  • Российский поиск по ИНН приоритетно использует ключи compact JSON ФНС: i, p, o, n, c, a, g, r и t.
  • Юридический адрес берётся напрямую из поля a; структурированный разбор сохранён как резервный вариант.
  • Должность и ФИО руководителя в первую очередь разделяются из поля g формата «ДОЛЖНОСТЬ: ФИО».
  • Неполный российский результат без юридического адреса больше не кэшируется на один час.
0.1.0-R56 Исправление регистрации

Корректные реквизиты подписанта и навигация визарда

  • Поиск по ИНН/УНП извлекает фактическую должность руководителя и юридический адрес; общий статус «Руководитель компании» больше не подменяет должность.
  • Должность и полное ФИО вводятся в именительном падеже, инициалы с фамилией вычисляются автоматически; обязательные реквизиты и e-mail проверяются с наглядными ошибками.
  • На шагах добавлены постоянно видимые кнопки возврата, а подтверждение корпоративной заявки показывает краткое название и корректную подпись налогового номера.
  • Для мест без указанных участников исправлено описание дальнейшего процесса: профили, письма и персональные подтверждения доступны только после заполнения участников.
0.1.0-R55 Исправление и улучшение UX

Надёжный поиск по ИНН и обновлённая регистрация

  • Поиск по ИНН/УНП использует URL, сформированные Django, и всегда получает JSON вместо HTML-страницы ошибки или входа.
  • Корпоративная форма показывает только краткое название; официальное полное название попадает в карточку после успешного поиска по реестру.
  • Сведения о подписанте нормализуются для документов в родительном падеже, банковские реквизиты обязательны, а поля перестроены по новому макету.
  • Добавлены маска телефона, явная подсказка выбора плательщика, корректный возврат на шаге подтверждения физлица и однострочный заголовок раздела о конференции.
0.1.0-R54 Исправление

Полная интеграция функциональности R46

  • Корпоративная форма R46 подключена напрямую, без runtime-патча классов Django-форм.
  • Юрисдикция, справочник, реквизиты, данные подписанта и карточка юрлица проходят полный путь форма–сессия–сервис–заявка.
  • Тариф выбирается сервером по формату, типу плательщика, валюте и дате; переданный браузером тариф не является источником решения.
  • Добавлен реальный Django workflow-тест сохранения заявки и повторно используемой организации.
0.1.0-R53 Исправление

Согласованная упаковка полного релиза

  • Исправлен внешний пакет: release-index.json всегда ссылается на серверный ZIP текущей версии.
  • Сборщик до упаковки сверяет VERSION, release-index.json, имя серверного архива, SHA-файл и фактический SHA-256.
  • Готовый внешний ZIP повторно открывается и проверяется; пакет со старым серверным архивом или индексом не может быть опубликован.
0.1.0-R52 Исправление

Обновление платформы

  • Команда check_release определяет ожидаемый диапазон истории из версии устанавливаемого кандидата и больше не содержит жёстких ограничений R45/R47.
  • Ошибка проверки сообщает фактический ожидаемый диапазон, например R1–R52.
0.1.0-R51 Исправление

Полная и каноническая история версий

  • VERSION_HISTORY_RU.md приведён к единому формату заголовков и содержит непрерывный диапазон R1–R51.
  • Проверка server ZIP и Python release validator синхронизированы с динамическим номером текущего релиза.
0.1.0-R50 Исправление

Обновление платформы

  • Устранена ошибка StrictMode: Validate.ps1 обращался к несуществующей переменной $serverExtractRoot.
  • Проверка файлов корпоративной регистрации теперь выполняется непосредственно внутри серверного ZIP без временного каталога распаковки.
  • Исправлен обязательный путь модуля r46_company.py; добавлена регрессия против несуществующих r47_company.py и serverExtractRoot.
0.1.0-R49 Исправление

Обновление платформы

  • Проверка истории и маркеры текущего релиза синхронизированы с R49; добавлен регрессионный запрет на необъявленные переменные R46/R47 в Validate.ps1.
0.1.0-R48 Исправление

Динамическая проверка полноты истории релизов

  • Ожидаемое количество записей теперь вычисляется из текущей версии release-index.json и не требует ручного изменения числового лимита в каждом релизе.
  • Добавлена регрессионная проверка непрерывного диапазона R1–R48 и запрет устаревшего жёсткого лимита 45.
0.1.0-R47 Исправление

Исправление release-index и SHA-контракта упаковки

  • Исправлено поле server_sha256: в нём хранится путь к .sha256-файлу серверного архива, а не сам digest.
  • Функциональность R46 сохранена без изменений; R47 исправляет только контур упаковки и валидации.
0.1.0-R46 Функциональный релиз

Корпоративная регистрация, справочник организаций и управляемые тексты

  • Автоматический выбор тарифа по дате регистрации
  • Юрисдикции Россия, Беларусь и Другая
  • Заполнение организации по ИНН/УНП и повторное использование справочника
  • Обязательная валидация email, телефона и банковских реквизитов
  • Суперпользовательское редактирование публичных текстов
  • Файлы контекста разработки и изменений в полном релизе
0.1.0-R45 Функциональный релиз

Безопасный выход из учётной записи

  • Добавлена кнопка «Выйти» на главной странице сайта для авторизованного пользователя, в профиле участника и в личном кабинете.
  • Выход выполняется только защищённым POST-запросом с CSRF-токеном; открытие logout URL методом GET запрещено.
  • При выходе Django полностью сбрасывает текущую серверную сессию и удаляет авторизацию на всех сайтах общей зоны IT-CONF.
  • После завершения сеанса пользователь перенаправляется на главную страницу текущего бренда, а защищённые страницы снова требуют входа.
  • В блокирующий workflow-тест добавлена проверка трёх кнопок, POST-only контракта, удаления _auth_user_id и закрытия личного кабинета после выхода.
0.1.0-R44 Исправление

Неразрушающее повторное заполнение прейскуранта

  • Исправлена ошибка uniq_price_code при повторном запуске seed_initial_data после изменения администратором периода или кода тарифа.
  • Начальные тарифы теперь идентифицируются и по стабильному коду, и по ячейке матрицы прейскуранта; существующая строка не дублируется.
  • Повторное развёртывание больше не перезаписывает вручную изменённые суммы, периоды и коды тарифов исторических конференций.
  • Добавлена защита от конкурентного создания тарифа через блокировку строк, savepoint и повторную проверку ограничений.
0.1.0-R43 Функциональный релиз

Настройки мероприятия, форматы участия, карта и публичный прейскурант

  • Исправлено сохранение настроек мероприятия: скрытые поля создания больше не блокируют изменение существующей конференции, а ошибки привязаны к конкретным полям и сопровождаются инструкциями.
  • Бренд существующего мероприятия показывается без выпадающего списка; slug нового выпуска формируется как <бренд>-<номер>.
  • Добавлено полное копирование настроек, статей, программы, прейскуранта, партнёров и справочников из любого мероприятия с сохранением идентификации целевого выпуска.
  • Прейскурант получил независимое включение офлайн/онлайн и автоматическое заполнение онлайн-цен по настраиваемому проценту от офлайн.
  • Публичная часть получила пункт «О конференции», двухстрочный блок даты и адреса, Яндекс.Карту места проведения и отдельные тарифы физических/юридических лиц с выбором валюты.
  • Исправлен контраст карточек «Три способа стать частью конференции» и добавлены блокирующие регрессионные проверки R43.
0.1.0-R42 Исправление

Безопасное разделение миграции прейскуранта для PostgreSQL

  • Исправлена ошибка PostgreSQL cannot ALTER TABLE conferences_priceoption because it has pending trigger events.
  • Создание схемы прейскуранта, перенос существующих тарифов и добавление ограничения матрицы цен разделены на три миграции с отдельными транзакциями.
  • Зависимость миграции промокодов и расчёта регистраций перенесена на финальную миграцию прейскуранта.
  • Добавлен контракт R42_PRICEOPTION_MIGRATION_BOUNDARY_OK=1, запрещающий совмещать обновление PriceOption и ALTER TABLE в одной миграции.
0.1.0-R41 Инфраструктурное исправление

Обновление платформы

  • Runtime Python-зависимости устанавливаются один раз в отдельное virtualenv и повторно используются quality- и runtime-стадиями.
  • gettext заменён детерминированным stdlib-компилятором PO→MO и проверкой точного соответствия django.po и django.mo.
  • Добавлена проверка встроенного libpq из psycopg[binary], поэтому отдельный системный пакет libpq5 не требуется.
0.1.0-R40 Исправление

Безопасное разделение PostgreSQL-миграции тем и форматов докладов

  • Исправлена ошибка PostgreSQL cannot ALTER TABLE proposals_proposal because it has pending trigger events.
  • Создание схемы, перенос данных и замена внешнего ключа разделены на три самостоятельные миграции с границами транзакций.
  • Зависимость прейскуранта перенесена на финальную миграцию форматов, поэтому последующие изменения выполняются только после завершения преобразования Proposal.
  • Добавлен статический контракт R40_POSTGRES_MIGRATION_BOUNDARY_OK=1, запрещающий совмещать RunPython и ALTER TABLE в одной миграции.
  • Функциональность R39, включая прейскурант, промокоды, темы, форматы и редактор программы, сохранена.
0.1.0-R39 Исправление

Исправление end-to-end подачи доклада с темой и контекстом конференции

  • POST визарда теперь передаёт обязательную тему/трек вместе с форматом доклада.
  • Новая ProposalForm получает конференцию до model validation, поэтому тема и формат корректно проверяются на принадлежность мероприятию.
  • Добавлен AST-контракт, проверяющий topic, proposal_format, submit, redirect и create-context формы.
  • Функциональность прейскуранта, промокодов, групповых скидок, тем, форматов и редактора программы сохранена.
0.1.0-R38 Исправление

Актуализация Windows-валидации фикстуры подачи доклада

  • Исправлена ложная ошибка 02-VALIDATE.cmd после перехода с общего DirectoryItem на отдельный ProposalFormat.
  • Добавлена защита от возврата устаревших маркеров DirectoryItem и отдельный контракт R38_PROPOSAL_FIXTURE_VALIDATOR_OK=1.
  • Функциональность прейскуранта, промокодов, групповых скидок, тем, форматов и редактора программы из R37 сохранена без изменений.
0.1.0-R37 Функциональный релиз

Прейскурант, промокоды, темы и форматы докладов

  • Добавлен настраиваемый прейскурант с отдельными ценами физических и юридических лиц для офлайн/онлайн и валют RUB, BYN, USD, EUR.
  • Добавлены отдельные офлайн- и онлайн-промокоды с ограничениями по количеству, дате включительно и участию в выбранной конференции.
  • Добавлены независимые групповые скидки для офлайн- и онлайн-участия и серверный детализированный расчёт заказа.
  • Темы/треки докладов вынесены в отдельный цветовой справочник, а форматы докладов — в справочник с продолжительностью.
  • Исправлена устойчивость drag-and-drop редактора программы; добавлены русские даты и количественные формы, термин «сессии» заменён на «доклады».
  • Курсы BYN, USD и EUR обновляются из официального источника ЦБ РФ раз в час; пересчитанные цены остаются редактируемыми.
0.1.0-R36 Исправление

Обновление платформы

  • Добавлен AST-контракт границы quality context, запрещающий обращения ROOT.parent из app-only проверки.
  • История версий и тест административной страницы обновлены до непрерывного диапазона R1–R36.
0.1.0-R35 Функциональный релиз

Логотипы партнёров, favicon админки и визуальное формирование программы

  • Исправлена публичная отдача загруженных логотипов партнёров через Nginx и добавлены превью с fallback в административной консоли.
  • Добавлен сборный favicon административной консоли из icon-only знаков SQA Days, Analyst Days и TechWriter Days.
  • Убран лишний заголовок «Управление конференциями» над блоком IT-CONF CONTROL CENTER.
  • Добавлен визуальный редактор программы: пул принятых докладов, сетка дней и секций, drag-and-drop, служебные блоки и проверка конфликтов.
  • Принятые заявки связываются с элементами программы; доклад можно переносить и возвращать из сетки в пул.
0.1.0-R34 Исправление

Исправление Windows-валидации истории версий

  • Контракт истории разделён на точные проверки маршрута, ссылки, шаблона и непрерывного диапазона релизов.
  • Добавлена регрессионная проверка, запрещающая повторное исключение release_history.html из marker scan.
0.1.0-R33 Функциональный релиз

Публикационный цикл, drag-and-drop и история версий

  • Добавлен единый жизненный цикл мероприятий: «Не опубликована», «Опубликована», «Архив».
  • Публикация нового мероприятия автоматически архивирует ранее опубликованное мероприятие того же бренда.
  • Главная страница использует только опубликованное мероприятие; архивные выпуски доступны через раздел «Архив».
  • В административных справочниках числовое поле порядка заменено перетаскиванием строк.
  • Номер версии в административной консоли открывает полную историю релизов R1–R33.
0.1.0-R32 UI/UX

Полноширинная desktop-консоль

  • Устранено стандартное ограничение ширины Django Admin dashboard.
  • Общие настройки и карточки брендов распределяются по широкой desktop-сетке.
  • Добавлена browser-level проверка раскладки на нескольких разрешениях.
0.1.0-R31 Исправление

Согласование теста копирования мероприятия

  • Отображаемая ошибка формы сравнивается с общей константой точным равенством.
  • Удалена грамматически несовместимая substring-проверка текста ошибки.
  • Сохранены проверки машинного кода и серверного ограничения бренда.
0.1.0-R30 Исправление

Единый контракт ошибки источника

  • Форма и сервис копирования используют одно сообщение об ошибке.
  • Добавлен код ошибки copy_source_brand_mismatch.
  • Проверяется невозможность копирования между разными брендами.
0.1.0-R29 Функциональный релиз

Desktop-админка, копирование мероприятия и фавиконы

  • Переработана desktop-композиция консоли управления конференциями.
  • Добавлено создание мероприятия по шаблону другого мероприятия того же бренда без операционных данных.
  • Добавлены icon-only favicon-наборы трёх брендов с прозрачным фоном.
0.1.0-R28 Исправление

Стабильный API контента и типы Excel

  • Введён стабильный модуль public_content вместо версионированного runtime-импорта.
  • Добавлена проверка полного графа внутренних Python-импортов.
  • Excel-экспорт сохраняет числовые и логические значения как нативные типы ячеек.
0.1.0-R27 Исправление

Согласование состояния миграций

  • Модель и миграция singleton PlatformSettings приведены к одинаковому условию id=1.
  • Добавлен AST-контракт, предотвращающий повторный migration drift.
0.1.0-R26 Функциональный релиз

Дерево конференций и административные выгрузки

  • Добавлено дерево «Все конференции → бренд → мероприятие» и общие настройки платформы.
  • Добавлены раздел «Участники» и Excel-выгрузки участников и заявок.
  • Главное меню разделено на два ряда; переработаны hero и типографика программы.
0.1.0-R25 Функциональный релиз

Публичная навигация, логотипы и закрытый review portal

  • Публичная навигация приведена к восьми основным разделам и трём ссылкам подвала.
  • Добавлены официальные прозрачные логотипы и цвета трёх конференций.
  • Доступ к рецензированию ограничен администраторами, комитетами и докладчиками.
0.1.0-R24 Исправление

Безопасные gettext-псевдонимы и Decimal-фикстуры

  • Устранено затенение gettext-псевдонима переменной «_» в сервисах.
  • Тестовые тарифы создаются с Decimal, а не строковыми суммами.
  • Добавлены AST-проверки этих контрактов.
0.1.0-R23 Инфраструктура

Обновление платформы

  • Получение базового образа выполняется с повторами и контролируемыми задержками.
  • При недоступности registry разрешён безопасный fallback на точный локальный образ.
  • Ошибки приложения не маскируются как сетевые сбои.
0.1.0-R22 Контроль качества

Обновление платформы

  • Тестовые инструменты и dev-зависимости исключены из production image.
0.1.0-R21 Исправление

Обновление платформы

  • Исправлена фикстура кэша OneToOne-настроек мероприятия.
0.1.0-R20 Исправление

Идемпотентная OneToOne-фикстура

  • Тесты перестали повторно создавать ConferenceSettings после post_save-сигнала.
  • Добавлен регрессионный тест единственности строки настроек.
0.1.0-R19 Инфраструктура

Build-security окружение и детерминированный rollback

  • Rollback не перезапускает и не переписывает активную версию без необходимости.
0.1.0-R18 Крупный функциональный релиз

Адаптивный публичный UI и рабочие визарды

  • Переработаны три самостоятельные дизайн-системы конференций.
  • Добавлены интерактивная программа, страницы докладов и рабочий RU/EN.
  • Открыты визарды регистрации, подачи доклада и интерфейс рецензирования.
0.1.0-R17 Исправление

Django Admin и жизненный цикл rollback

  • Исправлен admin.E040 для autocomplete секций программы.
  • Rollback не обращается к candidate Compose до реального запуска кандидата.
  • Настроен proxy header hash Nginx.
0.1.0-R16 Инфраструктура

Обновление платформы

  • Добавлены повторы STATUS_FATAL_APP_EXIT и объединённая передача payload.
0.1.0-R15 Контентный релиз

Три сайта, программа, тарифы и партнёры

  • Добавлены snapshots SQA Days #38, Analyst Days #22 и TechWriter Days #3.
  • Добавлены программа, тарифы, публичные страницы и независимые стили брендов.
  • Реализована подсистема партнёров с уровнями и единым масштабированием логотипов.
0.1.0-R14 Инфраструктура

Атомарный health-check и commit

  • Разделены liveness и readiness проверки.
  • Добавлен fingerprint версии и проверка БД из работающего web-контейнера.
  • Переключение current перенесено после полной проверки кандидата.
0.1.0-R13 Исправление

Обновление платформы

  • Исправлена интерполяция переменной перед двоеточием в Validate.ps1.
0.1.0-R12 Исправление

Health endpoints

  • Добавлены /health/, /health/live/ и /health/ready/.
0.1.0-R11 Инфраструктура

Автоматический выбор внутреннего порта

  • Обнаруживается конфликт APP_PORT до запуска web-контейнера.
  • Чужие процессы не останавливаются; выбирается свободный loopback-порт.
  • Фактический порт сохраняется в постоянном .env.
0.1.0-R10 Исправление

Bootstrap management-команд

  • ensure_initial_admin перенесена в установленное приложение apps.core.
  • Seed справочников отделён от создания администратора.
  • Добавлены build-проверки регистрации management-команд.
0.1.0-R9 Исправление

Начальные миграции приложений

  • Добавлены initial migrations для семи приложений с моделями.
0.1.0-R8 Исправление

Обновление платформы

  • Entrypoint запускается через /bin/sh для устойчивости к Windows ZIP modes.
0.1.0-R7 Исправление

Обновление платформы

  • Активный релиз считается существующим только при валидной ссылке и compose.yml.
0.1.0-R6 Инфраструктура

Постоянная конфигурация deployment

  • Конфигурация Windows вынесена в постоянный профиль LOCALAPPDATA.
  • Серверный .env хранится вне каталога конкретного релиза.
  • Новые релизы используют параметры без повторного конфигурирования.
0.1.0-R5 Исправление

Обновление платформы

  • Исправлены пути media/protected media и права UID/GID контейнера.
0.1.0-R4 Инфраструктура

Корневые CMD-запускатели

  • Добавлены девять командных файлов для запуска двойным щелчком.
0.1.0-R3 Исправление

Обновление платформы

  • В этом выпуске нет изменений пользовательских функций.
0.1.0-R2 Исправление

Обновление платформы

  • В этом выпуске нет изменений пользовательских функций.
0.1.0-R1 Первый релиз

Базовая единая платформа IT-CONF

  • Многосайтовая маршрутизация и единая учётная запись для трёх брендов.
  • Индивидуальные и корпоративные регистрации, места без ФИО и история посещений.
  • Базовые доклады, рецензирование, биллинг, уведомления и административная консоль.