# docs/CHANGELOG.md # Changelog All notable changes to this project will be documented in this file. The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). This project adheres to [Semantic Versioning](https://semver.org/). --- ## [0.1.0] - 2025-11-04 ### Added - Initial release of **Video Tools CLI** - `convert-single` command: - Converts a single input file (AVI, MPG, MKV, MOV, etc.) into MP4 - Uses FFmpeg with modern compression (`libx264`, `AAC`, CRF 18) - Automatically corrects timestamps (`-fflags +genpts`) - Outputs to `~/Videos` - `convert-multiple` command: - Merges multiple video inputs into one MP4 - Re-encodes using same compression settings - Creates and cleans temporary file lists automatically - Config system (`config/config.json`) with optional `jq` parsing - Version tracking via `VERSION` file - Color-coded CLI feedback for INFO, WARN, ERROR, OK - Graceful error handling with safe exits and cleanup - Compatible with: - Linux (bash/zsh/fish shells) - Windows (via Git Bash or WSL) ### Documentation - `docs/README.md` — general usage and installation guide - `docs/CLI_Functions.md` — detailed command reference - `docs/Conversion_Settings.md` — technical breakdown of FFmpeg defaults - `docs/Upscale.md` — planned module outline for future upscaling support ### Build System - `Makefile` with: - `install` / `uninstall` / `verify` / `docs` / `help` targets - Version-aware output and FFmpeg dependency check - Installs both binary and documentation to system paths --- ## Planned for [0.2.0] ### Added - `upscale-video` command: - FFmpeg `lanczos` scaling for 720p / 1080p / 4K - Optional H.265 (HEVC) encoding for smaller files - `convert-batch` for folder-wide conversions - JSON-driven override for per-run configuration (custom CRF, bitrate, etc.) - Optional parallel encoding support - Automatic codec detection before re-encoding ### Improvements - More detailed progress bar during FFmpeg execution - Unified cross-platform installer for Windows (PowerShell script) - Expanded error handling and logging to `logs/` directory --- End of File