Skip to content
Open

Beta #186

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
885c63f
Moved newtonsoft json to system text json
sunil-lakshman Apr 23, 2026
e6b152f
Updated dotnet version
sunil-lakshman Apr 23, 2026
5151ae5
Updated version bumps
sunil-lakshman Apr 23, 2026
e07f21b
Revert "Updated version bumps"
sunil-lakshman Apr 23, 2026
23c5277
Merge pull request #169 from contentstack/feat/dx-4964
sunil-lakshman Apr 29, 2026
2e8ed7a
chore: updated utils version bump
cs-raj May 4, 2026
fe78f4c
Merge pull request #173 from contentstack/chore/version-bump
cs-raj May 4, 2026
2e8a384
update the version bump
OMpawar-21 Jun 9, 2026
20f46c8
Merge pull request #178 from contentstack/enhc/beta-to-main-version-bump
OMpawar-21 Jun 9, 2026
9706449
feat: dynamic endpoint resolution via CDN-backed regions registry
OMpawar-21 Jun 19, 2026
adaaf89
Merge branch 'development' into enhc/DX-7269
OMpawar-21 Jun 19, 2026
3f49e4b
Revert "Merge branch 'development' into enhc/DX-7269"
OMpawar-21 Jun 20, 2026
19f3005
feat: added test cases fix
OMpawar-21 Jun 20, 2026
c50230f
Delete requirements.txt
OMpawar-21 Jun 20, 2026
4999509
Merge pull request #179 from contentstack/enhc/DX-7269
OMpawar-21 Jun 20, 2026
10e71e6
Update Contentstack.Core.csproj
OMpawar-21 Jun 22, 2026
b402191
Merge pull request #181 from contentstack/fix/utils-package-beta-22-0…
OMpawar-21 Jun 22, 2026
533c5c1
Merge branch 'master' into beta
OMpawar-21 Jul 9, 2026
820d16c
feat: Update the Read me and version bump for Major Release
OMpawar-21 Jul 10, 2026
2e8839b
Merge pull request #187 from contentstack/enhc/DX-9498
OMpawar-21 Jul 10, 2026
e516920
Add version 3.0.0 details to CHANGELOG
OMpawar-21 Jul 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 0 additions & 5 deletions .cursor/rules/README.md

This file was deleted.

54 changes: 0 additions & 54 deletions .github/workflows/back-merge-pr.yml

This file was deleted.

20 changes: 20 additions & 0 deletions .github/workflows/check-branch.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: 'Check Branch'

on:
pull_request:

jobs:
check_branch:
runs-on: ubuntu-latest
steps:
- name: Comment PR
if: github.base_ref == 'master' && github.head_ref != 'staging'
uses: thollander/actions-comment-pull-request@v2
with:
message: |
We regret to inform you that you are currently not able to merge your changes into the master branch due to restrictions applied by our SRE team. To proceed with merging your changes, we kindly request that you create a pull request from the staging branch. Our team will then review the changes and work with you to ensure a successful merge into the master branch.
- name: Check branch
if: github.base_ref == 'master' && github.head_ref != 'staging'
run: |
echo "ERROR: We regret to inform you that you are currently not able to merge your changes into the master branch due to restrictions applied by our SRE team. To proceed with merging your changes, we kindly request that you create a pull request from the staging branch. Our team will then review the changes and work with you to ensure a successful merge into the master branch."
exit 1
86 changes: 0 additions & 86 deletions .github/workflows/check-version-bump.yml

This file was deleted.

2 changes: 1 addition & 1 deletion .github/workflows/sca-scan.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
- name: Setup .NET Core @ Latest
uses: actions/setup-dotnet@v1
with:
dotnet-version: "7.0.x"
dotnet-version: "10.0.x"

- name: Run Dotnet Restore
run: dotnet restore
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/unit-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v4.2.2
- name: Setup .NET 7.0
- name: Setup .NET
uses: actions/setup-dotnet@v4.3.0
with:
dotnet-version: '7.0.x'
dotnet-version: '10.0.x'
- name: Restore dependencies
run: dotnet restore Contentstack.Net.sln
- name: Build solution
Expand Down
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -67,4 +67,6 @@ packages/
*.sln.docstates

# Python
Scripts/venv/
Scripts/venv/
# Cached region registry — regenerated at runtime from CDN
*/Assets/regions.json
49 changes: 0 additions & 49 deletions AGENTS.md

This file was deleted.

83 changes: 83 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,91 @@
### Version: 3.0.0
#### Date: Jul-13-2026

##### Breaking Changes:
- Removed `Newtonsoft.Json` dependency; all JSON serialisation now uses `System.Text.Json` (BCL)
- `Entry.ToJson()`, `Query.Count()`, `AssetLibrary.Count()` now return `JsonObject` instead of `JObject`
- `AssetLibrary.Query(JsonObject)` — parameter type changed from `JObject` to `JsonObject`
- `ContentType.Fetch()`, `GlobalField.Fetch()`, `GlobalFieldQuery.Find()` now return `JsonObject` instead of `JObject`
- `SerializerSettings` → `SerializerOptions`
- Model classes use `[JsonPropertyName]` instead of `[JsonProperty]`
- Requires **.NET 10** or later
- Updated `contentstack.utils` dependency to `2.0.0` (final, non-beta)

