Skip to content

Release SonarQube Server 2026.4.0#21886

Closed
hatem-amairi-sonarsource wants to merge 1 commit into
docker-library:masterfrom
hatem-amairi-sonarsource:ha/release-sonarqube-2026.4.0
Closed

Release SonarQube Server 2026.4.0#21886
hatem-amairi-sonarsource wants to merge 1 commit into
docker-library:masterfrom
hatem-amairi-sonarsource:ha/release-sonarqube-2026.4.0

Conversation

@hatem-amairi-sonarsource

Copy link
Copy Markdown
Contributor

Dear team,

We would like to release SonarQube Server 2026.4.0.
Can you please review the changes?

Thank you!

@github-actions

Copy link
Copy Markdown
Diff for f3f71f2:
diff --git a/_bashbrew-cat b/_bashbrew-cat
index 47cd4b0..5839aa9 100644
--- a/_bashbrew-cat
+++ b/_bashbrew-cat
@@ -67,18 +67,18 @@ GitFetch: refs/heads/release/2026.1
 GitCommit: 21dbae3d7df8f96e641955104c459a18ad50c396
 Directory: commercial-editions/enterprise
 
-Tags: 2026.3.1-datacenter-app, 2026.3-datacenter-app, datacenter-app
-GitCommit: 824ea0f883def7b7f1b35cfa9b87a6a20f616167
+Tags: 2026.4.0-datacenter-app, 2026.4-datacenter-app, datacenter-app
+GitCommit: df763725b9369e976aa8a4c1c4b86c939daa98e5
 Directory: commercial-editions/datacenter/app
 
-Tags: 2026.3.1-datacenter-search, 2026.3-datacenter-search, datacenter-search
-GitCommit: 824ea0f883def7b7f1b35cfa9b87a6a20f616167
+Tags: 2026.4.0-datacenter-search, 2026.4-datacenter-search, datacenter-search
+GitCommit: df763725b9369e976aa8a4c1c4b86c939daa98e5
 Directory: commercial-editions/datacenter/search
 
-Tags: 2026.3.1-developer, 2026.3-developer, developer
-GitCommit: 824ea0f883def7b7f1b35cfa9b87a6a20f616167
+Tags: 2026.4.0-developer, 2026.4-developer, developer
+GitCommit: df763725b9369e976aa8a4c1c4b86c939daa98e5
 Directory: commercial-editions/developer
 
-Tags: 2026.3.1-enterprise, 2026.3-enterprise, enterprise
-GitCommit: 824ea0f883def7b7f1b35cfa9b87a6a20f616167
+Tags: 2026.4.0-enterprise, 2026.4-enterprise, enterprise
+GitCommit: df763725b9369e976aa8a4c1c4b86c939daa98e5
 Directory: commercial-editions/enterprise
diff --git a/_bashbrew-list b/_bashbrew-list
index 23a7bd3..ff5d6f8 100644
--- a/_bashbrew-list
+++ b/_bashbrew-list
@@ -35,14 +35,14 @@ sonarqube:2026.1.3-datacenter-app
 sonarqube:2026.1.3-datacenter-search
 sonarqube:2026.1.3-developer
 sonarqube:2026.1.3-enterprise
-sonarqube:2026.3-datacenter-app
-sonarqube:2026.3-datacenter-search
-sonarqube:2026.3-developer
-sonarqube:2026.3-enterprise
-sonarqube:2026.3.1-datacenter-app
-sonarqube:2026.3.1-datacenter-search
-sonarqube:2026.3.1-developer
-sonarqube:2026.3.1-enterprise
+sonarqube:2026.4-datacenter-app
+sonarqube:2026.4-datacenter-search
+sonarqube:2026.4-developer
+sonarqube:2026.4-enterprise
+sonarqube:2026.4.0-datacenter-app
+sonarqube:2026.4.0-datacenter-search
+sonarqube:2026.4.0-developer
+sonarqube:2026.4.0-enterprise
 sonarqube:community
 sonarqube:datacenter-app
 sonarqube:datacenter-search
diff --git a/sonarqube_datacenter-app/Dockerfile b/sonarqube_datacenter-app/Dockerfile
index b670e5d..0df9838 100644
--- a/sonarqube_datacenter-app/Dockerfile
+++ b/sonarqube_datacenter-app/Dockerfile
@@ -14,7 +14,7 @@ ENV LANG='en_US.UTF-8' \
 #
 # SonarQube setup
 #
-ARG SONARQUBE_VERSION=2026.3.1.123439
+ARG SONARQUBE_VERSION=2026.4.0.125547
 ARG SONARQUBE_ZIP_URL=https://binaries.sonarsource.com/CommercialDistribution/sonarqube-datacenter/sonarqube-datacenter-${SONARQUBE_VERSION}.zip
 ENV DOCKER_RUNNING="true" \
     JAVA_HOME='/opt/java/openjdk' \
diff --git a/sonarqube_datacenter-app/run.sh b/sonarqube_datacenter-app/run.sh
index b0e968b..9754a7b 100755
--- a/sonarqube_datacenter-app/run.sh
+++ b/sonarqube_datacenter-app/run.sh
@@ -3,7 +3,37 @@
 set -euo pipefail
 
 HOSTNAME=$(hostname)
-IP=$(ip -4 address show scope global | grep inet | awk '{ print $2 }' | head -n 1 | cut -d \/ -f 1)
+
+log() { printf '[run.sh] %s\n' "$*" >&2; }
+
+discover_ip() {
+    if [[ "${1}" == "4" ]]; then
+        # Skip 169.254.0.0/16: link-local per RFC 3927 but promoted to scope global
+        # by some CNIs (e.g. AWS VPC CNI on IPv6-only EKS for IPv4 egress interop).
+        ip -4 address show scope global | grep inet | awk '{ print $2 }' | cut -d \/ -f 1 | grep -v '^169\.254\.' | head -n 1 || true
+    else
+        ip -6 address show scope global | grep inet6 | awk '{ print $2 }' | head -n 1 | cut -d \/ -f 1 || true
+    fi
+}
+
+# Resolve this node's cluster address: prefer the explicit SONAR_CLUSTER_NODE_HOST, else autodiscover
+# a global-scope address (IPv4 then IPv6).
+resolve_node_ip() {
+    if [[ -n "${SONAR_CLUSTER_NODE_HOST:-}" ]]; then
+        log "Cluster node host set via SONAR_CLUSTER_NODE_HOST=${SONAR_CLUSTER_NODE_HOST}"
+        printf '%s' "${SONAR_CLUSTER_NODE_HOST}"
+        return
+    fi
+
+    log "SONAR_CLUSTER_NODE_HOST not set; autodiscovering node address."
+    local discovered
+    discovered=$(discover_ip 4)
+    [[ -z "${discovered}" ]] && discovered=$(discover_ip 6)
+    log "Autodiscovered cluster node IP: ${discovered:-<none found>}"
+    printf '%s' "${discovered}"
+}
+
+IP=$(resolve_node_ip)
 
 declare -a sq_opts=()
 set_prop() {
diff --git a/sonarqube_datacenter-search/Dockerfile b/sonarqube_datacenter-search/Dockerfile
index 5d76b35..39ce889 100644
--- a/sonarqube_datacenter-search/Dockerfile
+++ b/sonarqube_datacenter-search/Dockerfile
@@ -14,7 +14,7 @@ ENV LANG='en_US.UTF-8' \
 #
 # SonarQube setup
 #
-ARG SONARQUBE_VERSION=2026.3.1.123439
+ARG SONARQUBE_VERSION=2026.4.0.125547
 ARG SONARQUBE_ZIP_URL=https://binaries.sonarsource.com/CommercialDistribution/sonarqube-datacenter/sonarqube-datacenter-${SONARQUBE_VERSION}.zip
 ENV DOCKER_RUNNING="true" \
     JAVA_HOME='/opt/java/openjdk' \
diff --git a/sonarqube_datacenter-search/run.sh b/sonarqube_datacenter-search/run.sh
index 0da35aa..14de0fb 100755
--- a/sonarqube_datacenter-search/run.sh
+++ b/sonarqube_datacenter-search/run.sh
@@ -3,7 +3,37 @@
 set -euo pipefail
 
 HOSTNAME=$(hostname)
-IP=$(ip -4 address show scope global | grep inet | awk '{ print $2 }' | head -n 1 | cut -d \/ -f 1)
+
+log() { printf '[run.sh] %s\n' "$*" >&2; }
+
+discover_ip() {
+    if [[ "${1}" == "4" ]]; then
+        # Skip 169.254.0.0/16: link-local per RFC 3927 but promoted to scope global
+        # by some CNIs (e.g. AWS VPC CNI on IPv6-only EKS for IPv4 egress interop).
+        ip -4 address show scope global | grep inet | awk '{ print $2 }' | cut -d \/ -f 1 | grep -v '^169\.254\.' | head -n 1 || true
+    else
+        ip -6 address show scope global | grep inet6 | awk '{ print $2 }' | head -n 1 | cut -d \/ -f 1 || true
+    fi
+}
+
+# Resolve this node's cluster address: prefer the explicit SONAR_CLUSTER_NODE_HOST, else autodiscover
+# a global-scope address (IPv4 then IPv6).
+resolve_node_ip() {
+    if [[ -n "${SONAR_CLUSTER_NODE_HOST:-}" ]]; then
+        log "Cluster node host set via SONAR_CLUSTER_NODE_HOST=${SONAR_CLUSTER_NODE_HOST}"
+        printf '%s' "${SONAR_CLUSTER_NODE_HOST}"
+        return
+    fi
+
+    log "SONAR_CLUSTER_NODE_HOST not set; autodiscovering node address."
+    local discovered
+    discovered=$(discover_ip 4)
+    [[ -z "${discovered}" ]] && discovered=$(discover_ip 6)
+    log "Autodiscovered cluster node IP: ${discovered:-<none found>}"
+    printf '%s' "${discovered}"
+}
+
+IP=$(resolve_node_ip)
 
 declare -a sq_opts=()
 set_prop() {
diff --git a/sonarqube_developer/Dockerfile b/sonarqube_developer/Dockerfile
index 379c59d..0dfd0e5 100644
--- a/sonarqube_developer/Dockerfile
+++ b/sonarqube_developer/Dockerfile
@@ -14,7 +14,7 @@ ENV LANG='en_US.UTF-8' \
 #
 # SonarQube setup
 #
-ARG SONARQUBE_VERSION=2026.3.1.123439
+ARG SONARQUBE_VERSION=2026.4.0.125547
 ARG SONARQUBE_ZIP_URL=https://binaries.sonarsource.com/CommercialDistribution/sonarqube-developer/sonarqube-developer-${SONARQUBE_VERSION}.zip
 ENV DOCKER_RUNNING="true" \
     JAVA_HOME='/opt/java/openjdk' \
diff --git a/sonarqube_enterprise/Dockerfile b/sonarqube_enterprise/Dockerfile
index 577ec8e..6425976 100644
--- a/sonarqube_enterprise/Dockerfile
+++ b/sonarqube_enterprise/Dockerfile
@@ -14,7 +14,7 @@ ENV LANG='en_US.UTF-8' \
 #
 # SonarQube setup
 #
-ARG SONARQUBE_VERSION=2026.3.1.123439
+ARG SONARQUBE_VERSION=2026.4.0.125547
 ARG SONARQUBE_ZIP_URL=https://binaries.sonarsource.com/CommercialDistribution/sonarqube-enterprise/sonarqube-enterprise-${SONARQUBE_VERSION}.zip
 ENV DOCKER_RUNNING="true" \
     JAVA_HOME='/opt/java/openjdk' \

Relevant Maintainers:

@hatem-amairi-sonarsource

hatem-amairi-sonarsource commented Jul 21, 2026

Copy link
Copy Markdown
Contributor Author

Hello. I will close this as we need to release at a later time. Sorry for the noise.

@hatem-amairi-sonarsource
hatem-amairi-sonarsource deleted the ha/release-sonarqube-2026.4.0 branch July 21, 2026 14:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant