Releases: marklogic/ml-gradle
6.1.0
This minor release addresses the following items:
- #725
CopySearchOptionsTasknow has agroupNameproperty for specifying a MarkLogic group instead of overriding the Gradlegroupproperty for a custom task. - Fixed a bug introduced in 6.0.0 where LSQT collections defined in an XML file were not deployed correctly (LSQT collections defined in a JSON file still worked properly).
- Now depends on Java Client 8.0.0, which depends on OkHttp 5 instead of OkHttp 4.
- Bumped Jackson dependency version from 2.19.0 to 2.20.0.
6.0.1
6.0.0
This major release requires Java 17, primarily due to an upgrade in the underlying Spring libraries which addressed a number of security vulnerabilities.
This release also addresses the following items:
- Forest replica creation now takes host zone into account, assigning replicas to different host zones as much as possible. This does not involve any new properties but rather happens automatically if each host in a cluster is assigned to a zone. See the guide on creating forests for more information.
- Can now authenticate via an OAuth token using the new properties
mlManageOauthToken,mlAdminOauthToken,mlRestOauthToken, andmlAppServicesOauthToken. - Host certificates can now be deployed with an optional passphrase specified via the new
mlHostCertificatePassphrasesproperty. See the "Security - Host Certificates" section in the Resource Reference for more information. - Removed the following deprecated properties (all deprecated since before version 4.0.0) -
mlOptimizeWithCma,mlConfigDir,mlConfigPath, andmlSchemasPath. - Removed the deprecated
mlRestApiGradle configuration, asmlBundlehas been the preferred configuration for multiple major releases.
5.0.0
This major release is centered on upgrading to MarkLogic Java Client 7.0.0 and removing several deprecated items as outlined below. It also coincides with combining the ml-javaclient-util and ml-app-deployer repositories into this repository, though that will not have any functional impact on users. The ml-gradle, ml-app-deployer, and ml-javaclient-util artifacts are still published to Maven Central and the method for declaring ml-gradle in a Gradle build.gradle file has not changed either.
Existing customers should be able to easily upgrade from ml-gradle 4.x to ml-gradle 5.0.0 while accounting for the deprecated items below.
Deprecated items:
- Loading modules - via
mlDeployormlLoadModules- no longer loads namespace files. This capability was deprecated in the server and removed from the MarkLogic Java Client 7.0.0 release. Namespaces should instead be included in a server payload file as defined by the Manage API. mlAdminUsernameandmlAdminPasswordare no longer supported; these were deprecated in the 3.4.0 release of ml-gradle in favor ofmlSecurityUsernameandmlSecurityPassword.- The deprecated constructors for
ManageClientandAdminManagerthat assumed a default username and password of "admin" were removed. - References to the Apache HttpClient library, which were deprecated in the 4.5.0 release of ml-gradle, were removed.
- The
DocumentPermissionsParserlibrary in ml-javaclient-util was removed as the capability is available in the MarkLogic Java Client. - The deprecated
afterModulesLoadedmethod inWatchTaskwas removed.
For all deprecated items, please see this pull request.
For users of ml-app-deployer or ml-javaclient-util that were depending on the old JAXB libraries as transitive dependencies of the MarkLogic Java Client 6.x or older, you will need to add these JAXB libraries to your classpath. Please see the Java Client README for instructions on doing so.
This release also now depends on the following updated dependencies:
com.marklogic:marklogic-client-api:7.0.0com.fasterxml.jackson.core:jackson-databind:2.17.2org.springframework:spring-web:5.3.39jaxen:jaxen:2.0.0org.apache.commons:commons-lang3:3.16.0
4.8.0
This minor release addresses the following items:
- Updated dependencies.
- Can now deploy/undeploy credentials. See https://docs.marklogic.com/REST/PUT/manage/v2/credentials/properties for more information.
- Better error message when databases have circular dependencies.
- Better invalid numeric property error handling.
- When using MlcpTask and logOutputUri, an error no longer occurs if the Gradle build directory does not exist.
- Various documentation and example fixes.
4.7.0
This minor release features the following items:
- Property-driven support for 2-way SSL for each of the connections that ml-gradle makes. Please see the SSL guide for more information. The Property Reference lists all of the new properties as well - look for "KeyStore" and "TrustStore" in the list of properties.
- Depends on ml-app-deployer 4.7.0 and Java Client 6.5.0.
4.6.1
This patch release addresses the following issues:
mlDeployToReplicanow correctly uses connection properties.- An error is no longer thrown when
mlModuleTimestampsPathis null or empty.
See the ml-app-deployer 4.6.1 release notes for other issues addressed in this release.
4.6.0
Gradle 7.6.x or higher is now required for ml-gradle.
This is due to a conflict between Gradle <= 7.5.x and the widely-used Jackson library being updated in this release from 2.14.3 to 2.15.2.
This minor release addresses the following items:
- #659 Can now process query-based-view (QBV) files, generating a new view for each in the application's schemas database. Any .json/.xml files in the
/qbvdirectory of a schemas path will be processed. - #520 Added
mlTestConnectionsto test each connection that ml-gradle will attempt to make. - #383 When running
mlUnitTest, can specify a subset of suites to run via-Psuites=suite1,suite2,etcand a subset of tests to run via-Ptests=test1.sjs,test2.sjs,etc. - #546 When scaffolding a new project, new roles will use the
rest-readerandrest-write rprivileges instead of the same-named roles. MlcpTaskwill no longer setusername,password, orhostautomatically if it finds those values in an MLCP options file specified by the user.- Also when scaffolding a new project, a schemas database will be created by default.
- When loading modules, schemas, or data files, collections specified by
collections.propertiesand permissions specified bypermissions.propertiescan be cascaded to child directories by settingmlCascadeCollections=trueandmlCascadePermissions=true. - Includes improvements in ml-app-deployer 4.6.0.
4.5.3
This patch release includes significant performance improvements for deploying applications with large numbers of forests; the improvements are detailed in the ml-app-deployer 4.5.3 release notes.
4.5.2
This patch release addresses a single item:
- Bumped Spring dependency from 5.3.24 to 5.3.27 to address CVE https://spring.io/security/cve-2023-20860 .
The above CVE did not have any impact on ml-gradle as ml-gradle does not make use of the Spring MVC support in its org.springframework:spring-web dependency. The intent of this release is simply to avoid the CVE being reported as a false positive.