# Changelog

All notable changes to this project will be documented in this file.

## [v0.8.4] - 2026-03-06

### 🐛 Bug Fixes

- Fixed and issue with cossh not using the inventory defined profile when running ssh in direct mode.

### 📚 Documentation

- Update order of main readme

<!-- generated by git-cliff -->

## [v0.8.3] - 2026-03-06

### 🚀 Features

- Enhance RDP password handling with fallback notices and support for vault integration

### 🐛 Bug Fixes

- Made it so when vault fails to unlock it cossh falls back to standard ssh prompt.

### ⚙️ Miscellaneous Tasks

- Updated agents.md to be more specific about making sure to not leak sensitive info

<!-- generated by git-cliff -->

## [v0.8.2] - 2026-03-05

### 🐛 Bug Fixes

- Fixed issues with zsh script from a failed stash merge
- Inventory include loading issue and added better debugging to help find issues with loading inventory

### 📚 Documentation

- Added first draft of AGENTS.md to help control and put guardrails up for AI coding agents.

### ⚙️ Miscellaneous Tasks

- Updated gitignore to ignore the wiki

<!-- generated by git-cliff -->

## [v0.8.1] - 2026-03-05

### 🚀 Features

- Update shell completion and CLI argument parsing for improved functionality

### 🐛 Bug Fixes

- Fixed auto complete code that got messed up during a stash merge

### ⚙️ Miscellaneous Tasks

