mit einem Klick
update-supported-os
// Audit and update supported-os.json files in dotnet/core to reflect current OS version support. Uses release-notes verify for automated checking against upstream lifecycle data.
// Audit and update supported-os.json files in dotnet/core to reflect current OS version support. Uses release-notes verify for automated checking against upstream lifecycle data.
Answer .NET release lifecycle, timeline, patch, and CVE questions by driving the public `dotnet-release` CLI over the release-index graph.
Update per-distro package files in release-notes/<version>/distros/ documenting dependencies and .NET package availability for each Linux distribution.
Audit and update os-packages.json files in dotnet/core to ensure Linux distribution package names are correct. Verifies package names against upstream package repositories and fixes mismatches.
| name | update-supported-os |
| description | Audit and update supported-os.json files in dotnet/core to reflect current OS version support. Uses release-notes verify for automated checking against upstream lifecycle data. |
Audit and update supported-os.json files in the dotnet/core repository. These files declare which operating system versions are supported for each .NET release.
The release-notes tool is installed globally. Run release-notes --help to confirm.
The user provides:
~/git/core)Run the verify command for each .NET version to audit:
release-notes verify supported-os <version> [path-or-url]
Examples:
# Check against live data on GitHub (default)
release-notes verify supported-os 10.0
# Check against a local clone
release-notes verify supported-os 10.0 ~/git/core/release-notes
Interpret the exit code:
The report uses GitHub callout blocks to categorize issues:
| Callout | Meaning | Action |
|---|---|---|
> [!WARNING] | EOL but still listed as supported | Move to unsupported-versions |
> [!IMPORTANT] | Active release not listed | Consider adding to supported-versions |
> [!TIP] | Active but listed as unsupported | Verify this is intentional (no action usually needed) |
> [!CAUTION] | Approaching EOL within 3 months | Informational — no immediate action |
See references/verify-output-example.md for example output.
If all versions return exit code 0, the matrix is current. Stop here.
Review the verify report and decide which issues to act on:
Present findings to the user with recommendations before making changes.
For each confirmed change, edit release-notes/<version>/supported-os.json:
supported-versions, add to unsupported-versionssupported-versions (keep sorted, newest first)last-updated: Set to today's date (format: YYYY-MM-DD)edit tool for surgical JSON changes"3.22" not 3.22After updating the JSON, regenerate the markdown file:
release-notes generate supported-os <version> <core-path>/release-notes
This overwrites supported-os.md with content derived from the updated JSON.
Important: Do not hand-edit
supported-os.md. It is generated from JSON by the tool. If the markdown output needs to change, update the generator or its Markout template instead.
Before committing, verify the generated markdown passes linting:
markdownlint -c .github/linters/.markdown-lint.yml release-notes/<version>/supported-os.md
The dotnet/core CI runs markdownlint via super-linter. If linting fails, fix the generator or Markout library — do not patch the markdown by hand.
Check if any newly added distro versions need entries in os-packages.json. If so, inform the user to run the update-os-packages skill next.
Run verify again to confirm issues are resolved:
release-notes verify supported-os <version> <core-path>/release-notes
Expect exit code 0 (or only TIP/CAUTION items remaining).
Validate the JSON parses correctly (use a file-based app to deserialize with Dotnet.Release.Support types if needed).
git checkout -b update-supported-os-<date>
supported-os.json and supported-os.md for each version):
git add release-notes/*/supported-os.json release-notes/*/supported-os.md
git commit -m "Update supported OS matrix — <summary of changes>"
dotnet/core:
gh pr create --title "Update supported OS matrix" --body "<description of changes>"
id field in each distribution matches endoflife.date product IDs"3.22" not 3.22supported-versions should be ordered newest-firstunsupported-versions tracks previously-supported versions for historical referencelast-updated field should reflect the date of any change