diff --git a/.github/workflows/build-ios.yml b/.github/workflows/build-ios.yml
index a2e7d602fd3df6f62bcba98b8ca5fcb5c30303b2..051957b597174da71230ef6fc98abd52149464a0 100644
--- a/.github/workflows/build-ios.yml
+++ b/.github/workflows/build-ios.yml
@@ -11,7 +11,7 @@ jobs:
       - uses: actions/setup-java@v3
         with:
           distribution: 'temurin'
-          java-version: '11'
+          java-version: '17'
       - name: Build klibs
         run: ./gradlew iosArm64MainKlibrary iosX64MainKlibrary
       - name: Build XCFrameworks
diff --git a/.github/workflows/publish-dry-run.yml b/.github/workflows/publish-dry-run.yml
index f242804c35a19ebee8feb0e290a9e7163e14481a..4010d670b00e88e975316560de801b852661379a 100644
--- a/.github/workflows/publish-dry-run.yml
+++ b/.github/workflows/publish-dry-run.yml
@@ -15,7 +15,7 @@ jobs:
       - uses: actions/setup-java@v3
         with:
           distribution: 'temurin'
-          java-version: '11'
+          java-version: '17'
       - name: Publish to Maven Local
         run: ./gradlew clean publishToMavenLocal
         env:
diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
index 3b4b262c78d3be5b10468363328ea8eec1bbb7d0..107446cbc8b89974f27dc207f828451793ea918c 100644
--- a/.github/workflows/publish.yml
+++ b/.github/workflows/publish.yml
@@ -15,7 +15,7 @@ jobs:
       - uses: actions/setup-java@v3
         with:
           distribution: 'temurin'
-          java-version: '11'
+          java-version: '17'
       - name: Publish to Sonatype
         run: ./gradlew clean publishToSonatype closeSonatypeStagingRepository
         env:
diff --git a/conventions-vclib/build.gradle.kts b/conventions-vclib/build.gradle.kts
index 7c9fe6f499544b48d97a70b2bc60d187c800161d..28e9997abfab424410439653ba61bc663ffbbac7 100644
--- a/conventions-vclib/build.gradle.kts
+++ b/conventions-vclib/build.gradle.kts
@@ -1,15 +1,12 @@
+import java.io.FileInputStream
+import java.util.*
+
 plugins {
     `kotlin-dsl`
     idea
 }
 group = "at.asitplus.gradle"
 
-idea {
-    project {
-        jdkName = "11" //TODO use from ASP conventions plugin?
-    }
-}
-
 dependencies {
     api("at.asitplus.gradle:conventions")
 }
@@ -19,15 +16,6 @@ repositories {
     mavenCentral()
     gradlePluginPortal()
 }
-kotlin {
-    jvmToolchain {
-        (this as JavaToolchainSpec).languageVersion.set(JavaLanguageVersion.of(11/*TODO share*/))
-    }
-    /*compilerOptions {
-        languageVersion.set(org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9)
-        apiVersion.set(org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9)
-    }*/
-}
 
 gradlePlugin {
     plugins.register("vclib-conventions") {
diff --git a/conventions-vclib/gradle-conventions-plugin b/conventions-vclib/gradle-conventions-plugin
index 547265c8d424c42109677da6de274e656c3ebb54..970ed0536535b44641dd0417e566d76dfa3387b0 160000
--- a/conventions-vclib/gradle-conventions-plugin
+++ b/conventions-vclib/gradle-conventions-plugin
@@ -1 +1 @@
-Subproject commit 547265c8d424c42109677da6de274e656c3ebb54
+Subproject commit 970ed0536535b44641dd0417e566d76dfa3387b0
diff --git a/vclib/src/commonTest/kotlin/at/asitplus/wallet/lib/data/CredentialSubjectTest.kt b/vclib/src/commonTest/kotlin/at/asitplus/wallet/lib/data/CredentialSubjectTest.kt
index bf25e275eb34f07fc285ebee4097e638168cfd15..92a581323b40666b11255681639b4f79fdf67bf4 100644
--- a/vclib/src/commonTest/kotlin/at/asitplus/wallet/lib/data/CredentialSubjectTest.kt
+++ b/vclib/src/commonTest/kotlin/at/asitplus/wallet/lib/data/CredentialSubjectTest.kt
@@ -4,7 +4,6 @@ import io.kotest.core.spec.style.FreeSpec
 import io.kotest.matchers.shouldBe
 import kotlinx.serialization.SerialName
 import kotlinx.serialization.Serializable
-import kotlinx.serialization.encodeToString
 import kotlinx.serialization.json.Json
 
 class CredentialSubjectTest : FreeSpec({