VideoTools/docs/CHANGELOG.md

114 lines
4.3 KiB
Markdown

# 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