Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package ktop for openSUSE:Factory checked in 
at 2026-11-06 19:57:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ktop (Old)
 and      /work/SRC/openSUSE:Factory/.ktop.new.3759290 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ktop"

Fri Nov  6 19:57:17 2026 rev:8 rq:1395710 version:0.6.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/ktop/ktop.changes        2026-01-13 
21:35:07.333378371 +0100
+++ /work/SRC/openSUSE:Factory/.ktop.new.3759290/ktop.changes   2026-11-06 
20:03:14.356479103 +0100
@@ -1,0 +2,114 @@
+Fri Nov 06 08:04:08 UTC 2026 - Johannes Kastl 
<[email protected]>
+
+- Update to version 0.6.0:
+  ktop v0.6.0 introduces Kubernetes Pressure Stall Information
+  (PSI) resource contention metrics, a dedicated user session
+  directory with rotated logging (~/.ktop/), dynamic in-app table
+  column selection and configuration persistence
+  (~/.ktop/config.yaml), interactive column sorting and filtering
+  across subpages, major Prometheus scraper and metric store
+  performance optimizations, codebase modernization, and toolchain
+  upgrade to Go 1.27.
+  * PSI (Pressure Stall Information) Metrics
+    - Resource Contention Signals: Integrated cAdvisor/kubelet PSI
+      metrics (container_pressure_cpu_waiting_seconds_total,
+      container_pressure_memory_waiting_seconds_total,
+      container_pressure_io_waiting_seconds_total) across node and
+      pod workloads.
+    - Overview STALL Column: Added a STALL column to Nodes and Pods
+      overview tables rendering the dominant waiting stall
+      percentage (CPU, Memory, or I/O) over the scrape window.
+    - Cluster Summary Stall Gauge: Added cluster-level PSI stall
+      metrics to the Cluster Summary header.
+    - Version Guardrails: Added runtime version checks that surface
+      ⚠ PSI beta in the cluster header when Kubernetes is <1.36 and
+      prefix STALL values with ⚠ 0% when node kernels are <4.20.
+  * User Session Directory & Rotated Logging (~/.ktop/)
+    - Session Directory: Introduced automatic creation of ~/.ktop/
+      (mode 0700) for user-specific data, relocatable via the
+      $KTOP_DIR environment variable.
+    - Rotated Structured Logging: Integrated log/slog and
+      lumberjack.v2 writing to ~/.ktop/ktop.log (mode 0600) with
+      automatic 10MB rotation, retaining the last 3 sessions
+      without interfering with the terminal display.
+    - CLI Logging Flags: Added --log-level (debug, info, warn,
+      error) and --log-format (text, json) flags.
+    - Graceful Degradation: Application continues running cleanly
+      if directory or file creation fails due to restrictive
+      filesystem permissions.
+  * Dynamic Column Configuration & Persistence
+    (~/.ktop/config.yaml)
+    - Interactive Column Selector Modal: Added interactive column
+      selection dialog triggered via the = hotkey on focused
+      overview tables, supporting Space toggle, Enter apply, and
+      Esc cancel.
+    - Active Default Columns: Enforced compact default column
+      layouts for Nodes (NAME, STATUS, RST, PODS, DISK, CPU, MEM)
+      and Pods (NAMESPACE, POD, READY, STATUS, RST, AGE, CPU,
+      MEMORY), preventing horizontal table sprawling on standard
+      terminals unless explicitly requested with
+      --show-all-columns.
+    - Configuration Schema: Introduced ~/.ktop/config.yaml
+      supporting table column customizations with resolved defaults
+      for metrics collection and logging.
+    - Automatic Persistence: Column selections passed via CLI flags
+      (--node-columns, --pod-columns) or modified via the
+      interactive modal automatically persist to
+      ~/.ktop/config.yaml.
+    - Modal Event Isolation: Isolated modal input capture so
+      dismissing the column dialog with Esc restores table focus
+      without triggering application-level exit.
+  * Subpage Navigation, Sorting & UI Consolidation
+    - Shared Table Controller: Extracted reusable
+      ui.TableController encapsulating sort toggling, shortcut key
+      binding, slash / filter lifecycle, and scroll titles.
+    - Node Detail Pods Sorting & Filtering: Enabled interactive
+      column sorting (c CPU, m MEM, n NAMESPACE, p POD, s STATUS, r
+      RESTARTS, d READY, a AGE) and / slash filtering on the Node
+      Detail Pods table.
+    - Header Shortcut Collision Fix: Renamed Node Detail Pods
+      second column from NAME to POD, matching the Overview page
+      and fixing the hotkey collision on 'N' with NAMESPACE.
+    - Format Consolidation: Unified detail formatting utilities
+      (FormatCPU, FormatMemory, FormatDuration, FormatEventAge,
+      Truncate, AdaptiveRateMax, CycleFocus) into ui/format.go.
+  * Performance & Scraper Optimizations
+    - Scraper Loop Deduplication: Eliminated duplicate background
+      scrape goroutines in KubernetesScraper, halving proxy scrape
+      traffic to node kubelets and cAdvisor endpoints.
+    - O(S) Pod Metrics Aggregation: Rewrote GetAllPodMetrics from
+      an O ( N ns × N pods × N series ) Cartesian scan into a
+      single-pass O ( S ) aggregation grouped by (namespace, pod,
+      container).
+    - Node Metric Query Deduplication: Reused existing node metrics
+      during overview and summary refresh cycles to avoid duplicate
+      queries.
+    - Pod-to-Node Indexing: Pre-indexed pods by Spec.NodeName in O
+      ( P ) when constructing node models.
+    - Sparkline Memory Leak Fix: Added automatic eviction of
+      deleted pods and nodes from memory sparkline maps.
+    - InitContainer Metric Correctness: Corrected CPU request
+      accounting in GetPodContainerSummary for pods configured with
+      init containers.
+    - Informer Resilience & RBAC Fallback: Replaced background
+      informer sync panics with graceful error recovery, supporting
+      namespace-scoped RBAC clusters.
+    - TUI Concurrency Deadlock Fix: Switched refresh queue delivery
+      to non-blocking sends and debounced filter inputs to
+      eliminate UI freezes.
+  * Codebase Simplification & Toolchain Modernization
+    - Dead Code Removal: Removed unused views/pod/logs.go and
+      deprecated metrics informer/lister infrastructure in k8s/.
+    - Direct Metric Summation: Eliminated redundant
+      v1beta1.PodMetrics round-trip conversion in
+      MainPanel.refreshPods.
+    - Go 1.27 Toolchain: Upgraded module toolchain to Go 1.27
+      across go.mod, Dockerfile, and GitHub Actions workflows.
+    - Standard Library Idioms: Modernized codebase to use
+      slices.Sort, slices.Contains, slices.Clone, and standardized
+      error wrapping with %w.
+    - Multi-OS CI Matrix: Expanded GitHub Actions CI test suite to
+      validate builds and tests across Linux, macOS, and Windows
+      (windows-latest).
+
+-------------------------------------------------------------------

