diff --git a/build/docker/README.md b/build/docker/README.md
index 1f67d1d..0f2d293 100644
--- a/build/docker/README.md
+++ b/build/docker/README.md
@@ -46,14 +46,15 @@
 
 ## Supported Containers ##
 
-The Travis CI (continuous integration) builds use the Ubuntu Jammy
-(22.04 LTS) and Focal (20.04 LTS) images to maximize language level
+The Travis CI (continuous integration) builds use the Ubuntu Noble (24.04 LTS), 
+Jammy (22.04 LTS) and Focal (20.04 LTS) images to maximize language level
 coverage.
 
 ### Ubuntu ###
 
-* focal (stable, current)
-* jammy (next stable, WIP)
+* focal (stable)
+* jammy (stable)
+* noble (next stable)
 
 ## Unsupported Containers ##
 
@@ -152,50 +153,50 @@
 
 Last updated: March 5, 2024
 
-| Tool      | ubuntu-focal  | ubuntu-jammy  | Notes |
-| :-------- | :------------ | :------------ | :---- |
-| ant       | 1.10.7        | 1.10.12       |       |
-| autoconf  | 2.69          | 2.71          |       |
-| automake  | 1.16.1        | 1.16.5        |       |
-| bison     | 3.5.1         | 3.8.2         |       |
-| boost     | 1.71.0        | 1.74.0        |       |
-| cmake     | 3.16.3        | 3.22.1        |       |
-| cppcheck  | 1.90          | 2.7           |       |
-| flex      | 2.6.4         | 2.6.4         |       |
-| libc6     | 2.31          | 2.35          | glibc |
-| libevent  | 2.0.16        | 2.0.16        |       |
-| libstdc++ | 10.5.0        | 10.5.0        |       |
-| make      | 4.2.1         | 4.3           |       |
-| openssl   | 1.1.1f        | 3.0.2         |       |
-| qt5       | 5.12.8        | 5.15.3        |       |
+| Tool      | ubuntu-focal  | ubuntu-jammy  | ubuntu-noble  | Notes |
+| :-------- | :------------ | :------------ | :------------ | :---- |
+| ant       | 1.10.7        | 1.10.12       |               |       |
+| autoconf  | 2.69          | 2.71          |               |       |
+| automake  | 1.16.1        | 1.16.5        |               |       |
+| bison     | 3.5.1         | 3.8.2         |               |       |
+| boost     | 1.71.0        | 1.74.0        |               |       |
+| cmake     | 3.16.3        | 3.22.1        |               |       |
+| cppcheck  | 1.90          | 2.7           |               |       |
+| flex      | 2.6.4         | 2.6.4         |               |       |
+| libc6     | 2.31          | 2.35          |               | glibc |
+| libevent  | 2.0.16        | 2.0.16        |               |       |
+| libstdc++ | 10.5.0        | 10.5.0        |               |       |
+| make      | 4.2.1         | 4.3           |               |       |
+| openssl   | 1.1.1f        | 3.0.2         |               |       |
+| qt5       | 5.12.8        | 5.15.3        |               |       |
 
 ## Compiler/Language Versions per Dockerfile ##
 
