Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ jobs:
build:
docker:
# specify the version you desire here
- image: cimg/openjdk:11.0.29
- image: cimg/openjdk:17.0

Comment on lines 9 to 11

Copilot AI Apr 7, 2026

Copy link

Choose a reason for hiding this comment

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

The CircleCI image tag is now cimg/openjdk:17.0 (floating). This can change underneath you and introduce non-reproducible CI failures. Consider pinning to a specific patch tag (e.g., cimg/openjdk:17.0.x) and updating intentionally.

Copilot uses AI. Check for mistakes.
# Specify service dependencies here if necessary
# CircleCI maintains a library of pre-built images
Expand Down Expand Up @@ -49,7 +49,7 @@ jobs:

snyk_test:
docker:
- image: cimg/openjdk:11.0.29 # this should match what's used in the rest of the project
- image: cimg/openjdk:17.0 # this should match what's used in the rest of the project
steps:
Comment on lines 50 to 53

Copilot AI Apr 7, 2026

Copy link

Choose a reason for hiding this comment

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

Same issue here: cimg/openjdk:17.0 is a floating tag and may introduce non-reproducible CI behavior. Consider pinning to a specific 17.0.x patch tag.

Copilot uses AI. Check for mistakes.
- checkout
- setup_remote_docker
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,10 +47,10 @@ jobs:
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main

- name: Set up JDK 11
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '11'
java-version: '17'
distribution: 'zulu'

- name: Grant execute permission for gradlew
Expand Down
20 changes: 8 additions & 12 deletions .github/workflows/gradle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ jobs:
- name: Get Fetch Tags
run: git -c protocol.version=2 fetch --tags --progress --no-recurse-submodules origin
if: "!contains(github.ref, 'refs/tags')"
- name: Set up JDK 11
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '11'
java-version: '17'
distribution: 'zulu'
- name: Grant execute permission for gradlew
run: chmod +x gradlew
Expand All @@ -32,13 +32,8 @@ jobs:
needs: build
strategy:
matrix:
jdk: [ "openjdk-11-jdk","openjdk-17-jdk","openjdk-21-jdk" ]
ubuntu: ["20.04", "22.04"]
include:
- jdk: 'openjdk-11-jdk'
ubuntu: '18.04'
- jdk: 'openjdk-17-jdk'
ubuntu: '18.04'
jdk: ["openjdk-17-jdk","openjdk-21-jdk", "openjdk-25-jdk" ]
ubuntu: ["22.04"]
steps:
- uses: actions/checkout@v3
with:
Expand All @@ -60,7 +55,8 @@ jobs:
needs: build
strategy:
matrix:
jdk: [ "java-11-openjdk","java-17-openjdk","java-21-openjdk" ]
# UBI 8 repos ship 17 and 21; java-25-openjdk is not available on el8
jdk: ["java-17-openjdk","java-21-openjdk"]
steps:
- uses: actions/checkout@v3
with:
Expand All @@ -87,10 +83,10 @@ jobs:
- name: Get Fetch Tags
run: git -c protocol.version=2 fetch --tags --progress --no-recurse-submodules origin
if: "!contains(github.ref, 'refs/tags')"
- name: Set up JDK 11
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '11'
java-version: '17'
distribution: 'zulu'
- name: Grant execute permission for gradlew
run: chmod +x gradlew
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@ jobs:
with:
fetch-depth: 0
submodules: true
- name: Set up JDK 11
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '11'
java-version: '17'
distribution: 'zulu'
- name: Build with Gradle
run: ./gradlew build
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/test-signing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@ jobs:
with:
fetch-depth: 0
submodules: true
- name: Set up JDK 11
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '11'
java-version: '17'
distribution: 'zulu'
- name: Build with Gradle
run: ./gradlew build
Expand Down
9 changes: 8 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,14 @@
## Unreleased

* **Security Fix**: External extension directory loading is now disabled by default to prevent arbitrary code execution vulnerability. To enable extension loading from external directories, set environment variable `RD_EXT_DISABLED=false`. (Addresses RUN-3540)
## 3.0.0

