github Corsinvest/cv4pve-admin v2.0.0-rc6

pre-release5 hours ago

Community Edition

Added

  • AI Server / MCP — refactored MCP infrastructure with ToolHelper, McpBridge, ApiAccess/Bridge tabs
  • AI Server / MCP — upgrade McpBridge to official MCP SDK 1.0.0; log MCP requests to audit log
  • Automatic API token wizard — guided creation of API tokens during cluster registration
  • PvePermissions model — cluster permission caching
  • Health Score — for nodes, VMs, and storages; added to Resources column picker and widget icons
  • Sparklines — CPU/RAM history sparklines in VM and Node summary components
  • Cluster name in URL — multi-tab isolation and shareable deep links (/module/{cluster}/{slug})
  • Query param deep-linking — URL navigation in Resources, VM/Node managers, and search system
  • Localization system — JSON-based localization with culture support
  • Culture preference — language/culture selection in user profile
  • CopyValueDialog / CredentialDialog — shared copy and credential display components
  • OpenCopyValueAsync — dialog helper for token/value display
  • Resizable side dialog — drag-to-resize side panel; EnumDropDown component
  • SshRequiredGate — gate component in NodeProtect/Updater for SSH requirement enforcement
  • Disable console/SSH for non-PAM or API Token users
  • Default password notification — alert when default admin password is still in use
  • Icons — added to Diagnostic IssuesDialog fields and HealthScore widget
  • Dynamic Documentation link — help menu link adapts to current module
  • "Who is using" — HelpMenu entry with cluster info pre-fill

Changed

  • Move ClusterSelector to Layout namespace; add UrlHelper
  • Move SettingSection/SettingsAccordion from Module.System to Core
  • Standardize audit logging format
  • Unify Job/ActionHelper scan signature across analytics modules
  • Core misc improvements — BuildInfo.IsInContainer, SyncRolesAsync, EditDialog cleanup
  • Extract default admin credentials into ApplicationHelper constants
  • Update default dashboard configuration
  • Simplify AI Server VmTools; add tags to minimal VM output
  • Remove redundant title/aria-label from buttons with visible Text
  • Upgrade Radzen to 9.0.8

Fixed

  • Prevent concurrent RefreshDataAsync calls with SemaphoreSlim
  • Expand resource rows after data load instead of OnAfterRenderAsync
  • PasswordField Start/End slots reorder; use Variant.Text for toggle
  • Various minor UI and logic fixes

Enterprise Edition

Added

  • DRS — unified Dashboard with Resource Distribution (CPU/RAM barchart + RRD sparklines), HA Groups support, full run history with migrations detail
  • AI Server — new MCP tools: ListBackups, ListStorageContent, ListTasks; PSI Pressure metrics in RRD data
  • AppTokens — authentication with bulk permission operations; AppTokenPermissionsGrid, PermissionsSummaryDialog
  • PermissionsEditor — AppTokens UI, built-in role protection, PermissionsSummaryDialog service
  • AIServer EE permissions — extended MCP tool permissions model

Changed

  • Audit log — copy button in audit log details
  • Adapt EE to URL-based cluster routing (cluster name in URL)

Website | Docker Hub CE | Docker Hub EE

What's Changed

  • feat: add "Who is using" to HelpMenu with cluster info pre-fill by @franklupo in #183
  • docs: update README screenshots to match user guide index by @franklupo in #184
  • docs: add Connecting AI Clients and MCP Bridge section to ai-server by @franklupo in #185
  • feat: dynamic Documentation link in help menu based on current module by @franklupo in #186
  • fix: prevent concurrent RefreshDataAsync calls with SemaphoreSlim by @franklupo in #187
  • feat: add AppTokens authentication and bulk permission operations by @franklupo in #188
  • feat: add AppTokenPermissionsGrid, PermissionsSummaryDialog, and IPermissionsSummaryDialogService by @franklupo in #190
  • feat: refactor AIServer MCP infrastructure — ToolHelper, McpBridge, ApiAccess/Bridge tabs by @franklupo in #191
  • chore: Core misc improvements — BuildInfo.IsInContainer, SyncRolesAsync, EditDialog cleanup by @franklupo in #192
  • chore: unify Job/ActionHelper scan signature across analytics modules by @franklupo in #193
  • chore: add McpBridge build support, update docs — PVEAdmin role and AI Server output formats by @franklupo in #194
  • chore: extract default admin credentials into ApplicationHelper constants by @franklupo in #195
  • chore: update default dashboard configuration by @franklupo in #196
  • feat: add sparklines to VM and Node summary components by @franklupo in #197
  • chore: update package versions by @franklupo in #198
  • feat: add OpenCopyValueAsync dialog helper and refactor token display by @franklupo in #199
  • fix: reorder Start/End slots and use Variant.Text for toggle in PasswordField by @franklupo in #200
  • feat: improve NodesSettings UX — focus, keyboard shortcuts, cleanup by @franklupo in #201
  • feat: add automatic API token creation wizard for cluster registration by @franklupo in #202
  • feat: add Health Score for nodes, VMs, and storages by @franklupo in #203
  • feat: upgrade McpBridge to use official MCP SDK 1.0.0 by @franklupo in #204
  • feat: log MCP requests to audit log by @franklupo in #205
  • docs: document automatic API token creation wizard by @franklupo in #206
  • chore: add TODO to change default AccessType to ApiToken by @franklupo in #207
  • refactor: move WebContent RenderSettings code-behind to .razor.cs by @franklupo in #208
  • feat: add icons to Diagnostic IssuesDialog fields by @franklupo in #209
  • feat: add HealthScore to Resources column picker and widget icons by @franklupo in #210
  • feat: add CopyValueDialog and CredentialDialog shared components by @franklupo in #211
  • feat: notify user when default admin password is still in use by @franklupo in #212
  • refactor: WebApiCredential, SshCredential, C#14 extension members, SSH docs by @franklupo in #213
  • refactor: C#14 field keyword in AdminComponentBase + security warning UI by @franklupo in #214
  • feat: SshRequiredGate in NodeProtect/Updater + remove obsolete classes by @franklupo in #215
  • refactor: VmDiskSnapshotInfo rename, GetDiskSnapshotInfosAsync, FullDisplayName/TypeIcon by @franklupo in #216
  • feat: resizable side dialog + EnumDropDown component by @franklupo in #217
  • refactor: SSH layer + [Display] attrs + misc cleanup by @franklupo in #218
  • refactor: extract GetResourceUsage extensions, GetFrom helper and ClusterDetailDialog by @franklupo in #219
  • feat: disable console/SSH for non-PAM or API Token users; add user guide and docs by @franklupo in #220
  • docs: add PVE permissions reference page by @franklupo in #221
  • feat: introduce PvePermissions model and cluster permission caching by @franklupo in #222
  • refactor: move ClusterSelector to Layout namespace; add UrlHelper by @franklupo in #223
  • refactor: enhance search system with URL navigation and Data payload by @franklupo in #224
  • refactor: simplify VM/Node managers; add query param navigation by @franklupo in #225
  • feat: add query param deep-linking to Resources; add ClusterDetailDialog by @franklupo in #226
  • chore: standardize audit logging format; remove unused imports by @franklupo in #227
  • feat: add JSON-based localization system with culture support by @franklupo in #228
  • feat: add culture/language preference in user profile by @franklupo in #234
  • refactor: move SettingSection/SettingsAccordion from Module.System to Core by @franklupo in #230
  • fix: expand resource rows after data load instead of OnAfterRenderAsync by @franklupo in #231
  • fix: various minor UI and logic fixes by @franklupo in #232
  • chore: update NuGet packages by @franklupo in #233
  • feat: encode cluster name in URL for multi-tab and shareable links by @franklupo in #238
  • chore: remove redundant title/aria-label from buttons with visible Text by @franklupo in #239
  • refactor(ai-server): simplify VmTools; add tags to minimal VM output by @franklupo in #240
  • chore: upgrade Radzen to 9.0.8; misc fixes and improvements by @franklupo in #241
  • feat: bump to 2.0.0-rc6; add Automation category; expand docs by @franklupo in #242

Full Changelog: v2.0.0-rc5...v2.0.0-rc6

Don't miss a new cv4pve-admin release

NewReleases is sending notifications on new releases.