Old:
----
  ktop-0.5.3.obscpio

New:
----
  ktop-0.6.0.obscpio

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ktop.spec ++++++
--- /var/tmp/diff_new_pack.mVBgJr/_old  2026-11-06 20:03:16.824582462 +0100
+++ /var/tmp/diff_new_pack.mVBgJr/_new  2026-11-06 20:03:16.830582713 +0100
@@ -17,14 +17,14 @@
 
 
 Name:           ktop
-Version:        0.5.3
+Version:        0.6.0
 Release:        0
 Summary:        A top-like tool for your Kubernetes clusters
 License:        Apache-2.0
 URL:            https://github.com/vladimirvivien/ktop
 Source:         ktop-%{version}.tar.gz
 Source1:        vendor.tar.gz
-BuildRequires:  golang(API) >= 1.24
+BuildRequires:  golang(API) >= 1.27
 
 %description
 A top-like tool for your Kubernetes cluster.
@@ -46,6 +46,10 @@
 # Install the binary.
 install -D -m 0755 %{name} %{buildroot}/%{_bindir}/%{name}
 
+%check
+# make sure the binary is a proper executable
+%{buildroot}/%{_bindir}/%{name} --help
+
 %files
 %doc README.md
 %license LICENSE

++++++ _service ++++++
--- /var/tmp/diff_new_pack.mVBgJr/_old  2026-11-06 20:03:16.882584891 +0100
+++ /var/tmp/diff_new_pack.mVBgJr/_new  2026-11-06 20:03:16.889585184 +0100
@@ -1,9 +1,9 @@
 <services>
   <service name="obs_scm" mode="manual">
-    <param name="url">https://github.com/vladimirvivien/ktop</param>
+    <param name="url">https://github.com/vladimirvivien/ktop.git</param>
     <param name="scm">git</param>
     <param name="exclude">.git</param>
-    <param name="revision">v0.5.3</param>
+    <param name="revision">refs/tags/v0.6.0</param>
     <param name="versionformat">@PARENT_TAG@</param>
     <param name="changesgenerate">enable</param>
     <param name="versionrewrite-pattern">v(.*)</param>

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.mVBgJr/_old  2026-11-06 20:03:16.940587320 +0100
+++ /var/tmp/diff_new_pack.mVBgJr/_new  2026-11-06 20:03:16.946587571 +0100
@@ -1,6 +1,8 @@
 <servicedata>
 <service name="tar_scm">
                 <param 
name="url">https://github.com/vladimirvivien/ktop</param>
-              <param 
name="changesrevision">741794d89c63c4e9898e31d14799317ee4aa7cfb</param></service></servicedata>
+              <param 
name="changesrevision">741794d89c63c4e9898e31d14799317ee4aa7cfb</param></service><service
 name="tar_scm">
+                <param 
name="url">https://github.com/vladimirvivien/ktop.git</param>
+              <param 
name="changesrevision">d57cd4d5f2ebbee23e9d97263db8ca10c4bf5579</param></service></servicedata>
 (No newline at EOF)
 

++++++ ktop-0.5.3.obscpio -> ktop-0.6.0.obscpio ++++++
++++ 10181 lines of diff (skipped)

++++++ ktop.obsinfo ++++++
--- /var/tmp/diff_new_pack.mVBgJr/_old  2026-11-06 20:03:17.338603988 +0100
+++ /var/tmp/diff_new_pack.mVBgJr/_new  2026-11-06 20:03:17.349604448 +0100
@@ -1,5 +1,5 @@
 name: ktop
-version: 0.5.3
-mtime: 1768175176
-commit: 741794d89c63c4e9898e31d14799317ee4aa7cfb
+version: 0.6.0
+mtime: 1793934631
+commit: d57cd4d5f2ebbee23e9d97263db8ca10c4bf5579
 

++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/ktop/vendor.tar.gz 
/work/SRC/openSUSE:Factory/.ktop.new.3759290/vendor.tar.gz differ: char 29, 
line 1

Reply via email to