From ae0037c63e5fe221fdfc3da0eefcd310f687d053 Mon Sep 17 00:00:00 2001 From: Mauro Servienti Date: Mon, 2 Dec 2024 16:47:43 +0100 Subject: [PATCH 1/2] Document public unsupported APIs --- nservicebus/upgrades/release-policy.md | 1 + 1 file changed, 1 insertion(+) diff --git a/nservicebus/upgrades/release-policy.md b/nservicebus/upgrades/release-policy.md index cb4bc4fc8df..0c8d07d77f0 100644 --- a/nservicebus/upgrades/release-policy.md +++ b/nservicebus/upgrades/release-policy.md @@ -30,6 +30,7 @@ Given a version number `{major}.{minor}.{patch}`, increment the: * Text in log and exception messages is not considered part of the public API. * Specific instances where following SemVer could hide potential message loss between versions. +* Public unsupported APIs: Undocumented APIs are unsupported; as such, they don't follow SemVer. Unsupported APIs are identified by the [`Experimental` attribute](https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/proposals/csharp-12.0/experimental-attribute) to allow compilers to report the unsupported nature of the referenced member. ## Backporting important bug fixes From 70e3ea15e372ff754421a95273c3bb49abfdd05a Mon Sep 17 00:00:00 2001 From: Mauro Servienti Date: Tue, 3 Dec 2024 11:11:22 +0100 Subject: [PATCH 2/2] Update nservicebus/upgrades/release-policy.md Co-authored-by: Daniel Marbach --- nservicebus/upgrades/release-policy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nservicebus/upgrades/release-policy.md b/nservicebus/upgrades/release-policy.md index 0c8d07d77f0..1d637217594 100644 --- a/nservicebus/upgrades/release-policy.md +++ b/nservicebus/upgrades/release-policy.md @@ -30,7 +30,7 @@ Given a version number `{major}.{minor}.{patch}`, increment the: * Text in log and exception messages is not considered part of the public API. * Specific instances where following SemVer could hide potential message loss between versions. -* Public unsupported APIs: Undocumented APIs are unsupported; as such, they don't follow SemVer. Unsupported APIs are identified by the [`Experimental` attribute](https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/proposals/csharp-12.0/experimental-attribute) to allow compilers to report the unsupported nature of the referenced member. +* Experimental APIs: Public APIs marked with the [ExperimentalAttribute](https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/proposals/csharp-12.0/experimental-attribute) are considered unsupported and do not adhere to SemVer. Using these APIs requires suppressing compiler warnings, explicitly opting into their unsupported nature. As such, they are subject to change without prior notice or guided obsoletion. ## Backporting important bug fixes