- Release v0.8.0 ([#63](https://github.com/karsyboy/color-ssh/pull/63))
- Fixed fmt failure

<!-- generated by git-cliff -->

## [v0.8.0] - 2026-03-04

### 🚀 Features

- *(pass)* Replace GPG pass keys with custom .key encryption

### 💼 Other

- Revert "feat(pass): Replace GPG pass keys with custom .key encryption"

### ⚙️ Miscellaneous Tasks

- Updated screenshot

### 🛡️ Security

- Ship v0.8.0 with breaking CLI/vault migration, inventory-first hosts, and RDP support ([#62](https://github.com/karsyboy/color-ssh/pull/62))

<!-- generated by git-cliff -->

## [v0.7.1] - 2026-02-24

### 🐛 Bug Fixes

- *(logging)* Implement private directory and file permissions for debug and SSH logs
- *(auth)* Stop exposing SSH passwords via SSHPASS env by using sshpass -d FD transport
- *(security)* Harden command execution, secret handling, and terminal safety

### ⚙️ Miscellaneous Tasks

- Release v0.7.0 ([#58](https://github.com/karsyboy/color-ssh/pull/58))
- Remove SSH passphrase handling scripts

<!-- generated by git-cliff -->

## [v0.7.0] - 2026-02-24

### 🚀 Features

- *(auth)* Implement password auto-login feature using #_pass key in SSH config
- *(pass)* Add interactive pass key creation and CLI support
- Implement #_pass prompt feature with TUI integration
- *(auth)* Enhance GPG passphrase handling and add context-aware skip resolution

### 🐛 Bug Fixes

- *(docs)* Remove outdated sshpass auto-login instructions from README
- *(docs)* Update README to clarify SSH auto-login requirements and remove outdated pass key creation instructions

### 🚜 Refactor

- *(pass)* Streamline pass key handling and remove unused states

### ⚙️ Miscellaneous Tasks

- Bump version to 0.7.0 in Cargo.toml

<!-- generated by git-cliff -->

## [v0.6.6] - 2026-02-23

### 🐛 Bug Fixes

- *(tui)* Undo commit a83316c as it had unexpected behavior to nano and other terminal apps.
- *(tui)* Improve mouse selection behavior and clipboard handling

<!-- generated by git-cliff -->

## [v0.6.5] - 2026-02-23

### 🚜 Refactor

- Simplify color style handling in terminal tab rendering

<!-- generated by git-cliff -->

## [v0.6.4] - 2026-02-23

### 🚀 Features

- *(highlighter)* Introduce ANSI color state management for chunk processing

### 🐛 Bug Fixes

- *(tui)* Update mouse selection behavior to include Shift modifier and improve key event encoding

### 🚜 Refactor

- Added unit tests for various components and refactor test organization
- Simplify color handling by removing theme loading and related code

### ⚙️ Miscellaneous Tasks

- Bump deps and switch to DefaultTerminal for ratatui

<!-- generated by git-cliff -->

## [v0.6.3] - 2026-02-20

### 🚀 Features

- *(tui)* Added mouse and keyboard controls for the quick connect menu and made enhancements to the user interactions
- *(tui)* Added text editing when using the terminal search or the host search

### 🐛 Bug Fixes

- *(tui)* Added handling for paste events so that when a user paste text its sent as one big chunk
- *(tui)* Fixed past when in a TUI app within a tab session so that it will paste the whole chunk.

<!-- generated by git-cliff -->

## [v0.6.2] - 2026-02-20

### 🐛 Bug Fixes

- *(tui)* Tree folders will now be sorted alphabetical

<!-- generated by git-cliff -->

## [v0.6.1] - 2026-02-20

### 🐛 Bug Fixes

- *(tui)* Sanitize control characters in terminal cell rendering

<!-- generated by git-cliff -->

## [v0.6.0] - 2026-02-20

### 🚀 Features

- Session manager v0.6.0 ([#48](https://github.com/karsyboy/color-ssh/pull/48))

### 💼 Other

- *(log)* Cleaned up comments
- *(lib)* Cleaned up comments

### 🚜 Refactor

- *(main)* Cleaned up code comments
- *(process)* Cleaned up code comments and variable names
- *(highlighter)* Cleaned up code comments and vars names

### 📚 Documentation

- *(template)* Improved network config template

### ⚙️ Miscellaneous Tasks

- Updated release workflow

<!-- generated by git-cliff -->

## [v0.5.9] - 2026-02-12

### 🐛 Bug Fixes

- *(watcher)* Fixed a bug were the config hot reload would not always work if the file was a full rewrite (Ex. Nano or Fresh saves).
- *(watcher)* Made another change to the config watcher as it was still not detecting atomic writes. It will not watch the config directory and pick up the file change when set as a temp.

### 📚 Documentation

- *(Template)* Change network template formatting for *
- Updated example image
- Wrong image try again
- *(template)* Add new highlight matches to network template.

<!-- generated by git-cliff -->

## [v0.5.8] - 2026-02-11

### 🐛 Bug Fixes

- *(highlighter)* Fixed and issues with the byte offset that was causing raw chunk and clean chunk to be miss aligned and therefore not match the full word when ANSI characters were in the chunk.

<!-- generated by git-cliff -->

## [v0.5.7] - 2026-02-11

### 🐛 Bug Fixes

- *(ssh)* Updated the code for ssh logging to strip the same ANSI escape sequences as the highlighter.

### ⚙️ Miscellaneous Tasks

- Release v0.5.6 ([#43](https://github.com/karsyboy/color-ssh/pull/43))

<!-- generated by git-cliff -->

## [v0.5.6] - 2026-02-11

### 💼 Other

- Dev - Upgrade to version 0.5.6 ([#42](https://github.com/karsyboy/color-ssh/pull/42))

### ⚙️ Miscellaneous Tasks

- Release v0.5.5 ([#41](https://github.com/karsyboy/color-ssh/pull/41))

<!-- generated by git-cliff -->

## [v0.5.5] - 2026-02-03

### 🚜 Refactor

- *(BREAKING)* Changed from colorsh to cossh ([#40](https://github.com/karsyboy/color-ssh/pull/40))

### ⚙️ Miscellaneous Tasks

- Release v0.5.4 ([#39](https://github.com/karsyboy/color-ssh/pull/39))

<!-- generated by git-cliff -->

## [v0.5.4] - 2026-01-31

### 🚜 Refactor

- Removed default value for profile as it was nothing and not needed

### 📚 Documentation

- Updated readmes to be more concise

### ⚙️ Miscellaneous Tasks

- Release v0.5.3 ([#38](https://github.com/karsyboy/color-ssh/pull/38))

<!-- generated by git-cliff -->

## [v0.5.3] - 2026-01-31

### 🚜 Refactor

- [**breaking**] Changed command from csh to colorsh ([#37](https://github.com/karsyboy/color-ssh/pull/37))

### 📚 Documentation

- Added uninstall section to the readme

### ⚙️ Miscellaneous Tasks

- Release v0.5.2 ([#36](https://github.com/karsyboy/color-ssh/pull/36))

<!-- generated by git-cliff -->

## [v0.5.2] - 2026-01-30

### 💼 Other

- Add option for background colors to the config ([#35](https://github.com/karsyboy/color-ssh/pull/35))

### ⚙️ Miscellaneous Tasks

- Updated workflow so that when watching main it will only look at src or Cargo.toml to open a release-plz pull request
- Update dependabot to not open pull request for github action updates.

<!-- generated by git-cliff -->

## [v0.5.1] - 2026-01-27

### 🚜 Refactor

- Fixed example message in arg helper (#31)

## [v0.5.0] - 2026-01-27

### 🐛 Bug Fixes

- Debug formating issue

### 💼 Other

- V0.5 (#28)

* feat: Hot config reloading well csh is running
feat: debug logging
feat: SSH session logging
feat: SSH logging secret redaction
feat: Launch title
revert: Removed vault features and discontinued work on this
revert: removed TUI features
refactor: cleaned up code layout
chore: Updated dependencies
chore: Updated release workflow
doc: Updated default and network config templates

* revert: Allow bot to update instead

* chore: Update cargo dist

* chore: updated github acction versions

* chore: fix dist github action

* feat: Added zsh and fish auto completion configs

* doc: Added documentation for shell completions extensions

* refactor(logging): enhance observability with comprehensive logging and documentation

- Add log_info, log_warn, log_error methods and macros
- Replace unwrap/expect with proper error propagation throughout codebase
- Add extensive logging for config, process, and SSH lifecycle events
- Implement comprehensive documentation for all modules and functions
- Add named threads and improve log formatting with consistent timestamps
- Fix logging initialization to capture initial config load

* chore: cleanup of emojis

* refactor: improve code quality, error handling, and performance

- Remove duplicate logging initialization in main.rs
- Replace .expect() with proper error handling in config loader
- Add validation for hex color codes and regex compilation
- Optimize ANSI regex compilation using lazy static in SSH logger
- Improve path handling to support non-UTF8 paths in config watcher
- Add defensive logging for index mapping fallback cases in highlighter
- Optimize String capacity allocation for ANSI sequences in highlighter
- Improve hostname extraction using idiomatic .last() method
- Add PID to process error messages for better debugging
- Fix CLI arg flag: change SSH logging from -L to -l for consistency

BREAKING CHANGE: SSH logging flag changed from -L to -l

* feat(config): add profile support

* fix(logging): detect ssh hostname from arguments regardless of position

doc(shell-completion): add sshpass usage information

* doc(main.rs): Fixed code comments for hostname extraction

* fix(highlighter.rs): Fixed index mapping boundary bug in highlighter

* fix(log/ssh.rs): Logic error in SSH logger character filter

* fix(lmacros): fixed logger instance being created on every macro call

* fix(highlighter): rremoved unused variable 'filtered_matches'

* fix(process): Fixed rules being cloned on every chunk

* fix(log/ssh.rs): Fixed issue with ssh log file being repeatedly opened

* refactor: improved logging and code quality

* refactor: improve config access safety and secret redaction performance

* feat: Added support for windows,  macOS (beta), and linux.

* doc(README): Updated main readme to match everything that is new with v0.5

* fix: Fixed all cargo clippy errors

* doc(arg): Adjusted help page command examples

### 📚 Documentation

- Updated network config template
- Updated network template config file and defualt config template

### ⚙️ Miscellaneous Tasks

- Release v0.5.0 (#29)

## [v0.4.1] - 2025-02-08

### 🐛 Bug Fixes

- Corrected bug in debug statement that was not outputing the highlighed chunk but instead the raw chunk a second time.
- Corrected an issue in the regex configuration format and final read format

### 💼 Other

- Updated to v0.4.1

### 📚 Documentation

- Updated change log
- Added comment for regex cleaning

### ⚙️ Miscellaneous Tasks

- Release v0.4.1 (#18)

## [v0.4.0] - 2025-02-08

### 🚀 Features

- Added a rough implementation of hot config reload.

### 💼 Other

- Feat hotreload watcher (#17)

* test: testing getting config hot reload setup with file watcher

* feat: Fully working config hot reload with error tracking and console info out put

This has been picked as best mothod for doing hot config reload for cross platfrom support.

* style: ran cargo ftm to style source code properly
- Prepare to move to version v0.4.0

### 🚜 Refactor

- Changed the configuration hot reload code to use a socket/pipe based call method instead of file monitoring

### ⚙️ Miscellaneous Tasks

- Release v0.4.0 (#16)

## [v0.3.11] - 2025-02-04

### 🐛 Bug Fixes

- Fixed issue with crates.io version being out of sync and therfore code not being correct for version v0.3.9 and v0.3.10. Changing to v0.3.11

### ⚙️ Miscellaneous Tasks

- Release v0.3.11 (#15)

## [v0.3.9] - 2025-02-04

### 🚀 Features

- Added homebrew support using repo karsyboy/homebrew-tap

### 🐛 Bug Fixes

- Updated version to latest pending release version
- Removed windows arm64 support as it does not work with the updater.
- Fixed versioning
- Fix version for workflow

### 💼 Other

- Revert "chore: release v0.3.10 (#11)" (#12)

This reverts commit 9f0495eb1d51e95a12bea91761516b504df0ba5e.

### 📚 Documentation

- Updated CHANGELOG.md mannually

### 🎨 Styling

- Updated github release badge

### ⚙️ Miscellaneous Tasks

- Release v0.3.9 (#10)
- Release v0.3.10 (#11)
- Release v0.3.9 (#13)
- Release v0.3.9 (#14)

## [v0.3.8] - 2025-02-03

### 💼 Other

- Cleaned up and stylized README.md

### 🎨 Styling

- Styled change log versioning
- Updated workflow name for release-plz
- Fixed dependabot by removing bad devcontainer config
- Added badges for release and CI/CD pipeline status
- *(README)* Changed the main heading format
- Updated csh logo
- Moved svg to .resources
- Changed csh.svg to title.svg
- Updated to new title.svg in README
- Added information about default config

### ⚙️ Miscellaneous Tasks

- Release v0.3.8 (#9)

## [v0.3.7] - 2025-02-03

### 🚀 Features

- *(config)* Default configuration will be created if no configuration exist.

### 🎨 Styling

- Change to readme for workflow testing.
- Removed test text at the bottom of the readme
- Changed release to generate an updater file

### ⚙️ Miscellaneous Tasks

- Release v0.3.6 (#6)
- Release v0.3.7 (#7)

## [v0.3.6] - 2025-02-03

### 🐛 Bug Fixes

- Updated more with release plz config
- Pointed workflow back at main now that its only looking for commits with version change in the commit
- Updated a lot of stuff reated to the release
- Accidnetly removed t from runner

### 💼 Other

- Test workflow
- Merge pull request #4 from karsyboy/release-plz-2025-02-02T07-29-58Z

chore: release v0.3.5
- Updated workflow to look at a release branch
- 0.3.6
- 0.3.7

### 🎨 Styling

- Updated CHANGLOG.md
- Cleanup on Cargo.toml
- Updated version in cli module
- Changed package name from colored-ssh to color-ssh

### 🧪 Testing

- Test workflow

### ⚙️ Miscellaneous Tasks

- Release v0.3.5
- Release colored-ssh version 0.3.6

## [v0.3.4] - 2025-02-02

### 🐛 Bug Fixes

- Updated release-plz to it will maybe run the release workflow

### 💼 Other

- Version 0.3.4-alpha

## [v0.3.3] - 2025-02-02

### 🐛 Bug Fixes

- Cargo-dist fixes

## [v0.3.2] - 2025-02-02

### 🐛 Bug Fixes

- Updated release-plz workflow to only do the PR report
- Version not showing proper changing version to 0.3.1
- Updated release please workflow

### 💼 Other

- Merge branch 'main' into release-plz-2025-02-02T05-53-08Z
- Merge branch 'main' into release-plz-2025-02-02T05-53-08Z
- Merge pull request #3 from karsyboy/release-plz-2025-02-02T05-53-08Z

chore: release v0.3.1
- Minor version upgrade

### 🎨 Styling

- Updated to the github template for a bit until everything is in order
- Created changlog file for easy tracking by git cliff
- Added version badge to readme
- Updated CHANGELOG.md

### ⚙️ Miscellaneous Tasks

- Release v0.3.0-alpha.1

## [v0.3.0-alpha] - 2025-02-02

### 🚀 Features

- Added needed files for csh release workflow
- *(Workflow)* Added github workflow for creating PR an processing github release with release-plz
- Added cargo-dist for automated building of packages and installer setup
- Feat:
- added github dependabot feature for cargo and github-actions
- Upgrade versioning in code to version 0.3.0-alpha 🚀

### 🐛 Bug Fixes

- Corrected config template and readme

### 💼 Other

- Upgraded to version 0.2.11
added following features
- better logging
- split code into modules
- better cli argument handling using clap
- and much more cleanup
- Added license and updated Cargo tolm metadata
- Fixed license file duplicate info in Cargo.toml

### 📚 Documentation

- Removed unused entries from .gitignore by @karsyboy
- Removed blank space from .gitignore by @karsyboy

### 🎨 Styling

- Changed package  name to colored-ssh due to crate conflict with name
- Style: Updated Cargo.toml with new github link to colored-ssh
fix: Updated categories due to issue with networking not being a category slug

## [v0.2.10-alpha] - 2025-02-01

### 💼 Other

- First commit
- Fixed all rules not being processed!
- Update README.md
- Update README.md
- Update README.md
- Fixed all rules not being processed!
- Cleaned code and added multi process support with debugging
- Added start of network switch config example
- Updated some docs and other stuff. Moved to version 0.2.1
- Updated code to add better debugging
- More debug clean up
- Disabled debug flag and updated .csh-config
- More stable and accurate version of CSH. Upgraded to version 0.2.10.

<!-- generated by git-cliff -->
