Releases: aayushadhikari7/what-changed
Releases · aayushadhikari7/what-changed
v0.2.2
What's New
Cross-Type Comparison Detection
- Smart detection when comparing incompatible file types (JSON vs Dockerfile, npm vs pip, etc.)
- Shows helpful structure overview instead of meaningless diffs
- Cross-ecosystem dependency detection (npm vs pip vs ruby vs rust vs go)
Improved Renderers
- Git: Shows actual changed files with commit info (no more confusing temp paths)
- Directory: Action-based output (Added/Removed/Modified) instead of risk-based
- Dependencies: Fixed package.json renderer type matching
Demo
- Added demo.gif showcasing key features
- Added demo.tg for termgif recording
Bug Fixes
- CSV vs SQL now correctly triggers cross-type comparison
- Fixed dependencies renderer not matching "package-json" type string
v0.2.1
Initial PyPI release
- Format-specific renderers
- OCR support for PDFs and images
- 25+ file format support
- Git integration
- Interactive TUI
- GitHub Actions for CI/CD
v0.2.0
What's New in v0.2.0
Features
- Format-specific renderers for all file types (config, PDF, OpenAPI, CSV, SQL, Dockerfile, and more)
- OCR support for scanned PDFs and images via Tesseract
- Interactive TUI graph view (
--graph) for exploring changes - Stats dashboard (
--stats) with visual ASCII charts - Content diffing with unified diff output
- Risk-based filtering (
--breaking-only) to focus on critical changes
Improvements
- Graceful error handling for edge cases:
- Password-protected PDFs show clear error messages
- Malformed JSON/YAML display parse errors with line numbers
- Unicode/emoji content fully supported on Windows
- Paginated output for large comparisons (100+ pages)
- Enhanced README with comprehensive documentation
New Files
LICENSE(MIT)examples/directory with before/after test files for all formats- Format-specific renderers in
output/formats/ - Content diff engine (
diff/content_diff.py) - Stats visualization (
output/stats.py)
Supported Formats
| Category | Formats |
|---|---|
| Config | JSON, YAML, TOML, INI, ENV |
| Documents | PDF (with OCR), Markdown, Text |
| API Specs | OpenAPI 3.x, Swagger 2.0 |
| Data | CSV, TSV, Excel |
| Infrastructure | Dockerfile, Docker Compose, SQL |
| Dependencies | package.json, requirements.txt, Cargo.toml, go.mod |
| Media | Images (with OCR), Archives (ZIP, TAR) |
Installation
pip install what-changed[all]Quick Start
# Compare any files
what-changed compare old.json new.json
# Show only breaking changes
what-changed compare config.yaml config.prod.yaml --breaking-only
# Interactive graph view
what-changed compare api-v1.yaml api-v2.yaml --graph