Skip to main content

v4.4

v4.4.3 (22 November 2026)​

New functionalities​

  • 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 1674 Add linkML importing
  • Issue 1675 Message model spreadsheet export includes a "Usage notes" column
  • Issue 1752 Update and expand catalog export (DCAT + PROF + ADMS) for mapping use case. Catalog exports: /api/project/export and /api/environment/export.
  • Issue 1759 UI/UX fixes for generating mapping suggestions
  • Add Gitlab OAuth Identity Provider
  • Add OAuth server functionality for MCP

Documentation​

  • Epic 59 Add community management, validator, and value constraints documentation pages
  • Epic 110 Document JSONata transformation: what it is, how it relates to mappings, JSONata examples and how to use the transformer
  • Issue 1763 Document how to compare message model versions

Bugfixes / UX improvements​

  • Issue 379 Add rml:datatype to generated RML
  • 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 1762 RML output changes required
  • Issue 1782 Example message API always gives XML meta-type also for JSON
  • Make WebVOWL graph view accessible when allow_anonymous_access is set to false
  • Issue 1784 Account edit page no longer crashes when a representative has no organisation
  • 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

v4.4.2 (21 October 2026)​

  • Security release for PHP vulnerabilities
  • Changelog CI check now recognises release (release/vX.Y) and hotfix (version/X.Y) branches; the release MR label is no longer needed

v4.4.1 (7 September 2026)​

Bugfixes / UX improvements​

  • Adapt CI pipeline to support hotfix + deployments of previous y-releases

v4.4.0 (17 August 2026)​

New functionalities​

  • Add support to map between taxonomy versions.
  • add API endpoints for fuzzy search public specifications.
  • Issue 1464 Add taxonomy import function from skos rdf
  • Issue 1695 Codelists are specifications now
  • Issue 1696 Codelists can now be shown on the canvas
  • Issue 1704 Allow uploading new codelist versions with xml
  • Issue 1724 Add mapping suggestions to sth backend
  • Issue 1593 Add license configuration for spec versions

Bugfixes / UX improvements​

  • Epic 108 Some fixes to improve WCAG accessibility compliance.
  • Issue 1548 Fix re-use of SKOS concepts in taxonomy versions
  • Issue 1665 Fix issue where Codelist entries of unioned codelists were not displayed
  • Issue 1677 Add and apply styleguide for canvas panes
  • Issue 1682 RDF example fails for bottom-up created message model
  • Issue 1685 Refresh element edit panes after adding sub-elements in the tree, preventing accidental child deletion on save
  • Issue 1686 Remove redundant isMessage from yaml element import to prevent invalid Element model.
  • Issue 1687 Bug 500 error when accessing codelists
  • Issue 1689 Link to csv download of taxonomy from a concept down is broken
  • Issue 1692 Fix DCAT export in case any Requirements spec exist in the environment
  • Improve taxonomy CSV export recursion and fix cloned element syntax-binding remapping for child roots
  • Fix wrong confirmation dialog texts on 'Add next level descendants?'
  • Issue 1700 Fix label assignment failing with "All labels must belong to the same project as the artefact"
  • Issue 1701 Fix element label removal not persisting and multiple labels causing duplicate tree entries
  • Issue 1709 Fix element path serialization when elements reference a Business rule
  • Issue 1719 Remove Artefact->project
  • Issue 1729 Date picker not rendering correctly
  • Issue 1733 Fix zero and negative lower-bound value restrictions being lost when merging separate OWL restriction nodes
  • Issue 1743 Fix 'User' can't view codelist-version screen for external codelist
  • Show JSON schema error when loading in wizard
  • FIT wizard: include transitive rdfs:subPropertyOf relations when finding outgoing properties for a class URI
  • Issue 1727 Initiate new environment: Skills
  • Issue 1732 Add new issue template to KS environment
  • Issue 1746 Raise bundle size limit to fix pipeline.
  • Finalize CI/CD for new environment
  • Update a frontpage for environment, PM Issue 454
  • Upgrade angular to v20, symfony to 7.4.
  • Update AGENTS.md with LLM coding guidelines
  • Fail CI when the backend phpunit code coverage decreases significantly compared to the target branch, warn on a tiny decrease
  • Raise the PHP memory limit to 512M in the backend-tests CI job, which outgrew the 128M default
  • Improve speed of CI pipeline

v4.3

