github nklmilojevic/sofka v0.35.0

latest release: v0.35.1
one hour ago

sofka 0.34.0 adds a context picker key, line copy in logs and documents, and :config edit. It also fixes actions that hit the wrong target, lost failure messages, and credential leaks in files and terminal output.

New features

  • Adds a contexts table action. It opens the context picker and is unbound by default. Set a key under [keys.table] to use it.
  • Adds V to select a range of lines in logs, YAML, describe, diff, and events. Press y to copy the selected lines.
  • Adds :config edit to open a config file in your editor. sofka reloads the config when the editor closes.
  • Adds Terraform support in the Flux views for tofu-controller. Use t to reconcile, suspend, or resume a Terraform. The list shows the applied revision and the plan state.
  • Keeps the status colors on the cursor row in resource tables. You can read the status of a pod while the cursor is on it.
  • Publishes a Sigstore bundle with each release and signs SHA256SUMS. The release package guide shows how to verify a download.

Fixes

  • Keeps action menu targets when rows change. Enter acts on the object that the menu opened for. The saved targets clear when the menu closes.
  • Keeps the delete confirmation resource kind stable. A namespace lookup no longer changes the view during a delete.
  • Shows action failures after a refresh or view change. The status bar no longer hides them.
  • Saves bundles as private files. Masks known credential patterns in pod logs and in literal environment values with credential names.
  • Passes values in imported k9s shell scripts as arguments. A value can no longer run as a command. sofka warns when a script needs manual changes.
  • Quits cleanly on SIGTERM and SIGHUP. The terminal is restored before sofka exits.
  • Merges namespace and sort changes from each process. One process no longer erases the changes of another.
  • Removes credentials and control characters from text printed to the terminal, such as startup errors and plugin output.
  • Keeps the selected pod in the faults view during bursts of watch updates.
  • Ends kubectl options before resource and context names. A name that starts with - no longer changes the active context.
  • Uses the configured drill for Cluster API MachineDeployments when you press Enter. Machines stays the default when no drill is set.
  • Opens the default layout when you select a resource that names no layout.
  • Resolves HelmRelease dependsOn entries as HelmReleases in the GitOps view. Before, they showed as Kustomizations.

Other changes

  • Replaces the fs2 dependency with standard library file locks. The minimum Rust version is now 1.89.
  • Explains that :events follows the current namespace. Press 0 to show all namespaces.

What's Changed

  • chore(deps): lock file maintenance by @homelab-crafter[bot] in #1000
  • chore(deps): lock file maintenance by @homelab-crafter[bot] in #999
  • chore(deps): update taiki-e/install-action action to v2.89.0 by @homelab-crafter[bot] in #998
  • chore(deps): update github actions by @homelab-crafter[bot] in #1001
  • chore(deps): update taiki-e/install-action action to v2.90.3 by @homelab-crafter[bot] in #1003
  • chore(deps): lock file maintenance by @homelab-crafter[bot] in #1009
  • chore(deps): lock file maintenance by @homelab-crafter[bot] in #1010
  • fix: compile benchmark targets in CI by @nklmilojevic in #1013
  • fix: save private bundles and mask log and env credentials by @nklmilojevic in #1016
  • test: check Helm action arguments through an injected runner by @nklmilojevic in #1024
  • docs: correct the event channel and module layout by @nklmilojevic in #1031
  • fix: report action failures after view changes by @nklmilojevic in #1017
  • chore: replace fs2 with standard file locks by @nklmilojevic in #1032
  • fix: keep action menu targets when rows change by @nklmilojevic in #1015
  • fix: keep delete confirmation resource kinds stable by @nklmilojevic in #1019
  • fix: pass imported shell placeholders as arguments by @nklmilojevic in #1022
  • fix: quit cleanly on termination signals by @nklmilojevic in #1018
  • fix: merge remembered namespace and sort changes across processes by @nklmilojevic in #1021
  • fix: sanitize text printed to the terminal by @nklmilojevic in #1028
  • test: assert delete request bodies by @nklmilojevic in #1027
  • fix: restore faults selection once per message batch by @nklmilojevic in #1025
  • fix: end kubectl options before resource and context names by @nklmilojevic in #1014
  • fix: honor configured drills for MachineDeployments by @nklmilojevic in #1023
  • docs: explain bundle credential redaction limits by @nklmilojevic in #1033
  • test: check palette commands against the key reference by @nklmilojevic in #1030
  • fix: clear action menu targets on palette acceptance by @nklmilojevic in #1034
  • fix: open the default layout when a resource is selected without one by @nklmilojevic in #1035
  • docs: say that :events follows the current namespace by @nklmilojevic in #1043
  • chore: check macOS and Windows in pull requests by @nklmilojevic in #1029
  • feat: add a configurable contexts table action by @nklmilojevic in #1045
  • feat: keep status colors on the cursor row in resource tables by @nklmilojevic in #1046
  • fix: resolve HelmRelease dependsOn as HelmReleases in the GitOps view by @nklmilojevic in #1047
  • feat: publish the Sigstore bundle with each release and attest SHA256SUMS by @nklmilojevic in #1044
  • feat: open config files in $EDITOR with :config edit by @nklmilojevic in #1048
  • feat: select and copy a range of lines in logs and document views by @nklmilojevic in #1051
  • feat: support tofu-controller Terraform resources in the Flux views by @nklmilojevic in #1049

Full Changelog: v0.34.0...v0.35.0

Don't miss a new sofka release

NewReleases is sending notifications on new releases.