Журнал версий обновлён до 0.8.8
Этот коммит содержится в:
+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"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user