Skip to content

Releases: marklogic/java-client-api

7.0.0

19 Aug 13:28
3b625db
Compare
Choose a tag to compare

This major release introduces one breaking change from the latest 6.x release - the client now depends on the Jakarta XML Binding API instead of the older JAXB API. This change is reflected in any public classes in the client that previously depended on types in the javax.xml.bind namespace. Those classes now depend on types with the same name but in the jakarta.xml.bind namespace.

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 PlanBuilder 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.

Full set of changes in this release:

  • Now depends on the jakarta.xml.bind API instead of the javax.xml.bind API.
  • Can now use BM25 as a scoring method when building an Optic plan (depends on MarkLogic 12).
  • Can now use search options with the Optic fromSearchDocs accessor (depends on MarkLogic 12).
  • Can now use new functions in the vector namespace when building an Optic plan (depends on MarkLogic 12).
  • Fixed bug #1688 that prevented reads on documents with non-US-ASCII characters in URIs.
  • Bumped Jackson dependencies to 2.17.2.
  • Removed deprecated classes.

6.6.1

14 Jun 14:30
265ddc2
Compare
Choose a tag to compare

This patch release addresses the following items:

  • A DMSDK WriteBatcher now supports writing a "naked" document - i.e. a URI with only a properties fragment. This is supported by the v1/documents endpoint and was mistakenly prohibited by WriteBatcher.
  • 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.
  • Adjusting the thread pool size on a QueryBatcher now works correctly on Java 11 and higher; previously, it only worked correctly on Java 8.

6.6.0

24 Apr 15:00
Compare
Choose a tag to compare

This minor release coincides with the release of MarkLogic Server 11.2.0 and provides the following enhancements:

  • Can now authenticate with a MarkLogic app server that requires OAuth authentication. Can either use the new OAuthContext class or the new marklogic.client.oauth.token property when constructing a DatabaseClient via properties.
  • Can now patch one or more documents via an Optic plan using the new patchBuilder method available on com.marklogic.client.expression.PlanBuilder. Requires MarkLogic 11.2.0 or higher.
  • Can now capture errors occuring during execution of an Optic plan via the new onError method. Requires MarkLogic 11.2.0 or higher.
  • The com.marklogic.client.document.GenericDocumentManager interface now support temporal operations.
  • DMSDK log messages pertaining to a queue being flushed are now at the debug and trace levels instead of info.
  • Fixed #1637 so that the DMSDK awaitCompletion method waits for the correct duration.

6.5.0

29 Jan 15:10
b68bab9
Compare
Choose a tag to compare

This minor release addresses the following items:

  • When constructing a DatabaseClient and configuring two-way SSL, a separate trust store can be configured via the new properties marklogic.client.truststore.path, marklogic.client.truststore.password, marklogic.client.truststore.type, and marklogic.client.truststore.algorithm. These can be passed in via the newClient(Function<String, Object> propertySource) method or programmatically set with new methods in DatabaseClientBuilder.
  • The OkHttp dependency was bumped from 4.11.0 to 4.12.0.
  • The Jackson dependency was bumped from 2.15.2 to 2.15.3.

6.4.1

30 Nov 17:21
5f4f7a8
Compare
Choose a tag to compare

This patch release addresses the following items:

  • DocumentManager.search now works when METADATAVALUES has been set as a category on the DocumentManager.
  • 3 methods in DocumentManager 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.

6.4.0

14 Nov 22:49
045acdc
Compare
Choose a tag to compare

This minor release addresses the following items:

  • Two-way SSL can now be configured via a new set of properties - marklogic.client.ssl.keystore.path, marklogic.client.ssl.keystore.password, marklogic.client.ssl.keystore.type, and marklogic.client.ssl.keystore.algorithm. These can be passed in via the newClient(Function<String, Object> propertySource) method or programmatically set with new methods in DatabaseClientBuilder.
  • Support was added for new Optic methods in MarkLogic 11.1: joinDocAndUri is now supported; cts.point and cts.polygon now accept String arguments; and op.geo.geohashSubhashes can be called with a single column argument.

6.3.0

07 Sep 22:21
7c73f9d
Compare
Choose a tag to compare

This minor release addresses the following items:

  • #1565 Optimistic locking failures now throw either ContentWrongVersionException or ContentNoVersionException instead of the too-generic FailedRequestException (both new exceptions extend FailedRequestException though).
  • DocumentMetadataHandle.DocumentPermissions now has an addFromDelimitedString method for the common use case of defining permissions via a string of the form "role1,capability1,role2,capability2,etc".
  • 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 com.marklogic.client.extra.okhttpclient.RemoveAcceptEncodingConfigurator class or by setting the marklogic.client.disabledGzippedResponses property to true when constructing a DatabaseClient via a set of properties.
  • DatabaseClientFactory.addConfigurator can now be called multiple times. Configurators can be removed via the new DatabaseClientFactory.removeConfigurators method.
  • The com.fasterxml.jackson dependencies were bumped from 2.14.3 to 2.15.2.

6.2.2

19 Jul 17:45
b25a122
Compare
Choose a tag to compare

This patch release addresses the following issues:

  • Constructing a CertificateAuthContext via DatabaseClientBuilder no longer requires a certificate file and password to be provided. A certificate can be provided via an SSLContext instead.
  • Improved error message when document metadata fails to be written.

6.2.1

01 Jun 19:20
Compare
Choose a tag to compare

This patch release addresses the following issues:

  • #1566 resultRows in RowManager now honors point-in-time query timestamp
  • #1562 MarkLogic Cloud token renewal is now based on a 401 response code
  • #1561 Improved error message when HTTP is used but HTTPS is required by the MarkLogic app server
  • #1559 Upgraded OkHttp dependency from 4.10 to 4.11 and Jackson dependency from 2.14.1 to 2.14.3

6.2.0

25 Apr 18:04
Compare
Choose a tag to compare

The 6.2.0 release of the MarkLogic Java Client includes the following enhancements and fixes:

  • #1537 A StructuredQueryDefinition can now be serialized via a javax.xml.stream.XMLStreamWriter.
  • RowManager now supports submitting GraphQL queries via the new graphql and graphqlAs methods.
  • The columnInfo method in RowManager now supports any type of plan.
  • ExportListener now accepts a Consumer<DocumentPage> so that users can process a batch of documents instead of one document at a time.
  • The size of a thread pool used by QueryBatcher can now be adjusted at runtime.
  • Errors resulting from dropped or failed connections now include more context to assist with debugging.
  • Tokens are now automatically renewed when using MarkLogic Cloud authentication.