TopBraid-Suite 9.2.0 - Feature: TBS-8363: Inferences panel now supports dedicated inferences graph (per asset collection) in which the inferred triples are incrementally stored. URI pattern for queries: - Feature: TBS-9355: Added Asset Diagram panel. - Feature: TBS-9465: Support for units of measure via sh:unit and QUDT in user interface and GraphQL. Added latest QUDT graph for version 3.1.11 as graph . - Feature: TBS-9581: Added SPARQL multi-functions for vector search with specific search methods: ai:vectorSearchExactPhraseMatch, ai:vectorSearchHybrid (with alpha parameter to balance keyword vs vector), ai:vectorSearchKeyword, and ai:vectorSearchVector. Each supports limit and offset parameters. - Feature: TBS-9788: Support multiple OAuth authorization server configurations in oauth2.yaml. - Feature: TBS-9855: Ontologies/External now includes a suitable version of PROV-O with SHACL support (http://topbraid.org/prov). - Feature: TBS-9916: Added multi-function tbs:dependingTriples (for SPARQL and ADS APIs). - Feature: TBS-9936: Change History panel now has a "Watch" button which automatically tracks changes made outside of the currently active browser tab. Such changes will be listed and the UI will refresh incrementally. - Feature: TBS-9986: Import Instances from Spreadsheet now has buttons to save the state to a template and to reuse such templates. This is similar to Import > Import Spreadsheet from Pattern. - Feature: TBS-10169: Added "Create Natural Language to SPARQL config" action on ontologies to automatically create a default vector index configuration for the Natural Language to SPARQL feature. - Feature: TBS-10219: Added --shutdown-port option to Studio for programmatic shutdown. - Improvement: TBS-5938: Clicking on the property label of an HTML-typed property now opens the rich text editor in full-screen mode. - Improvement: TBS-6502: tosh now includes a SPARQL constraint that produces a Warning whenever a SHACL property shape uses a sh:path that is already used as a non-property (e.g. a class). Add the triple "tosh:PropertyShape-path-sparql sh:deactivated true" if you want to bypass this constraint. - Improvement: TBS-7587: Added ADS API function graph.removeTriples(). - Improvement: TBS-7665: RDF/OWL properties panel now has a quick search field. - Improvement: TBS-8220: Modernize Workflow Diagram - Improvement: TBS-8231: Improve UX and Visual Feedback while in a workflow - Improvement: TBS-8255: More complete handling of SHACL 1.2 sh:class constraints that are lists (for example, in GraphQL). - Improvement: TBS-9483: Create asset dialog: Type selection tree now also has a quick search box. - Improvement: TBS-8172: IO.http now supports a scope option for looking up credentials in a specific Secure Storage scope (e.g. 'product' for product_config, 'system' for system_config). - Improvement: TBS-9497: Stricter whitelisting policy regarding internal and non-routable URLs (see Product config parameters > Security and whitelistedURLs setup field). - Improvement: TBS-9580: Vector search score threshold is now passed to and processed by the AI service instead of being filtered client-side; the threshold parameter has also been added to the GraphQL vector search API. - Improvement: TBS-9610: SHACL property pair constraints such as sh:equals now also support property paths (SHACL 1.2). - Improvement: TBS-9668: Added sh:nodeKind sh:Literal to skos:notation, so that it shows up in spreadsheet import mapping. - Improvement: TBS-9669: sh:targetWhere now has better performance for common patterns. - Improvement: TBS-9677: Added support for SHACL 1.2 properties sh:intent and sh:agentInstruction. - Improvement: TBS-9762: Added support for SHACL 1.2 constraint sh:rootClass (replaces dash:rootClass). - Improvement: TBS-9768: Voting workflow transitions now support flag teamwork:oneVotePerGovernanceRole. - Improvement: TBS-9763: Added support for SHACL 1.2 constraint sh:subsetOf (replaces dash:subSetOf). - Improvement: TBS-9798: Better error handling in Link to File on Git dialog. - Improvement: TBS-9810: View shapes selector on the Form Panel now displays the number of properties on each view. - Improvement: TBS-9811: Taxonomy Concepts panel now has a setting to only show locally defined concept schemes. - Improvement: TBS-9812: Blank nodes with an rdf:type (e.g. at sh:rule) can now be clicked on for navigation. - Improvement: TBS-9819: Workflow transitions to Committed now enforce a minimum editor permission on the production copy, regardless of what the workflow template declares. - Improvement: TBS-9843: Added support for SHACL 1.2 constraint sh:uniqueValuesFor. - Improvement: TBS-9883: Missing label constraint is now bypassed for most OWL types such as owl:AnnotationProperty which often caused unnecessarily alarming errors after import of OWL files. Also the constraint has been downgraded to sh:Warning. - Improvement: TBS-9884: Import SHACL Ontology from OWL/RDFS now also accepts .owl files, interpreting them as RDF/XML. - Improvement: TBS-9906: Global loading state for smoother loading UX - Improvement: TBS-9907: skos:inScheme is now visible and editable on Concept forms. - Improvement: TBS-9911: Faster access to priority filters - Improvement: TBS-9924: Git commits now set the author/email using the current user, not the service account. - Improvement: TBS-9931: Renamed "TopBraid AI Service" to "TQ AI Service" in labels and descriptions. - Improvement: TBS-9934: Improved layout of Change History panel's tool bar. - Improvement: TBS-9947: sh:SPARQLConstraints can now declare their own sh:severity. - Improvement: TBS-9948: OWL2SHACL converter now copies rdfs:label into sh:name and rdfs:comment into sh:description. Global property axioms will be deleted when they are completely converted and the user has chosen to. - Improvement: TBS-10204: ADS function graph.update() now supports SPARQL INSERT DATA and DELETE DATA statements. - Improvement: TBS-10208: EDG enterprise assets schema enhancements: added BusinessActivityCategory class, activity type and asset-in-scope properties on BusinessActivity, and reclassified JobTitle as a subclass of OrganizationalRole. - Changed: TBS-7588: dash:propertyRole now allows multiple values (removed sh:maxCount 1). - Changed: TBS-7743: Upgrade to Microsoft Graph SDK v6 for access to SharePoint and Excel 365. - Changed: TBS-8255: Widgets for sh:class and "or classes" have been combined into a single "classes" widget that produces a SHACL 1.2 sh:class list when multiple values are selected. - Changed: TBS-8392: ai-settings:publishedProperty has been migrated to RDF 1.2 reification. - Changed: TBS-8394: The reification on edg:status now uses RDF 1.2 (sh:reifierShape) instead of dash:reifiableBy. - Changed: TBS-8405: TopBraid EDG is now supporting (and expecting) RDF 1.2 reification instead of its previous reification syntax. - Changed: TBS-8407: All old-style "long URI" reifications in the workspace are automatically replaced with RDF 1.2 reification via an init script that runs the first time that TopBraid EDG 9.2 (or later) is called. Will also replace dash:reifiableBy with sh:reifierShape, and dash/sh:reificationRequired. The change will be recorded in the change history of the collection and can be undone from the change history. The functionality can also be triggered per-asset collection using Modify > Migrate to RDF 1.2 reification from the home asset of the collection, or programmatically via tbs:migrateReifications. Migration Concerns: Any downstream code such as ADS scripts or SPARQL queries that were implemented against the old reification data model (tosh:reificationURI etc) needs to be updated. - Changed: TBS-9513: Upgraded to GraphQL-java 25.0. - Changed: TBS-9515: Reification of SHACL constraint triples (sh:deactivated, sh:severity, sh:message) now follows SHACL 1.2 and RDF 1.2 conventions instead of dash:reifiableBy/long URIs. - Changed: TBS-9516: Crosswalks now use RDF 1.2 reification instead of rdf:Statements for the comments on mappings. - Changed: TBS-9601: Auto-complete boxes that were limited to owl:Class now instead return any subclass of owl:Thing regardless of the rdf:type. This means that, for example, instances of sh:ShapeClass are visible as long as they are under owl:Thing. - Changed: TBS-9628: tbs:createAssetCollection will now reject any id that doesn't match the regex "^[a-z][a-z0-9_]*$". - Changed: TBS-9719: Dataset import will now reject asset collection IDs that don't match the regex "^[a-z][a-z0-9_]*$". - Changed: TBS-9773: Vocabulary "Default constraints for EDG" renamed to "Default constraints for asset collections". - Changed: TBS-10405: dash:ScriptMultiFunctions can only operate on the context-free ADS API. - Removed: TBS-5995: Removed Available Crosswalks panel. - Removed: TBS-9620: Removed support for Microsoft 365 ROPC (Resource Owner Password Credentials) authentication flow. - Removed: TBS-6502: Deleted unused EDG-images graph . - Removed: TBS-8406: Deleted the reification-related product configuration parameters. No longer converting between rdf:Statements and long-URI-reification triples on export/import. - Removed: TBS-9806: Removed SPARQL function smf:fileDuplicateBaseURI. - Removed: TBS-10146: Removed Available Content Tag Sets panel. - Bug fix: TBS-8266: Concurrent Users admin page no longer shows the Explorer sessions section when the installed license does not include Explorer. - Bug fix: TBS-8627: ADS engine sometimes did not "see" locally defined SPARQL functions. - Bug fix: TBS-9927: Studio on non-default ports now uses a unique session cookie ID to avoid clashes. - Bug fix: TBS-9456: Counter URI construction method now automatically increases counter for new instances. - Bug fix: TBS-9487: Fix spaces being stripped off multi-line XML literals when saving .ttlx files. - Bug fix: TBS-9529: Adds/Deletes from Crosswalk Mapping panel were bypassing the change history. - Bug fix: TBS-9541: Create asset dialogs now use the correct label for the description property, if that exists. - Bug fix: TBS-9598: Fix regression where SHACL/SWP/SPIN element registries are not refreshed after workspace project upload. - Bug fix: TBS-9598: Fix project upload failing when zip files contain macOS metadata files. - Bug fix: TBS-9629: Export > JSON-LD and RDF/XML were disabled even when imported graphs contained RDF 1.2 reified triples. - Bug fix: TBS-9642: ADS function graph.select did not "see" locally declared SPARQL functions. - Bug fix: TBS-9678: Setting a main class in a Data Graph made it impossible to Import > Spreadsheet from Pattern for other classes. - Bug fix: TBS-9768: Voting workflow transitions did not process the current transition correctly (since version 9.0). - Bug fix: TBS-9701: The graph can now be manually added under Edit Includes. - Bug fix: TBS-9710: Global Search page sometimes incorrectly showed the Stop Index button. - Bug fix: TBS-9799: Fix Excel spreadsheet import returning column names as data values on sheets without data rows. - Bug fix: TBS-9809: Collection header now correctly shows the protected icon when Global Protected Mode is enabled. - Bug fix: TBS-9813: Better validation for Files > Change Graph URI. - Bug fix: TBS-9815: URIs with local names starting with digits are now correctly abbreviated in the form header. - Bug fix: TBS-9816: Import > Crosswalk from Spreadsheet did not use the configured mapping property. - Bug fix: TBS-9820: ADS API now prevents adding triples with a malformed predicate (e.g. blank node). - Bug fix: TBS-9821: OpenAPI (Swagger) generation crashed when a sh:parameter lacked a valid sh:path. - Bug fix: TBS-9822: Unified logic to decide whether a class can be instantiated in the Create instance dialogs. - Bug fix: TBS-9824: Fixed auto-transitions of voting workflows. - Bug fix: TBS-9841: Fix tooltip on candidates in Import Concepts From Document not indicating redundant concepts. - Bug fix: TBS-9851: Removed quick actions menu from Taxonomy Concepts panel (only contained one redundant item). - Bug fix: TBS-9856: Functions teamwork:plural/singularProjectTypeLabel, tbs:assetCollectionNameOf and tbs:assetCollectionTypeWithLabel now gracefully handle null parameters instead of, for example, returning 'Ontology'. - Bug fix: TBS-9861: Clicking "Create" multiple times rapidly in an asset collection dialog no longer creates duplicate collections. - Bug fix: TBS-9867: Taxonomy Concepts tree: Batch actions with descendants did not handle concept schemes correctly. - Bug fix: TBS-9880: SPARQL endpoint ignored the query= parameter when an empty update= parameter was present. - Bug fix: TBS-9885: Form Panel: View shapes selector was sometimes showing untyped shapes (with no properties). - Bug fix: TBS-9908: Form Panel's edit button was sometimes not doing anything in Ontologies, now displays an info dialog explaining why. - Bug fix: TBS-9912: Publishing to Explorer no longer sends saved SPARQL queries or Tasks, and preserves saved SPARQL queries on Explorer. - Bug fix: TBS-9917: Some panels in the UI (e.g. Script Results) did not render RDF 1.2 triple terms correctly. - Bug fix: TBS-9918: Fixed server potentially becoming unresponsive during user login if login request straddles a UTC day boundary. - Bug fix: TBS-9930: OWL2SHACL rules were creating unnecessary sh:property constraints for sub-properties that had their own rdfs:domain. - Bug fix: TBS-9937: Hide "Publish for Explorer Users" when no Explorer server is configured. - Bug fix: TBS-9985: SPARQL Query panel crashed on DESCRIBE queries with pre-bound variables but without a WHERE clause. - Bug fix: TBS-10147: Fixed Download Template button in Enumerations Spreadsheet Importer not downloading the file. - Bug fix: TBS-10153: Class Hierarchy panel's free-text search now also includes custom properties such as skos:altLabel based on property shapes declared at rdfs:Class and its subclasses. - Bug fix: TBS-10154: Git support graph can now be added as an include via the Include dialog. - Bug fix: TBS-10157: Workflow transitions with teamwork:editableInWorkflowScript are now blocked on violations. - Bug fix: TBS-10184: Auto-complete of facets below Global Search sometimes crashed returning no results. - Bug fix: TBS-10217: Studio shutdown no longer logs a spurious thread-leak warning about the userDisplayName cache invalidator. - Bug fix: TBS-10238: Export of complete GraphQL results to JSON sometimes produced malformed download links. - Bug fix: TBS-10259: Fixed a deadlock that could cause the server to become unresponsive when loading UI graphs concurrently with graph registration. - Bug fix: TBS-10407: Import TriG or Zip file no longer fails with an NPE when the Teamwork Lucene text index is unregistered. - Bug fix: TBS-10408: Lucene indexes sometimes failed to initialize after a webapp redeploy, requiring a server restart. - Bug fix: TBS-10410: Fixed a resource leak where the Lucene text index did not close the graph iterator if an exception was thrown during indexing. - Security: TBS-8780: Addressed CVE-2025-27789 (ReDoS in @babel/runtime). - Security: TBS-9494: Avoid script and href execution with malicious resource labels in tree nodes - Security: TBS-10424: Fix insufficient validation of OAuth2 and LDAP roles. - Security: TBS-10430: Update Spring Security to 7.0.5. to address CVE-2026-22746, CVE-2026-22747, CVE-2026-22748, CVE-2026-22751, CVE-2026-22753 and CVE-2026-22754 - Security: TBS-10486: Fix path traversal issue in git integration. - Security: TBS-10486: Better handling of symlinks in git repositories. - Security: TBS-10511: Improve validation of repository URLs in git integration.