# 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.2] - 2025-11-06 ### Added - Relative path headers (`# docs/...`) restored to the top of all documentation files for readability and navigation. - Updated documentation to reflect: - `videoinfo` and `--verbose` functionality. - Logging directory structure with ISO timestamps and `latest.log` symlink. - Cross-platform (Linux/Windows) compatibility details. - Added clarification on the `--hi-rate` and `--portable` profiles in `docs/CLI_Functions.md`. - Added reference to computed bitrate fallback in the upcoming version roadmap. ### Changed - Documentation standardized for plain-text (Gitea-safe) format. - Minor corrections to examples and paths in `README.md` and `CLI_Functions.md`. - Clarified usage of `convert-multiple` and quoting rules for paths with spaces. - Improved layout consistency across all docs for version parity. ### Planned for 0.1.3 - Computed fallback bitrate in `videoinfo` for older containers (AVI, WMV, MPG). - Colorized technical output for clarity. - Header profile label display (Default / High Rate / Portable). - Automatic configuration detection improvements. --- ## [0.1.1] - 2025-11-05 ### Added - `--hi-rate` and `--portable` profile options: - High-rate: CRF 14, preset `veryslow`, 320 kbps audio - Portable: CRF 24, preset `faster`, 128 kbps audio - `videoinfo` command: - Displays concise technical details (duration, codecs, resolution, FPS, bitrate, etc.) - `--verbose` flag outputs full `ffprobe` metadata for debugging - Automatic log directory: - `~/.local/share/video-tools/logs/` with ISO-timestamped filenames - Symlink `latest.log` points to the newest log - Conversion summary now includes bitrate, FPS, elapsed time, and mux overhead - Cross-platform compatibility confirmed for Linux and Windows (Git Bash / WSL) ### Changed - Improved `convert-multiple` handling of spaced file paths - Cleaner and color-coded CLI output - Updated internal default values for logging and error messages - Improved argument parsing for optional profile flags ### Fixed - Resolved “unbound variable output_name” in `convert_multiple` - Fixed missing log directory permissions - Corrected path handling issues on Windows systems - Ensured temporary concat lists are removed after conversion --- ## [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