Skip to content

Changelog

All notable changes to path-comment-hook are documented here.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Changelog

All notable changes to path-comment-hook will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

Added

  • GitHub Issue and Pull Request templates
  • Comprehensive security policy (SECURITY.md)
  • Professional contributing guidelines (CONTRIBUTING.md)
  • EditorConfig for consistent coding standards
  • Development scripts for documentation
  • Automated changelog maintenance

Changed

  • Updated project infrastructure to enterprise standards
  • Enhanced documentation with professional polish

Security

  • Resolved all CodeQL security warnings
  • Improved error handling and input validation

[0.1.0] - 2025-06-22

Added

  • Core Functionality
  • Path comment injection with run command
  • Path comment deletion with delete command
  • Configuration display with show-config command
  • Comprehensive CLI with Typer framework
  • ASCII art branding and welcome message

  • File Processing

  • Intelligent file type detection (10+ languages)
  • Binary file detection and skipping
  • Shebang handling for script files
  • Cross-platform line ending preservation (LF/CRLF)
  • Atomic file writes for safety
  • Encoding detection with UTF-8 preference and chardet fallback

  • Configuration System

  • TOML configuration in pyproject.toml
  • 52 default ignore patterns (VCS, build artifacts, IDEs)
  • Custom comment style mapping
  • Exclude patterns with glob support
  • Smart defaults for common project types

  • Performance & Reliability

  • Parallel processing with ThreadPoolExecutor
  • Progress bars for bulk operations
  • Concise output for --all operations
  • Memory-efficient file handling
  • Comprehensive error handling

  • CLI Experience

  • Auto-discovery mode with --all flag
  • Check mode for validation without changes
  • Verbose output with detailed summaries
  • Help system with -h and --help support
  • Professional error messages and feedback

  • Developer Experience

  • Pre-commit hook integration
  • 152 comprehensive tests (unit + integration)
  • Cross-platform CI/CD (Ubuntu, Windows, macOS)
  • Real-time coverage monitoring via Codecov
  • Security scanning with CodeQL
  • Automated dependency management with Dependabot

  • Documentation

  • Complete MkDocs site with Material theme
  • GitHub Pages deployment
  • Comprehensive user guides and examples
  • API reference documentation
  • Installation and quick-start guides
  • FAQ and troubleshooting sections

Technical Details

  • Languages Supported: Python, JavaScript, TypeScript, C/C++, Shell, YAML, TOML, JSON, Makefile
  • Comment Styles: # for Python/Shell/YAML, // for JavaScript/C/C++
  • File Detection: Uses identify library for robust file type recognition
  • Cross-Platform: Tested on Ubuntu 22.04, Windows 11, macOS 13+
  • Python Support: 3.8, 3.9, 3.10, 3.11, 3.12
  • Dependencies: Minimal (typer, rich, chardet, identify)

Infrastructure

  • CI/CD: GitHub Actions with matrix testing
  • Security: CodeQL analysis, Bandit scanning, dependency auditing
  • Quality: Ruff linting, MyPy type checking, 69% test coverage
  • Documentation: Automated MkDocs deployment to GitHub Pages
  • Release: Automated PyPI publishing with GitHub releases

Development History

Phase 3: Enterprise Polish (December 2024)

  • ✅ Resolved all CodeQL security warnings
  • ✅ Added GitHub issue/PR templates
  • ✅ Created comprehensive security policy
  • ✅ Updated contributing guidelines
  • ✅ Added EditorConfig for consistency
  • ✅ Created development scripts
  • ✅ Enhanced project documentation

Phase 2: Infrastructure & Documentation (November 2024)

  • ✅ Complete MkDocs documentation site
  • ✅ GitHub Pages deployment automation
  • ✅ Cross-platform CI/CD pipeline
  • ✅ Security scanning integration
  • ✅ Codecov coverage monitoring
  • ✅ ASCII art branding integration
  • ✅ Badge accuracy improvements

Phase 1: Core Development (June-October 2024)

  • ✅ Basic CLI with run command
  • ✅ File type detection system
  • ✅ Configuration management
  • ✅ Test suite development (152 tests)
  • ✅ Delete command implementation
  • ✅ Cross-platform compatibility
  • ✅ Pre-commit integration
  • ✅ Documentation framework