v4.3.0 (24 April 2026)​

New functionalities​

  • Epic 89 Add requirements spec type
  • Epic 89 Allow mapping between Message Model and Requirements specs
  • Issue 420 Admin page to import YAML files as new message model versions
  • Issue 420 Admin page to import business rules from YAML
  • Issue 420 YAML element import: support linking business rules by humanId
  • Issue 420 Admin page to import codelists from OASIS genericode XML files
  • Issue 1533 Add bar that eases navigation between spec/version/actions
  • Issue 1569 Add Venetian blind schema style option for OpenAPI specification export
  • Issue 1573 Add SSSOM export for message mapping specifications
  • Issue 1611 Improve taxonomy search
  • Issue 1638 Make SSSOM export accessible by machine-to-machine token, not only through backend and login token
  • Issue 1639 Enrich SSSOM export
  • Add unstable public project overview API endpoints
  • Extend serializer to allow id-less update of univalent entity relations
  • Add library to support json-ld serialization of rdf graphs
  • Add framework for displaying automated mapping suggestions

Documentation​

  • Issue 1467 Expand taxonomy management documentation
  • Issue 1469 Expand business rules management documentation
  • Issue 1470 Expand codelist management documentation
  • Issue 1661 Expand message model management documentation

Bugfixes / UX improvements​

  • Issue 1518 Update mapping progress bars to show predicate and status separately
  • Issue 1577 Add issue/comment icons to mapping list on canvas
  • Issue 1578 Add button to navigate to canvas after creating a mapping version
  • Issue 1601 Bugfix editing root elements due to large amount of data
  • Issue 1602 Bugfix: allowAdditionalProperties now correctly applied for array elements with no sub-elements in JSON Schema export
  • Issue 1604 Bugfix several api urls for non-default language app, including the login option
  • Issue 1619 Can't delete uploaded file, can't distinguish two filenames with same display name.
  • Issue 1623 Bugfix missing artefact for new entities
  • Issue 1625 Concept note field too small
  • Issue 1626 Cant create new taxonomy version from tax edit screen
  • Issue 1627 Sort Taxonomy versions just like message model versions
  • Issue 1633 Fixes JSON Example generator bug
  • Issue 1635 Add Dutch translation for My account page
  • Issue 1636 Fix toast when generating message model using AI
  • Issue 1641 Automatically set author and creation date on all new artefacts
  • Issue 1642 Bugfix: predecessor autocomplete on message model version edit caused 404 on page load
  • Issue 1643 Various small UX improvements to default spec creation/edit screen
  • Issue 1663 Fix codelist entry form "Reported by" dropdown gating to account manager role
  • Issue 1667 Removing a JSON Schema spec breaks Wizard for existing derived messages
  • Issue 1670 Make mappings source and target clearable.
  • Fix performance of copy functionality of large message models
  • Add option to manually reset namespace definitions used in message model version
  • Allow to edit element xpath in technical details panel of edit element
  • Bugfix deleting syntax bindings due to foreign key constraint for example objects
  • Show spinner on Save button and highlight when there are unsaved changes
  • Bugfix: selected element in message model tree no longer collapses after adding a sub-element
  • Refactor and add Dutch translations for mapping status, predicate, and justification labels
  • Sort versions + improve version table in specification edit interface
  • Bugfix ElementType namespace URI return type causing errors in XML schema export
  • Unify page headers. Using h1, h2, etc consistently
  • Change house style for NxtGen/SCSN environment
  • Issue 1618 Fix logo and Language customization for new environment
  • Issue 1678 Add new environment image
  • Customize a frontpage (2x)
  • Add NxtGen logo to DPP environment
  • Put review env to traefik ingress class

v4.2

v4.2.0 (12 March 2026)​

Bugfixes / UX improvements​

  • Issue 1444 Delete organisation results in 500 server error
  • Issue 1582 Bugfix schema downnload link
  • Issue 1584 Bugfix duplicates in acknowledgements
  • Issue 1586 Add v3 legacy oauth login endpoint
  • Issue 1587 Bugfix missing subscription type
  • Issue 1588 Prevent empty representative label
  • Issue 1589 Refactor Representative entity and remove duplicates
  • Issue 1597 Bugfix xml validator input for generated schematron
  • Issue 1609 Bugfix downloading validator rules
  • Issue 1617 Can't upload schema to validate to new syntax binding
  • Session token persistence. Users don't need to re-login when container restarts
  • Restructure menu items. Add missing items: canvas, projects and subscriptions
  • Bugfix frontend path to issue view page. The email notifications link to /issue/{id} and are hereby fixed.
  • Minor fixes for venetian blind schema generator
  • Issue 1603 Adds new use case customization
  • Bugfix in CI job publish-public-image
  • Keep APP_SECRET the same across helm updates and horizontal scaling
  • Update frontend dependencies

