Merge branch '0.22.0' into upstream
diff --git a/CHANGES.md b/CHANGES.md
index 8616e92..14968af 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -20,6 +20,9 @@
 - [THRIFT-5841](https://issues.apache.org/jira/browse/THRIFT-5841) - possible init/deinit conflict with manual initialization flag
 - [THRIFT-5853](https://issues.apache.org/jira/browse/THRIFT-5853) - Remove oldstyle casts from TBufferTransports and TCompactProtocol
 - [THRIFT-5854](https://issues.apache.org/jira/browse/THRIFT-5854) - TCompactProtocol readString checks maxMessageSize at wrong position and off by one
+- [THRIFT-5868](https://issues.apache.org/jira/browse/THRIFT-5868) - UUID Support for TCompactProtocol
+- [THRIFT-5865](https://issues.apache.org/jira/browse/THRIFT-5865) - Fix TBinayProtocol with list<UUID>
+
 
 ### Compiler (General)
 
diff --git a/Makefile.am b/Makefile.am
index df74904..735cd40 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -139,8 +139,6 @@
 	.clang-format \
 	.dockerignore \
 	.editorconfig \
-	.eslintignore \
-	.eslintrc.json \
 	.flake8 \
 	.gitattributes \
 	.gitignore \
@@ -150,6 +148,7 @@
 	.github/workflows/build.yml \
 	.github/workflows/cmake.yml \
 	.github/workflows/pypi.yml \
+	.github/workflows/release_rust.yml \
 	.travis.yml \
 	ApacheThrift.nuspec \
 	appveyor.yml \
@@ -165,6 +164,7 @@
 	doap.rdf \
 	doc \
 	dub.json \
+	eslint.config.mjs \
 	go.mod \
 	jitpack.yml \
 	LANGUAGES.md \
@@ -172,6 +172,7 @@
 	NOTICE \
 	package.json \
 	package-lock.json \
+	Package.swift \
 	phpcs.xml.dist \
 	README.md \
 	rust-toolchain \
diff --git a/build/docker/ubuntu-focal/Dockerfile b/build/docker/ubuntu-focal/Dockerfile
index 831d07e..e0244fc 100644
--- a/build/docker/ubuntu-focal/Dockerfile
+++ b/build/docker/ubuntu-focal/Dockerfile
@@ -137,6 +137,7 @@
       dart=$DART_VERSION
 ENV PATH /usr/lib/dart/bin:$PATH
 
+# Because Ubuntu 20.04 reaches end of life in April [actually May] 2025, Microsoft has decided not to support .NET 9 on Ubuntu 20.04.
 RUN apt-get install -y --no-install-recommends \
       `# dotnet core dependencies` \
       dotnet-sdk-8.0 \
@@ -159,9 +160,9 @@
       libglib2.0-dev
 
 # golang
-ENV GOLANG_VERSION 1.21.7
+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 13b76a9b2a26823e53062fa841b07087d48ae2ef2936445dc34c4ae03293702c
+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 && \
diff --git a/build/docker/ubuntu-jammy/Dockerfile b/build/docker/ubuntu-jammy/Dockerfile
index f2001ff..8f66a56 100644
--- a/build/docker/ubuntu-jammy/Dockerfile
+++ b/build/docker/ubuntu-jammy/Dockerfile
@@ -51,12 +51,6 @@
   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/22.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_16.x focal main" | tee /etc/apt/sources.list.d/nodesource.list
@@ -159,9 +153,9 @@
   libglib2.0-dev
 
 # golang
-ENV GOLANG_VERSION 1.21.7
+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 13b76a9b2a26823e53062fa841b07087d48ae2ef2936445dc34c4ae03293702c
+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 && \
diff --git a/lib/php/Makefile.am b/lib/php/Makefile.am
index 3851294..ece8d24 100644
--- a/lib/php/Makefile.am
+++ b/lib/php/Makefile.am
@@ -150,6 +150,7 @@
 	src/TStringUtils.php \
 	coding_standards.md \
 	thrift_protocol.ini \
+	phpunit.xml \
 	README.apache.md \
 	README.md \
 	test
diff --git a/lib/rs/Makefile.am b/lib/rs/Makefile.am
index 3a13403..307f842 100644
--- a/lib/rs/Makefile.am
+++ b/lib/rs/Makefile.am
@@ -53,5 +53,7 @@
 	Cargo.toml \
 	README.md \
 	release.sh \
+	NOTICE \
+	LICENSE \
 	RELEASING.md
 
diff --git a/test/Makefile.am b/test/Makefile.am
index bc0cd63..c53d3b1 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -155,6 +155,7 @@
 	DoubleConstantsTest.thrift \
 	EnumContainersTest.thrift \
 	EnumTest.thrift \
+	ExceptionStruct.thrift \
 	FullCamelTest.thrift \
 	Include.thrift \
 	Identifiers.thrift \