Releases: marklogic/ml-gradle
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
mlDeploy
ormlLoadModules
- 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. mlAdminUsername
andmlAdminPassword
are no longer supported; these were deprecated in the 3.4.0 release of ml-gradle in favor ofmlSecurityUsername
andmlSecurityPassword
.- The deprecated constructors for
ManageClient
andAdminManager
that 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
DocumentPermissionsParser
library in ml-javaclient-util was removed as the capability is available in the MarkLogic Java Client. - The deprecated
afterModulesLoaded
method inWatchTask
was 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.0
com.fasterxml.jackson.core:jackson-databind:2.17.2
org.springframework:spring-web:5.3.39
jaxen:jaxen:2.0.0
org.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:
mlDeployToReplica
now correctly uses connection properties.- An error is no longer thrown when
mlModuleTimestampsPath
is 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
/qbv
directory of a schemas path will be processed. - #520 Added
mlTestConnections
to 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,etc
and 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-reader
andrest-write r
privileges instead of the same-named roles. MlcpTask
will no longer setusername
,password
, orhost
automatically 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.properties
and permissions specified bypermissions.properties
can be cascaded to child directories by settingmlCascadeCollections=true
andmlCascadePermissions=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.
4.5.1
4.5.0
This minor release addresses the following items:
Security fixes
As mentioned in the ml-app-deployer 4.5.0 release notes, ml-gradle no longer defaults to a username of "admin" and a password of "admin" when connecting to MarkLogic. If you are setting at least mlUsername
and mlPassword
in your Gradle properties, you will not encounter any issues. If you are not, you simply need to set mlUsername
and mlPassword
in your Gradle properties (and you're free to set them to "admin" and "admin", though this behavior is discouraged in real world scenarios).
Bug fixes
- #645
mlPrintForestPlan
no longer throws an error when custom forests are used.
New features
- #643
mlGenerateUnitTestSuite
can now generate SJS test modules - SAML, Kerberos, and Certificate authentication are now supported for all connections to MarkLogic; see the Property Reference for a list of new properties in 4.5.0 to support these authentication strategies.
- Supports connections for the upcoming MarkLogic Cloud release.
4.4.0
This minor release addresses the following items:
- Depends on MarkLogic Java Client 6.0.0
- Depends on ml-app-deployer 4.4.0
- #625 Added
mlDeployHostCertificateTemplates
task - #636
mlNewProject
prompts are more clear now - #637 Added
mlDeploySecureCredentials
- #642 Error is thrown instead of silent failure when task tries to invoke a command that does not exist