Skip to content

Latest commit

 

History

History
96 lines (78 loc) · 7.96 KB

File metadata and controls

96 lines (78 loc) · 7.96 KB

Version: 2.0.1

Date: July-20-2026

  • Fix: Bumped package version to 2.0.1. The 2.0.0 package published on nuget.org was built before EmbeddedObjectConverter was added, so the published package and source had silently diverged under the same version number. This release re-publishes with the version number unambiguously matching the source.

Version: 2.0.0

Date: July-13-2026

  • Breaking: Replaced Newtonsoft.Json with System.Text.Json across the package. The Newtonsoft.Json package reference is removed; add System.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 to JsonObject/JsonArray overloads.
  • Breaking: Node.attrs values are now System.Text.Json.JsonElement instead of Newtonsoft.Json.Linq.JToken — update node.attrs["src"].Value<string>() to node.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 the Utils class without importing Contentstack.Utils.Endpoints.
  • New: omitHttps flag strips the https:// 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.json registry auto-downloaded from artifacts.contentstack.com on first use and cached on disk — no setup required. The SDK self-heals if the file is missing.
  • New: Scripts/refresh-region.py bundled inside the NuGet package — automatically placed in your project's Scripts/ folder on first dotnet build. Run python3 Scripts/refresh-region.py (Mac/Linux) or python Scripts/refresh-region.py (Windows) anytime to pull the latest regions from CDN.
Migration Guide:

Version: 2.0.0-beta.2

Date: June-22-2026

  • 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 the Utils class without importing Contentstack.Utils.Endpoints.
  • New: omitHttps flag strips the https:// 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.json registry auto-downloaded from artifacts.contentstack.com on first use and cached on disk — no setup required. The SDK self-heals if the file is missing.
  • New: Scripts/refresh-region.py bundled inside the NuGet package — automatically placed in your project's Scripts/ folder on first dotnet build. Run python3 Scripts/refresh-region.py (Mac/Linux) or python Scripts/refresh-region.py (Windows) anytime to pull the latest regions from CDN.

Version: 2.0.0-beta.1

Date: April-27-2026

  • Breaking: Replaced Newtonsoft.Json with System.Text.Json across the package. The Newtonsoft.Json package reference is removed; add System.Text.Json (or rely on the BCL on supported runtimes) as needed in consuming projects.
  • Breaking: Variant metadata APIs that previously took JObject / JArray now use System.Text.Json.Nodes.JsonObject and JsonArray (GetVariantAliases, GetVariantMetadataTags, and obsolete GetDataCsvariantsAttribute overloads).
  • JSON serialization uses the same model attributes with System.Text.Json.Serialization (JsonPropertyName, JsonConverter), including custom converters for RTE/GQL-shaped JSON and path-mapped embedded models (PathMappedJsonConverter<T>).
  • RTE JSON deserialization tolerates trailing commas when using the documented test/helper patterns (AllowTrailingCommas); attribute dictionaries may surface JsonElement values instead of boxed strings—use helpers or unwrap explicitly if you access Node.attrs directly.
  • Internal: LangVersion set to latest for multi-target builds; utilities normalize attribute values where the HTML pipeline expects strings.

Version: 1.4.0

Date: June-23-2026

  • Added EmbeddedObject as a concrete implementation of IEmbeddedObject, covering both IEmbeddedEntry and IEmbeddedAsset.
  • Added EmbeddedObjectConverter to resolve IEmbeddedObject during JSON deserialization without requiring changes in consumer code.
  • Custom fields on embedded entries and assets are preserved via [JsonExtensionData].

Version: 1.3.0

Date: May-11-2026

  • Added Live Preview editable tags support through addEditableTags and addTags.
  • Added variant-aware CSLP tag generation using _applied_variants / system.applied_variants.
  • Added nested fields, arrays, references, and null-safe editable tag generation.
  • Added configurable locale casing through AddEditableTagsOptions.UseLowerCaseLocale.
  • Added unit tests for Live Preview editable tags.

Version: 1.2.0

Date: March-31-2026

  • Added GetVariantMetadataTags(JObject, string) and GetVariantMetadataTags(JArray, string) as the canonical API for building the data-csvariants payload (same behavior as the previous helpers).

Version: 1.1.0

Date: March-24-2026

  • Added GetVariantAliases and GetDataCsvariantsAttribute for variant alias extraction and data-csvariants serialization; Invalid arguments throw ArgumentException.

Version: 1.0.7

Date: January-12-2026

  • Improved error messages

Version: 1.0.6

Date: June-09-2025

  • Used 'title' and 'target' in a tags

Version: 1.0.5

Date: Oct-10-2024

  • Used Class Name and Id property in JsonToHTML converter

Version: 1.0.4

Date: Aug-21-2024

  • Classname and ID property support in text node

Version: 1.0.3

Date: Jul-10-2024

  • Editable tags added

Version: 1.0.2

Date: Mar-14-2024

  • Style attributes supported in converted HTML.
  • Fragment tag support added

Version: 1.0.1

Date: July-16-2021

  • Json RTE content to Html Support added.

Version: 1.0.0

Date: Apr-05-2021

  • Introduce ContentStack Utils SDK for DOTNET.