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:
- Version Update: Update version in
pyproject.toml
- Changelog Update: Add release notes to this file
- Release PR: Create PR with version bump
- Automated Release: Merge triggers PyPI publication
- 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¶
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:
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:
- Announcement: Marked as deprecated in documentation
- Warning period: Minimum of one minor version with warnings
- 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:
- Bug fixes: Target the current release branch
- Features: Target the development branch
- 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