Release Process

Releases are automated through GitHub Actions:

  1. Version Update: Update version in pyproject.toml
  2. Changelog Update: Add release notes to this file
  3. Release PR: Create PR with version bump
  4. Automated Release: Merge triggers PyPI publication
  5. GitHub Release: Automated release with changelog

Migration Guide

From Pre-1.0 Versions

This is the first stable release. No migration needed.

Security Updates

All security updates are documented here with: - CVE identifiers (if applicable) - Affected versions - Mitigation steps - Upgrade recommendations

Support

  • Current Version: 0.1.x (Active development and support)
  • Security Support: Latest version only
  • EOL Policy: Previous minor versions supported for 6 months

Contributing

See CONTRIBUTING.md for detailed information about: - Development setup - Testing requirements - Code style guidelines - Pull request process - Release procedures


Note: This changelog is automatically updated during the release process. For unreleased changes, see the commit history.

Release Process

path-comment-hook follows semantic versioning:

  • Major version (X.0.0): Breaking changes
  • Minor version (0.X.0): New features, backwards compatible
  • Patch version (0.0.X): Bug fixes, backwards compatible

What Constitutes a Breaking Change?

  • Changes to CLI argument names or behavior
  • Removal of configuration options
  • Changes to default behavior that affect existing users
  • API changes that break existing integrations

Release Schedule

  • Patch releases: As needed for bug fixes
  • Minor releases: Monthly or when significant features are ready
  • Major releases: Rarely, only when necessary for architectural changes

Getting Latest Releases

PyPI

pip install --upgrade path-comment-hook

GitHub Releases

Visit GitHub Releases for: - Detailed release notes - Binary downloads - Source code archives

Pre-commit

Update your .pre-commit-config.yaml:

repos:
  - repo: https://github.com/Shorzinator/path-comment-hook
    rev: v0.3.0  # Use latest version
    hooks:
      - id: path-comment

Then run:

pre-commit autoupdate

Migration Guides

Upgrading from 0.2.x to 0.3.x

Key changes in v0.3.0: - Enhanced file handling with better encoding detection - Improved parallel processing performance - New configuration options

To upgrade: 1. Update your installation: pip install --upgrade path-comment-hook 2. Review configuration: Some default exclusions may have changed 3. Test on a branch: Run path-comment-hook --check --all to verify

Upgrading from 0.1.x to 0.2.x

Key changes in v0.2.0: - Complete rewrite with better architecture - New CLI interface - Configuration in pyproject.toml

To upgrade: 1. Update configuration from old format to pyproject.toml 2. Review new CLI options 3. Update pre-commit configuration if needed

Beta Releases

Beta releases are available for testing new features:

# Install latest beta
pip install --pre path-comment-hook

# Or specific beta version
pip install path-comment-hook==0.4.0b1

Beta Releases

Beta releases are for testing only. Don't use in production.

Deprecation Policy

When features are deprecated:

  1. Announcement: Marked as deprecated in documentation
  2. Warning period: Minimum of one minor version with warnings
  3. Removal: Removed in next major version

Example timeline: - v0.3.0: Feature deprecated with warnings - v0.4.0: Feature still works but warns - v1.0.0: Feature removed

Contributing to Releases

To contribute to releases:

  1. Bug fixes: Target the current release branch
  2. Features: Target the development branch
  3. Documentation: Can target either branch

See Contributing Guide for details.

Security Updates

Security issues are addressed promptly:

  • Critical: Emergency patch release
  • High: Patch release within 1 week
  • Medium: Include in next scheduled release

To report security issues, see our Security Policy.

Staying Updated

Stay informed about releases:

  • Star the repository on GitHub for updates
  • Watch releases to get notifications
  • Follow the changelog for detailed changes
  • Follow updates through GitHub Discussions

Version Support

  • Current major version: Full support with new features and bug fixes
  • Previous major version: Security updates and critical bug fixes only
  • Older versions: Community support only

Currently supported versions: - 0.3.x: Full support - 0.2.x: Security updates only - 0.1.x: No longer supported