You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: add Taxonomy CDA support (list/fetch taxonomies, terms, hierarchy)
Adds direct Content Delivery API access to published taxonomies and terms,
without breaking the existing entry-filter API:
- stack.taxonomy() with a filter chained (in_/above/below/...) still filters
entries by taxonomy, unchanged. With nothing chained, find() now lists all
published taxonomies instead.
- stack.taxonomy(uid) is new: fetch() a single taxonomy, locale()/
include_fallback()/include_branch() for locale-aware delivery.
- stack.taxonomy(uid).term(uid) / .term() (new contentstack/term.py): fetch a
single term or list all terms, plus locales()/ancestors()/descendants() for
hierarchy traversal with depth()/include_branch().
Implemented via TaxonomyQuery(TaxonomyFilter) inheritance so the legacy filter
behavior stays byte-for-byte identical — no version bump required for a
breaking change, no deprecation cycle needed.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: CHANGELOG.md
+6Lines changed: 6 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,11 @@
1
1
# CHANGELOG
2
2
3
+
## _v2.8.0_
4
+
5
+
### **Date: 28-July-2026**
6
+
7
+
- Added Taxonomy CDA support: `stack.taxonomy(uid)` now fetches a single published taxonomy (`.fetch()`), lists its terms (`.term().find()`), and fetches/traverses a single term (`.term(uid).fetch()/.locales()/.ancestors()/.descendants()`), with `.locale()`, `.include_fallback()`, `.include_branch()`, `.depth()`, `.skip()`, `.limit()`, `.include_count()`, and `.param()` chainable across the new classes. `stack.taxonomy()` (no uid) now also lists all published taxonomies via `.find()` when no filter is chained — existing entry-filter usage (`.in_()`, `.above()`, `.below()`, `.exists()`, etc. followed by `.find()`) is fully backward compatible and unchanged.
0 commit comments