diff --git a/.github/workflows/vulnerability-scanning.yml b/.github/workflows/vulnerability-scanning.yml index 353b2819c1..bc3aca772d 100644 --- a/.github/workflows/vulnerability-scanning.yml +++ b/.github/workflows/vulnerability-scanning.yml @@ -6,14 +6,14 @@ jobs: name: depecheck_test steps: - name: Checkout - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 - name: Setup Java - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 + uses: actions/setup-java@ad2b38190b15e4d6bdf0c97fb4fca8412226d287 # v5 with: distribution: temurin java-version: 17 - name: Setup Gradle - uses: gradle/actions/setup-gradle@50e97c2cd7a37755bbfafc9c5b7cafaece252f6e # v6 + uses: gradle/actions/setup-gradle@3f131e8634966bd73d06cc69884922b02e6faf92 # v6 - name: Call setup run: ./gradlew dependencies - name: Dependency Check diff --git a/CHANGELOG.md b/CHANGELOG.md index d46428627b..b82e217167 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,15 @@ All notable changes to this project are documented in this file. Format of the log is _loosely_ based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). The project does _not_ follow Semantic Versioning and the changes are documented in reverse chronological order, grouped by calendar month. +## June 2026 + +### Added + +- Variability: For the filtering of 150% models, a new API for `IRenamer` is provided. It allows renaming all clones of an instantiated element in one step. The old API which allows renaming only one-by-one is still available - this is not a breaking change. +- Variability: Introduced extension point `configCombinationLogicExtPoint` (interface `IConfigCombinationLogic`) to make the logic of combining configurations (via `extends`, `abstract` and referenced sub-configurations) configurable per application. +- Variability: Configuration checking for referenced abstract sub-configurations now respects the active combination logic, and configuration hashing was extended to cover a configuration together with all configurations reachable from it. + + ## May 2026 ### Fixed diff --git a/code/languages/org.iets3.opensource/languages/org.iets3.variability.artifacts.base/models/org.iets3.variability.artifacts.base.constraints.mps b/code/languages/org.iets3.opensource/languages/org.iets3.variability.artifacts.base/models/org.iets3.variability.artifacts.base.constraints.mps index 17f4308237..4d8a491eef 100644 --- a/code/languages/org.iets3.opensource/languages/org.iets3.variability.artifacts.base/models/org.iets3.variability.artifacts.base.constraints.mps +++ b/code/languages/org.iets3.opensource/languages/org.iets3.variability.artifacts.base/models/org.iets3.variability.artifacts.base.constraints.mps @@ -639,25 +639,5 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/code/languages/org.iets3.opensource/languages/org.iets3.variability.artifacts.base/models/org.iets3.variability.artifacts.base.migration.mps b/code/languages/org.iets3.opensource/languages/org.iets3.variability.artifacts.base/models/org.iets3.variability.artifacts.base.migration.mps index 6ed14d4925..1609c48515 100644 --- a/code/languages/org.iets3.opensource/languages/org.iets3.variability.artifacts.base/models/org.iets3.variability.artifacts.base.migration.mps +++ b/code/languages/org.iets3.opensource/languages/org.iets3.variability.artifacts.base/models/org.iets3.variability.artifacts.base.migration.mps @@ -3,7 +3,6 @@ - diff --git a/code/languages/org.iets3.opensource/languages/org.iets3.variability.artifacts.base/models/org.iets3.variability.artifacts.base.plugin.mps b/code/languages/org.iets3.opensource/languages/org.iets3.variability.artifacts.base/models/org.iets3.variability.artifacts.base.plugin.mps index 1578db0688..71ed30031a 100644 --- a/code/languages/org.iets3.opensource/languages/org.iets3.variability.artifacts.base/models/org.iets3.variability.artifacts.base.plugin.mps +++ b/code/languages/org.iets3.opensource/languages/org.iets3.variability.artifacts.base/models/org.iets3.variability.artifacts.base.plugin.mps @@ -15,6 +15,7 @@ + @@ -62,9 +63,9 @@ - - - + + + @@ -108,6 +109,10 @@ + + + + @@ -119,6 +124,9 @@ + + + @@ -184,7 +192,11 @@ + + + + @@ -329,6 +341,9 @@ + + + @@ -364,6 +379,7 @@ + @@ -541,6 +557,7 @@ + @@ -630,9 +647,6 @@ - - - @@ -12596,7 +12610,32 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -12636,16 +12675,77 @@ - - - - - - + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -12661,6 +12761,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + @@ -12725,6 +12849,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -12832,26 +12991,6 @@ - - - - - - - - - - - - - - - - - - - - @@ -12894,48 +13033,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -13064,28 +13161,6 @@ - - - - - - - - - - - - - - - - - - - - - - @@ -15292,6 +15367,21 @@ + + + + + + + + + + + + + + + @@ -15318,11 +15408,69 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -15355,11 +15503,16 @@ - - - + + + + + + + + - + @@ -15413,6 +15566,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -15622,6 +15834,13 @@ + + + + + + + @@ -17180,5 +17399,373 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/languages/org.iets3.opensource/languages/org.iets3.variability.artifacts.base/org.iets3.variability.artifacts.base.mpl b/code/languages/org.iets3.opensource/languages/org.iets3.variability.artifacts.base/org.iets3.variability.artifacts.base.mpl index 16c3372389..82d63ae1e5 100644 --- a/code/languages/org.iets3.opensource/languages/org.iets3.variability.artifacts.base/org.iets3.variability.artifacts.base.mpl +++ b/code/languages/org.iets3.opensource/languages/org.iets3.variability.artifacts.base/org.iets3.variability.artifacts.base.mpl @@ -77,7 +77,6 @@ - diff --git a/code/languages/org.iets3.opensource/languages/org.iets3.variability.base/models/org.iets3.variability.base.plugin.mps b/code/languages/org.iets3.opensource/languages/org.iets3.variability.base/models/org.iets3.variability.base.plugin.mps index debd8e15e0..fe2a86810c 100644 --- a/code/languages/org.iets3.opensource/languages/org.iets3.variability.base/models/org.iets3.variability.base.plugin.mps +++ b/code/languages/org.iets3.opensource/languages/org.iets3.variability.base/models/org.iets3.variability.base.plugin.mps @@ -23,13 +23,11 @@ + - - - @@ -78,7 +76,9 @@ + + @@ -87,6 +87,15 @@ + + + + + + + + + @@ -109,17 +118,14 @@ + - - - - @@ -130,6 +136,7 @@ + @@ -142,6 +149,7 @@ + @@ -151,6 +159,11 @@ + + + + + @@ -165,6 +178,7 @@ + @@ -187,12 +201,14 @@ + + @@ -272,7 +288,6 @@ - @@ -378,81 +393,30 @@ - - - - - - - + + + + - - - + + + + + - + - - - - - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -974,6 +938,9 @@ + + + @@ -1278,5 +1245,331 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/languages/org.iets3.opensource/languages/org.iets3.variability.configuration.base/models/org.iets3.variability.configuration.base.behavior.mps b/code/languages/org.iets3.opensource/languages/org.iets3.variability.configuration.base/models/org.iets3.variability.configuration.base.behavior.mps index 913a958308..a5df5dcfc8 100644 --- a/code/languages/org.iets3.opensource/languages/org.iets3.variability.configuration.base/models/org.iets3.variability.configuration.base.behavior.mps +++ b/code/languages/org.iets3.opensource/languages/org.iets3.variability.configuration.base/models/org.iets3.variability.configuration.base.behavior.mps @@ -6878,11 +6878,16 @@ - - - - - + + + + + + + + + + @@ -6892,11 +6897,16 @@ - - - - - + + + + + + + + + + @@ -22730,333 +22740,81 @@ - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - - - - - - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - + + - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - + + - - + + + @@ -27108,5 +26866,868 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/languages/org.iets3.opensource/languages/org.iets3.variability.configuration.base/models/org.iets3.variability.configuration.base.plugin.mps b/code/languages/org.iets3.opensource/languages/org.iets3.variability.configuration.base/models/org.iets3.variability.configuration.base.plugin.mps index 9f2b5e1365..529f146d28 100644 --- a/code/languages/org.iets3.opensource/languages/org.iets3.variability.configuration.base/models/org.iets3.variability.configuration.base.plugin.mps +++ b/code/languages/org.iets3.opensource/languages/org.iets3.variability.configuration.base/models/org.iets3.variability.configuration.base.plugin.mps @@ -54,6 +54,7 @@ + @@ -258,7 +259,9 @@ - + + + @@ -9778,12 +9781,17 @@ - - - - - - + + + + + + + + + + + @@ -11808,25 +11816,15 @@ - + - + - - - - - - - - - - @@ -11934,20 +11932,6 @@ - - - - - - - - - - - - - - @@ -11956,9 +11940,12 @@ + + + - + @@ -12050,111 +12037,50 @@ - - - - - - - - - - - - - - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + - - - - - - - + + + + + + - - - - - - - + + + + + + + + + + @@ -12166,10 +12092,13 @@ + + + - + @@ -12202,5 +12131,148 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/languages/org.iets3.opensource/languages/org.iets3.variability.configuration.base/models/org.iets3.variability.configuration.base.typesystem.mps b/code/languages/org.iets3.opensource/languages/org.iets3.variability.configuration.base/models/org.iets3.variability.configuration.base.typesystem.mps index eaee346fc2..367757c07d 100644 --- a/code/languages/org.iets3.opensource/languages/org.iets3.variability.configuration.base/models/org.iets3.variability.configuration.base.typesystem.mps +++ b/code/languages/org.iets3.opensource/languages/org.iets3.variability.configuration.base/models/org.iets3.variability.configuration.base.typesystem.mps @@ -2509,136 +2509,152 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + + - - - - + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - + + + + - - - - - - - - - - - - - - - - - + + + + + + - - + + + + + + + + + + + + - - + + + + + + + + + + + + - - - - - - - - - - + + + + - - - - - + + + + + + + + + + diff --git a/code/languages/org.iets3.opensource/languages/org.iets3.variability.featuremodel.base/models/org.iets3.variability.featuremodel.base.plugin.mps b/code/languages/org.iets3.opensource/languages/org.iets3.variability.featuremodel.base/models/org.iets3.variability.featuremodel.base.plugin.mps index c13a538b11..3d33954e24 100644 --- a/code/languages/org.iets3.opensource/languages/org.iets3.variability.featuremodel.base/models/org.iets3.variability.featuremodel.base.plugin.mps +++ b/code/languages/org.iets3.opensource/languages/org.iets3.variability.featuremodel.base/models/org.iets3.variability.featuremodel.base.plugin.mps @@ -41,6 +41,7 @@ + @@ -76,10 +77,15 @@ + + + + + @@ -133,6 +139,7 @@ + @@ -297,6 +304,9 @@ + + + @@ -6287,10 +6297,108 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6388,30 +6496,20 @@ + + + + + + - - - - - - - - - - - - - - - - diff --git a/code/languages/org.iets3.opensource/tests/test.org.iets3.variability.configuration.base.ext/models/test.org.iets3.variability.configuration.base.ext.plugin.mps b/code/languages/org.iets3.opensource/tests/test.org.iets3.variability.configuration.base.ext/models/test.org.iets3.variability.configuration.base.ext.plugin.mps index 28b6852057..3038bd59a1 100644 --- a/code/languages/org.iets3.opensource/tests/test.org.iets3.variability.configuration.base.ext/models/test.org.iets3.variability.configuration.base.ext.plugin.mps +++ b/code/languages/org.iets3.opensource/tests/test.org.iets3.variability.configuration.base.ext/models/test.org.iets3.variability.configuration.base.ext.plugin.mps @@ -22,6 +22,7 @@ + @@ -61,13 +62,15 @@ - + + + + - @@ -102,9 +105,6 @@ - - - @@ -112,7 +112,6 @@ - @@ -151,14 +150,10 @@ - - - - @@ -256,43 +251,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -300,53 +258,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -354,16 +265,6 @@ - - - - - - - - - - @@ -374,6 +275,12 @@ + + + + + + @@ -382,14 +289,10 @@ - - - - - - - - + + + + @@ -769,22 +672,6 @@ - - - - - - - - - - - - - - - - @@ -802,6 +689,9 @@ + + + diff --git a/code/languages/org.iets3.opensource/tests/test.org.iets3.variability.configuration.base/models/test.org.iets3.variability.configuration.base.enrichedNames@tests.mps b/code/languages/org.iets3.opensource/tests/test.org.iets3.variability.configuration.base/models/test.org.iets3.variability.configuration.base.enrichedNames@tests.mps index 7ef204300d..00d7b2e456 100644 --- a/code/languages/org.iets3.opensource/tests/test.org.iets3.variability.configuration.base/models/test.org.iets3.variability.configuration.base.enrichedNames@tests.mps +++ b/code/languages/org.iets3.opensource/tests/test.org.iets3.variability.configuration.base/models/test.org.iets3.variability.configuration.base.enrichedNames@tests.mps @@ -27,6 +27,7 @@ + @@ -339,7 +340,7 @@ - + @@ -1075,7 +1076,7 @@ - + @@ -1265,8 +1266,8 @@ - - + + @@ -1275,7 +1276,7 @@ - + @@ -1780,7 +1781,7 @@ - + diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index e3613113d0..7f927cd2b3 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,6 +1,6 @@ [versions] mpsVersion = "2025.1.2" -mpsQaVersion = "2025.1.1404.1a29b59" +mpsQaVersion = "2025.1.1431.aeb2075" # if you want to build against a specific mbeddr branch, prepend it here with a dot. # NOTE: instances of '/' in the branch name need to be replaced by '-' # example: mbeddrVersion="feature-my_new_feature.2023.2.+" @@ -10,7 +10,7 @@ jbr = "21.0.6-b895.109" [libraries] mps = { group = "com.jetbrains", name = "mps", version.ref = "mpsVersion" } -remigrate = { group = "de.itemis.mps.build-backends", name = "remigrate", version = "1.0.1.180.8e0fd7e" } +remigrate = { group = "de.itemis.mps.build-backends", name = "remigrate", version = "1.0.1.185.53c5432" } mpsQaAllInOne = { group = "org.mpsqa", name = "all-in-one", version.ref = "mpsQaVersion" } mbeddrPlatform = { group = "com.mbeddr", name = "platform", version.ref = "mbeddrVersion" } antJunit = { group = "org.apache.ant", name = "ant-junit", version = "1.10.17" } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index e74c8700b2..11cae1e003 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-9.5.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.6.0-all.zip networkTimeout=10000 retries=0 retryBackOffMs=500 diff --git a/gradlew b/gradlew index b9bb139f79..249efbb032 100755 --- a/gradlew +++ b/gradlew @@ -20,7 +20,7 @@ ############################################################################## # -# Gradle start up script for POSIX generated by Gradle. +# gradlew start up script for POSIX generated by Gradle. # # Important for running: # @@ -29,7 +29,7 @@ # bash, then to run this script, type that shell name before the whole # command line, like: # -# ksh Gradle +# ksh gradlew # # Busybox and similar reduced shells will NOT work, because this script # requires all of these POSIX shell features: diff --git a/gradlew.bat b/gradlew.bat index aa5f10b069..8508ef684d 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -19,7 +19,7 @@ @if "%DEBUG%"=="" @echo off @rem ########################################################################## @rem -@rem Gradle startup script for Windows +@rem gradlew startup script for Windows @rem @rem ########################################################################## @@ -72,7 +72,7 @@ echo location of your Java installation. 1>&2 -@rem Execute Gradle +@rem Execute gradlew @rem endlocal doesn't take effect until after the line is parsed and variables are expanded @rem which allows us to clear the local environment before executing the java command endlocal & "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* & call :exitWithErrorLevel