From e4e854fc43457270c38f3dd7b91ebb03ba92a589 Mon Sep 17 00:00:00 2001 From: chen21019 Date: Wed, 26 Aug 2026 16:43:16 +0800 Subject: [PATCH] chore: update Bouncy Castle and prepare release 5.7.3-pasturestack.4 --- .github/workflows/security-release-gate.yml | 40 +++++++++---------- Dockerfile.pasturestack | 6 +-- ORIGIN.md | 2 +- README.md | 2 +- SECURITY-MAINTENANCE.md | 10 ++--- distribution/pom.xml | 2 +- extensions/avro/pom.xml | 2 +- extensions/cdc-debezium/pom.xml | 2 +- extensions/cdc-mysql/pom.xml | 2 +- extensions/cdc-postgres/pom.xml | 2 +- extensions/csv/pom.xml | 2 +- .../elasticsearch/elasticsearch-7/pom.xml | 2 +- extensions/grpc/pom.xml | 2 +- extensions/hadoop-dist/files-azure/pom.xml | 2 +- extensions/hadoop-dist/files-gcs/pom.xml | 2 +- extensions/hadoop-dist/files-s3/pom.xml | 2 +- extensions/hadoop-dist/hadoop-all/pom.xml | 2 +- extensions/hadoop-dist/hadoop/pom.xml | 2 +- extensions/hadoop-dist/pom.xml | 2 +- extensions/hadoop/pom.xml | 2 +- extensions/kafka-connect/pom.xml | 2 +- extensions/kafka/pom.xml | 2 +- extensions/kinesis/pom.xml | 2 +- extensions/mapstore/pom.xml | 2 +- extensions/mongodb/pom.xml | 2 +- extensions/pom.xml | 2 +- extensions/protobuf/pom.xml | 2 +- extensions/python/pom.xml | 2 +- extensions/s3/pom.xml | 2 +- hazelcast-archunit-rules/pom.xml | 2 +- hazelcast-build-utils/pom.xml | 2 +- hazelcast-coverage-report/pom.xml | 2 +- hazelcast-it/distribution-it/pom.xml | 2 +- hazelcast-it/pom.xml | 2 +- hazelcast-parent/pom.xml | 4 +- .../hazelcast-spring-boot4/pom.xml | 2 +- .../pom.xml | 2 +- hazelcast-spring-tests/pom.xml | 2 +- hazelcast-spring/pom.xml | 2 +- hazelcast-sql/pom.xml | 2 +- hazelcast-tpc-engine/pom.xml | 2 +- hazelcast/pom.xml | 2 +- .../testjob-with-hazelcast-codebase/pom.xml | 2 +- .../console/testjob-with-hz-bootstrap/pom.xml | 2 +- .../testjob-with-jet-bootstrap/pom.xml | 2 +- modulepath-tests/pom.xml | 2 +- pom.xml | 4 +- scripts/pasturestack-build-runtime | 14 ++++--- scripts/pasturestack-verify-maven-evidence.py | 2 +- 49 files changed, 83 insertions(+), 81 deletions(-) diff --git a/.github/workflows/security-release-gate.yml b/.github/workflows/security-release-gate.yml index 0580aaad2525..d86530960787 100644 --- a/.github/workflows/security-release-gate.yml +++ b/.github/workflows/security-release-gate.yml @@ -188,10 +188,10 @@ jobs: run: | set -euo pipefail PASTURESTACK_OUTPUT_DIR=dist scripts/pasturestack-build-runtime - test -s dist/hazelcast-5.7.3-pasturestack.3.jar - sha256sum dist/hazelcast-5.7.3-pasturestack.3.jar | tee evidence/hazelcast-5.7.3-pasturestack.3.jar.sha256 - jar tf dist/hazelcast-5.7.3-pasturestack.3.jar | grep -Fxq META-INF/LICENSE - jar tf dist/hazelcast-5.7.3-pasturestack.3.jar | grep -Fxq META-INF/NOTICE + test -s dist/hazelcast-5.7.3-pasturestack.4.jar + sha256sum dist/hazelcast-5.7.3-pasturestack.4.jar | tee evidence/hazelcast-5.7.3-pasturestack.4.jar.sha256 + jar tf dist/hazelcast-5.7.3-pasturestack.4.jar | grep -Fxq META-INF/LICENSE + jar tf dist/hazelcast-5.7.3-pasturestack.4.jar | grep -Fxq META-INF/NOTICE native_resources=( hazelcast/src/main/resources/affinity_helper.c hazelcast/src/main/resources/affinity_helper.h @@ -206,7 +206,7 @@ jobs: trap 'rm -rf "$extracted_native"' EXIT ( cd "$extracted_native" - jar xf "$GITHUB_WORKSPACE/dist/hazelcast-5.7.3-pasturestack.3.jar" \ + jar xf "$GITHUB_WORKSPACE/dist/hazelcast-5.7.3-pasturestack.4.jar" \ lib/linux-x86/libicmp_helper.so \ lib/linux-x86_64/libaffinity_helper.so \ lib/linux-x86_64/libicmp_helper.so @@ -217,7 +217,7 @@ jobs: "$extracted_native/lib/linux-x86_64/libaffinity_helper.so" cmp hazelcast-tpc-engine/src/main/resources/lib/linux-x86_64/libicmp_helper.so \ "$extracted_native/lib/linux-x86_64/libicmp_helper.so" - if jar tf dist/hazelcast-5.7.3-pasturestack.3.jar | grep -Eq '(^|/)(jet_to_python[^/]*|[^/]+\.py)$'; then + if jar tf dist/hazelcast-5.7.3-pasturestack.4.jar | grep -Eq '(^|/)(jet_to_python[^/]*|[^/]+\.py)$'; then echo 'The core runtime artifact unexpectedly contains Python extension resources.' >&2 exit 1 fi @@ -295,9 +295,9 @@ jobs: -Dfile=pom.xml -DpomFile=pom.xml ./mvnw -B org.apache.maven.plugins:maven-install-plugin:3.1.4:install-file \ -Dfile=hazelcast-parent/pom.xml -DpomFile=hazelcast-parent/pom.xml - test -s hazelcast-tpc-engine/target/hazelcast-tpc-engine-5.7.3-pasturestack.3.jar + test -s hazelcast-tpc-engine/target/hazelcast-tpc-engine-5.7.3-pasturestack.4.jar ./mvnw -B org.apache.maven.plugins:maven-install-plugin:3.1.4:install-file \ - -Dfile=hazelcast-tpc-engine/target/hazelcast-tpc-engine-5.7.3-pasturestack.3.jar \ + -Dfile=hazelcast-tpc-engine/target/hazelcast-tpc-engine-5.7.3-pasturestack.4.jar \ -DpomFile=hazelcast-tpc-engine/pom.xml timeout --signal=TERM --kill-after=30s 15m ./mvnw -B \ org.apache.maven.plugins:maven-help-plugin:3.5.2:effective-pom \ @@ -316,7 +316,7 @@ jobs: -DoutputFormat=json \ -DoutputReactorProjects=false \ -DoutputDirectory="$PWD/evidence" \ - -DoutputName=hazelcast-5.7.3-pasturestack.3.cdx \ + -DoutputName=hazelcast-5.7.3-pasturestack.4.cdx \ -DschemaVersion=1.6 \ org.cyclonedx:cyclonedx-maven-plugin:2.9.3:makeBom printf '%s %s\n%s %s\n' \ @@ -366,18 +366,18 @@ jobs: "$TRIVY_IMAGE" rootfs --pkg-types library \ --cache-dir /root/.cache/trivy --skip-db-update --offline-scan \ --scanners vuln --severity CRITICAL,HIGH --format json \ - --output /evidence/hazelcast-5.7.3-pasturestack.3.trivy.json /artifact/hazelcast-5.7.3-pasturestack.3.jar + --output /evidence/hazelcast-5.7.3-pasturestack.4.trivy.json /artifact/hazelcast-5.7.3-pasturestack.4.jar docker run --rm --network none \ -v "$PWD/evidence:/evidence" \ -v "$trivy_cache:/root/.cache/trivy" \ "$TRIVY_IMAGE" sbom \ --cache-dir /root/.cache/trivy --skip-db-update --skip-java-db-update --offline-scan \ --scanners vuln --severity CRITICAL,HIGH --format json \ - --output /evidence/hazelcast-5.7.3-pasturestack.3.sbom.trivy.json \ - /evidence/hazelcast-5.7.3-pasturestack.3.cdx.json + --output /evidence/hazelcast-5.7.3-pasturestack.4.sbom.trivy.json \ + /evidence/hazelcast-5.7.3-pasturestack.4.cdx.json sha256sum evidence/maven-effective-pom.xml \ - evidence/maven-runtime-dependency-tree.json evidence/hazelcast-5.7.3-pasturestack.3.cdx.json \ - evidence/hazelcast-5.7.3-pasturestack.3.sbom.trivy.json evidence/hazelcast-5.7.3-pasturestack.3.trivy.json \ + evidence/maven-runtime-dependency-tree.json evidence/hazelcast-5.7.3-pasturestack.4.cdx.json \ + evidence/hazelcast-5.7.3-pasturestack.4.sbom.trivy.json evidence/hazelcast-5.7.3-pasturestack.4.trivy.json \ evidence/evidence-tools.sha256 \ evidence/native-resources.sha256 evidence/runtime-toolchain-boundary.txt \ > evidence/security-evidence.sha256 @@ -388,7 +388,7 @@ jobs: set -euo pipefail python scripts/pasturestack-verify-maven-evidence.py \ --effective-pom evidence/maven-effective-pom.xml \ - --sbom evidence/hazelcast-5.7.3-pasturestack.3.cdx.json \ + --sbom evidence/hazelcast-5.7.3-pasturestack.4.cdx.json \ --dependency-tree evidence/maven-runtime-dependency-tree.json \ --summary evidence/maven-evidence-summary.txt sha256sum evidence/maven-evidence-summary.txt >> evidence/security-evidence.sha256 @@ -401,9 +401,9 @@ jobs: return json.load(stream) source = load('evidence/source-security.json') - artifact = load('evidence/hazelcast-5.7.3-pasturestack.3.trivy.json') - dependency_scan = load('evidence/hazelcast-5.7.3-pasturestack.3.sbom.trivy.json') - sbom = load('evidence/hazelcast-5.7.3-pasturestack.3.cdx.json') + artifact = load('evidence/hazelcast-5.7.3-pasturestack.4.trivy.json') + dependency_scan = load('evidence/hazelcast-5.7.3-pasturestack.4.sbom.trivy.json') + sbom = load('evidence/hazelcast-5.7.3-pasturestack.4.cdx.json') maven_tree = load('evidence/maven-runtime-dependency-tree.json') source_vulnerabilities = [ item @@ -489,7 +489,7 @@ jobs: or None in component_purls or len(component_refs) != len(set(component_refs)) or len(component_purls) != len(set(component_purls)) - or maven_root != ('com.hazelcast', 'hazelcast', '5.7.3-pasturestack.3') + or maven_root != ('com.hazelcast', 'hazelcast', '5.7.3-pasturestack.4') or sbom_root != maven_root or root_ref not in dependency_refs or dependency_refs != allowed_refs @@ -507,7 +507,7 @@ jobs: docker run --rm --network none \ -v "$PWD/evidence:/evidence:ro" \ cyclonedx/cyclonedx-cli:0.33.1@sha256:252c2e26f468c25fea1e63ecde1bc3198ad6e9dbb57f5ed3236bddcb2281b3a7 \ - validate --input-file /evidence/hazelcast-5.7.3-pasturestack.3.cdx.json \ + validate --input-file /evidence/hazelcast-5.7.3-pasturestack.4.cdx.json \ --input-format json --input-version v1_6 --fail-on-errors - name: Upload review evidence diff --git a/Dockerfile.pasturestack b/Dockerfile.pasturestack index fd3dee0dea53..999ac8ea8010 100644 --- a/Dockerfile.pasturestack +++ b/Dockerfile.pasturestack @@ -19,12 +19,12 @@ FROM scratch ARG VCS_REF LABEL org.opencontainers.image.title="PastureStack Distributed Cache Runtime" \ - org.opencontainers.image.description="PastureStack artifact 5.7.3-pasturestack.3 with Hazelcast cluster runtime 5.7.3 and reviewed security updates" \ + org.opencontainers.image.description="PastureStack artifact 5.7.3-pasturestack.4 with Hazelcast cluster runtime 5.7.3 and reviewed security updates" \ org.opencontainers.image.source="https://github.com/PastureStack/distributed-cache-runtime" \ org.opencontainers.image.revision="$VCS_REF" \ org.opencontainers.image.licenses="Apache-2.0 OR LicenseRef-Hazelcast-Community" \ org.opencontainers.image.vendor="PastureStack" -COPY --from=build /src/dist/hazelcast-5.7.3-pasturestack.3.jar /opt/pasturestack/vendor/hazelcast-5.7.3-pasturestack.3.jar -COPY --from=build /src/dist/hazelcast-5.7.3-pasturestack.3.jar.sha256 /opt/pasturestack/vendor/hazelcast-5.7.3-pasturestack.3.jar.sha256 +COPY --from=build /src/dist/hazelcast-5.7.3-pasturestack.4.jar /opt/pasturestack/vendor/hazelcast-5.7.3-pasturestack.4.jar +COPY --from=build /src/dist/hazelcast-5.7.3-pasturestack.4.jar.sha256 /opt/pasturestack/vendor/hazelcast-5.7.3-pasturestack.4.jar.sha256 COPY LICENSE NOTICE ORIGIN.md SECURITY-MAINTENANCE.md /opt/pasturestack/licenses/ diff --git a/ORIGIN.md b/ORIGIN.md index 06d57b912510..d6df60969e9a 100644 --- a/ORIGIN.md +++ b/ORIGIN.md @@ -5,7 +5,7 @@ This repository is derived from the public [Hazelcast repository](https://github - Upstream release: `v5.7.0` - Upstream boundary commit: `60c31e3750cbad64f5720e2e02f0a9830973193c` - PastureStack maintenance line: linear commits after that upstream boundary -- Maintained artifact: PastureStack Maven artifact 5.7.3-pasturestack.3 (numeric Hazelcast cluster runtime 5.7.3), based on Hazelcast 5.7.0, with reviewed source and dependency security updates +- Maintained artifact: PastureStack Maven artifact 5.7.3-pasturestack.4 (numeric Hazelcast cluster runtime 5.7.3), based on Hazelcast 5.7.0, with reviewed source and dependency security updates The upstream Git history, copyright notices, author records, `LICENSE`, `NOTICE`, and file-level license headers are retained. PastureStack's maintenance commits do not replace or relicense upstream work, and PastureStack does not claim authorship of upstream contributions. diff --git a/README.md b/README.md index 6c6e96537e82..0adbfd42f278 100755 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ > [!IMPORTANT] > This repository is a narrowly scoped PastureStack fork of Hazelcast 5.7.0. It preserves the upstream Git history, copyright notices, license files, and authorship. PastureStack does not claim ownership of upstream work and is not affiliated with or endorsed by Hazelcast, Inc. -The maintained Maven artifact `5.7.3-pasturestack.3` keeps the upstream 5.7.0 API and applies a reviewed set of source hardening, runtime-library updates, and build-time integration dependency updates required by PastureStack. Generated Hazelcast cluster metadata reports numeric runtime version `5.7.3`, because the cluster protocol does not accept a Maven qualifier. See [ORIGIN.md](ORIGIN.md) for provenance and [SECURITY-MAINTENANCE.md](SECURITY-MAINTENANCE.md) for the exact delta and release gates. The original upstream README follows unchanged below. +The maintained Maven artifact `5.7.3-pasturestack.4` keeps the upstream 5.7.0 API and applies a reviewed set of source hardening, runtime-library updates, and build-time integration dependency updates required by PastureStack. Generated Hazelcast cluster metadata reports numeric runtime version `5.7.3`, because the cluster protocol does not accept a Maven qualifier. See [ORIGIN.md](ORIGIN.md) for provenance and [SECURITY-MAINTENANCE.md](SECURITY-MAINTENANCE.md) for the exact delta and release gates. The original upstream README follows unchanged below. --- diff --git a/SECURITY-MAINTENANCE.md b/SECURITY-MAINTENANCE.md index 730991e3819d..e3db54ae9e40 100644 --- a/SECURITY-MAINTENANCE.md +++ b/SECURITY-MAINTENANCE.md @@ -4,7 +4,7 @@ The PastureStack maintenance delta intentionally preserves the Hazelcast 5.7.0 API while updating reviewed runtime and build-time dependencies with published security fixes: -The resulting reviewed Maven artifact version is `5.7.3-pasturestack.3`; it is a PastureStack maintenance release based on upstream `5.7.0`, not an upstream Hazelcast release. Hazelcast's cluster protocol parser accepts numeric product versions only, so generated runtime metadata deliberately reports `5.7.3`. The artifact version must be used by Maven coordinates, filenames, the artifact carrier, SBOM, and release evidence; the numeric runtime version must be used by cluster/member compatibility code. +The resulting reviewed Maven artifact version is `5.7.3-pasturestack.4`; it is a PastureStack maintenance release based on upstream `5.7.0`, not an upstream Hazelcast release. Hazelcast's cluster protocol parser accepts numeric product versions only, so generated runtime metadata deliberately reports `5.7.3`. The artifact version must be used by Maven coordinates, filenames, the artifact carrier, SBOM, and release evidence; the numeric runtime version must be used by cluster/member compatibility code. | Component | Upstream 5.7.0 | PastureStack maintained version | Scope | | --- | --- | --- | --- | @@ -24,7 +24,7 @@ The resulting reviewed Maven artifact version is `5.7.3-pasturestack.3`; it is a | Checkstyle | 12.3.1 | 14.0.0 | Build-time source policy | | gRPC Java / Python | 1.73.0 | 1.83.1 / 1.83.0 | gRPC and cloud extension dependencies | | Aircompressor | 2.0.2 | 2.0.3 | Current Parquet 1.18 byte-array codec dependency; Aircompressor v3 uses a different artifact/package and MemorySegment API | -| Hazelcast test-job dependency | 5.0.5 | 5.7.3-pasturestack.3 | Command-line integration test fixtures | +| Hazelcast test-job dependency | 5.0.5 | 5.7.3-pasturestack.4 | Command-line integration test fixtures | | Maven Compiler Plugin | implicit | 3.15.0 | Reproducible test-fixture builds | | Maven JAR Plugin | 3.1.2 | 3.5.1 | Reproducible test-fixture packaging | | Maven Install Plugin | implicit | 3.1.4 | Latest stable Maven 3-compatible install lifecycle | @@ -43,7 +43,7 @@ The resulting reviewed Maven artifact version is `5.7.3-pasturestack.3`; it is a | OpenTelemetry API | 1.51.0 | 1.65.0 | Google Cloud Storage extension runtime | | Log4j 2 | 2.25.4 | 2.26.1 | Runtime and test logging | | Debezium | 1.9.8.Final | 3.6.1.Final | CDC runtime | -| Bouncy Castle | 1.82 | 1.85 | Test and integration dependencies | +| Bouncy Castle | 1.82 | bcprov 1.85.2; bcpkix/bcutil 1.85 | Test and integration dependencies; each artifact is pinned to its latest Maven Central release | | ZooKeeper | 3.8.4 | 3.9.5 | SQL integration tests | | Square Wire runtime | 5.1.0 | 6.4.6 | Kafka/Schema Registry tests | | Micrometer Core | 1.16.3 | 1.17.1 | Messaging integration tests | @@ -100,9 +100,9 @@ All Spring Boot 3 / Spring Framework 6 compatibility profiles and the `hazelcast A release is acceptable only when all of the following are true: 1. The upstream `v5.7.0` boundary recorded in [ORIGIN.md](ORIGIN.md) is an ancestor of the candidate, and every later commit remains on the linear PastureStack maintenance line. -2. Every reactor POM and command-line test fixture resolves the maintained artifact at 5.7.3-pasturestack.3, while generated cluster runtime metadata resolves to numeric version 5.7.3. Maven Wrapper 3.9.16 is downloaded only from Maven Central; its ZIP and tar.gz distributions are verified against separate committed SHA-256 values before execution. The source version gate requires Java 25, Ubuntu 24.04 LTS cloud test images, Checkstyle 14.0.0, Avro 1.12.2, Jackson 2.22.2 and 3.2.2, Janino 3.1.12, Parquet 1.18.0, JLine 4.3.1 with FFM, Protobuf Java 4.36.0 and Python 7.36.0, Netty 4.2.17.Final, Lettuce 7.7.0.RELEASE, Kafka 4.3.1, Confluent Platform 8.3.1, gRPC Java 1.83.1 and Python 1.83.0, Aircompressor 2.0.3, Hadoop 3.5.0, Maven Compiler Plugin 3.15.0, Maven JAR Plugin 3.5.1, Maven Install Plugin 3.1.4, Maven Dependency Plugin 3.11.0, an in-process Kotlin Maven compiler, MINA 2.2.9, Tomcat 11.0.25, PostgreSQL JDBC 42.7.13, Hibernate ORM 7.4.5.Final, LZ4 Java 1.11.2, Apache HTTP Core 5.4.3, Apache HTTP Client 5.6.4, Elasticsearch Java API Client 9.5.1, Commons Configuration 2.15.1, OpenTelemetry 1.65.0, Log4j 2.26.1, Debezium 3.6.1.Final, Bouncy Castle 1.85, ZooKeeper 3.9.5, Wire 6.4.6, Micrometer 1.17.1, RabbitMQ client 5.35.0, Plexus Utils 4.1.0, Logback 1.6.3, Vert.x 5.1.6, Spring Boot 4.1.1, and Spring Framework 7.0.9. It also verifies that Jansi, all Spring Boot 3 / Spring Framework 6 compatibility profiles and artifacts, legacy Debezium configuration keys, Elasticsearch HLRC, embedded Schema Registry server, Hadoop MiniDFSCluster, Jetty, and dependency-owned JUnit platform settings are absent from their governed outputs. +2. Every reactor POM and command-line test fixture resolves the maintained artifact at 5.7.3-pasturestack.4, while generated cluster runtime metadata resolves to numeric version 5.7.3. Maven Wrapper 3.9.16 is downloaded only from Maven Central; its ZIP and tar.gz distributions are verified against separate committed SHA-256 values before execution. The source version gate requires Java 25, Ubuntu 24.04 LTS cloud test images, Checkstyle 14.0.0, Avro 1.12.2, Jackson 2.22.2 and 3.2.2, Janino 3.1.12, Parquet 1.18.0, JLine 4.3.1 with FFM, Protobuf Java 4.36.0 and Python 7.36.0, Netty 4.2.17.Final, Lettuce 7.7.0.RELEASE, Kafka 4.3.1, Confluent Platform 8.3.1, gRPC Java 1.83.1 and Python 1.83.0, Aircompressor 2.0.3, Hadoop 3.5.0, Maven Compiler Plugin 3.15.0, Maven JAR Plugin 3.5.1, Maven Install Plugin 3.1.4, Maven Dependency Plugin 3.11.0, an in-process Kotlin Maven compiler, MINA 2.2.9, Tomcat 11.0.25, PostgreSQL JDBC 42.7.13, Hibernate ORM 7.4.5.Final, LZ4 Java 1.11.2, Apache HTTP Core 5.4.3, Apache HTTP Client 5.6.4, Elasticsearch Java API Client 9.5.1, Commons Configuration 2.15.1, OpenTelemetry 1.65.0, Log4j 2.26.1, Debezium 3.6.1.Final, Bouncy Castle bcprov 1.85.2 with bcpkix/bcutil 1.85, ZooKeeper 3.9.5, Wire 6.4.6, Micrometer 1.17.1, RabbitMQ client 5.35.0, Plexus Utils 4.1.0, Logback 1.6.3, Vert.x 5.1.6, Spring Boot 4.1.1, and Spring Framework 7.0.9. It also verifies that Jansi, all Spring Boot 3 / Spring Framework 6 compatibility profiles and artifacts, legacy Debezium configuration keys, Elasticsearch HLRC, embedded Schema Registry server, Hadoop MiniDFSCluster, Jetty, and dependency-owned JUnit platform settings are absent from their governed outputs. 3. Maven's resolved dependency graph contains those reviewed versions, no older duplicate of the same artifacts, no Elasticsearch HLRC/server/Lucene legacy graph in the Elasticsearch connector, and no `org.eclipse.jetty` graph in the Kafka, SQL, Hadoop distribution, Azure, or S3 modules. -4. The produced file is `hazelcast-5.7.3-pasturestack.3.jar`; its embedded core Maven metadata reports 5.7.3-pasturestack.3, its generated cluster runtime metadata reports numeric version 5.7.3, and its embedded Jackson metadata reports Jackson 2.22.2 and Jackson 3.2.2. The full source commit and abbreviated revision embedded in `GeneratedBuildProperties` must match the OCI revision supplied to the build; unresolved placeholders are rejected during packaging. +4. The produced file is `hazelcast-5.7.3-pasturestack.4.jar`; its embedded core Maven metadata reports 5.7.3-pasturestack.4, its generated cluster runtime metadata reports numeric version 5.7.3, and its embedded Jackson metadata reports Jackson 2.22.2 and Jackson 3.2.2. The full source commit and abbreviated revision embedded in `GeneratedBuildProperties` must match the OCI revision supplied to the build; unresolved placeholders are rejected during packaging. 5. Relevant core, Spring, database, and distribution integration tests pass on Java 25 LTS. The focused source-boundary suite must retain its expected suite and test counts so an accidentally undiscovered test cannot appear successful. 6. Both standalone source-boundary gates complete successfully on the release JDK. 7. `trivy fs --offline-scan --scanners vuln --severity CRITICAL,HIGH` reports zero Critical and zero High findings across the resolved source POMs. diff --git a/distribution/pom.xml b/distribution/pom.xml index 414887bf3a07..830fde66436f 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -21,7 +21,7 @@ com.hazelcast hazelcast-root - 5.7.3-pasturestack.3 + 5.7.3-pasturestack.4 ../pom.xml diff --git a/extensions/avro/pom.xml b/extensions/avro/pom.xml index 60339823722e..47ec1ab04314 100644 --- a/extensions/avro/pom.xml +++ b/extensions/avro/pom.xml @@ -30,7 +30,7 @@ com.hazelcast.jet hazelcast-jet-extensions - 5.7.3-pasturestack.3 + 5.7.3-pasturestack.4 diff --git a/extensions/cdc-debezium/pom.xml b/extensions/cdc-debezium/pom.xml index 2e220a16048e..53135eff4d93 100644 --- a/extensions/cdc-debezium/pom.xml +++ b/extensions/cdc-debezium/pom.xml @@ -29,7 +29,7 @@ com.hazelcast.jet hazelcast-jet-extensions - 5.7.3-pasturestack.3 + 5.7.3-pasturestack.4 diff --git a/extensions/cdc-mysql/pom.xml b/extensions/cdc-mysql/pom.xml index 53681e65f210..6469cdd78cb1 100644 --- a/extensions/cdc-mysql/pom.xml +++ b/extensions/cdc-mysql/pom.xml @@ -29,7 +29,7 @@ com.hazelcast.jet hazelcast-jet-extensions - 5.7.3-pasturestack.3 + 5.7.3-pasturestack.4 diff --git a/extensions/cdc-postgres/pom.xml b/extensions/cdc-postgres/pom.xml index 10a80f6611c8..a8b610e8f581 100644 --- a/extensions/cdc-postgres/pom.xml +++ b/extensions/cdc-postgres/pom.xml @@ -29,7 +29,7 @@ com.hazelcast.jet hazelcast-jet-extensions - 5.7.3-pasturestack.3 + 5.7.3-pasturestack.4 diff --git a/extensions/csv/pom.xml b/extensions/csv/pom.xml index 4fc047df5096..6d335fed81d1 100644 --- a/extensions/csv/pom.xml +++ b/extensions/csv/pom.xml @@ -30,7 +30,7 @@ com.hazelcast.jet hazelcast-jet-extensions - 5.7.3-pasturestack.3 + 5.7.3-pasturestack.4 diff --git a/extensions/elasticsearch/elasticsearch-7/pom.xml b/extensions/elasticsearch/elasticsearch-7/pom.xml index 2bf4a0f9ddfd..dd84466ae835 100644 --- a/extensions/elasticsearch/elasticsearch-7/pom.xml +++ b/extensions/elasticsearch/elasticsearch-7/pom.xml @@ -30,7 +30,7 @@ com.hazelcast.jet hazelcast-jet-extensions - 5.7.3-pasturestack.3 + 5.7.3-pasturestack.4 ../../pom.xml diff --git a/extensions/grpc/pom.xml b/extensions/grpc/pom.xml index 9b5aabb2aa15..3afd16a6c807 100644 --- a/extensions/grpc/pom.xml +++ b/extensions/grpc/pom.xml @@ -27,7 +27,7 @@ com.hazelcast.jet hazelcast-jet-extensions - 5.7.3-pasturestack.3 + 5.7.3-pasturestack.4 diff --git a/extensions/hadoop-dist/files-azure/pom.xml b/extensions/hadoop-dist/files-azure/pom.xml index e4cc32bcb85f..f3a4a9c55de1 100644 --- a/extensions/hadoop-dist/files-azure/pom.xml +++ b/extensions/hadoop-dist/files-azure/pom.xml @@ -29,7 +29,7 @@ com.hazelcast.jet hazelcast-jet-hadoop-dist - 5.7.3-pasturestack.3 + 5.7.3-pasturestack.4 diff --git a/extensions/hadoop-dist/files-gcs/pom.xml b/extensions/hadoop-dist/files-gcs/pom.xml index df14bb7b379e..21d0d4ebdb53 100644 --- a/extensions/hadoop-dist/files-gcs/pom.xml +++ b/extensions/hadoop-dist/files-gcs/pom.xml @@ -29,7 +29,7 @@ com.hazelcast.jet hazelcast-jet-hadoop-dist - 5.7.3-pasturestack.3 + 5.7.3-pasturestack.4 diff --git a/extensions/hadoop-dist/files-s3/pom.xml b/extensions/hadoop-dist/files-s3/pom.xml index da3bcf0c633e..be5c70dd515d 100644 --- a/extensions/hadoop-dist/files-s3/pom.xml +++ b/extensions/hadoop-dist/files-s3/pom.xml @@ -29,7 +29,7 @@ hazelcast-jet-hadoop-dist com.hazelcast.jet - 5.7.3-pasturestack.3 + 5.7.3-pasturestack.4 ../pom.xml diff --git a/extensions/hadoop-dist/hadoop-all/pom.xml b/extensions/hadoop-dist/hadoop-all/pom.xml index 94c24663bf37..b6591d90a71a 100644 --- a/extensions/hadoop-dist/hadoop-all/pom.xml +++ b/extensions/hadoop-dist/hadoop-all/pom.xml @@ -29,7 +29,7 @@ com.hazelcast.jet hazelcast-jet-hadoop-dist - 5.7.3-pasturestack.3 + 5.7.3-pasturestack.4 diff --git a/extensions/hadoop-dist/hadoop/pom.xml b/extensions/hadoop-dist/hadoop/pom.xml index 522aa2e9a00f..02dbf7241edb 100644 --- a/extensions/hadoop-dist/hadoop/pom.xml +++ b/extensions/hadoop-dist/hadoop/pom.xml @@ -27,7 +27,7 @@ com.hazelcast.jet hazelcast-jet-hadoop-dist - 5.7.3-pasturestack.3 + 5.7.3-pasturestack.4 diff --git a/extensions/hadoop-dist/pom.xml b/extensions/hadoop-dist/pom.xml index 25fea0ae174a..648e7527f6e9 100644 --- a/extensions/hadoop-dist/pom.xml +++ b/extensions/hadoop-dist/pom.xml @@ -29,7 +29,7 @@ com.hazelcast.jet hazelcast-jet-extensions - 5.7.3-pasturestack.3 + 5.7.3-pasturestack.4 diff --git a/extensions/hadoop/pom.xml b/extensions/hadoop/pom.xml index baf8627bb71f..c906d313b282 100644 --- a/extensions/hadoop/pom.xml +++ b/extensions/hadoop/pom.xml @@ -29,7 +29,7 @@ com.hazelcast.jet hazelcast-jet-extensions - 5.7.3-pasturestack.3 + 5.7.3-pasturestack.4 diff --git a/extensions/kafka-connect/pom.xml b/extensions/kafka-connect/pom.xml index 2a5e06381128..97775ad7250a 100644 --- a/extensions/kafka-connect/pom.xml +++ b/extensions/kafka-connect/pom.xml @@ -29,7 +29,7 @@ com.hazelcast.jet hazelcast-jet-extensions - 5.7.3-pasturestack.3 + 5.7.3-pasturestack.4 diff --git a/extensions/kafka/pom.xml b/extensions/kafka/pom.xml index ddaa1828d722..d85780953fb5 100644 --- a/extensions/kafka/pom.xml +++ b/extensions/kafka/pom.xml @@ -29,7 +29,7 @@ com.hazelcast.jet hazelcast-jet-extensions - 5.7.3-pasturestack.3 + 5.7.3-pasturestack.4 diff --git a/extensions/kinesis/pom.xml b/extensions/kinesis/pom.xml index 092d7095f25c..3fee533aebc5 100644 --- a/extensions/kinesis/pom.xml +++ b/extensions/kinesis/pom.xml @@ -29,7 +29,7 @@ com.hazelcast.jet hazelcast-jet-extensions - 5.7.3-pasturestack.3 + 5.7.3-pasturestack.4 diff --git a/extensions/mapstore/pom.xml b/extensions/mapstore/pom.xml index 4c5941945b3c..731c9803ed5d 100644 --- a/extensions/mapstore/pom.xml +++ b/extensions/mapstore/pom.xml @@ -32,7 +32,7 @@ com.hazelcast.jet hazelcast-jet-extensions - 5.7.3-pasturestack.3 + 5.7.3-pasturestack.4 diff --git a/extensions/mongodb/pom.xml b/extensions/mongodb/pom.xml index 31cad63e5ebd..220f3e2d56e0 100644 --- a/extensions/mongodb/pom.xml +++ b/extensions/mongodb/pom.xml @@ -31,7 +31,7 @@ com.hazelcast.jet hazelcast-jet-extensions - 5.7.3-pasturestack.3 + 5.7.3-pasturestack.4 diff --git a/extensions/pom.xml b/extensions/pom.xml index 92cef139ba2f..c33cbc46787e 100644 --- a/extensions/pom.xml +++ b/extensions/pom.xml @@ -30,7 +30,7 @@ com.hazelcast hazelcast-root - 5.7.3-pasturestack.3 + 5.7.3-pasturestack.4 diff --git a/extensions/protobuf/pom.xml b/extensions/protobuf/pom.xml index 72dacb1f5c8a..370de728f949 100644 --- a/extensions/protobuf/pom.xml +++ b/extensions/protobuf/pom.xml @@ -30,7 +30,7 @@ com.hazelcast.jet hazelcast-jet-extensions - 5.7.3-pasturestack.3 + 5.7.3-pasturestack.4 diff --git a/extensions/python/pom.xml b/extensions/python/pom.xml index bc71938f2cf1..2240114fbf3d 100644 --- a/extensions/python/pom.xml +++ b/extensions/python/pom.xml @@ -27,7 +27,7 @@ com.hazelcast.jet hazelcast-jet-extensions - 5.7.3-pasturestack.3 + 5.7.3-pasturestack.4 diff --git a/extensions/s3/pom.xml b/extensions/s3/pom.xml index e9b5838dfeb0..edc332d9ad53 100644 --- a/extensions/s3/pom.xml +++ b/extensions/s3/pom.xml @@ -30,7 +30,7 @@ com.hazelcast.jet hazelcast-jet-extensions - 5.7.3-pasturestack.3 + 5.7.3-pasturestack.4 diff --git a/hazelcast-archunit-rules/pom.xml b/hazelcast-archunit-rules/pom.xml index 68abb1c89861..5d81eb75f6f6 100644 --- a/hazelcast-archunit-rules/pom.xml +++ b/hazelcast-archunit-rules/pom.xml @@ -25,7 +25,7 @@ com.hazelcast hazelcast-root - 5.7.3-pasturestack.3 + 5.7.3-pasturestack.4 ../pom.xml diff --git a/hazelcast-build-utils/pom.xml b/hazelcast-build-utils/pom.xml index 7ae67183feee..0f5bce165194 100644 --- a/hazelcast-build-utils/pom.xml +++ b/hazelcast-build-utils/pom.xml @@ -25,7 +25,7 @@ com.hazelcast hazelcast-root - 5.7.3-pasturestack.3 + 5.7.3-pasturestack.4 ../pom.xml diff --git a/hazelcast-coverage-report/pom.xml b/hazelcast-coverage-report/pom.xml index 06277717d55f..30d968a9f071 100644 --- a/hazelcast-coverage-report/pom.xml +++ b/hazelcast-coverage-report/pom.xml @@ -20,7 +20,7 @@ hazelcast-root com.hazelcast - 5.7.3-pasturestack.3 + 5.7.3-pasturestack.4 4.0.0 pom diff --git a/hazelcast-it/distribution-it/pom.xml b/hazelcast-it/distribution-it/pom.xml index 34f95c8ad12a..27f7e82a637f 100644 --- a/hazelcast-it/distribution-it/pom.xml +++ b/hazelcast-it/distribution-it/pom.xml @@ -6,7 +6,7 @@ com.hazelcast hazelcast-it - 5.7.3-pasturestack.3 + 5.7.3-pasturestack.4 distribution-it diff --git a/hazelcast-it/pom.xml b/hazelcast-it/pom.xml index 89b79802d8fb..8fa96aa1cef5 100644 --- a/hazelcast-it/pom.xml +++ b/hazelcast-it/pom.xml @@ -22,7 +22,7 @@ com.hazelcast hazelcast-root - 5.7.3-pasturestack.3 + 5.7.3-pasturestack.4 hazelcast-it diff --git a/hazelcast-parent/pom.xml b/hazelcast-parent/pom.xml index caaf97a14867..99afddb41047 100644 --- a/hazelcast-parent/pom.xml +++ b/hazelcast-parent/pom.xml @@ -23,7 +23,7 @@ com.hazelcast hazelcast-parent pom - 5.7.3-pasturestack.3 + 5.7.3-pasturestack.4 Hazelcast Parent POM Provides a base configuration for Hazelcast Platform builds @@ -536,7 +536,7 @@ org.bouncycastle bcprov-jdk18on - 1.85 + 1.85.2 org.bouncycastle diff --git a/hazelcast-spring-boot-autoconfiguration/hazelcast-spring-boot4/pom.xml b/hazelcast-spring-boot-autoconfiguration/hazelcast-spring-boot4/pom.xml index 1fc1193496cc..07083169dee7 100644 --- a/hazelcast-spring-boot-autoconfiguration/hazelcast-spring-boot4/pom.xml +++ b/hazelcast-spring-boot-autoconfiguration/hazelcast-spring-boot4/pom.xml @@ -25,7 +25,7 @@ com.hazelcast hazelcast-spring-boot-autoconfiguration - 5.7.3-pasturestack.3 + 5.7.3-pasturestack.4 ../pom.xml diff --git a/hazelcast-spring-boot-autoconfiguration/pom.xml b/hazelcast-spring-boot-autoconfiguration/pom.xml index a7549a6c1021..e631f034edee 100644 --- a/hazelcast-spring-boot-autoconfiguration/pom.xml +++ b/hazelcast-spring-boot-autoconfiguration/pom.xml @@ -25,7 +25,7 @@ com.hazelcast hazelcast-root - 5.7.3-pasturestack.3 + 5.7.3-pasturestack.4 ../pom.xml diff --git a/hazelcast-spring-tests/pom.xml b/hazelcast-spring-tests/pom.xml index f8f5cec72a6d..d0e65c5e3220 100644 --- a/hazelcast-spring-tests/pom.xml +++ b/hazelcast-spring-tests/pom.xml @@ -25,7 +25,7 @@ com.hazelcast hazelcast-root - 5.7.3-pasturestack.3 + 5.7.3-pasturestack.4 ../pom.xml diff --git a/hazelcast-spring/pom.xml b/hazelcast-spring/pom.xml index 4e9460f4767b..3f6655a5e8d0 100644 --- a/hazelcast-spring/pom.xml +++ b/hazelcast-spring/pom.xml @@ -25,7 +25,7 @@ com.hazelcast hazelcast-root - 5.7.3-pasturestack.3 + 5.7.3-pasturestack.4 ../pom.xml diff --git a/hazelcast-sql/pom.xml b/hazelcast-sql/pom.xml index 6ee130655680..29036ac67907 100644 --- a/hazelcast-sql/pom.xml +++ b/hazelcast-sql/pom.xml @@ -28,7 +28,7 @@ com.hazelcast hazelcast-root - 5.7.3-pasturestack.3 + 5.7.3-pasturestack.4 ../pom.xml diff --git a/hazelcast-tpc-engine/pom.xml b/hazelcast-tpc-engine/pom.xml index 8ba2117ce014..3435501a7d71 100644 --- a/hazelcast-tpc-engine/pom.xml +++ b/hazelcast-tpc-engine/pom.xml @@ -28,7 +28,7 @@ com.hazelcast hazelcast-root - 5.7.3-pasturestack.3 + 5.7.3-pasturestack.4 ../pom.xml diff --git a/hazelcast/pom.xml b/hazelcast/pom.xml index 72d415a5676d..851d09a78fdc 100644 --- a/hazelcast/pom.xml +++ b/hazelcast/pom.xml @@ -26,7 +26,7 @@ com.hazelcast hazelcast-root - 5.7.3-pasturestack.3 + 5.7.3-pasturestack.4 ../pom.xml diff --git a/hazelcast/src/test/resources/com/hazelcast/client/console/testjob-with-hazelcast-codebase/pom.xml b/hazelcast/src/test/resources/com/hazelcast/client/console/testjob-with-hazelcast-codebase/pom.xml index 7f24af8cf409..dd80409f723f 100644 --- a/hazelcast/src/test/resources/com/hazelcast/client/console/testjob-with-hazelcast-codebase/pom.xml +++ b/hazelcast/src/test/resources/com/hazelcast/client/console/testjob-with-hazelcast-codebase/pom.xml @@ -16,7 +16,7 @@ com.hazelcast hazelcast - 5.7.3-pasturestack.3 + 5.7.3-pasturestack.4 diff --git a/hazelcast/src/test/resources/com/hazelcast/client/console/testjob-with-hz-bootstrap/pom.xml b/hazelcast/src/test/resources/com/hazelcast/client/console/testjob-with-hz-bootstrap/pom.xml index 8b461116cadd..4e45f1c6a087 100644 --- a/hazelcast/src/test/resources/com/hazelcast/client/console/testjob-with-hz-bootstrap/pom.xml +++ b/hazelcast/src/test/resources/com/hazelcast/client/console/testjob-with-hz-bootstrap/pom.xml @@ -17,7 +17,7 @@ com.hazelcast hazelcast - 5.7.3-pasturestack.3 + 5.7.3-pasturestack.4 diff --git a/hazelcast/src/test/resources/com/hazelcast/client/console/testjob-with-jet-bootstrap/pom.xml b/hazelcast/src/test/resources/com/hazelcast/client/console/testjob-with-jet-bootstrap/pom.xml index 0bf7e592063f..ccaae2149de9 100644 --- a/hazelcast/src/test/resources/com/hazelcast/client/console/testjob-with-jet-bootstrap/pom.xml +++ b/hazelcast/src/test/resources/com/hazelcast/client/console/testjob-with-jet-bootstrap/pom.xml @@ -16,7 +16,7 @@ com.hazelcast hazelcast - 5.7.3-pasturestack.3 + 5.7.3-pasturestack.4 diff --git a/modulepath-tests/pom.xml b/modulepath-tests/pom.xml index 0c3ba98f5b0f..9c08eed5943b 100644 --- a/modulepath-tests/pom.xml +++ b/modulepath-tests/pom.xml @@ -27,7 +27,7 @@ com.hazelcast hazelcast-root - 5.7.3-pasturestack.3 + 5.7.3-pasturestack.4 ../pom.xml diff --git a/pom.xml b/pom.xml index ea8e6231e914..0f05399b4c4f 100644 --- a/pom.xml +++ b/pom.xml @@ -23,7 +23,7 @@ com.hazelcast hazelcast-parent - 5.7.3-pasturestack.3 + 5.7.3-pasturestack.4 hazelcast-parent/pom.xml @@ -34,7 +34,7 @@ https://github.com/mojohaus/versions/blob/a40373df037b6bcebd915901f72433891bfe691e/versions-maven-plugin/src/main/java/org/codehaus/mojo/versions/SetMojo.java#L330-L332 So instead we need to duplicate --> - 5.7.3-pasturestack.3 + 5.7.3-pasturestack.4 pom Hazelcast Root Hazelcast In-Memory DataGrid diff --git a/scripts/pasturestack-build-runtime b/scripts/pasturestack-build-runtime index f18171c49018..d31739a911ba 100755 --- a/scripts/pasturestack-build-runtime +++ b/scripts/pasturestack-build-runtime @@ -3,14 +3,14 @@ set -euo pipefail cd "$(dirname "$0")/.." -runtime_version=5.7.3-pasturestack.3 +runtime_version=5.7.3-pasturestack.4 output_dir=${PASTURESTACK_OUTPUT_DIR:-dist} jar_source="hazelcast/target/hazelcast-${runtime_version}.jar" jar_target="${output_dir}/hazelcast-${runtime_version}.jar" # Fail before compiling if a reviewed security floor is accidentally reverted. if find . -name pom.xml -type f -exec grep -l '5.7.0' {} + | grep -q .; then - echo 'PASTURESTACK_PROJECT_VERSION_MISMATCH expected=5.7.3-pasturestack.3' >&2 + echo 'PASTURESTACK_PROJECT_VERSION_MISMATCH expected=5.7.3-pasturestack.4' >&2 exit 1 fi grep -Fq '4.1.1' hazelcast-parent/pom.xml @@ -72,7 +72,9 @@ grep -A2 -F 'httpclient5' hazelcast-parent/pom.xml | gr grep -A2 -F 'commons-configuration2' hazelcast-parent/pom.xml | grep -Fq '2.15.1' grep -A2 -F 'opentelemetry-api' hazelcast-parent/pom.xml | grep -Fq '1.65.0' grep -A2 -F 'log4j-bom' hazelcast-parent/pom.xml | grep -Fq '2.26.1' -grep -A2 -F 'bcprov-jdk18on' hazelcast-parent/pom.xml | grep -Fq '1.85' +grep -A2 -F 'bcprov-jdk18on' hazelcast-parent/pom.xml | grep -Fq '1.85.2' +grep -A2 -F 'bcpkix-jdk18on' hazelcast-parent/pom.xml | grep -Fq '1.85' +grep -A2 -F 'bcutil-jdk18on' hazelcast-parent/pom.xml | grep -Fq '1.85' grep -A2 -F 'zookeeper' hazelcast-parent/pom.xml | grep -Fq '3.9.5' grep -A2 -F 'wire-runtime-jvm' hazelcast-parent/pom.xml | grep -Fq '6.4.6' grep -A2 -F 'micrometer-core' hazelcast-parent/pom.xml | grep -Fq '1.17.1' @@ -119,9 +121,9 @@ grep -Fq '${postgresql.version}' hazelcast-parent/pom.xml grep -Fq '${tomcat.embed.version}' pom.xml grep -Fq 'org.hibernate.orm' hazelcast-it/distribution-it/pom.xml grep -Fq '${hibernate.orm.version}' hazelcast-it/distribution-it/pom.xml -grep -Fq '5.7.3-pasturestack.3' hazelcast/src/test/resources/com/hazelcast/client/console/testjob-with-hazelcast-codebase/pom.xml -grep -Fq '5.7.3-pasturestack.3' hazelcast/src/test/resources/com/hazelcast/client/console/testjob-with-hz-bootstrap/pom.xml -grep -Fq '5.7.3-pasturestack.3' hazelcast/src/test/resources/com/hazelcast/client/console/testjob-with-jet-bootstrap/pom.xml +grep -Fq '5.7.3-pasturestack.4' hazelcast/src/test/resources/com/hazelcast/client/console/testjob-with-hazelcast-codebase/pom.xml +grep -Fq '5.7.3-pasturestack.4' hazelcast/src/test/resources/com/hazelcast/client/console/testjob-with-hz-bootstrap/pom.xml +grep -Fq '5.7.3-pasturestack.4' hazelcast/src/test/resources/com/hazelcast/client/console/testjob-with-jet-bootstrap/pom.xml grep -Fq '3.15.0' hazelcast/src/test/resources/com/hazelcast/client/console/testjob-with-hazelcast-codebase/pom.xml grep -Fq '3.15.0' hazelcast/src/test/resources/com/hazelcast/client/console/testjob-with-hz-bootstrap/pom.xml grep -Fq '3.15.0' hazelcast/src/test/resources/com/hazelcast/client/console/testjob-with-jet-bootstrap/pom.xml diff --git a/scripts/pasturestack-verify-maven-evidence.py b/scripts/pasturestack-verify-maven-evidence.py index b9ca356c04d9..125033d31b5b 100644 --- a/scripts/pasturestack-verify-maven-evidence.py +++ b/scripts/pasturestack-verify-maven-evidence.py @@ -8,7 +8,7 @@ MAVEN_NAMESPACE = {"m": "http://maven.apache.org/POM/4.0.0"} -EXPECTED_RUNTIME = ("com.hazelcast", "hazelcast", "5.7.3-pasturestack.3") +EXPECTED_RUNTIME = ("com.hazelcast", "hazelcast", "5.7.3-pasturestack.4") def required_text(element, name):