# SSH Click change-log

## Version 0.8.1 (2026-04-20)

- Fixed SSH config parsing so option values can contain `=` characters without being rejected
- Fixed interactive process signal handling to ignore `SIGQUIT` only on platforms where that signal exists
- Thanks to @gschizas for both patch contributions included in this release

## Version 0.8.0 (2026-03-29)

- Modernized packaging and development setup around `pyproject.toml`, `uv` / `hatch`, `ruff`, and a Python `3.10+` baseline
- Reworked both entrypoints so `sshc` and `ssht` share `--config` handling and the `SSHC_CONFIG` environment variable
- Rebuilt `ssht` into a dedicated Textual browser with themed navigation, a richer details inspector, action modals, and higher-level integration coverage
- Added guided TUI management flows for hosts, groups, and SSHClick config metadata
- Polished the TUI details experience with grouped cards, a reworked `Connectivity` tab, and direct arrow-key navigation across tree nodes and host tabs
- Refined TUI chrome with a versioned header, themed scrollbars, and direct edit shortcuts for the current selection
- Added top-level `Include` support in strict read-only mode, with merged logical browsing of included hosts/groups and source tracking
- Reorganized the package into clearer `cli`, `core`, `ops`, and `tui` layers, including a shared mutation layer for CLI and TUI write flows
- Hardened external command execution by removing `os.system`, `shell=True`, and `host install --password`
- Removed the experimental `sshc host test` command
- Expanded higher-level tests and supporting fixtures, including in-memory config rendering support for safer testing

## Version 0.6.1 (2023-06-19)

- FIXED: Creating new group failed because of false check if group already exists
- FIXED: "ssht" command is now properly linked and functional after installation

## Version 0.6.0 (2023-05-20)

- Rework `generate_graph` to work with rich components, so we can remove `prettytable` as dependency
- `prettytable` deprecated and removed as project dependency
- Host testing reworked, implemented host-resolution for non-IP hostnames
- NEW FEATURE - Implemented new Experimental TUI interactive mode
  - can be launched with `sshc tui` or directly with `ssht` command
  - Offers TUI for browsing SSH configuration
  - Currently only shows configurations, editing features on roadmap
  - Allows opening SSH or SFTP session with selected node directly from APP

## Version 0.5.0 (2023-04-17)

- Refactor/extract config groups filtering from `host-list` to SSH_Config
- Updated group mechanism to match host ones, more user-friendly
- Small fixes for typing
- Implement more free style in writing metadata
- Group list added number of hosts and patterns
- Host key install feature (can be used on multiple hosts from config using regex match)
- Fixing poor design on exceptions when getting host/group from config
- Added aliases for `hosts` and `groups` top level commands
- Move inherited parameters processing from `trace_jumphosts`, now done during Config parsing
- Add parsing/generation option to save SSHClick config trough SSH Config file notation (host-style)
- Add command to allow setting/deleting configuration options in SSH config file (`sshc config set/get`)
- Dependencies updated
- Added Changelog and TODO
- Removed `setup.cfg`

## Version 0.4.4 (2022-08-8)

- First release on PyPI
- Removed `PyYAML` dependency
- Updating documentation
- Add feature to allow `host set` command to apply on multiple hosts
- Refactoring for `Poetry` and `pyproject.toml`
- Fixed testing

## Version 0.4.1 (2022-08-2)

- Fix broken type annotation
- Fixes for compatibility of older python3 (`3.7` and newer are supported)

## Version 0.4.0 (2022-08-1)

- First tagged release
- Integrated `rich` formatting
- Added auto-completions for majority of commands and options
- Added host-output style choices via command options and ENV setting
