Files
virtuality/updates/versions.json
T

212 строки
21 KiB
JSON
Исходник Ответственный История

Этот файл содержит неоднозначные символы Юникода
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"versions": [
{
"version": "0.11.0",
"date": "2026-09-25",
"title": "Мастер настройки, снимки, резервные копии и быстрые машины из готовых образов",
"summary": "Virtuality стала полноценной заменой Proxmox для дома: после установки с ISO панель открывается сразу, а мастер настройки проводит через HTTPS, пароль, сеть машин, хранилище и обновления. Добавлены снимки, резервные копии, клонирование, увеличение диска, спящий режим, скачивание образов по ссылке и из каталога, создание машины из облачного образа с пользователем и паролем, установка Windows 11 с UEFI и TPM. Исправлено больше двадцати ошибок, найденных аудитом.",
"features": [
"Мастер первичной настройки: часовой пояс, пароль, HTTPS, сеть NAT или локальная сеть (с автооткатом), отдельный диск под машины, обновления",
"Первая загрузка образа: панель ставится первой и показывает ход установки в браузере; при ошибке установка продолжается сама",
"Страница «Настройки»: всё то же, что в мастере, плюс перезагрузка и выключение сервера, архив настроек, отчёт для поддержки",
"HTTPS для панели с сертификатом сервера и перенаправлением с обычного адреса",
"Снимки машин: создать, вернуться, удалить — до 8 на машину",
"Резервные копии машин: создание, восстановление в новую или ту же машину, удаление",
"Клонирование, увеличение диска, пауза и спящий режим, заметки, живая нагрузка процессора и памяти",
"Скачивание ISO и образов по ссылке и из каталога: Ubuntu 26.04/24.04, Debian 13, Alpine — с проверкой контрольных сумм",
"Машина из готового образа за минуту: пользователь, пароль и SSH-ключ через cloud-init, диск нужного размера",
"Тип системы при установке с ISO: Linux, Windows 11 (UEFI + TPM), Windows 10, другая",
"Постоянный адрес машины в сети NAT — пробросы портов не ломаются после перезагрузки",
"Стабильный канал обновлений: только выпущенные версии; ранний доступ — по желанию",
"Консоль машин доступна только через панель: VNC больше не открыт в сеть",
"Операции, прерванные перезапуском панели, больше не блокируют машину",
"Исправлены: формат облачных образов .img, CD-ROM, удаление UEFI-машин, правила firewall удалённых пробросов, русская локаль virsh, чужой IP у остановленных машин",
"Убраны Cockpit, консольный dashboard, эмуляция ARM64 на x86, загрузка по PXE и устаревшие скрипты",
"Команда virtuality-ctl: статус, настройки, пароль, часовой пояс, мост, диск, резервная копия настроек, откат, удаление",
"Версия обновлена до 0.11.0"
]
},
{
"version": "0.10.0",
"date": "2026-09-25",
"title": "Новый интерфейс, установочный образ и подготовка к продакшену",
"summary": "Панель полностью перерисована: светлая и тёмная темы, понятный русский язык вместо технических терминов, мастер создания машины из трёх шагов, открытие доступа из интернета в пару кликов. Добавлен установочный ISO-образ Virtuality на базе Ubuntu Server 26.04 LTS. Исправлены ошибки создания VM, автозапуска и обновлений, усилена безопасность.",
"features": [
"Новый дизайн панели: светлая и тёмная темы, адаптивная вёрстка для телефона",
"Главная страница: загрузка процессора, памяти и хранилища, карточки машин с быстрыми действиями",
"Мастер создания машины: готовые конфигурации «Мини», «Стандарт», «Мощная»",
"Страница машины: вкладки, переключатель автозапуска, порядок загрузки кнопками",
"Раздел «Сеть и доступ»: открытие SSH, сайта, RDP и других сервисов из списка",
"Загрузка образов перетаскиванием с прогрессом, скоростью и оставшимся временем",
"Подтверждения опасных действий и уведомления о результате",
"Раздел «Помощь» с инструкциями для частых задач",
"Установочный ISO на базе Ubuntu Server 26.04 LTS: image/build-iso.sh",
"Установщик ноды работает на Ubuntu 24.04, 26.04 и Debian 13",
"Исправлено падение создания VM из-за отсутствующего импорта platform",
"Исправлено: центр обновлений и автообновление предлагали откат на старую версию",
"Проверка пароля работает на Python 3.13+ без модулей crypt и spwd",
"Ограничение попыток входа, срок жизни сессии, защита от cross-origin POST",
"Правила проброса портов восстанавливаются после перезагрузки сервера",
"Настройки ноды сохраняются в /var/lib/virtuality/config/web.env и не сбрасываются обновлением",
"Публичный /healthz для мониторинга, автотесты и GitHub Actions",
"Версия обновлена до 0.10.0"
]
},
{
"version": "0.8.61",
"date": "2026-05-07",
"title": "Защита загрузки файлов была усилена",
"summary": "Для ISO и образов дисков сохранена AJAX-загрузка файлов с прогресс-баром, проверкой расширений, отменой загрузки и защитой от случайного перехода во время активной передачи файла. При этом общая AJAX-навигация панели остаётся отключённой для стабильности.",
"features": [
"ISO-загрузка сохранила XMLHttpRequest-прогресс без возврата AJAX-навигации страниц",
"Загрузка образов дисков сохранила XMLHttpRequest-прогресс и polling конвертации",
"Добавлено предупреждение beforeunload при попытке закрыть или обновить страницу во время загрузки",
"Добавлена блокировка переходов по меню, ссылкам и другим submit-кнопкам во время активной загрузки",
"Для ISO добавлен отдельный блок ошибки неправильного файла",
"Для дисков усилено состояние активной загрузки и конвертации",
"Версия обновлена до 0.8.61"
]
},
{
"version": "0.8.60",
"date": "2026-05-07",
"title": "AJAX-навигация панели была отключена",
"summary": "Панель была переведена в стабильный режим обычной навигации: panel.js больше не перехватывает переходы по ссылкам и POST-формы. AJAX оставлен только для безопасных фоновых функций: раскрытие меню, мобильное меню, обновление фрагментов и live-status.",
"features": [
"Убран перехват кликов по ссылкам для AJAX-подмены страниц",
"Убран перехват POST-форм для AJAX-submit",
"Удалена логика swapPage/ajaxNavigate из panel.js",
"Скрипты страниц снова выполняются через нормальную загрузку документа",
"Снижена нестабильность из-за смешанного full-load/AJAX режима",
"Оставлены безопасные фоновые функции: nav groups, mobile menu, refreshFragments, live-status и toasts",
"Версия обновлена до 0.8.60"
]
},
{
"version": "0.8.59",
"date": "2026-05-07",
"title": "Раскрытие блока Образы было восстановлено",
"summary": "На странице базы знаний был подключён /static/panel.js, чтобы раскрывающийся блок Образы снова работал по клику. Группа Образы не открыта принудительно, но корректно раскрывается через свою кнопку.",
"features": [
"web/static/knowledge.html снова подключает /static/panel.js",
"Блок Образы раскрывается по клику на свою кнопку",
"При открытии Базы знаний Образы не раскрываются принудительно",
"Версия блока базы знаний обновлена до 0.8.59",
"Версия проекта обновлена до 0.8.59"
]
},
{
"version": "0.8.58",
"date": "2026-05-07",
"title": "Меню базы знаний было исправлено",
"summary": "На статической странице базы знаний была убрана принудительная раскрытость группы Образы. Теперь при открытии Базы знаний меню Образы не раскрывается само по себе, а нижний пункт База знаний остаётся активным.",
"features": [
"В web/static/knowledge.html удалён класс open у группы Образы",
"Активным оставлен только пункт База знаний",
"Версия блока базы знаний обновлена до 0.8.58",
"Версия проекта обновлена до 0.8.58"
]
},
{
"version": "0.8.57",
"date": "2026-05-07",
"title": "Меню было централизовано на основных страницах",
"summary": "Главная страница, создание VM и карточка VM были переведены на общий шаблон меню _sidebar.html. Это устранило ситуацию, когда пункт База знаний был добавлен в общий шаблон, но не появлялся на страницах со старым зашитым aside.",
"features": [
"dashboard.html теперь подключает общее меню через _sidebar.html",
"vm_create.html теперь подключает общее меню через _sidebar.html",
"vm_detail.html теперь подключает общее меню через _sidebar.html",
"Пункт База знаний теперь должен появляться на главной, создании VM и карточке VM",
"Закреплено правило: меню правится только в web/templates/_sidebar.html, без отдельных копий в страницах",
"Версия обновлена до 0.8.57"
]
},
{
"version": "0.8.56",
"date": "2026-05-07",
"title": "База знаний была добавлена в панель",
"summary": "В главное меню Virtuality в самый низ был добавлен пункт База знаний. Раздел был первично наполнен документацией по SSL-ready подходу, Let’s Encrypt, bridge/NAT пробросам, ключевым директориям, обновлению панели и диагностике сети.",
"features": [
"В левое меню добавлен пункт База знаний в нижней части навигации",
"Добавлена статическая страница /static/knowledge.html с первым набором документации",
"В базу знаний внесён чек-лист SSL-ready by default для Let’s Encrypt",
"Описаны варианты проброса для bridge VM и NAT VM",
"Добавлены ключевые директории Virtuality и команды обновления",
"Добавлены быстрые команды диагностики хоста, VM и сетевого проброса",
"Добавлены стили для нижнего пункта меню и карточек базы знаний",
"Версия обновлена до 0.8.56"
]
},
{
"version": "0.8.55",
"date": "2026-05-07",
"title": "Проброс портов для bridge VM был добавлен",
"summary": "Сетевой патч был расширен для VM в bridge/static сетях: правила теперь определяют интерфейс до IP VM через ip route get и используют его вместо жёсткой привязки к virbr100. Это позволяет пробрасывать порты на VM, подключённые к br0, например fastpanel с IP 10.0.0.152.",
"features": [
"Добавлен патч patch_network_bridge_forwards.py",
"Установщик теперь применяет bridge/static VM patch после патча диапазонов портов",
"nftables DNAT теперь добавляет FORWARD/MASQUERADE правила для фактического интерфейса VM",
"iptables fallback теперь использует интерфейс маршрута к guest_ip вместо постоянного virbr100",
"Команда диагностики tcpdump теперь подставляет реальный интерфейс до VM",
"Версия обновлена до 0.8.55"
]
},
{
"version": "0.8.54",
"date": "2026-05-07",
"title": "Ручной IP VM был добавлен в проброс портов",
"summary": "На странице Сеть скрытое значение guest_ip=auto было заменено на видимое поле IP VM. Теперь при пустых DHCP leases, статическом IP внутри VM, bridge-сети или отсутствии qemu-guest-agent можно вручную указать внутренний IP и создать проброс без блокировки автоопределением.",
"features": [
"В форме добавления проброса портов появилось поле IP VM",
"Значение auto оставлено по умолчанию для обычного DHCP/qemu-guest-agent сценария",
"Ручной внутренний IP VM теперь можно указать прямо при создании DNAT-правила",
"Подсказки DHCP leases были уточнены для bridge/static VM и готовых образов",
"Версия обновлена до 0.8.54"
]
},
{
"version": "0.8.53",
"date": "2026-05-07",
"title": "Проброс диапазонов портов был усилен",
"summary": "Патч сетевых диапазонов был усилен: форма проброса теперь принимает диапазоны как текст, iptables DNAT использует корректный синтаксис диапазона назначения, а применение правил не падает сразу при сбое nftables, если iptables fallback смог поставить правила.",
"features": [
"Обработчик /network/forward/add был исправлен для приёма диапазонов портов как строки",
"iptables DNAT для диапазонов теперь формирует назначение вида IP:10000-20000 вместо ошибочного IP:10000:20000",
"apply_port_forwards теперь пробует UFW и iptables fallback даже если nftables не применился",
"Ошибки применения правил теперь собираются в более понятное сообщение",
"Версия обновлена до 0.8.53"
]
},
{
"version": "0.8.52",
"date": "2026-05-07",
"title": "Страница сети была переведена на единое меню",
"summary": "Раздел Сеть был переведён со старого shell-каркаса на общий v-layout/v-main с подключением _sidebar.html, чтобы после F5 левое меню не пропадало.",
"features": [
"Страница network.html была переведена на общий v-layout/v-main каркас",
"Раздел Сеть теперь подключает единое меню через _sidebar.html",
"panel.js подключён на странице Сеть",
"После F5 левое меню больше не должно пропадать в разделе Сеть",
"Версия обновлена до 0.8.52"
]
},
{
"version": "0.8.51",
"date": "2026-05-07",
"title": "Левое меню было пересобрано централизованно",
"summary": "Левое меню было вынесено в единый шаблон _sidebar.html и подключено к страницам ISO, Диски, Операции и Хост. Установщик теперь финально восстанавливает основные канонические шаблоны панели после патчеров.",
"features": [
"Общее меню _sidebar.html было пересобрано",
"Страница ISO была переведена на общий v-layout/v-main каркас",
"Страница Диски была переведена на общий v-layout/v-main каркас",
"Страница Операции была переведена на общий v-layout/v-main каркас",
"Страница Хост была переведена на общий v-layout/v-main каркас",
"Прогресс-бар был убран из таблицы операций",
"install_web_panel.sh теперь восстанавливает основные канонические шаблоны панели после патчеров",
"После F5 левое меню больше не должно пропадать на ISO, Диски, Операции и Хост",
"Версия обновлена до 0.8.51"
]
}
]
}