-| Language  | ubuntu-focal  | ubuntu-jammy  | Notes |
-| :-------- | :------------ | :------------ | :---- |
-| as of     | Mar 06, 2018  | Jul 1, 2019   |       |
-| as3       | 4.6.0         | 4.6.0         |       |
-| C++ gcc   | 9.4.0         | 11.4.0        |       |
-| C++ clang | 13.0.0        | 13.0.0        |       |
-| c\_glib   | 3.2.12        | 3.2.12        |       |
-| cl (sbcl) |               | 1.5.3         |       |
-| d         | 2.087.0       | 2.087.0       |       |
-| dart      | 2.7.2-1       | 2.7.2-1       |       |
-| delphi    |               |               | Not in CI |
-| erlang    | OTP-25.3.2.9  | OTP-25.3.2.9  |       |
-| go        | 1.21.7        | 1.21.7        |       |
-| haxe      | 4.2.1         | 4.2.1         |       |
-| java      | 17            | 17            |       |
-| js        | Node.js 16.20.2, npm 8.19.4 | Node.js 16.20.2, npm 8.19.4 |     |
-| lua       | 5.2.4         | 5.2.4         | Lua 5.3: see THRIFT-4386 |
-| netstd    | 9.0           | 9.0           |       |
-| nodejs    | 16.20.2       | 16.20.2       |       |
-| ocaml     | 4.08.1        | 4.13.1        |       |
-| perl      | 5.30.0        | 5.34.0        |       |
-| php       | 7.4.3         | 8.1.2         |       |
-| python2   | 2.7.18        |               |       |
-| python3   | 3.8.10        | 3.10.12       |       |
-| ruby      | 2.7.0p0       | 3.0.2p107     |       |
-| rust      | 1.83.0        | 1.83.0        |       |
-| smalltalk |               |               | Not in CI |
-| swift     | 5.7           | 5.7           |       |
+| Tool      | ubuntu-focal  | ubuntu-jammy  | ubuntu-noble  | Notes |
+| :-------- | :------------ | :------------ | :------------ | :---- |
+| as of     | Mar 06, 2018  | Jul 1, 2019   |               |       |
+| as3       | 4.6.0         | 4.6.0         |               |       |
+| C++ gcc   | 9.4.0         | 11.4.0        |               |       |
+| C++ clang | 13.0.0        | 13.0.0        |               |       |
+| c\_glib   | 3.2.12        | 3.2.12        |               |       |
+| cl (sbcl) |               | 1.5.3         |               |       |
+| d         | 2.087.0       | 2.087.0       |               |       |
+| dart      | 2.7.2-1       | 2.7.2-1       |               |       |
+| delphi    |               |               |               | Not in CI |
+| erlang    | OTP-25.3.2.9  | OTP-25.3.2.9  |               |       |
+| go        | 1.21.7        | 1.21.7        |               |       |
+| haxe      | 4.2.1         | 4.2.1         |               |       |
+| java      | 17            | 17            |               |       |
+| js        | Node.js 16.20.2, npm 8.19.4 | |               | Node.js 16.20.2, npm 8.19.4 |
+| lua       | 5.2.4         | 5.2.4         |               | Lua 5.3: see THRIFT-4386 |
+| netstd    | 9.0           | 9.0           | 9.0           |       |
+| nodejs    | 16.20.2       | 16.20.2       |               |       |
+| ocaml     | 4.08.1        | 4.13.1        |               |       |
+| perl      | 5.30.0        | 5.34.0        |               |       |
+| php       | 7.4.3         | 8.1.2         | 8.3           |       |
+| python2   | 2.7.18        |               |               |       |
+| python3   | 3.8.10        | 3.10.12       |               |       |
+| ruby      | 2.7.0p0       | 3.0.2p107     |               |       |
+| rust      | 1.83.0        | 1.83.0        |               |       |
+| smalltalk |               |               |               | Not in CI |
+| swift     | 5.7           | 5.7           | 6.1           |       |
diff --git a/build/docker/ubuntu-noble/Dockerfile b/build/docker/ubuntu-noble/Dockerfile
new file mode 100644
index 0000000..374b4b5
--- /dev/null
+++ b/build/docker/ubuntu-noble/Dockerfile
@@ -0,0 +1,316 @@
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#
+# Apache Thrift Docker build environment for Ubuntu Noble
+# with some updated packages.
+#
+
+FROM buildpack-deps:noble-scm
+LABEL MAINTAINER="Apache Thrift <dev@thrift.apache.org>"
+ENV DEBIAN_FRONTEND=noninteractive
+
+### Add apt repos
+
+RUN apt-get update -yq && \
+  apt-get dist-upgrade -y && \
+  apt-get install -y --no-install-recommends --fix-missing \
+  apt \
+  apt-transport-https \
+  apt-utils \
+  curl \
+  dirmngr \
+  software-properties-common \
+  wget
+
+# Create a user
+ARG user=build
+ARG group=build
+ARG uid=1001
+ARG gid=1001
+
+RUN apt-get install -y --no-install-recommends sudo && \
+    echo "Running with: UID: ${uid}, User: ${user}, GID: ${gid}, Group: ${group}" && \
+    if [ -z `cat /etc/group | grep "${group}:"` ] && [ -z `cat /etc/group | grep ":${gid}:"` ]; then addgroup --gid ${gid} ${group}; fi && \
+    if [ -z `cat /etc/passwd | grep "${user}:"` ] && [ -z `cat /etc/passwd | grep ":${uid}:"` ]; then adduser --uid ${uid} --gid ${gid} --shell /bin/bash ${user} --disabled-password -q --gecos ""; fi && \
+    echo "${user} ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers && \
+    mkdir -p /home/${user} && \
+    chown -R ${user}:${group} /home/${user}
+
+# 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 > \
+  /etc/apt/sources.list.d/dart_stable.list
+
+# node.js
+RUN curl -sL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
+  echo "deb https://deb.nodesource.com/node_16.x focal main" | tee /etc/apt/sources.list.d/nodesource.list
+
+### install general dependencies
+RUN apt-get update -yq && \
+  apt-get install -y --no-install-recommends \
+  `# General dependencies` \
+  bash-completion \
+  bison \
+  build-essential \
+  clang \
+  cmake \
+  debhelper \
+  flex \
+  gdb \
+  libatk-bridge2.0-0 \
+  libgtk-3-0 \
+  llvm \
+  ninja-build \
+  pkg-config \
+  unzip \
+  valgrind \
+  vim
+ENV PATH /usr/lib/llvm-6.0/bin:$PATH
+
+# 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
+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` \
+  libboost-all-dev \
+  libevent-dev \
+  libssl-dev \
+  qtbase5-dev \
+  qtbase5-dev-tools
+
+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*
+
+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
+
+ENV DART_VERSION 2.7.2-1
+RUN apt-get install -y --no-install-recommends \
+  `# Dart dependencies` \
+  dart=$DART_VERSION
+ENV PATH /usr/lib/dart/bin:$PATH
+
+RUN add-apt-repository ppa:dotnet/backports
+RUN apt-get install -y --no-install-recommends \
+  `# dotnet core dependencies` \
+  dotnet-sdk-9.0 \
+  dotnet-runtime-9.0 \
+  aspnetcore-runtime-9.0 \
+  dotnet-apphost-pack-9.0
+
+# Erlang dependencies
+ARG ERLANG_OTP_VERSION=25.3.2.9
+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
+ENV PATH /usr/local/lib/otp/bin:$PATH
+
+RUN apt-get install -y --no-install-recommends \
+  `# GlibC dependencies` \
+  libglib2.0-dev
+
+# golang
+ENV GOLANG_VERSION 1.24.3
+ENV GOLANG_DOWNLOAD_URL https://go.dev/dl/go$GOLANG_VERSION.linux-amd64.tar.gz
+ENV GOLANG_DOWNLOAD_SHA256 3333f6ea53afa971e9078895eaa4ac7204a8c6b5c68c10e6bc9a33e8e391bdd8
+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
+
+# HAXE
+ARG HAXE_VERSION=4.2.1
+ARG NEKO_VERSION=2.3.0
+RUN cd $HOME && \
+    `# Haxe dependencies` && \
+    wget https://github.com/HaxeFoundation/haxe/releases/download/${HAXE_VERSION}/haxe-${HAXE_VERSION}-linux64.tar.gz && \
+    tar xvf haxe-${HAXE_VERSION}-linux64.tar.gz && \
+    rm haxe-${HAXE_VERSION}-linux64.tar.gz && \
+    mv haxe_* /opt/haxe && \
+    wget https://github.com/HaxeFoundation/neko/releases/download/v`echo ${NEKO_VERSION} | sed "s/\./-/g"`/neko-${NEKO_VERSION}-linux64.tar.gz && \
+    tar xvf neko-${NEKO_VERSION}-linux64.tar.gz && \
+    rm neko-${NEKO_VERSION}-linux64.tar.gz && \
+    mv neko-* /opt/neko
+ENV PATH /opt/haxe:/opt/neko:$PATH
+RUN echo "/opt/neko" > /etc/ld.so.conf.d/neko.conf && \
+    ldconfig
+USER ${user}
+RUN mkdir -p $HOME/haxe/lib && \
+    haxelib setup --always $HOME/haxe/lib && \
+    haxelib install --always hxcpp 2>&1 > /dev/null && \
+    haxelib install --always uuid 2>&1 > /dev/null
+USER root
+
+ENV GRADLE_VERSION="8.4"
+RUN apt-get install -y --no-install-recommends \
+  `# Java dependencies` \
+  ant \
+  ant-optional \
+  maven \
+  openjdk-17-jdk-headless && \
+  `# Gradle` \
+  wget https://services.gradle.org/distributions/gradle-$GRADLE_VERSION-bin.zip -q -O /tmp/gradle-$GRADLE_VERSION-bin.zip && \
+  (echo "3e1af3ae886920c3ac87f7a91f816c0c7c436f276a6eefdb3da152100fef72ae  /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` \
+  lua5.4 \
+  liblua5.4-dev
+# https://bugs.launchpad.net/ubuntu/+source/lua5.3/+bug/1707212
+# lua5.3 does not install alternatives!
+# 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` \
+  nodejs
+
+# Test dependencies for running puppeteer
+RUN apt-get install -y --no-install-recommends \
+  `# JS dependencies` \
+  libxss1 \
+  libxtst6
+
+RUN apt-get install -y --no-install-recommends \
+  `# OCaml dependencies` \
+  ocaml \
+  opam && \
+  `# disable sandboxing see https://github.com/ocaml/opam/issues/4327` \
+  opam init --yes --disable-sandboxing && \
+  opam install --yes oasis
+
+RUN apt-get install -y --no-install-recommends \
+  `# Perl dependencies` \
+  libbit-vector-perl \
+  libclass-accessor-class-perl \
+  libcrypt-ssleay-perl \
+  libio-socket-ssl-perl \
+  libnet-ssleay-perl \
+  libtest-exception-perl
+
+RUN apt-get install -y --no-install-recommends \
+  `# Php dependencies` \
+  php8.3 \
+  php8.3-cli \
+  php8.3-dev \
+  php8.3-mbstring \
+  php8.3-xml \
+  php8.3-curl \
+  php8.3-xdebug \
+  php-pear \
+  re2c \
+  composer
+
+RUN apt-get install -y --no-install-recommends \
+  `# Python3 dependencies` \
+  python3-all \
+  python3-all-dbg \
+  python3-all-dev \
+  python3-pip \
+  python3-setuptools \
+  python3-tornado \
+  python3-twisted \
+  python3-wheel \
+  python3-zope.interface
+
+RUN apt-get install -y --no-install-recommends \
+  `# Ruby dependencies` \
+  ruby \
+  ruby-dev \
+  ruby-bundler
+
+USER ${user}
+RUN `# Rust dependencies` \
+    curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain 1.83.0 -y
+ENV PATH /home/${user}/.cargo/bin:$PATH
+USER root
+
+# Swift on Linux for cross tests
+RUN apt-get install -yq \
+  libedit-dev \
+  libz3-dev \
+  python3-flake8 \
+  libxml2-dev && \
+  cd / && \
+  wget --quiet https://download.swift.org/swift-6.1-release/ubuntu2404/swift-6.1-RELEASE/swift-6.1-RELEASE-ubuntu24.04.tar.gz && \
+  tar xf swift-6.1-RELEASE-ubuntu24.04.tar.gz && \
+  mv swift-6.1-RELEASE-ubuntu24.04 /usr/share/swift && \
+  rm swift-6.1-RELEASE-ubuntu24.04.tar.gz
+
+ENV PATH /usr/share/swift/usr/bin:$PATH
+RUN swift --version
+
+# Locale(s) for cpp unit tests
+RUN apt-get install -y --no-install-recommends \
+  `# Locale dependencies` \
+  locales && \
+  locale-gen en_US.UTF-8 && \
+  locale-gen de_DE.UTF-8 && \
+  update-locale
+
+RUN apt-get install -y --no-install-recommends \
+  `# Static Code Analysis dependencies` \
+  cppcheck \
+  sloccount 
+  
+#RUN pip install flake8
+
+# NOTE: this does not reduce the image size but adds an additional layer.
+# # Clean up
+# RUN rm -rf /var/cache/apt/* && \
+#     rm -rf /var/lib/apt/lists/* && \
+#     rm -rf /tmp/* && \
+#     rm -rf /var/tmp/*
+
+ENV THRIFT_ROOT /thrift
+RUN mkdir -p $THRIFT_ROOT/src && \
+    chown -R ${uid}:${uid} $THRIFT_ROOT/
+COPY Dockerfile $THRIFT_ROOT/
+WORKDIR $THRIFT_ROOT/src
+
+USER ${user}
