-
Notifications
You must be signed in to change notification settings - Fork 79
Release Notes Skill #1142
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Release Notes Skill #1142
Changes from 1 commit
Commits
Show all changes
6 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,59 @@ | ||
| # Copilot Instructions — Azure App Configuration | ||
|
|
||
| This is the central hub repository for **Azure App Configuration**. It contains cross-language examples, documentation, configuration schemas, and release notes for the App Configuration ecosystem. | ||
|
|
||
| ## Repository Structure | ||
|
|
||
| - `examples/` — Working sample applications across .NET, Java/Spring, Python, Go, and JavaScript | ||
| - `docs/` — Configuration type schemas (AI Chat, Key Vault Reference, KVSet) and integration guides | ||
| - `releaseNotes/` — Release notes for all App Configuration libraries and providers | ||
|
|
||
| This is **not** a library repo — it is a reference and documentation repository. | ||
|
|
||
| ## Languages & Frameworks | ||
|
|
||
| | Language | Frameworks | Location | | ||
| |----------|-----------|----------| | ||
| | .NET | ASP.NET Core, Azure Functions, .NET Framework | `examples/DotNetCore/`, `examples/DotNetFramework/` | | ||
| | Java | Spring Boot, Spring Cloud Azure | `examples/Spring/` | | ||
| | Python | Flask, Django, console apps | `examples/Python/` | | ||
| | Go | Gin, console apps | `examples/Go/` | | ||
| | JavaScript | Node.js | `examples/QuickStart/JavaScript/` | | ||
|
|
||
| ## Code Style | ||
|
|
||
| ### Python | ||
| - **Black** formatter: line-length=120, target Python 3.8+ | ||
| - **Pylint**: max-line-length=120 | ||
| - **MyPy**: type checking enabled | ||
| - Run formatting/linting via tox tasks defined in the workspace | ||
|
|
||
| ### All Languages | ||
| - Each example must be self-contained with its own README, dependencies, and setup instructions | ||
| - READMEs must include: Features, Prerequisites, Setup, and Running instructions | ||
| - Environment variables and connection strings must be documented but never hardcoded | ||
| - Secrets must use Key Vault references, never plain text in config | ||
|
|
||
| ## Adding or Modifying Examples | ||
|
|
||
| - Follow the existing directory structure: `examples/{Language}/{ExampleName}/` | ||
| - Include a `README.md` with clear setup and run instructions | ||
| - List all prerequisites (SDKs, Azure resources, environment variables) | ||
| - Keep examples minimal and focused on demonstrating a single integration pattern | ||
| - Use the Azure App Configuration provider library for the target language | ||
|
|
||
| ## Documentation & Schemas | ||
|
|
||
| - Configuration schemas live in `docs/ConfigurationTypes/` as versioned JSON Schema files | ||
| - Follow semantic versioning in schema filenames: `{Type}.v{Major}.{Minor}.{Patch}.schema.json` | ||
|
|
||
| ## Release Notes | ||
|
|
||
| - Release notes are Markdown files in `releaseNotes/`, one per product | ||
| - Entries are in reverse chronological order (newest first) | ||
| - Each entry includes version number, date, and a bulleted list of changes | ||
|
|
||
| ## Security | ||
|
|
||
| - Report vulnerabilities through MSRC (https://msrc.microsoft.com/create-report), never via public issues | ||
| - Never commit secrets, connection strings, or credentials | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,174 @@ | ||
| --- | ||
| name: release-notes | ||
| description: "Author and update release notes for Azure App Configuration libraries and providers. USE FOR: write release notes, add release note entry, update release notes, draft release notes, new version release notes, format release notes. DO NOT USE FOR: generating changelogs from git history, writing internal engineering notes." | ||
| --- | ||
|
|
||
| # Release Notes Authoring Skill | ||
|
|
||
| This skill guides the authoring of customer-facing release notes for Azure App Configuration libraries and providers. Release notes live in `releaseNotes/` and are the primary way customers learn about new versions. | ||
|
|
||
| ## Key Principle | ||
|
|
||
| Release notes are for **customers**, not engineers. Every entry should help a customer decide whether to upgrade and understand what changed from their perspective. | ||
|
|
||
| ## File Location & Naming | ||
|
|
||
| - All release notes go in `releaseNotes/` in this repository, even if the library has its own repo. | ||
| - One Markdown file per product (e.g., `MicrosoftExtensionsConfigurationAzureAppConfiguration.md`). | ||
| - If adding release notes for a **new product**, create a new file in `releaseNotes/`. | ||
|
|
||
| ## File Structure | ||
|
|
||
| Each release notes file follows this structure: | ||
|
|
||
| ```markdown | ||
| # Product Name | ||
|
|
||
| [Source code][source_code] | [Package (NuGet/npm/PyPI)][package] | [Samples][samples] | ||
|
|
||
| ## {version} - {Month} {Day}, {Year} | ||
|
|
||
| ### Breaking Changes | ||
|
|
||
| ### Enhancements | ||
|
|
||
| ### Bug Fixes | ||
|
|
||
| <!-- Reference links at bottom of file --> | ||
| [source_code]: https://... | ||
| [package]: https://... | ||
| [samples]: https://... | ||
| ``` | ||
|
|
||
| ## Version & Date Format | ||
|
|
||
| - Use the format: `## {version} - {Month} {Day}, {Year}` | ||
| - Use the full month name, never abbreviations. | ||
| - Examples: | ||
| - `## 7.0.0 - November 21, 2023` | ||
| - `## 2.4.0 - February 17, 2026` | ||
| - `## v1.5.0 - February 14, 2026` (Go uses the `v` prefix) | ||
| - `## 8.6.0-preview - February 26, 2026` (preview/beta versions) | ||
| - Sort entries in **reverse chronological order** (newest first). | ||
|
|
||
| ## Categories | ||
|
|
||
| Organize changes under these headings. Omit a category if it has no entries for that release. | ||
|
|
||
| ### Breaking Changes | ||
| Reserved for changes that require customers to modify their code or configuration. | ||
|
|
||
| - **Always explain why** the breaking change was made. | ||
| - **Always explain how to migrate** from the old behavior to the new one. | ||
| - Example: | ||
| > Removed `IConfigurationRefresher.SetDirty` API in favor of `IConfigurationRefresher.ProcessPushNotification` API for push-model based configuration refresh. Unlike the SetDirty method, the ProcessPushNotification method guarantees that all configuration changes up to the triggering event are loaded in the following configuration refresh. For more details on the ProcessPushNotification API, refer to [this tutorial](https://link). | ||
|
|
||
| ### Enhancements | ||
| New features, capabilities, or improvements. | ||
|
|
||
| - Describe **what new scenarios are enabled** and how to take advantage of them. | ||
| - Don't just name a new API — explain what it lets customers do. | ||
| - Include brief code snippets when they help illustrate usage. | ||
| - Example: | ||
| > Added health check integration for `Microsoft.Extensions.Diagnostic.HealthChecks`. You can call `AddAzureAppConfiguration` on `IHealthCheckBuilder` to register a health check for the Azure App Configuration provider. [#644](https://github.com/Azure/AppConfiguration-DotnetProvider/pull/644) | ||
| > | ||
| > ```cs | ||
| > builder.Services | ||
| > .AddHealthChecks() | ||
| > .AddAzureAppConfiguration(); | ||
| > ``` | ||
|
|
||
| ### Bug Fixes | ||
| Fixes for issues customers may have encountered. | ||
|
|
||
| - **Describe the symptom**, not the implementation fix. Customers need to know if the bug affected them. | ||
| - Bad: "Added a call to `ConfigureAwait(false)` in `LoadKeyValuesRegisteredForRefresh`" | ||
| - Good: "Fixed a bug where ASP.NET Framework applications may fail to refresh their configuration." | ||
| - Example: | ||
| > Fixed a bug where calls to `FeatureFlagOptions.Select` were ignored if they were followed by a call to either `AzureAppConfigurationOptions.Select` or `AzureAppConfigurationOptions.SelectSnapshot`. [#628](https://github.com/Azure/AppConfiguration-DotnetProvider/issues/628) | ||
|
|
||
| ## Linking to Issues and PRs | ||
|
|
||
| - **Always link** each change to a GitHub issue or PR. | ||
| - **Prefer linking to issues** over PRs — issues provide more context and already link to the PR. | ||
| - Use the format: `[#123](https://github.com/org/repo/issues/123)` | ||
| - Place the link at the end of the bullet point. | ||
| - Example: | ||
| > Added the following new API for additional App Configuration geo-replication support. [#385](https://github.com/Azure/AppConfiguration-DotnetProvider/issues/385) | ||
|
|
||
| ## Writing Style | ||
|
|
||
| - Use **past tense**: "Added support for…", "Fixed a bug where…", "Removed the API…" | ||
| - Write from the **customer's perspective**, not the developer's. | ||
| - Be concise but informative — one to two sentences per entry is typical. | ||
|
|
||
| ## What to Exclude | ||
|
|
||
| Do not include changes that are not meaningful to customers: | ||
|
|
||
| - Internal code refactoring | ||
| - Telemetry additions or changes | ||
| - Test improvements | ||
| - CI/CD pipeline changes | ||
| - Dependency bumps that don't affect customer behavior (unless they fix a customer-facing issue) | ||
|
|
||
| ## Special Cases | ||
|
|
||
| ### Preview / Beta Releases | ||
| - Include preview and beta versions in the same file, interleaved chronologically. | ||
| - Use the full version string: `## 8.6.0-preview - February 26, 2026` | ||
| - If a preview release contains the same changes as a prior preview plus a new stable release, note that: "This release includes all preview functionality introduced in X and also adds the changes introduced in Y." | ||
|
|
||
| ### Delisted Releases | ||
| - Mark delisted versions in the heading: `## 4.2.1 - July 9, 2025 (Delisted)` | ||
| - Explain why the release was delisted and link to the tracking issue. | ||
|
|
||
| ### Stable Releases That Graduate Preview Features | ||
| - Note which features are graduating from preview: "This is the first stable release of the `SetClientFactory` API introduced in 8.2.0-preview." | ||
|
|
||
| ## Product Reference | ||
|
|
||
| Use this table to determine the correct release notes file, GitHub repo (for issue/PR links), and package registry for each product. This information is also available in the [main README](../../README.md). | ||
|
mrm9084 marked this conversation as resolved.
Outdated
|
||
|
|
||
| ### Configuration Providers | ||
|
|
||
| | Release Notes File | Module | GitHub Repo | Package | | ||
| |---|---|---|---| | ||
| | `MicrosoftExtensionsConfigurationAzureAppConfiguration.md` | Microsoft.Extensions.Configuration.AzureAppConfiguration | [Azure/AppConfiguration-DotnetProvider](https://github.com/Azure/AppConfiguration-DotnetProvider) | [NuGet](https://www.nuget.org/packages/Microsoft.Extensions.Configuration.AzureAppConfiguration/) | | ||
| | `MicrosoftAzureAppConfigurationAspNetCore.md` | Microsoft.Azure.AppConfiguration.AspNetCore | [Azure/AppConfiguration-DotnetProvider](https://github.com/Azure/AppConfiguration-DotnetProvider) | [NuGet](https://www.nuget.org/packages/Microsoft.Azure.AppConfiguration.AspNetCore/) | | ||
| | `MicrosoftAzureAppConfigurationFunctionsWorker.md` | Microsoft.Azure.AppConfiguration.Functions.Worker | [Azure/AppConfiguration-DotnetProvider](https://github.com/Azure/AppConfiguration-DotnetProvider) | [NuGet](https://www.nuget.org/packages/Microsoft.Azure.AppConfiguration.Functions.Worker/) | | ||
| | `SpringCloudAzureAppConfigurationConfig.md` | spring-cloud-azure-appconfiguration-config | [Azure/azure-sdk-for-java](https://github.com/Azure/azure-sdk-for-java/tree/main/sdk/spring/spring-cloud-azure-appconfiguration-config) | [Maven](https://search.maven.org/artifact/com.azure.spring/spring-cloud-azure-appconfiguration-config) | | ||
| | `AzureAppConfigurationProviderPython.md` | azure-appconfiguration-provider | [Azure/azure-sdk-for-python](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/appconfiguration/azure-appconfiguration-provider) | [PyPI](https://pypi.org/project/azure-appconfiguration-provider/) | | ||
| | `JavaScriptProvider.md` | @azure/app-configuration-provider | [Azure/AppConfiguration-JavaScriptProvider](https://github.com/Azure/AppConfiguration-JavaScriptProvider) | [npm](https://www.npmjs.com/package/@azure/app-configuration-provider) | | ||
| | `GoProvider.md` | azureappconfiguration | [Azure/AppConfiguration-GoProvider](https://github.com/Azure/AppConfiguration-GoProvider) | [pkg.go.dev](https://pkg.go.dev/github.com/Azure/AppConfiguration-GoProvider/azureappconfiguration) | | ||
|
|
||
| ### Feature Management Libraries | ||
|
|
||
| | Release Notes File | Module | GitHub Repo | Package | | ||
| |---|---|---|---| | ||
| | `Microsoft.Featuremanagement.md` | Microsoft.FeatureManagement | [microsoft/FeatureManagement-Dotnet](https://github.com/microsoft/FeatureManagement-Dotnet) | [NuGet](https://www.nuget.org/packages/Microsoft.FeatureManagement) | | ||
| | `Microsoft.Featuremanagement.AspNetCore.md` | Microsoft.FeatureManagement.AspNetCore | [microsoft/FeatureManagement-Dotnet](https://github.com/microsoft/FeatureManagement-Dotnet) | [NuGet](https://www.nuget.org/packages/Microsoft.FeatureManagement.AspNetCore) | | ||
| | `Microsoft.Featuremanagement.Telemetry.ApplicationInsights.md` | Microsoft.FeatureManagement.Telemetry.ApplicationInsights | [microsoft/FeatureManagement-Dotnet](https://github.com/microsoft/FeatureManagement-Dotnet) | [NuGet](https://www.nuget.org/packages/Microsoft.FeatureManagement.Telemetry.ApplicationInsights) | | ||
| | `Microsoft.Featuremanagement.Telemetry.ApplicationInsights.AspNetCore.md` | Microsoft.FeatureManagement.Telemetry.ApplicationInsights.AspNetCore | [microsoft/FeatureManagement-Dotnet](https://github.com/microsoft/FeatureManagement-Dotnet) | [NuGet](https://www.nuget.org/packages/Microsoft.FeatureManagement.Telemetry.ApplicationInsights.AspNetCore) | | ||
| | `SpringCloudAzureFeatureManagement.md` | spring-cloud-azure-feature-management | [Azure/azure-sdk-for-java](https://github.com/Azure/azure-sdk-for-java/tree/main/sdk/spring/spring-cloud-azure-feature-management) | [Maven](https://search.maven.org/artifact/com.azure.spring/spring-cloud-azure-feature-management) | | ||
| | `PythonFeatureManagement.md` | featuremanagement | [microsoft/FeatureManagement-Python](https://github.com/microsoft/FeatureManagement-Python) | [PyPI](https://pypi.org/project/FeatureManagement/) | | ||
| | `JavaScriptFeatureManagement.md` | @microsoft/feature-management | [microsoft/FeatureManagement-JavaScript](https://github.com/microsoft/FeatureManagement-JavaScript) | [npm](https://www.npmjs.com/package/@microsoft/feature-management) | | ||
| | `JavaScriptFeatureManagementApplicationInsightsBrowser.md` | @microsoft/feature-management-applicationinsights-browser | [microsoft/FeatureManagement-JavaScript](https://github.com/microsoft/FeatureManagement-JavaScript) | [npm](https://www.npmjs.com/package/@microsoft/feature-management-applicationinsights-browser) | | ||
| | `JavaScriptFeatureManagementApplicationInsightsNode.md` | @microsoft/feature-management-applicationinsights-node | [microsoft/FeatureManagement-JavaScript](https://github.com/microsoft/FeatureManagement-JavaScript) | [npm](https://www.npmjs.com/package/@microsoft/feature-management-applicationinsights-node) | | ||
| | `GoFeatureManagement.md` | featuremanagement | [microsoft/FeatureManagement-Go](https://github.com/microsoft/FeatureManagement-Go) | [pkg.go.dev](https://pkg.go.dev/github.com/microsoft/Featuremanagement-Go/featuremanagement) | | ||
|
|
||
| ### Platform & Tools | ||
|
|
||
| | Release Notes File | Module | GitHub Repo | Package | | ||
| |---|---|---|---| | ||
| | `KubernetesProvider.md` | Azure App Configuration Kubernetes Provider | [Azure/AppConfiguration-KubernetesProvider](https://github.com/Azure/AppConfiguration-KubernetesProvider) | [MCR](https://mcr.microsoft.com/en-us/product/azure-app-configuration/kubernetes-provider/about) | | ||
| | `AppConfigurationEmulator.md` | Azure App Configuration Emulator | [Azure/AppConfiguration-Emulator](https://github.com/Azure/AppConfiguration-Emulator) | — | | ||
| | `AzureDevOpsPipelineExtension.md` | Azure App Configuration (Azure Pipeline) | — | — | | ||
| | `AzureDevOpsPushPipelineExtension.md` | Azure App Configuration Push (Azure Pipeline) | — | — | | ||
|
|
||
| ### Legacy (Deprecated) | ||
|
|
||
| | Release Notes File | Module | GitHub Repo | | ||
| |---|---|---| | ||
| | `AzureSpringCloudAppConfigurationConfig.md` | azure-spring-cloud-appconfiguration-config | [Azure/azure-sdk-for-java](https://github.com/Azure/azure-sdk-for-java) | | ||
| | `AzureSpringCloudFeatureManagement.md` | azure-spring-cloud-feature-management | [Azure/azure-sdk-for-java](https://github.com/Azure/azure-sdk-for-java) | | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.