diff --git a/.idea/kotlinc.xml b/.idea/kotlinc.xml
index 1b633888..897af398 100644
--- a/.idea/kotlinc.xml
+++ b/.idea/kotlinc.xml
@@ -7,6 +7,6 @@
-
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
index c1ff9b3a..0fda890d 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -7,5 +7,5 @@
-
+
\ No newline at end of file
diff --git a/README.adoc b/README.adoc
index bd93c676..ac3ab9df 100644
--- a/README.adoc
+++ b/README.adoc
@@ -18,7 +18,7 @@ endif::[]
:pmtemplates: src/integrationTest/resources/pm-templates
:imagesdir: docs/images
:prewrap!:
-:revoman-version: 0.42.0
+:revoman-version: 0.42.2
'''
diff --git a/buildSrc/src/main/kotlin/Config.kt b/buildSrc/src/main/kotlin/Config.kt
index 4b495fd8..b2026791 100644
--- a/buildSrc/src/main/kotlin/Config.kt
+++ b/buildSrc/src/main/kotlin/Config.kt
@@ -6,6 +6,6 @@
* ************************************************************************************************
*/
const val GROUP_ID = "com.salesforce.revoman"
-const val VERSION = "0.42.1"
+const val VERSION = "0.42.2"
const val ARTIFACT_ID = "revoman"
const val STAGING_PROFILE_ID = "1ea0a23e61ba7d"
diff --git a/buildSrc/src/main/kotlin/revoman.kt-conventions.gradle.kts b/buildSrc/src/main/kotlin/revoman.kt-conventions.gradle.kts
index d23ebf87..965a081b 100644
--- a/buildSrc/src/main/kotlin/revoman.kt-conventions.gradle.kts
+++ b/buildSrc/src/main/kotlin/revoman.kt-conventions.gradle.kts
@@ -20,6 +20,6 @@ kapt {
kotlin {
compilerOptions {
- freeCompilerArgs.addAll("-Xjvm-default=all", "-Xcontext-receivers", "-Xjdk-release=${libs.jdk}")
+ freeCompilerArgs.addAll("-Xjvm-default=all", "-Xcontext-receivers", "-Xjdk-release=${libs.jdk}", "-Xconsistent-data-class-copy-visibility")
}
}
diff --git a/libs.versions.toml b/libs.versions.toml
index 8e8a1dc7..aa86b748 100644
--- a/libs.versions.toml
+++ b/libs.versions.toml
@@ -1,11 +1,11 @@
[versions]
jdk = "17"
-kotlin = "2.0.20"
-moshix = "0.28.0"
+kotlin = "2.1.0"
+moshix = "0.29.0"
http4k = "5.31.1.0"
immutables = "2.10.1"
arrow = "1.2.4"
-graal = "23.0.6" # 23.0.6 Compatible with Java 17
+graal = "24.1.1" # 23.0.6 Compatible with Java 17
java-vavr = "0.10.4"
kotlin-vavr = "0.10.2"
jetbrains-annotations = "26.0.0"
@@ -21,7 +21,7 @@ underscore = "1.105"
kotlin-faker = "1.16.0"
apache-commons-lang3 = "3.17.0"
mockito = "5.14.0"
-spring = "6.2.0" # 5.3.31 Compatable with Java 11
+spring = "6.2.0"
json-assert = "1.5.3"
nexus-publish = "2.0.0"
kotlinx-datetime = "0.6.1"
diff --git a/src/main/kotlin/com/salesforce/revoman/input/config/HookConfig.kt b/src/main/kotlin/com/salesforce/revoman/input/config/HookConfig.kt
index d5b1a2c6..26454a26 100644
--- a/src/main/kotlin/com/salesforce/revoman/input/config/HookConfig.kt
+++ b/src/main/kotlin/com/salesforce/revoman/input/config/HookConfig.kt
@@ -17,6 +17,7 @@ import com.salesforce.revoman.output.report.StepReport
import com.salesforce.revoman.output.report.TxnInfo
import org.http4k.core.Request
+@ExposedCopyVisibility
data class HookConfig private constructor(val pick: StepPick, val hook: Hook) {
sealed interface Hook {
fun interface PreHook : Hook {
diff --git a/src/main/kotlin/com/salesforce/revoman/input/config/RequestConfig.kt b/src/main/kotlin/com/salesforce/revoman/input/config/RequestConfig.kt
index f1e852fb..87c50d4d 100644
--- a/src/main/kotlin/com/salesforce/revoman/input/config/RequestConfig.kt
+++ b/src/main/kotlin/com/salesforce/revoman/input/config/RequestConfig.kt
@@ -15,7 +15,7 @@ import io.vavr.kotlin.right
import java.lang.reflect.Type
data class RequestConfig
-private constructor(
+internal constructor(
val preTxnStepPick: PreTxnStepPick,
val objType: Type,
val customTypeAdapter: Either, JsonAdapter.Factory>? = null
diff --git a/src/main/kotlin/com/salesforce/revoman/input/config/ResponseConfig.kt b/src/main/kotlin/com/salesforce/revoman/input/config/ResponseConfig.kt
index 5cc17ae4..318df312 100644
--- a/src/main/kotlin/com/salesforce/revoman/input/config/ResponseConfig.kt
+++ b/src/main/kotlin/com/salesforce/revoman/input/config/ResponseConfig.kt
@@ -15,7 +15,7 @@ import io.vavr.kotlin.right
import java.lang.reflect.Type
data class ResponseConfig
-private constructor(
+internal constructor(
val postTxnStepPick: PostTxnStepPick,
val ifSuccess: Boolean?,
val objType: Type,
diff --git a/src/main/kotlin/com/salesforce/revoman/internal/postman/PostmanSDK.kt b/src/main/kotlin/com/salesforce/revoman/internal/postman/PostmanSDK.kt
index d810dc83..eb5fc761 100644
--- a/src/main/kotlin/com/salesforce/revoman/internal/postman/PostmanSDK.kt
+++ b/src/main/kotlin/com/salesforce/revoman/internal/postman/PostmanSDK.kt
@@ -8,7 +8,6 @@
package com.salesforce.revoman.internal.postman
import com.github.underscore.U
-import com.salesforce.revoman.internal.postman.PostmanSDK.Xml2Json
import com.salesforce.revoman.internal.postman.template.Body
import com.salesforce.revoman.internal.postman.template.Event
import com.salesforce.revoman.internal.postman.template.Header
@@ -20,6 +19,7 @@ import org.graalvm.polyglot.Context
import org.graalvm.polyglot.HostAccess
import org.graalvm.polyglot.Source
import org.graalvm.polyglot.Value
+import org.graalvm.polyglot.io.IOAccess
import org.http4k.format.ConfigurableMoshi
/**
@@ -66,7 +66,7 @@ class PostmanSDK(
jsContext =
Context.newBuilder("js")
.allowExperimentalOptions(true)
- .allowIO(true)
+ .allowIO(IOAccess.ALL)
.options(options)
.allowHostAccess(HostAccess.ALL)
.allowHostClassLookup { true }
diff --git a/src/main/kotlin/com/salesforce/revoman/output/report/StepReport.kt b/src/main/kotlin/com/salesforce/revoman/output/report/StepReport.kt
index 034f43a9..efb1c0be 100644
--- a/src/main/kotlin/com/salesforce/revoman/output/report/StepReport.kt
+++ b/src/main/kotlin/com/salesforce/revoman/output/report/StepReport.kt
@@ -25,7 +25,7 @@ import org.http4k.core.Request
import org.http4k.core.Response
data class StepReport
-private constructor(
+internal constructor(
@JvmField val step: Step,
@JvmField val requestInfo: Either>? = null,
@JvmField val preHookFailure: PreHookFailure? = null,