diff --git a/.github/workflows/cli-version-checker.lock.yml b/.github/workflows/cli-version-checker.lock.yml index 4aad547df5b..d76dcaac1f7 100644 --- a/.github/workflows/cli-version-checker.lock.yml +++ b/.github/workflows/cli-version-checker.lock.yml @@ -1245,9 +1245,14 @@ jobs: ### Version Sources - **Claude Code**: Use `npm view @anthropic-ai/claude-code version` (faster than web-fetch) + - No public GitHub repository - **Copilot CLI**: Use `npm view @github/copilot version` + - Repository: https://github.com/github/copilot-cli (may be private) - **Codex**: Use `npm view @openai/codex version` + - Repository: https://github.com/openai/codex + - Release Notes: https://github.com/openai/codex/releases - **GitHub MCP Server**: `https://api.github.com/repos/github/github-mcp-server/releases/latest` + - Release Notes: https://github.com/github/github-mcp-server/releases **Optimization**: Fetch all versions in parallel using multiple npm view or WebFetch calls in a single turn. @@ -1258,6 +1263,21 @@ jobs: - Document migration requirements - Assign risk level (Low/Medium/High) + **GitHub Release Notes (when available)**: + - **Codex**: Fetch release notes from https://github.com/openai/codex/releases/tag/rust-v{VERSION} + - Parse the "Highlights" section for key changes + - Parse the "PRs merged" or "Merged PRs" section for detailed changes + - Extract links to pull requests and issues for context + - **GitHub MCP Server**: Fetch release notes from https://github.com/github/github-mcp-server/releases/tag/v{VERSION} + - Parse release body for changelog entries + - **Copilot CLI**: Repository may be private, skip release notes if inaccessible + - **Claude Code**: No public repository, rely on NPM metadata and CLI help output + + **NPM Metadata Fallback**: When GitHub release notes are unavailable, use: + - `npm view --json` for package metadata + - Compare CLI help outputs between versions + - Check for version changelog in package description + ### Tool Installation & Discovery **CACHE OPTIMIZATION**: - Before installing, check cache-memory for previous help outputs @@ -1294,6 +1314,7 @@ jobs: - **Impact Assessment**: Risk level, affected features, migration notes - **Changelog Links**: Use plain URLs without backticks - **CLI Changes**: New commands, flags, or removed features discovered via help + - **GitHub Release Notes**: Include highlights and PR summaries when available from GitHub releases **URL Formatting Rules**: - Use plain URLs without backticks around package names @@ -1314,10 +1335,17 @@ jobs: - Impact: Risk [Low/Medium/High], affects [features] - Migration: [Yes/No - details if yes] + ## Release Highlights (from GitHub) + [Include key highlights from GitHub release notes if available] + + ## Merged PRs (from GitHub) + [List significant merged PRs from release notes if available] + ## Package Links - **NPM Package**: https://www.npmjs.com/package/package-name-here - **Repository**: [GitHub URL if available] - - **Changelog**: [URL to changelog if available] + - **Release Notes**: [GitHub releases URL if available] + - **Specific Release**: [Direct link to version's release notes if available] ``` ## Guidelines @@ -1328,6 +1356,10 @@ jobs: - **CHECK CACHE FIRST**: Before re-analyzing versions, check cache-memory for recent results - **PARALLEL FETCHING**: Fetch all versions in parallel using multiple npm/WebFetch calls in one turn - **EARLY EXIT**: If no version changes detected, save check timestamp to cache and exit successfully + - **FETCH GITHUB RELEASE NOTES**: For tools with public GitHub repositories, fetch release notes to get detailed changelog information + - Codex: Always fetch from https://github.com/openai/codex/releases + - GitHub MCP Server: Always fetch from https://github.com/github/github-mcp-server/releases + - Copilot CLI: Try to fetch, but may be inaccessible (private repo) - Install and test CLI tools to discover new features via `--help` - Compare help output between old and new versions - **SAVE TO CACHE**: Store help outputs and version check results in cache-memory diff --git a/.github/workflows/cli-version-checker.md b/.github/workflows/cli-version-checker.md index 33f08bfa51e..ff260ac7312 100644 --- a/.github/workflows/cli-version-checker.md +++ b/.github/workflows/cli-version-checker.md @@ -47,9 +47,14 @@ For each CLI/MCP server: ### Version Sources - **Claude Code**: Use `npm view @anthropic-ai/claude-code version` (faster than web-fetch) + - No public GitHub repository - **Copilot CLI**: Use `npm view @github/copilot version` + - Repository: https://github.com/github/copilot-cli (may be private) - **Codex**: Use `npm view @openai/codex version` + - Repository: https://github.com/openai/codex + - Release Notes: https://github.com/openai/codex/releases - **GitHub MCP Server**: `https://api.github.com/repos/github/github-mcp-server/releases/latest` + - Release Notes: https://github.com/github/github-mcp-server/releases **Optimization**: Fetch all versions in parallel using multiple npm view or WebFetch calls in a single turn. @@ -60,6 +65,21 @@ For each update, analyze intermediate versions: - Document migration requirements - Assign risk level (Low/Medium/High) +**GitHub Release Notes (when available)**: +- **Codex**: Fetch release notes from https://github.com/openai/codex/releases/tag/rust-v{VERSION} + - Parse the "Highlights" section for key changes + - Parse the "PRs merged" or "Merged PRs" section for detailed changes + - Extract links to pull requests and issues for context +- **GitHub MCP Server**: Fetch release notes from https://github.com/github/github-mcp-server/releases/tag/v{VERSION} + - Parse release body for changelog entries +- **Copilot CLI**: Repository may be private, skip release notes if inaccessible +- **Claude Code**: No public repository, rely on NPM metadata and CLI help output + +**NPM Metadata Fallback**: When GitHub release notes are unavailable, use: +- `npm view --json` for package metadata +- Compare CLI help outputs between versions +- Check for version changelog in package description + ### Tool Installation & Discovery **CACHE OPTIMIZATION**: - Before installing, check cache-memory for previous help outputs @@ -96,6 +116,7 @@ Include for each updated CLI: - **Impact Assessment**: Risk level, affected features, migration notes - **Changelog Links**: Use plain URLs without backticks - **CLI Changes**: New commands, flags, or removed features discovered via help +- **GitHub Release Notes**: Include highlights and PR summaries when available from GitHub releases **URL Formatting Rules**: - Use plain URLs without backticks around package names @@ -116,10 +137,17 @@ Template structure: - Impact: Risk [Low/Medium/High], affects [features] - Migration: [Yes/No - details if yes] +## Release Highlights (from GitHub) +[Include key highlights from GitHub release notes if available] + +## Merged PRs (from GitHub) +[List significant merged PRs from release notes if available] + ## Package Links - **NPM Package**: https://www.npmjs.com/package/package-name-here - **Repository**: [GitHub URL if available] -- **Changelog**: [URL to changelog if available] +- **Release Notes**: [GitHub releases URL if available] +- **Specific Release**: [Direct link to version's release notes if available] ``` ## Guidelines @@ -130,6 +158,10 @@ Template structure: - **CHECK CACHE FIRST**: Before re-analyzing versions, check cache-memory for recent results - **PARALLEL FETCHING**: Fetch all versions in parallel using multiple npm/WebFetch calls in one turn - **EARLY EXIT**: If no version changes detected, save check timestamp to cache and exit successfully +- **FETCH GITHUB RELEASE NOTES**: For tools with public GitHub repositories, fetch release notes to get detailed changelog information + - Codex: Always fetch from https://github.com/openai/codex/releases + - GitHub MCP Server: Always fetch from https://github.com/github/github-mcp-server/releases + - Copilot CLI: Try to fetch, but may be inaccessible (private repo) - Install and test CLI tools to discover new features via `--help` - Compare help output between old and new versions - **SAVE TO CACHE**: Store help outputs and version check results in cache-memory