v4.1

v4.1.0 (9 January 2026)​

New functionalities​

  • Epic 92 Implement MVP for AI integration, including usage notes and specification generation
  • Issue 1544 Wizard constraint and generated example improvements:
    • Generated example values comply with specified regex pattern
    • Fixed value, allowed values and example values are checked against regex pattern
    • If possible, UUIDv4 is used for elements named 'id' or 'uuid'
    • Allow for shorthand name in base datatype field, like 'string', 'decimal', etc

Bugfixes / UX improvements​

  • Issue 1574 Reduce AI spec gen description strictness
  • Issue 1559 Bugfix for deleted default prefix 'dc:'
  • Issue 1560 Bugfix validator UI showing "no schema file"
  • Issue 1561 Add missing business rule show interface
  • Issue 1570 Taxonomy: CSV export to more than 3 levels
  • Issue pm393 Add new logo to DPP environment, update logo styling for homepage
  • Issue 1575 Fix access for publish-helm-chart CI job
  • CICD jobs use BuildKit instead of Docker dind
  • Switch from npm to pnpm. Add caching
  • Add dependency caching for backend checks
  • Cleanup, restructuring of CI jobs, images, folders
  • Improve STH Dockerfile for improved layer caching, reduced image size and build speed
  • Move building STH customizations (for different environments) to separate pipeline stage
  • Cleanup and improve monolog config for less deprecation logs and passtru warnings
  • Update CI scripts to use GCP WIF for authentication + bugfix
  • Use local CI cache for buildkit cache
  • Add build metadata to semver tag in footer component
  • Bugfix docker compose way of initializing new DB.
  • Adds legacy db-dump ompatible configuration for mariadb.

v4.0

v4.0.0 (20 December 2026)​

Bugfixes / UX improvements​

  • Issue 1525 Taxonomy search: add dropdown
  • Issue 1543 Assert\NotNull missing for joincolumn nullable false.
  • Issue 1546 Message version edit: add button to delete root element.
  • Issue 1547 Fix login inconsistencies and related UX
  • Issue 1548 Show project on issue index / issue view. Prevent adding labels to issue when project not set.
  • Issue 1551 Fix for missing element namespace
  • Issue 1552 Taxonomy export to TTL fixed
  • Issue 1558 Show highlighting on canvas even if mapping itself is not present. Easier way to add mapped element treeview.
  • Issue 1562 Fix link to concept from issue. Fix showing issues on concept.
  • Fix browser cache control for index.html
  • Issue 1362 Add CircPlastX logo to DPP environment
  • Adapt changelog ci job to check placement of changelog items
  • Add helper service in docker compose to migrate from v3 to v4
  • (website) Add domain to privacy statement
  • Improve local dev environment startup

v4.0.0-beta.4 (8 December 2025)​

New functionalities​

  • Issue 1325 Add functionality to add a sub element by copying from another element from the same message
  • Issue 1516 Message mappings are converted to full specs. This adds spec versions to message mappings, and issues, review comments, status, predicate and justification to element mappings.
  • Temporarily don´t show mappings on home and specification index page by default

Bugfixes / UX improvements​

  • Issue 1388 Implement/Port the 3 export types for taxonomy versions
  • Issue 1433 Fix permissions and UX of discussion post (review comment) list
  • Issue 1434 Improve view edit codelist
  • Issue 1500 Fix file object autocomplete crash on empty field
  • Issue 1501 Add warning when leaving page without saving
  • Issue 1505 Fix deleting issue replies
  • Issue 1523 Account inherits global roles from orgs for which it's a representative
  • Issue 1524 Fix image upload and retrieval
  • Issue 1537 Fix increased taxonomy loading time
  • Issue 1541 Repair DCAT Export for Message Mapping specs
  • Issue 1542 Fix
  • Issue 1545 Fix setting element name and label in wizard step 1
  • Improve and unify canvas panel heading
  • Don´t show unpublished version on spec cards