* **Breaking change**: Java 17 or later is required to run the CLI and to build from source. Java 11 is no longer supported.
* **Security**: External extension directory loading is now disabled by default to prevent arbitrary code execution. To enable extension loading from external directories, set environment variable `RD_EXT_DISABLED=false`. (Addresses RUN-3540)
* Build: Gradle 8, Groovy 4, and dependency updates (including Jackson).
* CI and packaging tests: workflows and Docker-based install/upgrade tests now target Java 17 and later (Java 11 combinations removed).
* Documentation: the in-repo Jekyll site under `docs/` was removed; use the [published CLI documentation](https://docs.rundeck.com/docs/rd-cli/) and [changelog](https://rundeck.github.io/rundeck-cli/changes/) on the web.

[Changes](https://github.com/rundeck/rundeck-cli/compare/v2.0.9...v3.0.0)

## 2.0.9

Expand Down
5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,11 @@ Dependency verification is automatically updated by Renovate when dependencies c

This updates both `gradle/verification-metadata.xml` (trusted keys) and `gradle/verification-keyring.keys` (PGP keyring). Commit both files.

**Rundeck `X.Y.Z-SNAPSHOT`:** If that command fails with `Multiple entries with same key` for `org.rundeck:rundeck-authz-*`, Gradle merged two different snapshot builds in one run. Use one of these approaches:

1. Temporarily set `rundeck` in `gradle/libs.versions.toml` to a **released** version on Maven Central (see `org.rundeck:rundeck-authz-core` there), run the command above, then restore `X.Y.Z-SNAPSHOT` and **re-apply** the Sonatype snapshot checksum blocks for the authz JARs/modules (or copy them from a prior commit).
2. Add or adjust checksums and trusted keys **by hand** for the new snapshot build, using artifacts from [Sonatype snapshots](https://central.sonatype.com/repository/maven-snapshots/).

## Refresh Dependency Verification Keys

After a failed build.
Expand Down
12 changes: 9 additions & 3 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ subprojects{
apply plugin: "java-library"

java {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
withJavadocJar()
withSourcesJar()
}
Expand Down Expand Up @@ -165,9 +165,15 @@ allprojects {
project.version = scmVersion.version
ext.rpmVersion=project.version.replaceAll('-', '.')

// Central and Sonatype snapshots before mavenLocal() so org.rundeck artifacts are not
// shadowed by stale ~/.m2 copies (avoids duplicate verification / metadata merge issues).
repositories {
mavenLocal()
mavenCentral()
maven {
url = uri('https://central.sonatype.com/repository/maven-snapshots/')
mavenContent { snapshotsOnly() }
}
mavenLocal()
}
}

Expand Down
2 changes: 1 addition & 1 deletion dockers/install/rpm/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
FROM redhat/ubi8
ARG JDK=java-11-openjdk
ARG JDK=java-17-openjdk
RUN yum -y update
RUN yum -y install ${JDK} ${JDK}-devel which
RUN which java
Expand Down
2 changes: 1 addition & 1 deletion dockers/install/upgrade-rpm/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
FROM redhat/ubi8

ARG JDK=java-11-openjdk
ARG JDK=java-17-openjdk
RUN yum -y update
RUN yum -y install ${JDK} ${JDK}-devel which
RUN which java
Expand Down
3 changes: 0 additions & 3 deletions docs/.gitignore

This file was deleted.

1 change: 0 additions & 1 deletion docs/.ruby-version

This file was deleted.

27 changes: 0 additions & 27 deletions docs/Gemfile

This file was deleted.

91 changes: 0 additions & 91 deletions docs/Gemfile.lock

This file was deleted.

File renamed without changes.
6 changes: 0 additions & 6 deletions docs/_changes.md

This file was deleted.

36 changes: 0 additions & 36 deletions docs/_config.yml

This file was deleted.

43 changes: 0 additions & 43 deletions docs/_includes/footer.html

This file was deleted.

Loading
Loading