changewaves

Coordinate MSBuild feature changes behind opt-out Change Waves.

1.2k|334|Updated Oct 13, 2022
One-click install
npx skills add https://github.com/dotnet/dotnet --skill changewaves
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: changewaves
Source: https://github.com/dotnet/dotnet/tree/main/src/msbuild/.github/skills/changewaves
Command: npx skills add https://github.com/dotnet/dotnet --skill changewaves

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Change waves provide a safe, temporary opt-out mechanism to group risky feature changes, reducing production-risk by enabling controlled rollout and rollback.

Core Features & Use Cases

  • Create and version waves for upcoming changes across the MSBuild codebase.
  • Gate code paths and features behind AreFeaturesEnabled checks to support opt-out during compatibility risk periods.
  • Document and retire expired waves with a clear rotation in ChangeWaves.md and ChangeWaves-Dev.md to keep teams aligned.

Quick Start

Add a new wave entry for the target version and wrap the affected code with AreFeaturesEnabled checks.

Frequently Asked Questions about changewaves

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
What are MSBuild change waves and how do they manage feature compatibility risk?▼

MSBuild change waves are a temporary opt-out mechanism that groups risky feature changes to enable controlled rollout and rollback, minimizing production compatibility risk across the codebase.

How do I gate MSBuild code paths behind feature flags for an upcoming release?▼

You can gate MSBuild code paths by wrapping affected features with AreFeaturesEnabled checks, ensuring users can opt out of risky changes during compatibility periods.

What is the process to create a new change wave in the MSBuild codebase?▼

To create a change wave, add a new version entry in ChangeWaves.cs, wrap the affected code with AreFeaturesEnabled checks, add tests, and document the entry in ChangeWaves.md and ChangeWaves-Dev.md.

Does the MSBuild change wave process require updating documentation along with code changes?▼

Yes, the MSBuild change wave process requires documenting new entries and retirements in ChangeWaves.md and ChangeWaves-Dev.md to keep teams aligned on evolving features.

When should I retire an expired MSBuild change wave, and how is it documented?▼

You should retire expired MSBuild change waves through a clear rotation process, documenting the retirement in ChangeWaves.md and ChangeWaves-Dev.md to maintain alignment.