diff --git a/Makefile b/Makefile
index b26e0a1c8f141c7bbdf718ebeaa47e2e7f83dfac..da541306a94399a42a6d923cd0ae7204344c18da 100644
--- a/Makefile
+++ b/Makefile
@@ -125,9 +125,12 @@ $(RELEASE_TARBALL_FILENAME): tarballs.manifest
 	rm -f "$@"
 	mkdir $(TMPDIR)/jami-project
 	git archive HEAD | tar xf - -C $(TMPDIR)/jami-project
-	for m in daemon lrc client-qt; do \
-		(cd "$$m" && git archive --prefix "$$m/" HEAD \
-			| tar xf - -C $(TMPDIR)/jami-project); \
+	for m in \
+	    daemon \
+	    client-qt \
+	    client-qt/3rdparty/SortFilterProxyModel; do \
+	  (cd "$$m" && git archive --prefix "$$m/" HEAD \
+		| tar xf - -C $(TMPDIR)/jami-project); \
 	done
 # Create the base archive.
 	tar -cf $(TMPDIR)/jami-project.tar $(TMPDIR)/jami-project \
@@ -138,6 +141,7 @@ $(RELEASE_TARBALL_FILENAME): tarballs.manifest
 	  --files-from $< \
 	  --transform 's,^.*/,jami-project/daemon/contrib/tarballs/,' \
           $(TAR_REPRODUCIBILITY_OPTIONS)
+# Compress the tarball and move it into place.
 	gzip --no-name $(TMPDIR)/jami-project.tar
 	mv $(TMPDIR)/jami-project.tar.gz "$@"
 	rm -rf $(TMPDIR)
diff --git a/client-android b/client-android
index 24c832d8e9d9d89cbf21f3d3a60e6b3125091f8b..bd54250eb86881a1849194b36f031e455b2a97cc 160000
--- a/client-android
+++ b/client-android
@@ -1 +1 @@
-Subproject commit 24c832d8e9d9d89cbf21f3d3a60e6b3125091f8b
+Subproject commit bd54250eb86881a1849194b36f031e455b2a97cc
diff --git a/client-ios b/client-ios
index d5008dfdf4ac9048d841ca884e4ff19613fee3b1..3ea9a21897a535a7aa7a877d1169d160dbebea0b 160000
--- a/client-ios
+++ b/client-ios
@@ -1 +1 @@
-Subproject commit d5008dfdf4ac9048d841ca884e4ff19613fee3b1
+Subproject commit 3ea9a21897a535a7aa7a877d1169d160dbebea0b
diff --git a/client-qt b/client-qt
index 730b00bd5d5c5744b460a0ff259b4629e8e07fc0..b2c7fc04145cae3aed572a04c69d8dc3a16b77cd 160000
--- a/client-qt
+++ b/client-qt
@@ -1 +1 @@
-Subproject commit 730b00bd5d5c5744b460a0ff259b4629e8e07fc0
+Subproject commit b2c7fc04145cae3aed572a04c69d8dc3a16b77cd
diff --git a/daemon b/daemon
index b16308eaf2c3ad9a68016a516f4f92bc0c57e46d..03f2da36746b49845c95af9067cbea3b9dc8b789 160000
--- a/daemon
+++ b/daemon
@@ -1 +1 @@
-Subproject commit b16308eaf2c3ad9a68016a516f4f92bc0c57e46d
+Subproject commit 03f2da36746b49845c95af9067cbea3b9dc8b789
diff --git a/docker/Dockerfile_opensuse-leap_15.3 b/docker/Dockerfile_opensuse-leap_15.3
index b916d49065eeffc12b2682e117fba4ffb52ba35c..0149958b2b4ecd804edf73ddf3076c31f54e7ee4 100644
--- a/docker/Dockerfile_opensuse-leap_15.3
+++ b/docker/Dockerfile_opensuse-leap_15.3
@@ -1,5 +1,7 @@
 FROM opensuse/leap:15.3
 
+RUN zypper refresh
+
 RUN zypper --non-interactive install -y \
         dnf \
         dnf-command\(builddep\) \
diff --git a/docker/Dockerfile_opensuse-leap_15.4 b/docker/Dockerfile_opensuse-leap_15.4
index 80d478ed39f26e14633656311988d6718b1a2cbc..6335c608ec68a4649f284758d52d189fd75e89ff 100644
--- a/docker/Dockerfile_opensuse-leap_15.4
+++ b/docker/Dockerfile_opensuse-leap_15.4
@@ -1,5 +1,7 @@
 FROM opensuse/leap:15.4
 
+RUN zypper refresh
+
 RUN zypper --non-interactive install -y \
         dnf \
         dnf-command\(builddep\) \
diff --git a/packaging/rules/rpm/jami-daemon.spec b/packaging/rules/rpm/jami-daemon.spec
index 8922bbf5a95d85591d53b07226e0be5c9bcfd2ed..60ae90c1ff11e420afb2916616acd33aed1394fd 100644
--- a/packaging/rules/rpm/jami-daemon.spec
+++ b/packaging/rules/rpm/jami-daemon.spec
@@ -102,7 +102,8 @@ rm -rfv %{buildroot}/%{_libdir}/*.la
 
 %files
 %defattr(-,root,root,-)
-%{_libdir}/libring.so*
+%{_libdir}/libjami.so*
+%{_libdir}/pkgconfig/jami.pc
 # XXX: Use %%{_libexecdir}/jamid after there's no more OpenSUSE Leap
 # < 16 (see https://en.opensuse.org/openSUSE:Specfile_guidelines).
 /usr/libexec/jamid
diff --git a/plugins b/plugins
index c74ddc2d49e0e7ef4e6ccf4bca0e13c9e6e971ce..bd75c21144aeae2f79c32337db7481eefe801d60 160000
--- a/plugins
+++ b/plugins
@@ -1 +1 @@
-Subproject commit c74ddc2d49e0e7ef4e6ccf4bca0e13c9e6e971ce
+Subproject commit bd75c21144aeae2f79c32337db7481eefe801d60