diff --git a/build.gradle b/build.gradle index d83bfdc8c..1b494c88d 100644 --- a/build.gradle +++ b/build.gradle @@ -17,7 +17,7 @@ subprojects { all { resolutionStrategy { // Forcing the latest commons-lang3 version to eliminate CVEs. - force "org.apache.commons:commons-lang3:3.19.0" + force "org.apache.commons:commons-lang3:3.20.0" } } } diff --git a/examples/build.gradle b/examples/build.gradle index 3e123799c..dc1b98764 100644 --- a/examples/build.gradle +++ b/examples/build.gradle @@ -1,10 +1,6 @@ -/* - * Copyright (c) 2010-2025 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved. - */ - dependencies { implementation project(':marklogic-client-api') - implementation "jakarta.xml.bind:jakarta.xml.bind-api:4.0.4" + implementation "jakarta.xml.bind:jakarta.xml.bind-api:4.0.5" // The 'api' configuration is used so that the test configuration in marklogic-client-api doesn't have to declare // all of these dependencies. This library project won't otherwise be depended on by anything else as it's not @@ -23,5 +19,5 @@ dependencies { // passes without this on the classpath. exclude module: "commons-beanutils" } - api 'org.apache.commons:commons-lang3:3.19.0' + api 'org.apache.commons:commons-lang3:3.20.0' } diff --git a/gradle.properties b/gradle.properties index d109496b4..ccc8edbe0 100644 --- a/gradle.properties +++ b/gradle.properties @@ -5,9 +5,10 @@ publishUrl=file:../marklogic-java/releases okhttpVersion=5.3.2 # See https://github.com/FasterXML/jackson for more information on the Jackson libraries. -jacksonVersion=2.20.1 +jacksonVersion=2.21.1 -junitVersion=6.0.1 +junitVersion=6.0.3 +logbackVersion=1.5.32 # Defined at this level so that they can be set as system properties and used by the marklogic-client-api and test-app # project diff --git a/marklogic-client-api-functionaltests/build.gradle b/marklogic-client-api-functionaltests/build.gradle index 2dcda2303..6de118eae 100755 --- a/marklogic-client-api-functionaltests/build.gradle +++ b/marklogic-client-api-functionaltests/build.gradle @@ -4,7 +4,7 @@ dependencies { testImplementation project(':marklogic-client-api') - testImplementation "jakarta.xml.bind:jakarta.xml.bind-api:4.0.4" + testImplementation "jakarta.xml.bind:jakarta.xml.bind-api:4.0.5" testImplementation 'org.skyscreamer:jsonassert:1.5.3' testImplementation 'org.slf4j:slf4j-api:2.0.17' testImplementation 'commons-io:commons-io:2.21.0' @@ -17,7 +17,7 @@ dependencies { testImplementation "com.marklogic:ml-app-deployer:6.2-SNAPSHOT" - testImplementation 'ch.qos.logback:logback-classic:1.5.19' + testImplementation "ch.qos.logback:logback-classic:${logbackVersion}" testImplementation "org.junit.jupiter:junit-jupiter:${junitVersion}" testImplementation 'org.xmlunit:xmlunit-legacy:2.11.0' diff --git a/marklogic-client-api/build.gradle b/marklogic-client-api/build.gradle index b292e3c79..3b888233e 100644 --- a/marklogic-client-api/build.gradle +++ b/marklogic-client-api/build.gradle @@ -17,7 +17,7 @@ dependencies { // This is now an implementation dependency as opposed to an api dependency in 7.x and earlier. // The only time it appears in the public API is when a user uses JAXBHandle. // But in that scenario, the user would already be using JAXB in their application. - implementation "jakarta.xml.bind:jakarta.xml.bind-api:4.0.4" + implementation "jakarta.xml.bind:jakarta.xml.bind-api:4.0.5" implementation "org.glassfish.jaxb:jaxb-runtime:4.0.6" implementation "com.squareup.okhttp3:okhttp:${okhttpVersion}" @@ -40,14 +40,14 @@ dependencies { // Dependencies for hash generation. Can be safely omitted if not using the incremental write feature. But neither // has any transitive dependencies, and thus their impact on the dependency tree is minimal. implementation "io.github.erdtman:java-json-canonicalization:1.1" - implementation "net.openhft:zero-allocation-hashing:0.27ea1" + implementation "net.openhft:zero-allocation-hashing:2026.0" // Only used by extras (which some examples then depend on) compileOnly 'org.jdom:jdom2:2.0.6.1' compileOnly 'org.dom4j:dom4j:2.2.0' compileOnly 'com.google.code.gson:gson:2.13.2' - testImplementation "com.marklogic:marklogic-junit5:2.0-SNAPSHOT" + testImplementation "com.marklogic:marklogic-junit5:2.0.0" testImplementation 'org.xmlunit:xmlunit-legacy:2.11.0' testImplementation project(':examples') @@ -57,13 +57,13 @@ dependencies { // Allows talking to the Manage API. testImplementation "com.marklogic:ml-app-deployer:6.2-SNAPSHOT" - testImplementation "org.mockito:mockito-core:5.21.0" - testImplementation "org.mockito:mockito-inline:5.2.0" + testImplementation "org.mockito:mockito-core:5.22.0" +// testImplementation "org.mockito:mockito-inline:5.2.0" testImplementation "com.squareup.okhttp3:mockwebserver3:${okhttpVersion}" testImplementation "com.fasterxml.jackson.dataformat:jackson-dataformat-xml:${jacksonVersion}" - testImplementation 'ch.qos.logback:logback-classic:1.5.23' + testImplementation "ch.qos.logback:logback-classic:${logbackVersion}" // Using this to avoid a schema validation issue with the regular xercesImpl testImplementation 'org.opengis.cite.xerces:xercesImpl-xsd11:2.12-beta-r1667115' diff --git a/marklogic-client-api/src/main/java/com/marklogic/client/expression/VecExpr.java b/marklogic-client-api/src/main/java/com/marklogic/client/expression/VecExpr.java index 3942c4117..352de5209 100644 --- a/marklogic-client-api/src/main/java/com/marklogic/client/expression/VecExpr.java +++ b/marklogic-client-api/src/main/java/com/marklogic/client/expression/VecExpr.java @@ -151,7 +151,7 @@ public interface VecExpr { * Returns a new vector which is a copy of the input vector with reduced precision. The precision reduction is achieved by clearing the bottom (32 - precision) bits of the mantissa for each dimension's float value. This can be useful for reducing storage requirements or for creating approximate vector representations. * * - + *

* Provides a client interface to the vec:precision server function. * @param vector The input vector to reduce precision. Can be a vector or an empty sequence. (of vec:vector) @@ -207,7 +207,7 @@ public interface VecExpr { * Returns a new vector which is a copy of the input vector with each element truncated to a specific number of digits. * * - + *

* Provides a client interface to the vec:trunc server function. * @param vector The input vector to truncate. (of vec:vector) @@ -253,6 +253,8 @@ public interface VecExpr { * @param score The cts:score of the matching document. (of xs:unsignedInt) * @param distance The distance between the vector in the matching document and the query vector. Examples, the result of a call to ovec:cosine-distance() or ovec:euclidean-distance(). (of xs:double) * @return a server expression with the xs:unsignedLong server data type + * + * @since 8.1.0, requires MarkLogic 12.1 */ public ServerExpression vectorScore(ServerExpression score, double distance); /** @@ -262,6 +264,7 @@ public interface VecExpr { * @param score The cts:score of the matching document. (of xs:unsignedInt) * @param distance The distance between the vector in the matching document and the query vector. Examples, the result of a call to ovec:cosine-distance() or ovec:euclidean-distance(). (of xs:double) * @return a server expression with the xs:unsignedLong server data type + * @since 8.1.0, requires MarkLogic 12.1 */ public ServerExpression vectorScore(ServerExpression score, ServerExpression distance); /** diff --git a/marklogic-client-api/src/main/java/com/marklogic/client/type/PlanTransitiveClosureOptions.java b/marklogic-client-api/src/main/java/com/marklogic/client/type/PlanTransitiveClosureOptions.java index 3772571d9..67f1e0ccc 100644 --- a/marklogic-client-api/src/main/java/com/marklogic/client/type/PlanTransitiveClosureOptions.java +++ b/marklogic-client-api/src/main/java/com/marklogic/client/type/PlanTransitiveClosureOptions.java @@ -8,6 +8,8 @@ /** * Options for controlling transitive closure operations, including minimum and maximum * path lengths. + * + * @since 8.1.0 */ public interface PlanTransitiveClosureOptions { XsLongVal getMinLength(); diff --git a/ml-development-tools/build.gradle b/ml-development-tools/build.gradle index 37836848e..294969679 100644 --- a/ml-development-tools/build.gradle +++ b/ml-development-tools/build.gradle @@ -9,21 +9,21 @@ plugins { id 'maven-publish' id "com.gradle.plugin-publish" version "1.2.1" id "java-gradle-plugin" - id 'org.jetbrains.kotlin.jvm' version '2.1.0' + id 'org.jetbrains.kotlin.jvm' version '2.2.21' } dependencies { compileOnly gradleApi() // This is a runtime dependency of marklogic-client-api but is needed for compiling. - compileOnly "jakarta.xml.bind:jakarta.xml.bind-api:4.0.4" + compileOnly "jakarta.xml.bind:jakarta.xml.bind-api:4.0.5" // Gradle 9 does not like for a plugin to have a project dependency; trying to publish it results in a // NoSuchMethodError pertaining to getProjectDependency. So treating this as a 3rd party dependency. This creates // additional work during development, though we rarely modify the code in this plugin anymore. implementation "com.marklogic:marklogic-client-api:${version}" - implementation 'org.jetbrains.kotlin:kotlin-stdlib:2.2.20' + implementation 'org.jetbrains.kotlin:kotlin-stdlib:2.2.21' implementation "com.fasterxml.jackson.module:jackson-module-kotlin:${jacksonVersion}" // Sticking with this older version for now as the latest 1.x version introduces breaking changes. diff --git a/test-app/build.gradle b/test-app/build.gradle index a5a70c96e..7ed3929b8 100644 --- a/test-app/build.gradle +++ b/test-app/build.gradle @@ -31,10 +31,10 @@ mlWaitTillReady { } dependencies { - implementation "io.undertow:undertow-core:2.3.20.Final" - implementation "io.undertow:undertow-servlet:2.3.20.Final" + implementation "io.undertow:undertow-core:2.3.23.Final" + implementation "io.undertow:undertow-servlet:2.3.23.Final" implementation 'org.slf4j:slf4j-api:2.0.17' - implementation 'ch.qos.logback:logback-classic:1.5.23' + implementation "ch.qos.logback:logback-classic:${logbackVersion}" implementation "com.fasterxml.jackson.core:jackson-databind:${jacksonVersion}" implementation "com.squareup.okhttp3:okhttp:${okhttpVersion}" }