CHANGELOG.mdโข6.87 kB
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [5.1.0] - 2025-01-06
### ๐ BREAKING CHANGES - Security Enhancements
#### File Operations Restriction
- **git-files**: Removed file modification operations (`create`, `update`, `delete`) for security
- **Providers**: Removed file modification handlers from GitHub and Gitea providers
- **Reason**: File content modification should be done through local development environment, not via remote API
### ๐จ Added - Safety Warning System
#### New Safety Warnings System
- **New file**: `src/utils/safety-warnings.ts` - Comprehensive safety warning system
- **git-reset**: Added safety warnings for destructive operations (hard reset, mixed reset)
- **git-branches**: Added warnings for branch deletion operations
- **git-workflow**: Added warnings for repository deletion
#### Safety Features
- **Warning Levels**: WARNING, DANGER, CRITICAL classification
- **Detailed Messages**: Clear explanations of what will be lost
- **Safe Alternatives**: Suggestions for less destructive operations
- **Confirmation Required**: Destructive operations require explicit confirmation
### ๐ก๏ธ Enhanced - Error Handling & Validation
#### Improved Error Diagnostics
- **operation-error-handler.ts**: Added 10+ new Git error scenarios with specific solutions
- **config.ts**: Added detailed credential validation with real API testing
- **parameter-validator.ts**: Enhanced validation with format checking and helpful guidance
#### New Error Scenarios Covered
- Branch exists/not found errors
- Detached HEAD state handling
- Working tree dirty warnings
- Reference lock errors
- Fast-forward merge issues
- Untracked files conflicts
### ๐ Enhanced - Tool Schemas
#### Comprehensive Schema Improvements
- **All tools**: Added detailed error codes, examples, and warnings
- **git-workflow**: Added error codes reference and usage examples
- **git-branches**: Added safety warnings section and destructive operation alerts
- **git-files**: Updated to reflect read-only operation restrictions
#### Schema Features Added
- Error codes with descriptions and solutions
- Usage examples for common operations
- Safety warnings for destructive operations
- Parameter validation guidance
- Additional properties restrictions
### ๐ง Fixed - Tool Availability
#### Git Reset Tool
- **server.ts**: Uncommented GitResetTool registration (was previously disabled)
- **git-reset.ts**: Added comprehensive safety warnings for destructive operations
- **Result**: git-reset tool now available with safety features
### ๐ Updated - Documentation
#### README.md Overhaul
- Added comprehensive security features section
- Documented all safety warnings and restrictions
- Added error codes reference table
- Included troubleshooting guide
- Added usage examples for all operation types
#### Configuration Guide
- Enhanced credential setup instructions
- Added validation status explanations
- Included troubleshooting for common issues
- Added security best practices
### ๐งช Added - Testing & Validation
#### Test Scenarios
- Created comprehensive test scenarios for all improvements
- Validated restricted operations return appropriate errors
- Confirmed safety warnings display correctly
- Tested enhanced error messages provide useful guidance
- Verified credential validation works properly
### ๐ Technical Improvements
#### Code Quality
- Enhanced TypeScript types for better error handling
- Improved parameter validation with format checking
- Added comprehensive error mapping for Git operations
- Enhanced provider credential validation with API testing
#### Performance
- Optimized error message generation
- Improved validation performance
- Enhanced schema generation efficiency
## [5.0.9] - 2024-12-19
### Fixed
#### Final Configuration Fix
- **git-tags**: Fixed REMOTE_OPERATIONS configuration to make all tag operations local
- Corrected parameter validation to not require provider for git-tags operations
- This completes the resolution of all 7 originally identified issues
### Technical Details
- **parameter-validator.ts**: Changed git-tags from remote to local operations
- All tag operations (create, list, get, delete, search) now work without provider requirement
- Maintains consistency with other local Git operations
## [5.0.8] - 2024-12-19
### Fixed
#### Parameter Validation
- **git-remote**: Added missing 'list' action to supported operations in parameter validator
- **git-files**: Fixed validation for 'list' action - filePath is now optional
- **git-branches**: Added proper validation for 'get' action requiring branchName
- **git-tags**: Implemented complete parameter validation for all tag operations
#### Repository Analytics
- **git-analytics**: Added repository empty check to prevent git log/shortlog errors
- Fixed "fatal: ambiguous argument 'log'" and "fatal: ambiguous argument 'shortlog'" errors
- Now returns empty results instead of errors for repositories without commits
#### Package Management
- **git-packages**: Improved error messages and documentation clarity
- Clarified that packageName parameter expects file path (e.g., "package.json") not package name
- Enhanced error suggestions for package file not found scenarios
#### Synchronization
- **git-sync**: Improved error messages for uncommitted changes
- Added suggestions to use git-stash tool for temporary changes
- Better guidance on handling force sync operations
### Improved
#### Error Handling
- Enhanced error messages across all tools with actionable suggestions
- Better parameter validation with clear guidance on required vs optional parameters
- Improved user experience with more helpful error descriptions
#### Documentation
- Updated tool schemas with clearer parameter descriptions
- Better inline documentation for parameter requirements
- Enhanced error messages with multiple resolution options
### Technical Details
#### Files Modified
- `src/utils/parameter-validator.ts`: Enhanced validation logic for multiple tools
- `src/tools/git-analytics.ts`: Added repository state checking
- `src/tools/git-packages.ts`: Improved error messages and documentation
- `src/tools/git-sync.ts`: Enhanced error handling and user guidance
#### Validation Improvements
- Added `validateTagsParams` method for comprehensive tag operation validation
- Enhanced `validateFilesParams` to handle optional filePath for list operations
- Improved `validateBranchesParams` with specific validation for get operations
- Added 'list' action to git-remote supported operations
## [5.0.7] - Previous Release
Previous release with initial multi-provider support and core functionality.