tag:github.com,2008:https://github.com/marklogic/java-client-api/releases Release notes from java-client-api 2025-01-06T19:45:34Z tag:github.com,2008:Repository/17642544/7.1.0 2025-01-22T18:37:23Z 7.1.0 <p>This minor release addresses the following items:</p> <ol> <li>Invoking custom code via <code>ServerEvaluationCall</code> now results in the multipart response from MarkLogic being read via a stream instead of the entire response being ready into memory. Note that when using an <code>EvalResultIterator</code>, you must call the <code>close()</code> method to ensure that the stream is properly closed.</li> <li>The <code>DatabaseClient</code> interface now extends <code>java.io.Closeable</code> so that it can be used in try-with-resources statements.</li> <li>The property <code>marklogic.client.connectionString</code> is now supported via <code>DatabaseClientFactory</code>.</li> <li><code>StructuredQueryBuilder</code> now has methods for true and false queries and for building operator states.</li> <li>MarkLogic 12 users can now use the <code>shortestPath</code> and <code>annTopK</code> methods in the Optic plan builder.</li> <li>MarkLogic 12 users can now use the <code>bm25</code>, <code>zero</code>, and <code>random</code> score methods in the Optic plan builder.</li> </ol> rjrudin tag:github.com,2008:Repository/17642544/7.0.0 2024-08-19T13:28:21Z 7.0.0 <p>This major release introduces one breaking change from the latest 6.x release - the client now depends on the <a href="https://eclipse-ee4j.github.io/jaxb-ri/" rel="nofollow">Jakarta XML Binding API</a> instead of the older <a href="https://docs.oracle.com/javase/tutorial/jaxb/intro/" rel="nofollow">JAXB API</a>. This change is reflected in any public classes in the client that previously depended on types in the <code>javax.xml.bind</code> namespace. Those classes now depend on types with the same name but in the <code>jakarta.xml.bind</code> namespace.</p> <p>This release is also tied to the early access release of MarkLogic Server version 12. The primary addition to this release that depends on MarkLogic 12 is a set of new APIs in the Optic <code>PlanBuilder</code> class. Please note that any change listed below that depends on MarkLogic 12 is subject to change in a future 7.x release to accommodate server changes before the general access release of MarkLogic 12.</p> <p>Full set of changes in this release:</p> <ul> <li>Now depends on the <code>jakarta.xml.bind</code> API instead of the <code>javax.xml.bind</code> API.</li> <li>Can now use BM25 as a scoring method when building an Optic plan (depends on MarkLogic 12).</li> <li>Can now use search options with the Optic <code>fromSearchDocs</code> accessor (depends on MarkLogic 12).</li> <li>Can now use new functions in the vector namespace when building an Optic plan (depends on MarkLogic 12).</li> <li>Fixed bug <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2438280749" data-permission-text="Title is private" data-url="https://github.com/marklogic/java-client-api/issues/1688" data-hovercard-type="issue" data-hovercard-url="/marklogic/java-client-api/issues/1688/hovercard" href="https://github.com/marklogic/java-client-api/issues/1688">#1688</a> that prevented reads on documents with non-US-ASCII characters in URIs.</li> <li>Bumped Jackson dependencies to 2.17.2.</li> <li>Removed deprecated classes.</li> </ul> rjrudin tag:github.com,2008:Repository/17642544/6.6.1 2024-06-14T14:30:59Z 6.6.1 <p>This patch release addresses the following items:</p> <ul> <li>A DMSDK <code>WriteBatcher</code> now supports writing a "naked" document - i.e. a URI with only a properties fragment. This is supported by the <code>v1/documents</code> endpoint and was mistakenly prohibited by <code>WriteBatcher</code>.</li> <li>DMSDK batchers have new info-level logging to capture when they are started and stopped to facilitate debugging, particularly around when a batcher is unexpectedly stopped.</li> <li>Adjusting the thread pool size on a <code>QueryBatcher</code> now works correctly on Java 11 and higher; previously, it only worked correctly on Java 8.</li> </ul> rjrudin tag:github.com,2008:Repository/17642544/6.6.0 2024-04-24T15:00:39Z 6.6.0 <p>This minor release coincides with the release of MarkLogic Server 11.2.0 and provides the following enhancements:</p> <ul> <li>Can now authenticate with a MarkLogic app server that requires OAuth authentication. Can either use the new <code>OAuthContext</code> class or the new <code>marklogic.client.oauth.token</code> property when constructing a <code>DatabaseClient</code> via properties.</li> <li>Can now patch one or more documents via an Optic plan using the new <code>patchBuilder</code> method available on <code>com.marklogic.client.expression.PlanBuilder</code>. Requires MarkLogic 11.2.0 or higher.</li> <li>Can now capture errors occuring during execution of an Optic plan via the new <code>onError</code> method. Requires MarkLogic 11.2.0 or higher.</li> <li>The <code>com.marklogic.client.document.GenericDocumentManager</code> interface now support temporal operations.</li> <li>DMSDK log messages pertaining to a queue being flushed are now at the <code>debug</code> and <code>trace</code> levels instead of <code>info</code>.</li> <li>Fixed <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2133824668" data-permission-text="Title is private" data-url="https://github.com/marklogic/java-client-api/issues/1637" data-hovercard-type="issue" data-hovercard-url="/marklogic/java-client-api/issues/1637/hovercard" href="https://github.com/marklogic/java-client-api/issues/1637">#1637</a> so that the DMSDK <code>awaitCompletion</code> method waits for the correct duration.</li> </ul> rjrudin tag:github.com,2008:Repository/17642544/6.5.0 2024-01-29T15:10:36Z 6.5.0 <p>This minor release addresses the following items:</p> <ul> <li>When constructing a <code>DatabaseClient</code> and configuring two-way SSL, a separate trust store can be configured via the new properties <code>marklogic.client.truststore.path</code>, <code>marklogic.client.truststore.password</code>, <code>marklogic.client.truststore.type</code>, and <code>marklogic.client.truststore.algorithm</code>. These can be passed in via the newClient(Function&lt;String, Object&gt; propertySource) method or programmatically set with new methods in DatabaseClientBuilder.</li> <li>The OkHttp dependency was bumped from 4.11.0 to 4.12.0.</li> <li>The Jackson dependency was bumped from 2.15.2 to 2.15.3.</li> </ul> rjrudin tag:github.com,2008:Repository/17642544/6.4.1 2023-11-30T17:21:35Z 6.4.1 <p>This patch release addresses the following items:</p> <ul> <li><code>DocumentManager.search</code> now works when <code>METADATAVALUES</code> has been set as a category on the <code>DocumentManager</code>.</li> <li>3 methods in <code>DocumentManager</code> that support searching/reading on a server timestamp have been exposed; they have long been working in the implementation class but were mistakenly never exposed in the interface.</li> </ul> rjrudin tag:github.com,2008:Repository/17642544/6.4.0 2023-11-14T22:49:51Z 6.4.0 <p>This minor release addresses the following items:</p> <ul> <li>Two-way SSL can now be configured via a new set of properties - <code>marklogic.client.ssl.keystore.path</code>, <code>marklogic.client.ssl.keystore.password</code>, <code>marklogic.client.ssl.keystore.type</code>, and <code>marklogic.client.ssl.keystore.algorithm</code>. These can be passed in via the <code>newClient(Function&lt;String, Object&gt; propertySource)</code> method or programmatically set with new methods in <code>DatabaseClientBuilder</code>.</li> <li>Support was added for new Optic methods in MarkLogic 11.1: <code>joinDocAndUri</code> is now supported; <code>cts.point</code> and <code>cts.polygon</code> now accept String arguments; and <code>op.geo.geohashSubhashes</code> can be called with a single column argument.</li> </ul> rjrudin tag:github.com,2008:Repository/17642544/6.3.0 2023-09-07T22:21:31Z 6.3.0 <p>This minor release addresses the following items:</p> <ul> <li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1713256515" data-permission-text="Title is private" data-url="https://github.com/marklogic/java-client-api/issues/1565" data-hovercard-type="issue" data-hovercard-url="/marklogic/java-client-api/issues/1565/hovercard" href="https://github.com/marklogic/java-client-api/issues/1565">#1565</a> Optimistic locking failures now throw either <code>ContentWrongVersionException</code> or <code>ContentNoVersionException</code> instead of the too-generic <code>FailedRequestException</code> (both new exceptions extend <code>FailedRequestException</code> though).</li> <li><code>DocumentMetadataHandle.DocumentPermissions</code> now has an <code>addFromDelimitedString</code> method for the common use case of defining permissions via a string of the form "role1,capability1,role2,capability2,etc".</li> <li>Inclusion of the "Accept-Encoding=gzip" request header, which by default is sent on every request, can be disabled for users that do not want responses to be gzipped. This can be accomplished either via the new <code>com.marklogic.client.extra.okhttpclient.RemoveAcceptEncodingConfigurator</code> class or by setting the <code>marklogic.client.disabledGzippedResponses</code> property to <code>true</code> when constructing a <code>DatabaseClient</code> via a set of properties.</li> <li><code>DatabaseClientFactory.addConfigurator</code> can now be called multiple times. Configurators can be removed via the new <code>DatabaseClientFactory.removeConfigurators</code> method.</li> <li>The <code>com.fasterxml.jackson</code> dependencies were bumped from 2.14.3 to 2.15.2.</li> </ul> rjrudin tag:github.com,2008:Repository/17642544/6.2.2 2023-07-19T17:45:35Z 6.2.2 <p>This patch release addresses the following issues:</p> <ul> <li>Constructing a <code>CertificateAuthContext</code> via <code>DatabaseClientBuilder</code> no longer requires a certificate file and password to be provided. A certificate can be provided via an <code>SSLContext</code> instead.</li> <li>Improved error message when document metadata fails to be written.</li> </ul> rjrudin tag:github.com,2008:Repository/17642544/6.2.1 2023-06-01T19:20:53Z 6.2.1 <p>This patch release addresses the following issues:</p> <ul> <li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1714661829" data-permission-text="Title is private" data-url="https://github.com/marklogic/java-client-api/issues/1566" data-hovercard-type="pull_request" data-hovercard-url="/marklogic/java-client-api/pull/1566/hovercard" href="https://github.com/marklogic/java-client-api/pull/1566">#1566</a> <code>resultRows</code> in <code>RowManager</code> now honors point-in-time query timestamp</li> <li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1704452220" data-permission-text="Title is private" data-url="https://github.com/marklogic/java-client-api/issues/1562" data-hovercard-type="pull_request" data-hovercard-url="/marklogic/java-client-api/pull/1562/hovercard" href="https://github.com/marklogic/java-client-api/pull/1562">#1562</a> MarkLogic Cloud token renewal is now based on a 401 response code</li> <li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1704309274" data-permission-text="Title is private" data-url="https://github.com/marklogic/java-client-api/issues/1561" data-hovercard-type="pull_request" data-hovercard-url="/marklogic/java-client-api/pull/1561/hovercard" href="https://github.com/marklogic/java-client-api/pull/1561">#1561</a> Improved error message when HTTP is used but HTTPS is required by the MarkLogic app server</li> <li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1701983249" data-permission-text="Title is private" data-url="https://github.com/marklogic/java-client-api/issues/1559" data-hovercard-type="pull_request" data-hovercard-url="/marklogic/java-client-api/pull/1559/hovercard" href="https://github.com/marklogic/java-client-api/pull/1559">#1559</a> Upgraded OkHttp dependency from 4.10 to 4.11 and Jackson dependency from 2.14.1 to 2.14.3</li> </ul> rjrudin