RSS

Modelix Platform Release 23.2

We are happy to announce the autumn release of the modelix platform: 23.2

The versions bundled in this release are:

modelixCoreVersion = 3.12.1
incrementalVersion = 0.2.0
buildToolsVersion = 1.1.0
modelixMPSPatchVersion = 157

If you want to know how to use this platform in your Gradle build, check out the corresponding documentation.

Feature Highlights

ModelQL

The ModelQL query language provides a dynamic way of loading parts of the model on demand while reducing the number of requests to a minimum.

Model Client as NPM Package (experimental)

The previously existing model client is now also published as @modelix/model-client NPM package.

The exposed API is minimal and experimental. In the future, we want to make more features from the Kotlin model client directly accessible from the exposed API in the NPM package.

Vue.js Bindings (experimental)

Built upon @modelix/model-client we created a library to interact with models through Vue.js.

With @modelix/vue-model-api we are currently building sample projects with Vue.js. After that, we want to stabilize the API and show you how you can use it for your projects.

MPS Model Adapters

We created adapters between MPS and modelix. They forward changes made to a model through the model-api of modelix to the Open API of MPS. They are compatible with all MPS versions that modelix currently supports.

With their help, it is possible to implement access and synchronization from modelix components to MPS. The bulk-model-sync Gradle Plugin is an example component that uses them.

Bulk Model Synchronization Plugin (experimental)

The bulk-model-sync Gradle Plugin allows bulk synchronization of models between MPS and a model-server. The plugin applies changes incrementally, and can be run in existing CI systems to schedule and run the synchronization in both directions. This way you can implement a custom Git Integration tailored to your needs.

The plugin is considered unstable, but will be stabilized soon.

Development Insights

Up until now, we built and released MPS-specific components for each MPS version individually. Going forward, we want to release single components, which are compatible with all MPS versions that are currently supported by modelix. The first component to follow this new approach is mps-model-adapters

To achieve that, we separate code in MPS solutions from support library code wherever possible. Also, we are developing upcoming MPS plugins as IntelliJ plugins instead of MPS plugins. This reduces the overhead required for updating and maintenance.

Contribution Guide

We created a contribution guide to help new contributors.

Marking Experimental Features

From now on, we mark experimental features clearly. You can read about it in more detail in our documentation

Extending Automation

In our automation, we introduced static code analysis, dependency updating and security checking. This aims to increase developer velocity, reduce bugs and provide more security for our users.

What’s To Come

We are in the process of planning our roadmap and are aiming to update it this year.