# Changelog

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

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).

## [0.4.2] - 2026-03-01

### Fixed
- Version mismatch: bumped Cargo.toml version to match release tag, fixing `--update` false positive

## [0.4.1] - 2026-03-01

### Added
- Self-update feature (`tmuxido --update`) to update binary from latest GitHub release

## [0.4.0] - 2026-03-01

### Added
- Self-update feature (`tmuxido --update`) to update binary from latest GitHub release
- New `self_update` module with version comparison and atomic binary replacement
- `--update` CLI flag for in-place binary updates
- Backup and rollback mechanism if update fails

## [0.3.0] - 2026-03-01

### Added
- Dependency check for `fzf` and `tmux` at startup, before any operation
- Automatic Linux package manager detection (apt, pacman, dnf, yum, zypper, emerge, xbps, apk)
- Interactive installation prompt when required tools are missing
- `deps` module with injectable `BinaryChecker` trait for unit testing without hitting the real system
- Integration tests in `tests/deps.rs` (11 tests using real `SystemBinaryChecker`)
- Docker test suite in `tests/docker/` with 15 scenarios simulating a fresh Ubuntu 24.04 user

### Fixed
- Release pipeline `publish` step now reads `DRONE_TAG` via awk `ENVIRON` to prevent Drone's
  `${VAR}` substitution from wiping local shell variables before the shell runs

## [0.2.4] - 2026-03-01

### Fixed
- Coverage percentage calculation in CI (correct field from tarpaulin JSON output)
- Release pipeline trigger now matches `v*` tag format instead of `[0-9]*`

## [0.2.2] - 2026-02-28

### Added
- Coverage badge generated by `cargo-tarpaulin` in CI, hosted in Gitea Generic Package Registry
- CI status, coverage, version, and Rust edition badges in README

## [0.2.1] - 2026-02-28

### Added
- Drone CI pipeline (`ci`) running `cargo fmt --check`, `cargo clippy`, and `cargo test` on every push and pull request

## [0.2.0] - 2026-02-28

### Added
- Unit tests for `cache`, `session`, and `config` modules
- Integration tests for scan, session config, and cache lifecycle

### Changed
- Refactored business logic into `lib.rs` for better testability; `main.rs` is now a thin entrypoint

## [0.1.1] - 2026-02-28

### Fixed
- Removed personal path references from default configuration and examples

## [0.1.0] - 2026-02-28

### Added
- Initial release of tmuxido

