Skip to content

MLE-31821 create release branch for release 2.1.2 - #671

Open
RitaChen609 wants to merge 47 commits into
mainfrom
release/2.1.2
Open

MLE-31821 create release branch for release 2.1.2#671
RitaChen609 wants to merge 47 commits into
mainfrom
release/2.1.2

Conversation

@RitaChen609

Copy link
Copy Markdown

No description provided.

rjrudin and others added 30 commits May 28, 2026 08:29
MLE-30127 Expand Azure OpenAI Token Credential Support
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Switched from milliseconds to seconds.
Renamed --classifier-timeout -> --classifier-socket-timeout
Added --classifier-connection-timeout
MLE-30316 Allow configurable socket timeout for classification requests in Flux
MLE-30013 MLE-30014 MLE-30015 MLE-30016 MLE-30017 MLE-30018 CVEs in dependencies
MLE-31206 Scope Jenkins Pipeline DMC Credentials to the Publish Stage Only
MLE-31339 Snapshot Update to 2.1.2
…tions (#651)

* MLE-31204

Add Interactive Masked Input to Cloud Storage Secret CLI Options. Updated docs and added 1 unit test per option.

* MLE-31204 Copyright Update
MLE-31205 Added Security Warning for  --ssl-hostname-verifier ANY
rjrudin and others added 14 commits July 24, 2026 09:59
This matches the Spark connector. Makes necessary bumps to Hadoop and the AWS SDK as well.
* MLE-31461: Expose zip archive read limits in Flux import commands

Adds --zip-max-uncompressed-entry-bytes and --zip-max-entry-count to all five zip-capable
import commands (import-files, import-aggregate-xml-files, import-rdf-files,
import-archive-files, import-mlcp-archive-files) via CLI flags and Java API
methods. Both map directly to the connector options added in MLE-31218.
Both options default to the value 0 (unlimited). Any number less than 1 is treated as unlimited. Values greater than 0 will enable limits and zip bomb protection through an opt in approach.
Bump com.azure:azure-core-http-netty from 1.16.2 to 1.16.5 so that io.projectreactor.netty:reactor-netty-http gets bumped to 1.2.18 to address BDSA-2026-13714
#664)

Bump org.apache.thrift to 0.24.0 to match Spark Connector Version to avoid CVEs.
Fixed the rendering for the table of contents in the filtering-data.md file
* MLE-31396 update tika to 3.3.2

* MLE-31396 fix paragraph breaks due to Tika 3.3.2 update

* MLE-31396 update Copyright

* MLE-31396 add a note due to Tika 3.3.2 upgrade
Updated the LICENSE file to reflect Progress Software Corporation.
Copilot AI lite review requested due to automatic review settings August 17, 2026 16:18

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR prepares the Flux 2.1.2 release branch by updating release/version metadata, upgrading dependencies, and adding several CLI/API enhancements (notably zip bomb protection for ZIP imports, classifier timeout controls, improved credential handling, and Azure OpenAI token auth support).

Changes:

  • Set release versions (Flux 2.1.2 / connector 3.1.2) and update core dependency versions (Spark/Hadoop/Tika/LangChain4j/Netty/Jackson/etc.).
  • Add/expand CLI + API capabilities: zip bomb protection options for ZIP-capable import commands, classifier socket/connection timeouts, interactive masked input for sensitive options, and Azure OpenAI bearer token authentication.
  • Update tests and documentation to reflect new options/behavior (including Tika whitespace behavior changes and security warnings).

Reviewed changes

Copilot reviewed 56 out of 59 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
test-app/build.gradle Adds explicit warning about disabling hostname verification in local-only SSL task.
LICENSE.txt Updates copyright holder/years and reformats license text.
Jenkinsfile Scopes publishing credentials to develop-only publish stage.
gradle.properties Sets Flux/connector versions for 2.1.2 and updates dependency versions (Spark/Hadoop/Jackson/Netty/etc.).
flux-embedding-model-ollama/build.gradle Updates test logback version.
flux-embedding-model-minilm/build.gradle Pins langchain4j embeddings artifact to avoid CI GLIBC incompatibility.
flux-embedding-model-azure-open-ai/src/test/java/com/marklogic/flux/langchain4j/embedding/ConfigTest.java Adds test coverage for token auth and updated auth validation messaging.
flux-embedding-model-azure-open-ai/src/main/java/com/marklogic/flux/langchain4j/embedding/AzureOpenAiEmbeddingModelFunction.java Implements token auth support and “exactly one auth method” validation.
flux-embedding-model-azure-open-ai/build.gradle Updates Azure Netty HTTP constraint rationale/version and bumps test logback.
flux-cli/src/test/java/com/marklogic/flux/impl/S3ParamsTest.java Adds test isolation for AWS credentials + tests for interactive option annotations.
flux-cli/src/test/java/com/marklogic/flux/impl/importdata/ImportRdfFilesOptionsTest.java Adds tests for forwarding zip bomb protection read options.
flux-cli/src/test/java/com/marklogic/flux/impl/importdata/ImportParquetFilesTest.java Updates assertions to match improved Spark footer/read error messages.
flux-cli/src/test/java/com/marklogic/flux/impl/importdata/ImportOrcFilesTest.java Updates assertions to match improved Spark footer/read error messages.
flux-cli/src/test/java/com/marklogic/flux/impl/importdata/ImportMlcpArchiveFilesOptionsTest.java Adds tests for forwarding zip bomb protection read options.
flux-cli/src/test/java/com/marklogic/flux/impl/importdata/ImportFilesOptionsTest.java Adds zip bomb protection options to CLI options map tests.
flux-cli/src/test/java/com/marklogic/flux/impl/importdata/ImportArchiveFilesOptionsTest.java Adds tests for forwarding zip bomb protection read options.
flux-cli/src/test/java/com/marklogic/flux/impl/importdata/ImportAggregateXmlFilesOptionsTest.java Adds tests for forwarding zip bomb protection read options.
flux-cli/src/test/java/com/marklogic/flux/impl/importdata/ExtractTextTest.java Updates expected extracted text whitespace behavior (Tika-related).
flux-cli/src/test/java/com/marklogic/flux/impl/importdata/ClassifierOptionsTest.java Adds classifier timeout options and ensures defaults are omitted unless set.
flux-cli/src/test/java/com/marklogic/flux/impl/HandleErrorTest.java Updates S3 connection error test to use explicit credentials.
flux-cli/src/test/java/com/marklogic/flux/impl/ErrorMessagesTest.java Updates expected overridden message key count and asserts new keys.
flux-cli/src/test/java/com/marklogic/flux/impl/copy/CopyOptionsTest.java Adds classifier timeout options to copy command option plumbing tests.
flux-cli/src/test/java/com/marklogic/flux/impl/AzureStorageParamsTest.java Adds tests for interactive option annotations.
flux-cli/src/test/java/com/marklogic/flux/api/GenericFilesImporterTest.java Adjusts expected exception type due to upstream connector behavior.
flux-cli/src/main/resources/marklogic-spark-messages_en.properties Adds CLI flag overrides for new classifier timeout options.
flux-cli/src/main/java/com/marklogic/flux/impl/S3Params.java Makes secret/session token options interactive + updates credentials provider builder usage.
flux-cli/src/main/java/com/marklogic/flux/impl/importdata/ReadCompressibleFilesParams.java New shared params base class for partitions + zip bomb protection options.
flux-cli/src/main/java/com/marklogic/flux/impl/importdata/ImportRdfFilesCommand.java Switches read params to shared compressible params base (adds zip options).
flux-cli/src/main/java/com/marklogic/flux/impl/importdata/ImportMlcpArchiveFilesCommand.java Switches read params to shared compressible params base (adds zip options).
flux-cli/src/main/java/com/marklogic/flux/impl/importdata/ImportFilesCommand.java Switches read params to shared compressible params base (adds zip options).
flux-cli/src/main/java/com/marklogic/flux/impl/importdata/ImportArchiveFilesCommand.java Switches read params to shared compressible params base (adds zip options).
flux-cli/src/main/java/com/marklogic/flux/impl/importdata/ImportAggregateXmlFilesCommand.java Switches read params to shared compressible params base (adds zip options).
flux-cli/src/main/java/com/marklogic/flux/impl/importdata/ClassifierParams.java Adds classifier socket/connection timeout options and forwards to connector option map.
flux-cli/src/main/java/com/marklogic/flux/impl/Command.java Adds default read method to command interface for dataset access patterns.
flux-cli/src/main/java/com/marklogic/flux/impl/AzureStorageParams.java Makes Azure credential options interactive with optional arity for masking.
flux-cli/src/main/java/com/marklogic/flux/impl/AbstractCommand.java Implements read by delegating to readDataset.
flux-cli/src/main/java/com/marklogic/flux/api/ReadCompressibleFilesOptions.java New public API for partitions + zip bomb protection options.
flux-cli/src/main/java/com/marklogic/flux/api/RdfFilesImporter.java Updates RDF importer API to use shared compressible read options.
flux-cli/src/main/java/com/marklogic/flux/api/MlcpArchiveFilesImporter.java Updates MLCP archive importer API to use shared compressible read options.
flux-cli/src/main/java/com/marklogic/flux/api/GenericFilesImporter.java Updates generic files importer API to use shared compressible read options.
flux-cli/src/main/java/com/marklogic/flux/api/ClassifierOptions.java Adds public API for classifier socket/connection timeout options.
flux-cli/src/main/java/com/marklogic/flux/api/ArchiveFilesImporter.java Updates archive importer API to use shared compressible read options.
flux-cli/src/main/java/com/marklogic/flux/api/AggregateXmlFilesImporter.java Updates aggregate XML importer API to use shared compressible read options.
flux-cli/build.gradle Updates dependency constraints/versions and GH packages publishing URL property handling.
docs/import/structured-data/filtering-data.md Fixes TOC formatting indentation.
docs/import/import-files/selecting-files.md Cleans up formatting; documents interactive masking for S3/Azure secrets.
docs/import/import-files/rdf.md Formatting cleanup; documents zip bomb protection options for RDF ZIP imports.
docs/import/import-files/generic-files.md Formatting cleanup; documents Tika behavior change and zip bomb protection options.
docs/import/import-files/archives.md Formatting cleanup; documents zip bomb protection for archive imports.
docs/import/import-files/aggregate-xml.md Formatting cleanup; documents zip bomb protection options for ZIP aggregate XML imports.
docs/import/embedder/embedder.md Documents Azure OpenAI token option and updated auth requirements.
docs/import/classifier.md Documents classifier timeout options.
docs/export/specifying-path.md Formatting cleanup; documents interactive masking for S3/Azure secrets in export docs.
docs/common-options.md Adds explicit security warning around disabling hostname verification.
CONTRIBUTING.md Formatting cleanup and updates example jar naming to use <version>.
CODEOWNERS Updates default code owners list.
build.gradle Adds properties plugin; adds optional GH packages repo; updates forced dependency versions to use properties.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines 22 to +35
private S3Params params = new S3Params();

@BeforeEach
void setFakeAwsCredentials() {
System.setProperty("aws.accessKeyId", "fakeAccessKeyId");
System.setProperty("aws.secretAccessKey", "fakeSecretKey");
}

@AfterEach
void clearFakeAwsCredentials() {
System.clearProperty("aws.accessKeyId");
System.clearProperty("aws.secretAccessKey");
}

Comment thread docs/import/classifier.md
Comment on lines +44 to +45
| `--classifier-socket-timeout` | Set the socket timeout in seconds for classification requests. Defaults to 10. |
| `--classifier-connection-timeout` | Set the connection timeout in seconds for classification requests. Defaults to 10. |

### Behavior change in Flux 2.1.2: Microsoft Office file extraction

Flux 2.1.2 upgrades Apache Tika from 3.3.1 to 3.3.2. Tika 3.3.2 changes the default parser for Microsoft Office OOXML
Comment on lines 24 to +28
final String nonAzureKey = "non-azure-api-key";
if (!options.containsKey("api-key") && !options.containsKey(nonAzureKey)) {
throw new IllegalArgumentException(String.format("Must specify either api-key or %s.", nonAzureKey));
final String tokenKey = "token";
long authCount = Stream.of("api-key", nonAzureKey, tokenKey)
.filter(options::containsKey)
.count();
Comment on lines +95 to +99
// This is currently catching a ConnectorException instead of a FluxException due to a change in the Spark
// connector via PR 683 for the Spark connector. That change should be undone with the real fix being that
// FailedRequest should become serializable in the Java Client.
// FluxException ex = assertThrows(FluxException.class, command::execute);
ConnectorException ex = assertThrows(ConnectorException.class, command::execute);
Comment on lines +18 to 20
assertEquals(23, bundle.keySet().size(),
"Expecting 23 keys as of the upcoming 2.0.0 release. Bump this up as more keys are added. Each key should " +
"also be verified in an assertion below.");
Comment thread flux-cli/build.gradle
Comment on lines +327 to 331
// Supports publishing to a GH packages repository for GH Action workflows that are not able to access our
// internal repository.
if (project.hasProperty("ghPackagesUrl")) {
maven {
name = "GitHubPackages"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants