Skip to content

Releases: kirill-markin/repo-to-text

Release v1.0.0 - First Stable Release 🎉

07 Dec 10:32
3ca1d76

Choose a tag to compare

🎉 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-binary CLI 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

25 Oct 13:35
v0.8.0
8a94182

Choose a tag to compare

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-text

Full Changelog: v0.7.0...v0.8.0

Release v0.7.0: Word Count Splitting Feature

25 May 08:24
v0.7.0
de1c84e

Choose a tag to compare

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: 10000

Improvements & 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_content function for handling content splitting
  • Enhanced load_additional_specs for 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"

19 Apr 10:30
9431ff9

Choose a tag to compare

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.yaml comments 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 🚀

17 Dec 16:27
v0.5.4
1817078

Choose a tag to compare

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

16 Dec 10:00
v0.5.2
0cba359

Choose a tag to compare

🚀 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

16 Dec 07:03
v0.5.1

Choose a tag to compare

🔒 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

16 Dec 00:38

Choose a tag to compare

Major Changes

  • Added --ignore-patterns CLI flag for ignoring specific files/patterns from command line
  • Added support for wildcards in pattern ignores
  • Added .cursorignore file 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_specs function for better consistency
  • Various typing improvements and fixes

Contributors

Special thanks to:

Thanks to:
@AndrewGerstenslager , @himwho , @adorosario

v0.4.4 — interface improvements

02 Nov 19:18
07521f0

Choose a tag to compare

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:

  1. Bump version to 0.4.4
  2. Include all features from the above PRs
  3. Ensure proper GitHub Actions workflow execution

Special thanks to @caffeinum for these valuable contributions! 🙌

v0.4.3 — pyperclip not required

30 Oct 08:00

Choose a tag to compare

  • pyperclip not required
  • success message in terminal