MLE-22591 Merge release/6.0.0 into master#778
Conversation
Can now specify a list of redaction rules to include when generating a transform.
Now uses the deployment from ml-javaclient-util-test-app.
Updated the transform testing
Updated the CONTRIBUTING to include instructions for testing.
#719 Supporting a scenario where spring-web 6 is on the classpath
MLE-18103 Trimming custom tokens
MLE-21393 Added support for symlinks when loading files
I can't think of why this wasn't done before nor what the downside would be to not applying empty strings. Want to see the tests run to see if it causes any failures, implying that this would not be a backwards compatible change.
Also bumped up some minor/patch dependency versions where possible.
Requiring property values to not be empty
Fixing Polaris high issues
Doing this for consistency and was also getting tired of typing `cd ml-javaclient-util-test...`. Moved docker-compose to top level as well for ease of use and consistency.
Renamed test app folder to just "test-app"
Polaris reported two issues on this.
MLE-21542 Sanitizing values for XPath expressions
Bumped default TLS protocol to "TLS". More XPath sanitization. And some SAX protection.
MLE-21542 More Polaris fixes
The one in AbstractCommand should knock out a lot of warnings.
MLE-23094 Migrated marklogic-data-movement-components code to here
This is the sole class from the mlcp-util repository.
MLE-23095 Migrated MlcpBean class
Another fix is to handle the exception that can handle due to MLE-547. I am going to follow this up with another PR that may move the retry interceptor to src/test/java, as I'm not sure yet that we want to expose this to users. Main goal right now is getting stable builds with no test failures.
MLE-23174 Using retry interceptor to fix intermittent failures
This really needs to be supported in the Java Client in order for it to be done correctly - specifically in the DatabaseClientBuilder class. Otherwise we can only support it in here for the Manage/Admin connections but not the REST / App-Services connections. Had to move TestConfig so that it could invoke the protected method for specifying a ClientConfigurator, which thus keeps it out of the public API.
MLE-23174 Hiding retry capability for now
MLE-22604 Converting Jenkinsfile to use Docker
MLE-22604 Test fixes required by MarkLogic 12
MLE-12345 Bumped Java Client and Spring versions
All of these date back to the 3.x codebase and were long overdue for being removed.
MLE-23304 Removed deprecated items
And a few copyright updates too.
MLE-22591 Bumped a couple dependencies and updated NOTICE
MLE-22591 Bumped junit to 5.13.4
Also removed a couple private fields in DefaultDocumentFileReader. Has no impact on functionality, just noticed it from a note referencing "5.0.0".
MLE-22591 Bumped example projects to 6.0.0
There was a problem hiding this comment.
Pull Request Overview
This PR merges the release/6.0.0 branch into master, primarily consisting of copyright notice updates throughout the codebase. The copyright statements have been changed from MarkLogic Corporation to Progress Software Corporation and/or its subsidiaries or affiliates for 2015-2025.
- Copyright notice updates across numerous Java files
- Addition of new OAuth token configuration properties for admin and manage clients
- Improvements to forest replica planning with zone awareness
- Enhanced error handling and null safety in various components
Reviewed Changes
Copilot reviewed 292 out of 1024 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| ElementWordLexicon.java | Copyright update to Progress Software |
| DefaultAdminConfigFactory.java | Copyright update plus OAuth token support |
| AdminManager.java | Copyright update and improved HTTP status handling |
| API.java | Copyright update and enhanced null safety |
| Resource.java | Copyright update and Spring web utility usage |
| AbstractManager.java | Copyright update and sensitive data handling |
| PayloadParser.java | Copyright update and XPath security improvements |
| ForestReplicaPlanner.java | New forest replica planning with zone awareness |
| ForestPlanner.java | New forest planning interface |
| InsertCertificateHostsTemplateCommand.java | Certificate passphrase support |
| DeployRestApiServersCommand.java | Enhanced error handling for REST API deletion |
Comments suppressed due to low confidence (3)
ml-app-deployer/src/main/java/com/marklogic/appdeployer/command/temporal/DeployTemporalCollectionsLSQTCommand.java:7
- Wildcard imports should be avoided. Import specific classes instead of using wildcard import.
import com.marklogic.appdeployer.ConfigDir;
ml-app-deployer/src/main/java/com/marklogic/appdeployer/command/forests/ForestReplicaPlanner.java:42
- The
formatted()method on String was introduced in Java 15. This may not be compatible with earlier Java versions that the project might need to support.
return "[Host: %s; zone: %s]".formatted(name, zone);
ml-app-deployer/src/main/java/com/marklogic/appdeployer/command/forests/ForestReplicaPlanner.java:115
- The
toList()method on Stream was introduced in Java 16. This may not be compatible with earlier Java versions that the project might need to support.
.toList();
| } | ||
| } | ||
| protected void logRequestBodyToAssistWithDebugging(String httpMethod, String path, String payload) { | ||
| if (!payloadContainsSensitiveValues(payload)) { |
There was a problem hiding this comment.
The logic is inverted - this condition will log when sensitive values are NOT present, but the error message suggests it's avoiding logging when sensitive values are present. Should be if (payloadContainsSensitiveValues(payload)).
| if (!payloadContainsSensitiveValues(payload)) { | |
| if (payloadContainsSensitiveValues(payload)) { |
This unfortunately has hundreds of changes due to the copyright. But now that the tests pass reliably, we can rely on them for ensuring everything is working properly.