{ "versions": [ { "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" ] } ] }