Skip to content

feat(altair): implement line-basic#91

Closed
claude[bot] wants to merge 137 commits intomainfrom
auto/line-basic/altair
Closed

feat(altair): implement line-basic#91
claude[bot] wants to merge 137 commits intomainfrom
auto/line-basic/altair

Conversation

@claude
Copy link
Copy Markdown
Contributor

@claude claude Bot commented Dec 1, 2025

Summary

Implements line-basic for altair library.

Parent Issue: #75
Sub-Issue: #81
Attempt: 1/3

Implementation

  • plots/altair/line/line-basic/default.py

Features

  • Basic line chart with support for numeric and temporal x-axis data
  • Optional markers on data points (circle, square, diamond, etc.)
  • Configurable line color, width, and styling
  • Subtle grid with 0.3 opacity for readability
  • Interactive tooltips showing x and y values
  • Full type hints and input validation
  • Google-style docstrings with examples

Quality Criteria Met

  • Axes labeled clearly
  • Grid visible but subtle (alpha=0.3)
  • Line clearly visible with appropriate width
  • No overlapping labels
  • 16:9 aspect ratio (800x450 pixels)
  • Type hints and validation present
  • Ruff linter passes

Testing

  • Implementation tested successfully with sample data
  • Output saved as plot.png (278KB)

MarkusNeusinger and others added 30 commits November 18, 2025 19:15
- 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
MarkusNeusinger and others added 24 commits November 29, 2025 23:33
- 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 &quot;perf(deps): replace debug with obug (<a
href="https://redirect.github.com/vitejs/vite/issues/21107">#21107</a>)&quot;
(<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 &quot;perf(deps): replace debug with obug (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/21107">#21107</a>)&quot;</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 />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=vite&package-manager=npm_and_yarn&previous-version=7.2.2&new-version=7.2.4)](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 />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@types/react&package-manager=npm_and_yarn&previous-version=19.2.6&new-version=19.2.7)](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 &quot;Remove <code>github.dep.yml</code>&quot;</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 &quot;exec&quot; 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>
&amp; <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 &amp; 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 &quot;fix example&quot; (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 = &quot;&gt;=0.8.17&quot;
</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 &quot;latest&quot; 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 &amp; 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 &lt;<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 &quot;irm
https://github.com/astral-sh/ruff/releases/download/0.14.7/ruff-installer.ps1
| iex&quot;
</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
…#76)

## Summary
- Add missing `id-token: write` permission to `bot-validate-request.yml`
- Required for Claude Code action's OIDC authentication

## Test
- Rerun validation on Issue #75 after merge
…#85)

## Summary
- Add missing `id-token: write` permission to `gen-library-impl.yml`
- Required for Claude Code action's OIDC authentication

## Test
- Rerun generation on Issue #75 after merge
Add basic line chart implementation for altair library with:
- Support for numeric and temporal x-axis data
- Optional markers on data points
- Configurable line color, width, and styling
- Subtle grid with 0.3 opacity
- Tooltips for interactive exploration
- Full type hints and input validation
@codecov
Copy link
Copy Markdown

codecov Bot commented Dec 1, 2025

The author of this PR, claude[bot], is not an activated member of this organization on Codecov.
Please activate this user on Codecov to display this PR comment.
Coverage data is still being uploaded to Codecov.io for purposes of overall coverage calculations.
Please don't hesitate to email us at support@codecov.io with any questions.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Dec 1, 2025

@claude

Task: AI Quality Review for altair (Attempt 1/3)

Tests passed and preview images are ready. Evaluate if the altair implementation matches the specification.

Your Task

  1. Read the spec file: specs/line-basic.md

    • Note all quality criteria listed
    • Understand the expected visual output
  2. Read the altair implementation:

    • plots/altair/*/line-basic/default.py
  3. Read library-specific rules:

    • prompts/library/altair.md
  4. View the plot images in plot_images/ directory

    • Use your vision capabilities to analyze each image
    • Compare with the spec requirements
  5. Evaluate against quality criteria from prompts/quality-criteria.md

  6. Post your verdict to Sub-Issue [line-basic] altair implementation #81 using this EXACT format:

## 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
  1. Take action based on result:
    • APPROVED (score >= 85):
      • Run: gh pr edit 91 --add-label ai-approved
      • Run: gh issue edit 81 --remove-label reviewing --add-label ai-approved
    • REJECTED (score < 85):
      • Run: gh pr edit 91 --add-label ai-rejected
      • Run: gh issue edit 81 --remove-label reviewing --add-label ai-rejected

IMPORTANT:

  • This is a altair-only review - focus only on this library
  • Post feedback to Sub-Issue [line-basic] altair implementation #81, NOT the main issue
  • Include the generated code in your review comment for documentation

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants