Skip to content

feat: add localized taxonomy and term delivery (CDA) support#190

Open
cs-raj wants to merge 6 commits into
v2-legacyfrom
feat/taxonomy-publishing-localisation-2
Open

feat: add localized taxonomy and term delivery (CDA) support#190
cs-raj wants to merge 6 commits into
v2-legacyfrom
feat/taxonomy-publishing-localisation-2

Conversation

@cs-raj

@cs-raj cs-raj commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Extends the .NET SDK with published-taxonomy fetch and term delivery endpoints to match the TypeScript feat/taxonomy-publishing parity (CD-11371).

New:

  • Term.cs — Fetch(locale?), Locales(), Ancestors(), Descendants()
  • TermQuery.cs — SetLocale()/IncludeFallback() chainable builder + Find()

Extended Taxonomy class:

  • Taxonomy(stack, uid) constructor
  • _Url switches to /taxonomies/{uid} when uid is set
  • Fetch(locale?) — own HTTP path, parses $.taxonomy
  • Term(termUid) → Term, Terms() → TermQuery

Extended ContentstackClient:

  • Taxonomies(uid) overload

Tests:

  • TaxonomyUnitTests — 46 unit tests (all pass)
  • TaxonomyLocalisationTest — integration tests per CDA call
  • TestDataHelper — taxonomy-publish stack config properties

@cs-raj cs-raj requested a review from a team as a code owner July 15, 2026 12:58
@github-actions

Copy link
Copy Markdown

🔒 Security Scan Results

ℹ️ Note: Only vulnerabilities with available fixes (upgrades or patches) are counted toward thresholds.

Check Type Count (with fixes) Without fixes Threshold Result
🔴 Critical Severity 0 0 10 ✅ Passed
🟠 High Severity 0 0 25 ✅ Passed
🟡 Medium Severity 0 0 500 ✅ Passed
🔵 Low Severity 0 0 1000 ✅ Passed

⏱️ SLA Breach Summary

✅ No SLA breaches detected. All vulnerabilities are within acceptable time thresholds.

Severity Breaches (with fixes) Breaches (no fixes) SLA Threshold (with/no fixes) Status
🔴 Critical 0 0 15 / 30 days ✅ Passed
🟠 High 0 0 30 / 120 days ✅ Passed
🟡 Medium 0 0 90 / 365 days ✅ Passed
🔵 Low 0 0 180 / 365 days ✅ Passed

✅ BUILD PASSED - All security checks passed

@cs-raj cs-raj changed the base branch from master to v2-legacy July 15, 2026 13:00
@cs-raj cs-raj requested a review from a team as a code owner July 15, 2026 13:00
Extends the .NET SDK with published-taxonomy fetch and term delivery
endpoints to match the TypeScript feat/taxonomy-publishing parity (CD-11371).

New:
- Term.cs — Fetch(locale?), Locales<T>(), Ancestors<T>(), Descendants<T>()
- TermQuery.cs — SetLocale()/IncludeFallback() chainable builder + Find<T>()

Extended Taxonomy class:
- Taxonomy(stack, uid) constructor
- _Url switches to /taxonomies/{uid} when uid is set
- Fetch<T>(locale?) — own HTTP path, parses $.taxonomy
- Term(termUid) → Term, Terms() → TermQuery

Extended ContentstackClient:
- Taxonomies(uid) overload

Tests:
- TaxonomyUnitTests — 46 unit tests (all pass)
- TaxonomyLocalisationTest — integration tests per CDA call
- TestDataHelper — taxonomy-publish stack config properties

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@cs-raj cs-raj force-pushed the feat/taxonomy-publishing-localisation-2 branch from 6274caa to 1940b78 Compare July 15, 2026 13:05
@github-actions

Copy link
Copy Markdown

🔒 Security Scan Results

ℹ️ Note: Only vulnerabilities with available fixes (upgrades or patches) are counted toward thresholds.

Check Type Count (with fixes) Without fixes Threshold Result
🔴 Critical Severity 0 0 10 ✅ Passed
🟠 High Severity 0 0 25 ✅ Passed
🟡 Medium Severity 0 0 500 ✅ Passed
🔵 Low Severity 0 0 1000 ✅ Passed

⏱️ SLA Breach Summary

✅ No SLA breaches detected. All vulnerabilities are within acceptable time thresholds.

Severity Breaches (with fixes) Breaches (no fixes) SLA Threshold (with/no fixes) Status
🔴 Critical 0 0 15 / 30 days ✅ Passed
🟠 High 0 0 30 / 120 days ✅ Passed
🟡 Medium 0 0 90 / 365 days ✅ Passed
🔵 Low 0 0 180 / 365 days ✅ Passed

✅ BUILD PASSED - All security checks passed

…ntegration tests

- Add includeFallback param to Term.Fetch<T>; serialize as string "true" to match
  CDA case-sensitivity (bool true serializes as "True" which the API rejects)
