Epic 109 MCP server (/mcp): expose the read-only REST endpoints as MCP tools, so AI assistants can search and read specifications, message models, codelists, ontologies, taxonomies, mappings, requirements, issues, projects and groups with the rights of the logged in user
Epic 112 Specification index: projects are now clustered per group, with collapsible group and project levels that are expanded by default
Epic 112 Groups have a description, shown under the group name on the specification index
Issue 98 See differences between message model versions
Epic 110 New transformer screen: for a mapping, transform a source message instance via jsonata to the target message format
Issue 1359 Message model version edit: fix rootNode predecessor not showing
Issue 1583 Fix SHACL export when message model element type is null/unset
Issue 1755 RML generation: Empty rr:template "" on every blank node subject map collapses all entities into one
Issue 1756 RML generation: XML uses label instead of name for generation of iterator
Issue 1757 Example generator fails to create 33+ char strings
Issue 1758 Removing roles from an account now logs out that user, instead of the removed roles staying active until they log out
Issue 1769 Edit buttons and unpublished versions are now shown based on the rights a user has on that specific specification, instead of only on the global Beheerder role
Background task progress toasts now appear when the task URL parameter changes without a full page reload
Issue 1773 Comments on message model elements, codelist entries and mappings can now be deleted by their author, or by a maintainer of the item
Issue 1674 LinkML import requires the LinkML web service, configured via STH_LINKML_SERVICE_ENDPOINT
Add custom phpstan rule that checks new Rel('name_is_now_checked' lines for valid property names.
CI checks the phpunit coverage of the backend lines changed in a merge request, instead of comparing the total coverage with the target branch that may have moved on since branching