CaseTalk 15.0 is the largest release in the history of the product. It closes well over 350 tickets (fixes and features alike) and is built around four themes: an information model your AI assistant can actually talk to, data governance that travels with the model, a much wider set of export targets, and a modernized, better behaved user interface. Whether you model for a data warehouse, an ontology, a glossary or a regulator, this release moves the conceptual model further into the centre of the conversation.
Highlights at a Glance
- MCP Server Built In -- Claude, ChatGPT, Gemini and other assistants hold a conversation about your model directly, with a prompt sidebar, Discord integration and a runtime consent system
- Data Governance -- Sensitivity annotations and retention periods on Object-Fact Types, with masking, reader clearance and a separate permission before an assistant may read example data
- ArchiMate, First Class -- ConceptType icons, a dedicated ArchiMate diagram tab and Open Exchange Format export
- Twelve New Generation Targets -- Snowflake, DuckDB, BigQuery, Databricks, SAP HANA, ClickHouse, Redshift, Kotlin, TypeScript, C#, GraphQL and Anchor Modeling (6NF), in a new categorized Generate menu
- Schema Evolution -- ALTER TABLE migration scripts generated automatically from schema deltas
- Semantic Web Depth -- Turtle import, RDF 1.2 idioms, NL-SBB compliant SKOS, SHACL constraints, OWL vocabulary documentation and proper OntoUML stereotypes throughout
- Rules in Your Language -- Business rules are verbalized in the language of the model, say "Each", and use the correct linguistic article
- Model Grading -- Grade a model against rules and weights, and see what is still missing to complete it
- Crash-Safe Saving -- An interrupted save can no longer corrupt a file, and crashes are reported automatically
- Online License Activation -- Activate, verify and deactivate your licence without a manual key exchange
AI, MCP and Assistants
CaseTalk 15.0 embeds a Model Context Protocol server, so an assistant can read and discuss your conceptual model instead of guessing at it.
- Model-aware LLM chat -- Chat with an assistant that has your model, its fact types and its rules in context (#5166)
- MCP security and consent -- A runtime consent system and workspace scoping decide what an external agent is allowed to see (#5444)
- Discord integration -- Chat and drag-and-drop of model elements straight from Discord (#5265)
- Your LLM as a modeling coach -- Bring your own model and let it coach the modeling session (#5521)
- Socratic AI Coach -- The coach asks questions instead of dictating answers, from prompts you can edit yourself (#5539)
- Semantic Completion Wizard -- Batch augmentation of expressions across a vocabulary (#5478)
- LLM translation -- Translate model content through the configured language model (#5487)
- Custom LLM endpoints -- Point CaseTalk at any compatible endpoint you host or subscribe to (#5744)
- Mistral -- Added as an LLM option (#5468)
- Azure OpenAI -- Added as an LLM option for CoPilot deployments (#5261)
- OpenRouter -- Use OpenRouter as a gateway to many models at once (#5262)
- Population augmentation reuses tuples -- Augmentation draws on tuples that already exist on object types (#5486)
- Canvas helpers in project and MCP -- Canvas helper files are part of the project and visible to assistants (#5582)
- Timestamps in MCP listings -- Project and file listings expose modification timestamps (#5745)
- MCP reminders in chat -- Chatting assistants are reminded that the CaseTalk MCP server is available (#5607)
- ChatGPT error 400 -- Fixed a request that could fail against the OpenAI endpoint (#5200)
Data Governance and Privacy
Sensitivity is no longer an afterthought kept in a side spreadsheet; it is part of the model and it travels with it.
- Sensitivity annotation -- Mark Object-Fact Types with their data sensitivity (#2735)
- Retention period -- Record how long data may be kept, per Object-Fact Type (GDPR) (#5720)
- Masking on export -- Sensitive values are masked when a dataset is exposed to an external tool or caller (#5721)
- Sensitivity in report and Portal -- GDPR sensitivity and retention are shown in the MIM report and in the Portal (#5722)
- Sensitivity in the ontology tree -- See sensitivity and retention policy while you browse the model (#5788)
- Reader clearance -- Example data is hidden from readers who are not cleared for it (#5884)
- Assistant permission for example data -- Reading example data through an assistant needs its own explicit permission (#5855)
- Sensitive data no longer leaks to assistants -- Fixed a path where example data marked sensitive could still reach an AI assistant (#5854)
- Cross-project search tightened -- Search no longer hands out example data from models that are not open (#5858)
- EU Cyber Resilience Act -- CaseTalk is aligned with CRA expectations (#5421)
- Modernized EULA -- The licence text has been rewritten for clarity (#5544)
Semantic Web: RDF, OWL, SKOS and OntoUML
The vocabulary side of CaseTalk received the most concentrated attention in this release.
- Turtle import -- Read Turtle files into a CaseTalk model (#5685)
- RDF 1.2 idioms -- The Turtle export templates were consolidated and modernized (#5614)
- NL-SBB compliant SKOS -- SKOS export conforms to the Dutch NL-SBB standard (#5592)
- OntoLex-Lemon, SKOS, LexInfo -- Lexical and concept-scheme vocabularies are supported (#5180)
- SHACL -- Constraints that OWL cannot state are generated as SHACL shapes (#3839)
- OWL vocabulary documentation -- Publish human readable documentation next to the vocabulary (#5443)
- ReSpec documentation export -- Export specification-style documentation (#4913)
- Classification links between meta levels -- The OWL/RDF export no longer omits them (#5763)
- OntoUML stereotypes derived properly -- Concept types are no longer left unclassified (#5795)
- OntoUML meta levels -- Classification links and higher meta level types are stereotyped correctly (#5796)
- OntoUML kinds -- A kind is only claimed when the type carries its own identification (#5805)
- OntoUML mediation -- Roles of an objectified fact type are mediation, not material (#5799)
- OntoUML aspects -- Label types are classified by data type, and single-participant objectifications become aspects (#5804)
- OntoUML everywhere -- The classification is carried into all generated output, not only UML (#5807)
- Derived relationships linked -- Objectified relationships are linked to the relationship derived from them (#5801)
- RDF/OWL datatypes -- Missing datatype definitions are now written (#4910)
- InterUC in OWL and RDF -- Max cardinality and hasKey are generated correctly for inter-uniqueness constraints (#5029)
Export and Code Generation
The template engine gained twelve new targets and a categorized Generate menu, alongside several new interchange formats.
- Anchor Modeling (6NF) -- Generate an Anchor Modeling schema from the conceptual model (#5435)
- Template data types and quoting -- Define data types and quoting rules in the template configuration (#5390)
- Generation modules restored -- Missing generation modules are shipped and discovered again (#5772)
- ArchiMate Open Exchange Format -- Export the model as ArchiMate OEF XML (#5432)
- ArchiMate nesting -- Nested concepts and containers export as Specialization (#5770)
- Neo4j -- Support for the Neo4j graph database (#1745)
- GraphML for Neo4j -- Export GraphML including tuple data (#4162)
- Apache OSSIE -- Export models to the OSSIE semantic-model format (YAML) (#5769)
- Core Schema Notation -- Export to CSN (#5546)
- Hierarchical JSON -- The flat export is replaced by a document-structured JSON export (#5437)
- Paragraphs in JSON Schema -- Paragraphs can be listed in JSON Schema Draft output (#5032)
- Primary keys in artifacts -- Generated artifacts carry their primary key (#4933)
- PostgreSQL views -- Views are generated again, and a generation crash was fixed (#4893)
- XMI robustness -- Cardinality-only constraints and containers no longer block an XMI export (#4905)
- Artifact dialog -- The Invoke button stays enabled, and the generation log is shown (#5771)
Import and Interoperability
- schema.org import -- Bring schema.org vocabulary into the model (#2115)
- data.world catalog -- Import catalog metadata from data.world (#5391)
- External catalogs -- Integrate catalogs as a first-class source (#3778)
- External reference data -- Use external reference data for Object-Fact Type population (#2154)
- Hardened XLS import -- The spreadsheet import survives messier workbooks (#5382)
- Reference data persists -- Imported reference data is stored instead of quietly dropped (#5503)
- Browse the web inside CaseTalk -- An internal browser that detects downloads (#4868)
- Drag and drop HTML fragments -- Drop fragments from the internal browser into the model (#4877)
- Search the Portal -- Search published models straight from the application (#4872)
- Groupings survive .igdx -- Diagram groupings are no longer lost when saving as .igdx (#5813)
- Richer Expression OTL tab export -- More information is exported from the OTL tab (#5474)
Diagrams and Visualization
- ArchiMate diagram tab -- A dedicated tab for the ArchiMate view of the model (#5433)
- Ring constraints drawn -- Ring constraints are visualized, and a constraint can be edited from the diagram (#5871)
- Diagram legend -- The legend explains the icons and the named colors in use (#5822)
- Named custom colors -- Give a custom color a name and reuse it by that name (#5815)
- Semi-transparent elements -- Diagram elements can be made semi-transparent (#5821)
- Style preview on the real diagram -- Preview a style change on your actual diagram before applying it (#5878)
- Annotation notes styled separately -- Notes get their own background color and font (#5877)
- Resize from any edge -- Elements are no longer resizable only from the bottom and right (#5812)
- Grouping tiebreak made visible -- See which role wins the binary fact grouping tiebreak (#5892)
- Filtering as highlighting -- Use a filter to highlight elements in the diagram (#4943)
- Graphical formulas -- Formulas can be drawn on the diagram (#4998)
- Expressions at OTL or LL level -- Draw the diagram expression at the level you need (#5105)
- Schema coloring -- Color elements by the schema they belong to (#3790)
- Hide roles and relation parts -- Roles and individual relation parts can be hidden (#4888)
- Direction on rule and member -- Rules and members state their direction (#4519)
- UML attribute annotation -- Annotate attributes in the UML diagram (#4935)
- Locale per diagram tab -- Each diagram tab has its own locale selector (#5447)
- Modeling the unknown -- A gap concept or container shape for what you cannot name yet (#5609)
- UML fidelity -- Missing relationships, duplicates, multivalue attributes and wrong cardinality in UML diagrams were fixed (#4925)
- InterUC in UML -- Inter-uniqueness constraints no longer hide attributes (#5030)
- Zoom and style -- Changing a style while zoomed, displaced annotation blocks and misplaced value constraints were fixed (#4320)
- Diagram painting -- Popup menus paint correctly and rendering anomalies after opening a project were resolved (#5617)
- Style colours applied consistently -- The style list shows every kind exactly as it is drawn (#5872)
- Stable positions -- Container labels, fixed task colours and Convex auto-sizing survive a reopen (#5765)
Expressions and Business Rules
- One dialog to pick an expression -- Type, instance and its facts side by side in a single picker (#5866)
- Edit roles in the expression tree -- Insert, edit and delete roles directly in the tree (#5485)
- Expression part annotations -- Annotate individual expression parts (#4571)
- Counter examples and unconfirmed tuples -- Expression files can state that a tuple is a counter example or unconfirmed (#5829)
- Rules say "Each" -- Business rules constrain every instance, and now read that way (#5873)
- Rules in the language of the model -- Wording follows the model locale instead of the machine locale (#5874)
- German, French and Spanish wording -- Incomplete rule wording was completed and now reaches existing installations (#5875)
- Linguistic article as a property -- de/het/the is a first-class property of an object type (#5664)
- Articles in re-verbalization -- Subsequent references use the correct article (#5669)
- Unique expression part identifiers -- Fixed expression parts that could share an internal identifier (#5814)
- Alter Played By -- Picks the right specialization when a role moves between generalizations (#5853)
- Expression input -- A second input dialog no longer inherits the state of the first, and qualification colouring was fixed (#5371)
- Name changes reflected -- Renames are carried into expression files (#4548)
Constraints, Types and Model Semantics
- Value constraints by kind -- A value constraint says which kind of constraint it is and is edited that way (#5880)
- Constraint prefix numbering -- Constraints can be prefixed and numbered for reference (#5732)
- Case sensitive value constraints -- Value constraint values keep their case (#5739)
- Unlimited timelines -- Model as many timelines as the domain needs (#4372)
- Configurable timeline sets -- Timeline sets for temporal Object-Fact Type modeling (#5508)
- Custom names for temporal aspects -- Name the temporal aspects the way the business does (#2870)
- State modeling -- Model states and their transitions (#4478)
- Organogram -- Model users, departments and user groups (#4374)
- Organogram canvas -- Custom attribute types for Department, Role and Person (#5583)
- Authoritative source -- Record where a definition comes from (#4504)
- Label type collation and length -- Character collation and generic char length are configurable (#3233)
- Label subtypes -- New subtypes for label types, shown in the taxonomy (#4874)
- Nominalize a label subtype -- Turn a label (sub)type into an object type properly (#4937)
- Create a fact type from a selection -- Build a fact type from the elements you selected (#5588)
- Meta level reclassifies roles -- Changing the meta level of a type reclassifies its existing roles (#5798)
- Naming conventions in Preferences -- Edit the naming conventions in Tools > Preferences (#5591)
- GLR -- Recursive structures are doped, and auto-GLR runs for plugins that need lexicalization (#5404)
Validation and Model Quality
- Model grading -- Grade the model according to rules and weights (#5428)
- What is missing -- Report the facts still needed to complete the model (#5002)
- Violations on the diagram -- Drag an Object-Fact Type with violations onto a diagram (#5378)
- Substitution is a warning -- A missing substitution is a warning, not an error (#5753)
- Grouping preference -- No more false grouping warning when a totality constraint already decides the direction (#5748)
- Default value check -- The model check no longer reports an invalid default value on roles that have none (#5910)
- Schema and diagram checks -- Object-Fact Types with a schema are no longer listed as absent from every diagram (#5033)
Reporting and Documentation
- SBVR business rules in the report -- The project report renders the rules as SBVR (#5869)
- Sources are cited -- The project report cites the sources it draws on (#5861)
- Markdown documents included -- Your project markdown documents are part of the report (#5842)
- Borrowed terms attributed -- The report names the model a borrowed term comes from (#5862)
- Report style honoured -- Report diagrams follow the chosen report style (#5863)
- MIM report styling -- Unconfirmed and counter-example expressions are styled distinctly (#5495)
- Markdown annotations -- Annotations accept Markdown throughout (#4083)
User Interface and Usability
- Better object/fact type editing -- Inline constraint and role tabs while editing (#5473)
- Tab close and add buttons -- Add and close tabs where you expect to (#5783)
- What changed since your last login -- Models changed since your last visit are highlighted on the start page (#5688)
- Instant welcome page -- The welcome page shows immediately and refreshes in the background (#5868)
- One undo history -- Diagram and model undo/redo are no longer two rival histories (#5849)
- Related expressions in the population editor -- See the expressions related to the tuple you are editing (#5369)
- Population editor keeps your work -- Edits are no longer discarded when a row is incomplete (#5823)
- Source mapping filtering -- Dynamic filtering of the Vocabulary and Paths target tree (#5698)
- New Project dialog -- Says where the project lands and how conflicts are handled (#5699)
- Filtering that finds things -- Object-Fact Type filtering, RegExp filters on custom attributes and multi-select edit were fixed (#5816)
- Toolbar control -- Hide or show all toolbar buttons at once (#4920)
- Windows light and dark theme -- CaseTalk follows the system theme, including diagram backgrounds (#4881)
- Modern wizard graphics -- Refreshed flat-design sidebar illustrations that actually show at run time (#5477)
- Ontology lazy loading -- Large ontologies open without waiting for everything (#5374)
- Navigate to the diagram -- Select and centre an Object-Fact Type where it appears in a diagram (#5778)
- Model locale visible -- The locale of the model is shown where you need it (#5389)
- Saving is clearer -- File Save As behaves as expected and a dialog explains what is being saved (#2836)
Project and File Management
- Crash-safe saving -- An interrupted save can no longer corrupt a file (#5730)
- Project recycle bin -- Removed files stay recoverable (#5373)
- Project file grouping -- Group the files in a project (#5268)
- Leaner archives -- Optionally keep diagram images out of project archives (#5906)
- Restore from archive -- The restore experience was redesigned (#4134)
- Images from subfolders -- Project images can live in a subfolder (#4866)
- Reopen what you saved -- A project saved under a new name opens again (#5835)
- Stable file references -- References no longer fill up with relative prefixes until the project loses its own files (#5836)
- Multiple information grammars -- Several IG files can be open at once (#230)
- Housekeeping -- Temporary files left by an abnormal shutdown are cleaned up (#5791)
- Versioned roaming profile -- The profile folder is versioned per release and migrated forward on upgrade (#5676)
- New project extension -- Project files migrate from .prj to .ctprj (#5446)
Repository, Server and Portal
- Online license activation -- Activate, verify and deactivate a licence online (#5409)
- Read-only server account -- Give reviewers access without write rights (#2769)
- Server updates as RSS -- An RSS feed of server updates on the welcome page (#5144)
- Database column check -- Verify that a server database has all its columns (#5837)
- Uploads keep everything -- Join paths and translations are no longer lost when a model is uploaded (#5833)
- Uploads report failure -- An upload can no longer create a version with missing content in silence (#5905)
- Increments -- Uploads no longer burn two increments (#4883)
- Delete a server project -- Deleting a project on the server works (#5223)
- Diagram search after download -- No close and reopen needed (#5445)
- Namespaces by name -- Namespaces show their name instead of a GUID (#5773)
- Undo and redo integrity -- A redo/undo combination can no longer invalidate the database (#4902)
- Custom attributes on tuple rows -- Custom attribute values are stored per tuple row (#5379)
- Meta queries -- Navigate from a meta query on the repository (#4928)
- Manager integration -- Fixed an occasional lock against CaseTalk Manager (#5780)
Diff and Merge
- Git diff/merge plugin -- Native CaseTalk integration for Git workflows (#4153)
- Merge from a selected IG file -- Choose exactly what you merge from (#4553)
- Merge with Replace -- Replace rather than reconcile where that is what you mean (#4793)
- Status and colouring -- Merged Object-Fact Types show their status and are coloured accordingly (#5211)
- Selection respected -- Merge no longer misses operations on a selected set of Object-Fact Types (#4901)
- Population after merge -- Merging no longer creates population errors (#5027)
- Old expressions stay gone -- Expressions removed before a merge no longer return (#5067)
- Business glossary merge -- Fixed a failure when merging the glossary (#5239)
- Taxonomy safety -- An incompatible taxonomy change is detected instead of crashing (#4903)
Data Explorer and Catalogs
- Query from the data tab -- Generate a query based on what you see (#4931)
- Mapping to the population editor -- Link a mapping to the population editor (#4101)
- Catalog mapping -- Schema and catalog are no longer swapped in Data Catalog Mapping (#5605)
- Views in the internal schema -- Database views are listed in the Internal Schema dialog (#4895)
Performance
- Much faster upload -- Uploading a model to the server is substantially faster (#5831)
- Faster Data Explorer -- Opening the Data Explorer on a large model no longer takes minutes (#5040)
- Faster editing -- Editing a large model is markedly quicker (#4614)
- Faster GLR snapshot -- Preparation of the silent GLR model snapshot was optimized (#5786)
- Faster diagram zoom -- Zooming is no longer a bottleneck (#4451)
- Faster server login -- Logging in to the server is quicker (#4361)
- Faster RTF linking -- Large RTF files no longer stall the link (#4869)
- Smaller PNGs -- Generated PNG files are smaller (#4265)
- New memory manager -- The memory manager was upgraded (#5596)
- Responsive shutdown -- CaseTalk no longer sits busy and unresponsive while closing (#5171)
Stability and Reliability
CaseTalk now reports crashes automatically, and this release fixes more than fifty crashes and freezes found that way.
- Automatic crash reporting -- CaseTalk can send a crash report so the cause is actually known (#5384)
- Clean shutdown -- Access violations during application exit were fixed (#5728)
- Validation runs -- Crashes during model validation and when opening the results were fixed (#5729)
- Reportable errors -- A crash during the rules check on project close is reported properly instead of shown as a bare error box (#5680)
- Constraint editors -- Crashes after using the Subset Constraint editor and when adding a role to a generalisation were fixed (#5733)
- Population editor -- Fixed a UNIQUE constraint violation during population editing (#5397)
- Verbalization and expression viewer -- Freezes during VerbalizeRules and crashes in the Expression Tree were fixed (#5471)
- Background threads -- Freezes in broadcast handling and a SQLite deadlock while saving namespaces were fixed (#5493)
- Wizards -- The Subtype Matrix no longer breaks the model, and the wide UC assumption no longer crashes (#5069)
- Transformation -- Explicit transformation (F12) no longer blocks and artificial keys no longer crash plugins (#4890)
- Label to object type -- Converting a label type into an object type keeps its data and its diagram (#5741)
- Recovery dialog -- "Commit record fixes?" no longer always rolls back (#5740)
- Editing under label subtyping -- Editing subset constraints no longer blocks the interface (#4887)
- Diagram reactivation -- The occasional freeze when reactivating project diagrams was fixed (#5320)
Installation and Deployment
- SQLite 3.51.3 -- Updated to the current SQLite release (#5504)
- PlantUML v1.2026.2 -- Updated PlantUML (#5505)
- New file extensions -- Project files use .ctprj, with the other CaseTalk extensions aligned (#4574)
- Clean Windows 11 install -- The msodbcsql17.dll error on a clean machine was resolved (#4758)
- Server without a database -- Installing the server without a database no longer blocks startup (#5304)
Summary
| Category | Count |
|---|---|
| New Features | 125 |
| Improvements | 67 |
| Bug Fixes | 180 |
| Total | 372 |
This article highlights the most visible changes. The complete list of 372 tickets is on the 15.0 roadmap page.
Upgrade Notes
- Project files move from .prj to .ctprj. Existing projects are migrated on first open; older CaseTalk versions cannot read the new extension.
- The roaming profile folder is now versioned per release. Your settings from CaseTalk 14.x are migrated forward automatically on first start.
- SQLite is updated to 3.51.3 and PlantUML to v1.2026.2. Existing databases and diagrams are handled transparently.
- Licensing can be activated online. Existing licence keys keep working; activation simply removes the manual exchange.
- Sensitivity and retention are new, optional annotations. Models that do not use them behave exactly as before.
- If you use the MCP server, review the consent and workspace settings before connecting an external assistant.
Getting Started
- Download the latest installer from casetalk.com
- Review the full ticket list for 15.0 for detailed issue descriptions
- Visit the CaseTalk documentation for updated guides
CaseTalk 15.0 -- Built for conceptual modelers who demand precision, productivity, and collaboration.

Download 
Use Online