{"version":"https://jsonfeed.org/version/1.1","title":"What's new in Componecat · Componecat","home_page_url":"https://www.componecat.ai/changelog/","feed_url":"https://www.componecat.ai/changelog.json","next_url":"https://www.componecat.ai/changelog/feed/2.json","items":[{"id":"0.56.0","url":"https://www.componecat.ai/changelog/0.56.0/","title":"Version 0.56.0","date_published":"2026-10-09T00:00:00.000Z","content_html":"<h3>New features</h3>\n<h4>See your search results as a graph</h4>\n<p>The catalog now has a Graph view next to Tree and List. Run any search, switch to Graph, and you see the entities you found and every relationship between them, so the shape of a system or a team&#39;s services is visible at a glance. Pick which relationship kinds to draw, and if you searched by scorecard, each entity shows the same score badge it has in the list. Collections get the same view, so a hand-picked set of services can be seen as one connected picture.</p>\n<h4>Describe relationships with attributes</h4>\n<p>Relationships can now carry attributes that describe the connection itself — the protocol one service calls another over, the SLA it depends on, or free-form notes. Declare them in a <code>componecat.yaml</code> descriptor, or set them through GraphQL, REST or MCP. Give a relationship kind an attribute schema to make attributes typed and required, using the same field types as custom fields, and Componecat rejects a relationship that is missing a required attribute or has a value it doesn&#39;t accept, naming the attribute at fault.</p>\n<h4>Relationships now show where they came from</h4>\n<p>Every relationship now records how it came to exist: added by hand, declared in a <code>componecat.yaml</code> descriptor, or inferred by automation. Descriptor relationships name the repository, descriptor path and commit they came from, and show when a sync last confirmed them; hand-added ones record who added them. If you add a relationship by hand and later declare it in a descriptor, it&#39;s upgraded in place and the change is noted in the entity&#39;s activity log. The source badge on the Relationships tab shows the details, and the same information is available over GraphQL, REST and MCP.</p>\n<h4>Explore an entity&#39;s neighborhood as a graph</h4>\n<p>Every entity page now has a Graph tab that draws the entity and everything connected to it. Go out up to five hops, follow outbound, inbound or both directions, pick the relationship kinds to follow, color entities by kind or source, and hide inferred relationships. Click an entity for a summary and a link to its page, double-click it to expand one more hop, or click a relationship to see where it came from and its attributes. The view is part of the page address, so you can share it, and your last-used settings are remembered.</p>\n<h4>Find how two entities are connected</h4>\n<p>Ask how one entity ends up depending on another and get the answer as paths: the chains of relationships that connect them, shortest first, across whichever relationship kinds and direction you choose. Explain a dependency, confirm a link you assumed, or find a coupling you didn&#39;t expect — all in one GraphQL request.</p>\n<h4>Fix relationships right from the graph</h4>\n<p>The Graph tab is now a place to edit, not only to look. Drag one entity onto another to add a relationship, or select an entity and choose &quot;Add relationship to…&quot; if you prefer the keyboard. Select a relationship to edit its description and attributes, or remove it after confirming. If a rule such as a cycle or cardinality limit refuses the change, the dialog tells you why and nothing is drawn. When a teammate adds or removes a relationship between entities you are looking at, the graph updates on its own.</p>\n<h4>See your whole catalog as one graph</h4>\n<p>A new Graph page in the sidebar draws your entire catalog at once: every entity and every relationship between them, filling the screen. Pick which relationship kinds to draw, color entities by kind, source or lifecycle, hide inferred relationships, and click any entity or relationship for its details. From there, one click takes you into that entity&#39;s own Graph tab to walk its neighborhood, measure impact or find paths. The view lives in the address bar, so it can be bookmarked and shared, and it redraws itself as the catalog changes. The small graph at the bottom of an entity&#39;s Relationships tab is retired in favor of the Graph tab.</p>\n<h4>See the blast radius and the paths on the graph</h4>\n<p>The Graph tab on an entity page now has Impact and Path views. Impact highlights everything affected if the entity changes, ringed and numbered by how many hops away it is, with a count and a legend. Path lets you pick another entity and draws how the two are connected, shortest path found first, with the alternatives a click away. Copy a link to share either view, or export it as a PNG or SVG, legend included, for a review or an ADR.</p>\n<h4>Agents see the whole graph in one call</h4>\n<p>AI agents connected to Componecat can now ask &quot;what is around this component?&quot; and &quot;how are these two connected?&quot; directly. <code>traverse_graph</code> returns everything reachable from an entity — across any relationship kinds, in either direction — and <code>find_paths</code> returns the chains of relationships linking two entities, shortest first. Each edge says whether it was entered by hand, declared in a descriptor, or inferred, so an agent knows how much to trust it. The same tools are available in AI Chat.</p>\n<h4>See how much to trust each relationship</h4>\n<p>The Relationships tab now tells you where every relationship came from at a glance. Inferred relationships show how confident Componecat is, and hovering or focusing a badge shows who added it or which descriptor or run declared it, and when it was last confirmed. Descriptor relationships link straight to the file that declares them, and you can filter the list to one source. Relationship attributes now show up right in the list, you can fill them in when you add or edit a relationship, and admins can define each relationship kind&#39;s attributes, including required ones, from the Relationship Kinds page.</p>\n<h4>Graph traversal and path finding over REST</h4>\n<p>Scripts, CI checks and dashboards that don&#39;t speak GraphQL can now explore the catalog graph over REST. <code>GET /catalog/{id}/graph</code> returns everything reachable from an entity across the relationship kinds you choose, in either direction, and <code>GET /catalog/{id}/paths/{targetId}</code> returns the chains of relationships linking two entities, shortest first. Every edge says how it was asserted, how confident Componecat is in it, and its attributes — the same answers the GraphQL API and AI agents get.</p>\n<h4>Connected agents stay connected</h4>\n<p>Agents and API clients no longer need re-approving every month. An authorization now renews itself in the background, so a connected agent keeps working until you revoke it or it goes 30 days unused. Clients that don&#39;t support renewal ask you hourly instead.</p>\n<p>Integrations also got safer and clearer: deleting one now asks for confirmation, and testing a connection reports the result.</p>\n<h4>Traverse the catalog graph in one request</h4>\n<p>Ask for everything reachable from an entity — across one or several relationship kinds, outbound, inbound or both, up to a chosen number of hops — and get the whole subgraph back in one GraphQL request, with each entity&#39;s distance from the start and every relationship between them. Narrow the walk with the same search language as the catalog, for example to stay inside production.</p>\n<h3>Improvements</h3>\n<h4>Impact analysis covers all your dependency kinds, in either direction</h4>\n<p>Impact analysis now follows every relationship kind you mark as a dependency — <code>depends-on</code>, <code>calls</code>, <code>reads-from</code>, whatever you use — instead of only the first, so the blast radius it reports is the whole one. You can also choose the direction: downstream (what this entity relies on), upstream (what relies on it), or both, and each result shows how many hops away it is and which relationship kinds reached it. Available to AI agents through <code>get_impact_analysis</code>, and over the GraphQL and REST APIs.</p>\n<h3>Bug fixes</h3>\n<h4>Deleted custom fields no longer get stuck on collections</h4>\n<p>When you delete a custom field, it now drops off the display settings of every collection that was showing it. Any collection still carrying a field that no longer exists shows it as removed in the collection editor, so you can clear it with one click.</p>\n<h4>MCP create and wiki tools work again</h4>\n<p>AI agents connected over MCP can once again create teams, catalog entities and wiki pages, read wiki guides, and edit the schema. These tools had been failing with a generic error. Agents whose token lacks the needed access still get a clear access-denied message.</p>\n<h4>Plans page names each integration provider directly</h4>\n<p>The plans page now lists integration providers by name — GitHub, GitLab, Bitbucket, Atlassian, Microsoft 365 — grouped directly under Integrations, instead of repeating &quot;integration&quot; after each one in an arbitrary order.</p>\n","_shaftware":{"version":"0.56.0","tags":["ai","api","catalog","catalog-as-code","collections","integrations","mcp","plans","relationships"],"tag_labels":{"catalog":"Catalog","collections":"Collections","integrations":"Integrations","mcp":"MCP","plans":"Plans & billing","relationships":"Relationships"},"generic":false,"content_markdown":"### New features\n\n#### See your search results as a graph\n\nThe catalog now has a Graph view next to Tree and List. Run any search, switch to Graph, and you see the entities you found and every relationship between them, so the shape of a system or a team's services is visible at a glance. Pick which relationship kinds to draw, and if you searched by scorecard, each entity shows the same score badge it has in the list. Collections get the same view, so a hand-picked set of services can be seen as one connected picture.\n\n#### Describe relationships with attributes\n\nRelationships can now carry attributes that describe the connection itself — the protocol one service calls another over, the SLA it depends on, or free-form notes. Declare them in a `componecat.yaml` descriptor, or set them through GraphQL, REST or MCP. Give a relationship kind an attribute schema to make attributes typed and required, using the same field types as custom fields, and Componecat rejects a relationship that is missing a required attribute or has a value it doesn't accept, naming the attribute at fault.\n\n#### Relationships now show where they came from\n\nEvery relationship now records how it came to exist: added by hand, declared in a `componecat.yaml` descriptor, or inferred by automation. Descriptor relationships name the repository, descriptor path and commit they came from, and show when a sync last confirmed them; hand-added ones record who added them. If you add a relationship by hand and later declare it in a descriptor, it's upgraded in place and the change is noted in the entity's activity log. The source badge on the Relationships tab shows the details, and the same information is available over GraphQL, REST and MCP.\n\n#### Explore an entity's neighborhood as a graph\n\nEvery entity page now has a Graph tab that draws the entity and everything connected to it. Go out up to five hops, follow outbound, inbound or both directions, pick the relationship kinds to follow, color entities by kind or source, and hide inferred relationships. Click an entity for a summary and a link to its page, double-click it to expand one more hop, or click a relationship to see where it came from and its attributes. The view is part of the page address, so you can share it, and your last-used settings are remembered.\n\n#### Find how two entities are connected\n\nAsk how one entity ends up depending on another and get the answer as paths: the chains of relationships that connect them, shortest first, across whichever relationship kinds and direction you choose. Explain a dependency, confirm a link you assumed, or find a coupling you didn't expect — all in one GraphQL request.\n\n#### Fix relationships right from the graph\n\nThe Graph tab is now a place to edit, not only to look. Drag one entity onto another to add a relationship, or select an entity and choose \"Add relationship to…\" if you prefer the keyboard. Select a relationship to edit its description and attributes, or remove it after confirming. If a rule such as a cycle or cardinality limit refuses the change, the dialog tells you why and nothing is drawn. When a teammate adds or removes a relationship between entities you are looking at, the graph updates on its own.\n\n#### See your whole catalog as one graph\n\nA new Graph page in the sidebar draws your entire catalog at once: every entity and every relationship between them, filling the screen. Pick which relationship kinds to draw, color entities by kind, source or lifecycle, hide inferred relationships, and click any entity or relationship for its details. From there, one click takes you into that entity's own Graph tab to walk its neighborhood, measure impact or find paths. The view lives in the address bar, so it can be bookmarked and shared, and it redraws itself as the catalog changes. The small graph at the bottom of an entity's Relationships tab is retired in favor of the Graph tab.\n\n#### See the blast radius and the paths on the graph\n\nThe Graph tab on an entity page now has Impact and Path views. Impact highlights everything affected if the entity changes, ringed and numbered by how many hops away it is, with a count and a legend. Path lets you pick another entity and draws how the two are connected, shortest path found first, with the alternatives a click away. Copy a link to share either view, or export it as a PNG or SVG, legend included, for a review or an ADR.\n\n#### Agents see the whole graph in one call\n\nAI agents connected to Componecat can now ask \"what is around this component?\" and \"how are these two connected?\" directly. `traverse_graph` returns everything reachable from an entity — across any relationship kinds, in either direction — and `find_paths` returns the chains of relationships linking two entities, shortest first. Each edge says whether it was entered by hand, declared in a descriptor, or inferred, so an agent knows how much to trust it. The same tools are available in AI Chat.\n\n#### See how much to trust each relationship\n\nThe Relationships tab now tells you where every relationship came from at a glance. Inferred relationships show how confident Componecat is, and hovering or focusing a badge shows who added it or which descriptor or run declared it, and when it was last confirmed. Descriptor relationships link straight to the file that declares them, and you can filter the list to one source. Relationship attributes now show up right in the list, you can fill them in when you add or edit a relationship, and admins can define each relationship kind's attributes, including required ones, from the Relationship Kinds page.\n\n#### Graph traversal and path finding over REST\n\nScripts, CI checks and dashboards that don't speak GraphQL can now explore the catalog graph over REST. `GET /catalog/{id}/graph` returns everything reachable from an entity across the relationship kinds you choose, in either direction, and `GET /catalog/{id}/paths/{targetId}` returns the chains of relationships linking two entities, shortest first. Every edge says how it was asserted, how confident Componecat is in it, and its attributes — the same answers the GraphQL API and AI agents get.\n\n#### Connected agents stay connected\n\nAgents and API clients no longer need re-approving every month. An authorization now renews itself in the background, so a connected agent keeps working until you revoke it or it goes 30 days unused. Clients that don't support renewal ask you hourly instead.\n\nIntegrations also got safer and clearer: deleting one now asks for confirmation, and testing a connection reports the result.\n\n#### Traverse the catalog graph in one request\n\nAsk for everything reachable from an entity — across one or several relationship kinds, outbound, inbound or both, up to a chosen number of hops — and get the whole subgraph back in one GraphQL request, with each entity's distance from the start and every relationship between them. Narrow the walk with the same search language as the catalog, for example to stay inside production.\n\n### Improvements\n\n#### Impact analysis covers all your dependency kinds, in either direction\n\nImpact analysis now follows every relationship kind you mark as a dependency — `depends-on`, `calls`, `reads-from`, whatever you use — instead of only the first, so the blast radius it reports is the whole one. You can also choose the direction: downstream (what this entity relies on), upstream (what relies on it), or both, and each result shows how many hops away it is and which relationship kinds reached it. Available to AI agents through `get_impact_analysis`, and over the GraphQL and REST APIs.\n\n### Bug fixes\n\n#### Deleted custom fields no longer get stuck on collections\n\nWhen you delete a custom field, it now drops off the display settings of every collection that was showing it. Any collection still carrying a field that no longer exists shows it as removed in the collection editor, so you can clear it with one click.\n\n#### MCP create and wiki tools work again\n\nAI agents connected over MCP can once again create teams, catalog entities and wiki pages, read wiki guides, and edit the schema. These tools had been failing with a generic error. Agents whose token lacks the needed access still get a clear access-denied message.\n\n#### Plans page names each integration provider directly\n\nThe plans page now lists integration providers by name — GitHub, GitLab, Bitbucket, Atlassian, Microsoft 365 — grouped directly under Integrations, instead of repeating \"integration\" after each one in an arbitrary order."}},{"id":"0.55.1","url":"https://www.componecat.ai/changelog/0.55.1/","title":"Version 0.55.1","date_published":"2026-10-02T00:00:00.000Z","content_html":"<h3>Bug fixes</h3>\n<h4>Teams load reliably on the home page</h4>\n<p>Organizations with many teams sometimes saw the teams list fail to load when\nreturning to the home page, until a refresh. That no longer happens.</p>\n","_shaftware":{"version":"0.55.1","tags":["catalog"],"tag_labels":{"catalog":"Catalog"},"generic":false,"content_markdown":"### Bug fixes\n\n#### Teams load reliably on the home page\n\nOrganizations with many teams sometimes saw the teams list fail to load when\nreturning to the home page, until a refresh. That no longer happens."}},{"id":"0.55.0","url":"https://www.componecat.ai/changelog/0.55.0/","title":"Version 0.55.0","date_published":"2026-10-02T00:00:00.000Z","content_html":"<h3>New features</h3>\n<h4>Let teams own who edits their entries and sees private interfaces</h4>\n<p>You can now reserve two things for the team that owns an entity. Turn on &quot;Limit editing to the owning team&quot; and only that team&#39;s members and your admins can add or change its entities. Turn on &quot;Limit private interfaces to the owning team&quot; and interfaces marked Private are shown only to those same people.</p>\n<p>Each control has its own switch under Organization settings, in the new Team Access section, and both start off. Any team can differ from the organization: edit the team and choose whether it follows the organization, is always limited to its members, or is always open to everyone.</p>\n<h3>Improvements</h3>\n<h4>Collection pages use the full width of your screen</h4>\n<p>A collection&#39;s page now stretches across the whole window, so you see more of its items at once on a wide screen.</p>\n<h3>Bug fixes</h3>\n<h4>Picking an organization now lands on Home</h4>\n<p>Choosing an organization from the organization list, or finishing onboarding into a new one, now lands you on that organization&#39;s Home page. Previously those two paths dropped you into the catalog, while signing in directly already went to Home.</p>\n<h4>Cleaner page structure for screen readers</h4>\n<p>Every page in the app now has exactly one main content region. Previously screen readers listed two nested &quot;main&quot; landmarks, which made landmark navigation confusing. The &quot;Skip to main content&quot; link still takes you straight to the page content.</p>\n<h4>The wiki editor explains frontmatter tags</h4>\n<p>If you paste a page from a Git repository into the wiki editor, its frontmatter <code>tags:</code> list doesn&#39;t tag the page: pages written in the app are tagged with the tag bar. The editor now shows a note under the tag bar whenever the page body has frontmatter tags, so you can add them with <strong>Add reference</strong> instead of finding out later that the page has no tags.</p>\n","_shaftware":{"version":"0.55.0","tags":["accessibility","catalog","collections"],"tag_labels":{"catalog":"Catalog","collections":"Collections"},"generic":false,"content_markdown":"### New features\n\n#### Let teams own who edits their entries and sees private interfaces\n\nYou can now reserve two things for the team that owns an entity. Turn on \"Limit editing to the owning team\" and only that team's members and your admins can add or change its entities. Turn on \"Limit private interfaces to the owning team\" and interfaces marked Private are shown only to those same people.\n\nEach control has its own switch under Organization settings, in the new Team Access section, and both start off. Any team can differ from the organization: edit the team and choose whether it follows the organization, is always limited to its members, or is always open to everyone.\n\n### Improvements\n\n#### Collection pages use the full width of your screen\n\nA collection's page now stretches across the whole window, so you see more of its items at once on a wide screen.\n\n### Bug fixes\n\n#### Picking an organization now lands on Home\n\nChoosing an organization from the organization list, or finishing onboarding into a new one, now lands you on that organization's Home page. Previously those two paths dropped you into the catalog, while signing in directly already went to Home.\n\n#### Cleaner page structure for screen readers\n\nEvery page in the app now has exactly one main content region. Previously screen readers listed two nested \"main\" landmarks, which made landmark navigation confusing. The \"Skip to main content\" link still takes you straight to the page content.\n\n#### The wiki editor explains frontmatter tags\n\nIf you paste a page from a Git repository into the wiki editor, its frontmatter `tags:` list doesn't tag the page: pages written in the app are tagged with the tag bar. The editor now shows a note under the tag bar whenever the page body has frontmatter tags, so you can add them with **Add reference** instead of finding out later that the page has no tags."}},{"id":"0.54.0","url":"https://www.componecat.ai/changelog/0.54.0/","title":"Version 0.54.0","date_published":"2026-09-29T00:00:00.000Z","content_html":"<h3>Improvements</h3>\n<h4>One name for every select option</h4>\n<p>Select and multi-select options no longer have a hidden internal key behind\nthe name you see. The value shown in the app is now exactly what the APIs,\nthe MCP server and your <code>componecat.yaml</code> files use, so an option that reads\n&quot;Core Platform&quot; on screen is &quot;Core Platform&quot; everywhere. Existing catalogs are\nconverted automatically, including collections, saved searches and scorecard\nrules that compared one of these fields to the old internal key.</p>\n","_shaftware":{"version":"0.54.0","tags":["catalog","graphql_api","mcp","rest_api"],"tag_labels":{"catalog":"Catalog","graphql_api":"GraphQL API","mcp":"MCP","rest_api":"REST API"},"generic":false,"content_markdown":"### Improvements\n\n#### One name for every select option\n\nSelect and multi-select options no longer have a hidden internal key behind\nthe name you see. The value shown in the app is now exactly what the APIs,\nthe MCP server and your `componecat.yaml` files use, so an option that reads\n\"Core Platform\" on screen is \"Core Platform\" everywhere. Existing catalogs are\nconverted automatically, including collections, saved searches and scorecard\nrules that compared one of these fields to the old internal key."}},{"id":"0.53.0","url":"https://www.componecat.ai/changelog/0.53.0/","title":"Version 0.53.0","date_published":"2026-09-28T00:00:00.000Z","content_html":"<h3>Improvements</h3>\n<h4>A more dependable REST API for syncing your catalog</h4>\n<p>Bulk relationship updates over the REST API work again, and you can now choose\nwhich fields each entity kind carries without leaving the API. Search results\ninclude each entity&#39;s custom field values, so exporting your catalog takes far\nfewer requests. Creating an entity no longer reports an error for a change that\nwas actually saved.</p>\n<h3>Bug fixes</h3>\n<h4>Webhook delivery history stays up to date</h4>\n<p>A webhook&#39;s delivery history now shows the latest deliveries as soon as you open\nit, and a refresh button lets you check for new ones without reloading the page.</p>\n","_shaftware":{"version":"0.53.0","tags":["outgoing_webhooks","rest_api"],"tag_labels":{"outgoing_webhooks":"Outgoing webhooks","rest_api":"REST API"},"generic":false,"content_markdown":"### Improvements\n\n#### A more dependable REST API for syncing your catalog\n\nBulk relationship updates over the REST API work again, and you can now choose\nwhich fields each entity kind carries without leaving the API. Search results\ninclude each entity's custom field values, so exporting your catalog takes far\nfewer requests. Creating an entity no longer reports an error for a change that\nwas actually saved.\n\n### Bug fixes\n\n#### Webhook delivery history stays up to date\n\nA webhook's delivery history now shows the latest deliveries as soon as you open\nit, and a refresh button lets you check for new ones without reloading the page."}},{"id":"0.52.0","url":"https://www.componecat.ai/changelog/0.52.0/","title":"Version 0.52.0","date_published":"2026-09-28T00:00:00.000Z","content_html":"<h3>Improvements</h3>\n<h4>Choose exactly which changes each webhook receives</h4>\n<p>Webhooks can now be narrowed by record type, action, and entity kind. For example, you can send only updates to Services, or only scorecard results for your Systems. You can also attach custom headers, such as an authorization token your endpoint expects. Event types now name the record that changed, such as <code>componecat.catalog-entity.updated</code>. If your endpoint routes on the event type, update it.</p>\n","_shaftware":{"version":"0.52.0","tags":["outgoing_webhooks"],"tag_labels":{"outgoing_webhooks":"Outgoing webhooks"},"generic":false,"content_markdown":"### Improvements\n\n#### Choose exactly which changes each webhook receives\n\nWebhooks can now be narrowed by record type, action, and entity kind. For example, you can send only updates to Services, or only scorecard results for your Systems. You can also attach custom headers, such as an authorization token your endpoint expects. Event types now name the record that changed, such as `componecat.catalog-entity.updated`. If your endpoint routes on the event type, update it."}},{"id":"0.51.2","url":"https://www.componecat.ai/changelog/0.51.2/","title":"Version 0.51.2","date_published":"2026-09-28T00:00:00.000Z","content_html":"<h3>Improvements</h3>\n<h4>Catalog API responses now name the owning team</h4>\n<p>When you fetch a catalog entity through the REST API, the response now includes the owning team&#39;s name and, for teams synced from your directory, the team&#39;s ID there. You no longer need a second request to find out who owns something.</p>\n<h4>Webhooks now tell you more about who owns what</h4>\n<p>Catalog entity webhooks now include the owning team&#39;s ID and, for synced teams, its ID in your team directory. You can route work to the right team without an extra lookup. Webhooks also fire when a team is created, renamed, relinked, or removed, so systems that mirror ownership stay in step right away.</p>\n","_shaftware":{"version":"0.51.2","tags":["outgoing_webhooks","rest_api","team_sync"],"tag_labels":{"outgoing_webhooks":"Outgoing webhooks","rest_api":"REST API","team_sync":"Team sync"},"generic":false,"content_markdown":"### Improvements\n\n#### Catalog API responses now name the owning team\n\nWhen you fetch a catalog entity through the REST API, the response now includes the owning team's name and, for teams synced from your directory, the team's ID there. You no longer need a second request to find out who owns something.\n\n#### Webhooks now tell you more about who owns what\n\nCatalog entity webhooks now include the owning team's ID and, for synced teams, its ID in your team directory. You can route work to the right team without an extra lookup. Webhooks also fire when a team is created, renamed, relinked, or removed, so systems that mirror ownership stay in step right away."}},{"id":"0.51.1","url":"https://www.componecat.ai/changelog/0.51.1/","title":"Version 0.51.1","date_published":"2026-09-27T00:00:00.000Z","content_html":"<h3>Improvements</h3>\n<h4>Synced teams show their external ID in the API, and outgoing webhooks are documented</h4>\n<p>Teams synced from Atlassian, GitHub, GitLab or Microsoft 365 now include their ID in that system when you read them through the REST API or an AI agent. Scripts can use it to find the same team upstream, for example when setting a team on a Jira issue. There is also a new reference page for outgoing webhooks. It covers each event, the payload format, and how to verify the signature on a request.</p>\n<h4>Webhooks now tell you more about who owns what</h4>\n<p>Catalog entity webhooks now include the owning team&#39;s ID and, for synced teams, its ID in your team directory. You can route work to the right team without an extra lookup. Webhooks also fire when a team is created, renamed, relinked, or removed, so systems that mirror ownership stay in step right away.</p>\n<h3>Bug fixes</h3>\n<h4>Service accounts can look up their organization over MCP</h4>\n<p>AI agents connected with a service account can now ask which organization they are working in. Before, that request failed for service accounts even though it worked for people.</p>\n<h4>Validation errors now report a consistent error code</h4>\n<p>Validation errors from the GraphQL API and MCP tools now consistently return the <code>VALIDATION_ERROR</code> error code with the invalid field named in the <code>field</code> extension, instead of occasionally reporting the field name as the error code itself. REST responses for these errors now correctly return <code>422 Unprocessable Entity</code>.</p>\n","_shaftware":{"version":"0.51.1","tags":["graphql_api","mcp","outgoing_webhooks","rest_api","service_accounts","team_sync"],"tag_labels":{"graphql_api":"GraphQL API","mcp":"MCP","outgoing_webhooks":"Outgoing webhooks","rest_api":"REST API","service_accounts":"Service accounts","team_sync":"Team sync"},"generic":false,"content_markdown":"### Improvements\n\n#### Synced teams show their external ID in the API, and outgoing webhooks are documented\n\nTeams synced from Atlassian, GitHub, GitLab or Microsoft 365 now include their ID in that system when you read them through the REST API or an AI agent. Scripts can use it to find the same team upstream, for example when setting a team on a Jira issue. There is also a new reference page for outgoing webhooks. It covers each event, the payload format, and how to verify the signature on a request.\n\n#### Webhooks now tell you more about who owns what\n\nCatalog entity webhooks now include the owning team's ID and, for synced teams, its ID in your team directory. You can route work to the right team without an extra lookup. Webhooks also fire when a team is created, renamed, relinked, or removed, so systems that mirror ownership stay in step right away.\n\n### Bug fixes\n\n#### Service accounts can look up their organization over MCP\n\nAI agents connected with a service account can now ask which organization they are working in. Before, that request failed for service accounts even though it worked for people.\n\n#### Validation errors now report a consistent error code\n\nValidation errors from the GraphQL API and MCP tools now consistently return the `VALIDATION_ERROR` error code with the invalid field named in the `field` extension, instead of occasionally reporting the field name as the error code itself. REST responses for these errors now correctly return `422 Unprocessable Entity`."}},{"id":"0.51.0","url":"https://www.componecat.ai/changelog/0.51.0/","title":"Version 0.51.0","date_published":"2026-09-27T00:00:00.000Z","content_html":"<h3>Improvements</h3>\n<h4>A complete reference for the catalog REST API</h4>\n<p>The REST API&#39;s OpenAPI schema now describes every catalog field, filter and search option, so you can generate clients and explore the API without guesswork. Detected repository languages are no longer part of the catalog entity payload, and lifecycle values are spelled the same way in every response.</p>\n<h3>Bug fixes</h3>\n<h4>The AI assistant panel opens reliably again</h4>\n<p>Opening the AI assistant could leave the whole screen blank. The assistant panel now opens beside your page as expected, and you can keep working while it is open.</p>\n","_shaftware":{"version":"0.51.0","tags":["rest_api"],"tag_labels":{"rest_api":"REST API"},"generic":false,"content_markdown":"### Improvements\n\n#### A complete reference for the catalog REST API\n\nThe REST API's OpenAPI schema now describes every catalog field, filter and search option, so you can generate clients and explore the API without guesswork. Detected repository languages are no longer part of the catalog entity payload, and lifecycle values are spelled the same way in every response.\n\n### Bug fixes\n\n#### The AI assistant panel opens reliably again\n\nOpening the AI assistant could leave the whole screen blank. The assistant panel now opens beside your page as expected, and you can keep working while it is open."}},{"id":"0.50.2","url":"https://www.componecat.ai/changelog/0.50.2/","title":"Version 0.50.2","date_published":"2026-09-26T00:00:00.000Z","content_html":"<h3>Bug fixes</h3>\n<h4>Fixed the Tree view expand chevron drifting away from wrapped entity names</h4>\n<p>In Catalog Tree view, the expand chevron and kind icon now stay anchored to\nthe entity name at narrow viewport widths. Before, once an entity&#39;s name and\nbadges wrapped onto several lines, the chevron and icon could drift down next\nto an unrelated badge in the middle of the stack.</p>\n<h4>Fixed the Documentation tab&#39;s Add Link button doing nothing</h4>\n<p>The Documentation tab&#39;s &quot;Add Link&quot; button now always opens the add-link\ndialog. Before, it silently did nothing unless the Links item in the\nContents sidebar was already selected.</p>\n<h4>Fixed unreadable entity reference wrapping in parent/system links</h4>\n<p>Entity reference links that fall back to showing the raw ref URI (e.g. when\nan entity has no display name) now wrap at natural <code>/</code> and <code>-</code> boundaries\ninstead of breaking character-by-character at narrow viewport widths.</p>\n<h4>Clearer error when importing a spec for an interface without a URL</h4>\n<p>When an AI agent asks to import the spec for an interface that has no spec\nURL configured, the <code>import_interface_spec</code> MCP tool now says exactly that,\ninstead of returning a generic tool failure.</p>\n","_shaftware":{"version":"0.50.2","tags":["catalog","mcp"],"tag_labels":{"catalog":"Catalog","mcp":"MCP"},"generic":false,"content_markdown":"### Bug fixes\n\n#### Fixed the Tree view expand chevron drifting away from wrapped entity names\n\nIn Catalog Tree view, the expand chevron and kind icon now stay anchored to\nthe entity name at narrow viewport widths. Before, once an entity's name and\nbadges wrapped onto several lines, the chevron and icon could drift down next\nto an unrelated badge in the middle of the stack.\n\n#### Fixed the Documentation tab's Add Link button doing nothing\n\nThe Documentation tab's \"Add Link\" button now always opens the add-link\ndialog. Before, it silently did nothing unless the Links item in the\nContents sidebar was already selected.\n\n#### Fixed unreadable entity reference wrapping in parent/system links\n\nEntity reference links that fall back to showing the raw ref URI (e.g. when\nan entity has no display name) now wrap at natural `/` and `-` boundaries\ninstead of breaking character-by-character at narrow viewport widths.\n\n#### Clearer error when importing a spec for an interface without a URL\n\nWhen an AI agent asks to import the spec for an interface that has no spec\nURL configured, the `import_interface_spec` MCP tool now says exactly that,\ninstead of returning a generic tool failure."}},{"id":"0.50.1","url":"https://www.componecat.ai/changelog/0.50.1/","title":"Version 0.50.1","date_published":"2026-09-22T00:00:00.000Z","content_html":"<h3>Bug fixes</h3>\n<h4>Choose which relationships impact analysis follows</h4>\n<p>You can now mark any relationship kind as a dependency, right from its settings page, and impact analysis follows it to show what a change could affect. Your existing &quot;depends on&quot; relationships are picked up automatically, and kinds you create from a template keep their built-in behavior.</p>\n<h4>Clearer errors when an AI agent calls a tool the wrong way</h4>\n<p>When an AI agent passes a wrong or misspelled argument to a Componecat tool, the error now says which arguments the tool expects. Agents can correct the call and carry on instead of getting stuck on a vague failure.</p>\n","_shaftware":{"version":"0.50.1","tags":["catalog","mcp"],"tag_labels":{"catalog":"Catalog","mcp":"MCP"},"generic":false,"content_markdown":"### Bug fixes\n\n#### Choose which relationships impact analysis follows\n\nYou can now mark any relationship kind as a dependency, right from its settings page, and impact analysis follows it to show what a change could affect. Your existing \"depends on\" relationships are picked up automatically, and kinds you create from a template keep their built-in behavior.\n\n#### Clearer errors when an AI agent calls a tool the wrong way\n\nWhen an AI agent passes a wrong or misspelled argument to a Componecat tool, the error now says which arguments the tool expects. Agents can correct the call and carry on instead of getting stuck on a vague failure."}},{"id":"0.50.0","url":"https://www.componecat.ai/changelog/0.50.0/","title":"Version 0.50.0","date_published":"2026-09-21T00:00:00.000Z","content_html":"<h3>New features</h3>\n<h4>Three built-in scorecards, ready to turn on</h4>\n<p>Every organization now starts with three scorecards already built — Field Completeness, Freshness,\nand Agent Readiness — sitting disabled until you&#39;re ready to turn one on. Field Completeness flags\nentities missing a value your kind marks required. Freshness scores how recently a record, its\nsynced descriptor, and its docs were last touched (it&#39;s upfront that it can&#39;t see commit or deploy\nactivity yet). Agent Readiness checks what an AI agent needs to use an entity correctly: a reachable\nowning team, a real description, documentation, a spec URL on its API, and reasonably current data.\nAll three are ordinary scorecards — rename them, edit their rules, or delete them like any other,\nand doing so is remembered even across a restart.</p>\n<h4>Search dates relative to right now</h4>\n<p>Date filters in the search box now understand relative time, not just fixed\ndates. <code>updatedAt:&lt;now-90d</code> finds everything not touched in the last 90 days —\nand keeps meaning that every day, instead of the fixed date you&#39;d otherwise have\nto keep retyping. Use <code>now</code> on its own, or follow it with a sign, a number, and a\nunit: hours (<code>h</code>), days (<code>d</code>), months (<code>mo</code>), or years (<code>y</code>) — for example\n<code>now-24h</code>, <code>now+30d</code>, <code>now-6mo</code>, or in a range like <code>updatedAt:[now-30d TO now]</code>.\nThis works everywhere a search query does, including saved searches and dynamic\ncollections, so &quot;updated this week&quot; can finally be saved and stay true.</p>\n<p>One side effect: exact-date matching (<code>:</code>) on your own custom date fields now\ncompares the actual date rather than the exact stored text, so it matches\nanything recorded on that day instead of only values written in exactly that\nform. If a saved search or dynamic collection filters on a custom date field,\nits results may include a few different entities than before.</p>\n<h4>Define standards with Scorecards</h4>\n<p>Scorecards let you define what &quot;good&quot; looks like for a slice of your catalog —\na scope, a set of weighted rules, and an optional Bronze/Silver/Gold-style\nladder — and Componecat checks every matching entity against it automatically.\nOpen <strong>Scorecards</strong> to create one: as you write the scope and each rule, a live\npreview shows how many entities are in scope and how many currently pass or\nfail, with a sample of the failing ones, so you can calibrate a standard against\nyour real catalog before you publish it. Any organization member can view\nscorecards and how the catalog scores against them; creating, editing, and\ndeleting them is restricted to organization admins.</p>\n<h4>REST endpoints for scorecard definitions and rollup reports</h4>\n<p>The REST API now has a proper scorecard resource, not just per-entity results. List your\nscorecards, read one&#39;s full definition (scope, rules, weights), or pull its rollup report —\ndistribution, team/kind breakdowns, per-rule failure counts, and trend — the same data the app&#39;s\nReport tab shows. Like the rest of the scorecards automation surface, it&#39;s read-only: standards\nare still authored in the app.</p>\n<h4>Scorecard rollups — a report, a trend, and team standing</h4>\n<p>Every scorecard now has a Report tab: entity count in scope, mean score,\npercent fully passing, a score distribution, and worst-first breakdowns by\nladder level, owning team, kind, and per-rule failures — every number linking\nstraight into the catalog filtered to exactly what it counts. A trend chart\nshows the score over time, marking when the scorecard&#39;s definition last\nchanged. Team pages now summarize each team&#39;s standing across its applicable\nscorecards.</p>\n<h4>Scorecard scores, now visible where you look</h4>\n<p>Scorecard results are no longer confined to the authoring screen. Every\nentity page gets a Scorecards tab (when a scorecard applies) showing its\nscore, attained level, and which rules are passing or failing, with a link to\nfix each failure. Search understands <code>scorecard:</code>, <code>score:</code>, and <code>level:</code>\nclauses — <code>scorecard:security AND score:&gt;=80</code> — and a matching row shows its\nscore right there in the results.</p>\n<h4>Scorecards over MCP, REST, and outgoing webhooks</h4>\n<p>Scorecard results now follow your standards everywhere you automate against Componecat. An AI\nagent can list your scorecards, check an entity&#39;s results, or list everything failing a standard —\nread-only, so agents can look but not touch. The REST API exposes the same results at\n<code>/api/rest/v1/catalog/{id}/scorecards</code>. And an outgoing webhook subscription can now react the\nmoment a scorecard&#39;s score or level changes for an entity, with the failing rules right in the\npayload — not on every routine re-check, only on a real change.</p>\n<h3>Bug fixes</h3>\n<h4>Fixed illegible catalog list-view results on mobile</h4>\n<p>Catalog search results in List view no longer hide the entity name and\noverflow their badges off-screen at mobile viewport widths — badges now wrap\nunder the title instead.</p>\n<h4>Fixed scorecard score badge disappearing on catalog rows at mobile widths</h4>\n<p>A catalog or search result row&#39;s scorecard score/level badge no longer disappears entirely at\nnarrow (mobile) viewport widths — it now wraps onto its own line alongside the Team, Lifecycle,\nand Kind badges instead of being hidden.</p>\n<h4>Catalog search result badge no longer shows a misleading 100% for scorecards with no rules</h4>\n<p>Searching the catalog for entities against a scorecard whose rules were all\nremoved after creation used to show a green &quot;100&quot; score badge on every\nmatching row, as if every entity had been checked and passed. It now shows an\nexplicit &quot;No rules defined&quot; badge instead.</p>\n<h4>Fixed the catalog search toolbar clipping the Saved button at mobile widths</h4>\n<p>The catalog page&#39;s search toolbar (search box, Filters, Saved) no longer\nclips the Saved button off the edge of the screen at mobile widths — it now\nwraps onto additional lines so every control stays visible and reachable.</p>\n<h4>Fixed clipped Tree/List toggle label on the catalog results toolbar</h4>\n<p>The catalog search results toolbar (Sort and the Tree/List view toggle) no\nlonger clips its labels at mobile viewport widths — it now wraps onto\nadditional lines so &quot;Tree&quot; and &quot;List&quot; stay fully readable.</p>\n<h4>Catalog Tree view now shows scorecard score badges</h4>\n<p>Searching the catalog for entities against a scorecard (<code>scorecard:&lt;name&gt;</code>)\nnow shows each entity&#39;s score badge in Tree view too, matching List view —\npreviously the badge, and the &quot;No rules defined&quot; state for a scorecard with\nno rules, only appeared in List view.</p>\n<h4>&quot;Create Scorecard&quot; now requires at least one rule</h4>\n<p>The scorecard creation form previously let you create a standard with no\nrules and no warning, producing a scorecard that could never evaluate\nanything. &quot;Create Scorecard&quot; is now disabled until you&#39;ve added at least one\nrule.</p>\n<h4>More dialogs opened from a button now return focus to that button on close</h4>\n<p>Closing more dialogs across the app — including creating entity/relationship\nkinds (directly or from a template), deleting entity/relationship kinds,\nadding or removing catalog relationships, and saving, renaming, or deleting\na saved search — via Escape, the × control, or Cancel now returns keyboard\nfocus to the button that opened them, instead of dropping focus to the page\nbody.</p>\n<h4>The rest of the app&#39;s dialogs now return focus to the button that opened them on close</h4>\n<p>Closing any remaining dialog across the app — including catalog and\ncollection filters, creating a catalog entity, documentation sections and\nlinks, interfaces, Git integration webhook secret rotation, entity\nediting/deletion, entity kind fields and relationship kinds, and team\nmembership/editing/deletion — via Escape, the × control, or Cancel now\nreturns keyboard focus to the button that opened it, instead of dropping\nfocus to the page body.</p>\n<h4>Dialogs opened from a button (not a menu trigger) now return focus to that button on close</h4>\n<p>Closing several dialogs across the app — including Create Team, delete\nconfirmations on collections/scorecards/field definitions, and the field\n&quot;Create from Templates&quot; dialog — via Escape, the × control, or Cancel now\nreturns keyboard focus to the button that opened them, instead of dropping\nfocus to the page body.</p>\n<h4>Documented scorecard search clauses in the Search syntax help popover</h4>\n<p>The catalog&#39;s Search syntax help popover now shows an example of the\n<code>scorecard:</code>, <code>score:</code>, and <code>level:</code> clauses, so they&#39;re discoverable\nwithout hitting the ambiguity error first.</p>\n<h4>Fixed the entity detail Status panel&#39;s Created label overlapping or clipping its date at tablet widths</h4>\n<p>The entity detail page&#39;s Status panel no longer renders the &quot;Created&quot; label\non top of its date value, or silently trims the date, at 768px-wide\n(tablet) viewports.</p>\n<h4>Fixed the entity detail tab bar overflowing at mobile widths</h4>\n<p>The entity detail page&#39;s tab bar (Overview, Documentation, Scorecards, and\nthe rest) no longer overflows the screen at mobile widths with a clipped,\nhidden-off-screen tab — it now wraps onto additional rows so every tab,\nincluding Scorecards, stays visible and reachable.</p>\n<h4>Fixed unreadable entity identifier wrapping and title overlap on mobile</h4>\n<p>The entity resource identifier on the entity detail page (e.g.\n<code>component://my-service</code>) now wraps at natural <code>/</code> and <code>-</code> boundaries at\nmobile viewport widths instead of breaking character-by-character, and the\nentity title no longer visually overlaps the Edit/Trash buttons at narrow\nviewports.</p>\n<h4>Fixed a crash on the entity Scorecards tab</h4>\n<p>The entity detail page&#39;s Scorecards tab could fail to load when an unevaluated\nscorecard&#39;s scope query used certain search fields (e.g. <code>hasDocs</code>,\n<code>interface</code>, <code>scorecard</code>). It now loads correctly.</p>\n<h4>Entity Scorecards tab badge now shows the total scorecard count</h4>\n<p>The entity detail page&#39;s Scorecards tab badge showed how many scorecards\nweren&#39;t fully passing, which could be mistaken for the total scorecard count.\nIt now shows the total, with a separate &quot;N failing&quot; indicator inside the tab\nfor scorecards that aren&#39;t fully passing.</p>\n<h4>Fixed keyboard focus dropping to the page body after creating a collection</h4>\n<p>After creating a collection, keyboard focus now moves to the new\ncollection&#39;s page heading instead of silently dropping to the page\nbody.</p>\n<h4>Fixed keyboard focus dropping to the page body after creating a scorecard</h4>\n<p>After creating a scorecard, keyboard focus now moves to the new\nscorecard&#39;s page heading instead of silently dropping to the page body.</p>\n<h4>Fixed low-contrast primary buttons and badges</h4>\n<p>Primary-styled buttons and badges (e.g. &quot;New Entity&quot;, the Enabled/Disabled\nscorecard status badge) now meet WCAG AA text contrast requirements.</p>\n<h4>Added a &quot;Skip to main content&quot; link for keyboard and screen-reader users</h4>\n<p>A &quot;Skip to main content&quot; link is now available at the top of every\nauthenticated page, letting keyboard and screen-reader users bypass the\nsidebar navigation and header to reach the page content directly.</p>\n<h4>Fixed Create Scorecard form auto-focusing the wrong field</h4>\n<p>The Create Scorecard form now focuses Display name — the first required\nfield — on load, instead of jumping ahead to the Scope query field.</p>\n<h4>Disabled scorecards no longer get stuck showing a stale &quot;Errored&quot; status</h4>\n<p>Re-enabling a scorecard now automatically re-checks it, the same way &quot;Evaluate now&quot; does — so an\n<code>Errored</code> status from before it was disabled clears itself instead of sticking around forever. While\na scorecard stays disabled, its status banner now says plainly that it may be out of date rather than\nsuggesting a retry that isn&#39;t happening.</p>\n<h4>Scorecard Report tab charts now expose their data to screen readers</h4>\n<p>The &quot;Score distribution&quot; and &quot;Score trend&quot; charts on a scorecard&#39;s Report\ntab now expose the numbers they plot to screen readers, instead of only the\nchart&#39;s axis labels.</p>\n<h4>Scorecard report chart and tables no longer clip on mobile</h4>\n<p>The Scorecard Report tab&#39;s Score distribution chart now shows all of its\nbucket labels, and the By owning team/By kind/Rule failures tables show\nevery column on a stacked card per row, instead of clipping at phone-width\nviewports.</p>\n<h4>Fixed unreadable scorecard rules on mobile</h4>\n<p>Rule cards on a scorecard&#39;s Definition tab no longer wrap their query and\ndescription one character per line at phone-sized widths — the text now\nwraps normally and the row&#39;s action buttons move to their own line.</p>\n<h4>Fixed scorecard rule editor dialog not returning keyboard focus on close</h4>\n<p>Closing the rule editor dialog on a scorecard&#39;s Definition tab (via Escape,\nthe × close button, or Save) now returns keyboard focus to the &quot;Add Rule&quot; or\nrow &quot;Edit&quot; button that opened it, instead of dropping focus to the page\nbody.</p>\n<h4>Fixed scorecard rule names overflowing on mobile</h4>\n<p>Scorecard rule names that are a single long unbroken word (e.g. a\nhyphen-chained identifier) now wrap instead of overflowing the row at\nphone-sized widths.</p>\n<h4>Scorecard rule weight percentages now always sum to 100%</h4>\n<p>The Rules list on a scorecard&#39;s Definition tab could show weight percentages\nthat summed to slightly more or less than 100% (e.g. six equally-weighted\nrules each rounding up to 17%, totaling 102%). Percentages are now rounded\ntogether so they always add up to exactly 100%.</p>\n<h4>Scorecards list shows status fields without scrolling on mobile</h4>\n<p>The scorecards list now shows Scope, Rules, Enabled, and Updated on a\nstacked card per scorecard at phone-width viewports, instead of requiring a\nsideways scroll inside the table to see them.</p>\n<h4>Catalog search suggestions show full field descriptions on hover</h4>\n<p>Field-name suggestions in the catalog search box now show their full description in a native\ntooltip on hover, so a long description clipped by the dropdown&#39;s single-line row is no longer\npermanently hidden.</p>\n<h4>Fixed search syntax help examples being cut off on mobile</h4>\n<p>The catalog&#39;s Search syntax help popover no longer truncates long query\nexamples with an ellipsis on narrow/phone-sized viewports — they now wrap\nonto multiple lines so the full example stays visible.</p>\n<h4>Fixed the search syntax help popover overflowing on mobile</h4>\n<p>The catalog&#39;s Search syntax help popover no longer overflows its card\nborder on narrow/phone-sized viewports when an explanation contains a long\nunbreakable token.</p>\n<h4>Search syntax help popover now scrolls instead of overflowing on short screens</h4>\n<p>The catalog&#39;s Search syntax help popover now scrolls its own content when it\ndoesn&#39;t fit the viewport, instead of overflowing past the bottom of the\nscreen with no way to reach the rest on short/mobile viewports.</p>\n<h4>&quot;Scorecard evaluations&quot; now selectable as an outgoing webhook event type</h4>\n<p>The Create/Edit Webhook dialogs in Organization Settings now offer &quot;scorecard.evaluated&quot;\nalongside created/updated/deleted, so you can subscribe to scorecard result changes without\nediting a webhook&#39;s filters through the API directly.</p>\n<h4>Scorecards with no rules no longer show a misleading 100% pass rate</h4>\n<p>A scorecard whose rules were all removed after creation used to show a 100%\npass rate and a fully-filled green progress bar everywhere, as if every\nin-scope entity had been checked and passed. It now shows an explicit &quot;No\nrules defined&quot; state on the Report tab, the Team detail page, and on each\nentity&#39;s Scorecards tab card instead.</p>\n<h4>Zero-rule scorecards now score entities as passing, not failing</h4>\n<p>A scorecard with no rules defined previously scored every entity in its\nscope 0/100 and reported them all as failing. It now scores every in-scope\nentity 100/100 with 0 of 0 rules failing — consistent with a standard that\nhas nothing to fail — across the report, entity detail, and catalog search\nviews.</p>\n","_shaftware":{"version":"0.50.0","tags":["accessibility","catalog","collections","mcp","rest","scorecards","search","webhooks"],"tag_labels":{"catalog":"Catalog","collections":"Collections","mcp":"MCP","scorecards":"Scorecards"},"generic":false,"content_markdown":"### New features\n\n#### Three built-in scorecards, ready to turn on\n\nEvery organization now starts with three scorecards already built — Field Completeness, Freshness,\nand Agent Readiness — sitting disabled until you're ready to turn one on. Field Completeness flags\nentities missing a value your kind marks required. Freshness scores how recently a record, its\nsynced descriptor, and its docs were last touched (it's upfront that it can't see commit or deploy\nactivity yet). Agent Readiness checks what an AI agent needs to use an entity correctly: a reachable\nowning team, a real description, documentation, a spec URL on its API, and reasonably current data.\nAll three are ordinary scorecards — rename them, edit their rules, or delete them like any other,\nand doing so is remembered even across a restart.\n\n#### Search dates relative to right now\n\nDate filters in the search box now understand relative time, not just fixed\ndates. `updatedAt:<now-90d` finds everything not touched in the last 90 days —\nand keeps meaning that every day, instead of the fixed date you'd otherwise have\nto keep retyping. Use `now` on its own, or follow it with a sign, a number, and a\nunit: hours (`h`), days (`d`), months (`mo`), or years (`y`) — for example\n`now-24h`, `now+30d`, `now-6mo`, or in a range like `updatedAt:[now-30d TO now]`.\nThis works everywhere a search query does, including saved searches and dynamic\ncollections, so \"updated this week\" can finally be saved and stay true.\n\nOne side effect: exact-date matching (`:`) on your own custom date fields now\ncompares the actual date rather than the exact stored text, so it matches\nanything recorded on that day instead of only values written in exactly that\nform. If a saved search or dynamic collection filters on a custom date field,\nits results may include a few different entities than before.\n\n#### Define standards with Scorecards\n\nScorecards let you define what \"good\" looks like for a slice of your catalog —\na scope, a set of weighted rules, and an optional Bronze/Silver/Gold-style\nladder — and Componecat checks every matching entity against it automatically.\nOpen **Scorecards** to create one: as you write the scope and each rule, a live\npreview shows how many entities are in scope and how many currently pass or\nfail, with a sample of the failing ones, so you can calibrate a standard against\nyour real catalog before you publish it. Any organization member can view\nscorecards and how the catalog scores against them; creating, editing, and\ndeleting them is restricted to organization admins.\n\n#### REST endpoints for scorecard definitions and rollup reports\n\nThe REST API now has a proper scorecard resource, not just per-entity results. List your\nscorecards, read one's full definition (scope, rules, weights), or pull its rollup report —\ndistribution, team/kind breakdowns, per-rule failure counts, and trend — the same data the app's\nReport tab shows. Like the rest of the scorecards automation surface, it's read-only: standards\nare still authored in the app.\n\n#### Scorecard rollups — a report, a trend, and team standing\n\nEvery scorecard now has a Report tab: entity count in scope, mean score,\npercent fully passing, a score distribution, and worst-first breakdowns by\nladder level, owning team, kind, and per-rule failures — every number linking\nstraight into the catalog filtered to exactly what it counts. A trend chart\nshows the score over time, marking when the scorecard's definition last\nchanged. Team pages now summarize each team's standing across its applicable\nscorecards.\n\n#### Scorecard scores, now visible where you look\n\nScorecard results are no longer confined to the authoring screen. Every\nentity page gets a Scorecards tab (when a scorecard applies) showing its\nscore, attained level, and which rules are passing or failing, with a link to\nfix each failure. Search understands `scorecard:`, `score:`, and `level:`\nclauses — `scorecard:security AND score:>=80` — and a matching row shows its\nscore right there in the results.\n\n#### Scorecards over MCP, REST, and outgoing webhooks\n\nScorecard results now follow your standards everywhere you automate against Componecat. An AI\nagent can list your scorecards, check an entity's results, or list everything failing a standard —\nread-only, so agents can look but not touch. The REST API exposes the same results at\n`/api/rest/v1/catalog/{id}/scorecards`. And an outgoing webhook subscription can now react the\nmoment a scorecard's score or level changes for an entity, with the failing rules right in the\npayload — not on every routine re-check, only on a real change.\n\n### Bug fixes\n\n#### Fixed illegible catalog list-view results on mobile\n\nCatalog search results in List view no longer hide the entity name and\noverflow their badges off-screen at mobile viewport widths — badges now wrap\nunder the title instead.\n\n#### Fixed scorecard score badge disappearing on catalog rows at mobile widths\n\nA catalog or search result row's scorecard score/level badge no longer disappears entirely at\nnarrow (mobile) viewport widths — it now wraps onto its own line alongside the Team, Lifecycle,\nand Kind badges instead of being hidden.\n\n#### Catalog search result badge no longer shows a misleading 100% for scorecards with no rules\n\nSearching the catalog for entities against a scorecard whose rules were all\nremoved after creation used to show a green \"100\" score badge on every\nmatching row, as if every entity had been checked and passed. It now shows an\nexplicit \"No rules defined\" badge instead.\n\n#### Fixed the catalog search toolbar clipping the Saved button at mobile widths\n\nThe catalog page's search toolbar (search box, Filters, Saved) no longer\nclips the Saved button off the edge of the screen at mobile widths — it now\nwraps onto additional lines so every control stays visible and reachable.\n\n#### Fixed clipped Tree/List toggle label on the catalog results toolbar\n\nThe catalog search results toolbar (Sort and the Tree/List view toggle) no\nlonger clips its labels at mobile viewport widths — it now wraps onto\nadditional lines so \"Tree\" and \"List\" stay fully readable.\n\n#### Catalog Tree view now shows scorecard score badges\n\nSearching the catalog for entities against a scorecard (`scorecard:<name>`)\nnow shows each entity's score badge in Tree view too, matching List view —\npreviously the badge, and the \"No rules defined\" state for a scorecard with\nno rules, only appeared in List view.\n\n#### \"Create Scorecard\" now requires at least one rule\n\nThe scorecard creation form previously let you create a standard with no\nrules and no warning, producing a scorecard that could never evaluate\nanything. \"Create Scorecard\" is now disabled until you've added at least one\nrule.\n\n#### More dialogs opened from a button now return focus to that button on close\n\nClosing more dialogs across the app — including creating entity/relationship\nkinds (directly or from a template), deleting entity/relationship kinds,\nadding or removing catalog relationships, and saving, renaming, or deleting\na saved search — via Escape, the × control, or Cancel now returns keyboard\nfocus to the button that opened them, instead of dropping focus to the page\nbody.\n\n#### The rest of the app's dialogs now return focus to the button that opened them on close\n\nClosing any remaining dialog across the app — including catalog and\ncollection filters, creating a catalog entity, documentation sections and\nlinks, interfaces, Git integration webhook secret rotation, entity\nediting/deletion, entity kind fields and relationship kinds, and team\nmembership/editing/deletion — via Escape, the × control, or Cancel now\nreturns keyboard focus to the button that opened it, instead of dropping\nfocus to the page body.\n\n#### Dialogs opened from a button (not a menu trigger) now return focus to that button on close\n\nClosing several dialogs across the app — including Create Team, delete\nconfirmations on collections/scorecards/field definitions, and the field\n\"Create from Templates\" dialog — via Escape, the × control, or Cancel now\nreturns keyboard focus to the button that opened them, instead of dropping\nfocus to the page body.\n\n#### Documented scorecard search clauses in the Search syntax help popover\n\nThe catalog's Search syntax help popover now shows an example of the\n`scorecard:`, `score:`, and `level:` clauses, so they're discoverable\nwithout hitting the ambiguity error first.\n\n#### Fixed the entity detail Status panel's Created label overlapping or clipping its date at tablet widths\n\nThe entity detail page's Status panel no longer renders the \"Created\" label\non top of its date value, or silently trims the date, at 768px-wide\n(tablet) viewports.\n\n#### Fixed the entity detail tab bar overflowing at mobile widths\n\nThe entity detail page's tab bar (Overview, Documentation, Scorecards, and\nthe rest) no longer overflows the screen at mobile widths with a clipped,\nhidden-off-screen tab — it now wraps onto additional rows so every tab,\nincluding Scorecards, stays visible and reachable.\n\n#### Fixed unreadable entity identifier wrapping and title overlap on mobile\n\nThe entity resource identifier on the entity detail page (e.g.\n`component://my-service`) now wraps at natural `/` and `-` boundaries at\nmobile viewport widths instead of breaking character-by-character, and the\nentity title no longer visually overlaps the Edit/Trash buttons at narrow\nviewports.\n\n#### Fixed a crash on the entity Scorecards tab\n\nThe entity detail page's Scorecards tab could fail to load when an unevaluated\nscorecard's scope query used certain search fields (e.g. `hasDocs`,\n`interface`, `scorecard`). It now loads correctly.\n\n#### Entity Scorecards tab badge now shows the total scorecard count\n\nThe entity detail page's Scorecards tab badge showed how many scorecards\nweren't fully passing, which could be mistaken for the total scorecard count.\nIt now shows the total, with a separate \"N failing\" indicator inside the tab\nfor scorecards that aren't fully passing.\n\n#### Fixed keyboard focus dropping to the page body after creating a collection\n\nAfter creating a collection, keyboard focus now moves to the new\ncollection's page heading instead of silently dropping to the page\nbody.\n\n#### Fixed keyboard focus dropping to the page body after creating a scorecard\n\nAfter creating a scorecard, keyboard focus now moves to the new\nscorecard's page heading instead of silently dropping to the page body.\n\n#### Fixed low-contrast primary buttons and badges\n\nPrimary-styled buttons and badges (e.g. \"New Entity\", the Enabled/Disabled\nscorecard status badge) now meet WCAG AA text contrast requirements.\n\n#### Added a \"Skip to main content\" link for keyboard and screen-reader users\n\nA \"Skip to main content\" link is now available at the top of every\nauthenticated page, letting keyboard and screen-reader users bypass the\nsidebar navigation and header to reach the page content directly.\n\n#### Fixed Create Scorecard form auto-focusing the wrong field\n\nThe Create Scorecard form now focuses Display name — the first required\nfield — on load, instead of jumping ahead to the Scope query field.\n\n#### Disabled scorecards no longer get stuck showing a stale \"Errored\" status\n\nRe-enabling a scorecard now automatically re-checks it, the same way \"Evaluate now\" does — so an\n`Errored` status from before it was disabled clears itself instead of sticking around forever. While\na scorecard stays disabled, its status banner now says plainly that it may be out of date rather than\nsuggesting a retry that isn't happening.\n\n#### Scorecard Report tab charts now expose their data to screen readers\n\nThe \"Score distribution\" and \"Score trend\" charts on a scorecard's Report\ntab now expose the numbers they plot to screen readers, instead of only the\nchart's axis labels.\n\n#### Scorecard report chart and tables no longer clip on mobile\n\nThe Scorecard Report tab's Score distribution chart now shows all of its\nbucket labels, and the By owning team/By kind/Rule failures tables show\nevery column on a stacked card per row, instead of clipping at phone-width\nviewports.\n\n#### Fixed unreadable scorecard rules on mobile\n\nRule cards on a scorecard's Definition tab no longer wrap their query and\ndescription one character per line at phone-sized widths — the text now\nwraps normally and the row's action buttons move to their own line.\n\n#### Fixed scorecard rule editor dialog not returning keyboard focus on close\n\nClosing the rule editor dialog on a scorecard's Definition tab (via Escape,\nthe × close button, or Save) now returns keyboard focus to the \"Add Rule\" or\nrow \"Edit\" button that opened it, instead of dropping focus to the page\nbody.\n\n#### Fixed scorecard rule names overflowing on mobile\n\nScorecard rule names that are a single long unbroken word (e.g. a\nhyphen-chained identifier) now wrap instead of overflowing the row at\nphone-sized widths.\n\n#### Scorecard rule weight percentages now always sum to 100%\n\nThe Rules list on a scorecard's Definition tab could show weight percentages\nthat summed to slightly more or less than 100% (e.g. six equally-weighted\nrules each rounding up to 17%, totaling 102%). Percentages are now rounded\ntogether so they always add up to exactly 100%.\n\n#### Scorecards list shows status fields without scrolling on mobile\n\nThe scorecards list now shows Scope, Rules, Enabled, and Updated on a\nstacked card per scorecard at phone-width viewports, instead of requiring a\nsideways scroll inside the table to see them.\n\n#### Catalog search suggestions show full field descriptions on hover\n\nField-name suggestions in the catalog search box now show their full description in a native\ntooltip on hover, so a long description clipped by the dropdown's single-line row is no longer\npermanently hidden.\n\n#### Fixed search syntax help examples being cut off on mobile\n\nThe catalog's Search syntax help popover no longer truncates long query\nexamples with an ellipsis on narrow/phone-sized viewports — they now wrap\nonto multiple lines so the full example stays visible.\n\n#### Fixed the search syntax help popover overflowing on mobile\n\nThe catalog's Search syntax help popover no longer overflows its card\nborder on narrow/phone-sized viewports when an explanation contains a long\nunbreakable token.\n\n#### Search syntax help popover now scrolls instead of overflowing on short screens\n\nThe catalog's Search syntax help popover now scrolls its own content when it\ndoesn't fit the viewport, instead of overflowing past the bottom of the\nscreen with no way to reach the rest on short/mobile viewports.\n\n#### \"Scorecard evaluations\" now selectable as an outgoing webhook event type\n\nThe Create/Edit Webhook dialogs in Organization Settings now offer \"scorecard.evaluated\"\nalongside created/updated/deleted, so you can subscribe to scorecard result changes without\nediting a webhook's filters through the API directly.\n\n#### Scorecards with no rules no longer show a misleading 100% pass rate\n\nA scorecard whose rules were all removed after creation used to show a 100%\npass rate and a fully-filled green progress bar everywhere, as if every\nin-scope entity had been checked and passed. It now shows an explicit \"No\nrules defined\" state on the Report tab, the Team detail page, and on each\nentity's Scorecards tab card instead.\n\n#### Zero-rule scorecards now score entities as passing, not failing\n\nA scorecard with no rules defined previously scored every entity in its\nscope 0/100 and reported them all as failing. It now scores every in-scope\nentity 100/100 with 0 of 0 rules failing — consistent with a standard that\nhas nothing to fail — across the report, entity detail, and catalog search\nviews."}},{"id":"0.49.0","url":"https://www.componecat.ai/changelog/0.49.0/","title":"Version 0.49.0","date_published":"2026-09-17T00:00:00.000Z","content_html":"<h3>New features</h3>\n<h4>Enterprise plan</h4>\n<p>There&#39;s now an Enterprise plan for organizations that need more room than Pro:\nunlimited catalog entities, user limits set to fit your team, and priority\nsupport, on top of everything in Pro. You&#39;ll find it on the Pricing tab in\norganization settings. Get in touch from there and we&#39;ll set it up for you.</p>\n<h3>Improvements</h3>\n<h4>Over-limit notice stays accurate</h4>\n<p>When your organization is over its catalog entity limit, the notice at the top\nof the Catalog page now reflects where you are right now. Delete back under the\nlimit and it clears straight away. There&#39;s nothing to wait for.</p>\n<h4>Search box front and center</h4>\n<p>The global search trigger now sits in the middle of the top bar as a proper\nsearch box, instead of being tucked in among the action icons on the right.\nSame shortcut, same results, easier to find.</p>\n<h4>Search that opens where you click</h4>\n<p>The search palette now expands out of the search box in the header instead of\npopping up in the middle of the screen, so your eye stays where it was.\nAdmins can also type &quot;settings&quot; to jump straight to Organization settings.</p>\n","_shaftware":{"version":"0.49.0","tags":["plans","search"],"tag_labels":{"plans":"Plans & billing"},"generic":false,"content_markdown":"### New features\n\n#### Enterprise plan\n\nThere's now an Enterprise plan for organizations that need more room than Pro:\nunlimited catalog entities, user limits set to fit your team, and priority\nsupport, on top of everything in Pro. You'll find it on the Pricing tab in\norganization settings. Get in touch from there and we'll set it up for you.\n\n### Improvements\n\n#### Over-limit notice stays accurate\n\nWhen your organization is over its catalog entity limit, the notice at the top\nof the Catalog page now reflects where you are right now. Delete back under the\nlimit and it clears straight away. There's nothing to wait for.\n\n#### Search box front and center\n\nThe global search trigger now sits in the middle of the top bar as a proper\nsearch box, instead of being tucked in among the action icons on the right.\nSame shortcut, same results, easier to find.\n\n#### Search that opens where you click\n\nThe search palette now expands out of the search box in the header instead of\npopping up in the middle of the screen, so your eye stays where it was.\nAdmins can also type \"settings\" to jump straight to Organization settings."}},{"id":"0.48.0","url":"https://www.componecat.ai/changelog/0.48.0/","title":"Version 0.48.0","date_published":"2026-09-15T00:00:00.000Z","content_html":"<h3>New features</h3>\n<h4>See exactly what your plan includes</h4>\n<p>The Pricing page now shows your organization&#39;s current plan with the exact\nlimits and features in effect for you. Plan cards read their numbers from the\nsame source the product enforces, so what a card advertises is always what you\nget. And if your organization has negotiated custom terms with us, the values\nyou see are your own, not the standard tier&#39;s.</p>\n<h3>Improvements</h3>\n<h4>Settings pages fit their dialogs</h4>\n<p>The organization and user settings dialogs are roomier, and the pages inside them no longer scroll sideways on laptop screens. Tables tuck secondary details under the main column when space is tight, and show them in the expanded row instead.</p>\n","_shaftware":{"version":"0.48.0","tags":["plans"],"tag_labels":{"plans":"Plans & billing"},"generic":false,"content_markdown":"### New features\n\n#### See exactly what your plan includes\n\nThe Pricing page now shows your organization's current plan with the exact\nlimits and features in effect for you. Plan cards read their numbers from the\nsame source the product enforces, so what a card advertises is always what you\nget. And if your organization has negotiated custom terms with us, the values\nyou see are your own, not the standard tier's.\n\n### Improvements\n\n#### Settings pages fit their dialogs\n\nThe organization and user settings dialogs are roomier, and the pages inside them no longer scroll sideways on laptop screens. Tables tuck secondary details under the main column when space is tight, and show them in the expanded row instead."}},{"id":"0.47.0","url":"https://www.componecat.ai/changelog/0.47.0/","title":"Version 0.47.0","date_published":"2026-09-10T00:00:00.000Z","content_html":"<h3>New features</h3>\n<h4>Start each day on your new Home page</h4>\n<p>Signing in now opens on Home, a single view of where your organization stands. A tile\nfor each kind of entity shows how many you have, and clicking one takes you straight to\nthat slice of the catalog. Beside it you get the entities that changed most recently and\nthe teams you belong to, so you can pick up where things left off without hunting for\nthem. Everything on the page is a shortcut into the catalog and team pages you already\nuse.</p>\n<h3>Bug fixes</h3>\n<h4>Atlassian team members now show their names and pictures</h4>\n<p>Teams synced from Atlassian used to list their members as long account identifiers,\nwhich made a roster hard to read. Each member now appears with the name and profile\npicture from their Atlassian account, and with their email when their profile shares\nit. Your existing teams update on their next sync, with nothing for you to do.</p>\n","_shaftware":{"version":"0.47.0","tags":["catalog","team_sync"],"tag_labels":{"catalog":"Catalog","team_sync":"Team sync"},"generic":false,"content_markdown":"### New features\n\n#### Start each day on your new Home page\n\nSigning in now opens on Home, a single view of where your organization stands. A tile\nfor each kind of entity shows how many you have, and clicking one takes you straight to\nthat slice of the catalog. Beside it you get the entities that changed most recently and\nthe teams you belong to, so you can pick up where things left off without hunting for\nthem. Everything on the page is a shortcut into the catalog and team pages you already\nuse.\n\n### Bug fixes\n\n#### Atlassian team members now show their names and pictures\n\nTeams synced from Atlassian used to list their members as long account identifiers,\nwhich made a roster hard to read. Each member now appears with the name and profile\npicture from their Atlassian account, and with their email when their profile shares\nit. Your existing teams update on their next sync, with nothing for you to do."}},{"id":"0.46.0","url":"https://www.componecat.ai/changelog/0.46.0/","title":"Version 0.46.0","date_published":"2026-09-04T00:00:00.000Z","content_html":"<h3>Improvements</h3>\n<h4>AI agents get better guidance when they connect</h4>\n<p>When an AI assistant such as ChatGPT or Claude connects to your Componecat catalog,\nit now receives a short briefing on how the catalog is organized and the best order\nto use its tools, along with Componecat&#39;s name, icon, and version. Agents find the\nright component faster and are clearer about which actions change data. The connect\nguide now also covers ChatGPT step by step.</p>\n","_shaftware":{"version":"0.46.0","tags":["mcp"],"tag_labels":{"mcp":"MCP"},"generic":false,"content_markdown":"### Improvements\n\n#### AI agents get better guidance when they connect\n\nWhen an AI assistant such as ChatGPT or Claude connects to your Componecat catalog,\nit now receives a short briefing on how the catalog is organized and the best order\nto use its tools, along with Componecat's name, icon, and version. Agents find the\nright component faster and are clearer about which actions change data. The connect\nguide now also covers ChatGPT step by step."}},{"id":"0.45.0","url":"https://www.componecat.ai/changelog/0.45.0/","title":"Version 0.45.0","date_published":"2026-09-04T00:00:00.000Z","content_html":"<h3>Bug fixes</h3>\n<h4>AI agent connections no longer expire after a week</h4>\n<p>Registered AI agent integrations (such as a ChatGPT app or Claude connector\npointed at the Componecat MCP server) previously stopped authorizing after\nabout a week, failing with an &quot;invalid client&quot; error until the integration was\nset up again. Registrations are now stored durably and keep working\nindefinitely. An integration that had already hit the error needs to be\nre-added once; after that it stays connected.</p>\n","_shaftware":{"version":"0.45.0","tags":["mcp"],"tag_labels":{"mcp":"MCP"},"generic":false,"content_markdown":"### Bug fixes\n\n#### AI agent connections no longer expire after a week\n\nRegistered AI agent integrations (such as a ChatGPT app or Claude connector\npointed at the Componecat MCP server) previously stopped authorizing after\nabout a week, failing with an \"invalid client\" error until the integration was\nset up again. Registrations are now stored durably and keep working\nindefinitely. An integration that had already hit the error needs to be\nre-added once; after that it stays connected."}},{"id":"0.44.0","url":"https://www.componecat.ai/changelog/0.44.0/","title":"Version 0.44.0","date_published":"2026-09-03T00:00:00.000Z","content_html":"<h3>Improvements</h3>\n<h4>Teams show everyone on them, not just the people who have signed in</h4>\n<p>A team member no longer needs a Componecat account. When you sync teams from\nGitHub, GitLab, Atlassian, or Microsoft 365, everyone on the upstream team now\nappears on the roster, not just the handful of people who happen to have logged\nin. A team&#39;s size in Componecat is its real size.</p>\n<p>People without an account are marked <strong>No account</strong>. They are there so you know\nwho owns what and who to contact, and being on a team grants nobody any access.\nThe moment someone signs up with a matching email, their entry links itself to\ntheir account and picks up their name and picture.</p>\n<p>You can add someone by hand the same way. <strong>Add Member</strong> now takes a name and\nemail for a person with no account, alongside the picker for existing users.</p>\n","_shaftware":{"version":"0.44.0","tags":["team_sync"],"tag_labels":{"team_sync":"Team sync"},"generic":false,"content_markdown":"### Improvements\n\n#### Teams show everyone on them, not just the people who have signed in\n\nA team member no longer needs a Componecat account. When you sync teams from\nGitHub, GitLab, Atlassian, or Microsoft 365, everyone on the upstream team now\nappears on the roster, not just the handful of people who happen to have logged\nin. A team's size in Componecat is its real size.\n\nPeople without an account are marked **No account**. They are there so you know\nwho owns what and who to contact, and being on a team grants nobody any access.\nThe moment someone signs up with a matching email, their entry links itself to\ntheir account and picks up their name and picture.\n\nYou can add someone by hand the same way. **Add Member** now takes a name and\nemail for a person with no account, alongside the picker for existing users."}},{"id":"0.43.0","url":"https://www.componecat.ai/changelog/0.43.0/","title":"Version 0.43.0","date_published":"2026-09-01T00:00:00.000Z","content_html":"<h3>New features</h3>\n<h4>Save a search you keep running</h4>\n<p>The slice of the catalog you check every morning no longer has to be rebuilt\nevery morning. <strong>Saved</strong>, next to the filters on the catalog page, keeps the\nsearch you are looking at under a name and puts it one click away.</p>\n<p>It keeps the whole search, not just the words: the query, every filter chip, the\ntree or list view, and the sort order. Opening one puts the page back exactly as\nyou left it.</p>\n<p>Saved searches are yours alone. Nobody else sees them, and two people can each\nkeep a &quot;My services&quot; without treading on each other. Rename one, delete one, or update it\nto match what is on screen once you have tweaked the search it opened. That last\noption only appears when the page has actually moved on from what you saved.</p>\n<p>Want to share a search instead of keeping it? That is what a collection is for.</p>\n<h3>Improvements</h3>\n<h4>Filters and the search box are now the same thing</h4>\n<p>Click a filter and it appears in the search box as text. Take it off and the text\ngoes with it. What the box shows is the whole search that ran, so a filter you built\nby clicking is also a worked example of the query language, ready to edit when you\nneed an &quot;or&quot; that chips cannot express.</p>\n<p>It reads the other way too. Type <code>kind:service</code> and Service ticks in the kind\npicker, because a filter you wrote by hand belongs on the control that owns it as\nmuch as one you clicked.</p>\n<p>Filters now open in a dialog rather than pushing the results down the page, with a\nrunning count at the top so you can see what each choice leaves you. And if your\norganization defines a lot of fields, you pick the ones you want to filter by\ninstead of scrolling past all of them.</p>\n<h4>Build a collection by clicking, not by typing a query</h4>\n<p>Collections are now put together with the same search you use everywhere else.\nWhether you are writing the query behind a dynamic collection or picking entities\nfor a static one, <strong>Filters</strong> opens the catalog&#39;s filter dialog and every choice you\nmake writes itself into the search.</p>\n<p><strong>Saved</strong> starts you from one of your saved searches, so a view you already worked\nout can become a collection the whole team can see.</p>\n<p>The picker also understands the full query language now, so you can find what you\nare adding with the same expressions the catalog takes rather than typing names one\nat a time.</p>\n","_shaftware":{"version":"0.43.0","tags":["catalog","collections"],"tag_labels":{"catalog":"Catalog","collections":"Collections"},"generic":false,"content_markdown":"### New features\n\n#### Save a search you keep running\n\nThe slice of the catalog you check every morning no longer has to be rebuilt\nevery morning. **Saved**, next to the filters on the catalog page, keeps the\nsearch you are looking at under a name and puts it one click away.\n\nIt keeps the whole search, not just the words: the query, every filter chip, the\ntree or list view, and the sort order. Opening one puts the page back exactly as\nyou left it.\n\nSaved searches are yours alone. Nobody else sees them, and two people can each\nkeep a \"My services\" without treading on each other. Rename one, delete one, or update it\nto match what is on screen once you have tweaked the search it opened. That last\noption only appears when the page has actually moved on from what you saved.\n\nWant to share a search instead of keeping it? That is what a collection is for.\n\n### Improvements\n\n#### Filters and the search box are now the same thing\n\nClick a filter and it appears in the search box as text. Take it off and the text\ngoes with it. What the box shows is the whole search that ran, so a filter you built\nby clicking is also a worked example of the query language, ready to edit when you\nneed an \"or\" that chips cannot express.\n\nIt reads the other way too. Type `kind:service` and Service ticks in the kind\npicker, because a filter you wrote by hand belongs on the control that owns it as\nmuch as one you clicked.\n\nFilters now open in a dialog rather than pushing the results down the page, with a\nrunning count at the top so you can see what each choice leaves you. And if your\norganization defines a lot of fields, you pick the ones you want to filter by\ninstead of scrolling past all of them.\n\n#### Build a collection by clicking, not by typing a query\n\nCollections are now put together with the same search you use everywhere else.\nWhether you are writing the query behind a dynamic collection or picking entities\nfor a static one, **Filters** opens the catalog's filter dialog and every choice you\nmake writes itself into the search.\n\n**Saved** starts you from one of your saved searches, so a view you already worked\nout can become a collection the whole team can see.\n\nThe picker also understands the full query language now, so you can find what you\nare adding with the same expressions the catalog takes rather than typing names one\nat a time."}},{"id":"0.42.0","url":"https://www.componecat.ai/changelog/0.42.0/","title":"Version 0.42.0","date_published":"2026-09-01T00:00:00.000Z","content_html":"<h3>Improvements</h3>\n<h4>A sharper install and a fixed app description</h4>\n<p>Installing Componecat to your home screen or desktop now shows a real\ndescription of the product instead of placeholder text, and the app&#39;s icon and\nsplash colours are drawn from the same brand definition as componecat.ai and the\ndocumentation site — so all three look like one product.</p>\n<h3>Bug fixes</h3>\n<h4>AI agents connect reliably on first try</h4>\n<p>Connecting an AI agent such as Claude Code, Claude.ai, Cursor, or VS Code to\nthe Componecat MCP server no longer fails intermittently with a &quot;Session not\nfound&quot; error right after connecting. Connections now succeed on the first\nattempt.</p>\n","_shaftware":{"version":"0.42.0","tags":["mcp"],"tag_labels":{"mcp":"MCP"},"generic":false,"content_markdown":"### Improvements\n\n#### A sharper install and a fixed app description\n\nInstalling Componecat to your home screen or desktop now shows a real\ndescription of the product instead of placeholder text, and the app's icon and\nsplash colours are drawn from the same brand definition as componecat.ai and the\ndocumentation site — so all three look like one product.\n\n### Bug fixes\n\n#### AI agents connect reliably on first try\n\nConnecting an AI agent such as Claude Code, Claude.ai, Cursor, or VS Code to\nthe Componecat MCP server no longer fails intermittently with a \"Session not\nfound\" error right after connecting. Connections now succeed on the first\nattempt."}}]}