update gradle version to 7.5.1 and update hashes
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index a9698d7..b615060 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -52,7 +52,7 @@
     needs: compiler
     runs-on: ubuntu-20.04
     env:
-      GRADLE_VERSION: 7.4.2
+      GRADLE_VERSION: 7.5.1
     steps:
       - uses: actions/checkout@v3
 
@@ -71,7 +71,7 @@
       - name: Setup gradle
         run: |
           wget https://services.gradle.org/distributions/gradle-$GRADLE_VERSION-bin.zip -q -O /tmp/gradle-$GRADLE_VERSION-bin.zip
-          (echo "29e49b10984e585d8118b7d0bc452f944e386458df27371b49b4ac1dec4b7fda  /tmp/gradle-$GRADLE_VERSION-bin.zip" | sha256sum -c -)
+          (echo "f6b8596b10cce501591e92f229816aa4046424f3b24d771751b06779d58c8ec4  /tmp/gradle-$GRADLE_VERSION-bin.zip" | sha256sum -c -)
           unzip -d /tmp /tmp/gradle-$GRADLE_VERSION-bin.zip
           sudo mv /tmp/gradle-$GRADLE_VERSION /usr/local/gradle
           sudo ln -s /usr/local/gradle/bin/gradle /usr/local/bin
diff --git a/build/docker/ubuntu-bionic/Dockerfile b/build/docker/ubuntu-bionic/Dockerfile
index 1c859dd..a673351 100644
--- a/build/docker/ubuntu-bionic/Dockerfile
+++ b/build/docker/ubuntu-bionic/Dockerfile
@@ -22,8 +22,8 @@
 ### Add apt repos
 
 RUN apt-get update && \
-    apt-get dist-upgrade -y && \
-    apt-get install -y --no-install-recommends --fix-missing \
+      apt-get dist-upgrade -y && \
+      apt-get install -y --no-install-recommends --fix-missing \
       apt \
       apt-transport-https \
       apt-utils \
@@ -34,22 +34,22 @@
 
 # Dart
 RUN curl https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - && \
-    curl https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list > \
+      curl https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list > \
       /etc/apt/sources.list.d/dart_stable.list
 
 # dotnet (netcore)
 RUN curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /etc/apt/trusted.gpg.d/microsoft.gpg && \
-    wget -q -O /etc/apt/sources.list.d/microsoft-prod.list https://packages.microsoft.com/config/ubuntu/18.04/prod.list && \
-    chown root:root /etc/apt/trusted.gpg.d/microsoft.gpg && \
-    chown root:root /etc/apt/sources.list.d/microsoft-prod.list
+      wget -q -O /etc/apt/sources.list.d/microsoft-prod.list https://packages.microsoft.com/config/ubuntu/18.04/prod.list && \
+      chown root:root /etc/apt/trusted.gpg.d/microsoft.gpg && \
+      chown root:root /etc/apt/sources.list.d/microsoft-prod.list
 
 # node.js
 RUN curl -sL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
-    echo "deb https://deb.nodesource.com/node_10.x bionic main" | tee /etc/apt/sources.list.d/nodesource.list
+      echo "deb https://deb.nodesource.com/node_10.x bionic main" | tee /etc/apt/sources.list.d/nodesource.list
 
 ### install general dependencies
 RUN apt-get update && apt-get install -y --no-install-recommends \
-`# General dependencies` \
+      `# General dependencies` \
       bash-completion \
       bison \
       build-essential \
@@ -71,15 +71,15 @@
 
 # lib/as3 (ActionScript)
 RUN mkdir -p /usr/local/adobe/flex/4.6 && \
-    cd /usr/local/adobe/flex/4.6 && \
-    wget -q "http://download.macromedia.com/pub/flex/sdk/flex_sdk_4.6.zip" && \
-    unzip flex_sdk_4.6.zip
+      cd /usr/local/adobe/flex/4.6 && \
+      wget -q "http://download.macromedia.com/pub/flex/sdk/flex_sdk_4.6.zip" && \
+      unzip flex_sdk_4.6.zip
 ENV FLEX_HOME /usr/local/adobe/flex/4.6
 
 # TODO: "apt-get install" without "apt-get update" in the same "RUN" step can cause cache issues if modified later.
 # See https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#run
 RUN apt-get install -y --no-install-recommends \
-`# C++ dependencies` \
+      `# C++ dependencies` \
       libboost-all-dev \
       libevent-dev \
       libssl-dev \
@@ -89,41 +89,41 @@
 
 ENV SBCL_VERSION 1.5.3
 RUN \
-`# Common Lisp (sbcl) dependencies` \
-    curl --version && \
-    curl -o sbcl-${SBCL_VERSION}-x86-64-linux-binary.tar.bz2 -J -L https://sourceforge.net/projects/sbcl/files/sbcl/${SBCL_VERSION}/sbcl-${SBCL_VERSION}-x86-64-linux-binary.tar.bz2/download?use_mirror=managedway# && \
-    tar xjf sbcl-${SBCL_VERSION}-x86-64-linux-binary.tar.bz2 && \
-    cd sbcl-${SBCL_VERSION}-x86-64-linux && \
-    ./install.sh && \
-    sbcl --version && \
-    cd .. && \
-    rm -rf sbcl*
+      `# Common Lisp (sbcl) dependencies` \
+      curl --version && \
+      curl -o sbcl-${SBCL_VERSION}-x86-64-linux-binary.tar.bz2 -J -L https://sourceforge.net/projects/sbcl/files/sbcl/${SBCL_VERSION}/sbcl-${SBCL_VERSION}-x86-64-linux-binary.tar.bz2/download?use_mirror=managedway# && \
+      tar xjf sbcl-${SBCL_VERSION}-x86-64-linux-binary.tar.bz2 && \
+      cd sbcl-${SBCL_VERSION}-x86-64-linux && \
+      ./install.sh && \
+      sbcl --version && \
+      cd .. && \
+      rm -rf sbcl*
 
 ENV D_VERSION     2.087.0
 ENV DMD_DEB       dmd_2.087.0-0_amd64.deb
 RUN \
