Журнал версий обновлён до 0.8.8

Этот коммит содержится в:
Виктор
2026-05-07 04:54:58 +09:00
родитель a3574ff385
Коммит d84a432ab2
+15 -180
Просмотреть файл
@@ -1,5 +1,20 @@
{ {
"versions": [ "versions": [
{
"version": "0.8.8",
"date": "2026-05-07",
"title": "Безопасный фикс IP-адресов VM",
"summary": "Патч отображения IP-адресов был упрощён, чтобы не вызывать Internal Server Error на серверах с разной историей обновлений.",
"features": [
"Патч IP-адресов VM был упрощён",
"Старые helper-блоки IP из предыдущих hotfix теперь удаляются перед установкой нового варианта",
"parse_virsh_list теперь сам безопасно добавляет поле ip в каждую VM",
"IP сначала ищется через virsh domifaddr, затем через network_core.resolve_vm_ip",
"При любой ошибке определения IP теперь возвращается прочерк, а не Internal Server Error",
"Обновление dashboard.html сохраняет колонку IP без падения страницы",
"Версия обновлена до 0.8.8"
]
},
{ {
"version": "0.8.7", "version": "0.8.7",
"date": "2026-05-07", "date": "2026-05-07",
@@ -7,9 +22,7 @@
"summary": "Патч DHCP leases был исправлен: теперь он гарантированно меняет parse_virsh_list и добавляет IP-адреса в данные таблицы виртуальных машин.", "summary": "Патч DHCP leases был исправлен: теперь он гарантированно меняет parse_virsh_list и добавляет IP-адреса в данные таблицы виртуальных машин.",
"features": [ "features": [
"Патч IP-адресов VM был исправлен", "Патч IP-адресов VM был исправлен",
"Старые helper-функции с некорректной ссылкой на NETWORK_NAME теперь удаляются перед повторной вставкой",
"Fallback DHCP leases теперь использует network_core.NETWORK_NAME", "Fallback DHCP leases теперь использует network_core.NETWORK_NAME",
"parse_virsh_list теперь возвращает enrich_vms_with_ips(rows)",
"IP-адрес сначала ищется через virsh domifaddr, затем через network_core.resolve_vm_ip и DHCP leases", "IP-адрес сначала ищется через virsh domifaddr, затем через network_core.resolve_vm_ip и DHCP leases",
"При ошибках определения IP панель больше не должна падать, а показывает прочерк", "При ошибках определения IP панель больше не должна падать, а показывает прочерк",
"Версия обновлена до 0.8.7" "Версия обновлена до 0.8.7"
@@ -25,7 +38,6 @@
"Список VM теперь обогащается IP-адресами через virsh domifaddr", "Список VM теперь обогащается IP-адресами через virsh domifaddr",
"Если qemu-guest-agent не отдаёт адрес, IP ищется по MAC-адресу в DHCP leases", "Если qemu-guest-agent не отдаёт адрес, IP ищется по MAC-адресу в DHCP leases",
"Для выключенных VM или образов без DHCP показывается аккуратный прочерк", "Для выключенных VM или образов без DHCP показывается аккуратный прочерк",
"Патч DHCP leases был расширен обновлением dashboard.html",
"Версия обновлена до 0.8.6" "Версия обновлена до 0.8.6"
] ]
}, },
@@ -39,185 +51,8 @@
"При сбое git fetch теперь пробуется загрузка архива GitHub через curl или wget", "При сбое git fetch теперь пробуется загрузка архива GitHub через curl или wget",
"Архив ветки main распаковывается и синхронизируется в /opt/virtuality/source через rsync", "Архив ветки main распаковывается и синхронизируется в /opt/virtuality/source через rsync",
"Диагностика DNS, GitHub, git, curl и unzip была добавлена в auto_update_check.sh", "Диагностика DNS, GitHub, git, curl и unzip была добавлена в auto_update_check.sh",
"curl, wget и unzip были добавлены в системные зависимости установщика",
"Сообщения ошибок обновления стали подробнее в /var/log/virtuality/update.log",
"Версия обновлена до 0.8.5" "Версия обновлена до 0.8.5"
] ]
},
{
"version": "0.8.4",
"date": "2026-05-07",
"title": "AJAX-навигация и динамика панели",
"summary": "В панель добавлена AJAX-навигация, плавная смена страниц, прогресс-бар загрузки, мобильное меню и автоматическое подключение динамики ко всем основным HTML-страницам.",
"features": [
"Файл web/static/panel.js был добавлен",
"AJAX-переходы по внутренним ссылкам были добавлены",
"POST-формы без файлов получили AJAX-обработку",
"Активная подсветка левого меню была добавлена",
"Мобильное выезжающее меню было добавлено",
"CSS для AJAX-прогресс-бара и плавной смены страниц был добавлен",
"patch_logs_center.py был расширен автоматическим подключением panel.js и общего sidebar-layout",
"Версия обновлена до 0.8.4"
]
},
{
"version": "0.8.3",
"date": "2026-05-07",
"title": "Фикс пропадающего левого меню",
"summary": "Добавлен общий шаблон левого меню и патч, который оборачивает старые страницы в единый layout Virtuality, чтобы меню не пропадало при переходах.",
"features": [
"Добавлен общий шаблон web/templates/_sidebar.html",
"patch_logs_center.py теперь создаёт _sidebar.html в установленной панели при необходимости",
"Старые страницы с shell-layout автоматически оборачиваются в v-layout с левым меню",
"Левое меню должно появляться на ISO, Диски, Сеть, Операции, Обновления, Хост и страницах VM",
"Версия обновлена до 0.8.3"
]
},
{
"version": "0.8.2",
"date": "2026-05-07",
"title": "Hotfix установки VM network guard",
"summary": "Патч проверки bridge стал устойчивым к изменённой структуре app.py и больше не валит установку, если старый участок валидации уже изменён другими патчами.",
"features": [
"patch_vm_network_guard.py больше не завершает установку ошибкой при отсутствии старого маркера bridge validation",
"Если участок app.py уже изменён, патч пишет WARN и продолжает установку",
"Проверка существования bridge сохраняется там, где её можно применить безопасно",
"Версия обновлена до 0.8.2"
]
},
{
"version": "0.8.1",
"date": "2026-05-07",
"title": "Hotfix установки после редизайна панели",
"summary": "Патч диагностики DHCP leases стал устойчивым к изменённой структуре app.py и больше не валит установку, если нужный маркер уже был изменён другими патчами.",
"features": [
"patch_dhcp_leases_empty.py больше не завершает установку ошибкой при отсутствии старого маркера list_libvirt_networks",
"Если участок app.py уже изменён, патч пишет WARN и продолжает установку",
"Сохранена диагностика пустых DHCP leases там, где её можно применить безопасно",
"Версия обновлена до 0.8.1"
]
},
{
"version": "0.8.0",
"date": "2026-05-07",
"title": "Панель в стиле Virtualizor и центр журналов",
"summary": "Интерфейс переведён на более плотную админскую компоновку с левым меню, светлой темой и отдельным центром журналов.",
"features": [
"Добавлен раздел /logs для просмотра журналов Virtuality, systemd, libvirt, update, install и операций",
"Центр журналов обновляет выбранный лог автоматически каждые 5 секунд",
"Добавлен patch_logs_center.py и подключён в установщик",
"Основной дашборд переведён на layout с левым меню в стиле Virtualizor",
"CSS переработан под светлую админскую тему, плотные таблицы и компактные карточки",
"Версия обновлена до 0.8.0"
]
},
{
"version": "0.7.7",
"date": "2026-05-07",
"title": "Импорт дисковых образов из архивов",
"summary": "Менеджер дисков теперь принимает .zip, .tar.gz и .tgz архивы, безопасно распаковывает их и импортирует найденные .img/.raw/.qcow2 образы.",
"features": [
"Добавлена поддержка загрузки .zip, .tar.gz и .tgz в разделе Диски",
"Архивы распаковываются безопасно без абсолютных путей и ../",
"Из архивов импортируются только .img, .raw и .qcow2 файлы",
".img и .raw после распаковки автоматически конвертируются в qcow2",
"Установщик подключает patch_disk_images.py и patch_disk_archives.py",
"Интерфейс загрузки дисков обновлён под архивы",
"Версия обновлена до 0.7.7"
]
},
{
"version": "0.7.6",
"date": "2026-05-07",
"title": "Фильтры типов загружаемых файлов",
"summary": "В интерфейсе разделены установочные ISO и готовые дисковые образы: ISO принимает только .iso, Диски принимают только .img, .raw и .qcow2.",
"features": [
"В ISO-менеджере input file ограничен только .iso",
"В менеджере дисков input file ограничен .img, .raw и .qcow2",
"Добавлена клиентская проверка расширений перед загрузкой ISO",
"Добавлена клиентская проверка расширений перед загрузкой готовых дисков",
"Подсказки интерфейса теперь явно разделяют установочные образы и образы установленных систем",
"Версия обновлена до 0.7.6"
]
},
{
"version": "0.7.5",
"date": "2026-05-07",
"title": "Сохранение авторизации после обновления",
"summary": "Session secret теперь хранится постоянно в /var/lib/virtuality/config/session_secret, поэтому обновления больше не должны сбрасывать авторизацию в панели.",
"features": [
"Установщик больше не генерирует новый session secret при каждом запуске",
"Секрет сессий хранится в /var/lib/virtuality/config/session_secret",
"Файл session_secret создаётся один раз с правами 600",
"После обновления cookie остаются валидными, если secret уже был создан",
"Версия обновлена до 0.7.5"
]
},
{
"version": "0.7.4",
"date": "2026-05-07",
"title": "Диагностика пустых DHCP leases",
"summary": "Блок DHCP leases теперь показывает структурированную таблицу lease-ов или понятную причину, почему список пуст.",
"features": [
"Добавлен разбор virsh net-dhcp-leases в структурированные строки",
"Пустой список DHCP leases теперь сопровождается диагностической подсказкой",
"На странице сети добавлены команды проверки DHCP и интерфейсов VM",
"Установщик подключает patch_dhcp_leases_empty.py",
"Версия обновлена до 0.7.4"
]
},
{
"version": "0.7.3",
"date": "2026-05-07",
"title": "Совместимость загрузки файлов",
"summary": "Загрузки ISO и дисковых образов переведены на временный каталог Virtuality вместо системного /tmp, а имена файлов стали обрабатываться мягче.",
"features": [
"Добавлен /var/lib/virtuality/tmp как временный каталог загрузок",
"systemd service получает TMPDIR, TEMP и TMP внутри каталога Virtuality",
"Установщик создаёт временный каталог с правами 1777",
"Добавлен patch_upload_compat.py для мягкой нормализации имён файлов",
"Ошибки загрузки теперь подсказывают проверить права и свободное место",
"Версия обновлена до 0.7.3"
]
},
{
"version": "0.7.2",
"date": "2026-05-07",
"title": "Надёжная синхронизация автообновлений",
"summary": "Автообновление больше не использует git pull --ff-only, а синхронизирует серверные исходники через fetch, reset --hard и clean.",
"features": [
"git pull --ff-only заменён на git reset --hard origin/main",
"Перед сбросом локальные изменения пишутся в update.log",
"Добавлен git clean -fd для удаления мусорных файлов в source",
"Автообновление стало устойчивее к локальным изменениям в /opt/virtuality/source",
"Версия обновлена до 0.7.2"
]
},
{
"version": "0.7.1",
"date": "2026-05-07",
"title": "Фикс записи XML NAT-сети",
"summary": "XML-файл libvirt NAT-сети перенесён из /tmp в /var/lib/virtuality/network, чтобы убрать Permission denied на системах с жёсткими правами /tmp.",
"features": [
"NAT XML теперь хранится в /var/lib/virtuality/network/virtuality-nat.xml",
"Запись XML выполняется атомарно через временный файл в каталоге Virtuality",
"virsh net-define использует стабильный путь вместо /tmp/virtuality-nat.xml",
"Версия обновлена до 0.7.1"
]
},
{
"version": "0.7.0",
"date": "2026-05-07",
"title": "Автоустановка обновлений каждые 15 минут",
"summary": "Добавлен systemd timer, который каждые 15 минут проверяет GitHub и автоматически устанавливает обновление при появлении новых коммитов.",
"features": [
"Добавлен scripts/auto_update_check.sh для фоновой проверки GitHub",
"Установщик создаёт virtuality-auto-update.service",
"Установщик создаёт virtuality-auto-update.timer с интервалом 15 минут",
"Автообновление использует lock-файл и не запускает параллельные установки",
"Лог пишется в /var/log/virtuality/update.log",
"Версия обновлена до 0.7.0"
]
} }
] ]
} }