{ "versions": [ { "version": "0.8.27", "date": "2026-05-07", "title": "Защита загрузок от переходов по меню была добавлена", "summary": "Во время активной загрузки ISO или дискового образа переходы по меню, клики по ссылкам, submit других форм и закрытие вкладки теперь блокируются предупреждением, чтобы браузер не оборвал передачу файла.", "features": [ "Защита активных загрузок от переходов по меню была добавлена", "Переходы по ссылкам во время загрузки теперь блокируются", "Закрытие или обновление вкладки во время загрузки вызывает предупреждение браузера", "Submit сторонних форм во время загрузки теперь блокируется", "Кнопка Отменить загрузку осталась единственным явным способом остановить передачу файла", "Версия обновлена до 0.8.27" ] }, { "version": "0.8.26", "date": "2026-05-07", "title": "Динамический прогресс создания VM был добавлен", "summary": "Страница фоновой операции создания VM теперь обновляет прогресс динамически: реальные данные из API остаются главным источником, а визуальная интерполяция плавно двигает прогресс-бар, когда virt-install долго не пишет новые строки в лог.", "features": [ "Динамический polling операции создания VM был улучшен", "Плавная визуальная интерполяция прогресса была добавлена", "Прогресс-бар больше не выглядит статичным во время долгих этапов virt-install", "При успехе прогресс сразу переходит на 100 процентов", "Версия обновлена до 0.8.26" ] }, { "version": "0.8.25", "date": "2026-05-07", "title": "Патчер Update Center был упрощён", "summary": "Патчер Update Center был очищен от запуска вспомогательных патчей и теперь отвечает только за маршруты центра обновлений, чтобы установка не останавливалась из-за несвязанных модулей.", "features": [ "Патчер Update Center был упрощён", "Запуск вспомогательных патчей из patch_update_center.py был убран", "Маршруты /update теперь добавляются независимо от патчей дисков, ARM64 и бейджа обновлений", "Риск остановки установки на этапе Update Center был снижен", "Версия обновлена до 0.8.25" ] }, { "version": "0.8.24", "date": "2026-05-07", "title": "Update Center и расписание автообновления были исправлены", "summary": "Патчер Update Center был защищён от раннего выхода вспомогательных патчей, а ежедневное автообновление было переведено на явное UTC-расписание 21:00 UTC, что соответствует 00:00 по Москве.", "features": [ "Патчер Update Center был защищён от раннего выхода", "Маршруты /update, /update/status, /update/check и /update/apply теперь добавляются до запуска вспомогательных патчей", "Вспомогательные патчи больше не блокируют установку Update Center при штатном SystemExit", "Расписание автообновления было переведено на 21:00 UTC для запуска в 00:00 по Москве", "Версия обновлена до 0.8.24" ] }, { "version": "0.8.23", "date": "2026-05-07", "title": "Автообновление переведено на ежедневный запуск", "summary": "Systemd timer автообновления был переведён с проверки каждые 15 минут на запуск 1 раз в сутки в 00:00 по московскому времени.", "features": [ "Таймер virtuality-auto-update был переведён на ежедневный запуск", "Расписание автообновления было задано через OnCalendar", "Часовой пояс Europe/Moscow был указан явно", "Финальное сообщение установщика было обновлено под новый режим автообновления", "Версия обновлена до 0.8.23" ] }, { "version": "0.8.22", "date": "2026-05-07", "title": "Фикс блока готового диска и страницы обновлений", "summary": "Чекбокс замены существующего диска был перенесён в блок готового образа диска, а страница обновлений теперь открывается полной загрузкой, чтобы её inline-скрипты работали стабильно.", "features": [ "Чекбокс замены диска был перенесён в блок готового образа", "Стили вложенного блока готового образа были добавлены", "AJAX был отключён для страницы обновлений", "Страница /update больше не должна ломаться из-за AJAX-подмены HTML", "Версия обновлена до 0.8.22" ] }, { "version": "0.8.21", "date": "2026-05-07", "title": "Фикс ARM64 QEMU и IMG.XZ", "summary": "ARM64 VM на x86-хосте теперь принудительно создаётся через QEMU-эмуляцию, а загрузка .img.xz исправлена так, чтобы распаковщик видел исходное имя файла, а не временный .uploading путь.", "features": [ "ARM64 на x86 был принудительно переведён на QEMU", "Распаковка img.xz была исправлена", "ARM64 guest на x86 больше не пытается использовать KVM с машиной virt", "extract_xz_disk_image теперь получает исходное безопасное имя .img.xz", "Версия обновлена до 0.8.21" ] }, { "version": "0.8.20", "date": "2026-05-07", "title": "Отмена загрузки образов", "summary": "Во время загрузки ISO или дискового образа кнопка загрузки теперь превращается в кнопку отмены и позволяет прервать активную передачу файла без перезагрузки страницы.", "features": [ "Отмена загрузки дискового образа была добавлена", "Отмена загрузки ISO была добавлена", "Кнопка загрузки во время передачи файла меняется на Отменить загрузку", "При отмене вызывается xhr.abort, прогресс сбрасывается, а форма возвращается в рабочее состояние", "Версия обновлена до 0.8.20" ] } ] }