Skip to content
21 changes: 18 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,24 @@
### Version: 3.1.1
#### Date: Aug-03-2026
### Version: 3.2.0
#### Date: Aug-3-2026

##### Feat:
- Taxonomy Publishing CDA support
- `Taxonomies(uid)` scopes to a specific taxonomy: `.Fetch<T>()`, `.Term(termUid)`, `.Terms()`
- `Taxonomies().Find<T>()` — list all published taxonomies (`GET /taxonomies`)
- New `Term` class: `.Fetch<T>()`, `.Locales<T>()`, `.Ancestors<T>()`, `.Descendants<T>()`
- New `TermQuery` class: `.Find<T>()` for listing terms within a taxonomy
- `Depth(int)` and `IncludeBranch()` on `Term`/`TermQuery` for hierarchy traversal control
- `Skip(int)`, `Limit(int)`, `IncludeCount()` on `TermQuery` for paginated term listing
- Added `Internals/TaxonomyRequestHelper` — shared request-building, header-merging, and error-parsing for `Taxonomy`/`Term`/`TermQuery`

- Taxonomy / Term / TermQuery — localization support
- `SetLocale(string)` filters the taxonomy/term response to a specific locale (e.g. `"fr-fr"`)
- `IncludeFallback()` returns the master-locale (`en-us`) version when a term/taxonomy isn't translated into the requested locale, instead of omitting it
- Both compose correctly with hierarchy traversal — `Term(uid).SetLocale("fr-fr").IncludeFallback().Depth(2).Descendants<T>()` returns a full localized subtree, with untranslated nodes individually falling back to master locale in the same response
- Fallback is per-node, not all-or-nothing: a single hierarchy fetch can return some terms translated and others fallen-back simultaneously — safe to use on partially-translated taxonomies

##### Fix:
- Bumped vulnerable/outdated dependencies (Snyk remediation)

---

### Version: 3.1.0
Expand Down
16 changes: 14 additions & 2 deletions Contentstack.Core.Tests/Helpers/TestDataHelper.cs
Original file line number Diff line number Diff line change
Expand Up @@ -127,9 +127,21 @@ static TestDataHelper()
/// <summary>
/// Gets the taxonomy term for India state (e.g., "maharashtra")
/// </summary>
public static string TaxIndiaState =>
public static string TaxIndiaState =>
GetRequiredConfig("TAX_INDIA_STATE");


/// <summary>
/// UID of the published taxonomy to use in localization tests (e.g. "gadgets").
/// </summary>
public static string TaxPublishTaxonomyUid =>
GetRequiredConfig("TAX_PUBLISH_TAXONOMY_UID");

/// <summary>
/// Locale code used for localized taxonomy/term delivery tests (e.g. "fr-fr").
/// </summary>
public static string TaxPublishLocale =>
GetRequiredConfig("TAX_PUBLISH_LOCALE");

#endregion

#region Live Preview
Expand Down
Loading
Loading