diff --git a/Jenkinsfile b/Jenkinsfile
index 2fb1d474f465272b264345c9a8e8bf00d445e0bb..d418f698337c3aae4511e27b5642d77f82a39d3e 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -76,9 +76,6 @@ pipeline {
                      ' submodules at their Git-recorded commit.  When left ' +
                      'unticked (the default), checkout the submodules at ' +
                      'their latest commit from their main remote branch.')
-        booleanParam(name: 'BUILD_ARM',
-                     defaultValue: false,
-                     description: 'Whether to build ARM packages.')
         booleanParam(name: 'DEPLOY',
                      defaultValue: false,
                      description: 'Whether to deploy packages.')
@@ -206,9 +203,6 @@ git tag \$(cat .tarball-version) -am "Jami \$(cat .tarball-version)"
                     }
 
                     TARGETS = targetsText.split(/\s/)
-                    if (!params.BUILD_ARM) {
-                        TARGETS = TARGETS.findAll { !(it =~ /_(armhf|arm64)$/) }
-                    }
 
                     def stages = [:]
 
diff --git a/build.py b/build.py
index 88698a27d372c428e60d6a2b6987b949b9ea0ae7..faa0d09483d93c716cf632a25380e3e9543053af 100755
--- a/build.py
+++ b/build.py
@@ -22,8 +22,7 @@ ANDROID_DISTRIBUTION_NAME = "android"
 WIN32_DISTRIBUTION_NAME = "win32"
 
 # vs vars
