Link to # in the breadcrumbs when a breadcrumb doesn’t have a url.
Add the $includeHeadings parameter to CategoryModel::GetAncestors() which can be used to exclude heading categories.
Add the $IncludeParent parameter to CategoryModel->GetSubtree().
Don’t include the current category in the “Categories” key of the result.

This change adds some consistency to our api. When you are viewing the root then all of the categories are shown, but not the root category. The same should be true when viewing an individual category because you really don’t want to display THAT category in any list whether it be a category list, a subtree or what have you.

This change does add some risk as it’s changing an api we’ve relied on for a long time. I’m hoping that these changes make any regression bugs worth it though.
Don’t use do headings to adjust a category’s depth.

I’m fairly certain that due to making the categories api more consistent then this tweak is no longer necessary.