BDD Fails in KSE 10.4.2 with UnsupportedClassVersionError (Jackson 2.18.x / Java 17) - would upgrading to v11 fix this error?

I have a paid Katalon Enterprise license and I’m running into a blocking issue migrating an existing BDD project from v8 to v10.

Cucumber execution fails with: UnsupportedClassVersionError (FastDoubleSwar)

This appears to be tied to Jackson 2.18.x running on Java 17. From what I understand, KSE 10.x is locked to Java 17, while Jackson 2.18.x requires Java 21, which is bundled with KSE 11.x.

Support indicated that upgrading to KSE 11 (Java 21 + Cucumber 7.x) is the official fix, and that there is no patch for 10.x to resolve this compatibility issue.

Can anyone confirm that upgrading to KSE 11 resolves this error in a BDD/Cucumber project? If you’ve encountered this and upgraded successfully, I’d appreciate your feedback before I proceed.

Note: I have attempted to migrate from v8 to v9 then v10. It seems both v9 and v10 have the same issue. I have also searched the forum to see if others had the same issue - it appears yes (see below), but no resolution was offered. I asked Katalon Support AI Assistant and it recommended upgrading to v11.
https://forum.katalon.com/t/katalon-v10-x-x-setup-for-bdd-implementation-getting-unsupportedclassversionerror-when-katalon-loads-jackson-core-class-file-version-65-0-on-java-17/175398

2 Likes

We will contact you for assistance soon. Thank you for your patience

since you are paid license user, katalon’s dedicated support team help you out

1 Like

Comprehensive Analysis

Problem Confirmation

Your analysis is 100% correct. The UnsupportedClassVersionError (FastDoubleSwar) you’re experiencing is a confirmed Java version incompatibility:

  • Root Cause: Jackson 2.18.x (bundled in KSE 10.x) was compiled for Java 21 (class file version 65.0), but KSE 10.x runs on Java 17 (which only recognizes up to class file version 61.0)
  • Why It Happens: Jackson 2.18.x includes multi-release JAR support with Java 21-specific optimizations that cannot run on Java 17
  • Why No Patch Exists: This is a fundamental architectural incompatibility—KSE 10.x cannot be patched to support Jackson 2.18.x without upgrading Java itself

This issue affects both KSE 9.x and 10.x because they share the same Java 17 constraint.


Official Solution: Upgrade to KSE 11.0.0

Yes, upgrading to KSE 11 definitively resolves this error. This is not a workaround—it’s the official, supported fix. Here’s why:

Core Framework Alignment

Component KSE 10.x KSE 11.x
Java 17 21 LTS :white_check_mark:
Cucumber 3.x 7.x :white_check_mark:
Selenium 4.22 4.39
Jackson 2.18.x (incompatible) Compatible :white_check_mark:

Key Release Notes (January 26, 2026):

  • :white_check_mark: “Upgrade to Java Eclipse Temurin 21 LTS”
  • :white_check_mark: “Upgraded Cucumber runtime to version 7”
  • :white_check_mark: “Large BDD projects experienced poor performance during the Loading BDD scripts step” — FIXED
  • :white_check_mark: “Added automatic rerun file generation for failed BDD scenarios”

Migration Path & Automated Support

KSE 11 includes automated migration tooling to ease the transition:

  1. Automated Migration Recipe: KSE 11 provides a built-in “Migrate from Studio 10.x to 11.x” recipe that automatically handles Cucumber 3 → Cucumber 7 migration
  2. Reduces Manual Work: The tool handles many common transformations automatically

However, you will need to make manual updates to your BDD projects for:

1. Step Definition Imports

Replace legacy imports:

// Before (10.x)
import cucumber.api.java.en.Given
import cucumber.api.java.en.When
import cucumber.api.java.en.Then

// After (11.x)
import io.cucumber.java.en.Given
import io.cucumber.java.en.When
import io.cucumber.java.en.Then

2. Regex-Based Step Definitions

Add explicit anchors (^ and $):

// Before (10.x)
@Given("user is on login page")
def userIsOnLoginPage() { ... }

// After (11.x)
@Given("^user is on login page$")
def userIsOnLoginPage() { ... }

3. Tag Expressions

Replace comma-separated tags with explicit operators:

// Before (10.x)
String[] tags = ["@tag1, @tag2"]

// After (11.x)
String[] tags = ["@tag1 or @tag2"]

Recommended Action Plan

  1. Backup your project (version control)
  2. Download KSE 11.0.0 from Katalon website
  3. Use the automated migration recipe in KSE 11 to migrate your project
  4. Manually update step definitions, imports, and tag expressions (see examples above)
  5. Test incrementally — run a subset of BDD tests first to validate the migration
  6. Verify Cucumber reports — note that background steps no longer appear in Cucumber HTML reports (Cucumber 7 behavior change)

Key Considerations

  • No Rollback Path: Once migrated to KSE 11, you cannot easily revert to KSE 10.x due to Cucumber 7 syntax changes
  • Breaking Changes: Cucumber 7 has several behavioral changes (e.g., background steps in reports, tag expression syntax)
  • Performance Improvement: KSE 11 fixes the “poor performance during Loading BDD scripts” issue that affected large BDD projects in 10.x
  • Java 21 LTS: Java 21 is a long-term support release, ensuring stability for future Katalon versions

Bottom Line: Yes, upgrading to KSE 11 definitively resolves this error. The Java 21 + Cucumber 7 combination eliminates the Jackson 2.18.x incompatibility. While there are manual migration steps required, the automated migration recipe significantly reduces the effort. This is the official, supported path forward.

1 Like

Hi @sedens

Regarding your concern, we recommend you help upgrade to KS 11 and follow the migration step that Monty suggested.

Also, we created a support ticket on behalf of you to keep track on the issue. If you still face any challenges when following the suggestion, please feel free to update us via the link below:

Sincerely,

Katalon Support Team.

1 Like