We have recently upgraded to medini 2023 from medini 2021 and noticed a few changes that were not communicated sufficiently. A minor observation was that medini 2023 was stricter on variable declarations - this is easily understood and a good practice to update anyway.
A few not so minor corrections we had to make include how constructors are handled:
/*OLD*/ if (arg_0z.constructor === Metamodel.safetygoals.SafetyGoal) {}
/*NEW*/ if (Object(arg_0z) == Metamodel.safetygoals.SafetyGoal) {}
"sysml_port" - Metamodel.sysml.SysMLFlowPortUsage and "sysml_port_write" - Metamodel.sysml.SysMLPortUsage object meta class changes (mediniGetContainer returns sysml_port_write now and was sysml_port before):
/*OLD*/ if (medini_container === "sysml_port") {}
/*NEW*/ if ((medini_container === "sysml_port") || (medini_container === "sysml_port_write")) {} //make backwards compatible
There may also be a change in how sysml objects return children and the use of direction attribute may be needed to verify between "sysml_in_port" and "sysml_out_port".
In general, we would like to be aware of the details of these changes as we upgrade medini versions in the future...