chore(release): bump to v1.5.2
All checks were successful
Deploy to Production / Trigger production update (push) Successful in 8s
All checks were successful
Deploy to Production / Trigger production update (push) Successful in 8s
Update VERSION, README badge, CHANGELOG (en/ru) and WIKI for v1.5.2. Covers: real-time disk/IOPS/network metrics, per-user language preference, settings UX fixes (SMTP fields, Telegram Chat ID, Webhook URL removal). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
22
CHANGELOG.md
22
CHANGELOG.md
@@ -4,6 +4,28 @@ All notable changes to PVEmanager will be documented in this file.
|
||||
|
||||
---
|
||||
|
||||
## [v1.5.2] - 2026-06-20
|
||||
|
||||
### 📊 Metrics
|
||||
|
||||
- **Real-time VM disk fill, IOPS and network I/O** — live per-disk usage, disk read/write and network in/out rates added to the instance Overview tab, instances list and dashboard top-loaded list
|
||||
- Backend: `get_vm_fsinfo()` pulls per-filesystem usage via QEMU guest agent; `metrics_broadcaster` computes I/O rates (bytes/sec) from cumulative counters; instances-list loop now refreshes each running VM via `status/current` (1 s granularity) instead of `cluster/resources` (10 s pvestatd), with bounded concurrency and 1 s cadence
|
||||
- Frontend: per-disk cards, Network I/O and I/O-rate cards on OverviewTab via WebSocket; Net and Disk I/O columns in InstancesPage; Disk% shown for LXC; realtime metrics overlay in DashboardPage top-loaded list
|
||||
|
||||
### ⚙️ Settings
|
||||
|
||||
- **Per-user language preference** — each user account now has its own `language` column (migration 26); the language selector moved from the Panel tab to the Profile tab; language is saved to DB and applied via `i18n.changeLanguage()` immediately on save
|
||||
- **Panel tab improvements** — `panel_name` field is read-only in UI (falls back to env `PANEL_NAME`); `log_retention_days` field exposed; Panel API accepts `panel_name` in `PUT` to allow DB override without touching the env var
|
||||
|
||||
### 🐛 Bug Fixes
|
||||
|
||||
- **SMTP/security settings fields** — renamed SMTP request/response fields (`host`, `port`, `username`, `password`, `from_email`, `tls`) and pointed security settings hooks at `/admin/api/security/settings` with a typed `SecuritySettings` shape; added `minutes` / `security_saved` i18n keys
|
||||
- **Notifications form UX** — added success/error toasts to SMTP and Telegram save buttons; Profile tab language selector wired up; password-change fields cleared only on success
|
||||
- **Telegram admin section** — removed the Chat ID field from the global Telegram section (it was never persisted to DB); testing is now done via the personal "My notifications → Send test" flow
|
||||
- **Webhook URL field** — removed the unimplemented Webhook URL field from the notifications settings to avoid misleading users
|
||||
|
||||
---
|
||||
|
||||
## [v1.5.1] - 2026-06-04
|
||||
|
||||
### 🐛 Bug Fixes
|
||||
|
||||
@@ -4,6 +4,28 @@
|
||||
|
||||
---
|
||||
|
||||
## [v1.5.2] - 2026-06-20
|
||||
|
||||
### 📊 Метрики
|
||||
|
||||
- **Реальное время: заполнение дисков VM, IOPS и сетевой I/O** — живые данные по каждому диску, скорости чтения/записи и сетевого ввода/вывода добавлены на вкладку Overview инстанса, в список инстансов и виджет топ-нагруженных на дашборде
|
||||
- Backend: `get_vm_fsinfo()` запрашивает данные файловых систем через QEMU guest agent; `metrics_broadcaster` вычисляет скорости I/O (байт/с) из накопленных счётчиков; цикл обновления списка инстансов теперь опрашивает каждую запущенную VM через `status/current` (гранулярность 1 с) вместо `cluster/resources` (10 с от pvestatd), с ограниченным параллелизмом и ритмом 1 с
|
||||
- Frontend: карточки по каждому диску, карточки Network I/O и I/O-rate на OverviewTab через WebSocket; колонки Net и Disk I/O в InstancesPage; Disk% отображается только для LXC; метрики в реальном времени на виджете топ-нагруженных на DashboardPage
|
||||
|
||||
### ⚙️ Настройки
|
||||
|
||||
- **Язык интерфейса для каждого пользователя** — у каждого аккаунта теперь есть собственная колонка `language` (миграция 26); переключатель языка перенесён с вкладки «Панель» на вкладку «Профиль»; язык сохраняется в БД и применяется через `i18n.changeLanguage()` сразу при сохранении
|
||||
- **Улучшения вкладки «Панель»** — поле `panel_name` только для чтения (берётся из env `PANEL_NAME`); поле `log_retention_days` доступно в UI; API панели принимает `panel_name` в `PUT`, что позволяет переопределить значение через БД без правки env
|
||||
|
||||
### 🐛 Исправления
|
||||
|
||||
- **Поля настроек SMTP/безопасности** — переименованы поля запроса/ответа SMTP (`host`, `port`, `username`, `password`, `from_email`, `tls`); хук настроек безопасности переведён на `/admin/api/security/settings` с типизированным `SecuritySettings`; добавлены i18n-ключи `minutes` / `security_saved`
|
||||
- **UX формы уведомлений** — добавлены тосты успеха/ошибки для кнопок сохранения SMTP и Telegram; переключатель языка в «Профиле» подключён; поля смены пароля очищаются только при успешном сохранении
|
||||
- **Telegram — раздел администратора** — убрано поле Chat ID из глобальных настроек Telegram (оно никогда не сохранялось в БД); проверка теперь выполняется через личный раздел «Мои уведомления → Отправить тест»
|
||||
- **Поле Webhook URL** — убрано нереализованное поле Webhook URL из настроек уведомлений, чтобы не вводить пользователей в заблуждение
|
||||
|
||||
---
|
||||
|
||||
## [v1.5.1] - 2026-06-04
|
||||
|
||||
### 🐛 Исправления
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
**Modern web panel for managing Proxmox servers, virtual machines and LXC containers**
|
||||
|
||||
[](CHANGELOG.md)
|
||||
[](CHANGELOG.md)
|
||||
[](LICENSE)
|
||||
[](compose.yml)
|
||||
[](backend/)
|
||||
|
||||
30
WIKI.md
30
WIKI.md
@@ -1,6 +1,6 @@
|
||||
# 📖 PVEmanager - Documentation
|
||||
|
||||
> Complete guide for installation, configuration and usage of PVEmanager v1.5.1
|
||||
> Complete guide for installation, configuration and usage of PVEmanager v1.5.2
|
||||
|
||||
---
|
||||
|
||||
@@ -974,8 +974,27 @@ Download [virtio-win drivers](https://fedorapeople.org/groups/virt/virtio-win/di
|
||||
|
||||
- **CPU**: Total load + per core
|
||||
- **RAM**: Used/Total
|
||||
- **Disk**: Used/Total + I/O
|
||||
- **Network**: In/Out traffic
|
||||
- **Disk**: Used/Total + I/O (per-disk cards on Overview tab)
|
||||
- **Network**: In/Out traffic (rates in bytes/sec)
|
||||
- **Disk IOPS**: Read/write rates per disk via QEMU guest agent (`get_vm_fsinfo`)
|
||||
- **Network I/O rates**: Live bytes/sec computed from cumulative counters in `metrics_broadcaster`
|
||||
|
||||
#### Data Granularity
|
||||
|
||||
| Source | Granularity | Used for |
|
||||
|--------|-------------|---------|
|
||||
| `cluster/resources` (pvestatd) | 10 s | Node and storage overview |
|
||||
| `status/current` | 1 s | Running VM real-time metrics |
|
||||
|
||||
All running VMs are polled via `status/current` at a 1 s cadence with bounded concurrency. Results are broadcast via WebSocket.
|
||||
|
||||
#### Where Metrics Appear
|
||||
|
||||
| Location | Data shown |
|
||||
|----------|-----------|
|
||||
| Instance → Overview tab | Per-disk fill cards, Network I/O card, Disk I/O-rate card |
|
||||
| Instances list | Net I/O and Disk I/O columns; Disk% for LXC |
|
||||
| Dashboard top-loaded list | CPU, RAM, Disk, Net metrics overlay |
|
||||
|
||||
### Graph Periods
|
||||
|
||||
@@ -1497,6 +1516,7 @@ it up automatically on next startup (or call `I18nService.reload()` at runtime).
|
||||
- Full name
|
||||
- Email (for notifications)
|
||||
- Password change
|
||||
- **Language** — per-user UI language (stored in DB column `users.language`); applies immediately on save via `i18n.changeLanguage()`; each account keeps its own preference
|
||||
- **SSH Public Key** — stored in user profile and automatically injected into VM/LXC during cloud-init deployment
|
||||
|
||||
### Panel Settings
|
||||
@@ -1505,7 +1525,9 @@ it up automatically on next startup (or call `I18nService.reload()` at runtime).
|
||||
|-----------|-------------|---------|
|
||||
| Refresh interval | Data refresh frequency | 30 sec |
|
||||
| Log retention | How many days to keep logs | 30 days |
|
||||
| Language | Interface language | English |
|
||||
| Panel name | Display name (read-only in UI, can be overridden in DB) | `PANEL_NAME` env |
|
||||
|
||||
> **Note:** The language setting was moved from the Panel tab to the Profile tab in v1.5.2 — each user now controls their own language independently.
|
||||
|
||||
### System Updates & Repository Selection
|
||||
|
||||
|
||||
Reference in New Issue
Block a user