Files
gitea_mcp/CHANGELOG.md
l3ocho c34e06aa2b feat: add merge tools, tests, and documentation
Added 3 new PR merge tools to complete v1.0.0:
- merge_pull_request: Merge PR with 5 strategies (merge, rebase, rebase-merge, squash, fast-forward-only)
- get_pr_merge_status: Check if PR is mergeable
- cancel_auto_merge: Cancel scheduled auto-merge

Changes:
- New merge methods in GiteaClient (gitea_client.py)
- New async wrappers in PullRequestTools with branch checks (tools/pull_requests.py)
- Tool definitions and dispatch routing in tool_registry.py
- Boolean type coercion for force_merge and delete_branch parameters
- Comprehensive test suite with 18 tests (test_pull_requests.py)
- Full documentation: README.md, CHANGELOG.md, CLAUDE.md

Features:
- 5 merge strategies with full Gitea API support
- Branch-aware security enforcement
- Type coercion handles MCP string serialization
- 100% test coverage for merge operations

Result:
- Total tools: 39 (7 PR operations + 3 merge = 10 PR tools)
- All tests passing (18 new merge tests + 60 existing tests)
- Ready for v1.0.0 release

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-02-08 16:38:35 -05:00

54 lines
2.5 KiB
Markdown

# Changelog
All notable changes to gitea-mcp 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).
## [1.0.0] - 2026-02-08
### Added
- Initial release as standalone package
- 39 MCP tools across 7 categories:
- Issue management (6 tools): list_issues, get_issue, create_issue, update_issue, add_comment, aggregate_issues
- Label management (5 tools): list_labels, get_labels, suggest_labels, create_label, create_label_smart
- Wiki & lessons learned (7 tools): list_wiki_pages, get_wiki_page, create_wiki_page, update_wiki_page, create_lesson, search_lessons, allocate_rfc_number
- Milestone management (5 tools): list_milestones, get_milestone, create_milestone, update_milestone, delete_milestone
- Issue dependencies (4 tools): list_issue_dependencies, create_issue_dependency, remove_issue_dependency, get_execution_order
- Pull requests (7 tools): list_pull_requests, get_pull_request, get_pr_diff, get_pr_comments, create_pr_review, add_pr_comment, create_pull_request
- **PR merge operations (3 tools) — NEW**: merge_pull_request, get_pr_merge_status, cancel_auto_merge
- **Merge strategies** (5 supported):
- `merge` — Create merge commit (default)
- `rebase` — Rebase commits onto base, no merge commit
- `rebase-merge` — Rebase then create merge commit
- `squash` — Squash all commits into one
- `fast-forward-only` — Only if fast-forward is possible
- Dual-mode operation:
- Project mode: Works with single configured repository
- PMO/Company mode: Manages multiple repositories with org-level aggregation
- Advanced features:
- Branch-aware security with permission enforcement
- Type coercion for MCP string serialization
- Auto-detection of project vs PMO mode
- Transport-agnostic architecture via tool_registry + dispatcher pattern
- Comprehensive error handling and logging
- Development:
- Full test suite with 30+ test cases
- Comprehensive documentation (README, CHANGELOG, CLAUDE.md)
- Gitea PyPI registry distribution
- CI/CD ready with pytest and coverage reporting
### Notes
- Extracted from leo-claude-mktplace v9.1.0 (mcp-servers/gitea/ v1.3.0)
- Module renamed: `mcp_server``gitea_mcp`
- All existing functionality preserved and tested
- Ready for use in Claude Code and other MCP-compatible systems
[1.0.0]: https://gitea.hotserv.cloud/personal-projects/gitea-mcp/releases/tag/v1.0.0