-`# D dependencies` \
-    wget -q http://downloads.dlang.org/releases/2.x/${D_VERSION}/${DMD_DEB} && \
-    dpkg --install ${DMD_DEB} && \
-    rm -f ${DMD_DEB} && \
-    mkdir -p /usr/include/dmd/druntime/import/deimos /usr/include/dmd/druntime/import/C && \
-    git clone -b 'v2.0.2+2.0.16' https://github.com/D-Programming-Deimos/libevent.git deimos-libevent-2.0 && \
-    mv deimos-libevent-2.0/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
-    mv deimos-libevent-2.0/C/* /usr/include/dmd/druntime/import/C/ && \
-    rm -rf deimos-libevent-2.0 && \
-    git clone -b 'v2.0.0+1.1.0h' https://github.com/D-Programming-Deimos/openssl.git deimos-openssl-1.1.0h && \
-    mv deimos-openssl-1.1.0h/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
-    mv deimos-openssl-1.1.0h/C/* /usr/include/dmd/druntime/import/C/ && \
-    rm -rf deimos-openssl-1.1.0h
+      `# D dependencies` \
+      wget -q http://downloads.dlang.org/releases/2.x/${D_VERSION}/${DMD_DEB} && \
+      dpkg --install ${DMD_DEB} && \
+      rm -f ${DMD_DEB} && \
+      mkdir -p /usr/include/dmd/druntime/import/deimos /usr/include/dmd/druntime/import/C && \
+      git clone -b 'v2.0.2+2.0.16' https://github.com/D-Programming-Deimos/libevent.git deimos-libevent-2.0 && \
+      mv deimos-libevent-2.0/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
+      mv deimos-libevent-2.0/C/* /usr/include/dmd/druntime/import/C/ && \
+      rm -rf deimos-libevent-2.0 && \
+      git clone -b 'v2.0.0+1.1.0h' https://github.com/D-Programming-Deimos/openssl.git deimos-openssl-1.1.0h && \
+      mv deimos-openssl-1.1.0h/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
+      mv deimos-openssl-1.1.0h/C/* /usr/include/dmd/druntime/import/C/ && \
+      rm -rf deimos-openssl-1.1.0h
 
 ENV DART_VERSION 2.7.2-1
 RUN apt-get install -y --no-install-recommends \
-`# Dart dependencies` \
+      `# Dart dependencies` \
       dart=$DART_VERSION
 ENV PATH /usr/lib/dart/bin:$PATH
 
 RUN apt-get install -y --no-install-recommends \
-`# dotnet core dependencies` \
+      `# dotnet core dependencies` \
       dotnet-sdk-6.0 \
       dotnet-runtime-6.0 \
       aspnetcore-runtime-6.0 \
@@ -133,14 +133,14 @@
 ARG ERLANG_OTP_VERSION=23.3.4.11
 ARG ERLANG_REBAR_VERSION=3.18.0
 RUN apt-get update && apt-get install -y --no-install-recommends libncurses5-dev && \
-    curl -ssLo /usr/local/bin/kerl https://raw.githubusercontent.com/kerl/kerl/master/kerl && chmod +x /usr/local/bin/kerl && \
-    kerl build $ERLANG_OTP_VERSION && kerl install $ERLANG_OTP_VERSION /usr/local/lib/otp/ && . /usr/local/lib/otp/activate && \
-    curl -ssLo /usr/local/bin/rebar3 https://github.com/erlang/rebar3/releases/download/${ERLANG_REBAR_VERSION}/rebar3 && chmod +x /usr/local/bin/rebar3 && \
-    rebar3 --version
+      curl -ssLo /usr/local/bin/kerl https://raw.githubusercontent.com/kerl/kerl/master/kerl && chmod +x /usr/local/bin/kerl && \
+      kerl build $ERLANG_OTP_VERSION && kerl install $ERLANG_OTP_VERSION /usr/local/lib/otp/ && . /usr/local/lib/otp/activate && \
+      curl -ssLo /usr/local/bin/rebar3 https://github.com/erlang/rebar3/releases/download/${ERLANG_REBAR_VERSION}/rebar3 && chmod +x /usr/local/bin/rebar3 && \
+      rebar3 --version
 ENV PATH /usr/local/lib/otp/bin:$PATH
 
 RUN apt-get install -y --no-install-recommends \
-`# GlibC dependencies` \
+      `# GlibC dependencies` \
       libglib2.0-dev
 
 # golang
@@ -149,34 +149,34 @@
 ENV GOLANG_DOWNLOAD_SHA256 464b6b66591f6cf055bc5df90a9750bf5fbc9d038722bb84a9d56a2bea974be6
 RUN curl -fsSL "$GOLANG_DOWNLOAD_URL" -o golang.tar.gz && \
       echo "$GOLANG_DOWNLOAD_SHA256  golang.tar.gz" | sha256sum -c - && \
-            tar -C /usr/local -xzf golang.tar.gz && \
-                  ln -s /usr/local/go/bin/go /usr/local/bin && \
-                        rm golang.tar.gz
+      tar -C /usr/local -xzf golang.tar.gz && \
+      ln -s /usr/local/go/bin/go /usr/local/bin && \
+      rm golang.tar.gz
 
 RUN apt-get install -y --no-install-recommends \
-`# Haxe dependencies` \
+      `# Haxe dependencies` \
       haxe \
       neko \
       neko-dev && \
-    haxelib setup --always /usr/share/haxe/lib && \
-    haxelib install --always hxcpp 2>&1 > /dev/null
+      haxelib setup --always /usr/share/haxe/lib && \
+      haxelib install --always hxcpp 2>&1 > /dev/null
 
-ENV GRADLE_VERSION="7.4.2"
+ENV GRADLE_VERSION="7.5.1"
 RUN apt-get install -y --no-install-recommends \
-`# Java dependencies` \
+      `# Java dependencies` \
       ant \
       ant-optional \
       maven \
       openjdk-11-jdk-headless && \
-`# Gradle` \
+      `# Gradle` \
       wget https://services.gradle.org/distributions/gradle-$GRADLE_VERSION-bin.zip -q -O /tmp/gradle-$GRADLE_VERSION-bin.zip && \
-      (echo "29e49b10984e585d8118b7d0bc452f944e386458df27371b49b4ac1dec4b7fda  /tmp/gradle-$GRADLE_VERSION-bin.zip" | sha256sum -c -) && \
+      (echo "f6b8596b10cce501591e92f229816aa4046424f3b24d771751b06779d58c8ec4  /tmp/gradle-$GRADLE_VERSION-bin.zip" | sha256sum -c -) && \
       unzip -d /tmp /tmp/gradle-$GRADLE_VERSION-bin.zip && \
       mv /tmp/gradle-$GRADLE_VERSION /usr/local/gradle && \
       ln -s /usr/local/gradle/bin/gradle /usr/local/bin
 
 RUN apt-get install -y --no-install-recommends \
-`# Lua dependencies` \
+      `# Lua dependencies` \
       lua5.2 \
       lua5.2-dev
 # https://bugs.launchpad.net/ubuntu/+source/lua5.3/+bug/1707212
@@ -184,24 +184,24 @@
 # need to update our luasocket code, lua doesn't have luaL_openlib any more
 
 RUN apt-get install -y --no-install-recommends \
-`# Node.js dependencies` \
+      `# Node.js dependencies` \
       nodejs
 
 # Test dependencies for running puppeteer
 RUN apt-get install -y --no-install-recommends \
-`# JS dependencies` \
+      `# JS dependencies` \
       libxss1 \
       libxtst6
 
 RUN apt-get install -y --no-install-recommends \
-`# OCaml dependencies` \
+      `# OCaml dependencies` \
       ocaml \
       opam && \
-    opam init --yes && \
-    opam install --yes oasis
+      opam init --yes && \
+      opam install --yes oasis
 
 RUN apt-get install -y --no-install-recommends \
-`# Perl dependencies` \
+      `# Perl dependencies` \
       libbit-vector-perl \
       libclass-accessor-class-perl \
       libcrypt-ssleay-perl \
@@ -210,7 +210,7 @@
       libtest-exception-perl
 
 RUN apt-get install -y --no-install-recommends \
-`# Php dependencies` \
+      `# Php dependencies` \
       php \
       php-cli \
       php-dev \
@@ -220,7 +220,7 @@
       composer
 
 RUN apt-get install -y --no-install-recommends \
-`# Python dependencies` \
+      `# Python dependencies` \
       python-all \
       python-all-dbg \
       python-all-dev \
@@ -232,10 +232,10 @@
       python-twisted \
       python-wheel \
       python-zope.interface && \
-   pip install --upgrade backports.ssl_match_hostname
+      pip install --upgrade backports.ssl_match_hostname
 
 RUN apt-get install -y --no-install-recommends \
-`# Python3 dependencies` \
+      `# Python3 dependencies` \
       python3-all \
       python3-all-dbg \
       python3-all-dev \
@@ -248,7 +248,7 @@
       python3-zope.interface
 
 RUN apt-get install -y --no-install-recommends \
-`# Ruby dependencies` \
+      `# Ruby dependencies` \
       ruby \
       ruby-dev \
       ruby-bundler
@@ -259,28 +259,28 @@
 
 # Swift on Linux for cross tests
 RUN cd / && \
-    wget --quiet https://swift.org/builds/swift-5.1.4-release/ubuntu1804/swift-5.1.4-RELEASE/swift-5.1.4-RELEASE-ubuntu18.04.tar.gz && \
-    tar xf swift-5.1.4-RELEASE-ubuntu18.04.tar.gz --strip-components=1 && \
-    rm swift-5.1.4-RELEASE-ubuntu18.04.tar.gz && \
-    swift --version
+      wget --quiet https://swift.org/builds/swift-5.1.4-release/ubuntu1804/swift-5.1.4-RELEASE/swift-5.1.4-RELEASE-ubuntu18.04.tar.gz && \
+      tar xf swift-5.1.4-RELEASE-ubuntu18.04.tar.gz --strip-components=1 && \
+      rm swift-5.1.4-RELEASE-ubuntu18.04.tar.gz && \
+      swift --version
 
 # Locale(s) for cpp unit tests
 RUN apt-get install -y --no-install-recommends \
-`# Locale dependencies` \
+      `# Locale dependencies` \
       locales && \
-    locale-gen en_US.UTF-8 && \
-    locale-gen de_DE.UTF-8 && \
-    update-locale
+      locale-gen en_US.UTF-8 && \
+      locale-gen de_DE.UTF-8 && \
+      update-locale
 
 # cppcheck-1.82 has a nasty cpp parser bug, so we're using something newer
 RUN apt-get install -y --no-install-recommends \
-`# Static Code Analysis dependencies` \
+      `# Static Code Analysis dependencies` \
       cppcheck \
       sloccount && \
-    pip install flake8 && \
-    wget -q "https://launchpad.net/ubuntu/+source/cppcheck/1.83-2/+build/14874703/+files/cppcheck_1.83-2_amd64.deb" && \
-    dpkg -i cppcheck_1.83-2_amd64.deb && \
-    rm cppcheck_1.83-2_amd64.deb
+      pip install flake8 && \
+      wget -q "https://launchpad.net/ubuntu/+source/cppcheck/1.83-2/+build/14874703/+files/cppcheck_1.83-2_amd64.deb" && \
+      dpkg -i cppcheck_1.83-2_amd64.deb && \
+      rm cppcheck_1.83-2_amd64.deb
 
 # NOTE: this does not reduce the image size but adds an additional layer.
 # # Clean up
diff --git a/build/docker/ubuntu-disco/Dockerfile b/build/docker/ubuntu-disco/Dockerfile
index 6707079..2e802e5 100644
--- a/build/docker/ubuntu-disco/Dockerfile
+++ b/build/docker/ubuntu-disco/Dockerfile
@@ -22,8 +22,8 @@
 ### Add apt repos
 
 RUN apt-get update && \
-    apt-get dist-upgrade -y && \
-    apt-get install -y --no-install-recommends \
+      apt-get dist-upgrade -y && \
+      apt-get install -y --no-install-recommends \
       apt \
       apt-transport-https \
       apt-utils \
@@ -34,26 +34,26 @@
 
 # Dart
 RUN curl https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - && \
-    curl https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list > \
+      curl https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list > \
       /etc/apt/sources.list.d/dart_stable.list
 
 # dotnet (netcore)
 RUN curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /etc/apt/trusted.gpg.d/microsoft.gpg && \
-    wget -q -O /etc/apt/sources.list.d/microsoft-prod.list https://packages.microsoft.com/config/ubuntu/18.04/prod.list && \
-    chown root:root /etc/apt/trusted.gpg.d/microsoft.gpg && \
-    chown root:root /etc/apt/sources.list.d/microsoft-prod.list
+      wget -q -O /etc/apt/sources.list.d/microsoft-prod.list https://packages.microsoft.com/config/ubuntu/18.04/prod.list && \
+      chown root:root /etc/apt/trusted.gpg.d/microsoft.gpg && \
+      chown root:root /etc/apt/sources.list.d/microsoft-prod.list
 
 # erlang
 RUN wget -O- https://packages.erlang-solutions.com/ubuntu/erlang_solutions.asc | apt-key add - && \
-    echo "deb https://packages.erlang-solutions.com/ubuntu disco contrib" | tee /etc/apt/sources.list.d/erlang.list
+      echo "deb https://packages.erlang-solutions.com/ubuntu disco contrib" | tee /etc/apt/sources.list.d/erlang.list
 
 # node.js
 RUN curl -sL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
-    echo "deb https://deb.nodesource.com/node_10.x disco main" | tee /etc/apt/sources.list.d/nodesource.list
+      echo "deb https://deb.nodesource.com/node_10.x disco main" | tee /etc/apt/sources.list.d/nodesource.list
 
 ### install general dependencies
 RUN apt-get update && apt-get install -y --no-install-recommends \
-`# General dependencies` \
+      `# General dependencies` \
       bash-completion \
       bison \
       build-essential \
@@ -75,13 +75,13 @@
 
 # lib/as3 (ActionScript)
 RUN mkdir -p /usr/local/adobe/flex/4.6 && \
-    cd /usr/local/adobe/flex/4.6 && \
-    wget -q "http://download.macromedia.com/pub/flex/sdk/flex_sdk_4.6.zip" && \
-    unzip flex_sdk_4.6.zip
+      cd /usr/local/adobe/flex/4.6 && \
+      wget -q "http://download.macromedia.com/pub/flex/sdk/flex_sdk_4.6.zip" && \
+      unzip flex_sdk_4.6.zip
 ENV FLEX_HOME /usr/local/adobe/flex/4.6
 
 RUN apt-get install -y --no-install-recommends \
-`# C++ dependencies` \
+      `# C++ dependencies` \
       libboost-all-dev \
       libevent-dev \
       libssl-dev \
@@ -91,55 +91,55 @@
 
 ENV SBCL_VERSION 1.5.3
 RUN \
-`# Common Lisp (sbcl) dependencies` \
-    curl --version && \
-    curl -o sbcl-${SBCL_VERSION}-x86-64-linux-binary.tar.bz2 -J -L https://sourceforge.net/projects/sbcl/files/sbcl/${SBCL_VERSION}/sbcl-${SBCL_VERSION}-x86-64-linux-binary.tar.bz2/download?use_mirror=managedway# && \
-    tar xjf sbcl-${SBCL_VERSION}-x86-64-linux-binary.tar.bz2 && \
-    cd sbcl-${SBCL_VERSION}-x86-64-linux && \
-    ./install.sh && \
-    sbcl --version && \
-    cd .. && \
-    rm -rf sbcl*
+      `# Common Lisp (sbcl) dependencies` \
+      curl --version && \
+      curl -o sbcl-${SBCL_VERSION}-x86-64-linux-binary.tar.bz2 -J -L https://sourceforge.net/projects/sbcl/files/sbcl/${SBCL_VERSION}/sbcl-${SBCL_VERSION}-x86-64-linux-binary.tar.bz2/download?use_mirror=managedway# && \
+      tar xjf sbcl-${SBCL_VERSION}-x86-64-linux-binary.tar.bz2 && \
+      cd sbcl-${SBCL_VERSION}-x86-64-linux && \
+      ./install.sh && \
+      sbcl --version && \
+      cd .. && \
+      rm -rf sbcl*
 
 ENV D_VERSION     2.087.0
 ENV DMD_DEB       dmd_2.087.0-0_amd64.deb
 RUN \
-`# D dependencies` \
-    wget -q http://downloads.dlang.org/releases/2.x/${D_VERSION}/${DMD_DEB} && \
-    dpkg --install ${DMD_DEB} && \
-    rm -f ${DMD_DEB} && \
-    mkdir -p /usr/include/dmd/druntime/import/deimos /usr/include/dmd/druntime/import/C && \
-    git clone -b 'v2.0.2+2.0.16' https://github.com/D-Programming-Deimos/libevent.git deimos-libevent-2.0 && \
-    mv deimos-libevent-2.0/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
-    mv deimos-libevent-2.0/C/* /usr/include/dmd/druntime/import/C/ && \
-    rm -rf deimos-libevent-2.0 && \
-    git clone -b 'v2.0.0+1.1.0h' https://github.com/D-Programming-Deimos/openssl.git deimos-openssl-1.1.0h && \
-    mv deimos-openssl-1.1.0h/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
-    mv deimos-openssl-1.1.0h/C/* /usr/include/dmd/druntime/import/C/ && \
-    rm -rf deimos-openssl-1.1.0h
+      `# D dependencies` \
+      wget -q http://downloads.dlang.org/releases/2.x/${D_VERSION}/${DMD_DEB} && \
+      dpkg --install ${DMD_DEB} && \
+      rm -f ${DMD_DEB} && \
+      mkdir -p /usr/include/dmd/druntime/import/deimos /usr/include/dmd/druntime/import/C && \
+      git clone -b 'v2.0.2+2.0.16' https://github.com/D-Programming-Deimos/libevent.git deimos-libevent-2.0 && \
+      mv deimos-libevent-2.0/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
+      mv deimos-libevent-2.0/C/* /usr/include/dmd/druntime/import/C/ && \
+      rm -rf deimos-libevent-2.0 && \
+      git clone -b 'v2.0.0+1.1.0h' https://github.com/D-Programming-Deimos/openssl.git deimos-openssl-1.1.0h && \
+      mv deimos-openssl-1.1.0h/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
+      mv deimos-openssl-1.1.0h/C/* /usr/include/dmd/druntime/import/C/ && \
+      rm -rf deimos-openssl-1.1.0h
 
 ENV DART_VERSION 2.7.2-1
 RUN apt-get install -y --no-install-recommends \
-`# Dart dependencies` \
+      `# Dart dependencies` \
       dart=$DART_VERSION
 ENV PATH /usr/lib/dart/bin:$PATH
 
 RUN apt-get install -y --no-install-recommends \
-`# dotnet core dependencies` \
+      `# dotnet core dependencies` \
       dotnet-sdk-6.0 \
       dotnet-runtime-6.0 \
       aspnetcore-runtime-6.0 \
       dotnet-apphost-pack-6.0
 
 RUN apt-get install -y --no-install-recommends \
-`# Erlang dependencies` \
+      `# Erlang dependencies` \
       erlang && \
-    wget https://s3.amazonaws.com/rebar3/rebar3 -O /usr/bin/rebar3 && \
-    chmod 755 /usr/bin/rebar3 && \
-    rebar3 --version
+      wget https://s3.amazonaws.com/rebar3/rebar3 -O /usr/bin/rebar3 && \
+      chmod 755 /usr/bin/rebar3 && \
+      rebar3 --version
 
 RUN apt-get install -y --no-install-recommends \
-`# GlibC dependencies` \
+      `# GlibC dependencies` \
       libglib2.0-dev
 
 # golang
@@ -148,34 +148,34 @@
 ENV GOLANG_DOWNLOAD_SHA256 464b6b66591f6cf055bc5df90a9750bf5fbc9d038722bb84a9d56a2bea974be6
 RUN curl -fsSL "$GOLANG_DOWNLOAD_URL" -o golang.tar.gz && \
       echo "$GOLANG_DOWNLOAD_SHA256  golang.tar.gz" | sha256sum -c - && \
-            tar -C /usr/local -xzf golang.tar.gz && \
-                  ln -s /usr/local/go/bin/go /usr/local/bin && \
-                        rm golang.tar.gz
+      tar -C /usr/local -xzf golang.tar.gz && \
+      ln -s /usr/local/go/bin/go /usr/local/bin && \
+      rm golang.tar.gz
 
 RUN apt-get install -y --no-install-recommends \
-`# Haxe dependencies` \
+      `# Haxe dependencies` \
       haxe \
       neko \
       neko-dev && \
-    haxelib setup --always /usr/share/haxe/lib && \
-    haxelib install --always hxcpp 2>&1 > /dev/null
+      haxelib setup --always /usr/share/haxe/lib && \
+      haxelib install --always hxcpp 2>&1 > /dev/null
 
-ENV GRADLE_VERSION="7.4.2"
+ENV GRADLE_VERSION="7.5.1"
 RUN apt-get install -y --no-install-recommends \
-`# Java dependencies` \
+      `# Java dependencies` \
       ant \
       ant-optional \
       maven \
       openjdk-11-jdk-headless && \
-`# Gradle` \
+      `# Gradle` \
       wget https://services.gradle.org/distributions/gradle-$GRADLE_VERSION-bin.zip -q -O /tmp/gradle-$GRADLE_VERSION-bin.zip && \
-      (echo "29e49b10984e585d8118b7d0bc452f944e386458df27371b49b4ac1dec4b7fda  /tmp/gradle-$GRADLE_VERSION-bin.zip" | sha256sum -c -) && \
+      (echo "f6b8596b10cce501591e92f229816aa4046424f3b24d771751b06779d58c8ec4  /tmp/gradle-$GRADLE_VERSION-bin.zip" | sha256sum -c -) && \
       unzip -d /tmp /tmp/gradle-$GRADLE_VERSION-bin.zip && \
       mv /tmp/gradle-$GRADLE_VERSION /usr/local/gradle && \
       ln -s /usr/local/gradle/bin/gradle /usr/local/bin
 
 RUN apt-get install -y --no-install-recommends \
-`# Lua dependencies` \
+      `# Lua dependencies` \
       lua5.2 \
       lua5.2-dev
 # https://bugs.launchpad.net/ubuntu/+source/lua5.3/+bug/1707212
@@ -183,12 +183,12 @@
 # need to update our luasocket code, lua doesn't have luaL_openlib any more
 
 RUN apt-get install -y --no-install-recommends \
-`# Node.js dependencies` \
+      `# Node.js dependencies` \
       nodejs
 
 # Test dependencies for running puppeteer
 RUN apt-get install -y --no-install-recommends \
-`# JS dependencies` \
+      `# JS dependencies` \
       libxss1 \
       libxtst6
 
@@ -201,7 +201,7 @@
 #     opam install --yes oasis
 
 RUN apt-get install -y --no-install-recommends \
-`# Perl dependencies` \
+      `# Perl dependencies` \
       libbit-vector-perl \
       libclass-accessor-class-perl \
       libcrypt-ssleay-perl \
@@ -210,7 +210,7 @@
       libtest-exception-perl
 
 RUN apt-get install -y --no-install-recommends \
-`# Php dependencies` \
+      `# Php dependencies` \
       php \
       php-cli \
       php-dev \
@@ -220,7 +220,7 @@
       composer
 
 RUN apt-get install -y --no-install-recommends \
-`# Python dependencies` \
+      `# Python dependencies` \
       python-all \
       python-all-dbg \
       python-all-dev \
@@ -232,10 +232,10 @@
       python-twisted \
       python-wheel \
       python-zope.interface && \
-   pip install --upgrade backports.ssl_match_hostname
+      pip install --upgrade backports.ssl_match_hostname
 
 RUN apt-get install -y --no-install-recommends \
-`# Python3 dependencies` \
+      `# Python3 dependencies` \
       python3-all \
       python3-all-dbg \
       python3-all-dev \
@@ -248,7 +248,7 @@
       python3-zope.interface
 
 RUN apt-get install -y --no-install-recommends \
-`# Ruby dependencies` \
+      `# Ruby dependencies` \
       ruby \
       ruby-dev \
       ruby-bundler
@@ -267,11 +267,11 @@
 
 # Locale(s) for cpp unit tests
 RUN apt-get install -y --no-install-recommends \
-`# Locale dependencies` \
+      `# Locale dependencies` \
       locales && \
-    locale-gen en_US.UTF-8 && \
-    locale-gen de_DE.UTF-8 && \
-    update-locale
+      locale-gen en_US.UTF-8 && \
+      locale-gen de_DE.UTF-8 && \
+      update-locale
 
 # cppcheck-1.82 has a nasty cpp parser bug, so we're using something newer
 # don't need this on disco, nobody uses it
@@ -286,9 +286,9 @@
 
 # Clean up
 RUN rm -rf /var/cache/apt/* && \
-    rm -rf /var/lib/apt/lists/* && \
-    rm -rf /tmp/* && \
-    rm -rf /var/tmp/*
+      rm -rf /var/lib/apt/lists/* && \
+      rm -rf /tmp/* && \
+      rm -rf /var/tmp/*
 
 ENV THRIFT_ROOT /thrift
 RUN mkdir -p $THRIFT_ROOT/src
diff --git a/build/docker/ubuntu-xenial/Dockerfile b/build/docker/ubuntu-xenial/Dockerfile
index 34e902e..7cb58e8 100644
--- a/build/docker/ubuntu-xenial/Dockerfile
+++ b/build/docker/ubuntu-xenial/Dockerfile
@@ -28,8 +28,8 @@
 ### Add apt repos
 
 RUN apt-get update && \
-    apt-get dist-upgrade -y && \
-    apt-get install -y --no-install-recommends \
+      apt-get dist-upgrade -y && \
+      apt-get install -y --no-install-recommends \
       apt \
       apt-transport-https \
       apt-utils \
@@ -37,26 +37,26 @@
       software-properties-common \
       wget && \
 
-# Dart
-    curl https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - && \
-    curl https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list > \
+      # Dart
+      curl https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - && \
+      curl https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list > \
       /etc/apt/sources.list.d/dart_stable.list && \
 
-# dotnet (core)
-    curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /etc/apt/trusted.gpg.d/microsoft.gpg && \
-    echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-xenial-prod xenial main" > \
+      # dotnet (core)
+      curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /etc/apt/trusted.gpg.d/microsoft.gpg && \
+      echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-xenial-prod xenial main" > \
       /etc/apt/sources.list.d/dotnetdev.list && \
 
-# node.js
-    curl -sL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
-    echo "deb https://deb.nodesource.com/node_10.x xenial main" | tee /etc/apt/sources.list.d/nodesource.list && \
+      # node.js
+      curl -sL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
+      echo "deb https://deb.nodesource.com/node_10.x xenial main" | tee /etc/apt/sources.list.d/nodesource.list && \
 
-# ruby 2.4
-    apt-add-repository ppa:brightbox/ruby-ng
+      # ruby 2.4
+      apt-add-repository ppa:brightbox/ruby-ng
 
 ### install general dependencies
 RUN apt-get update && apt-get install -y --no-install-recommends \
-`# General dependencies` \
+      `# General dependencies` \
       bash-completion \
       bison \
       build-essential \
@@ -77,7 +77,7 @@
 # TODO: "apt-get install" without "apt-get update" in the same "RUN" step can cause cache issues if modified later.
 # See https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#run
 RUN apt-get install -y --no-install-recommends \
-`# C++ dependencies` \
+      `# C++ dependencies` \
       libboost-dev \
       libboost-filesystem-dev \
       libboost-program-options-dev \
@@ -93,28 +93,28 @@
 ENV D_VERSION     2.087.0
 ENV DMD_DEB       dmd_2.087.0-0_amd64.deb
 RUN \
-`# D dependencies` \
-    wget -q http://downloads.dlang.org/releases/2.x/${D_VERSION}/${DMD_DEB} && \
-    dpkg --install ${DMD_DEB} && \
-    rm -f ${DMD_DEB} && \
-    mkdir -p /usr/include/dmd/druntime/import/deimos /usr/include/dmd/druntime/import/C && \
-    git clone -b 'v2.0.2+2.0.16' https://github.com/D-Programming-Deimos/libevent.git deimos-libevent-2.0 && \
-    mv deimos-libevent-2.0/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
-    mv deimos-libevent-2.0/C/* /usr/include/dmd/druntime/import/C/ && \
-    rm -rf deimos-libevent-2.0 && \
-    git clone -b 'v1.1.6+1.0.1g' https://github.com/D-Programming-Deimos/openssl.git deimos-openssl-1.0.1g && \
-    mv deimos-openssl-1.0.1g/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
-    mv deimos-openssl-1.0.1g/C/* /usr/include/dmd/druntime/import/C/ && \
-    rm -rf deimos-openssl-1.0.1g
+      `# D dependencies` \
+      wget -q http://downloads.dlang.org/releases/2.x/${D_VERSION}/${DMD_DEB} && \
+      dpkg --install ${DMD_DEB} && \
+      rm -f ${DMD_DEB} && \
+      mkdir -p /usr/include/dmd/druntime/import/deimos /usr/include/dmd/druntime/import/C && \
+      git clone -b 'v2.0.2+2.0.16' https://github.com/D-Programming-Deimos/libevent.git deimos-libevent-2.0 && \
+      mv deimos-libevent-2.0/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
+      mv deimos-libevent-2.0/C/* /usr/include/dmd/druntime/import/C/ && \
+      rm -rf deimos-libevent-2.0 && \
+      git clone -b 'v1.1.6+1.0.1g' https://github.com/D-Programming-Deimos/openssl.git deimos-openssl-1.0.1g && \
+      mv deimos-openssl-1.0.1g/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
+      mv deimos-openssl-1.0.1g/C/* /usr/include/dmd/druntime/import/C/ && \
+      rm -rf deimos-openssl-1.0.1g
 
 ENV DART_VERSION 2.7.2-1
 RUN apt-get install -y --no-install-recommends \
-`# Dart dependencies` \
+      `# Dart dependencies` \
       dart=$DART_VERSION
 ENV PATH /usr/lib/dart/bin:$PATH
 
 RUN apt-get install -y --no-install-recommends \
-`# dotnet core dependencies` \
+      `# dotnet core dependencies` \
       dotnet-sdk-6.0 \
       dotnet-runtime-6.0 \
       aspnetcore-runtime-6.0 \
@@ -124,15 +124,15 @@
 ARG ERLANG_OTP_VERSION=18.3.4.11
 ARG ERLANG_REBAR_VERSION=3.13.2
 RUN apt-get update && apt-get install -y --no-install-recommends automake libncurses5-dev && \
-    curl https://raw.githubusercontent.com/kerl/kerl/master/kerl -o /usr/local/bin/kerl && chmod +x /usr/local/bin/kerl && \
-    kerl build $ERLANG_OTP_VERSION && kerl install $ERLANG_OTP_VERSION /usr/local/lib/otp/ && . /usr/local/lib/otp/activate && \
-    curl https://s3.amazonaws.com/rebar3/rebar3 -o /usr/local/bin/rebar3 && chmod +x /usr/local/bin/rebar3 && \
-    curl -ssLo /usr/local/bin/rebar3 https://github.com/erlang/rebar3/releases/download/${ERLANG_REBAR_VERSION}/rebar3 && chmod +x /usr/local/bin/rebar3 && \
-    rebar3 --version
+      curl https://raw.githubusercontent.com/kerl/kerl/master/kerl -o /usr/local/bin/kerl && chmod +x /usr/local/bin/kerl && \
+      kerl build $ERLANG_OTP_VERSION && kerl install $ERLANG_OTP_VERSION /usr/local/lib/otp/ && . /usr/local/lib/otp/activate && \
+      curl https://s3.amazonaws.com/rebar3/rebar3 -o /usr/local/bin/rebar3 && chmod +x /usr/local/bin/rebar3 && \
+      curl -ssLo /usr/local/bin/rebar3 https://github.com/erlang/rebar3/releases/download/${ERLANG_REBAR_VERSION}/rebar3 && chmod +x /usr/local/bin/rebar3 && \
+      rebar3 --version
 ENV PATH /usr/local/lib/otp/bin:$PATH
 
 RUN apt-get install -y --no-install-recommends \
-`# GlibC dependencies` \
+      `# GlibC dependencies` \
       libglib2.0-dev
 
 # golang
@@ -146,26 +146,26 @@
       rm golang.tar.gz
 
 RUN apt-get install -y --no-install-recommends \
-`# Haxe dependencies` \
+      `# Haxe dependencies` \
       haxe \
       neko \
       neko-dev \
       libneko0 && \
-    haxelib setup --always /usr/share/haxe/lib && \
-    haxelib install --always hxcpp 3.4.64 2>&1 > /dev/null
+      haxelib setup --always /usr/share/haxe/lib && \
+      haxelib install --always hxcpp 3.4.64 2>&1 > /dev/null
 # note: hxcpp 3.4.185 (latest) no longer ships static libraries, and caused a build failure
 
-ENV GRADLE_VERSION="7.4.2"
+ENV GRADLE_VERSION="7.5.1"
 RUN apt-get install -y --no-install-recommends \
-`# Java dependencies` \
+      `# Java dependencies` \
       ant \
       ant-optional \
       openjdk-8-jdk \
       maven \
       unzip && \
-`# Gradle` \
+      `# Gradle` \
       wget https://services.gradle.org/distributions/gradle-$GRADLE_VERSION-bin.zip -q -O /tmp/gradle-$GRADLE_VERSION-bin.zip && \
-      (echo "29e49b10984e585d8118b7d0bc452f944e386458df27371b49b4ac1dec4b7fda  /tmp/gradle-$GRADLE_VERSION-bin.zip" | sha256sum -c -) && \
+      (echo "f6b8596b10cce501591e92f229816aa4046424f3b24d771751b06779d58c8ec4  /tmp/gradle-$GRADLE_VERSION-bin.zip" | sha256sum -c -) && \
       unzip -d /tmp /tmp/gradle-$GRADLE_VERSION-bin.zip && \
       mv /tmp/gradle-$GRADLE_VERSION /usr/local/gradle && \
       ln -s /usr/local/gradle/bin/gradle /usr/local/bin
@@ -179,12 +179,12 @@
 # lua5.3 does not install alternatives so stick with 5.2 here
 
 RUN apt-get install -y --no-install-recommends \
-`# Node.js dependencies` \
+      `# Node.js dependencies` \
       nodejs
 
 # Test dependencies for running puppeteer
 RUN apt-get install -y --no-install-recommends \
-`# JS dependencies` \
+      `# JS dependencies` \
       libxss1 \
       libxtst6 \
       libatk-bridge2.0-0 \
@@ -199,7 +199,7 @@
 #     opam install --yes oasis
 
 RUN apt-get install -y --no-install-recommends \
-`# Perl dependencies` \
+      `# Perl dependencies` \
       libbit-vector-perl \
       libclass-accessor-class-perl \
       libcrypt-ssleay-perl \
@@ -208,7 +208,7 @@
       libtest-exception-perl
 
 RUN apt-get install -y --no-install-recommends \
-`# Php dependencies` \
+      `# Php dependencies` \
       php7.0 \
       php7.0-cli \
       php7.0-dev \
@@ -218,7 +218,7 @@
       composer
 
 RUN apt-get install -y --no-install-recommends \
-`# Python dependencies` \
+      `# Python dependencies` \
       python-all \
       python-all-dbg \
       python-all-dev \
@@ -240,10 +240,10 @@
       python3-twisted \
       python3-wheel \
       python3-zope.interface && \
-    pip install --upgrade backports.ssl_match_hostname
+      pip install --upgrade backports.ssl_match_hostname
 
 RUN apt-get install -y --no-install-recommends \
-`# Ruby dependencies` \
+      `# Ruby dependencies` \
       ruby2.4 \
       ruby2.4-dev \
       ruby-bundler
@@ -253,11 +253,11 @@
 
 # Locale(s) for cpp unit tests
 RUN apt-get install -y --no-install-recommends \
-`# Locale dependencies` \
+      `# Locale dependencies` \
       locales && \
-    locale-gen en_US.UTF-8 && \
-    locale-gen de_DE.UTF-8 && \
-    update-locale
+      locale-gen en_US.UTF-8 && \
+      locale-gen de_DE.UTF-8 && \
+      update-locale
 
 # NOTE: this does not reduce the image size but adds an additional layer.
 # # Clean up
diff --git a/doc/install/debian.md b/doc/install/debian.md
index 0792252..4d5a446 100644
--- a/doc/install/debian.md
+++ b/doc/install/debian.md
@@ -18,7 +18,7 @@
 If you would like to build Apache Thrift libraries for other programming languages you may need to install additional packages. The following languages require the specified additional packages:
 
  * Java
-	* packages: gradle (version 7.4.2)
+	* packages: gradle (version 7.5.1)
 	* You will also need Java JDK v1.8 or higher. Type **javac** to see a list of available packages, pick the one you prefer and **apt-get install** it (e.g. default-jdk).
  * Ruby
 	* ruby-full ruby-dev ruby-rspec rake rubygems bundler
diff --git a/lib/java/README.md b/lib/java/README.md
index d60dbb7..cd12932 100644
--- a/lib/java/README.md
+++ b/lib/java/README.md
@@ -42,7 +42,7 @@
 the Gradle build system, which tends to be predominant amongst Java
 developers.
 
-Currently we use gradle 7.4.2 to build the Thrift Java source. The usual way to setup gradle
+Currently we use gradle 7.5.1 to build the Thrift Java source. The usual way to setup gradle
 project is to include the gradle-wrapper.jar in the project and then run the gradle wrapper to
 bootstrap setting up gradle binaries. However to avoid putting binary files into the source tree we
 have ignored the gradle wrapper files. You are expected to install it manually, as described in
@@ -50,13 +50,13 @@
 following this step (which is also done in the travis CI docker images):
 
 ```bash
-export GRADLE_VERSION="7.4.2"
+export GRADLE_VERSION="7.5.1"
 # install dependencies
 apt-get install -y --no-install-recommends openjdk-11-jdk-headless wget unzip
 # download gradle distribution
 wget https://services.gradle.org/distributions/gradle-$GRADLE_VERSION-bin.zip -q -O /tmp/gradle-$GRADLE_VERSION-bin.zip
 # check binary integrity
-echo "29e49b10984e585d8118b7d0bc452f944e386458df27371b49b4ac1dec4b7fda  /tmp/gradle-$GRADLE_VERSION-bin.zip" | sha256sum -c -
+echo "f6b8596b10cce501591e92f229816aa4046424f3b24d771751b06779d58c8ec4  /tmp/gradle-$GRADLE_VERSION-bin.zip" | sha256sum -c -
 # unzip and install
 unzip -d /tmp /tmp/gradle-$GRADLE_VERSION-bin.zip
 mv /tmp/gradle-$GRADLE_VERSION /usr/local/gradle