From b2b81714b70b6ebeec87bb6678bc9df1c47d78b4 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 8 Nov 2025 18:58:50 +0000 Subject: [PATCH 1/3] Initial plan From 2f558e2200b1434c2dace51f547cc2174174b4bc Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 8 Nov 2025 19:08:53 +0000 Subject: [PATCH 2/3] Enhance CLI version checker to inspect GitHub release notes - Add GitHub repository URLs for each CLI tool - Document which tools have public release notes (Codex, GitHub MCP Server) - Add instructions to fetch and parse GitHub release notes - Include "Highlights" and "Merged PRs" sections in issue template - Add guidelines for fetching release notes in parallel - Document repository availability (public/private/none) for each tool This addresses issue #3482 by enabling the workflow to fetch official release notes from GitHub repositories where available, providing richer context for version updates compared to NPM metadata alone. Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> --- .../workflows/cli-version-checker.lock.yml | 34 ++++++++++++++++++- .github/workflows/cli-version-checker.md | 34 ++++++++++++++++++- 2 files changed, 66 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cli-version-checker.lock.yml b/.github/workflows/cli-version-checker.lock.yml index 958143ff2ae..19d969576e4 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: `https://www.npmjs.com/package/@package-name` @@ -1313,10 +1334,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] + ## Changelog Links - **NPM Package**: https://www.npmjs.com/package/@package-name - **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 @@ -1327,6 +1355,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 ef5ac116436..d15a85ac764 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: `https://www.npmjs.com/package/@package-name` @@ -115,10 +136,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] + ## Changelog Links - **NPM Package**: https://www.npmjs.com/package/@package-name - **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 @@ -129,6 +157,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 From 761ce90c1fd2d09c98321df288644d12dd486605 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 8 Nov 2025 19:33:04 +0000 Subject: [PATCH 3/3] Recompile workflow and fix duplicate section headers - Remove duplicate "Changelog Links" section after merge - Keep "Package Links" header (from main branch) - Maintain enhanced content with Release Notes and Specific Release links - Recompile workflow to ensure lock.yml is up to date Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> --- .github/workflows/cli-version-checker.lock.yml | 6 ++++++ .github/workflows/cli-version-checker.md | 2 -- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cli-version-checker.lock.yml b/.github/workflows/cli-version-checker.lock.yml index 07e1716f1f3..d76dcaac1f7 100644 --- a/.github/workflows/cli-version-checker.lock.yml +++ b/.github/workflows/cli-version-checker.lock.yml @@ -1335,6 +1335,12 @@ 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] diff --git a/.github/workflows/cli-version-checker.md b/.github/workflows/cli-version-checker.md index 9c11300d69e..ff260ac7312 100644 --- a/.github/workflows/cli-version-checker.md +++ b/.github/workflows/cli-version-checker.md @@ -143,8 +143,6 @@ Template structure: ## Merged PRs (from GitHub) [List significant merged PRs from release notes if available] -## Changelog Links -- **NPM Package**: https://www.npmjs.com/package/@package-name ## Package Links - **NPM Package**: https://www.npmjs.com/package/package-name-here - **Repository**: [GitHub URL if available]