feat(plotnine): implement line-basic#89
Conversation
- Added pyproject.toml with project metadata, dependencies, and configurations - Generated uv.lock for dependency locking
- Initialized FastAPI backend with Docker and Cloud Run deployment - Added basic endpoints for root, health check, and hello - Setup frontend with React, TypeScript, Vite, and MUI - Added Docker support for both backend and frontend - Configured Cloud Build pipelines for backend and frontend deployments
Add detailed workflow documentation including: - Main workflow from spec creation to deployment - Multi-AI quality assessment with consensus mechanism - Automated testing across Python 3.10-3.12 - Distance calculation for intelligent clustering - Continuous optimization loop with AI reviewers - Quality gates and monitoring metrics Includes detailed Mermaid diagrams for: - Spec creation & validation - Library analysis & code generation - Multi-AI quality assessment process - Automated testing pipeline - Distance calculation & clustering - Continuous optimization loop - Deployment pipeline
Translate complete workflow documentation from German to English including: - All section headings and descriptions - Mermaid diagram labels - Quality criteria and checklists - Configuration examples and code comments - Monitoring metrics descriptions Maintains all technical details and workflow structure.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…m-014wvfTQYMgmyBuUGzm41QmD Add workflow diagram for new prototype discovery
…1763670247049 Add Claude Code GitHub Workflow
- Add copilot.data.migration.ask.xml for AskMigrationStateService - Add copilot.data.migration.ask2agent.xml for Ask2AgentMigrationStateService - Add copilot.data.migration.edit.xml for EditMigrationStateService - Remove unused VCS mapping from vcs.xml - Revise vision.md for clarity and conciseness
- Renamed workflow from "AI-Powered Plot Generation" to "pyplots Automation" - Revised overview to clarify platform capabilities - Enhanced key principles and component responsibilities sections - Updated system architecture diagram for clarity - Streamlined core automation flows and decision framework
- Added details for automated social media posting via X (Twitter) - Updated components to include social media scheduling and marketing - Defined promotion queue management and rate limiting strategies - Expanded integration flow to include social media promotion
- Mark premium features as future in vision.md - Update author email in pyproject.toml - Add new dependencies for database and AI/cloud services in pyproject.toml - Clarify n8n Cloud Pro usage in workflow.md - Create new system overview and repository structure documentation
- Introduced a new `rules/` directory for managing versioned rules - Added initial draft of code generation rules and quality criteria - Updated documentation to reflect new rule system and usage - Included templates for creating new rule versions
- Provide project overview and core principles - Outline essential commands for development, testing, and code quality - Detail architecture, tech stack, and code standards - Include guidelines for common development tasks and cloud deployment
- Create detailed 13-phase plan for first POC version - Include manual workflow orchestration via Claude Code - Cover matplotlib and seaborn implementations - Define self-review loop, multi-version testing, and preview optimization - Specify GCS upload, PostgreSQL metadata, API, and minimal frontend - Provide code examples, scripts, and troubleshooting guide - Estimate 4-5 hours total implementation time This plan validates the end-to-end workflow before automating with GitHub Actions.
Core Components: - Spec template (.template.md) for consistent plot specifications - Example spec: scatter-basic-001.md - Plot generator with Claude + versioned rules + self-review loop - Three GitHub Actions workflows for full automation Workflows: 1. spec-to-code.yml: Auto-generates code when issue gets 'approved' label - Extracts spec from issue - Generates matplotlib + seaborn implementations - Self-review loop (max 3 attempts) - Creates PR automatically 2. test-and-preview.yml: Tests code and generates preview images - Multi-version testing (Python 3.10-3.13) - Generates preview PNGs - Uploads to GCS - Comments on PR with preview links 3. quality-check.yml: AI quality evaluation with Claude Vision - Downloads previews from GCS - Evaluates against spec quality criteria - Scores each implementation (0-100) - Comments with detailed feedback - Adds labels (quality-approved or quality-check-failed) This infrastructure enables: - Complete automation from GitHub Issue → Code → Test → Preview → Quality - Self-review and quality gates built-in - No manual steps required for plot generation - Production-ready code output Next: Test with scatter-basic-001 issue
Add version tracking to spec files for maintainability and automated upgrades. Changes: - Add version marker to spec template (v1.0.0) - Update scatter-basic-001.md with version info - Create upgrade_specs.py script for automated spec upgrades - Add specs/VERSIONING.md documentation - Update plot_generator.py to check and display spec version Benefits: - Easy template evolution without breaking existing specs - Automated migration when template improves - Clear tracking of which template version each spec uses - Version upgrade can be batch-processed Usage: # Check what would change python automation/scripts/upgrade_specs.py --dry-run # Upgrade all specs to latest version python automation/scripts/upgrade_specs.py # Upgrade specific spec python automation/scripts/upgrade_specs.py --spec scatter-basic-001 This enables continuous improvement of the spec template while maintaining backward compatibility.
Add Claude-powered upgrade system for intelligent spec improvements beyond
structural changes.
New Features:
- upgrade_specs_ai.py: AI-powered spec upgrader using Claude
- Semantic improvements (better wording, clearer criteria)
- Preserves spec ID and core intent
- Automatic backup creation (.backup-{version} files)
- Dry-run mode for preview
- Single spec or batch upgrade
- specs/upgrades/: Directory for version-specific upgrade instructions
- Custom instructions per version transition
- Examples and before/after comparisons
- Rationale for changes
- Updated VERSIONING.md with AI upgrade documentation
Why AI-Powered Upgrades?
- Structural changes (new sections) are easy with regex
- Semantic improvements (better wording, specificity) need understanding
- AI can reformulate quality criteria to be measurable
- AI can enhance parameter descriptions with types and ranges
- AI preserves intent while improving clarity
Usage:
export ANTHROPIC_API_KEY=sk-ant-...
# Preview changes
python automation/scripts/upgrade_specs_ai.py --dry-run
# Upgrade all specs (with backups)
python automation/scripts/upgrade_specs_ai.py --version 1.0.0
# Upgrade single spec
python automation/scripts/upgrade_specs_ai.py --spec scatter-basic-001
Combined Strategy:
1. upgrade_specs.py - For structural changes (fast, no API calls)
2. upgrade_specs_ai.py - For semantic improvements (AI-powered)
This enables continuous spec quality improvement as we learn better
documentation patterns.
Replace direct Anthropic API calls with Claude Code Action for AI tasks.
This allows the workflows to use the existing CLAUDE_CODE_OAUTH_TOKEN
instead of requiring a separate ANTHROPIC_API_KEY.
Changes:
spec-to-code.yml:
- ✅ Trigger remains label-based ('approved' label on issue)
- ✅ Spec extraction remains unchanged
- ✅ Code generation now uses Claude Code Action
- ✅ Provides detailed prompt with rules and requirements
- ✅ Claude Code reads specs, rules, and generates implementations
- ✅ Self-review loop integrated into Claude Code execution
- ✅ Automatic commit and PR creation
quality-check.yml:
- ✅ Trigger remains workflow_run based
- ✅ Preview image download from GCS unchanged
- ✅ Quality evaluation now uses Claude Code Action
- ✅ Claude Code views images (Vision) and evaluates against specs
- ✅ Uses gh CLI to comment on PR and add labels
- ✅ Scores each implementation (0-100, ≥85 to pass)
Benefits:
- No separate API key needed
- Uses existing Claude Code Max subscription
- Integrated with Claude Code ecosystem
- Cleaner, more maintainable code
- Claude Code handles commits automatically
- Better error handling and retries
Hybrid Approach:
- Label triggers → Automation starts
- Claude Code → AI-powered tasks (generation, evaluation)
- Regular Actions → Infrastructure (tests, GCS upload, PR creation)
This enables full automation using only CLAUDE_CODE_OAUTH_TOKEN
and GCS_CREDENTIALS secrets.
Make automation workflows visible and trackable in Claude Code Web by using @claude triggers instead of direct API calls. This allows you to see the workflow progress live in your Claude Code Web session. Changes: 1. spec-to-code.yml (Code Generation): - Simplified to just trigger @claude with instructions - GitHub Action posts @claude comment when 'approved' label is added - Claude Code (via claude.yml) picks up the task - User sees generation progress in Claude Code Web - Claude Code creates implementations, commits, and makes PR 2. quality-check.yml (Quality Evaluation): - Posts @claude comment with evaluation instructions - Claude Code views preview images and evaluates - User sees evaluation progress in Claude Code Web - Claude Code posts results and adds labels 3. claude.yml (Core): - Enhanced permissions: contents:write, pull-requests:write, issues:write - Allows Claude Code to commit and create PRs - Fetch full history for better context Workflow Flow: 1. Issue gets 'approved' label 2. spec-to-code.yml posts @claude comment 3. claude.yml triggers (sees @claude) 4. Claude Code executes in Web (YOU SEE THIS LIVE!) 5. Claude Code commits implementations 6. Claude Code creates PR 7. test-and-preview.yml runs (regular CI) 8. quality-check.yml posts @claude comment 9. Claude Code evaluates (YOU SEE THIS LIVE!) 10. Claude Code posts quality report + labels Benefits: - 👁️ Full visibility in Claude Code Web - 🎮 Can intervene if needed - 📊 See progress in real-time - 🔍 Better debugging when things go wrong - 💬 Natural conversation-based workflow - 🤖 Same AI throughout (Claude Code Max)
Addresses critical review feedback with 5 key improvements:
1. GCS Optional: Make GCS upload optional with proper error handling
- Add continue-on-error and conditional checks
- Workflows work without GCS credentials
2. Spec ID Extraction: Case-insensitive, flexible digit count
- Support 3-4 digits (001-9999)
- Convert to lowercase automatically
- Validate spec file existence
3. Code Syntax Validation: AST-based validation before saving
- New extract_and_validate_code() function
- Catches syntax errors early with retry
- Clear error messages
4. Path Parsing: Regex-based validation with error handling
- Replace fragile cut-based parsing
- Validate format: plots/{lib}/{type}/{spec}/{variant}.py
- Skip invalid files with warning
5. API Error Handling: Retry with exponential backoff
- Retry on RateLimitError and APIConnectionError
- 3 retries with 2s, 4s, 8s delays
- Don't retry on other API errors
Ready for initial testing without GCS setup.
…an-01QbVSDkhbSCB2w6qKJe59m5 feat: add complete automation infrastructure for plot generation
Remove issue opening trigger from claude.yml to avoid conflicts with spec-to-code.yml workflow. Now Claude Code only triggers on comments, enabling clean approved workflow: 1. Create issue without @claude 2. Add 'approved' label 3. spec-to-code.yml posts @claude comment 4. claude.yml triggers on comment (not on issue opening) This prevents the issue where Claude Code would trigger twice for the same issue and ignore the second trigger.
Updated spec-to-code and quality-check workflow documentation to show the new implementation using Claude Code Action instead of direct API calls. Changes: - spec-to-code.yml now posts @claude comment instead of calling API - quality-check.yml now posts @claude comment instead of calling API - claude.yml executes both workflows via anthropics/claude-code-action - Added note about live visibility in Claude Code Web - Added CLAUDE_CODE_OAUTH_TOKEN requirement This reflects the actual implementation after the refactoring to make workflows visible and trackable in Claude Code Web.
…erge-01D6cfGXen5SRMqh8Xgf7iUn Create test issue and merge via GitHub
- Introduced dependabot.yml for automated dependency updates - Added SECURITY.md to outline security policies and reporting procedures - Created gen-library-impl.yml for reusable library implementation workflow - Implemented bot-sync-status.yml to synchronize sub-issue statuses - Added bot-auto-merge.yml for automatic merging of approved pull requests - Developed bot-ai-review.yml for AI quality review of implementations
…up (#49) Bumps the npm-minor group in /app with 1 update: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite). Updates `vite` from 7.2.2 to 7.2.4 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/vitejs/vite/releases">vite's releases</a>.</em></p> <blockquote> <h2>v7.2.4</h2> <p>Please refer to <a href="https://github.com/vitejs/vite/blob/v7.2.4/packages/vite/CHANGELOG.md">CHANGELOG.md</a> for details.</p> <h2>v7.2.3</h2> <p>Please refer to <a href="https://github.com/vitejs/vite/blob/v7.2.3/packages/vite/CHANGELOG.md">CHANGELOG.md</a> for details.</p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md">vite's changelog</a>.</em></p> <blockquote> <h2><!-- raw HTML omitted --><a href="https://github.com/vitejs/vite/compare/v7.2.3...v7.2.4">7.2.4</a> (2025-11-20)<!-- raw HTML omitted --></h2> <h3>Bug Fixes</h3> <ul> <li>revert "perf(deps): replace debug with obug (<a href="https://redirect.github.com/vitejs/vite/issues/21107">#21107</a>)" (<a href="https://github.com/vitejs/vite/commit/2d66b7b14aa6dfd62f3d6a59ee8382ed5ca6fd32">2d66b7b</a>)</li> </ul> <h2><!-- raw HTML omitted --><a href="https://github.com/vitejs/vite/compare/v7.2.2...v7.2.3">7.2.3</a> (2025-11-20)<!-- raw HTML omitted --></h2> <h3>Bug Fixes</h3> <ul> <li>allow multiple <code>bindCLIShortcuts</code> calls with shortcut merging (<a href="https://redirect.github.com/vitejs/vite/issues/21103">#21103</a>) (<a href="https://github.com/vitejs/vite/commit/5909efd8fbfd1bf1eab65427aea0613124b2797a">5909efd</a>)</li> <li><strong>deps:</strong> update all non-major dependencies (<a href="https://redirect.github.com/vitejs/vite/issues/21096">#21096</a>) (<a href="https://github.com/vitejs/vite/commit/6a34ac3422686e7cf7cc9a25d299cb8e5a8d92a0">6a34ac3</a>)</li> <li><strong>deps:</strong> update all non-major dependencies (<a href="https://redirect.github.com/vitejs/vite/issues/21128">#21128</a>) (<a href="https://github.com/vitejs/vite/commit/4f8171eb3046bd70c83964689897dab4c6b58bc0">4f8171e</a>)</li> </ul> <h3>Performance Improvements</h3> <ul> <li><strong>deps:</strong> replace debug with obug (<a href="https://redirect.github.com/vitejs/vite/issues/21107">#21107</a>) (<a href="https://github.com/vitejs/vite/commit/acfe939e1f7c303c34b0b39b883cc302da767fa2">acfe939</a>)</li> </ul> <h3>Miscellaneous Chores</h3> <ul> <li><strong>deps:</strong> update dependency <code>@rollup/plugin-commonjs</code> to v29 (<a href="https://redirect.github.com/vitejs/vite/issues/21099">#21099</a>) (<a href="https://github.com/vitejs/vite/commit/02ceaec45e17bef19159188a28d9196fed1761be">02ceaec</a>)</li> <li><strong>deps:</strong> update rolldown-related dependencies (<a href="https://redirect.github.com/vitejs/vite/issues/21095">#21095</a>) (<a href="https://github.com/vitejs/vite/commit/39a0a15fd24ed37257c48b795097a3794e54d255">39a0a15</a>)</li> <li><strong>deps:</strong> update rolldown-related dependencies (<a href="https://redirect.github.com/vitejs/vite/issues/21127">#21127</a>) (<a href="https://github.com/vitejs/vite/commit/50297208452241061cb44d09a4bbdf77a11ac01e">5029720</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/vitejs/vite/commit/24a611f1c83a976d32262628d42f683609746635"><code>24a611f</code></a> release: v7.2.4</li> <li><a href="https://github.com/vitejs/vite/commit/2d66b7b14aa6dfd62f3d6a59ee8382ed5ca6fd32"><code>2d66b7b</code></a> fix: revert "perf(deps): replace debug with obug (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/21107">#21107</a>)"</li> <li><a href="https://github.com/vitejs/vite/commit/a668014dba377c2b82a32d8124f1761e9ea74f82"><code>a668014</code></a> release: v7.2.3</li> <li><a href="https://github.com/vitejs/vite/commit/acfe939e1f7c303c34b0b39b883cc302da767fa2"><code>acfe939</code></a> perf(deps): replace debug with obug (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/21107">#21107</a>)</li> <li><a href="https://github.com/vitejs/vite/commit/4f8171eb3046bd70c83964689897dab4c6b58bc0"><code>4f8171e</code></a> fix(deps): update all non-major dependencies (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/21128">#21128</a>)</li> <li><a href="https://github.com/vitejs/vite/commit/50297208452241061cb44d09a4bbdf77a11ac01e"><code>5029720</code></a> chore(deps): update rolldown-related dependencies (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/21127">#21127</a>)</li> <li><a href="https://github.com/vitejs/vite/commit/5909efd8fbfd1bf1eab65427aea0613124b2797a"><code>5909efd</code></a> fix: allow multiple <code>bindCLIShortcuts</code> calls with shortcut merging (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/21103">#21103</a>)</li> <li><a href="https://github.com/vitejs/vite/commit/39a0a15fd24ed37257c48b795097a3794e54d255"><code>39a0a15</code></a> chore(deps): update rolldown-related dependencies (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/21095">#21095</a>)</li> <li><a href="https://github.com/vitejs/vite/commit/6a34ac3422686e7cf7cc9a25d299cb8e5a8d92a0"><code>6a34ac3</code></a> fix(deps): update all non-major dependencies (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/21096">#21096</a>)</li> <li><a href="https://github.com/vitejs/vite/commit/02ceaec45e17bef19159188a28d9196fed1761be"><code>02ceaec</code></a> chore(deps): update dependency <code>@rollup/plugin-commonjs</code> to v29 (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/21099">#21099</a>)</li> <li>See full diff in <a href="https://github.com/vitejs/vite/commits/v7.2.4/packages/vite">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…ct group (#48) [//]: # (dependabot-start)⚠️ **Dependabot is rebasing this PR**⚠️ Rebasing might not happen immediately, so don't worry if this takes some time. Note: if you make any changes to this PR yourself, they will take precedence over the rebase. --- [//]: # (dependabot-end) Bumps the react group in /app with 1 update: [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react). Updates `@types/react` from 19.2.6 to 19.2.7 <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps the actions group with 8 updates: | Package | From | To | | --- | --- | --- | | [actions/checkout](https://github.com/actions/checkout) | `4` | `6` | | [actions/download-artifact](https://github.com/actions/download-artifact) | `4` | `6` | | [google-github-actions/auth](https://github.com/google-github-actions/auth) | `2` | `3` | | [google-github-actions/setup-gcloud](https://github.com/google-github-actions/setup-gcloud) | `2` | `3` | | [actions/github-script](https://github.com/actions/github-script) | `7` | `8` | | [actions/setup-python](https://github.com/actions/setup-python) | `5` | `6` | | [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) | `4` | `7` | | [actions/upload-artifact](https://github.com/actions/upload-artifact) | `4` | `5` | Updates `actions/checkout` from 4 to 6 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/actions/checkout/releases">actions/checkout's releases</a>.</em></p> <blockquote> <h2>v6.0.0</h2> <h2>What's Changed</h2> <ul> <li>Update README to include Node.js 24 support details and requirements by <a href="https://github.com/salmanmkc"><code>@salmanmkc</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2248">actions/checkout#2248</a></li> <li>Persist creds to a separate file by <a href="https://github.com/ericsciple"><code>@ericsciple</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2286">actions/checkout#2286</a></li> <li>v6-beta by <a href="https://github.com/ericsciple"><code>@ericsciple</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2298">actions/checkout#2298</a></li> <li>update readme/changelog for v6 by <a href="https://github.com/ericsciple"><code>@ericsciple</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2311">actions/checkout#2311</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v5.0.0...v6.0.0">https://github.com/actions/checkout/compare/v5.0.0...v6.0.0</a></p> <h2>v6-beta</h2> <h2>What's Changed</h2> <p>Updated persist-credentials to store the credentials under <code>$RUNNER_TEMP</code> instead of directly in the local git config.</p> <p>This requires a minimum Actions Runner version of <a href="https://github.com/actions/runner/releases/tag/v2.329.0">v2.329.0</a> to access the persisted credentials for <a href="https://docs.github.com/en/actions/tutorials/use-containerized-services/create-a-docker-container-action">Docker container action</a> scenarios.</p> <h2>v5.0.1</h2> <h2>What's Changed</h2> <ul> <li>Port v6 cleanup to v5 by <a href="https://github.com/ericsciple"><code>@ericsciple</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2301">actions/checkout#2301</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v5...v5.0.1">https://github.com/actions/checkout/compare/v5...v5.0.1</a></p> <h2>v5.0.0</h2> <h2>What's Changed</h2> <ul> <li>Update actions checkout to use node 24 by <a href="https://github.com/salmanmkc"><code>@salmanmkc</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2226">actions/checkout#2226</a></li> <li>Prepare v5.0.0 release by <a href="https://github.com/salmanmkc"><code>@salmanmkc</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2238">actions/checkout#2238</a></li> </ul> <h2>⚠️ Minimum Compatible Runner Version</h2> <p><strong>v2.327.1</strong><br /> <a href="https://github.com/actions/runner/releases/tag/v2.327.1">Release Notes</a></p> <p>Make sure your runner is updated to this version or newer to use this release.</p> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v4...v5.0.0">https://github.com/actions/checkout/compare/v4...v5.0.0</a></p> <h2>v4.3.1</h2> <h2>What's Changed</h2> <ul> <li>Port v6 cleanup to v4 by <a href="https://github.com/ericsciple"><code>@ericsciple</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2305">actions/checkout#2305</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v4...v4.3.1">https://github.com/actions/checkout/compare/v4...v4.3.1</a></p> <h2>v4.3.0</h2> <h2>What's Changed</h2> <ul> <li>docs: update README.md by <a href="https://github.com/motss"><code>@motss</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1971">actions/checkout#1971</a></li> <li>Add internal repos for checking out multiple repositories by <a href="https://github.com/mouismail"><code>@mouismail</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1977">actions/checkout#1977</a></li> <li>Documentation update - add recommended permissions to Readme by <a href="https://github.com/benwells"><code>@benwells</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2043">actions/checkout#2043</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/actions/checkout/blob/main/CHANGELOG.md">actions/checkout's changelog</a>.</em></p> <blockquote> <h1>Changelog</h1> <h2>V6.0.0</h2> <ul> <li>Persist creds to a separate file by <a href="https://github.com/ericsciple"><code>@ericsciple</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2286">actions/checkout#2286</a></li> <li>Update README to include Node.js 24 support details and requirements by <a href="https://github.com/salmanmkc"><code>@salmanmkc</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2248">actions/checkout#2248</a></li> </ul> <h2>V5.0.1</h2> <ul> <li>Port v6 cleanup to v5 by <a href="https://github.com/ericsciple"><code>@ericsciple</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2301">actions/checkout#2301</a></li> </ul> <h2>V5.0.0</h2> <ul> <li>Update actions checkout to use node 24 by <a href="https://github.com/salmanmkc"><code>@salmanmkc</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2226">actions/checkout#2226</a></li> </ul> <h2>V4.3.1</h2> <ul> <li>Port v6 cleanup to v4 by <a href="https://github.com/ericsciple"><code>@ericsciple</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2305">actions/checkout#2305</a></li> </ul> <h2>V4.3.0</h2> <ul> <li>docs: update README.md by <a href="https://github.com/motss"><code>@motss</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1971">actions/checkout#1971</a></li> <li>Add internal repos for checking out multiple repositories by <a href="https://github.com/mouismail"><code>@mouismail</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1977">actions/checkout#1977</a></li> <li>Documentation update - add recommended permissions to Readme by <a href="https://github.com/benwells"><code>@benwells</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2043">actions/checkout#2043</a></li> <li>Adjust positioning of user email note and permissions heading by <a href="https://github.com/joshmgross"><code>@joshmgross</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2044">actions/checkout#2044</a></li> <li>Update README.md by <a href="https://github.com/nebuk89"><code>@nebuk89</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2194">actions/checkout#2194</a></li> <li>Update CODEOWNERS for actions by <a href="https://github.com/TingluoHuang"><code>@TingluoHuang</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2224">actions/checkout#2224</a></li> <li>Update package dependencies by <a href="https://github.com/salmanmkc"><code>@salmanmkc</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2236">actions/checkout#2236</a></li> </ul> <h2>v4.2.2</h2> <ul> <li><code>url-helper.ts</code> now leverages well-known environment variables by <a href="https://github.com/jww3"><code>@jww3</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1941">actions/checkout#1941</a></li> <li>Expand unit test coverage for <code>isGhes</code> by <a href="https://github.com/jww3"><code>@jww3</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1946">actions/checkout#1946</a></li> </ul> <h2>v4.2.1</h2> <ul> <li>Check out other refs/* by commit if provided, fall back to ref by <a href="https://github.com/orhantoy"><code>@orhantoy</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1924">actions/checkout#1924</a></li> </ul> <h2>v4.2.0</h2> <ul> <li>Add Ref and Commit outputs by <a href="https://github.com/lucacome"><code>@lucacome</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1180">actions/checkout#1180</a></li> <li>Dependency updates by <a href="https://github.com/dependabot"><code>@dependabot</code></a>- <a href="https://redirect.github.com/actions/checkout/pull/1777">actions/checkout#1777</a>, <a href="https://redirect.github.com/actions/checkout/pull/1872">actions/checkout#1872</a></li> </ul> <h2>v4.1.7</h2> <ul> <li>Bump the minor-npm-dependencies group across 1 directory with 4 updates by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1739">actions/checkout#1739</a></li> <li>Bump actions/checkout from 3 to 4 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1697">actions/checkout#1697</a></li> <li>Check out other refs/* by commit by <a href="https://github.com/orhantoy"><code>@orhantoy</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1774">actions/checkout#1774</a></li> <li>Pin actions/checkout's own workflows to a known, good, stable version. by <a href="https://github.com/jww3"><code>@jww3</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1776">actions/checkout#1776</a></li> </ul> <h2>v4.1.6</h2> <ul> <li>Check platform to set archive extension appropriately by <a href="https://github.com/cory-miller"><code>@cory-miller</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1732">actions/checkout#1732</a></li> </ul> <h2>v4.1.5</h2> <ul> <li>Update NPM dependencies by <a href="https://github.com/cory-miller"><code>@cory-miller</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1703">actions/checkout#1703</a></li> <li>Bump github/codeql-action from 2 to 3 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1694">actions/checkout#1694</a></li> <li>Bump actions/setup-node from 1 to 4 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1696">actions/checkout#1696</a></li> <li>Bump actions/upload-artifact from 2 to 4 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1695">actions/checkout#1695</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/actions/checkout/commit/1af3b93b6815bc44a9784bd300feb67ff0d1eeb3"><code>1af3b93</code></a> update readme/changelog for v6 (<a href="https://redirect.github.com/actions/checkout/issues/2311">#2311</a>)</li> <li><a href="https://github.com/actions/checkout/commit/71cf2267d89c5cb81562390fa70a37fa40b1305e"><code>71cf226</code></a> v6-beta (<a href="https://redirect.github.com/actions/checkout/issues/2298">#2298</a>)</li> <li><a href="https://github.com/actions/checkout/commit/069c6959146423d11cd0184e6accf28f9d45f06e"><code>069c695</code></a> Persist creds to a separate file (<a href="https://redirect.github.com/actions/checkout/issues/2286">#2286</a>)</li> <li><a href="https://github.com/actions/checkout/commit/ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493"><code>ff7abcd</code></a> Update README to include Node.js 24 support details and requirements (<a href="https://redirect.github.com/actions/checkout/issues/2248">#2248</a>)</li> <li><a href="https://github.com/actions/checkout/commit/08c6903cd8c0fde910a37f88322edcfb5dd907a8"><code>08c6903</code></a> Prepare v5.0.0 release (<a href="https://redirect.github.com/actions/checkout/issues/2238">#2238</a>)</li> <li><a href="https://github.com/actions/checkout/commit/9f265659d3bb64ab1440b03b12f4d47a24320917"><code>9f26565</code></a> Update actions checkout to use node 24 (<a href="https://redirect.github.com/actions/checkout/issues/2226">#2226</a>)</li> <li>See full diff in <a href="https://github.com/actions/checkout/compare/v4...v6">compare view</a></li> </ul> </details> <br /> Updates `actions/download-artifact` from 4 to 6 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/actions/download-artifact/releases">actions/download-artifact's releases</a>.</em></p> <blockquote> <h2>v6.0.0</h2> <h2>What's Changed</h2> <p><strong>BREAKING CHANGE:</strong> this update supports Node <code>v24.x</code>. This is not a breaking change per-se but we're treating it as such.</p> <ul> <li>Update README for download-artifact v5 changes by <a href="https://github.com/yacaovsnc"><code>@yacaovsnc</code></a> in <a href="https://redirect.github.com/actions/download-artifact/pull/417">actions/download-artifact#417</a></li> <li>Update README with artifact extraction details by <a href="https://github.com/yacaovsnc"><code>@yacaovsnc</code></a> in <a href="https://redirect.github.com/actions/download-artifact/pull/424">actions/download-artifact#424</a></li> <li>Readme: spell out the first use of GHES by <a href="https://github.com/danwkennedy"><code>@danwkennedy</code></a> in <a href="https://redirect.github.com/actions/download-artifact/pull/431">actions/download-artifact#431</a></li> <li>Bump <code>@actions/artifact</code> to <code>v4.0.0</code></li> <li>Prepare <code>v6.0.0</code> by <a href="https://github.com/danwkennedy"><code>@danwkennedy</code></a> in <a href="https://redirect.github.com/actions/download-artifact/pull/438">actions/download-artifact#438</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/danwkennedy"><code>@danwkennedy</code></a> made their first contribution in <a href="https://redirect.github.com/actions/download-artifact/pull/431">actions/download-artifact#431</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/download-artifact/compare/v5...v6.0.0">https://github.com/actions/download-artifact/compare/v5...v6.0.0</a></p> <h2>v5.0.0</h2> <h2>What's Changed</h2> <ul> <li>Update README.md by <a href="https://github.com/nebuk89"><code>@nebuk89</code></a> in <a href="https://redirect.github.com/actions/download-artifact/pull/407">actions/download-artifact#407</a></li> <li>BREAKING fix: inconsistent path behavior for single artifact downloads by ID by <a href="https://github.com/GrantBirki"><code>@GrantBirki</code></a> in <a href="https://redirect.github.com/actions/download-artifact/pull/416">actions/download-artifact#416</a></li> </ul> <h2>v5.0.0</h2> <h3>🚨 Breaking Change</h3> <p>This release fixes an inconsistency in path behavior for single artifact downloads by ID. <strong>If you're downloading single artifacts by ID, the output path may change.</strong></p> <h4>What Changed</h4> <p>Previously, <strong>single artifact downloads</strong> behaved differently depending on how you specified the artifact:</p> <ul> <li><strong>By name</strong>: <code>name: my-artifact</code> → extracted to <code>path/</code> (direct)</li> <li><strong>By ID</strong>: <code>artifact-ids: 12345</code> → extracted to <code>path/my-artifact/</code> (nested)</li> </ul> <p>Now both methods are consistent:</p> <ul> <li><strong>By name</strong>: <code>name: my-artifact</code> → extracted to <code>path/</code> (unchanged)</li> <li><strong>By ID</strong>: <code>artifact-ids: 12345</code> → extracted to <code>path/</code> (fixed - now direct)</li> </ul> <h4>Migration Guide</h4> <h5>✅ No Action Needed If:</h5> <ul> <li>You download artifacts by <strong>name</strong></li> <li>You download <strong>multiple</strong> artifacts by ID</li> <li>You already use <code>merge-multiple: true</code> as a workaround</li> </ul> <h5>⚠️ Action Required If:</h5> <p>You download <strong>single artifacts by ID</strong> and your workflows expect the nested directory structure.</p> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/actions/download-artifact/commit/018cc2cf5baa6db3ef3c5f8a56943fffe632ef53"><code>018cc2c</code></a> Merge pull request <a href="https://redirect.github.com/actions/download-artifact/issues/438">#438</a> from actions/danwkennedy/prepare-6.0.0</li> <li><a href="https://github.com/actions/download-artifact/commit/815651c680ffe1c95719d0ed08aba1a2f9d5c177"><code>815651c</code></a> Revert "Remove <code>github.dep.yml</code>"</li> <li><a href="https://github.com/actions/download-artifact/commit/bb3a066a8babc8ed7b3e4218896c548fe34e7115"><code>bb3a066</code></a> Remove <code>github.dep.yml</code></li> <li><a href="https://github.com/actions/download-artifact/commit/fa1ce46bbd11b8387539af12741055a76dfdf804"><code>fa1ce46</code></a> Prepare <code>v6.0.0</code></li> <li><a href="https://github.com/actions/download-artifact/commit/4a24838f3d5601fd639834081e118c2995d51e1c"><code>4a24838</code></a> Merge pull request <a href="https://redirect.github.com/actions/download-artifact/issues/431">#431</a> from danwkennedy/patch-1</li> <li><a href="https://github.com/actions/download-artifact/commit/5e3251c4ff5a32e4cf8dd4adaee0e692365237ae"><code>5e3251c</code></a> Readme: spell out the first use of GHES</li> <li><a href="https://github.com/actions/download-artifact/commit/abefc31eafcfbdf6c5336127c1346fdae79ff41c"><code>abefc31</code></a> Merge pull request <a href="https://redirect.github.com/actions/download-artifact/issues/424">#424</a> from actions/yacaovsnc/update_readme</li> <li><a href="https://github.com/actions/download-artifact/commit/ac43a6070aa7db8a41e756e7a2846221edca7027"><code>ac43a60</code></a> Update README with artifact extraction details</li> <li><a href="https://github.com/actions/download-artifact/commit/de96f4613b77ec03b5cf633e7c350c32bd3c5660"><code>de96f46</code></a> Merge pull request <a href="https://redirect.github.com/actions/download-artifact/issues/417">#417</a> from actions/yacaovsnc/update_readme</li> <li><a href="https://github.com/actions/download-artifact/commit/7993cb44e9052f2f08f9b828ae5ef3ecca7d2ac7"><code>7993cb4</code></a> Remove migration guide for artifact download changes</li> <li>Additional commits viewable in <a href="https://github.com/actions/download-artifact/compare/v4...v6">compare view</a></li> </ul> </details> <br /> Updates `google-github-actions/auth` from 2 to 3 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/google-github-actions/auth/releases">google-github-actions/auth's releases</a>.</em></p> <blockquote> <h2>v3</h2> <p>Floating v3 tag</p> <h2>v3.0.0</h2> <h2>What's Changed</h2> <ul> <li>Bump to Node 24 and remove old parameters by <a href="https://github.com/sethvargo"><code>@sethvargo</code></a> in <a href="https://redirect.github.com/google-github-actions/auth/pull/508">google-github-actions/auth#508</a></li> <li>Remove hacky script by <a href="https://github.com/sethvargo"><code>@sethvargo</code></a> in <a href="https://redirect.github.com/google-github-actions/auth/pull/509">google-github-actions/auth#509</a></li> <li>Release: v3.0.0 by <a href="https://github.com/google-github-actions-bot"><code>@google-github-actions-bot</code></a> in <a href="https://redirect.github.com/google-github-actions/auth/pull/510">google-github-actions/auth#510</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/google-github-actions/auth/compare/v2...v3.0.0">https://github.com/google-github-actions/auth/compare/v2...v3.0.0</a></p> <h2>v2.1.13</h2> <h2>What's Changed</h2> <ul> <li>Update deps by <a href="https://github.com/sethvargo"><code>@sethvargo</code></a> in <a href="https://redirect.github.com/google-github-actions/auth/pull/506">google-github-actions/auth#506</a></li> <li>Release: v2.1.13 by <a href="https://github.com/google-github-actions-bot"><code>@google-github-actions-bot</code></a> in <a href="https://redirect.github.com/google-github-actions/auth/pull/507">google-github-actions/auth#507</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/google-github-actions/auth/compare/v2.1.12...v2.1.13">https://github.com/google-github-actions/auth/compare/v2.1.12...v2.1.13</a></p> <h2>v2.1.12</h2> <h2>What's Changed</h2> <ul> <li>Add retries for getIDToken by <a href="https://github.com/sethvargo"><code>@sethvargo</code></a> in <a href="https://redirect.github.com/google-github-actions/auth/pull/502">google-github-actions/auth#502</a></li> <li>Release: v2.1.12 by <a href="https://github.com/google-github-actions-bot"><code>@google-github-actions-bot</code></a> in <a href="https://redirect.github.com/google-github-actions/auth/pull/503">google-github-actions/auth#503</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/google-github-actions/auth/compare/v2.1.11...v2.1.12">https://github.com/google-github-actions/auth/compare/v2.1.11...v2.1.12</a></p> <h2>v2.1.11</h2> <h2>What's Changed</h2> <ul> <li>Update troubleshooting docs for Python by <a href="https://github.com/sethvargo"><code>@sethvargo</code></a> in <a href="https://redirect.github.com/google-github-actions/auth/pull/488">google-github-actions/auth#488</a></li> <li>Add linters by <a href="https://github.com/sethvargo"><code>@sethvargo</code></a> in <a href="https://redirect.github.com/google-github-actions/auth/pull/499">google-github-actions/auth#499</a></li> <li>Update deps by <a href="https://github.com/sethvargo"><code>@sethvargo</code></a> in <a href="https://redirect.github.com/google-github-actions/auth/pull/500">google-github-actions/auth#500</a></li> <li>Release: v2.1.11 by <a href="https://github.com/google-github-actions-bot"><code>@google-github-actions-bot</code></a> in <a href="https://redirect.github.com/google-github-actions/auth/pull/501">google-github-actions/auth#501</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/google-github-actions/auth/compare/v2.1.10...v2.1.11">https://github.com/google-github-actions/auth/compare/v2.1.10...v2.1.11</a></p> <h2>v2.1.10</h2> <h2>What's Changed</h2> <ul> <li>Declare workflow permissions by <a href="https://github.com/sethvargo"><code>@sethvargo</code></a> in <a href="https://redirect.github.com/google-github-actions/auth/pull/482">google-github-actions/auth#482</a></li> <li>Document that the OIDC token expires in 5min by <a href="https://github.com/sethvargo"><code>@sethvargo</code></a> in <a href="https://redirect.github.com/google-github-actions/auth/pull/483">google-github-actions/auth#483</a></li> <li>Release: v2.1.10 by <a href="https://github.com/google-github-actions-bot"><code>@google-github-actions-bot</code></a> in <a href="https://redirect.github.com/google-github-actions/auth/pull/484">google-github-actions/auth#484</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/google-github-actions/auth/compare/v2.1.9...v2.1.10">https://github.com/google-github-actions/auth/compare/v2.1.9...v2.1.10</a></p> <h2>v2.1.9</h2> <h2>What's Changed</h2> <ul> <li>Use our custom boolean parsing by <a href="https://github.com/sethvargo"><code>@sethvargo</code></a> in <a href="https://redirect.github.com/google-github-actions/auth/pull/478">google-github-actions/auth#478</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/google-github-actions/auth/commit/7c6bc770dae815cd3e89ee6cdf493a5fab2cc093"><code>7c6bc77</code></a> Release: v3.0.0 (<a href="https://redirect.github.com/google-github-actions/auth/issues/510">#510</a>)</li> <li><a href="https://github.com/google-github-actions/auth/commit/42e4997ee345eebb9d114030d0f9e9b47829ee80"><code>42e4997</code></a> Remove hacky script (<a href="https://redirect.github.com/google-github-actions/auth/issues/509">#509</a>)</li> <li><a href="https://github.com/google-github-actions/auth/commit/5ea4dc11472eebb0a541812f1063c7d318adf57e"><code>5ea4dc1</code></a> Bump to Node 24 and remove old parameters (<a href="https://redirect.github.com/google-github-actions/auth/issues/508">#508</a>)</li> <li>See full diff in <a href="https://github.com/google-github-actions/auth/compare/v2...v3">compare view</a></li> </ul> </details> <br /> Updates `google-github-actions/setup-gcloud` from 2 to 3 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/google-github-actions/setup-gcloud/releases">google-github-actions/setup-gcloud's releases</a>.</em></p> <blockquote> <h2>v3</h2> <p>Floating v3 tag</p> <h2>v2.2.1</h2> <h2>What's Changed</h2> <ul> <li>Update deps by <a href="https://github.com/sethvargo"><code>@sethvargo</code></a> in <a href="https://redirect.github.com/google-github-actions/setup-gcloud/pull/720">google-github-actions/setup-gcloud#720</a></li> <li>Bump to the latest actions-utils to fix the gen-readme bug by <a href="https://github.com/sethvargo"><code>@sethvargo</code></a> in <a href="https://redirect.github.com/google-github-actions/setup-gcloud/pull/721">google-github-actions/setup-gcloud#721</a></li> <li>Release: v2.2.1 by <a href="https://github.com/google-github-actions-bot"><code>@google-github-actions-bot</code></a> in <a href="https://redirect.github.com/google-github-actions/setup-gcloud/pull/722">google-github-actions/setup-gcloud#722</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/google-github-actions/setup-gcloud/compare/v2...v2.2.1">https://github.com/google-github-actions/setup-gcloud/compare/v2...v2.2.1</a></p> <h2>v2.2.0</h2> <h2>What's Changed</h2> <ul> <li>Introduce an option to skip the tool cache by <a href="https://github.com/sethvargo"><code>@sethvargo</code></a> in <a href="https://redirect.github.com/google-github-actions/setup-gcloud/pull/718">google-github-actions/setup-gcloud#718</a></li> <li>Release: v2.2.0 by <a href="https://github.com/google-github-actions-bot"><code>@google-github-actions-bot</code></a> in <a href="https://redirect.github.com/google-github-actions/setup-gcloud/pull/719">google-github-actions/setup-gcloud#719</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/google-github-actions/setup-gcloud/compare/v2.1.5...v2.2.0">https://github.com/google-github-actions/setup-gcloud/compare/v2.1.5...v2.2.0</a></p> <h2>v2.1.5</h2> <h2>What's Changed</h2> <ul> <li>security: bump undici from 5.28.5 to 5.29.0 in the npm_and_yarn group by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/google-github-actions/setup-gcloud/pull/711">google-github-actions/setup-gcloud#711</a></li> <li>Update linters by <a href="https://github.com/sethvargo"><code>@sethvargo</code></a> in <a href="https://redirect.github.com/google-github-actions/setup-gcloud/pull/715">google-github-actions/setup-gcloud#715</a></li> <li>Update deps by <a href="https://github.com/sethvargo"><code>@sethvargo</code></a> in <a href="https://redirect.github.com/google-github-actions/setup-gcloud/pull/716">google-github-actions/setup-gcloud#716</a></li> <li>Release: v2.1.5 by <a href="https://github.com/google-github-actions-bot"><code>@google-github-actions-bot</code></a> in <a href="https://redirect.github.com/google-github-actions/setup-gcloud/pull/717">google-github-actions/setup-gcloud#717</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/google-github-actions/setup-gcloud/compare/v2.1.4...v2.1.5">https://github.com/google-github-actions/setup-gcloud/compare/v2.1.4...v2.1.5</a></p> <h2>v2.1.4</h2> <h2>What's Changed</h2> <ul> <li>Revert to pinned release workflows by <a href="https://github.com/sethvargo"><code>@sethvargo</code></a> in <a href="https://redirect.github.com/google-github-actions/setup-gcloud/pull/706">google-github-actions/setup-gcloud#706</a></li> <li>Release: v2.1.4 by <a href="https://github.com/google-github-actions-bot"><code>@google-github-actions-bot</code></a> in <a href="https://redirect.github.com/google-github-actions/setup-gcloud/pull/707">google-github-actions/setup-gcloud#707</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/google-github-actions/setup-gcloud/compare/v2.1.3...v2.1.4">https://github.com/google-github-actions/setup-gcloud/compare/v2.1.3...v2.1.4</a></p> <h2>v2.1.3</h2> <h2>What's Changed</h2> <ul> <li>Allow manually running integration tests with workflow_dispatch by <a href="https://github.com/sethvargo"><code>@sethvargo</code></a> in <a href="https://redirect.github.com/google-github-actions/setup-gcloud/pull/702">google-github-actions/setup-gcloud#702</a></li> <li>security: bump undici from 5.28.4 to 5.28.5 in the npm_and_yarn group by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/google-github-actions/setup-gcloud/pull/703">google-github-actions/setup-gcloud#703</a></li> <li>Update deps by <a href="https://github.com/sethvargo"><code>@sethvargo</code></a> in <a href="https://redirect.github.com/google-github-actions/setup-gcloud/pull/704">google-github-actions/setup-gcloud#704</a></li> <li>Release: v2.1.3 by <a href="https://github.com/google-github-actions-bot"><code>@google-github-actions-bot</code></a> in <a href="https://redirect.github.com/google-github-actions/setup-gcloud/pull/705">google-github-actions/setup-gcloud#705</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/google-github-actions/setup-gcloud/compare/v2...v2.1.3">https://github.com/google-github-actions/setup-gcloud/compare/v2...v2.1.3</a></p> <h2>v2.1.2</h2> <h2>What's Changed</h2> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/google-github-actions/setup-gcloud/commit/aa5489c8933f4cc7a4f7d45035b3b1440c9c10db"><code>aa5489c</code></a> Release: v3.0.1 (<a href="https://redirect.github.com/google-github-actions/setup-gcloud/issues/729">#729</a>)</li> <li><a href="https://github.com/google-github-actions/setup-gcloud/commit/26f734c2779b00b7dda794207734c511110a4368"><code>26f734c</code></a> Release: v3.0.0 (<a href="https://redirect.github.com/google-github-actions/setup-gcloud/issues/726">#726</a>)</li> <li><a href="https://github.com/google-github-actions/setup-gcloud/commit/d26df95ce13fba88a7c3f942b50bab0a6e17dc95"><code>d26df95</code></a> Update to use v3 references (<a href="https://redirect.github.com/google-github-actions/setup-gcloud/issues/725">#725</a>)</li> <li><a href="https://github.com/google-github-actions/setup-gcloud/commit/f7c29183d6310acc4d89a82a2e4a06374e259082"><code>f7c2918</code></a> Do not use the tool-cache by default (<a href="https://redirect.github.com/google-github-actions/setup-gcloud/issues/724">#724</a>)</li> <li><a href="https://github.com/google-github-actions/setup-gcloud/commit/6387e6954450355c9cd00e752f0b5e6a07078e1a"><code>6387e69</code></a> Bump to node24 (<a href="https://redirect.github.com/google-github-actions/setup-gcloud/issues/723">#723</a>)</li> <li>See full diff in <a href="https://github.com/google-github-actions/setup-gcloud/compare/v2...v3">compare view</a></li> </ul> </details> <br /> Updates `actions/github-script` from 7 to 8 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/actions/github-script/releases">actions/github-script's releases</a>.</em></p> <blockquote> <h2>v8.0.0</h2> <h2>What's Changed</h2> <ul> <li>Update Node.js version support to 24.x by <a href="https://github.com/salmanmkc"><code>@salmanmkc</code></a> in <a href="https://redirect.github.com/actions/github-script/pull/637">actions/github-script#637</a></li> <li>README for updating actions/github-script from v7 to v8 by <a href="https://github.com/sneha-krip"><code>@sneha-krip</code></a> in <a href="https://redirect.github.com/actions/github-script/pull/653">actions/github-script#653</a></li> </ul> <h2>⚠️ Minimum Compatible Runner Version</h2> <p><strong>v2.327.1</strong><br /> <a href="https://github.com/actions/runner/releases/tag/v2.327.1">Release Notes</a></p> <p>Make sure your runner is updated to this version or newer to use this release.</p> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/salmanmkc"><code>@salmanmkc</code></a> made their first contribution in <a href="https://redirect.github.com/actions/github-script/pull/637">actions/github-script#637</a></li> <li><a href="https://github.com/sneha-krip"><code>@sneha-krip</code></a> made their first contribution in <a href="https://redirect.github.com/actions/github-script/pull/653">actions/github-script#653</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/github-script/compare/v7.1.0...v8.0.0">https://github.com/actions/github-script/compare/v7.1.0...v8.0.0</a></p> <h2>v7.1.0</h2> <h2>What's Changed</h2> <ul> <li>Upgrade husky to v9 by <a href="https://github.com/benelan"><code>@benelan</code></a> in <a href="https://redirect.github.com/actions/github-script/pull/482">actions/github-script#482</a></li> <li>Add workflow file for publishing releases to immutable action package by <a href="https://github.com/Jcambass"><code>@Jcambass</code></a> in <a href="https://redirect.github.com/actions/github-script/pull/485">actions/github-script#485</a></li> <li>Upgrade IA Publish by <a href="https://github.com/Jcambass"><code>@Jcambass</code></a> in <a href="https://redirect.github.com/actions/github-script/pull/486">actions/github-script#486</a></li> <li>Fix workflow status badges by <a href="https://github.com/joshmgross"><code>@joshmgross</code></a> in <a href="https://redirect.github.com/actions/github-script/pull/497">actions/github-script#497</a></li> <li>Update usage of <code>actions/upload-artifact</code> by <a href="https://github.com/joshmgross"><code>@joshmgross</code></a> in <a href="https://redirect.github.com/actions/github-script/pull/512">actions/github-script#512</a></li> <li>Clear up package name confusion by <a href="https://github.com/joshmgross"><code>@joshmgross</code></a> in <a href="https://redirect.github.com/actions/github-script/pull/514">actions/github-script#514</a></li> <li>Update dependencies with <code>npm audit fix</code> by <a href="https://github.com/joshmgross"><code>@joshmgross</code></a> in <a href="https://redirect.github.com/actions/github-script/pull/515">actions/github-script#515</a></li> <li>Specify that the used script is JavaScript by <a href="https://github.com/timotk"><code>@timotk</code></a> in <a href="https://redirect.github.com/actions/github-script/pull/478">actions/github-script#478</a></li> <li>chore: Add Dependabot for NPM and Actions by <a href="https://github.com/nschonni"><code>@nschonni</code></a> in <a href="https://redirect.github.com/actions/github-script/pull/472">actions/github-script#472</a></li> <li>Define <code>permissions</code> in workflows and update actions by <a href="https://github.com/joshmgross"><code>@joshmgross</code></a> in <a href="https://redirect.github.com/actions/github-script/pull/531">actions/github-script#531</a></li> <li>chore: Add Dependabot for .github/actions/install-dependencies by <a href="https://github.com/nschonni"><code>@nschonni</code></a> in <a href="https://redirect.github.com/actions/github-script/pull/532">actions/github-script#532</a></li> <li>chore: Remove .vscode settings by <a href="https://github.com/nschonni"><code>@nschonni</code></a> in <a href="https://redirect.github.com/actions/github-script/pull/533">actions/github-script#533</a></li> <li>ci: Use github/setup-licensed by <a href="https://github.com/nschonni"><code>@nschonni</code></a> in <a href="https://redirect.github.com/actions/github-script/pull/473">actions/github-script#473</a></li> <li>make octokit instance available as octokit on top of github, to make it easier to seamlessly copy examples from GitHub rest api or octokit documentations by <a href="https://github.com/iamstarkov"><code>@iamstarkov</code></a> in <a href="https://redirect.github.com/actions/github-script/pull/508">actions/github-script#508</a></li> <li>Remove <code>octokit</code> README updates for v7 by <a href="https://github.com/joshmgross"><code>@joshmgross</code></a> in <a href="https://redirect.github.com/actions/github-script/pull/557">actions/github-script#557</a></li> <li>docs: add "exec" usage examples by <a href="https://github.com/neilime"><code>@neilime</code></a> in <a href="https://redirect.github.com/actions/github-script/pull/546">actions/github-script#546</a></li> <li>Bump ruby/setup-ruby from 1.213.0 to 1.222.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/actions/github-script/pull/563">actions/github-script#563</a></li> <li>Bump ruby/setup-ruby from 1.222.0 to 1.229.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/actions/github-script/pull/575">actions/github-script#575</a></li> <li>Clearly document passing inputs to the <code>script</code> by <a href="https://github.com/joshmgross"><code>@joshmgross</code></a> in <a href="https://redirect.github.com/actions/github-script/pull/603">actions/github-script#603</a></li> <li>Update README.md by <a href="https://github.com/nebuk89"><code>@nebuk89</code></a> in <a href="https://redirect.github.com/actions/github-script/pull/610">actions/github-script#610</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/benelan"><code>@benelan</code></a> made their first contribution in <a href="https://redirect.github.com/actions/github-script/pull/482">actions/github-script#482</a></li> <li><a href="https://github.com/Jcambass"><code>@Jcambass</code></a> made their first contribution in <a href="https://redirect.github.com/actions/github-script/pull/485">actions/github-script#485</a></li> <li><a href="https://github.com/timotk"><code>@timotk</code></a> made their first contribution in <a href="https://redirect.github.com/actions/github-script/pull/478">actions/github-script#478</a></li> <li><a href="https://github.com/iamstarkov"><code>@iamstarkov</code></a> made their first contribution in <a href="https://redirect.github.com/actions/github-script/pull/508">actions/github-script#508</a></li> <li><a href="https://github.com/neilime"><code>@neilime</code></a> made their first contribution in <a href="https://redirect.github.com/actions/github-script/pull/546">actions/github-script#546</a></li> <li><a href="https://github.com/nebuk89"><code>@nebuk89</code></a> made their first contribution in <a href="https://redirect.github.com/actions/github-script/pull/610">actions/github-script#610</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/github-script/compare/v7...v7.1.0">https://github.com/actions/github-script/compare/v7...v7.1.0</a></p> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/actions/github-script/commit/ed597411d8f924073f98dfc5c65a23a2325f34cd"><code>ed59741</code></a> Merge pull request <a href="https://redirect.github.com/actions/github-script/issues/653">#653</a> from actions/sneha-krip/readme-for-v8</li> <li><a href="https://github.com/actions/github-script/commit/2dc352e4baefd91bec0d06f6ae2f1045d1687ca3"><code>2dc352e</code></a> Bold minimum Actions Runner version in README</li> <li><a href="https://github.com/actions/github-script/commit/01e118c8d0d22115597e46514b5794e7bc3d56f1"><code>01e118c</code></a> Update README for Node 24 runtime requirements</li> <li><a href="https://github.com/actions/github-script/commit/8b222ac82eda86dcad7795c9d49b839f7bf5b18b"><code>8b222ac</code></a> Apply suggestion from <a href="https://github.com/salmanmkc"><code>@salmanmkc</code></a></li> <li><a href="https://github.com/actions/github-script/commit/adc0eeac992408a7b276994ca87edde1c8ce4d25"><code>adc0eea</code></a> README for updating actions/github-script from v7 to v8</li> <li><a href="https://github.com/actions/github-script/commit/20fe497b3fe0c7be8aae5c9df711ac716dc9c425"><code>20fe497</code></a> Merge pull request <a href="https://redirect.github.com/actions/github-script/issues/637">#637</a> from actions/node24</li> <li><a href="https://github.com/actions/github-script/commit/e7b7f222b11a03e8b695c4c7afba89a02ea20164"><code>e7b7f22</code></a> update licenses</li> <li><a href="https://github.com/actions/github-script/commit/2c81ba05f308415d095291e6eeffe983d822345b"><code>2c81ba0</code></a> Update Node.js version support to 24.x</li> <li>See full diff in <a href="https://github.com/actions/github-script/compare/v7...v8">compare view</a></li> </ul> </details> <br /> Updates `actions/setup-python` from 5 to 6 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/actions/setup-python/releases">actions/setup-python's releases</a>.</em></p> <blockquote> <h2>v6.0.0</h2> <h2>What's Changed</h2> <h3>Breaking Changes</h3> <ul> <li>Upgrade to node 24 by <a href="https://github.com/salmanmkc"><code>@salmanmkc</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/1164">actions/setup-python#1164</a></li> </ul> <p>Make sure your runner is on version v2.327.1 or later to ensure compatibility with this release. <a href="https://github.com/actions/runner/releases/tag/v2.327.1">See Release Notes</a></p> <h3>Enhancements:</h3> <ul> <li>Add support for <code>pip-version</code> by <a href="https://github.com/priyagupta108"><code>@priyagupta108</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/1129">actions/setup-python#1129</a></li> <li>Enhance reading from .python-version by <a href="https://github.com/krystof-k"><code>@krystof-k</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/787">actions/setup-python#787</a></li> <li>Add version parsing from Pipfile by <a href="https://github.com/aradkdj"><code>@aradkdj</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/1067">actions/setup-python#1067</a></li> </ul> <h3>Bug fixes:</h3> <ul> <li>Clarify pythonLocation behaviour for PyPy and GraalPy in environment variables by <a href="https://github.com/aparnajyothi-y"><code>@aparnajyothi-y</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/1183">actions/setup-python#1183</a></li> <li>Change missing cache directory error to warning by <a href="https://github.com/aparnajyothi-y"><code>@aparnajyothi-y</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/1182">actions/setup-python#1182</a></li> <li>Add Architecture-Specific PATH Management for Python with --user Flag on Windows by <a href="https://github.com/aparnajyothi-y"><code>@aparnajyothi-y</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/1122">actions/setup-python#1122</a></li> <li>Include python version in PyPy python-version output by <a href="https://github.com/cdce8p"><code>@cdce8p</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/1110">actions/setup-python#1110</a></li> <li>Update docs: clarification on pip authentication with setup-python by <a href="https://github.com/priya-kinthali"><code>@priya-kinthali</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/1156">actions/setup-python#1156</a></li> </ul> <h3>Dependency updates:</h3> <ul> <li>Upgrade idna from 2.9 to 3.7 in /<strong>tests</strong>/data by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/actions/setup-python/pull/843">actions/setup-python#843</a></li> <li>Upgrade form-data to fix critical vulnerabilities <a href="https://redirect.github.com/actions/setup-python/issues/182">#182</a> & <a href="https://redirect.github.com/actions/setup-python/issues/183">#183</a> by <a href="https://github.com/aparnajyothi-y"><code>@aparnajyothi-y</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/1163">actions/setup-python#1163</a></li> <li>Upgrade setuptools to 78.1.1 to fix path traversal vulnerability in PackageIndex.download by <a href="https://github.com/aparnajyothi-y"><code>@aparnajyothi-y</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/1165">actions/setup-python#1165</a></li> <li>Upgrade actions/checkout from 4 to 5 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/actions/setup-python/pull/1181">actions/setup-python#1181</a></li> <li>Upgrade <code>@actions/tool-cache</code> from 2.0.1 to 2.0.2 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/actions/setup-python/pull/1095">actions/setup-python#1095</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/krystof-k"><code>@krystof-k</code></a> made their first contribution in <a href="https://redirect.github.com/actions/setup-python/pull/787">actions/setup-python#787</a></li> <li><a href="https://github.com/cdce8p"><code>@cdce8p</code></a> made their first contribution in <a href="https://redirect.github.com/actions/setup-python/pull/1110">actions/setup-python#1110</a></li> <li><a href="https://github.com/aradkdj"><code>@aradkdj</code></a> made their first contribution in <a href="https://redirect.github.com/actions/setup-python/pull/1067">actions/setup-python#1067</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/setup-python/compare/v5...v6.0.0">https://github.com/actions/setup-python/compare/v5...v6.0.0</a></p> <h2>v5.6.0</h2> <h2>What's Changed</h2> <ul> <li>Workflow updates related to Ubuntu 20.04 by <a href="https://github.com/aparnajyothi-y"><code>@aparnajyothi-y</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/1065">actions/setup-python#1065</a></li> <li>Fix for Candidate Not Iterable Error by <a href="https://github.com/aparnajyothi-y"><code>@aparnajyothi-y</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/1082">actions/setup-python#1082</a></li> <li>Upgrade semver and <code>@types/semver</code> by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/1091">actions/setup-python#1091</a></li> <li>Upgrade prettier from 2.8.8 to 3.5.3 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/1046">actions/setup-python#1046</a></li> <li>Upgrade ts-jest from 29.1.2 to 29.3.2 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/1081">actions/setup-python#1081</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/setup-python/compare/v5...v5.6.0">https://github.com/actions/setup-python/compare/v5...v5.6.0</a></p> <h2>v5.5.0</h2> <h2>What's Changed</h2> <h3>Enhancements:</h3> <ul> <li>Support free threaded Python versions like '3.13t' by <a href="https://github.com/colesbury"><code>@colesbury</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/973">actions/setup-python#973</a></li> <li>Enhance Workflows: Include ubuntu-arm runners, Add e2e Testing for free threaded and Upgrade <code>@action/cache</code> from 4.0.0 to 4.0.3 by <a href="https://github.com/priya-kinthali"><code>@priya-kinthali</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/1056">actions/setup-python#1056</a></li> <li>Add support for .tool-versions file in setup-python by <a href="https://github.com/mahabaleshwars"><code>@mahabaleshwars</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/1043">actions/setup-python#1043</a></li> </ul> <h3>Bug fixes:</h3> <ul> <li>Fix architecture for pypy on Linux ARM64 by <a href="https://github.com/mayeut"><code>@mayeut</code></a> in <a href="https://redirect.github.com/actions/setup-python/pull/1011">actions/setup-python#1011</a> This update maps arm64 to aarch64 for Linux ARM64 PyPy installations.</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/actions/setup-python/commit/83679a892e2d95755f2dac6acb0bfd1e9ac5d548"><code>83679a8</code></a> Bump <code>@types/node</code> from 24.1.0 to 24.9.1 and update macos-13 to macos-15-intel ...</li> <li><a href="https://github.com/actions/setup-python/commit/bfc4944b43a5d84377eca3cf6ab5b7992ba61923"><code>bfc4944</code></a> Bump prettier from 3.5.3 to 3.6.2 (<a href="https://redirect.github.com/actions/setup-python/issues/1234">#1234</a>)</li> <li><a href="https://github.com/actions/setup-python/commit/97aeb3efb8a852c559869050c7fb175b4efcc8cf"><code>97aeb3e</code></a> Bump requests from 2.32.2 to 2.32.4 in /<strong>tests</strong>/data (<a href="https://redirect.github.com/actions/setup-python/issues/1130">#1130</a>)</li> <li><a href="https://github.com/actions/setup-python/commit/443da59188462e2402e2942686db5aa6723f4bed"><code>443da59</code></a> Bump actions/publish-action from 0.3.0 to 0.4.0 & Documentation update for pi...</li> <li><a href="https://github.com/actions/setup-python/commit/cfd55ca82492758d853442341ad4d8010466803a"><code>cfd55ca</code></a> graalpy: add graalpy early-access and windows builds (<a href="https://redirect.github.com/actions/setup-python/issues/880">#880</a>)</li> <li><a href="https://github.com/actions/setup-python/commit/bba65e51ff35d50c6dbaaacd8a4681db13aa7cb4"><code>bba65e5</code></a> Bump typescript from 5.4.2 to 5.9.3 and update docs/advanced-usage.md (<a href="https://redirect.github.com/actions/setup-python/issues/1094">#1094</a>)</li> <li><a href="https://github.com/actions/setup-python/commit/18566f86b301499665bd3eb1a2247e0849c64fa5"><code>18566f8</code></a> Improve wording and "fix example" (remove 3.13) on testing against pre-releas...</li> <li><a href="https://github.com/actions/setup-python/commit/2e3e4b15a884dc73a63f962bff250a855150a234"><code>2e3e4b1</code></a> Add support for pip-install input (<a href="https://redirect.github.com/actions/setup-python/issues/1201">#1201</a>)</li> <li><a href="https://github.com/actions/setup-python/commit/4267e283df95c05d9f16ece6624106f44613b489"><code>4267e28</code></a> Bump urllib3 from 1.26.19 to 2.5.0 in /<strong>tests</strong>/data and document breaking c...</li> <li><a href="https://github.com/actions/setup-python/commit/e797f83bcb11b83ae66e0230d6156d7c80228e7c"><code>e797f83</code></a> Upgrade to node 24 (<a href="https://redirect.github.com/actions/setup-python/issues/1164">#1164</a>)</li> <li>Additional commits viewable in <a href="https://github.com/actions/setup-python/compare/v5...v6">compare view</a></li> </ul> </details> <br /> Updates `astral-sh/setup-uv` from 4 to 7 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/astral-sh/setup-uv/releases">astral-sh/setup-uv's releases</a>.</em></p> <blockquote> <h2>v7.0.0 🌈 node24 and a lot of bugfixes</h2> <h2>Changes</h2> <p>This release comes with a load of bug fixes and a speed up. Because of switching from node20 to node24 it is also a breaking change. If you are running on GitHub hosted runners this will just work, if you are using self-hosted runners make sure, that your runners are up to date. If you followed the normal installation instructions your self-hosted runner will keep itself updated.</p> <p>This release also removes the deprecated input <code>server-url</code> which was used to download uv releases from a different server. The <a href="https://github.com/astral-sh/setup-uv?tab=readme-ov-file#manifest-file">manifest-file</a> input supersedes that functionality by adding a flexible way to define available versions and where they should be downloaded from.</p> <h3>Fixes</h3> <ul> <li>The action now respects when the environment variable <code>UV_CACHE_DIR</code> is already set and does not overwrite it. It now also finds <a href="https://docs.astral.sh/uv/reference/settings/#cache-dir">cache-dir</a> settings in config files if you set them.</li> <li>Some users encountered problems that <a href="https://github.com/astral-sh/setup-uv?tab=readme-ov-file#disable-cache-pruning">cache pruning</a> took forever because they had some <code>uv</code> processes running in the background. Starting with uv version <code>0.8.24</code> this action uses <code>uv cache prune --ci --force</code> to ignore the running processes</li> <li>If you just want to install uv but not have it available in path, this action now respects <code>UV_NO_MODIFY_PATH</code></li> <li>Some other actions also set the env var <code>UV_CACHE_DIR</code>. This action can now deal with that but as this could lead to unwanted behavior in some edgecases a warning is now displayed.</li> </ul> <h3>Improvements</h3> <p>If you are using minimum version specifiers for the version of uv to install for example</p> <pre lang="toml"><code>[tool.uv] required-version = ">=0.8.17" </code></pre> <p>This action now detects that and directly uses the latest version. Previously it would download all available releases from the uv repo to determine the highest matching candidate for the version specifier, which took much more time.</p> <p>If you are using other specifiers like <code>0.8.x</code> this action still needs to download all available releases because the specifier defines an upper bound (not 0.9.0 or later) and "latest" would possibly not satisfy that.</p> <h2>🚨 Breaking changes</h2> <ul> <li>Use node24 instead of node20 <a href="https://github.com/eifinger"><code>@eifinger</code></a> (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/608">#608</a>)</li> <li>Remove deprecated input server-url <a href="https://github.com/eifinger"><code>@eifinger</code></a> (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/607">#607</a>)</li> </ul> <h2>🐛 Bug fixes</h2> <ul> <li>Respect UV_CACHE_DIR and cache-dir <a href="https://github.com/eifinger"><code>@eifinger</code></a> (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/612">#612</a>)</li> <li>Use --force when pruning cache <a href="https://github.com/eifinger"><code>@eifinger</code></a> (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/611">#611</a>)</li> <li>Respect UV_NO_MODIFY_PATH <a href="https://github.com/eifinger"><code>@eifinger</code></a> (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/603">#603</a>)</li> <li>Warn when <code>UV_CACHE_DIR</code> has changed <a href="https://github.com/jamesbraza"><code>@jamesbraza</code></a> (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/601">#601</a>)</li> </ul> <h2>🚀 Enhancements</h2> <ul> <li>Shortcut to latest version for minimum version specifier <a href="https://github.com/eifinger"><code>@eifinger</code></a> (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/598">#598</a>)</li> </ul> <h2>🧰 Maintenance</h2> <ul> <li>Bump dependencies <a href="https://github.com/eifinger"><code>@eifinger</code></a> (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/613">#613</a>)</li> <li>Fix test-uv-no-modify-path <a href="https://github.com/eifinger"><code>@eifinger</code></a> (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/604">#604</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/astral-sh/setup-uv/commit/1e862dfacbd1d6d858c55d9b792c756523627244"><code>1e862df</code></a> Wait 50ms before exit to fix libuv bug (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/689">#689</a>)</li> <li><a href="https://github.com/astral-sh/setup-uv/commit/d7d33e16d4ecbbea0da49ecb6fcc16df877ddac8"><code>d7d33e1</code></a> chore: update known checksums for 0.9.10 (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/681">#681</a>)</li> <li><a href="https://github.com/astral-sh/setup-uv/commit/486d0b887200c1d9bb3a30439404f78461090c4f"><code>486d0b8</code></a> chore: update known checksums for 0.9.9 (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/679">#679</a>)</li> <li><a href="https://github.com/astral-sh/setup-uv/commit/5a7eac68fb9809dea845d802897dc5c723910fa3"><code>5a7eac6</code></a> use old undici and ES2022 target for act support (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/678">#678</a>)</li> <li><a href="https://github.com/astral-sh/setup-uv/commit/b49dc9e8821aa6e5df06b85779f66761402a1787"><code>b49dc9e</code></a> chore: update known checksums for 0.9.8 (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/677">#677</a>)</li> <li><a href="https://github.com/astral-sh/setup-uv/commit/30ce38e20653a26dd16caa082b010cec334ccf56"><code>30ce38e</code></a> Correct description of <code>cache-dependency-glob</code> (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/676">#676</a>)</li> <li><a href="https://github.com/astral-sh/setup-uv/commit/0d20755a2389f8ddbd3ad4f8a536309a4db22de9"><code>0d20755</code></a> chore: update known checksums for 0.9.7 (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/671">#671</a>)</li> <li><a href="https://github.com/astral-sh/setup-uv/commit/8491d1d9a36c62443856ebb0fe897f2255bdc242"><code>8491d1d</code></a> chore: update known checksums for 0.9.6 (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/670">#670</a>)</li> <li><a href="https://github.com/astral-sh/setup-uv/commit/85856786d1ce8acfbcc2f13a5f3fbd6b938f9f41"><code>8585678</code></a> Bump dependencies (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/664">#664</a>)</li> <li><a href="https://github.com/astral-sh/setup-uv/commit/22d500a65c34c827ebc95094040adcee254e92fa"><code>22d500a</code></a> Bump github/codeql-action from 4.30.8 to 4.30.9 (<a href="https://redirect.github.com/astral-sh/setup-uv/issues/652">#652</a>)</li> <li>Additional commits viewable in <a href="https://github.com/astral-sh/setup-uv/compare/v4...v7">compare view</a></li> </ul> </details> <br /> Updates `actions/upload-artifact` from 4 to 5 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/actions/upload-artifact/releases">actions/upload-artifact's releases</a>.</em></p> <blockquote> <h2>v5.0.0</h2> <h2>What's Changed</h2> <p><strong>BREAKING CHANGE:</strong> this update supports Node <code>v24.x</code>. This is not a breaking change per-se but we're treating it as such.</p> <ul> <li>Update README.md by <a href="https://github.com/GhadimiR"><code>@GhadimiR</code></a> in <a href="https://redirect.github.com/actions/upload-artifact/pull/681">actions/upload-artifact#681</a></li> <li>Update README.md by <a href="https://github.com/nebuk89"><code>@nebuk89</code></a> in <a href="https://redirect.github.com/actions/upload-artifact/pull/712">actions/upload-artifact#712</a></li> <li>Readme: spell out the first use of GHES by <a href="https://github.com/danwkennedy"><code>@danwkennedy</code></a> in <a href="https://redirect.github.com/actions/upload-artifact/pull/727">actions/upload-artifact#727</a></li> <li>Update GHES guidance to include reference to Node 20 version by <a href="https://github.com/patrikpolyak"><code>@patrikpolyak</code></a> in <a href="https://redirect.github.com/actions/upload-artifact/pull/725">actions/upload-artifact#725</a></li> <li>Bump <code>@actions/artifact</code> to <code>v4.0.0</code></li> <li>Prepare <code>v5.0.0</code> by <a href="https://github.com/danwkennedy"><code>@danwkennedy</code></a> in <a href="https://redirect.github.com/actions/upload-artifact/pull/734">actions/upload-artifact#734</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/GhadimiR"><code>@GhadimiR</code></a> made their first contribution in <a href="https://redirect.github.com/actions/upload-artifact/pull/681">actions/upload-artifact#681</a></li> <li><a href="https://github.com/nebuk89"><code>@nebuk89</code></a> made their first contribution in <a href="https://redirect.github.com/actions/upload-artifact/pull/712">actions/upload-artifact#712</a></li> <li><a href="https://github.com/danwkennedy"><code>@danwkennedy</code></a> made their first contribution in <a href="https://redirect.github.com/actions/upload-artifact/pull/727">actions/upload-artifact#727</a></li> <li><a href="https://github.com/patrikpolyak"><code>@patrikpolyak</code></a> made their first contribution in <a href="https://redirect.github.com/actions/upload-artifact/pull/725">actions/upload-artifact#725</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/upload-artifact/compare/v4...v5.0.0">https://github.com/actions/upload-artifact/compare/v4...v5.0.0</a></p> <h2>v4.6.2</h2> <h2>What's Changed</h2> <ul> <li>Update to use artifact 2.3.2 package & prepare for new upload-artifact release by <a href="https://github.com/salmanmkc"><code>@salmanmkc</code></a> in <a href="https://redirect.github.com/actions/upload-artifact/pull/685">actions/upload-artifact#685</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/salmanmkc"><code>@salmanmkc</code></a> made their first contribution in <a href="https://redirect.github.com/actions/upload-artifact/pull/685">actions/upload-artifact#685</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/upload-artifact/compare/v4...v4.6.2">https://github.com/actions/upload-artifact/compare/v4...v4.6.2</a></p> <h2>v4.6.1</h2> <h2>What's Changed</h2> <ul> <li>Update to use artifact 2.2.2 package by <a href="https://github.com/yacaovsnc"><code>@yacaovsnc</code></a> in <a href="https://redirect.github.com/actions/upload-artifact/pull/673">actions/upload-artifact#673</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/upload-artifact/compare/v4...v4.6.1">https://github.com/actions/upload-artifact/compare/v4...v4.6.1</a></p> <h2>v4.6.0</h2> <h2>What's Changed</h2> <ul> <li>Expose env vars to control concurrency and timeout by <a href="https://github.com/yacaovsnc"><code>@yacaovsnc</code></a> in <a href="https://redirect.github.com/actions/upload-artifact/pull/662">actions/upload-artifact#662</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/upload-artifact/compare/v4...v4.6.0">https://github.com/actions/upload-artifact/compare/v4...v4.6.0</a></p> <h2>v4.5.0</h2> <h2>What's Changed</h2> <ul> <li>fix: deprecated <code>Node.js</code> version in action by <a href="https://github.com/hamirmahal"><code>@hamirmahal</code></a> in <a href="https://redirect.github.com/actions/upload-artifact/pull/578">actions/upload-artifact#578</a></li> <li>Add new <code>artifact-digest</code> output by <a href="https://github.com/bdehamer"><code>@bdehamer</code></a> in <a href="https://redirect.github.com/actions/upload-artifact/pull/656">actions/upload-artifact#656</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/hamirmahal"><code>@hamirmahal</code></a> made their first contribution in <a href="https://redirect.github.com/actions/upload-artifact/pull/578">actions/upload-artifact#578</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/actions/upload-artifact/commit/330a01c490aca151604b8cf639adc76d48f6c5d4"><code>330a01c</code></a> Merge pull request <a href="https://redirect.github.com/actions/upload-artifact/issues/734">#734</a> from actions/danwkennedy/prepare-5.0.0</li> <li><a href="https://github.com/actions/upload-artifact/commit/03f282445299bbefc96171af272a984663b63a26"><code>03f2824</code></a> Update <code>github.dep.yml</code></li> <li><a href="https://github.com/actions/upload-artifact/commit/905a1ecb5915b264cbc519e4eb415b5d82916018"><code>905a1ec</code></a> Prepare <code>v5.0.0</code></li> <li><a href="…
- Change package-ecosystem from "pip" to "uv" - Maintain weekly update schedule
All workflows using gh CLI commands need to be in a git repository context. Added checkout steps to: - gen-new-plot.yml (create-sub-issues and summary jobs) - bot-sync-status.yml - bot-auto-merge.yml (auto-merge job) - gen-update-plot.yml (early checkout before gh commands) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Bumps the python-minor group with 4 updates: [fastapi](https://github.com/fastapi/fastapi), [pydantic](https://github.com/pydantic/pydantic), [ruff](https://github.com/astral-sh/ruff) and [mypy](https://github.com/python/mypy). Updates `fastapi` from 0.121.2 to 0.122.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/fastapi/fastapi/releases">fastapi's releases</a>.</em></p> <blockquote> <h2>0.122.0</h2> <h3>Fixes</h3> <ul> <li>🐛 Use <code>401</code> status code in security classes when credentials are missing. PR <a href="https://redirect.github.com/fastapi/fastapi/pull/13786">#13786</a> by <a href="https://github.com/YuriiMotov"><code>@YuriiMotov</code></a>. <ul> <li>If your code depended on these classes raising the old (less correct) <code>403</code> status code, check the new docs about how to override the classes, to use the same old behavior: <a href="https://fastapi.tiangolo.com/how-to/authentication-error-status-code/">Use Old 403 Authentication Error Status Codes</a>.</li> </ul> </li> </ul> <h3>Internal</h3> <ul> <li>🔧 Configure labeler to exclude files that start from underscore for <code>lang-all</code> label. PR <a href="https://redirect.github.com/fastapi/fastapi/pull/14213">#14213</a> by <a href="https://github.com/YuriiMotov"><code>@YuriiMotov</code></a>.</li> <li>👷 Add pre-commit config with local script for permalinks. PR <a href="https://redirect.github.com/fastapi/fastapi/pull/14398">#14398</a> by <a href="https://github.com/tiangolo"><code>@tiangolo</code></a>.</li> <li>💄 Use font Fira Code to fix display of Rich panels in docs in Windows. PR <a href="https://redirect.github.com/fastapi/fastapi/pull/14387">#14387</a> by <a href="https://github.com/tiangolo"><code>@tiangolo</code></a>.</li> <li>👷 Add custom pre-commit CI. PR <a href="https://redirect.github.com/fastapi/fastapi/pull/14397">#14397</a> by <a href="https://github.com/tiangolo"><code>@tiangolo</code></a>.</li> <li>⬆ Bump actions/checkout from 5 to 6. PR <a href="https://redirect.github.com/fastapi/fastapi/pull/14381">#14381</a> by <a href="https://github.com/apps/dependabot"><code>@dependabot[bot]</code></a>.</li> <li>👷 Upgrade <code>latest-changes</code> GitHub Action and pin <code>actions/checkout@v5</code>. PR <a href="https://redirect.github.com/fastapi/fastapi/pull/14403">#14403</a> by <a href="https://github.com/svlandeg"><code>@svlandeg</code></a>.</li> <li>🛠️ Add <code>add-permalinks</code> and <code>add-permalinks-page</code> to <code>scripts/docs.py</code>. PR <a href="https://redirect.github.com/fastapi/fastapi/pull/14033">#14033</a> by <a href="https://github.com/YuriiMotov"><code>@YuriiMotov</code></a>.</li> <li>🔧 Upgrade Material for MkDocs and remove insiders. PR <a href="https://redirect.github.com/fastapi/fastapi/pull/14375">#14375</a> by <a href="https://github.com/tiangolo"><code>@tiangolo</code></a>.</li> </ul> <h2>0.121.3</h2> <h3>Refactors</h3> <ul> <li>♻️ Make the result of <code>Depends()</code> and <code>Security()</code> hashable, as a workaround for other tools interacting with these internal parts. PR <a href="https://redirect.github.com/fastapi/fastapi/pull/14372">#14372</a> by <a href="https://github.com/tiangolo"><code>@tiangolo</code></a>.</li> </ul> <h3>Upgrades</h3> <ul> <li>⬆️ Bump Starlette to <<code>0.51.0</code>. PR <a href="https://redirect.github.com/fastapi/fastapi/pull/14282">#14282</a> by <a href="https://github.com/musicinmybrain"><code>@musicinmybrain</code></a>.</li> </ul> <h3>Docs</h3> <ul> <li>📝 Add missing hash part. PR <a href="https://redirect.github.com/fastapi/fastapi/pull/14369">#14369</a> by <a href="https://github.com/nilslindemann"><code>@nilslindemann</code></a>.</li> <li>📝 Fix typos in code comments. PR <a href="https://redirect.github.com/fastapi/fastapi/pull/14364">#14364</a> by <a href="https://github.com/Edge-Seven"><code>@Edge-Seven</code></a>.</li> <li>📝 Add docs for using FastAPI Cloud. PR <a href="https://redirect.github.com/fastapi/fastapi/pull/14359">#14359</a> by <a href="https://github.com/tiangolo"><code>@tiangolo</code></a>.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/fastapi/fastapi/commit/5b0625df96e4ea11b54fcb2a76f21f7ad94764fe"><code>5b0625d</code></a> 🔖 Release version 0.122.0</li> <li><a href="https://github.com/fastapi/fastapi/commit/8732c53478513ddd35ae152ff9bf5e6217ed3d99"><code>8732c53</code></a> 📝 Updates release notes</li> <li><a href="https://github.com/fastapi/fastapi/commit/a4ef97afd937a8fd180a78e11c3648509e5bc14d"><code>a4ef97a</code></a> 📝 Update release notes</li> <li><a href="https://github.com/fastapi/fastapi/commit/51ad909ffe9f5b2d5c9315554e75e39a8a2d725c"><code>51ad909</code></a> 🐛 Use <code>401</code> status code in security classes when credentials are missing (<a href="https://redirect.github.com/fastapi/fastapi/issues/13">#13</a>...</li> <li><a href="https://github.com/fastapi/fastapi/commit/e2354a0a063f2fcb890ec568f1a98e136a39fd25"><code>e2354a0</code></a> 📝 Update release notes</li> <li><a href="https://github.com/fastapi/fastapi/commit/cc66dee55c9a0f34c2e277c0509c45c74abcefd1"><code>cc66dee</code></a> 📝 Update release notes</li> <li><a href="https://github.com/fastapi/fastapi/commit/ecfb752487bc3abef35b2786297bc575005c9e36"><code>ecfb752</code></a> 📝 Update release notes</li> <li><a href="https://github.com/fastapi/fastapi/commit/8b18522205b9ac738b241c4143c983e968fe6e15"><code>8b18522</code></a> 📝 Update release notes</li> <li><a href="https://github.com/fastapi/fastapi/commit/a2395e02436a3788400d864696120fcd91af38cc"><code>a2395e0</code></a> 📝 Update release notes</li> <li><a href="https://github.com/fastapi/fastapi/commit/c7d05a903ce34e8578237cf2aab7242cefe51af2"><code>c7d05a9</code></a> 📝 Update release notes</li> <li>Additional commits viewable in <a href="https://github.com/fastapi/fastapi/compare/0.121.2...0.122.0">compare view</a></li> </ul> </details> <br /> Updates `pydantic` from 2.12.4 to 2.12.5 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pydantic/pydantic/releases">pydantic's releases</a>.</em></p> <blockquote> <h2>v2.12.5 2025-11-26</h2> <h2>v2.12.5 (2025-11-26)</h2> <p>This is the fifth 2.12 patch release, addressing an issue with the <code>MISSING</code> sentinel and providing several documentation improvements.</p> <p>The next 2.13 minor release will be published in a couple weeks, and will include a new <em>polymorphic serialization</em> feature addressing the remaining unexpected changes to the <em>serialize as any</em> behavior.</p> <ul> <li>Fix pickle error when using <code>model_construct()</code> on a model with <code>MISSING</code> as a default value by <a href="https://github.com/ornariece"><code>@ornariece</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/12522">#12522</a>.</li> <li>Several updates to the documentation by <a href="https://github.com/Viicos"><code>@Viicos</code></a>.</li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/pydantic/pydantic/compare/v2.12.4...v2.12.5">https://github.com/pydantic/pydantic/compare/v2.12.4...v2.12.5</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pydantic/pydantic/blob/v2.12.5/HISTORY.md">pydantic's changelog</a>.</em></p> <blockquote> <h2>v2.12.5 (2025-11-26)</h2> <p><a href="https://github.com/pydantic/pydantic/releases/tag/v2.12.5">GitHub release</a></p> <p>This is the fifth 2.12 patch release, addressing an issue with the <code>MISSING</code> sentinel and providing several documentation improvements.</p> <p>The next 2.13 minor release will be published in a couple weeks, and will include a new <em>polymorphic serialization</em> feature addressing the remaining unexpected changes to the <em>serialize as any</em> behavior.</p> <ul> <li>Fix pickle error when using <code>model_construct()</code> on a model with <code>MISSING</code> as a default value by <a href="https://github.com/ornariece"><code>@ornariece</code></a> in <a href="https://redirect.github.com/pydantic/pydantic/pull/12522">#12522</a>.</li> <li>Several updates to the documentation by <a href="https://github.com/Viicos"><code>@Viicos</code></a>.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pydantic/pydantic/commit/bd2d0dd0137dfa1a8fdff2529b9dfb1547980150"><code>bd2d0dd</code></a> Prepare release v2.12.5</li> <li><a href="https://github.com/pydantic/pydantic/commit/7d0302ec7ec2cf115de3450a615522875bdd8b56"><code>7d0302e</code></a> Document security implications when using <code>create_model()</code></li> <li><a href="https://github.com/pydantic/pydantic/commit/e9ef980def726b6f59b6c495ddc9dc259a0228db"><code>e9ef980</code></a> Fix typo in Standard Library Types documentation</li> <li><a href="https://github.com/pydantic/pydantic/commit/f2c20c00c265a31a13c48f9bae923a87c829952e"><code>f2c20c0</code></a> Add <code>pydantic-docs</code> dev dependency, make use of versioning blocks</li> <li><a href="https://github.com/pydantic/pydantic/commit/a76c1aa26f2d64a3fd080ac515d80832689197e8"><code>a76c1aa</code></a> Update documentation about JSON Schema</li> <li><a href="https://github.com/pydantic/pydantic/commit/8cbc72ca489891e574fba45238ee8bd4f8e719a2"><code>8cbc72c</code></a> Add documentation about custom <code>__init__()</code></li> <li><a href="https://github.com/pydantic/pydantic/commit/99eba599069da137b3f708ffa74627f2b456ba73"><code>99eba59</code></a> Add additional test for <code>FieldInfo.get_default()</code></li> <li><a href="https://github.com/pydantic/pydantic/commit/c71076988e507ea93844c77c3bf0bbb85a5716af"><code>c710769</code></a> Special case <code>MISSING</code> sentinel in <code>smart_deepcopy()</code></li> <li><a href="https://github.com/pydantic/pydantic/commit/20a9d771c210fd77d52366ac923258c4c199727f"><code>20a9d77</code></a> Do not delete mock validator/serializer in <code>rebuild_dataclass()</code></li> <li><a href="https://github.com/pydantic/pydantic/commit/c86515a3a8f2120148fab2eaedd3bc45925779d0"><code>c86515a</code></a> Update parts of the model and <code>revalidate_instances</code> documentation</li> <li>See full diff in <a href="https://github.com/pydantic/pydantic/compare/v2.12.4...v2.12.5">compare view</a></li> </ul> </details> <br /> Updates `ruff` from 0.14.5 to 0.14.7 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/astral-sh/ruff/releases">ruff's releases</a>.</em></p> <blockquote> <h2>0.14.7</h2> <h2>Release Notes</h2> <p>Released on 2025-11-28.</p> <h3>Preview features</h3> <ul> <li>[<code>flake8-bandit</code>] Handle string literal bindings in suspicious-url-open-usage (<code>S310</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/21469">#21469</a>)</li> <li>[<code>pylint</code>] Fix <code>PLR1708</code> false positives on nested functions (<a href="https://redirect.github.com/astral-sh/ruff/pull/21177">#21177</a>)</li> <li>[<code>pylint</code>] Fix suppression for empty dict without tuple key annotation (<code>PLE1141</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/21290">#21290</a>)</li> <li>[<code>ruff</code>] Add rule <code>RUF066</code> to detect unnecessary class properties (<a href="https://redirect.github.com/astral-sh/ruff/pull/21535">#21535</a>)</li> <li>[<code>ruff</code>] Catch more dummy variable uses (<code>RUF052</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/19799">#19799</a>)</li> </ul> <h3>Bug fixes</h3> <ul> <li>[server] Set severity for non-rule diagnostics (<a href="https://redirect.github.com/astral-sh/ruff/pull/21559">#21559</a>)</li> <li>[<code>flake8-implicit-str-concat</code>] Avoid invalid fix in (<code>ISC003</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/21517">#21517</a>)</li> <li>[<code>parser</code>] Fix panic when parsing IPython escape command expressions (<a href="https://redirect.github.com/astral-sh/ruff/pull/21480">#21480</a>)</li> </ul> <h3>CLI</h3> <ul> <li>Show partial fixability indicator in statistics output (<a href="https://redirect.github.com/astral-sh/ruff/pull/21513">#21513</a>)</li> </ul> <h3>Contributors</h3> <ul> <li><a href="https://github.com/mikeleppane"><code>@mikeleppane</code></a></li> <li><a href="https://github.com/senekor"><code>@senekor</code></a></li> <li><a href="https://github.com/ShaharNaveh"><code>@ShaharNaveh</code></a></li> <li><a href="https://github.com/JumboBear"><code>@JumboBear</code></a></li> <li><a href="https://github.com/prakhar1144"><code>@prakhar1144</code></a></li> <li><a href="https://github.com/tsvikas"><code>@tsvikas</code></a></li> <li><a href="https://github.com/danparizher"><code>@danparizher</code></a></li> <li><a href="https://github.com/chirizxc"><code>@chirizxc</code></a></li> <li><a href="https://github.com/AlexWaygood"><code>@AlexWaygood</code></a></li> <li><a href="https://github.com/MichaReiser"><code>@MichaReiser</code></a></li> </ul> <h2>Install ruff 0.14.7</h2> <h3>Install prebuilt binaries via shell script</h3> <pre lang="sh"><code>curl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/ruff/releases/download/0.14.7/ruff-installer.sh | sh </code></pre> <h3>Install prebuilt binaries via powershell script</h3> <pre lang="sh"><code>powershell -ExecutionPolicy Bypass -c "irm https://github.com/astral-sh/ruff/releases/download/0.14.7/ruff-installer.ps1 | iex" </code></pre> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md">ruff's changelog</a>.</em></p> <blockquote> <h2>0.14.7</h2> <p>Released on 2025-11-28.</p> <h3>Preview features</h3> <ul> <li>[<code>flake8-bandit</code>] Handle string literal bindings in suspicious-url-open-usage (<code>S310</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/21469">#21469</a>)</li> <li>[<code>pylint</code>] Fix <code>PLR1708</code> false positives on nested functions (<a href="https://redirect.github.com/astral-sh/ruff/pull/21177">#21177</a>)</li> <li>[<code>pylint</code>] Fix suppression for empty dict without tuple key annotation (<code>PLE1141</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/21290">#21290</a>)</li> <li>[<code>ruff</code>] Add rule <code>RUF066</code> to detect unnecessary class properties (<a href="https://redirect.github.com/astral-sh/ruff/pull/21535">#21535</a>)</li> <li>[<code>ruff</code>] Catch more dummy variable uses (<code>RUF052</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/19799">#19799</a>)</li> </ul> <h3>Bug fixes</h3> <ul> <li>[server] Set severity for non-rule diagnostics (<a href="https://redirect.github.com/astral-sh/ruff/pull/21559">#21559</a>)</li> <li>[<code>flake8-implicit-str-concat</code>] Avoid invalid fix in (<code>ISC003</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/21517">#21517</a>)</li> <li>[<code>parser</code>] Fix panic when parsing IPython escape command expressions (<a href="https://redirect.github.com/astral-sh/ruff/pull/21480">#21480</a>)</li> </ul> <h3>CLI</h3> <ul> <li>Show partial fixability indicator in statistics output (<a href="https://redirect.github.com/astral-sh/ruff/pull/21513">#21513</a>)</li> </ul> <h3>Contributors</h3> <ul> <li><a href="https://github.com/mikeleppane"><code>@mikeleppane</code></a></li> <li><a href="https://github.com/senekor"><code>@senekor</code></a></li> <li><a href="https://github.com/ShaharNaveh"><code>@ShaharNaveh</code></a></li> <li><a href="https://github.com/JumboBear"><code>@JumboBear</code></a></li> <li><a href="https://github.com/prakhar1144"><code>@prakhar1144</code></a></li> <li><a href="https://github.com/tsvikas"><code>@tsvikas</code></a></li> <li><a href="https://github.com/danparizher"><code>@danparizher</code></a></li> <li><a href="https://github.com/chirizxc"><code>@chirizxc</code></a></li> <li><a href="https://github.com/AlexWaygood"><code>@AlexWaygood</code></a></li> <li><a href="https://github.com/MichaReiser"><code>@MichaReiser</code></a></li> </ul> <h2>0.14.6</h2> <p>Released on 2025-11-21.</p> <h3>Preview features</h3> <ul> <li>[<code>flake8-bandit</code>] Support new PySNMP API paths (<code>S508</code>, <code>S509</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/21374">#21374</a>)</li> </ul> <h3>Bug fixes</h3> <ul> <li>Adjust own-line comment placement between branches (<a href="https://redirect.github.com/astral-sh/ruff/pull/21185">#21185</a>)</li> <li>Avoid syntax error when formatting attribute expressions with outer parentheses, parenthesized value, and trailing comment on value (<a href="https://redirect.github.com/astral-sh/ruff/pull/20418">#20418</a>)</li> <li>Fix panic when formatting comments in unary expressions (<a href="https://redirect.github.com/astral-sh/ruff/pull/21501">#21501</a>)</li> <li>Respect <code>fmt: skip</code> for compound statements on a single line (<a href="https://redirect.github.com/astral-sh/ruff/pull/20633">#20633</a>)</li> <li>[<code>refurb</code>] Fix <code>FURB103</code> autofix (<a href="https://redirect.github.com/astral-sh/ruff/pull/21454">#21454</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/astral-sh/ruff/commit/ecab623fb2fe3846de4cafa0dfef0385a7245941"><code>ecab623</code></a> Bump 0.14.7 (<a href="https://redirect.github.com/astral-sh/ruff/issues/21684">#21684</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/42f152108aad444b7d65359aea931be4dd15dffd"><code>42f1521</code></a> [ty] Generic types aliases (implicit and PEP 613) (<a href="https://redirect.github.com/astral-sh/ruff/issues/21553">#21553</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/594b7b04d3b04bcf42861f86207017c8117678ca"><code>594b7b0</code></a> [ty] Preserve quoting style when autofixing <code>TypedDict</code> keys (<a href="https://redirect.github.com/astral-sh/ruff/issues/21682">#21682</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/b5b4917d7f4a324f5d32cc55dfb1d08e75cc9e6f"><code>b5b4917</code></a> [ty] Fix override of final method summary (<a href="https://redirect.github.com/astral-sh/ruff/issues/21681">#21681</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/0084e94f78742685ddacf2dab28530c2ece3393e"><code>0084e94</code></a> [ty] Fix subtyping of <code>type[Any]</code> / <code>type[T]</code> and protocols (<a href="https://redirect.github.com/astral-sh/ruff/issues/21678">#21678</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/566c959add8c5aa5d25fd14db513c792e4048b50"><code>566c959</code></a> [ty] Rename <code>ReferenceRequestHandler</code> file (<a href="https://redirect.github.com/astral-sh/ruff/issues/21680">#21680</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/8bcfc198b83051db0c8a3c7b8f0c8a8c339947c7"><code>8bcfc19</code></a> [ty] Implement <code>typing.final</code> for methods (<a href="https://redirect.github.com/astral-sh/ruff/issues/21646">#21646</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/c534bfaf01671b8020edd440bc7f4f22070af583"><code>c534bfa</code></a> [ty] Implement patterns and typevars in the LSP (<a href="https://redirect.github.com/astral-sh/ruff/issues/21671">#21671</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/5e1b2eef5797b00de8329bf38ceacf5cacd00c87"><code>5e1b2ee</code></a> [ty] implement rendering of <code>.. code:: lang</code> in docstrings (<a href="https://redirect.github.com/astral-sh/ruff/issues/21665">#21665</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/98681b9356bd0b8ef086cc54118b58de532c5310"><code>98681b9</code></a> [ty] Add <code>db</code> parameter to <code>Parameters::new</code> method (<a href="https://redirect.github.com/astral-sh/ruff/issues/21674">#21674</a>)</li> <li>Additional commits viewable in <a href="https://github.com/astral-sh/ruff/compare/0.14.5...0.14.7">compare view</a></li> </ul> </details> <br /> Updates `mypy` from 1.18.2 to 1.19.0 <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/python/mypy/blob/master/CHANGELOG.md">mypy's changelog</a>.</em></p> <blockquote> <h1>Mypy Release Notes</h1> <h2>Next Release</h2> <h3>Drop Support for Python 3.9</h3> <p>Mypy no longer supports running with Python 3.9, which has reached end-of-life. When running mypy with Python 3.10+, it is still possible to type check code that needs to support Python 3.9 with the <code>--python-version 3.9</code> argument. Support for this will be dropped in the first half of 2026!</p> <p>Contributed by Marc Mueller (PR <a href="https://redirect.github.com/python/mypy/pull/20156">20156</a>).</p> <h2>Mypy 1.19</h2> <p>We’ve just uploaded mypy 1.19.0 to the Python Package Index (<a href="https://pypi.org/project/mypy/">PyPI</a>). Mypy is a static type checker for Python. This release includes new features, performance improvements and bug fixes. You can install it as follows:</p> <pre><code>python3 -m pip install -U mypy </code></pre> <p>You can read the full documentation for this release on <a href="http://mypy.readthedocs.io">Read the Docs</a>.</p> <h3>Python 3.9 Support Ending Soon</h3> <p>This is the last mypy feature release that supports Python 3.9, which reached end of life in October 2025.</p> <h3>Performance Improvements</h3> <ul> <li>Switch to a more dynamic SCC processing logic (Ivan Levkivskyi, PR <a href="https://redirect.github.com/python/mypy/pull/20053">20053</a>)</li> <li>Speed up type aliases (Ivan Levkivskyi, PR <a href="https://redirect.github.com/python/mypy/pull/19810">19810</a>)</li> </ul> <h3>Fixed‑Format Cache Improvements</h3> <p>Mypy uses a cache by default to speed up incremental runs by reusing partial results from earlier runs. Mypy 1.18 added a new binary fixed-format cache representation as an experimental feature. The feature is no longer experimental, and we are planning to enable it by default in a future mypy release (possibly 1.20), since it's faster and uses less space than the original, JSON-based cache format. Use <code>--fixed-format-cache</code> to enable the fixed-format cache.</p> <p>Mypy now has an extra dependency on the <code>librt</code> PyPI package, as it's needed for cache serialization and deserialization.</p> <p>Mypy ships with a tool to convert fixed-format cache files to the old JSON format. Example of how to use this:</p> <pre><code>$ python -m mypy.exportjson .mypy_cache/.../my_module.data.ff </code></pre> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/python/mypy/commit/0f068c9ec604daa09e69c92545b059f4b44f566e"><code>0f068c9</code></a> Remove +dev</li> <li><a href="https://github.com/python/mypy/commit/6d5cf52e67da306b62455cdce4ce9a9ccec35d02"><code>6d5cf52</code></a> Various updates to 1.19 changelog (<a href="https://redirect.github.com/python/mypy/issues/20304">#20304</a>)</li> <li><a href="https://github.com/python/mypy/commit/3c813083b27c87cf3a32e7422191b02bf59fab6e"><code>3c81308</code></a> Add draft version of 1.19 release notes (<a href="https://redirect.github.com/python/mypy/issues/20296">#20296</a>)</li> <li><a href="https://github.com/python/mypy/commit/1999a20e9898f673fa2f4c9a91790c075141ba71"><code>1999a20</code></a> [mypyc] librt base64: use existing SIMD CPU dispatch by customizing build fla...</li> <li><a href="https://github.com/python/mypy/commit/1b94fbb9fbc581de7e057d71e9892e3acbf9a7d3"><code>1b94fbb</code></a> [mypyc] Fix vtable pointer with inherited dunder new (<a href="https://redirect.github.com/python/mypy/issues/20302">#20302</a>)</li> <li><a href="https://github.com/python/mypy/commit/13369cb25fe450f755f63e59156b86df84c08b3d"><code>13369cb</code></a> [mypyc] Fix crash on super in generator (<a href="https://redirect.github.com/python/mypy/issues/20291">#20291</a>)</li> <li><a href="https://github.com/python/mypy/commit/a087a5894935cfdbc2eba27a6d04ebca38fd6659"><code>a087a58</code></a> Update import map when new modules added (<a href="https://redirect.github.com/python/mypy/issues/20271">#20271</a>)</li> <li><a href="https://github.com/python/mypy/commit/35e843cc38cedc1bdf87d9937c06d51189ad0e45"><code>35e843c</code></a> [mypyc] Add efficient librt.base64.b64decode (<a href="https://redirect.github.com/python/mypy/issues/20263">#20263</a>)</li> <li><a href="https://github.com/python/mypy/commit/094f66dc742cec2d69add9296fb21cdef50624d0"><code>094f66d</code></a> [mypyc] Add <strong>repr</strong> to AssignmentTarget subclasses (<a href="https://redirect.github.com/python/mypy/issues/20258">#20258</a>)</li> <li><a href="https://github.com/python/mypy/commit/0738db3f9d336622923c7ee143e1c3adf7600a31"><code>0738db3</code></a> Do not push partial types to the binder (<a href="https://redirect.github.com/python/mypy/issues/20202">#20202</a>)</li> <li>Additional commits viewable in <a href="https://github.com/python/mypy/compare/v1.18.2...v1.19.0">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Jobs with checkout steps need contents:read permission to access the repository. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
The repository doesn't have this secret, which was causing reusable workflow calls to fail silently. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
GitHub Actions job outputs are always strings, so workflow_call inputs should be strings to avoid type coercion issues. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
…constraint - Fix heredoc in gen-library-impl.yml to properly interpolate date - Remove matplotlib version constraint from seaborn dependencies - Seaborn 0.13+ works with any modern matplotlib 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
- Fix always-true assertions in test_workflows.py - Fix regex logic for empty section detection in test_prompts.py - Fix CORS test to properly check headers and reject error status codes - Improve workflow name matching to use substring comparison - Update requires-python from >=3.14 to >=3.13
- Extract approach from code using docstrings and comments - Include key imports in the generated comment - Limit approach bullet points to a maximum of 6 - Update workflow documentation for parallel code generation
- Refactor comment generation to include status section - Enhance readability by organizing comment lines into a list
…dation - Updated label removal logic in multiple workflow files - Added timeout and validation for API responses in Claude API calls - Improved concurrency handling in plot update workflow
- Introduced `label_manager.py` for consistent label operations across GitHub Issues and PRs - Added `workflow_cli.py` for command-line interface to workflow utilities - Updated `README.md` to document new modules and usage - Enhanced `gen-preview.yml` to specify workflow names - Added comprehensive unit tests for new functionalities
- Implement condition checks for successful workflow runs in `bot-ai-review.yml` - Add checks for action, label, and branch in `bot-auto-merge.yml` - Introduce condition validation for merged PRs in `bot-auto-tag.yml` - Ensure proper checks for issue linking in `bot-link-issue.yml` - Validate workflow run conclusions in `gen-preview.yml` and `gen-update-plot.yml`
- Fix regex patterns to match actual format: **Parent Issue:** and **Sub-Issue:** - Add sub_issue_number and library fields to plot_metadata.json in gen-preview.yml - Update bot-sync-status.yml to search for correct "Parent Issue" format - Update bot-auto-merge.yml, gen-update-plot.yml, bot-ai-review.yml patterns
…74) ## Summary - Fix bot-sync-status PR body parsing that caused shell errors with newlines - Add idempotency check to prevent duplicate 'Generation Complete' comments ## Changes | File | Fix | |------|-----| | bot-sync-status.yml | Safely fetch PR body via gh pr view instead of direct variable interpolation | | gen-new-plot.yml | Check if summary comment exists before posting (prevents duplicates) | ## Root Cause - The PR_BODY variable syntax breaks when the body contains newlines - The approved label was added 3 times to issue #53, causing 3 duplicate comments ## Test plan - Merge to main - Create new simple plot request - Verify sync-status works without errors - Verify no duplicate comments
Add basic line plot implementation for plotnine library. The implementation provides: - Simple line plot connecting data points in order - Optional markers at data points - Customizable colors, line width, and figure size - Proper axis labels and title - Subtle grid styling - Data validation and type hints
|
The author of this PR, claude[bot], is not an activated member of this organization on Codecov. |
Task: AI Quality Review for plotnine (Attempt 1/3)Tests passed and preview images are ready. Evaluate if the plotnine implementation matches the specification. Your Task
## AI Review - Attempt 1/3
### Quality Evaluation
| Evaluator | Score | Verdict |
|-----------|-------|---------|
| Claude | XX/100 | approve/reject |
### Criteria Checklist
- [x] VQ-001: Axes labeled correctly
- [x] VQ-002: Grid is subtle
- [ ] VQ-003: Elements clear ← Issue here
- [x] CQ-001: Type hints present
...
### Issues Found
1. **VQ-003 FAILED**: Legend overlaps with data points
2. **CQ-002 PARTIAL**: Docstring missing return type
### AI Feedback for Next Attempt
> Move legend outside plot area with \`bbox_to_anchor=(1.05, 1)\`
> Add return type to docstring
### Verdict: APPROVED / REJECTED
IMPORTANT:
|
Summary
Implements
line-basicfor plotnine library.Parent Issue: #75
Sub-Issue: #82
Attempt: 2/3
Implementation
plots/plotnine/line/line-basic/default.pyFeatures
show_pointsparameterQuality Criteria Met
Testing
The implementation was tested successfully: