diff --git a/README.md b/README.md
index b8d94e572..f8c3b2456 100644
--- a/README.md
+++ b/README.md
@@ -19,14 +19,14 @@ ES-Hadoop 2.0.x and 2.1.x are compatible with Elasticsearch __1.X__ *only*
## Installation
-### Stable Release (currently `8.4.0`)
+### Stable Release (currently `8.15.3`)
Available through any Maven-compatible tool:
```xml
org.elasticsearch
elasticsearch-hadoop
- 8.4.0
+ 8.15.3
```
or as a stand-alone [ZIP](http://www.elastic.co/downloads/hadoop).
@@ -38,7 +38,7 @@ Grab the latest nightly build from the [repository](http://oss.sonatype.org/cont
org.elasticsearch
elasticsearch-hadoop
- 8.15.0-SNAPSHOT
+ 8.15.4-SNAPSHOT
```
diff --git a/buildSrc/esh-version.properties b/buildSrc/esh-version.properties
index 6d61d636d..676875e7c 100644
--- a/buildSrc/esh-version.properties
+++ b/buildSrc/esh-version.properties
@@ -1,4 +1,4 @@
-eshadoop = 8.15.0
-elasticsearch = 8.15.0
+eshadoop = 8.15.4
+elasticsearch = 8.15.4
lucene = 9.0.0
-build-tools = 8.15.0
+build-tools = 8.15.4
diff --git a/docs/src/reference/asciidoc/appendix/release-notes/8.14.3.adoc b/docs/src/reference/asciidoc/appendix/release-notes/8.14.3.adoc
new file mode 100644
index 000000000..45a6c8c48
--- /dev/null
+++ b/docs/src/reference/asciidoc/appendix/release-notes/8.14.3.adoc
@@ -0,0 +1,5 @@
+[[eshadoop-8.14.3]]
+== Elasticsearch for Apache Hadoop version 8.14.3
+
+ES-Hadoop 8.14.3 is a version compatibility release, tested specifically against
+Elasticsearch 8.14.3.
diff --git a/docs/src/reference/asciidoc/appendix/release-notes/8.15.0.adoc b/docs/src/reference/asciidoc/appendix/release-notes/8.15.0.adoc
new file mode 100644
index 000000000..73a424650
--- /dev/null
+++ b/docs/src/reference/asciidoc/appendix/release-notes/8.15.0.adoc
@@ -0,0 +1,11 @@
+[[eshadoop-8.15.0]]
+== Elasticsearch for Apache Hadoop version 8.15.0
+
+[[enhancements-8.15.0]]
+=== Enhancements
+Build::
+* Upgrade Spark to 3.4.3 and Hive to 3.1.3
+https://github.com/elastic/elasticsearch-hadoop/pull/2231[#2231]
+Spark::
+* Clean up Spark dependency lists
+https://github.com/elastic/elasticsearch-hadoop/pull/2217[#2217]
diff --git a/docs/src/reference/asciidoc/appendix/release-notes/8.15.1.adoc b/docs/src/reference/asciidoc/appendix/release-notes/8.15.1.adoc
new file mode 100644
index 000000000..03610e8f3
--- /dev/null
+++ b/docs/src/reference/asciidoc/appendix/release-notes/8.15.1.adoc
@@ -0,0 +1,5 @@
+[[eshadoop-8.15.1]]
+== Elasticsearch for Apache Hadoop version 8.15.1
+
+ES-Hadoop 8.15.1 is a version compatibility release, tested specifically against
+Elasticsearch 8.15.1.
\ No newline at end of file
diff --git a/docs/src/reference/asciidoc/appendix/release-notes/8.15.3.adoc b/docs/src/reference/asciidoc/appendix/release-notes/8.15.3.adoc
new file mode 100644
index 000000000..b765c0cad
--- /dev/null
+++ b/docs/src/reference/asciidoc/appendix/release-notes/8.15.3.adoc
@@ -0,0 +1,5 @@
+[[eshadoop-8.15.3]]
+== Elasticsearch for Apache Hadoop version 8.15.3
+
+ES-Hadoop 8.15.3 is a version compatibility release, tested specifically against
+Elasticsearch 8.15.3.
diff --git a/docs/src/reference/asciidoc/appendix/release.adoc b/docs/src/reference/asciidoc/appendix/release.adoc
index 3740ddd9b..1425fa833 100644
--- a/docs/src/reference/asciidoc/appendix/release.adoc
+++ b/docs/src/reference/asciidoc/appendix/release.adoc
@@ -9,6 +9,10 @@ This section summarizes the changes in each release.
[[release-notes-8]]
===== 8.x
+* <>
+* <>
+* <>
+* <>
* <>
* <>
* <>
@@ -110,6 +114,10 @@ Elasticsearch 5.3.1.
////////////////////////
+include::release-notes/8.15.3.adoc[]
+include::release-notes/8.15.1.adoc[]
+include::release-notes/8.15.0.adoc[]
+include::release-notes/8.14.3.adoc[]
include::release-notes/8.14.2.adoc[]
include::release-notes/8.14.1.adoc[]
include::release-notes/8.14.0.adoc[]
diff --git a/docs/src/reference/asciidoc/core/troubleshooting.adoc b/docs/src/reference/asciidoc/core/troubleshooting.adoc
index cc3517758..7abf103f1 100644
--- a/docs/src/reference/asciidoc/core/troubleshooting.adoc
+++ b/docs/src/reference/asciidoc/core/troubleshooting.adoc
@@ -69,7 +69,7 @@ Indexing performance depends _heavily_ on the type of data being targeted and it
[[help]]
=== Getting help
-If you need help, there is a strong, helpful community of users on the https://discuss.elastic.co/c/elasticsearch-and-hadoop[forum] and http://www.elastic.co/community/[IRC] who are happy to help out.
+If you need help, there is a strong, helpful community of users on the https://discuss.elastic.co/c/elasticsearch-and-hadoop[forum] and http://www.elastic.co/community/[Slack] who are happy to help out.
If something is not working, there are two possibilities:
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
index e6441136f..2c3521197 100644
Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 8a1f6b97f..2b189974c 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,7 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionSha256Sum=a4b4158601f8636cdeeab09bd76afb640030bb5b144aafe261a5e8af027dc612
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip
+distributionSha256Sum=5b9c5eb3f9fc2c94abaea57d90bd78747ca117ddbbf96c859d3741181a12bf2a
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.10-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
diff --git a/gradlew b/gradlew
index b740cf133..f5feea6d6 100755
--- a/gradlew
+++ b/gradlew
@@ -15,6 +15,8 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
+# SPDX-License-Identifier: Apache-2.0
+#
##############################################################################
#
@@ -84,7 +86,8 @@ done
# shellcheck disable=SC2034
APP_BASE_NAME=${0##*/}
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
-APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit
+APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s
+' "$PWD" ) || exit
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum
diff --git a/gradlew.bat b/gradlew.bat
index 7101f8e46..9b42019c7 100644
--- a/gradlew.bat
+++ b/gradlew.bat
@@ -13,6 +13,8 @@
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
@rem
+@rem SPDX-License-Identifier: Apache-2.0
+@rem
@if "%DEBUG%"=="" @echo off
@rem ##########################################################################