From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate001.proxmox.com (gate001.proxmox.com [45.144.208.40]) by lore.proxmox.com (Postfix) with ESMTPS id 14AA01FF0E7 for ; Mon, 27 Jul 2026 15:59:46 +0200 (CEST) Received: from gate001.proxmox.com (localhost.localdomain [127.0.0.1]) by gate001.proxmox.com (Proxmox) with ESMTP id 6A573214EF; Mon, 27 Jul 2026 15:59:45 +0200 (CEST) From: Erik Fastermann To: pbs-devel@lists.proxmox.com, pdm-devel@lists.proxmox.com Subject: [PATCH proxmox-datacenter-manager 2/2] fix #7746: cli: admin: show installed instead of candidate version Date: Mon, 27 Jul 2026 15:59:40 +0200 Message-ID: <20260727135940.267321-3-e.fastermann@proxmox.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260727135940.267321-1-e.fastermann@proxmox.com> References: <20260727135940.267321-1-e.fastermann@proxmox.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: 2 AWL -0.289 Adjusted score from AWL reputation of From: address DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment (newer systems) KAM_LAZY_DOMAIN_SECURITY 1 Sending domain does not have any anti-forgery methods RDNS_NONE 1.274 Delivered to internal network by a host with no rDNS SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_NONE 0.001 SPF: sender does not publish an SPF Record Message-ID-Hash: I3XGCJYN6MVWAFH2O53FBUKLBEQYUKPB X-Message-ID-Hash: I3XGCJYN6MVWAFH2O53FBUKLBEQYUKPB X-MailFrom: efastermann@ruth.proxmox.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Erik Fastermann X-Mailman-Version: 3.3.10 Precedence: list List-Id: Proxmox Datacenter Manager development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: The 'versions' command printed 'Version' from the API result, which carries the version apt would upgrade to, not the one that is installed. Whenever the apt cache knows a newer version, the command therefore reported a version that is not installed at all, and the output changed after a plain 'apt update'. This also affects the 'report' command, which runs 'versions --verbose'. The installed version is available as 'OldVersion', which is what the GUI reads as well. The name is unfortunate for a listing of installed packages, but as far as I can tell every other consumer uses it correctly. The only exceptions were this command and its equivalent in Proxmox Backup Server, which is fixed in a separate patch. Use a renderer for the column, as 'OldVersion' is not set for packages that are not installed, where the table would otherwise show an empty cell instead of 'unknown', matching the previous behavior. As the header is not shown with 'noborder' set to true, renaming the field has no user-visible effect. The naming is inherited from PVE, where the same record is used for both the available updates and the installed package listing. Giving the versions endpoint its own type would avoid the trap for future callers, but that is a more complex API change and can be done in a future commit. Signed-off-by: Erik Fastermann --- cli/admin/src/main.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cli/admin/src/main.rs b/cli/admin/src/main.rs index 3102694e..71cd7fa4 100644 --- a/cli/admin/src/main.rs +++ b/cli/admin/src/main.rs @@ -110,7 +110,11 @@ async fn get_versions(verbose: bool, param: Value) -> Result