Releases: kirill-markin/repo-to-text
Release v1.0.0 - First Stable Release 🎉
🎉 First Stable Release!
We're excited to announce version 1.0.0 of repo-to-text! This marks the project's maturity with stable functionality, comprehensive test coverage, and active community contributions.
✨ What's New
New Feature: Skip Binary Files
- Added
--skip-binaryCLI option to skip binary file contents in output - Useful for repositories with large binary data that can overwhelm LLMs
- Binary files are marked as "binary content skipped" instead of base64-encoded content
- Thanks to @lacraig2 (Luke Craig) for this contribution! 🙏
📊 Project Stats
- 43 passing tests
- Python 3.9+ support
- CI/CD with GitHub Actions
- Active community contributions
🚀 Usage
```bash
Skip binary files in output
repo-to-text --skip-binary
Or combine with other options
repo-to-text --skip-binary --stdout > output.txt
```
🙏 Contributors
Special thanks to @lacraig2 for the --skip-binary feature!
Full Changelog: v0.8.0...v1.0.0
Release v0.8.0 - Windows Support Fix
What's New in v0.8.0
Windows Support Fix 🪟
Fixed the tree command to work properly on Windows systems. The tool now correctly handles directory tree generation on Windows platforms.
Other Changes
- Refactored cursor rules organization for better project structure
Special Thanks 🙏
A huge thank you to our community contributors who helped make this release possible:
- @qchapp (Quentin) - for reporting issue #26 about the Windows tree command problem
- @sityware - for testing and confirming the fix works on Windows
Your contributions help make repo-to-text better for everyone!
Changes
- Fix tree command for Windows (PR #35, fixes #26)
- Refactor: reorganize cursor rules into .cursor directory
Installation
pip install --upgrade repo-to-textFull Changelog: v0.7.0...v0.8.0
Release v0.7.0: Word Count Splitting Feature
What's New in v0.7.0
🚀 Major Feature: Word Count Splitting
Added support for splitting large output files by maximum word count. This feature helps manage output size when converting large repositories.
Features:
- maximum_word_count_per_file: New configuration option in .repo-to-text-settings.yaml
- Automatically splits output into multiple files when content exceeds the specified word limit
- Split files are named using the convention 'output_filename_part_N.txt'
- Maintains file structure integrity when splitting
Configuration Example:
# Optional: Maximum word count per output file
maximum_word_count_per_file: 10000Improvements & Fixes
- Enhanced error handling in process_line function
- Improved display path in save_repo_to_text output
- Added comprehensive test coverage for word count splitting
- Fixed pylint warnings and improved code quality
- Refactored logging statements for better readability
- Updated CI/CD pipeline with better test coverage
🧪 Testing
- Added extensive test suite for word count splitting functionality
- Tests for edge cases including very small word limits
- Validation for invalid configuration values
- Fixed multiple test assertion issues identified during CI
📖 Documentation
- Updated README.md with detailed word count splitting documentation
- Added configuration examples and usage patterns
- Improved settings file documentation
Technical Changes
- New
generate_output_contentfunction for handling content splitting - Enhanced
load_additional_specsfor configuration validation - Updated save functionality to handle multiple output files
- Improved type annotations throughout codebase
🏗️ Infrastructure
- Fixed GitHub Actions CI pipeline
- Enhanced pylint configuration and error handling
- Updated development dependencies
- Improved test reliability and debugging output
Thanks to @Zhan-Li
Full Changelog: v0.6.0...v0.7.0
v0.6.0 - XML Output Format"
What's Changed
Changed
- Breaking change: Output format changed from markdown code blocks to structured XML format
- Added root
<repo-to-text>tag to wrap the entire output - Changed code blocks to use
<directory_structure>and<content full_path="...">tags - Updated
.repo-to-text-settings.yamlcomments to reflect the new XML format - Enhanced binary file handling with proper Latin-1 encoding
Improved
- Refactored code to use more functional programming patterns
- Added comprehensive type annotations throughout the codebase
- Split large functions into smaller, more focused ones
- Improved error handling and edge cases
- Updated documentation to reflect the new XML-based output format
Release v0.5.4: Code Quality and Performance Improvements 🚀
This release focuses on enhancing code quality, improving performance, and strengthening maintainability of the repo-to-text tool.
🔍 Key Changes
Performance & Architecture
- 🔄 Refactored tree structure generation and filtering logic for better performance
- 🗑️ Improved empty directory handling with new removal logic
- ⚡ Reduced test matrix for more efficient CI/CD pipeline
Code Quality
- 📝 Added pylint configuration to pyproject.toml for consistent code style
- 🧹 Comprehensive linter-driven code cleanup across the codebase
- 🛠️ Fixed issue with too many local variables in load_ignore_specs
- 🔧 General code structure improvements and optimizations
Release v0.5.2: Enhanced Testing & Type Safety
🚀 Major Improvements
- Added support for multiple Python versions in test suite
- Implemented comprehensive workflow tests for CI/CD pipeline
- Enhanced strict typing across the codebase for better reliability
- Improved project configuration with pyproject.toml updates
🔧 Technical Details
- Extended test matrix to cover multiple Python versions
- Added workflow tests to ensure CI/CD reliability
- Implemented strict typing and improved error handling
- Optimized pyproject.toml configuration for better dependency management
🔍 Quality Assurance
- All changes are covered by automated tests
- Type safety improvements help catch potential issues early
- Enhanced CI/CD workflow ensures reliable deployments
v0.5.1
🔒 Security
- Added GPG signature verification for Git tags
- Re-tagged with proper GPG signing for better security verification
📝 Notes
- This is a maintenance release that adds proper GPG signing to the repository tags
- No functional changes from v0.5.0
- Future releases will continue to be properly signed for enhanced security verification
Version 0.5.0
Major Changes
- Added
--ignore-patternsCLI flag for ignoring specific files/patterns from command line - Added support for wildcards in pattern ignores
- Added
.cursorignorefile support
Improvements
- Refactored codebase into logical modules for better maintainability
- Added comprehensive test suite
- Implemented strict typing throughout the codebase
- Improved code organization and structure
Bug Fixes
- Fixed UTC warning in datetime handling
- Refactored
load_ignore_specsfunction for better consistency - Various typing improvements and fixes
Contributors
Special thanks to:
- @AndrewGerstenslager for implementing the ignore patterns feature
- @himwho for code improvements and fixes
Thanks to:
@AndrewGerstenslager , @himwho , @adorosario
v0.4.4 — interface improvements
This release includes several important features contributed by @caffeinum:
- Accept input directory as first parameter (#8)
- Add pipe output feature (#10)
- Add aliases for repo-to-text and --create-settings (#12)
Changes in this release:
- Bump version to 0.4.4
- Include all features from the above PRs
- Ensure proper GitHub Actions workflow execution
Special thanks to @caffeinum for these valuable contributions! 🙌
v0.4.3 — pyperclip not required
- pyperclip not required
- success message in terminal