umanit/tree-bundle
UmanitTreeBundle is a Symfony bundle for managing hierarchical data in Doctrine-backed applications, with tools for building, organizing, querying, and rendering tree structures. It helps developers add nested content and tree navigation with less boilerplate.
TreeNodeType change allowing query_builder to be overridden is the most strategically relevant item here: it means per-content-type data sourcing (external APIs, filtered feeds, curated/personalised lists) without forking the package. This unblocks roadmap items like "related content" and "search-driven landing pages."get_path fixes (Twig function and URI) touch canonical URLs, internal links, and sitemap generation — directly relevant to SEO health and analytics attribution.Adopt when:
query_builder override is now a supported extension point, so unusual data sourcing doesn't force a fork.Look elsewhere when:
Executives: This is a patch release on a package we'd use to build our content platform on Laravel. Direct cost is near zero; the value is a corrected SEO title separator, fixed URL path generation (fewer broken links and canonical errors), and a new extension point that lets us add dynamic listings later without custom engineering. Risk is contained but real: the package is pre-1.0, so we pin the version and schedule upgrades deliberately rather than tracking latest.
Engineering: Upgrade is patch-level and low risk, but verify before rollout: (1) confirm our TreeNodeType subclasses aren't relying on the previous query_builder behaviour — the change enables overriding, which is additive but should be checked against existing subclasses; (2) audit Twig get_path usage and any URI-based URL building in sitemaps, canonicals, and internal links; (3) diff rendered Title/Excerpt output on listing cards and social metadata, since favourite keys now take precedence; (4) run template regression across our highest-traffic page types. Pin to 0.3.2 and treat upcoming minor releases as potentially breaking.
How can I help you explore Laravel packages today?