Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
99 lines
5.9 KiB
Markdown
99 lines
5.9 KiB
Markdown
# Changelog
|
|
|
|
## v0.0.21
|
|
|
|
- Ship a zsh completion script built for large caches: 5000 hosts complete in under 0.1 s instead of hanging for seconds with Cobra's generated script.
|
|
- Add `completion.max_results` to limit the number of hostnames offered per completion.
|
|
- Register zsh completion in the managed `.zshrc` block (`fpath` and `compdef`), also when `compinit` already ran, e.g. with oh-my-zsh. The installer reports which completions it set up.
|
|
- Add `netssh uninstall [--keep-config] [--dry-run] [--yes]` to remove the binary, profile entries of all versions, completions, cache, and config (with a private backup).
|
|
- Write marked `# >>> netssh >>>` blocks from `netssh hook install` and the wizard, replacing unmarked entries of older versions instead of appending.
|
|
- Add jump host support: `ssh.proxy_jump` globally, per NetBox instance, and per rule, plus `--jump HOST` and `--no-jump`.
|
|
- Add `ssh.host_key_checking` (`strict`, `accept-new`, `off`) for netssh connections only.
|
|
- Add `ssh.target: name|hostname` so `~/.ssh/config` host patterns apply and known_hosts entries belong to the device, and `ssh.address_family`.
|
|
- Add `ssh.options` and `ssh.extra_args`, and `ssh.rules` that match by tag, instance, kind, or name pattern.
|
|
- Add `netssh --version` / `netssh version` and `netssh --dry-run` to print the final ssh command.
|
|
|
|
## v0.0.20
|
|
|
|
- Configure multiple named NetBox instances and search them together in parallel.
|
|
- Add, edit, and remove instances in the interactive setup wizard while retaining legacy single-instance configuration support.
|
|
- Display instance-qualified hostnames and support `instance/hostname` for SSH, completion, aliases, and notes.
|
|
- Keep credentials, IP resolution, comments, cache entries, and local notes tied to the correct instance.
|
|
- Preserve partial interactive search results with an outage warning; reject incomplete full refreshes and ambiguous direct connections.
|
|
- Add `cache refresh --instance NAME` and isolate caches when configured endpoints change.
|
|
- Add regression tests covering duplicate names and IDs across instances, outages, SSH routing, notes, aliases, and configuration round trips.
|
|
|
|
## v0.0.19
|
|
|
|
- Update Ultraviolet to commit `a45b7c8`.
|
|
|
|
## v0.0.18
|
|
|
|
- Require Go 1.27.3 and migrate Bubbles, Bubble Tea, Huh, and Lip Gloss to their v2 modules under `charm.land`.
|
|
- Update TUI rendering and keyboard events for Bubble Tea v2 while preserving alternate-screen behavior.
|
|
- Route paste events to the focused editor, size input fields explicitly, and keep host lists within the terminal height.
|
|
- Reject ambiguous cached shortcuts and skip duplicate hostnames during cache refresh.
|
|
- Use paginated, unambiguous host lookups for SSH connections.
|
|
- Accept shortcut domains with or without a leading dot during cold lookups.
|
|
- Parse combined SSH options and preserve explicit users and ports supplied through `-o`.
|
|
- Merge cache changes under a file lock to preserve updates from concurrent processes.
|
|
- Honor configured resolver strategies during refresh and remove entries that no longer resolve safely.
|
|
- Check the host kind before reusing a cached IP for a TUI selection.
|
|
|
|
## v0.0.17
|
|
|
|
- Update Go module dependencies to the latest versions within their existing module paths, including used transitive test dependencies.
|
|
- Remove obsolete indirect requirements and refresh module checksums with `go mod tidy`.
|
|
|
|
## v0.0.16
|
|
|
|
- Enable Bash, Zsh, and Fish completion for the configured command alias, such as `j`.
|
|
- Update or remove generated alias completion files when the command alias changes.
|
|
|
|
## v0.0.15
|
|
|
|
- Use `https://git.zb-server.de` for release download links and API requests instead of the runner's internal Gitea service URL.
|
|
|
|
## v0.0.14
|
|
|
|
- Enable Renovate updates for indirect Go modules as well as direct dependencies and CI actions.
|
|
- Enable Go version updates and keep Go module metadata tidy after dependency updates.
|
|
- Correct direct and indirect dependency declarations in `go.mod`.
|
|
- Include `install.sh` as a downloadable release asset.
|
|
- Include the installer in `checksums.txt` alongside the platform binaries.
|
|
- Link the installation command in release notes directly to the release's installer asset.
|
|
- Generate a change list from commits since the previous version tag for every release.
|
|
|
|
## v0.0.13
|
|
|
|
- Translate the remaining German setup message and test example into English.
|
|
- Correct the connection editor comment to reference `Ctrl+E`.
|
|
|
|
## v0.0.12
|
|
|
|
- Support updating an existing installation by running the installer again.
|
|
- Remove the installer's Python dependency.
|
|
- Require valid SHA-256 checksums before replacing the binary.
|
|
- Check required programs before downloading and list missing dependencies.
|
|
- Check for `sudo` before downloading when the installation directory requires elevated permissions.
|
|
- Consolidate legacy shell hooks and aliases in Bash, Zsh, and Fish profiles.
|
|
- Back up changed profiles and preserve symlinks and file permissions.
|
|
- Regenerate aliases and completions during installation and updates.
|
|
- Add a configurable command alias, such as `j`, to the setup wizard.
|
|
- Refresh or remove the generated command alias when its configuration changes.
|
|
|
|
## v0.0.11
|
|
|
|
- Add multiline local server notes and optional NetBox comments in the TUI.
|
|
- Add CLI commands to show, replace, and append server notes.
|
|
- Keep local notes separate from the host cache, with private permissions and atomic writes.
|
|
- Use NetBox ETags for comment conflict protection when supported by the server.
|
|
- Correct authentication for NetBox v2 tokens.
|
|
- Fix environment variable overrides for configuration keys.
|
|
- Preserve usage history when refreshing cached hosts.
|
|
- Discard stale TUI search results and use `Ctrl+E` for connection editing.
|
|
- Validate port overrides and preserve an explicit port 22.
|
|
- Resolve stale and live TUI selections through the configured resolver chain.
|
|
- Reject incomplete full cache refreshes and avoid marking filtered refreshes as full refreshes.
|
|
- Stop interpreting remote command flags as SSH options when applying defaults.
|