As usual, each upcoming release will bring a few improvements, fixes and changes for scripting, reporting and generally customization. With this article I would like to teaser a bit what’s coming.
Extended Issues scripting API to support more use cases
The Issues scripting API was introduced in 2025 R1. With 2025 R2 the API was slightly extended so that scripts can now easily create sub-issues. In addition, multiple issues can be added to a project at once.
Support tilde (~) shortcut in scripted profile properties
The ~ placeholder prefix was introduced a while back to be able to load other scripts or libraries via a relative path that is resolved to the "scripts" folder of the project. This was only supported when using load in batch scripts so far. With 2025 R2 this is now also possible in scripted profile properties.
Provide selected columns to table scripts
Information on selected columns and other table view information are now passed to a script that is executed in a table viewer. Note that the execution of scripts in tables is still an experimental feature and needs to be enabled in the preferences.
Improved AQL scripting
AQL as an additional scripting language was introduced in 2025 R1. However, the handling of results was different than for the other languages. This discrepancy is resolved with 25.2
Extend load function to support passing a scope for the evaluation
The "load" function is one of the oldies in medini. With 25.2 it got an update and supports now a second optional argument. That argument is supposed to be a JS scope object which is used as the scope for all loaded functions and variables.
Set failure type and failure rate at the same time
Scripts could not set the type of a failure mode to TRANSIENT and set the failure rate at the same time (basically in the same transaction). There were a few workarounds including the execution of two scripts, one after the other. This is now fixed and it should be possible to set type and rate in one step.
Usage of OCL properties in OCL constraints
Before 2025 R1 it was problematic to use scripted profile properties that were based on OCL. Reason was that the engine returned the default value (a string) in case the result of the OCL property was an empty list. That was basically okay but not when used in an OCL constraints. This behavior has now changed: profile properties now return empty collections and do not fall back to the default string.
M2Doc Reporting
The M2Doc reporting got 3 minor updates: there is now a service to define, use, and render arbitrary counters in a report. The report wizard which is launched when auto-generating reports is falling back to the normal reporting wizard in case an error is encountered. That way it is much easier to fix the issue and generate the report in the end without closing and reopening the normal wizard manually. Last but not least a new object named 2now" is always injected as a default variable to the report to render the current date and/or time.
Final and more information will be available in the final documentation.
Happy Scripting
Jan