Weekly DevOps Roundup - Supply Chain Guardrails and Stacked PRs
This week's DevOps roundup is anchored in supply chain hardening, with npm adding publish-time malware scanning, dual-use metadata requirements, and tighter 2FA enforcement that will change how automated releases behave. GitHub followed up with new guardrails in Actions and Dependabot, including approvals for suspicious workflow runs and broader malware advisory coverage to slow down common abuse paths. On the delivery side, stacked pull requests moved into public preview (and into the Copilot app), while Copilot governance expanded with MCP connections, enterprise managed settings, and clearer cost controls. We also cover practical platform work: Terraform AzureRM 5.0 GA, policy-driven Log Analytics retention, Azure APIM AI Gateway preview, and tooling updates that make agents easier to debug and safer to operate.
This Week's Overview
- npm supply chain hardening: malware scanning, dual-use rules, and tighter 2FA enforcement
- GitHub Actions and Dependabot: more guardrails against workflow and dependency abuse
- GitHub stacked pull requests enter public preview (and show up across the Copilot experience)
- GitHub Copilot governance and model/tool connectivity: MCP goes GA for code review, and enterprise controls expand
- Tooling updates for building, debugging, and automating: VS Code, Visual Studio, azd, and AI Foundry
- GitHub Copilot in VS Code: agents workflow, multi-chat, Copilot Vision, and terminal commands
- Visual Studio July update: a new Copilot Chat Agent (Preview) via the Copilot SDK
- Azure Developer CLI (azd) 1.27.0-1.29.0: CI/CD non-interactive behavior and container deployments
- Foundry Toolkit for VS Code: agent debugging and optimization workflow
- MSBuild Binlog Analyzer for VS Code (Preview): Copilot + MCP for build diagnostics
- VS Code release tracking and debugging workflows
- Infrastructure as code and cloud operations: Terraform AzureRM 5.0 GA, GitLab moves, Log Analytics retention, and Azure networking patterns
- Terraform AzureRM provider 5.0 GA: new defaults, validation, and breaking removals
- Moving a GitLab project between groups without breaking Terraform state or CI/CD
- Governing Azure Log Analytics retention at scale with Azure Policy
- Preserving a legacy private IP during Azure migration (Private Link Service Direct Connect)
- Azure API Management AI Gateway (preview) and MCP: operationalizing model access like an API product
- Data/analytics DevOps: Microsoft Fabric CI/CD, Git integration, and runtime changes
- Other DevOps News
npm supply chain hardening: malware scanning, dual-use rules, and tighter 2FA enforcement
Building on last week's AsyncAPI incident analysis (where a GitHub Actions misconfiguration and OIDC trusted publishing played a central role), npm rolled out publish-time malware scanning, which means a publish can now be delayed (or held/blocked) while npm scans the artifact. That changes the operational reality for release pipelines that assume immediate availability after npm publish, especially if you publish frequently or automate releases across many packages.
Alongside scanning, npm introduced “dual-use” metadata requirements for packages that can be used for security testing or offensive workflows. Maintainers may need to add contentPolicy to package.json and include a DISCLOSURE file, and dual-use packages must publish using 2FA-enforced methods (with trusted publishing (OIDC) called out as a path forward). If you maintain packages in this space, expect some up-front repo hygiene work to keep releases flowing.
In a related tightening, npm granular access tokens that were configured to bypass 2FA can no longer perform sensitive account, org, and package-management actions without an interactive 2FA challenge. This closes a common automation loophole where long-lived tokens effectively downgraded 2FA, and npm has already signaled that direct publishing restrictions will get stricter in January 2027. Teams should start migrating automation toward trusted publishing (OIDC) and staged publishing patterns now, rather than waiting for the next enforcement deadline.
- npm publish-time malware scanning and dual-use metadata
- Restricting npm bypass-2FA granular access tokens
- Disrupting supply chain attacks on npm and GitHub Actions
GitHub Actions and Dependabot: more guardrails against workflow and dependency abuse
GitHub shipped several changes that aim to reduce the blast radius of compromised workflows and risky dependency updates, and they read like direct follow-through on last week's focus on CI misconfiguration patterns (like pull_request_target) and safer dependency rollouts. The common theme is slowing down or gating the moments attackers rely on: unreviewed workflow execution, credential reuse, and rapid dependency propagation across many repos.
GitHub Actions holds potentially malicious workflows for approval
GitHub Actions can now automatically hold certain workflow runs that are flagged as potentially malicious until a collaborator with write access explicitly approves them in an authenticated web session. This is targeted at the class of attacks where an attacker gets untrusted code to execute inside CI and exfiltrates tokens or uses the runner to pivot, and the new “pause and require human approval” step is meant to interrupt that chain.
Right now the protection applies to public repositories on github.com and is not available on GitHub Enterprise Server (GHES), which matters if you rely on the same guardrails across cloud and self-hosted environments. For maintainers of popular public repos, this is a practical new default to watch because it can introduce intentional friction in PR-to-CI workflows when a run looks suspicious.
Dependabot: fewer noisy PRs, stronger malware signals
On the dependency side, GitHub expanded Dependabot's malware alerts by ingesting malware advisories from the OpenSSF malicious-packages repository into the GitHub Advisory Database, extending last week's theme of adding supply chain guardrails (like cooldown windows) that reduce exposure to freshly published, potentially compromised releases. Repositories and organizations that already have malware alerting enabled get the broader coverage automatically, so teams should be ready for new findings in ecosystems that previously had thinner malware data.
For day-to-day maintenance, Dependabot grouping and cadence tuning got renewed attention as a way to reduce “version bump PR” noise without slowing security response. The recommended pattern is to group non-security updates (including monorepo directory grouping) and run them on a slower schedule like monthly, while keeping security updates fast and disclosure-driven. The post also calls out a configurable default cooldown window, which can act as a safety buffer to avoid rushing into fresh releases that may be unstable or supply-chain-compromised.
- Dependabot alerts on malicious packages across more ecosystems
- Tame Dependabot: Group your updates, slow the cadence, keep security fast
GitHub stacked pull requests enter public preview (and show up across the Copilot experience)
GitHub pushed stacked pull requests into public preview, and it complements last week's push to keep changes review-first and PR-native (including agentic autofix and PR-visible security signals) by making “smaller, ordered PRs” a first-class workflow instead of a team-by-team convention. The key idea is to split a large change into ordered PR “layers” that review cleanly, then merge sequentially or merge the stack together while keeping existing checks, reviews, and branch protections in place.
Stacked pull requests (public preview) and review workflow impact
Stacked PRs are designed for dependency-heavy work (refactors, migrations, multi-step features) where reviewers struggle with giant diffs and constant rebases. GitHub positions this as a way to keep PRs small without losing the end-to-end picture, since each PR builds on the one beneath it and the stack preserves the intended merge order.
Operationally, teams should think about how stacks interact with merge queue and required checks, because the point is to retain governance while improving flow. If you already use a CLI-driven approach, GitHub calls out a dedicated CLI extension (gh-stack) as part of the workflow story.
- Stacked pull requests are now in public preview
- Stacked PRs are LIVE on GitHub! | Rubber Duck Thursdays
- GitHub stacked PRs are now available
- We can’t fix your attention span, but we can make stacked PRs make sense.
Stacked sessions and stacked PRs in the GitHub Copilot app
GitHub is also weaving stacking concepts into the Copilot app, which builds on last week's theme of turning agent output into reviewable PR artifacts by having “stacked sessions” plan and execute work as a sequence of smaller, ordered PRs. The example in the write-up is a React frontend refactor, but the pattern maps well to any change where you want a safe merge path and clearer review checkpoints.
This matters for DevOps because it connects planning (agent-driven decomposition) to delivery mechanics (mergeable PR layers), which can reduce the “big bang branch” risk that often shows up as late-cycle CI failures and long review cycles.
- Stacked sessions and pull requests in the GitHub Copilot app
- Lofi beats to code and merge stacked PRs
GitHub Copilot governance and model/tool connectivity: MCP goes GA for code review, and enterprise controls expand
A lot of the Copilot news this week is about making agent-based workflows safer and more manageable, continuing last week's “measure-and-control” direction (usage metrics, review configuration, and enforced routing patterns) but with more standardized tool connectivity and broader policy coverage. For DevOps teams, the practical question is how these features change compliance posture, toolchain integration, and cost predictability.
Copilot code review: agent skills and MCP connections generally available
Copilot code review now supports agent skills and Model Context Protocol (MCP) server connections generally available for Copilot Pro, Pro+, Business, and Enterprise, which follows last week's Copilot code review configurability updates by giving teams a more standard way to attach repo-specific conventions and approved tools to the review loop. Skills are defined via SKILL.md, and MCP servers (plus tokens) can be configured so Copilot can call tools during review, but the MCP tool calls are read-only, which helps limit the risk of an automated reviewer making changes in external systems.
This is a notable step toward “review with context” that can still fit governance requirements. If you want code review to understand internal conventions or query approved systems, you now have a supported path, but you will still need to standardize skill definitions and centrally manage MCP server access.
Enterprise managed settings now cover the Copilot app and Copilot cloud agent
Enterprise managed settings have expanded to include the GitHub Copilot app and Copilot cloud agent, extending managed-settings.json governance beyond IDE extensions and building on last week's emphasis on reducing “shadow configuration” by making review and agent behavior more predictable across environments. The controls cover things like plugins, marketplaces, approval prompts, and default model selection behavior, which helps reduce drift when teams use multiple Copilot entry points.
For admins, the big win is fewer “shadow configuration” paths where one client behaves differently from another. For developers, expect more consistent defaults across IDE, app, and cloud agent experiences, especially in locked-down environments.
Governing Copilot usage-based spend with budgets and Azure routing
Two guides tackled the growing pain point of Copilot usage-based billing and AI credits, and they extend last week's Azure AI gateway pattern (APIM in front of model endpoints) into a more explicit Copilot cost-governance playbook. One approach starts with GitHub-native budgets and usage metrics, then layers BYOK so IDE/CLI traffic routes through Azure API Management to an Azure AI Foundry (Azure OpenAI) deployment, enabling real-time token quotas and per-developer monitoring. The guide calls out policy patterns like llm-token-limit and emitting token metrics (for example llm-emit-token-metric) into Application Insights for operational visibility.
A second write-up focuses on diagnosing surprise Copilot Enterprise spend by breaking usage down by SKU, organization, and cost center, then applying GitHub Billing guardrails (org budgets, cost-center budgets, and per-user limits) with clear precedence. Together, these posts outline a pragmatic “start with GitHub controls, then add a gateway if you need deeper enforcement and observability” playbook.
- Cap it with GitHub, make it count with Azure: governing GitHub Copilot spend
- Surprise AI bill? GitHub Billing controls to the rescue!
Tooling updates for building, debugging, and automating: VS Code, Visual Studio, azd, and AI Foundry
This week's editor and CLI updates focused on making agent workflows more usable (better windows and debugging), improving deployment automation (azd), and bringing AI-assisted diagnosis into common developer artifacts like build logs, continuing last week's thread of governed, tool-connected agents (skills, MCP servers, and enterprise controls) spreading across the daily toolchain. If you are rolling these out across teams, the theme is “more capabilities, more knobs to govern.”
GitHub Copilot in VS Code: agents workflow, multi-chat, Copilot Vision, and terminal commands
The July 2026 releases for GitHub Copilot in VS Code (v1.127-v1.131) emphasize workflow upgrades in the Agents window and support for multi-chat sessions, including Claude support. It also calls out Copilot Vision reaching general availability and BYOK support inside the Agents window, which matters if your organization routes models through approved providers.
One concrete workflow change to note is running terminal commands from chat using a ! prefix, which can speed up “do the thing” tasks but also raises the bar for policy and review around what commands agents are allowed to suggest or execute. Teams that already standardize shell tooling should consider pairing this with tighter repo scripts and least-privilege tokens.
Visual Studio July update: a new Copilot Chat Agent (Preview) via the Copilot SDK
Visual Studio's July update introduces a new Agent (Preview) in Copilot Chat built on the GitHub Copilot SDK, which builds on last week's Visual Studio agent skills and extension governance direction by pushing more “skills + instructions” into the IDE's default Copilot surface. It ships with built-in .NET and Azure skills, adds organization-level Copilot custom instructions, and supports attaching a branch for chat context, which can make investigations and refactors less error-prone when you are working across multiple branches.
There are also practical IDE improvements like better MSVC toolset discovery across installations, which can reduce setup friction on build machines or dev boxes with multiple toolchains. If you govern Copilot centrally, the combination of org instructions plus agent skills is a signal to treat prompt policy as part of your engineering standards.
Azure Developer CLI (azd) 1.27.0-1.29.0: CI/CD non-interactive behavior and container deployments
The Azure Developer CLI July roundup covers azd 1.27.0 through 1.29.0, including extension installation improvements and a new azd tool uninstall command for cleaning up tool dependencies. It also adds support for Azure App Service container deployments, which is useful if you want a simpler path from container build to a managed hosting target without switching deployment tooling.
For pipeline authors, changes to non-interactive CI/CD behavior are worth reviewing, because they can affect headless runs that previously relied on implicit prompts or defaults. There is also ongoing work around Azure AI Foundry resource modeling in azure.yaml, which matters if you are standardizing AI components as part of your app templates.
Foundry Toolkit for VS Code: agent debugging and optimization workflow
Foundry Toolkit for VS Code shipped several July 2026 updates (1.6.3-1.6.6), including a flatter, tabbed resource UI and inline Tool Catalog workflows. The updates also add event-level Agent Inspector debugging, which is useful when you need to understand what an agent did at each step (and why) during a run.
An “Agent Optimization” preview is positioned as a measured tuning and deployment flow, which can help teams compare configurations and promote changes more systematically. If you treat agents like production components, this is the kind of tooling that supports a tighter DevOps loop around experiments, rollout, and regression checks.
MSBuild Binlog Analyzer for VS Code (Preview): Copilot + MCP for build diagnostics
A new preview extension, MSBuild Binlog Analyzer for VS Code, uses GitHub Copilot Chat with an MCP server (Microsoft.AITools.BinlogMcp) to interpret .binlog files, giving a concrete follow-on to last week's MCP and skills governance discussion by anchoring tool calls in a well-defined server and a standard CI artifact. It can explain build failures, analyze performance, compare builds, and help detect regressions, including identifying critical path issues in build performance.
For teams that already capture binlogs in CI for flaky builds or performance triage, this makes .binlog files more accessible beyond build experts. It also provides a concrete example of MCP in action: an agent-driven experience that is grounded in a well-defined tool server and a specific artifact type.
VS Code release tracking and debugging workflows
The VS Code team published the evolving release notes for VS Code 1.132 (Insiders), pointing to the commit log and the milestone closed issues, which is the best way to monitor features as they land before stable. In parallel, community content highlighted practical debugging workflows (breakpoints, stepping, watch expressions, call stacks) for Python APIs in VS Code, including how Copilot can assist with diagnosis.
If your org standardizes on VS Code for development, these are good reminders that “what's new” often arrives first via Insiders, and debugging fluency is still one of the highest ROI skills for day-to-day DevOps reliability work.
- Visual Studio Code 1.132 (Insiders)
- Debug Python Like a Pro in VS Code
- Visual Studio Code and GitHub Copilot - What's new in 1.131
Infrastructure as code and cloud operations: Terraform AzureRM 5.0 GA, GitLab moves, Log Analytics retention, and Azure networking patterns
This week's infra and operations content leaned into “avoid outages while changing foundations”, and it fits last week's Azure platform-engineering framing (paved roads via IaC, Policy as Code, and observability) by focusing on repeatable upgrades, governed retention, and migration patterns that reduce one-off heroics. The throughline is repeatability and guardrails, not heroics.
Terraform AzureRM provider 5.0 GA: new defaults, validation, and breaking removals
Terraform AzureRM provider 5.0 is now generally available, with changes that will affect many existing configurations. Highlights include new defaults for Azure Resource Provider registration and an opt-in Azure preflight validation during terraform plan, which can catch issues earlier by validating against Azure APIs before apply time.
The release also removes deprecated resources and properties, so upgrades will often require code changes rather than a simple version bump. Plan to read the upgrade guidance, run plans in a staging subscription, and expect some CI adjustments if your pipeline relies on older resource shapes or provider behaviors.
Moving a GitLab project between groups without breaking Terraform state or CI/CD
A practical checklist walks through moving a live GitLab project between groups while preserving GitLab-managed Terraform state and CI/CD. The key is understanding what is keyed off the project ID (for example state backends) versus what is keyed off the repository path (variables, runners, and integrations), then sequencing updates so state and pipelines keep working after the transfer.
One easy-to-miss detail is workload identity federation credentials tied to the old repo path. If you use service principal federated credentials (or similar identity mappings), the move can silently break deployments until you update the identity configuration to match the new path, so a post-move verification checklist is critical.
Governing Azure Log Analytics retention at scale with Azure Policy
A governance-focused approach to Log Analytics retention recommends keeping workspace defaults low, then setting per-table analytics retention and using long-term retention only where needed. This is a cost control move, but it is also a compliance move because retention requirements often vary by data type (for example security logs vs app traces).
The post includes an open-source Azure Policy initiative using DeployIfNotExists, with both auditing and remediation tasks and ARM/PowerShell deployment options. If you manage many subscriptions and workspaces, policy-based enforcement is the difference between “documented standards” and actually keeping retention aligned as new tables and workspaces appear.
Preserving a legacy private IP during Azure migration (Private Link Service Direct Connect)
A migration pattern shows how to preserve a legacy hard-coded private IP using Private Link Service Direct Connect with a Private Endpoint and a site-to-site VPN. This is aimed at those real migrations where an app cannot be changed quickly, but infrastructure still needs to move, especially when overlapping IP address space or rigid dependencies exist.
The post is structured as a phased rollout with a lab-style deployment and validation checklist. For DevOps teams planning migrations, this is a useful reference for building a “bridge” architecture that buys time to modernize the application without blocking the infrastructure move.
Azure API Management AI Gateway (preview) and MCP: operationalizing model access like an API product
The AI Gateway tier for Azure API Management entered public preview, and it follows directly from last week's “governed AI gateway” pattern by moving from an architectural recommendation to a named APIM tier that treats models and MCP servers as managed endpoints. This aligns closely with how DevOps teams already run APIs: policies at the edge, standardized observability, and enforcement via platform tooling.
AI Gateway tier in Azure API Management: policy cards and token metrics
The preview focuses on publishing and governing AI models and MCP servers using “policy cards” (JSON) and OpenTelemetry token metrics. It supports multiple model providers, including Microsoft Foundry and external hosts, and integrates with Azure Policy plus common observability backends, which is a practical fit if you already manage platform standards through Azure Policy initiatives.
If you are rolling out BYOK or hosting MCP servers internally, this provides a single choke point for quota, routing, and telemetry. It also pairs naturally with the Copilot spend governance patterns that route traffic through an API gateway so teams can enforce quotas and capture per-user metrics consistently.
- AI Gateway tier of API Management now in public preview
- MCP Connect: Why Every AI Engineer and Developer Should Care About the Model Context Protocol
Data/analytics DevOps: Microsoft Fabric CI/CD, Git integration, and runtime changes
Microsoft Fabric's July 2026 feature summary includes several updates that matter if you treat analytics like software, and it mirrors last week's agent-and-platform message that “production behavior” depends on having testable lifecycles and controlled rollouts across the stack, not just in app code. The combined effect is that more of the “data platform” surface area can be versioned, validated, and deployed with fewer manual steps.
On the runtime side, the update calls out Spark Runtime 2.0 and release channels, which implies teams may need to plan compatibility testing and controlled rollouts rather than assuming a single global runtime behavior. Real-Time Intelligence also saw updates across Eventstream, Eventhouse, and operations agents, which is relevant for teams building near-real-time pipelines that need predictable operations and diagnostics.
Other DevOps News
GitHub continued to improve the plumbing that keeps developer workflows fast, including a deep dive into how code search optimized Unicode case folding for better throughput. The key techniques were removing early-exit branches to enable SIMD auto-vectorization for ASCII-heavy paths, and using compact, table-driven Unicode handling that avoids unnecessary UTF-8 decode/encode work.
There were also a few workflow-oriented additions worth bookmarking: self-repository references for GitHub Actions (uses: $/path) resolve to the current repo at the exact running commit, which reduces the need for extra checkout steps and aligns with commit SHA pinning. Azure DevOps shipped Commit Search as GA, enabling org-wide searches across commit messages with useful filters, which helps incident response and audit tasks when you need to find when a change landed.
Finally, two agent-centric guides may be useful if you're building internal automation: one introduces an open-source polyglot unit-test agent (code-testing-generator in dotnet/skills) that learns repo conventions and validates tests in the normal workflow, and another walks through taking multi-agent systems into Microsoft Foundry Agent Service and distributing them into Microsoft Teams with identity, observability, and packaging considerations.
- Don’t stop early: Case-folding source code at memory speed
- Reference same-repository actions with self-repository syntax
- Find any commit in seconds: Commit Search comes to Azure DevOps
- From generated code to trusted code with a unit-test agent
- Building and Deploying Microsoft Hosted Agents to Microsoft Teams
- Bring Your Own Orchestrator to Azure Container Apps Jobs
- The harness is all you need (mostly)
- GitHub Copilot app for Beginners: Getting started
- CodeQL 2.26.1 improves analysis accuracy and framework coverage
- Split terminals in VS Code
- MigrateToSkills