What's Changed
- Breaking: Replaced Newtonsoft.Json with System.Text.Json across the package. The
Newtonsoft.Jsonpackage reference is removed; addSystem.Text.Json(or rely on the BCL on supported runtimes) as needed in consuming projects. - Breaking:
GetVariantAliases(JObject, string)/GetVariantAliases(JArray, string)→GetVariantAliases(JsonObject, string)/GetVariantAliases(JsonArray, string). - Breaking:
GetVariantMetadataTags(JObject, string)/GetVariantMetadataTags(JArray, string)→GetVariantMetadataTags(JsonObject, string)/GetVariantMetadataTags(JsonArray, string). - Breaking:
GetDataCsvariantsAttribute(JObject/JArray, string)is deprecated and now maps toJsonObject/JsonArrayoverloads. - Breaking:
Node.attrsvalues are nowSystem.Text.Json.JsonElementinstead ofNewtonsoft.Json.Linq.JToken— updatenode.attrs["src"].Value<string>()tonode.attrs["src"].GetString(). - Breaking: Model classes use
[JsonPropertyName]instead of[JsonProperty]. - Breaking: Requires .NET 10 or later (previously netstandard2.0 / net6.0).
- New: Multi-region endpoint resolution via
Endpoint.GetContentstackEndpoint(region, service)— resolves Contentstack service URLs for all 7 supported regions (NA, EU, AU, Azure-NA, Azure-EU, GCP-NA, GCP-EU) and 18 service keys (contentDelivery, contentManagement, auth, graphqlDelivery, preview, images, assets, automate, launch, developerHub, brandKit, genAI, personalizeManagement, personalizeEdge, composableStudio, assetManagement, and more). - New:
Utils.GetContentstackEndpoint(region, service)proxy — access endpoint resolution directly from theUtilsclass without importingContentstack.Utils.Endpoints. - New:
omitHttpsflag strips thehttps://scheme from returned URLs — pass directly to SDK host configuration (e.g.new ContentstackOptions { Host = Endpoint.GetContentstackEndpoint("eu", "contentDelivery", omitHttps: true) }). - New: Case-insensitive region alias support —
"us","NA","AWS-NA","azure_na"all resolve correctly to the same region. - New:
regions.jsonregistry auto-downloaded fromartifacts.contentstack.comon first use and cached on disk — no setup required. The SDK self-heals if the file is missing. - New:
Scripts/refresh-region.pybundled inside the NuGet package — automatically placed in your project'sScripts/folder on firstdotnet build. Runpython3 Scripts/refresh-region.py(Mac/Linux) orpython Scripts/refresh-region.py(Windows) anytime to pull the latest regions from CDN.
Full Changelog: v1.4.0...v2.0.0