v4.0.0-beta.3 (27 November 2025)​

Bugfixes / UX improvements​

  • Issue 1419 Date format and datetime format.
  • Issue 1436 Can't remove issue.
  • Issue 1511 Migration script to one time update createdAt fields without explicit time from UTC 00:00:00 to 11:00:00
  • Issue 1529 Allow deleting specs
  • Issue 1530 Allow deleting message spec version with all its elements
  • Issue 1531 MessageModelVersion edit: add button to add root element
  • Issue 1532 Fix project edit ordering of specifications
  • Issue 347 Migration script to one time strip domain name from account display names
  • Issue 1456 Mount php.ini as additional conf instead of overwriting default

v4.0.0-beta.2 (22 November 2025)​

Bugfixes / UX improvements​

  • Issue 1437 Who said it missing in View review comments.
  • Issue 1439 Button 'Add Meeting' in Group view not working
  • Issue 1450 Can't create project
  • Issue 1502 Taxonomy specification fixes
  • Issue 1504 Descriptions edit should be big textfield.
  • Issue 1506 Fix edit of Representatives in Organisation
  • Issue 1521 Don't allow to change username
  • Bugfix serializer. Allow setting value to null
  • Config allow_anonymous_access can be specified as config parameter

v4.0.0-beta.1 (9 November 2025)​

Port backend framework, including but not limited to:​

  • Replace Ampersand prototype framework by Symfony framework
  • Port constraints and rules - part 1
  • Port constraints and rules - part 2
  • Port account, access control and related logic
  • Issue 520 Port venetian blind option for json schema generator
  • Issue 594 Auto remove orphaned LinkObjects
  • Issue 1365 Add option to disable anonymous access to public resources
  • Issue 1368 Restore notifications handling and templates in symfony backend.
  • Issue 1369 STH v4 DCAT export links point to STH v3 routes
  • Issue 1375 Creating new group should redirect to edit after creating.
  • Issue 1376 Restore JSON schema preprocessor
  • Issue 1387 Port message model version copy functionality
  • Issue 1429 Port validator artefact downloads
  • Issue 1431 'Used by' table missing for edit business rule
  • Issue 1454 Port API key access to validator service
  • Issue 1454 Refactor API key access
  • Port issue with EasyRdf namespace prefixes. See v3 MR 684
  • Upgrade to Symfony 7.3

New functionalities​

  • Issue 520 Add venetian blind option for json schema generator, including simple types

Bugfixes / UX improvements​

  • #1444, #1445, #1451
  • Several other improvements, see !693
  • Issue 1460 Disable dark mode for PrimeNg components until STH has support for dark mode
  • Add temporary oauth login routes to smoothen the transition from v3 to v4 for external integrations
  • Restore consistent use of SERVER_HOST_NAME env variable
  • Refactor how environment specific Symfony backend configurations are specified and picked up in Helm values and templates
  • Merge documentation repo (the website) into main STH repo
  • Fix CI release job

v3.8

v3.8.0 (12 July 2025)​

New functionalities​

  • Issue 1286 Add SHACL Validator to STH
  • Issue 1328 Add support for additional JSON-Schema files to the JSON Validator

Bugfixes / UX improvements​

  • Fix JSON-LD syntax inference for SHACL validator
  • Issue 1222 Properly propagate JSON Schema errors if the user provided them
  • Issue 1227 Automatically format validation rules when exporting
  • Issue 1337 Use ingress custom-headers annotation instead of less secure server-snippet annotation
  • Pin cloud-sdk image to have Docker cli available for build jobs
  • Add buffer size to fingers crossed log handler to prevent memory leak. This especially holds for long running process of messenger worker

v3.7

v3.7.0 (8 April 2025)​

New functionalities​

  • Epic 56 Add content-based access control, including:
    • Enabled fine-grained access control for custom API routes
    • Fix problem where newly created group can't be accessed
  • Issue 1327 Add syntax type RDF to data model for shacl validator. This is preparing for integrating SHACL validator

Bugfixes / UX improvements​

  • Issue 1309 Bugfix consistent trimming namespaces for XML generators
  • Remove unnecessary secretkeyref from the helm chart
  • Fixed a bug where SHACL couldn't be generated with an empty URI; this now creates a blank node
  • Fixed a bug where the review environment couldn't be upgraded because of PV multi-attach errors
  • Remove debug configuration '-vvv' for worker container in debugMode. This produces way to many logs

v3.6

v3.6.0 (23 February 2025)​

New functionalities​

  • Issue 1274 Pick up STH-specific annotation properties from SHACL property shapes by wizard

Bugfixes / UX improvements​

  • Issue 576 Sort 'Organizations' page
  • Issue 1205 Group meetings: show issues shorter. Example: #12 (closed)
  • Issue 1271 Add "new organization" button
  • Add log to indicate that notification service is not enabled
  • Refactor + fix + minor improvements to notification service
  • Enable notification service for MR review environments
  • Increase verbosity of worker (symfony console) when STH is set in debugMode

v3.5

v3.5.0 (6 February 2025)​

New functionalities​

  • Issue 699 Copy an existing message model to a new version
  • Issue 1246 Add conceptual model for content-based access control

Bugfixes / UX improvements​

  • Issue 1178 Show EasyRdf (parse) error message to user
  • Issue 1196 Support lang tag of ^^rdf:HTML literal types
  • Issue 1262 Bug in rdf example generator when no target class nor datatype
  • Update easyrdf to version 1.16. Fixes valid syntax for:
  • Refactor image upload functionality + fix for missing mime type for files from storage
  • Fix generated frontend
  • Fix in OwlAdapter to get definition for target class
  • Improve performance of getting possible target elements for element mapping. Related to #1122
  • Issue 1194 SCSN env - Add menu item to link to documentation in gitbook
  • Also update worker sidecar image in CICD scripts for rollout
  • Automatic cleanup finished job of creating admin user after new Helm install
  • Customize BDI-DIL environment
  • Add explicit isCleanInstall tag for the helm chart
  • Remove EVH from the Kustomize CI, added to the Helm pipeline
  • Update all PHP dependencies + bump version constraints in composer.json
  • CICD changes to be able to run on Gitlab.com managed runners; use STH group runner for dind
  • CICD cleanup staging and production deployment jobs after migration to helm for all environments
  • Helm chart allow to use mailhost without credentials and without the need for existing secret. Allow to skip TLS.

v3.4

v3.4.0 (3 December 2024)​

New functionalities​

  • Issue 628 Add conceptual model for Notification service
  • Issue 688 Allow adding images to issues and other markdown fields
  • Issue 1115 Option to specify if additional sub elements are allowed in resulting schema
  • Issue 1134 Show 'owl:deprecated' clearly in ontology treeviews
  • Issue 1168 Nest subclasses in ontology treeviews
  • Issue 1170 Notifications: add async sending via queues
  • Issue 1196 Retrieve definition from dcterms subject property in Wizard
  • Issue 1216 Graph pattern UX first version

Bugfixes / UX improvements​

  • Issue 1135 Add search to 'projects' dropdown in step 1 of wizard
  • Issue 1167 Message treeview: optimize loading possible properties.
  • Issue 1171 Validator: show clear error if unauthorized
  • Issue 1177 Validator page: fix network error from code editor
  • Issue 1184 Issue: show attachments
  • Issue 1211 Issues: show labels
  • Issue 1212 Issue: add "assigned to"
  • Issue 1214 Issues: allow filtering by label and assigned to
  • Issue 1218 Use the Russion doll style as default when requesting generated XML schema
  • Issue 1230 Issues: improve label colors when none or a light one is set
  • Issue 1231 Taxonomy treeview: improve search
  • Issue 1235 Taxonomy treeview: fix concepts shown on all panes
  • Issue 1236 Bugfix: Google cloud storage uniform bucket-level access is supported now
  • Issue 1241 Canvas: don't show unpublished message versions in search when you don't have the rights
  • Issue 812 Add Content Security Policy header
  • Issue 1155 Add merge request (review) deployments to CI/CD pipeline
  • Issue 1190 Add Graph Pattern API
  • Issue 1195 Add security headers to default values
  • Issue 1213 Add jobs that trigger staging/production deployments
  • Issue 1254 Changed the way the Flyway container image tag is selected
  • In CI/CD jobs, pass $CI_COMMIT_SHORT_SHA as sth image tag variable to triggered helm deployment job
  • Fixed a bug where file uploads don't work in MR Review environments
  • Publish / release Helm chart when there are changes on push to main branch
  • Bump Helm chart version to v1.0.0