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.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.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.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.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.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.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.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.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.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