Skip to content

Commit d533ac1

Browse files
committed
Merge branch 'development' into enhc/DX-7326
2 parents 714fea3 + cf4caec commit d533ac1

117 files changed

Lines changed: 1801 additions & 9283 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.cursor/rules/README.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

.github/workflows/back-merge-pr.yml

Lines changed: 0 additions & 54 deletions
This file was deleted.

.github/workflows/check-branch.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
name: 'Check Branch'
2+
3+
on:
4+
pull_request:
5+
6+
jobs:
7+
check_branch:
8+
runs-on: ubuntu-latest
9+
steps:
10+
# PRs into master are no longer blocked here based on their source branch.
11+
# Direct merges into master (i.e. without going through PR review) are expected
12+
# to be prevented by GitHub branch protection rules on master, not by this CI check.
13+
- name: Branch check (informational only)
14+
run: |
15+
echo "This workflow no longer restricts which branch a PR into master can come from."
16+
echo "Base branch : ${{ github.base_ref }}"
17+
echo "Head branch : ${{ github.head_ref }}"
18+
echo "Direct pushes/merges to master should be prevented via branch protection rules, not this workflow."

.github/workflows/check-version-bump.yml

Lines changed: 0 additions & 86 deletions
This file was deleted.

.github/workflows/issues-jira.yml

Lines changed: 0 additions & 31 deletions
This file was deleted.

.github/workflows/sca-scan.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
- name: Setup .NET Core @ Latest
1414
uses: actions/setup-dotnet@v1
1515
with:
16-
dotnet-version: "7.0.x"
16+
dotnet-version: "10.0.x"
1717

1818
- name: Run Dotnet Restore
1919
run: dotnet restore

.github/workflows/unit-test.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ jobs:
99
steps:
1010
- name: Checkout repository
1111
uses: actions/checkout@v4.2.2
12-
- name: Setup .NET 7.0
12+
- name: Setup .NET
1313
uses: actions/setup-dotnet@v4.3.0
1414
with:
15-
dotnet-version: '7.0.x'
15+
dotnet-version: '10.0.x'
1616
- name: Restore dependencies
1717
run: dotnet restore Contentstack.Net.sln
1818
- name: Build solution

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,4 +67,6 @@ packages/
6767
*.sln.docstates
6868

6969
# Python
70-
Scripts/venv/
70+
Scripts/venv/
71+
# Cached region registry — regenerated at runtime from CDN
72+
*/Assets/regions.json

AGENTS.md

Lines changed: 0 additions & 49 deletions
This file was deleted.

CHANGELOG.md

Lines changed: 94 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,102 @@
1-
### Version: 2.28.0
2-
#### Date: May-15-2026
1+
### Version: 3.1.0
2+
#### Date: Jul-20-2026
33

44
##### Feat:
55
- Entry Variants Branch Support
66
- Added support for passing an optional `branch` parameter to the `.Variant()` method in both `Entry` and `Query` classes.
77
- If the branch parameter is null or empty, it automatically falls back to the Stack's configured branch or "main".
88
- Added comprehensive unit and integration tests for Entry and Query variant branch logic.
99

10+
---
11+
12+
### Version: 3.0.0
13+
#### Date: Jul-13-2026
14+
15+
##### Breaking Changes:
16+
- Removed `Newtonsoft.Json` dependency; all JSON serialisation now uses `System.Text.Json` (BCL)
17+
- `Entry.ToJson()`, `Query.Count()`, `AssetLibrary.Count()` now return `JsonObject` instead of `JObject`
18+
- `AssetLibrary.Query(JsonObject)` — parameter type changed from `JObject` to `JsonObject`
19+
- `ContentType.Fetch()`, `GlobalField.Fetch()`, `GlobalFieldQuery.Find()` now return `JsonObject` instead of `JObject`
20+
- `SerializerSettings``SerializerOptions`
21+
- Model classes use `[JsonPropertyName]` instead of `[JsonProperty]`
22+
- Requires **.NET 10** or later
23+
- Updated `contentstack.utils` dependency to `2.0.0` (final, non-beta)
24+
25+
##### Feat:
26+
- Added `Endpoint` class for dynamic region-to-URL resolution via CDN-backed `regions.json`
27+
- Added `ContentstackRegionMap` to map `ContentstackRegion` enum to registry region IDs
28+
- Added `GCP_EU` region support
29+
- Added `ApiErrorBodyParser` for consistent API error envelope parsing
30+
- Added `JsonNodeConversion` and `JsonObjectMerge` utilities to replace Newtonsoft equivalents
31+
- Added `ContentstackJsonDefaults` — shared `JsonSerializerOptions` used across all custom converters
32+
33+
##### Enh:
34+
- `Config.BaseUrl` now resolves hosts from the regions registry; removed hardcoded `regionCode()` and `HostURL`
35+
- Replaced `Console.WriteLine` with `Debug.WriteLine` in `ContentstackConvert` to suppress parse warnings from application stdout
36+
37+
##### Chore:
38+
- Replaced `refresh-region.cs` with `refresh-region.py` — avoids MSBuild compiling the script as source
39+
- Added `build/contentstack.csharp.targets` to auto-deliver `refresh-region.py` to consumer projects on first build
40+
- Added `Assets/regions.json` to `.gitignore`
41+
- Added `EndpointTest.cs`
42+
- Updated .NET version in SCA scan CI from `7.0.x` to `10.0.x`
43+
44+
##### Migration Guide:
45+
- 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.
46+
47+
---
48+
49+
### Version: 3.0.0-beta.2
50+
#### Date: Jun-22-2026
51+
52+
##### Feat:
53+
- Added `Endpoint` class for dynamic region-to-URL resolution via CDN-backed `regions.json`
54+
- Added `ContentstackRegionMap` to map `ContentstackRegion` enum to registry region IDs
55+
- Added `GCP_EU` region support
56+
57+
##### Enh:
58+
- `Config.BaseUrl` now resolves hosts from the regions registry; removed hardcoded `regionCode()` and `HostURL`
59+
60+
##### Chore:
61+
- Replaced `refresh-region.cs` with `refresh-region.py` — avoids MSBuild compiling the script as source
62+
- Added `build/contentstack.csharp.targets` to auto-deliver `refresh-region.py` to consumer projects on first build
63+
- Added `Assets/regions.json` to `.gitignore`
64+
- Added `EndpointTest.cs`
65+
66+
---
67+
68+
### Version: 3.0.0-beta.1
69+
#### Date: May-04-2026
70+
71+
##### Breaking Changes:
72+
- Removed `Newtonsoft.Json` dependency; all JSON serialisation now uses `System.Text.Json` (BCL)
73+
- `AssetJsonConverter` and `EntryJsonConverter` now implement `System.Text.Json.Serialization.JsonConverter<T>`
74+
- `ContentstackCollection<T>` no longer carries `[JsonObject]`; direct `JsonSerializer` usage on this type is not supported
75+
- Updated `contentstack.utils` from `1.0.6` to `2.0.0-beta.1` (major version bump)
76+
77+
##### Feat:
78+
- Migrated all internal JSON handling to `System.Text.Json`
79+
- Added `ApiErrorBodyParser` for consistent API error envelope parsing
80+
- Added `JsonNodeConversion` and `JsonObjectMerge` utilities to replace Newtonsoft equivalents
81+
- Added `ContentstackJsonDefaults` — shared `JsonSerializerOptions` used across all custom converters
82+
83+
##### Enh:
84+
- Replaced `Console.WriteLine` with `Debug.WriteLine` in `ContentstackConvert` to suppress parse warnings from application stdout
85+
86+
##### Chore:
87+
- Updated .NET version in SCA scan CI from `7.0.x` to `10.0.x`
88+
89+
---
90+
91+
### Version: 2.28.0
92+
#### Date: Jun-24-2026
93+
94+
##### Fix:
95+
- Register `EmbeddedObjectConverter` in `ContentstackClient` constructor so `.includeEmbeddedItems().Fetch<T>()` deserializes `_embedded_items` correctly when the model implements `IEntryEmbedable`. No changes required in consumer code.
96+
- Upgraded utils dependency from `contentstack.utils 1.3.0` to `contentstack.utils 1.4.0` which ships the concrete `EmbeddedObject` class and `EmbeddedObjectConverter`.
97+
98+
---
99+
10100
### Version: 2.27.0
11101
#### Date: Apr-23-2026
12102

@@ -27,6 +117,8 @@
27117
- Comprehensive error handling tests for Timeline Preview edge cases
28118

29119

120+
---
121+
30122
### Version: 2.26.0
31123
#### Date: Feb-10-2026
32124

0 commit comments

Comments
 (0)