- Pass includeFallback: true in Fetch_SingleTerm test to be consistent with how
  GetFirstTermUidAsync lists terms (with IncludeFallback)
- Rewrite Find_AllTaxonomies test to call Terms().Find<JObject>() without locale
  instead of the entries-by-taxonomy endpoint which requires tagged entries
@github-actions

Copy link
Copy Markdown

🔒 Security Scan Results

ℹ️ Note: Only vulnerabilities with available fixes (upgrades or patches) are counted toward thresholds.

Check Type Count (with fixes) Without fixes Threshold Result
🔴 Critical Severity 0 0 10 ✅ Passed
🟠 High Severity 0 0 25 ✅ Passed
🟡 Medium Severity 0 0 500 ✅ Passed
🔵 Low Severity 0 0 1000 ✅ Passed

⏱️ SLA Breach Summary

✅ No SLA breaches detected. All vulnerabilities are within acceptable time thresholds.

Severity Breaches (with fixes) Breaches (no fixes) SLA Threshold (with/no fixes) Status
🔴 Critical 0 0 15 / 30 days ✅ Passed
🟠 High 0 0 30 / 120 days ✅ Passed
🟡 Medium 0 0 90 / 365 days ✅ Passed
🔵 Low 0 0 180 / 365 days ✅ Passed

✅ BUILD PASSED - All security checks passed

@github-actions

Copy link
Copy Markdown

🔒 Security Scan Results

ℹ️ Note: Only vulnerabilities with available fixes (upgrades or patches) are counted toward thresholds.

Check Type Count (with fixes) Without fixes Threshold Result
🔴 Critical Severity 0 0 10 ✅ Passed
🟠 High Severity 0 0 25 ✅ Passed
🟡 Medium Severity 0 0 500 ✅ Passed
🔵 Low Severity 0 0 1000 ✅ Passed

⏱️ SLA Breach Summary

✅ No SLA breaches detected. All vulnerabilities are within acceptable time thresholds.

Severity Breaches (with fixes) Breaches (no fixes) SLA Threshold (with/no fixes) Status
🔴 Critical 0 0 15 / 30 days ✅ Passed
🟠 High 0 0 30 / 120 days ✅ Passed
🟡 Medium 0 0 90 / 365 days ✅ Passed
🔵 Low 0 0 180 / 365 days ✅ Passed

✅ BUILD PASSED - All security checks passed

netrajpatel
netrajpatel previously approved these changes Jul 15, 2026
OMpawar-21
OMpawar-21 previously approved these changes Jul 15, 2026
@OMpawar-21 OMpawar-21 dismissed stale reviews from netrajpatel and themself via f858c72 July 16, 2026 03:18
@github-actions

Copy link
Copy Markdown

🔒 Security Scan Results

ℹ️ Note: Only vulnerabilities with available fixes (upgrades or patches) are counted toward thresholds.

Check Type Count (with fixes) Without fixes Threshold Result
🔴 Critical Severity 0 0 10 ✅ Passed
🟠 High Severity 0 0 25 ✅ Passed
🟡 Medium Severity 0 0 500 ✅ Passed
🔵 Low Severity 0 0 1000 ✅ Passed

⏱️ SLA Breach Summary

✅ No SLA breaches detected. All vulnerabilities are within acceptable time thresholds.

Severity Breaches (with fixes) Breaches (no fixes) SLA Threshold (with/no fixes) Status
🔴 Critical 0 0 15 / 30 days ✅ Passed
🟠 High 0 0 30 / 120 days ✅ Passed
🟡 Medium 0 0 90 / 365 days ✅ Passed
🔵 Low 0 0 180 / 365 days ✅ Passed

✅ BUILD PASSED - All security checks passed

fix: added branch set via the stack config
@github-actions

Copy link
Copy Markdown

🔒 Security Scan Results

ℹ️ Note: Only vulnerabilities with available fixes (upgrades or patches) are counted toward thresholds.

Check Type Count (with fixes) Without fixes Threshold Result
🔴 Critical Severity 0 0 10 ✅ Passed
🟠 High Severity 0 0 25 ✅ Passed
🟡 Medium Severity 0 0 500 ✅ Passed
🔵 Low Severity 0 0 1000 ✅ Passed

⏱️ SLA Breach Summary

✅ No SLA breaches detected. All vulnerabilities are within acceptable time thresholds.

Severity Breaches (with fixes) Breaches (no fixes) SLA Threshold (with/no fixes) Status
🔴 Critical 0 0 15 / 30 days ✅ Passed
🟠 High 0 0 30 / 120 days ✅ Passed
🟡 Medium 0 0 90 / 365 days ✅ Passed
🔵 Low 0 0 180 / 365 days ✅ Passed

✅ BUILD PASSED - All security checks passed

Comment thread CHANGELOG.md
@@ -1,3 +1,11 @@
### Version: 2.29.0
#### Date: Jul-15-2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pls update the date to release date @cs-raj / @OMpawar-21

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On it

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants