v2.9.0: Complete Comment Management & API Consistency
π― v2.9.0: Complete Comment Management & API Consistency
This major release delivers comprehensive comment management capabilities and API consistency improvements, making github-client the most complete GitHub API client for comment automation.
π Major Features
β Complete Comment Management CRUD (Issues #91, #92, #93)
Full lifecycle management for both issue/PR general comments and PR review comments:
Issue/PR General Comments
IssuesResource::getComment($owner, $repo, $commentId): IssueCommentDTOIssuesResource::updateComment($owner, $repo, $commentId, $body): IssueCommentDTOIssuesResource::deleteComment($owner, $repo, $commentId): bool
PR Review Comments (Inline Code Comments)
PullRequestResource::getComment($owner, $repo, $commentId): PullRequestCommentDTOPullRequestResource::updateComment($owner, $repo, $commentId, $body): PullRequestCommentDTOPullRequestResource::deleteComment($owner, $repo, $commentId): bool
β API Consistency Improvements (Issue #16)
Standardized repository operations with consistent validation:
- All repository methods now use
Repovalue objects - Added convenience methods:
Github::getRepo()andGithub::deleteRepo() - Consistent validation patterns across all operations
- 100% backward compatible
β Conduit CLI Integration Ready (Issue #93)
Complete design documentation for CLI development:
- CONDUIT_CLI_INTEGRATION.md with command architecture
- Implementation patterns for unified comment management
- Ready-to-use examples for CLI developers
π― Use Cases Enabled
Developer Workflows
// Edit any comment type
$comment = Github::issues()->getComment('owner', 'repo', 12345);
$updated = Github::issues()->updateComment('owner', 'repo', 12345, 'Fixed in v2.9.0\!');
// Clean up review comments
$reviewComment = Github::pullRequests()->getComment('owner', 'repo', 67890);
Github::pullRequests()->deleteComment('owner', 'repo', 67890);
// Consistent repo operations
$repo = Github::getRepo('owner/repo'); // Auto-validates
$success = Github::deleteRepo('owner/repo'); // Auto-validatesAutomation Ready
- CI/CD Comment Management: Update PRs with build status
- Code Review Automation: Clean up resolved discussions
- Issue Management: Programmatic comment updates
- Bulk Operations: Process multiple comments efficiently
π§ Technical Excellence
Quality Assurance
- 204 tests passing (719 assertions)
- PHPStan clean (0 errors)
- PHP Pint compliant (auto-formatted)
- Full backward compatibility maintained
New Request Classes (6 total)
- Issues: GetComment.php, UpdateComment.php, DeleteComment.php
- Pulls: GetComment.php, UpdateComment.php, DeleteComment.php
Enhanced Resources
- IssuesResource: 3 new comment management methods
- PullRequestResource: 3 new review comment methods
- Consistent patterns and error handling throughout
π Impact
This release transforms github-client into a complete comment management platform, enabling:
- Full Comment Lifecycle: Create, Read, Update, Delete for all comment types
- Advanced Automation: Perfect for CI/CD and review workflows
- Type-Safe APIs: Robust development with comprehensive validation
- Conduit CLI Foundation: All APIs needed for CLI comment commands
π Resolves
- #91: Add CRUD operations for Issue/PR General Comments
- #92: Add CRUD operations for PR Review Comments
- #93: Add unified Comment Management commands to Conduit CLI (design)
- #16: Inconsistent API Design and Parameter Handling
- #94: Add missing pr_data fields (already resolved in v2.8.0)
- #95: Add missing merge_data fields (already resolved in v2.8.0)
Perfect foundation for advanced GitHub automation and the most comprehensive comment management available! π