From 3152f192678031296ed4ef9bcbd2c93dc81d5aba Mon Sep 17 00:00:00 2001 From: bitterpanda Date: Tue, 28 Apr 2026 14:59:37 +0200 Subject: [PATCH 1/8] test with JDK 24 and update readme to remove latest tested ver entry --- .github/workflows/end2end.yml | 2 +- .github/workflows/gradle-tests.yml | 2 +- README.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/end2end.yml b/.github/workflows/end2end.yml index 4db556d9..193ea5d3 100644 --- a/.github/workflows/end2end.yml +++ b/.github/workflows/end2end.yml @@ -49,7 +49,7 @@ jobs: - { name: JavalinMySQLKotlin, test_file: end2end/javalin_mysql_kotlin.py } - { name: SpringBoot2.7Postgres, test_file: end2end/spring_boot_2.7_postgres.py } - { name: SpringBootHyperSQL, test_file: end2end/spring_boot_hypersql.py } - java-version: [17, 18, 19, 20, 21] + java-version: [17, 18, 19, 20, 21, 24] distribution: ['adopt', 'corretto', 'oracle'] steps: - name: Download build artifacts diff --git a/.github/workflows/gradle-tests.yml b/.github/workflows/gradle-tests.yml index bd90c398..02bfb80f 100644 --- a/.github/workflows/gradle-tests.yml +++ b/.github/workflows/gradle-tests.yml @@ -41,7 +41,7 @@ jobs: continue-on-error: true strategy: matrix: - java-version: [17, 18, 19, 20, 21] + java-version: [17, 18, 19, 20, 21, 24] distribution: ['adopt', 'corretto', 'oracle'] steps: diff --git a/README.md b/README.md index 2dd4b9fb..97f92037 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ Zen is an embedded Web Application Firewall that autonomously protects your Java Zen protects your Java apps by preventing user input containing dangerous strings, which allow SQL injections. It runs on the same server as your Java app for easy installation and zero maintenance. -Zen for Java currently supports onwards of Java 17. The latest tested version is Java 21. We offer support for Java, Kotlin and Groovy. +Zen for Java currently supports onwards of Java 17. We offer support for Java, Kotlin and Groovy. ## Features From 2883d169521ddbc4f91fda5211e6f7c45256c8f1 Mon Sep 17 00:00:00 2001 From: bitterpanda Date: Tue, 28 Apr 2026 15:15:04 +0200 Subject: [PATCH 2/8] Update gradle version --- gradle/wrapper/gradle-wrapper.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index f506a949..b5c23cae 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Thu Oct 10 12:48:48 CEST 2024 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists From d71b6907b1fb0f71e2c3d58dfb3f736df26329b4 Mon Sep 17 00:00:00 2001 From: bitterpanda Date: Tue, 28 Apr 2026 15:24:10 +0200 Subject: [PATCH 3/8] Update gradle to 8.14 --- gradle/wrapper/gradle-wrapper.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index b5c23cae..679a2597 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Thu Oct 10 12:48:48 CEST 2024 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists From d4a368c946ab5061ed5ff352b30259eed2119ef8 Mon Sep 17 00:00:00 2001 From: bitterpanda Date: Tue, 28 Apr 2026 17:10:21 +0200 Subject: [PATCH 4/8] Add gradle 8.14 --- agent/build.gradle | 2 +- .../JavaRestletMySQL/gradle/wrapper/gradle-wrapper.properties | 2 +- .../JavalinPostgres/gradle/wrapper/gradle-wrapper.properties | 2 +- .../KtorPostgresNetty/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../SpringBootHyperSQL/gradle/wrapper/gradle-wrapper.properties | 2 +- .../SpringBootMSSQL/gradle/wrapper/gradle-wrapper.properties | 2 +- .../SpringBootMongo/gradle/wrapper/gradle-wrapper.properties | 2 +- .../SpringBootMySQL/gradle/wrapper/gradle-wrapper.properties | 2 +- .../SpringBootPostgres/gradle/wrapper/gradle-wrapper.properties | 2 +- .../SpringBootSQLite/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/agent/build.gradle b/agent/build.gradle index d6656bf9..9b419a09 100644 --- a/agent/build.gradle +++ b/agent/build.gradle @@ -5,7 +5,7 @@ plugins { dependencies { implementation project(':agent_api') - implementation 'net.bytebuddy:byte-buddy:1.15.11' + implementation 'net.bytebuddy:byte-buddy:1.18.8' // Compile only for interface types : compileOnly 'jakarta.servlet:jakarta.servlet-api:6.1.0' // spring 3 -> jakarta compileOnly 'javax.servlet:javax.servlet-api:4.0.1' // spring 2 -> javax diff --git a/sample-apps/JavaRestletMySQL/gradle/wrapper/gradle-wrapper.properties b/sample-apps/JavaRestletMySQL/gradle/wrapper/gradle-wrapper.properties index 0aaefbca..ca025c83 100644 --- a/sample-apps/JavaRestletMySQL/gradle/wrapper/gradle-wrapper.properties +++ b/sample-apps/JavaRestletMySQL/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/sample-apps/JavalinPostgres/gradle/wrapper/gradle-wrapper.properties b/sample-apps/JavalinPostgres/gradle/wrapper/gradle-wrapper.properties index d5f66f8e..55d53fd6 100644 --- a/sample-apps/JavalinPostgres/gradle/wrapper/gradle-wrapper.properties +++ b/sample-apps/JavalinPostgres/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Tue Dec 17 13:31:53 CET 2024 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.10-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/sample-apps/KtorPostgresNetty/gradle/wrapper/gradle-wrapper.properties b/sample-apps/KtorPostgresNetty/gradle/wrapper/gradle-wrapper.properties index e411586a..5c82cb03 100644 --- a/sample-apps/KtorPostgresNetty/gradle/wrapper/gradle-wrapper.properties +++ b/sample-apps/KtorPostgresNetty/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/sample-apps/SpringBoot2.7Postgres/gradle/wrapper/gradle-wrapper.properties b/sample-apps/SpringBoot2.7Postgres/gradle/wrapper/gradle-wrapper.properties index 0aaefbca..ca025c83 100644 --- a/sample-apps/SpringBoot2.7Postgres/gradle/wrapper/gradle-wrapper.properties +++ b/sample-apps/SpringBoot2.7Postgres/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/sample-apps/SpringBootHyperSQL/gradle/wrapper/gradle-wrapper.properties b/sample-apps/SpringBootHyperSQL/gradle/wrapper/gradle-wrapper.properties index 0aaefbca..ca025c83 100644 --- a/sample-apps/SpringBootHyperSQL/gradle/wrapper/gradle-wrapper.properties +++ b/sample-apps/SpringBootHyperSQL/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/sample-apps/SpringBootMSSQL/gradle/wrapper/gradle-wrapper.properties b/sample-apps/SpringBootMSSQL/gradle/wrapper/gradle-wrapper.properties index 0aaefbca..ca025c83 100644 --- a/sample-apps/SpringBootMSSQL/gradle/wrapper/gradle-wrapper.properties +++ b/sample-apps/SpringBootMSSQL/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/sample-apps/SpringBootMongo/gradle/wrapper/gradle-wrapper.properties b/sample-apps/SpringBootMongo/gradle/wrapper/gradle-wrapper.properties index 0aaefbca..ca025c83 100644 --- a/sample-apps/SpringBootMongo/gradle/wrapper/gradle-wrapper.properties +++ b/sample-apps/SpringBootMongo/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/sample-apps/SpringBootMySQL/gradle/wrapper/gradle-wrapper.properties b/sample-apps/SpringBootMySQL/gradle/wrapper/gradle-wrapper.properties index 0aaefbca..ca025c83 100644 --- a/sample-apps/SpringBootMySQL/gradle/wrapper/gradle-wrapper.properties +++ b/sample-apps/SpringBootMySQL/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/sample-apps/SpringBootPostgres/gradle/wrapper/gradle-wrapper.properties b/sample-apps/SpringBootPostgres/gradle/wrapper/gradle-wrapper.properties index 0aaefbca..ca025c83 100644 --- a/sample-apps/SpringBootPostgres/gradle/wrapper/gradle-wrapper.properties +++ b/sample-apps/SpringBootPostgres/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/sample-apps/SpringBootSQLite/gradle/wrapper/gradle-wrapper.properties b/sample-apps/SpringBootSQLite/gradle/wrapper/gradle-wrapper.properties index 0aaefbca..ca025c83 100644 --- a/sample-apps/SpringBootSQLite/gradle/wrapper/gradle-wrapper.properties +++ b/sample-apps/SpringBootSQLite/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/sample-apps/SpringMVCPostgresGroovy/gradle/wrapper/gradle-wrapper.properties b/sample-apps/SpringMVCPostgresGroovy/gradle/wrapper/gradle-wrapper.properties index e2847c82..ca025c83 100644 --- a/sample-apps/SpringMVCPostgresGroovy/gradle/wrapper/gradle-wrapper.properties +++ b/sample-apps/SpringMVCPostgresGroovy/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/sample-apps/SpringMVCPostgresKotlin/gradle/wrapper/gradle-wrapper.properties b/sample-apps/SpringMVCPostgresKotlin/gradle/wrapper/gradle-wrapper.properties index e2847c82..ca025c83 100644 --- a/sample-apps/SpringMVCPostgresKotlin/gradle/wrapper/gradle-wrapper.properties +++ b/sample-apps/SpringMVCPostgresKotlin/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/sample-apps/SpringWebfluxSampleApp/gradle/wrapper/gradle-wrapper.properties b/sample-apps/SpringWebfluxSampleApp/gradle/wrapper/gradle-wrapper.properties index e2847c82..ca025c83 100644 --- a/sample-apps/SpringWebfluxSampleApp/gradle/wrapper/gradle-wrapper.properties +++ b/sample-apps/SpringWebfluxSampleApp/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME From a7570eb54d4f2ace9bbdb79125825001f09d1484 Mon Sep 17 00:00:00 2001 From: bitterpanda Date: Tue, 28 Apr 2026 18:15:51 +0200 Subject: [PATCH 5/8] Add jvm 21 ver for kotlin --- sample-apps/KtorPostgresNetty/build.gradle.kts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sample-apps/KtorPostgresNetty/build.gradle.kts b/sample-apps/KtorPostgresNetty/build.gradle.kts index cd302ca1..1fb4fb97 100644 --- a/sample-apps/KtorPostgresNetty/build.gradle.kts +++ b/sample-apps/KtorPostgresNetty/build.gradle.kts @@ -12,6 +12,10 @@ application { mainClass.set("com.example.ApplicationKt") } +kotlin { + jvmToolchain(21) +} + repositories { mavenCentral() } From b81bc22c8c718383fa2b9c1a168793efc06d6d0d Mon Sep 17 00:00:00 2001 From: bitterpanda Date: Tue, 28 Apr 2026 19:11:55 +0200 Subject: [PATCH 6/8] Also fix springmvcpostgreskotlin e2e app for jdk 24 --- sample-apps/SpringMVCPostgresKotlin/build.gradle | 1 + 1 file changed, 1 insertion(+) diff --git a/sample-apps/SpringMVCPostgresKotlin/build.gradle b/sample-apps/SpringMVCPostgresKotlin/build.gradle index d654af24..a6e3419b 100644 --- a/sample-apps/SpringMVCPostgresKotlin/build.gradle +++ b/sample-apps/SpringMVCPostgresKotlin/build.gradle @@ -10,6 +10,7 @@ group = 'com.example' version = '0.0.1-SNAPSHOT' kotlin { + jvmToolchain(21) compilerOptions { freeCompilerArgs.addAll '-Xjsr305=strict' } From f2f979438eb50614c6183570a74fb8bd03c78d46 Mon Sep 17 00:00:00 2001 From: bitterpanda Date: Tue, 28 Apr 2026 19:33:21 +0200 Subject: [PATCH 7/8] add jvm toolchain 17 for kotlin apps --- sample-apps/KtorPostgresNetty/build.gradle.kts | 2 +- sample-apps/SpringMVCPostgresKotlin/build.gradle | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sample-apps/KtorPostgresNetty/build.gradle.kts b/sample-apps/KtorPostgresNetty/build.gradle.kts index 1fb4fb97..8844ef4c 100644 --- a/sample-apps/KtorPostgresNetty/build.gradle.kts +++ b/sample-apps/KtorPostgresNetty/build.gradle.kts @@ -13,7 +13,7 @@ application { } kotlin { - jvmToolchain(21) + jvmToolchain(17) } repositories { diff --git a/sample-apps/SpringMVCPostgresKotlin/build.gradle b/sample-apps/SpringMVCPostgresKotlin/build.gradle index a6e3419b..b322c260 100644 --- a/sample-apps/SpringMVCPostgresKotlin/build.gradle +++ b/sample-apps/SpringMVCPostgresKotlin/build.gradle @@ -10,7 +10,7 @@ group = 'com.example' version = '0.0.1-SNAPSHOT' kotlin { - jvmToolchain(21) + jvmToolchain(17) compilerOptions { freeCompilerArgs.addAll '-Xjsr305=strict' } From 77acd870d5a4075a6f6de2650a7261b6d2f64a23 Mon Sep 17 00:00:00 2001 From: bitterpanda Date: Wed, 29 Apr 2026 11:50:03 +0200 Subject: [PATCH 8/8] Apply suggestion from @bitterpanda63 --- agent/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agent/build.gradle b/agent/build.gradle index 9b419a09..d6656bf9 100644 --- a/agent/build.gradle +++ b/agent/build.gradle @@ -5,7 +5,7 @@ plugins { dependencies { implementation project(':agent_api') - implementation 'net.bytebuddy:byte-buddy:1.18.8' + implementation 'net.bytebuddy:byte-buddy:1.15.11' // Compile only for interface types : compileOnly 'jakarta.servlet:jakarta.servlet-api:6.1.0' // spring 3 -> jakarta compileOnly 'javax.servlet:javax.servlet-api:4.0.1' // spring 2 -> javax