mirror of
https://github.com/MAKS-IT-COM/maksit-cluster-console.git
synced 2026-09-30 00:38:10 +02:00
4.5 KiB
4.5 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
[0.4.2] - 2026-08-21
Fixed
- Switching kubectl current-context only patches
current-contextand never writes siblingconfig.bak.*files (Lens treats those as extra kubeconfigs). Blank cluster/user names reuse existing context entries (or match the context name) instead of creating{name}-cluster/{name}-userorphans. Structural kubeconfig saves also skip.baksiblings for the same reason. - ConfigMap and Secret Data editors accept multiline values and multiline paste via a dedicated value box under the key list.
[0.4.1] - 2026-08-21
Fixed
- Staying on Pods (or any resource table) now picks up cluster changes on the automatic refresh. The grid previously only updated after leaving and returning to the view.
- Logs Follow tails new pod lines instead of hanging on the snapshot request, and turning Follow off no longer races the live stream into the log text.
[0.4.0] - 2026-08-20
Added
- Resource table column filters, row sort, widths, and search are stored per cluster in
appsettings.json(Configuration:Layout:Tables).
Fixed
- Switching clusters no longer resets table column filters or sort order.
[0.3.0] - 2026-08-20
Changed
- Catalog radios set kubectl current-context. The asterisk marker and Connections Use for kubectl button are gone.
[0.2.1] - 2026-08-20
Fixed
- Resource table IP columns (Cluster IP, External IP) sort as addresses, not text (
10.1.1.2before10.1.1.10).
[0.2.0] - 2026-08-20
Added
- Status-bar messages for port-forward start, stop, restore, and failure.
- Local / Remote labels on the port-forward bar so the two port fields are explicit.
- Rebind the host port of an existing forward from Network → Port Forwarding (Local field + Rebind).
- Double-click a live port-forward in Network → Port Forwarding to open
http://127.0.0.1:{local}in the default browser.
Changed
- Active port-forwards are listed in Network → Port Forwarding (stop from the table). They are no longer shown in the status bar.
- Resource table footer, YAML/Data edit bars, and workload limit apply buttons show only for a selected row that can use them. Empty toolbars are hidden.
- Enabled port-forwards are saved in
appsettings.json(Configuration:PortForwards) and restored when a cluster reconnects.
Fixed
- Service port-forward resolves a backend pod from
spec.selectorand maps the service port totargetPort, matching kubectl. - Service related-pods follow
spec.selectoronly, so Helm siblings (for example Longhorn CSI vs UI) are not mixed; namedtargetPortis resolved on a pod that actually declares it. - Port-forward tunnels use the Kubernetes port-forward multiplex protocol (
StreamType.PortForward, channel 0, one stream per local connection) instead of exec stdin/stdout. - Port Forwarding Remote is the requested service/pod port (for example
80), not the mapped container port (8000for Longhorn UI). Openhttp://127.0.0.1:{local}. - Port-forward listens on both IPv4 and IPv6 loopback so
localhostworks on Windows. The IPv6 listener is IPv6-only so it does not collide with IPv4 on Windows. - Port-forward opens multiplex streams before starting the demuxer, then copies with blocking socket I/O, matching the Kubernetes C# client port-forward example.
- Persisted port-forwards re-resolve a Running pod by Service/workload owner or stable labels after replica recreation, including on each new local connection.
[0.1.1] - 2026-08-19
Fixed
- Release engine reads
<Version>fromsrc/Directory.Build.propswhen the UI csproj has none. - Warnings no longer treat k3s
EtcdIsVoter=Trueas unhealthy; onlyFalse(learner / non-voter) is raised.
[0.1.0] - 2026-08-19
Added
- First public release of MaksIT.ClusterConsole, an Avalonia Kubernetes desktop console (catalog, navigator, tables, YAML apply, logs, exec, port-forward), licensed under Apache 2.0.
- Cluster access through the official KubernetesClient and the same kubeconfig/RBAC as kubectl, including an in-process connections editor.
- Helm releases, Dapr CRDs, Applications view, force-delete, volume file browse, resource-limit patches, and a read-only local Ollama Chat tab.
See README.md for the full feature list.