- Removed the
Newtonsoft.Jsondependency entirely. Both the tool's internals and the models/converters it generates now useSystem.Text.Json. - Generated model files now use
[JsonPropertyName]instead of[JsonProperty], and referenceSystem.Text.Json/System.Text.Json.Nodes/System.Text.Json.Serializationinstead ofNewtonsoft.Json. - Generated embedded-object and modular-block converters now inherit
System.Text.Json.Serialization.JsonConverter<T>(Read/Write) instead of Newtonsoft'sJsonConverter<T>(ReadJson/WriteJson). Regenerating models against an existing project will change these attributes and converters - update consuming code accordingly. - Requires .NET 10.0 or later (previously .NET 7.0).
ContentstackExceptionno longer supports legacyBinaryFormatter-based serialization (removed the obsoleteSerializationInfo/StreamingContextconstructor andGetObjectDataoverride).
- Upgraded target framework from net7.0 to net10.0.
- Updated CI/CD pipeline to use .NET 10 SDK (actions/setup-dotnet@v4).
- Updated Microsoft.AspNetCore.Mvc.Testing from 9.0.9 to 10.0.0.
- Migrated internal model DTOs (Field, MetaData, Contenttype, StackResponse, ContentStackError, OAuth token response) from
[JsonProperty]to[JsonPropertyName]. - Migrated OAuthService token exchange/refresh deserialization to
System.Text.Json. - Migrated the HTTP layer (IResponse, ContentstackResponse, HTTPRequestHandler, ContentstackHttpRequest) from Newtonsoft
JObjecttoSystem.Text.Json.Nodes.JsonObject. - Migrated ContentstackClient's serializer settings, response deserialization, and error parsing to
System.Text.Json(JsonSerializerOptions,JsonNode). - Migrated the code-generation templates (using statements, field attributes, link class, embedded-object converter, modular-block converter, and helper class) to emit
System.Text.Json-based generated code. - Fixed reference-field type resolution (
GetDatatypeForContentType) to useSystem.Text.Json.JsonElementinstead of the removed NewtonsoftJArray/JObjecttypes.
- Fixed GetHeader method visibility (private → internal) to allow test access.
- Fixed a template bug where the generated
embeddedItemsproperty's nullable annotation was emitted as literal text ({nullableString()}) instead of being applied, for content types with RTE-embedded references.
- Improved Error messages
- Feat: Added OAuth Support in Dotnet Model Generator
- Fix JsonProperty tag to get added for Uid field.
- Extended JsonProperty usage all fields, irrespective of underscore presence in the field name.
- Support for nullable annotation context and nullable warning context to avoid runtime errors.
- Support for branch specific model generation added
- Upgraded to Net 6.0 compatibility.
- Modular block with global field class naming issue resolved
- Feature Json RTE support added
- Embedded Items feature support added to generate IEmbeddedObject and IEntryEmbedable
- Removed Delivery Token support from plugin use Authtoken instead.
- Reference field List/Object issue for new Stack resolved.
- DisplayNameAttribute added for Modular block Enum
- Skip limit functionality added to support Stack with more than 100 Content Type and Global Field
- Contentstack Response Class added
- Modular block converter to implement CSJsonConverterAttribute to autoload converters
- Modular block with Global field
- Entry Links URL Parsing
- Modular block Enum Parsing
- Host addition support added
- ContentstackHelper update with using statement
- Update to Class implementation with 'partial class'
- Added const string 'ContentType' to specify content-type of class
- Support to set reference field class in MultiCT for single reference
- Introduce ContentStack model generator CLI for DOTNET.