-win_sdk_default = '10.0.16299.0'
-win_toolset_default = '142'
+win_sdk_default = '10.0.18362.0'
 
 APT_BASED_DISTROS = [
     'debian',
@@ -373,7 +372,6 @@ def run_install(args):
         return subprocess.run([
             sys.executable, os.path.join(
                 os.getcwd(), "scripts/build-windows.py"),
-            "--toolset", args.toolset,
             "--sdk", args.sdk
         ], check=True)
 
@@ -638,8 +636,6 @@ def parse_args():
     dist = choose_distribution()
 
     if dist == WIN32_DISTRIBUTION_NAME:
-        ap.add_argument('--toolset', default=win_toolset_default, type=str,
-                        help='Windows use only, specify Visual Studio toolset version')
         ap.add_argument('--sdk', default=win_sdk_default, type=str,
                         help='Windows use only, specify Windows SDK version')
 
diff --git a/docker/Dockerfile_debian_testing b/docker/Dockerfile_debian_testing
index 715bc9caa117b57f5e25a960fbcba80d03ec9dcb..800cbad89e2015c553e196c3d8e2df6c1698f404 100644
--- a/docker/Dockerfile_debian_testing
+++ b/docker/Dockerfile_debian_testing
@@ -8,7 +8,8 @@ RUN apt-get update --allow-releaseinfo-change && \
         devscripts \
         equivs \
         python-is-python3 \
-        wget
+        wget \
+        nasm
 
 ADD scripts/prebuild-package-debian.sh /opt/prebuild-package-debian.sh
 
diff --git a/docker/Dockerfile_snap b/docker/Dockerfile_snap
index eea2f5378cd70cbd7b8a4b91c2d55e55d9e4e2b2..718dcb48841c6d371374daca0a2d9624b3116f82 100644
--- a/docker/Dockerfile_snap
+++ b/docker/Dockerfile_snap
@@ -1,6 +1,12 @@
-FROM ubuntu:jammy as builder
+ARG RISK=edge
+ARG UBUNTU=focal
 
-# Grab dependencies.
+FROM ubuntu:$UBUNTU as builder
+ARG RISK
+ARG UBUNTU
+RUN echo "Building snapcraft:$RISK in ubuntu:$UBUNTU"
+
+# Grab dependencies
 RUN apt-get update
 RUN apt-get dist-upgrade --yes
 RUN apt-get install --yes \
@@ -10,61 +16,68 @@ RUN apt-get install --yes \
 
 # Grab the core snap (for backwards compatibility) from the stable channel and
 # unpack it in the proper place.
-RUN curl -L $(curl -H 'X-Ubuntu-Series: 16' -H "X-Ubuntu-Architecture: amd64" 'https://api.snapcraft.io/api/v1/snaps/details/core' | jq '.download_url' -r) --output core.snap
+RUN curl -L $(curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/core' | jq '.download_url' -r) --output core.snap
 RUN mkdir -p /snap/core
 RUN unsquashfs -d /snap/core/current core.snap
 
-# Grab the core18 snap (which snapcraft uses as a base) from the stable channel
-# and unpack it in the proper place.
-RUN curl -L $(curl -H 'X-Ubuntu-Series: 16' -H "X-Ubuntu-Architecture: amd64" 'https://api.snapcraft.io/api/v1/snaps/details/core18' | jq '.download_url' -r) --output core18.snap
-RUN mkdir -p /snap/core18
-RUN unsquashfs -d /snap/core18/current core18.snap
-
-# Grab the core22 snapfrom the stable channel
+# Grab the core22 snap (which snapcraft uses as a base) from the stable channel
 # and unpack it in the proper place.
-RUN curl -L $(curl -H 'X-Ubuntu-Series: 16' -H "X-Ubuntu-Architecture: amd64" 'https://api.snapcraft.io/api/v1/snaps/details/core22' | jq '.download_url' -r) --output core22.snap
+RUN curl -L $(curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/core22?channel='$RISK | jq '.download_url' -r) --output core22.snap
 RUN mkdir -p /snap/core22
 RUN unsquashfs -d /snap/core22/current core22.snap
 
-# Grab the snapcraft snap from the targeted channel and unpack it in the proper
+# Grab the core20 snap (which snapcraft uses as a base) from the stable channel
+# and unpack it in the proper place.
+RUN curl -L $(curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/core20' | jq '.download_url' -r) --output core20.snap
+RUN mkdir -p /snap/core20
+RUN unsquashfs -d /snap/core20/current core20.snap
+
+# Grab the core20 snap (which snapcraft uses as a base) from the stable channel
+# and unpack it in the proper place.
+RUN curl -L $(curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/lxd' | jq '.download_url' -r) --output lxd.snap
+RUN mkdir -p /snap/lxd
+RUN unsquashfs -d /snap/lxd/current lxd.snap
+
+# Grab the snapcraft snap from the $RISK channel and unpack it in the proper
 # place.
-# RUN curl -L $(curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/snapcraft?channel=stable' | jq '.download_url' -r) --output snapcraft.snap
-# Current snapcraft snap is broken upstream again:
-#   https://forum.snapcraft.io/t/snapcraft-docker-images-broken-again/27942
-# Temporary workaround: pin to an older, non-broken version for now.
-# TODO: restore to the above once issue is fixed upstream.
-RUN curl -L https://api.snapcraft.io/api/v1/snaps/download/vMTKRaLjnOJQetI78HjntT37VuoyssFE_6751.snap --output snapcraft.snap
+RUN curl -L $(curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/snapcraft?channel='$RISK | jq '.download_url' -r) --output snapcraft.snap
 RUN mkdir -p /snap/snapcraft
 RUN unsquashfs -d /snap/snapcraft/current snapcraft.snap
 
+# Fix Python3 installation: Make sure we use the interpreter from
+# the snapcraft snap:
+RUN unlink /snap/snapcraft/current/usr/bin/python3
+RUN ln -s /snap/snapcraft/current/usr/bin/python3.* /snap/snapcraft/current/usr/bin/python3
+RUN echo /snap/snapcraft/current/lib/python3.*/site-packages >> /snap/snapcraft/current/usr/lib/python3/dist-packages/site-packages.pth
+
 # Create a snapcraft runner (TODO: move version detection to the core of
 # snapcraft).
 RUN mkdir -p /snap/bin
 RUN echo "#!/bin/sh" > /snap/bin/snapcraft
-RUN snap_version="$(awk '/^version:/{print $2}' /snap/snapcraft/current/meta/snap.yaml)" && echo "export SNAP_VERSION=\"$snap_version\"" >> /snap/bin/snapcraft
+RUN snap_version="$(awk '/^version:/{print $2}' /snap/snapcraft/current/meta/snap.yaml | tr -d \')" && echo "export SNAP_VERSION=\"$snap_version\"" >> /snap/bin/snapcraft
 RUN echo 'exec "$SNAP/usr/bin/python3" "$SNAP/bin/snapcraft" "$@"' >> /snap/bin/snapcraft
 RUN chmod +x /snap/bin/snapcraft
 
 # Multi-stage build, only need the snaps from the builder. Copy them one at a
 # time so they can be cached.
-FROM ubuntu:jammy
+FROM ubuntu:$UBUNTU
 COPY --from=builder /snap/core /snap/core
-COPY --from=builder /snap/core18 /snap/core18
 COPY --from=builder /snap/core22 /snap/core22
+COPY --from=builder /snap/core20 /snap/core20
+COPY --from=builder /snap/lxd /snap/lxd
 COPY --from=builder /snap/snapcraft /snap/snapcraft
 COPY --from=builder /snap/bin/snapcraft /snap/bin/snapcraft
 
 # Generate locale and install dependencies.
-RUN apt-get update && apt-get dist-upgrade --yes && apt-get install --yes snapd sudo locales && locale-gen en_US.UTF-8
+RUN apt-get update && apt-get dist-upgrade --yes && apt-get install --yes snapd sudo apt-transport-https locales && locale-gen en_US.UTF-8
 
 # Set the proper environment.
 ENV LANG="en_US.UTF-8"
 ENV LANGUAGE="en_US:en"
 ENV LC_ALL="en_US.UTF-8"
-ENV PATH="/snap/bin:$PATH"
+ENV PATH="/snap/bin:/snap/snapcraft/current/usr/bin:/snap/snapcraft/current/libexec/snapcraft/:$PATH"
 ENV SNAP="/snap/snapcraft/current"
 ENV SNAP_NAME="snapcraft"
-
 ENV SNAP_ARCH="amd64"
 
 ADD scripts/build-package-snap.sh /opt/build-package-snap.sh
diff --git a/packaging/rules/snap/jami/snapcraft.yaml b/packaging/rules/snap/jami/snapcraft.yaml
index 888fc2a3c081082c3fb87ce8f35c14ebe13f8336..2bf7359dada122064be8aff4bc4da8ceb2bf2f56 100644
--- a/packaging/rules/snap/jami/snapcraft.yaml
+++ b/packaging/rules/snap/jami/snapcraft.yaml
@@ -85,13 +85,13 @@ description: |
 
 confinement: strict
 grade: stable
-base: core22
+base: core20
 
 plugs:
-  gnome-42-2204:
+  gnome-3-38-2004:
     interface: content
     target: $SNAP/gnome-platform
-    default-provider: gnome-42-2204:gnome-42-2204
+    default-provider: gnome-3-38-2004:gnome-3-38-2004
   gtk-3-themes:
     interface: content
     target: $SNAP/data-dir/themes
@@ -168,7 +168,7 @@ package-repositories:
     components: [main]
     suites: [jami]
     key-id: A295D773307D25A33AE72F2F64CD5FA175348F84
-    url: https://dl.jami.net/nightly/ubuntu_22.04/
+    url: https://dl.jami.net/nightly/ubuntu_20.04/
 
 parts:
   desktop-launch:
@@ -329,7 +329,7 @@ parts:
     - libgstreamer-plugins-base1.0-0
     - libgstreamer1.0-0
     - libgudev-1.0-0
-    - libjsoncpp25
+    - libjsoncpp1
     - libllvm12
     - libminizip1
     - libnm0
diff --git a/scripts/build-package-snap.sh b/scripts/build-package-snap.sh
index 90fb3415b92ebd545f8786e44568d89b07171536..18b593ac2319d8f636095ef333f6cbf24c7278c7 100755
--- a/scripts/build-package-snap.sh
+++ b/scripts/build-package-snap.sh
@@ -29,7 +29,7 @@ cd /opt/jami-project/packaging/rules/snap/${SNAP_PKG_NAME}/
 # set the version and tarball filename
 sed -i "s/RELEASE_VERSION/${RELEASE_VERSION}/g" snapcraft.yaml
 
-snapcraft # requires snapcraft >= 4.8
+snapcraft --destructive-mode # requires snapcraft >= 4.8
 
 # move the built snap to output
 mv *.snap /opt/output/
diff --git a/scripts/build-windows.py b/scripts/build-windows.py
index 8cb53c18a158285bec63d4276983f7a25508642b..be67027afc3ac276b536c9dd80d71ff8f24432c6 100644
--- a/scripts/build-windows.py
+++ b/scripts/build-windows.py
@@ -17,8 +17,7 @@ def execute_cmd(cmd, with_shell=False):
 def build_daemon(parsed_args):
     make_cmd = os.path.dirname(this_dir) + '\\daemon\\compat\\msvc\\winmake.py'
     os.chdir(os.path.dirname(this_dir) + '\\daemon\\compat\\msvc')
-    execute_cmd('python ' + make_cmd + ' -iv -t ' +
-                parsed_args.toolset + ' -s ' + parsed_args.sdk + ' -b daemon')
+    execute_cmd('python ' + make_cmd + ' -iv -s ' + parsed_args.sdk + ' -b daemon')
     os.chdir(os.path.dirname(this_dir))
 
 
@@ -31,8 +30,6 @@ def build_client(parsed_args):
 def parse_args():
     ap = argparse.ArgumentParser(description="Qt Client build tool")
 
-    ap.add_argument('--toolset', default='', type=str,
-                    help='Windows use only, specify Visual Studio toolset version')
     ap.add_argument('--sdk', default='', type=str,
                     help='Windows use only, specify Windows SDK version')
 
diff --git a/scripts/deploy-packages.sh b/scripts/deploy-packages.sh
index 4d3bb51c149752a37cd2f4d6cceb06ba52b534bc..b886fb55b878c496396c85de879f3737b7180632 100755
--- a/scripts/deploy-packages.sh
+++ b/scripts/deploy-packages.sh
@@ -226,6 +226,9 @@ function package_snap()
         ls packages/${DISTRIBUTION}*
         cp packages/${DISTRIBUTION}*/*.snap ${DISTRIBUTION_REPOSITORY_FOLDER}/
     elif [[ $CHANNEL =~ nightly ]]; then
+        echo $(hostname)
+        echo $(whoami)
+        echo $(snapcraft whoami)
         snapcraft push packages/${DISTRIBUTION}*/*.snap --release edge
     elif [[ $CHANNEL =~ stable ]]; then
         snapcraft push packages/${DISTRIBUTION}*/*.snap --release stable
diff --git a/scripts/install-deps-windows.ps1 b/scripts/install-deps-windows.ps1
index 4307a659c0746578a1380f55364b6f6564aa7720..681a5fc0a391eef8ec2e8b8a9156dc6b8c4f6704 100644
--- a/scripts/install-deps-windows.ps1
+++ b/scripts/install-deps-windows.ps1
@@ -198,13 +198,13 @@ install_choco_packages $choco_packages
 install_msys2_packages $msys_packages
 
 # Install VSNASM
-download_file_to_temp 'VSNASM' "https://github.com/ShiftMediaProject/VSNASM/releases/download/0.5/VSNASM.zip" 'VSNASM.zip'
+download_file_to_temp 'VSNASM' "https://github.com/ShiftMediaProject/VSNASM/releases/download/0.8/VSNASM.zip" 'VSNASM.zip'
 unzip_file_from_temp 'VSNASM' 'VSNASM.zip' 'VSNASM_UNZIP'
 $batch_path = "/c set ISINSTANCE=1 &&" + $env:TEMP + "\VSNASM_UNZIP\install_script.bat"
 run_batch $batch_path "Install VSNASM"
 
 # Install VSYASM
-download_file_to_temp 'VSYASM' "https://github.com/ShiftMediaProject/VSYASM/releases/download/0.4/VSYASM.zip" 'VSYASM.zip'
+download_file_to_temp 'VSYASM' "https://github.com/ShiftMediaProject/VSYASM/releases/download/0.7/VSYASM.zip" 'VSYASM.zip'
 unzip_file_from_temp 'VSYASM' 'VSYASM.zip' 'VSYASM_UNZIP'
 $batch_path = "/c set ISINSTANCE=1 &&" + $env:TEMP + "\VSYASM_UNZIP\install_script.bat"
 run_batch $batch_path "Install VSYASM"