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
New Approach to MPS-Related Components
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.