##### Feat:
- Added `Endpoint` class for dynamic region-to-URL resolution via CDN-backed `regions.json`
- Added `ContentstackRegionMap` to map `ContentstackRegion` enum to registry region IDs
- Added `GCP_EU` region support
- Added `ApiErrorBodyParser` for consistent API error envelope parsing
- Added `JsonNodeConversion` and `JsonObjectMerge` utilities to replace Newtonsoft equivalents
- Added `ContentstackJsonDefaults` — shared `JsonSerializerOptions` used across all custom converters

##### Enh:
- `Config.BaseUrl` now resolves hosts from the regions registry; removed hardcoded `regionCode()` and `HostURL`
- Replaced `Console.WriteLine` with `Debug.WriteLine` in `ContentstackConvert` to suppress parse warnings from application stdout

##### Chore:
- Replaced `refresh-region.cs` with `refresh-region.py` — avoids MSBuild compiling the script as source
- Added `build/contentstack.csharp.targets` to auto-deliver `refresh-region.py` to consumer projects on first build
- Added `Assets/regions.json` to `.gitignore`
- Added `EndpointTest.cs`
- Updated .NET version in SCA scan CI from `7.0.x` to `10.0.x`

##### Migration Guide:
- See [Migrating from Newtonsoft.Json to System.Text.Json](https://www.contentstack.com/docs/developers/sdks/content-delivery-sdk/dot-net/migrate-dotnet-delivery-sdk-from-newtonsoft.json-to-system.text.json) for the full upgrade path from v2.x.

---

### Version: 3.0.0-beta.2
#### Date: Jun-22-2026

##### Feat:
- Added `Endpoint` class for dynamic region-to-URL resolution via CDN-backed `regions.json`
- Added `ContentstackRegionMap` to map `ContentstackRegion` enum to registry region IDs
- Added `GCP_EU` region support

##### Enh:
- `Config.BaseUrl` now resolves hosts from the regions registry; removed hardcoded `regionCode()` and `HostURL`

##### Chore:
- Replaced `refresh-region.cs` with `refresh-region.py` — avoids MSBuild compiling the script as source
- Added `build/contentstack.csharp.targets` to auto-deliver `refresh-region.py` to consumer projects on first build
- Added `Assets/regions.json` to `.gitignore`
- Added `EndpointTest.cs`

---

### Version: 3.0.0-beta.1
#### Date: May-04-2026

##### Breaking Changes:
- Removed `Newtonsoft.Json` dependency; all JSON serialisation now uses `System.Text.Json` (BCL)
- `AssetJsonConverter` and `EntryJsonConverter` now implement `System.Text.Json.Serialization.JsonConverter<T>`
- `ContentstackCollection<T>` no longer carries `[JsonObject]`; direct `JsonSerializer` usage on this type is not supported
- Updated `contentstack.utils` from `1.0.6` to `2.0.0-beta.1` (major version bump)

##### Feat:
- Migrated all internal JSON handling to `System.Text.Json`
- Added `ApiErrorBodyParser` for consistent API error envelope parsing
- Added `JsonNodeConversion` and `JsonObjectMerge` utilities to replace Newtonsoft equivalents
- Added `ContentstackJsonDefaults` — shared `JsonSerializerOptions` used across all custom converters

##### Enh:
- Replaced `Console.WriteLine` with `Debug.WriteLine` in `ContentstackConvert` to suppress parse warnings from application stdout

##### Chore:
- Updated .NET version in SCA scan CI from `7.0.x` to `10.0.x`

---

### Version: 2.28.0
#### Date: Jun-24-2026

##### Fix:
- Register `EmbeddedObjectConverter` in `ContentstackClient` constructor so `.includeEmbeddedItems().Fetch<T>()` deserializes `_embedded_items` correctly when the model implements `IEntryEmbedable`. No changes required in consumer code.
- Upgraded utils dependency from `contentstack.utils 1.3.0` to `contentstack.utils 1.4.0` which ships the concrete `EmbeddedObject` class and `EmbeddedObjectConverter`.

---

### Version: 2.27.0
#### Date: Apr-23-2026

Expand All @@ -25,6 +106,8 @@
- Comprehensive error handling tests for Timeline Preview edge cases


---

### Version: 2.26.0
#### Date: Feb-10-2026

Expand Down
15 changes: 2 additions & 13 deletions Contentstack.Core.Tests/Contentstack.Core.Tests.csproj
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk" ToolsVersion="15.0">

<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<TargetFramework>net10.0</TargetFramework>

<IsPackable>false</IsPackable>
<ReleaseVersion>$(Version)</ReleaseVersion>
Expand All @@ -27,20 +27,9 @@
<DotNetCliToolReference Include="dotnet-reportgenerator-cli" Version="4.2.10" />
<PackageReference Include="AutoFixture" Version="4.18.1" />
<PackageReference Include="AutoFixture.AutoMoq" Version="4.18.1" />

<PackageReference Include="Fare" Version="2.2.2" />

<PackageReference Include="System.Net.Http" Version="4.3.4" />
<PackageReference Include="System.Text.RegularExpressions" Version="4.3.1" />
<PackageReference Include="Moq" Version="4.20.72" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.4" />
</ItemGroup>

<ItemGroup>
<Reference Include="Contentstack.Core">
<HintPath>..\Contentstack.Core\bin\Debug\Contentstack.Core.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Remove="SingletoneTest.cs" />
<Compile Remove="EmptyClass.cs" />
Expand Down Expand Up @@ -70,4 +59,4 @@
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
</Project>
</Project>
Loading
Loading