Files
HostKeeper/CHANGELOG.md
T

70 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Changelog
## [Unreleased] — 2025-01-31
### Fixed
- TUI host list footer now includes `Ctrl+E:edit`
- New hosts/keys/snippets created via TUI form now get UUID + timestamps (`CreatedAt`, `UpdatedAt`)
- Storage layer auto-generates UUID + timestamps on save if empty (defense-in-depth)
- **host_form_tab.go**: Space/Left/Right keys now passthrough to text input when not on auth type field (fixes typing spaces and cursor navigation)
- **tui.go**: Key and snippet list tabs now properly refresh after save/delete (mirrors host flow)
- **tabs.go**: WindowSizeMsg now forwarded to ALL tabs, not just the active one (fixes stale dimensions after resize)
### Changed
- All tab footers are now context-specific (no global status bar)
- SFTP browser uses full-width panes (`t.width/2`)
- **sftp_browser_tab.go footer**: Added `Enter/→:open`, `←/Backspace:up`
- **form tabs footer**: Added `Shift+Tab:prev`, `↑↓:nav`
### Responsive Layout (In Progress)
- **NEW `responsive.go`**: Shared helpers (`wrapFooter`, `adaptiveSidePad`, `clampWidth`, `truncateStr`)
- Footer auto-wraps to multi-line when terminal is narrow (full labels preserved)
- Box width clamped to terminal width — no more overflow
- Host/key/snippet rows truncated with `…` when names are too long
- SFTP panes stack vertically when terminal < 50 cols
- Tab bar truncates tab names on overflow
- Form contentW minimum lowered to 30 for mobile (Termux)
- Breakpoints: compact (<60), medium (60100), wide (≥100)
## v1.0.0 (2025-01-30)
### Added
- Initial release of Hostkeeper SSH/SFTP management tool
- **Host management**: CRUD operations for SSH hosts (add, list, edit, delete)
- **SSH connections**: Native SSH (default) and Go SSH direct mode
- **TUI interface**: Interactive host browser using Bubble Tea
- **Export/Import**: JSON export and import with merge/replace strategies
- **Cross-platform builds**: Support for Linux, macOS, Windows, Termux
- **Shell completion**: Bash, Zsh, Fish, and PowerShell support
- **Configuration**: File-based credential storage with `0600` permissions
- **Tag and group**: Host categorization with tags and groups
- **Search and filter**: Filter hosts by group, tag, or text search
### Commands
- `hostkeeper add` — Add SSH hosts (interactive and flag-based)
- `hostkeeper list` — List hosts with table/JSON output
- `hostkeeper connect` — Connect to hosts with custom timeout
- `hostkeeper edit` — Edit host configurations
- `hostkeeper delete` — Delete hosts with confirmation
- `hostkeeper export` — Export data to JSON
- `hostkeeper import` — Import data with merge/replace
- `hostkeeper tui` — Terminal user interface
- `hostkeeper completion` — Shell completion generation
- `hostkeeper version` — Version information
### Technical
- Cobra CLI framework for command structure
- Bubble Tea TUI with keyboard navigation
- Go SSH client for direct connections
- Comprehensive test suite with unit and integration tests
- Build automation via Makefile and build.sh
### Notes
- Initial MVP release, all core features functional
- Encrypted storage planned for future release
- Interactive shell in Go SSH direct mode not yet available