diff --git a/meta/recipes-bsp/efibootmgr/efibootmgr_18.bb b/meta/recipes-bsp/efibootmgr/efibootmgr_18.bb
index 6f4178216b..8001496fd0 100644
--- a/meta/recipes-bsp/efibootmgr/efibootmgr_18.bb
+++ b/meta/recipes-bsp/efibootmgr/efibootmgr_18.bb
@@ -10,7 +10,7 @@ DEPENDS = "efivar popt"
 
 COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux"
 
-SRC_URI = "git://github.com/rhinstaller/efibootmgr.git;protocol=https;branch=main"
+SRC_URI = "git://github.com/rhinstaller/efibootmgr.git;protocol=https;branch=main;tag=${PV}"
 SRCREV = "c3f9f0534e32158f62c43564036878b93b9e0fd6"
 
 inherit pkgconfig
diff --git a/meta/recipes-bsp/efivar/efivar_39.bb b/meta/recipes-bsp/efivar/efivar_39.bb
index e5839f7a99..7b087c135e 100644
--- a/meta/recipes-bsp/efivar/efivar_39.bb
+++ b/meta/recipes-bsp/efivar/efivar_39.bb
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=6626bb1e20189cfa95f2c508ba286393"
 
 COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64|riscv64).*-linux"
 
-SRC_URI = "git://github.com/rhinstaller/efivar.git;branch=main;protocol=https \
+SRC_URI = "git://github.com/rhinstaller/efivar.git;branch=main;protocol=https;tag=${PV} \
            file://0001-docs-do-not-build-efisecdb-manpage.patch \
            file://0002-efivarfs-backport-patch-to-update-file-variable-store-on-SetVariableRT.patch \
            file://0003-fix-march-issue-for-ppc64le.patch \
diff --git a/meta/recipes-bsp/gnu-efi/gnu-efi_4.0.4.bb b/meta/recipes-bsp/gnu-efi/gnu-efi_4.0.4.bb
index 9075487b92..13ee39a2d7 100644
--- a/meta/recipes-bsp/gnu-efi/gnu-efi_4.0.4.bb
+++ b/meta/recipes-bsp/gnu-efi/gnu-efi_4.0.4.bb
@@ -15,7 +15,7 @@ LIC_FILES_CHKSUM = "file://gnuefi/crt0-efi-arm.S;beginline=4;endline=16;md5=8b0a
 COMPATIBLE_HOST = "(x86_64.*|i.86.*|aarch64.*|arm.*|riscv64.*)-linux"
 COMPATIBLE_HOST:armv4 = 'null'
 
-SRC_URI = "git://github.com/ncroxon/gnu-efi;protocol=https;branch=master \
+SRC_URI = "git://github.com/ncroxon/gnu-efi;protocol=https;branch=master;tag=${PV} \
            file://0001-Do-not-treat-warnings-as-errors.patch \
            "
 SRCREV = "37cd8f069bde6715eebdc5e38a8f15ee6de5edcf"
diff --git a/meta/recipes-connectivity/avahi/avahi-libnss-mdns_0.15.1.bb b/meta/recipes-connectivity/avahi/avahi-libnss-mdns_0.15.1.bb
index 6bef43262f..bf0fd752f6 100644
--- a/meta/recipes-connectivity/avahi/avahi-libnss-mdns_0.15.1.bb
+++ b/meta/recipes-connectivity/avahi/avahi-libnss-mdns_0.15.1.bb
@@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=2d5025d4aa3495befef8f17206a5b0a1"
 
 DEPENDS = "avahi"
 
-SRC_URI = "git://github.com/lathiat/nss-mdns;branch=master;protocol=https \
+SRC_URI = "git://github.com/lathiat/nss-mdns;branch=master;protocol=https;tag=v${PV} \
            "
 
 SRCREV = "4b3cfe818bf72d99a02b8ca8b8813cb2d6b40633"
diff --git a/meta/recipes-connectivity/connman/connman-gnome_0.7.bb b/meta/recipes-connectivity/connman/connman-gnome_0.7.bb
index 0c6e823ea2..06d741bd4d 100644
--- a/meta/recipes-connectivity/connman/connman-gnome_0.7.bb
+++ b/meta/recipes-connectivity/connman/connman-gnome_0.7.bb
@@ -10,7 +10,7 @@ DEPENDS = "gtk+3 dbus-glib dbus-glib-native intltool-native gettext-native"
 
 # 0.7 tag
 SRCREV = "cf3c325b23dae843c5499a113591cfbc98acb143"
-SRC_URI = "git://github.com/connectivity/connman-gnome.git;branch=master;protocol=https \
+SRC_URI = "git://github.com/connectivity/connman-gnome.git;branch=master;protocol=https;tag=${PV} \
            file://0001-Removed-icon-from-connman-gnome-about-applet.patch \
            file://null_check_for_ipv4_config.patch \
            file://images/ \
diff --git a/meta/recipes-connectivity/neard/neard_0.20.bb b/meta/recipes-connectivity/neard/neard_0.20.bb
index 7825b9a4bb..51ae892c29 100644
--- a/meta/recipes-connectivity/neard/neard_0.20.bb
+++ b/meta/recipes-connectivity/neard/neard_0.20.bb
@@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \
 
 DEPENDS = "dbus glib-2.0 libnl autoconf-archive-native"
 
-SRC_URI = "git://github.com/linux-nfc/neard;protocol=https;branch=master \
+SRC_URI = "git://github.com/linux-nfc/neard;protocol=https;branch=master;tag=v${PV} \
            file://neard.in \
            file://Makefile.am-do-not-ship-version.h.patch \
            file://0001-Add-header-dependency-to-nciattach.o.patch \
diff --git a/meta/recipes-connectivity/slirp/libslirp_4.9.3.bb b/meta/recipes-connectivity/slirp/libslirp_4.9.3.bb
index a13b4b55ab..be13cbc1fc 100644
--- a/meta/recipes-connectivity/slirp/libslirp_4.9.3.bb
+++ b/meta/recipes-connectivity/slirp/libslirp_4.9.3.bb
@@ -5,7 +5,7 @@ LICENSE = "BSD-3-Clause AND MIT"
 LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=f95a9bf4a7e411164fe843697ccda59e \
                     file://LICENSE;md5=cfea6044642fd63b90ce9d79f5db64d9"
 
-SRC_URI = "git://gitlab.freedesktop.org/slirp/libslirp.git;protocol=https;branch=master"
+SRC_URI = "git://gitlab.freedesktop.org/slirp/libslirp.git;protocol=https;branch=master;tag=v${PV}"
 SRCREV = "dd76415fce457e319d665eb8210d05c5731360ba"
 UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
 
diff --git a/meta/recipes-core/seatd/seatd_0.9.3.bb b/meta/recipes-core/seatd/seatd_0.9.3.bb
index d0802eee60..72c54d58ab 100644
--- a/meta/recipes-core/seatd/seatd_0.9.3.bb
+++ b/meta/recipes-core/seatd/seatd_0.9.3.bb
@@ -6,7 +6,7 @@ LICENSE = "MIT"
 
 LIC_FILES_CHKSUM = "file://LICENSE;md5=715a99d2dd552e6188e74d4ed2914d5a"
 
-SRC_URI = "git://git.sr.ht/~kennylevinsen/seatd;protocol=https;branch=master \
+SRC_URI = "git://git.sr.ht/~kennylevinsen/seatd;protocol=https;branch=master;tag=${PV} \
            file://init"
 SRCREV = "daa8196e10b180b8b0caeafa8e5f860eb1bd6706"
 
diff --git a/meta/recipes-core/sysfsutils/sysfsutils_2.1.1.bb b/meta/recipes-core/sysfsutils/sysfsutils_2.1.1.bb
index f1975e46a6..13702866cf 100644
--- a/meta/recipes-core/sysfsutils/sysfsutils_2.1.1.bb
+++ b/meta/recipes-core/sysfsutils/sysfsutils_2.1.1.bb
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=dcc19fa9307a50017fca61423a7d9754 \
                     file://cmd/GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
                     file://lib/LGPL;md5=4fbd65380cdd255951079008b364516c"
 
-SRC_URI = "git://github.com/linux-ras/sysfsutils.git;protocol=https;branch=master \
+SRC_URI = "git://github.com/linux-ras/sysfsutils.git;protocol=https;branch=master;tag=v${PV} \
            file://0001-Modify-my_strncat-function.patch \
 "
 
diff --git a/meta/recipes-devtools/bootchart2/bootchart2_0.14.9.bb b/meta/recipes-devtools/bootchart2/bootchart2_0.14.9.bb
index 922e665028..77fdd67302 100644
--- a/meta/recipes-devtools/bootchart2/bootchart2_0.14.9.bb
+++ b/meta/recipes-devtools/bootchart2/bootchart2_0.14.9.bb
@@ -89,7 +89,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=44ac4678311254db62edf8fd39cb8124"
 
 UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+\.\d+(\.\d+)*)"
 
-SRC_URI = "git://github.com/xrmx/bootchart.git;branch=master;protocol=https \
+SRC_URI = "git://github.com/xrmx/bootchart.git;branch=master;protocol=https;tag=${PV} \
            file://bootchartd_stop.sh \
            file://0001-collector-Allocate-space-on-heap-for-chunks.patch \
            file://0001-bootchartd.in-make-sure-only-one-bootchartd-process.patch \
diff --git a/meta/recipes-devtools/distcc/distcc_3.4.bb b/meta/recipes-devtools/distcc/distcc_3.4.bb
index 392f4ae272..f5f3ebcbef 100644
--- a/meta/recipes-devtools/distcc/distcc_3.4.bb
+++ b/meta/recipes-devtools/distcc/distcc_3.4.bb
@@ -15,7 +15,7 @@ PACKAGECONFIG[popt] = "--without-included-popt,--with-included-popt,popt"
 
 RRECOMMENDS:${PN}-server = "avahi-daemon"
 
-SRC_URI = "git://github.com/distcc/distcc.git;branch=master;protocol=https \
+SRC_URI = "git://github.com/distcc/distcc.git;branch=master;protocol=https;tag=v${PV} \
            file://default \
            file://distcc \
            file://distcc.service \
diff --git a/meta/recipes-devtools/dnf/dnf_4.24.0.bb b/meta/recipes-devtools/dnf/dnf_4.24.0.bb
index d40b85c4b0..31bbb4032b 100644
--- a/meta/recipes-devtools/dnf/dnf_4.24.0.bb
+++ b/meta/recipes-devtools/dnf/dnf_4.24.0.bb
@@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
                     file://PACKAGE-LICENSING;md5=4a0548e303dbc77f067335b4d688e745 \
                     "
 
-SRC_URI = "git://github.com/rpm-software-management/dnf.git;branch=master;protocol=https \
+SRC_URI = "git://github.com/rpm-software-management/dnf.git;branch=master;protocol=https;tag=${PV} \
            file://0001-Corretly-install-tmpfiles.d-configuration.patch \
            file://0001-Do-not-hardcode-etc-and-systemd-unit-directories.patch \
            file://0005-Do-not-prepend-installroot-to-logdir.patch \
diff --git a/meta/recipes-devtools/e2fsprogs/e2fsprogs.inc b/meta/recipes-devtools/e2fsprogs/e2fsprogs.inc
index e83e8b6afa..e474f165e6 100644
--- a/meta/recipes-devtools/e2fsprogs/e2fsprogs.inc
+++ b/meta/recipes-devtools/e2fsprogs/e2fsprogs.inc
@@ -19,7 +19,7 @@ LIC_FILES_CHKSUM = "file://NOTICE;md5=d50be0580c0b0a7fbc7a4830bbe6c12b \
 SECTION = "base"
 DEPENDS = "util-linux attr autoconf-archive-native"
 
-SRC_URI = "git://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git;branch=master;protocol=https"
+SRC_URI = "git://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git;branch=master;protocol=https;tag=v${PV}"
 
 inherit autotools gettext texinfo pkgconfig multilib_header update-alternatives ptest
 
diff --git a/meta/recipes-devtools/libdnf/libdnf_0.75.0.bb b/meta/recipes-devtools/libdnf/libdnf_0.75.0.bb
index ddcbc7d9ff..a757257abd 100644
--- a/meta/recipes-devtools/libdnf/libdnf_0.75.0.bb
+++ b/meta/recipes-devtools/libdnf/libdnf_0.75.0.bb
@@ -4,7 +4,7 @@ DESCRIPTION = "This library provides a high level package-manager. It's core lib
 LICENSE = "LGPL-2.1-or-later"
 LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
 
-SRC_URI = "git://github.com/rpm-software-management/libdnf;branch=dnf-4-master;protocol=https \
+SRC_URI = "git://github.com/rpm-software-management/libdnf;branch=dnf-4-master;protocol=https;tag=${PV} \
            file://0004-Set-libsolv-variables-with-pkg-config-cmake-s-own-mo.patch \
            file://0001-Get-parameters-for-both-libsolv-and-libsolvext-libdn.patch \
            file://0001-drop-FindPythonInstDir.cmake.patch \
diff --git a/meta/recipes-devtools/mtd/mtd-utils_2.3.1.bb b/meta/recipes-devtools/mtd/mtd-utils_2.3.1.bb
index e831ebb1d7..cb88b723f8 100644
--- a/meta/recipes-devtools/mtd/mtd-utils_2.3.1.bb
+++ b/meta/recipes-devtools/mtd/mtd-utils_2.3.1.bb
@@ -12,7 +12,7 @@ DEPENDS = "zlib e2fsprogs util-linux"
 RDEPENDS:mtd-utils-tests += "bash"
 
 SRCREV = "053ee1038e5dedae61a88cadfb7bdfe9894d8bb6"
-SRC_URI = "git://git.infradead.org/mtd-utils.git;branch=master \
+SRC_URI = "git://git.infradead.org/mtd-utils.git;branch=master;tag=v${PV} \
            file://ubihealthd.service"
 
 # xattr support creates an additional compile-time dependency on acl because
diff --git a/meta/recipes-devtools/opkg-utils/opkg-utils_0.7.0.bb b/meta/recipes-devtools/opkg-utils/opkg-utils_0.7.0.bb
index 9f1a91e1d3..50d7b10bcc 100644
--- a/meta/recipes-devtools/opkg-utils/opkg-utils_0.7.0.bb
+++ b/meta/recipes-devtools/opkg-utils/opkg-utils_0.7.0.bb
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
                     file://opkg.py;beginline=2;endline=18;md5=ffa11ff3c15eb31c6a7ceaa00cc9f986"
 PROVIDES += "${@bb.utils.contains('PACKAGECONFIG', 'update-alternatives', 'virtual/update-alternatives', '', d)}"
 
-SRC_URI = "git://git.yoctoproject.org/opkg-utils;protocol=https;branch=master \
+SRC_URI = "git://git.yoctoproject.org/opkg-utils;protocol=https;branch=master;tag=${PV} \
            file://0001-update-alternatives-correctly-match-priority.patch \
            "
 SRCREV = "68a969f0e867ace0d94faf8ebe7c7bb67f59d386"
diff --git a/meta/recipes-devtools/patchelf/patchelf_git.bb b/meta/recipes-devtools/patchelf/patchelf_git.bb
index adc1198937..741c1e6612 100644
--- a/meta/recipes-devtools/patchelf/patchelf_git.bb
+++ b/meta/recipes-devtools/patchelf/patchelf_git.bb
@@ -4,7 +4,7 @@ HOMEPAGE = "https://github.com/NixOS/patchelf"
 
 LICENSE = "GPL-3.0-only"
 
-SRC_URI = "git://github.com/NixOS/patchelf;protocol=https;branch=master"
+SRC_URI = "git://github.com/NixOS/patchelf;protocol=https;branch=master;tag=${PV}"
 SRCREV = "7688b17c18d16f67fa8d5a82a2404c2e3a18648d"
 
 PV = "0.19.1"
diff --git a/meta/recipes-devtools/python/python3-dtc_1.8.1.bb b/meta/recipes-devtools/python/python3-dtc_1.8.1.bb
index ea536d659d..51abf3640a 100644
--- a/meta/recipes-devtools/python/python3-dtc_1.8.1.bb
+++ b/meta/recipes-devtools/python/python3-dtc_1.8.1.bb
@@ -6,7 +6,7 @@ LICENSE = "BSD-2-Clause OR GPL-2.0-only"
 
 DEPENDS = "flex-native bison-native swig-native python3-setuptools-scm-native libyaml dtc"
 
-SRC_URI = "git://git.kernel.org/pub/scm/utils/dtc/dtc.git;branch=main;protocol=https \
+SRC_URI = "git://git.kernel.org/pub/scm/utils/dtc/dtc.git;branch=main;protocol=https;tag=v${PV} \
            "
 
 UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
diff --git a/meta/recipes-devtools/python/python3-pefile_2024.8.26.bb b/meta/recipes-devtools/python/python3-pefile_2024.8.26.bb
index 11765b3cb3..662413b704 100644
--- a/meta/recipes-devtools/python/python3-pefile_2024.8.26.bb
+++ b/meta/recipes-devtools/python/python3-pefile_2024.8.26.bb
@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=e34c75178086aca0a17551ffbacaca53"
 
 inherit setuptools3 ptest-python-pytest
 SRCREV = "4b3b1e2e568a88d4f1897d694d684f23d9e270c4"
-SRC_URI = "git://github.com/erocarrera/pefile;branch=master;protocol=https \
+SRC_URI = "git://github.com/erocarrera/pefile;branch=master;protocol=https;tag=v${PV} \
            file://run-ptest"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-devtools/sbom-cve-check/sbom-cve-check-update-cvelist-native_2026-06-24.bb b/meta/recipes-devtools/sbom-cve-check/sbom-cve-check-update-cvelist-native_2026-06-24.bb
index ca192bc9cf..ef61eb4628 100644
--- a/meta/recipes-devtools/sbom-cve-check/sbom-cve-check-update-cvelist-native_2026-06-24.bb
+++ b/meta/recipes-devtools/sbom-cve-check/sbom-cve-check-update-cvelist-native_2026-06-24.bb
@@ -3,7 +3,7 @@ LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
 
 HOMEPAGE = "https://github.com/CVEProject/cvelistV5"
-SRC_URI = "git://github.com/CVEProject/cvelistV5.git;branch=main;protocol=https;destsuffix="
+SRC_URI = "git://github.com/CVEProject/cvelistV5.git;branch=main;protocol=https;destsuffix=;tag=${PV}_baseline"
 SBOM_CVE_CHECK_DB_NAME = "cvelist"
 
 SRCREV = "966bddf787997b471325e065cae82702a60c64ff"
diff --git a/meta/recipes-devtools/sbom-cve-check/sbom-cve-check-update-nvd-native_2026.06.24-000003.bb b/meta/recipes-devtools/sbom-cve-check/sbom-cve-check-update-nvd-native_2026.06.24-000003.bb
index 73d9e77692..95af1a5805 100644
--- a/meta/recipes-devtools/sbom-cve-check/sbom-cve-check-update-nvd-native_2026.06.24-000003.bb
+++ b/meta/recipes-devtools/sbom-cve-check/sbom-cve-check-update-nvd-native_2026.06.24-000003.bb
@@ -3,7 +3,7 @@ LICENSE = "cve-tou"
 LIC_FILES_CHKSUM = "file://LICENSES/cve-tou.md;md5=bc5bbf146f01e20ece63d83c8916d8fb"
 
 HOMEPAGE = "https://github.com/fkie-cad/nvd-json-data-feeds"
-SRC_URI = "git://github.com/fkie-cad/nvd-json-data-feeds.git;branch=main;protocol=https;destsuffix="
+SRC_URI = "git://github.com/fkie-cad/nvd-json-data-feeds.git;branch=main;protocol=https;destsuffix=;tag=v${PV}"
 SBOM_CVE_CHECK_DB_NAME = "nvd-fkie"
 
 SRCREV = "11e62eba27133a54836b7a081d05ff96f72d879b"
diff --git a/meta/recipes-devtools/systemd-bootchart/systemd-bootchart_235.bb b/meta/recipes-devtools/systemd-bootchart/systemd-bootchart_235.bb
index a8976f8a3e..3e435e7777 100644
--- a/meta/recipes-devtools/systemd-bootchart/systemd-bootchart_235.bb
+++ b/meta/recipes-devtools/systemd-bootchart/systemd-bootchart_235.bb
@@ -8,7 +8,7 @@ LICENSE = "GPL-2.0-only AND LGPL-2.1-only"
 LIC_FILES_CHKSUM = "file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c \
                     file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe"
 
-SRC_URI = "git://github.com/systemd/systemd-bootchart.git;protocol=https;branch=main \
+SRC_URI = "git://github.com/systemd/systemd-bootchart.git;protocol=https;branch=main;tag=v${PV} \
            file://mips64.patch \
            file://no_lto.patch \
            file://0001-Add-riscv32-support.patch \
diff --git a/meta/recipes-extended/asciidoc/asciidoc_10.2.1.bb b/meta/recipes-extended/asciidoc/asciidoc_10.2.1.bb
index 848c380363..44587e94fb 100644
--- a/meta/recipes-extended/asciidoc/asciidoc_10.2.1.bb
+++ b/meta/recipes-extended/asciidoc/asciidoc_10.2.1.bb
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=aaee33adce0fc7cc40fee23f82f7f101 \
                     file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
                     "
 
-SRC_URI = "git://github.com/asciidoc/asciidoc-py;protocol=https;branch=main"
+SRC_URI = "git://github.com/asciidoc/asciidoc-py;protocol=https;branch=main;tag=${PV}"
 SRCREV = "21e33efe96ba9a51d99d1150691dae750afd6ed1"
 
 DEPENDS = "libxml2-native libxslt-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native"
diff --git a/meta/recipes-extended/cracklib/cracklib_2.10.3.bb b/meta/recipes-extended/cracklib/cracklib_2.10.3.bb
index 7feba2c950..48dd72d5f9 100644
--- a/meta/recipes-extended/cracklib/cracklib_2.10.3.bb
+++ b/meta/recipes-extended/cracklib/cracklib_2.10.3.bb
@@ -9,7 +9,7 @@ DEPENDS = "cracklib-native zlib"
 
 EXTRA_OECONF = "--without-python --libdir=${base_libdir}"
 
-SRC_URI = "git://github.com/cracklib/cracklib;protocol=https;branch=main \
+SRC_URI = "git://github.com/cracklib/cracklib;protocol=https;branch=main;tag=v${PV} \
            "
 
 SRCREV = "e73d5db1789d198b5f9ec44b68b9c775c3e6c042"
diff --git a/meta/recipes-extended/iputils/iputils_20250605.bb b/meta/recipes-extended/iputils/iputils_20250605.bb
index cdebf28ca3..4b09fd2083 100644
--- a/meta/recipes-extended/iputils/iputils_20250605.bb
+++ b/meta/recipes-extended/iputils/iputils_20250605.bb
@@ -8,7 +8,7 @@ LICENSE = "BSD-3-Clause AND GPL-2.0-or-later"
 
 LIC_FILES_CHKSUM = "file://LICENSE;md5=627cc07ec86a45951d43e30658bbd819"
 
-SRC_URI = "git://github.com/iputils/iputils;branch=master;protocol=https \
+SRC_URI = "git://github.com/iputils/iputils;branch=master;protocol=https;tag=${PV} \
           "
 SRCREV = "6e1cb146547eb6fbb127ffc8397a9241be0d33c2"
 
diff --git a/meta/recipes-extended/libnsl/libnsl2_2.0.1.bb b/meta/recipes-extended/libnsl/libnsl2_2.0.1.bb
index ff4ae6c243..4d588e39aa 100644
--- a/meta/recipes-extended/libnsl/libnsl2_2.0.1.bb
+++ b/meta/recipes-extended/libnsl/libnsl2_2.0.1.bb
@@ -12,7 +12,7 @@ DEPENDS = "libtirpc"
 
 CVE_PRODUCT = "libnsl_project:libnsl"
 
-SRC_URI = "git://github.com/thkukuk/libnsl;branch=master;protocol=https"
+SRC_URI = "git://github.com/thkukuk/libnsl;branch=master;protocol=https;tag=v${PV}"
 SRCREV = "d4b22e54b5e6637a69b26eab5faad2a326c9b182"
 
 inherit autotools pkgconfig gettext
diff --git a/meta/recipes-extended/ltp/ltp_20260529.bb b/meta/recipes-extended/ltp/ltp_20260529.bb
index 0fc3946aa4..f3e20daf85 100644
--- a/meta/recipes-extended/ltp/ltp_20260529.bb
+++ b/meta/recipes-extended/ltp/ltp_20260529.bb
@@ -26,7 +26,7 @@ CFLAGS:append:powerpc64 = " -D__SANE_USERSPACE_TYPES__"
 CFLAGS:append:mipsarchn64 = " -D__SANE_USERSPACE_TYPES__"
 SRCREV = "3a64d78f58bdceba93ed321e91215fb969a047ed"
 
-SRC_URI = "git://github.com/linux-test-project/ltp.git;branch=master;protocol=https \
+SRC_URI = "git://github.com/linux-test-project/ltp.git;branch=master;protocol=https;tag=${PV} \
            file://0001-Remove-OOM-tests-from-runtest-mm.patch \
            file://0001-Add-__clear_cache-declaration-for-clang.patch \
            file://0001-syscalls-semctl08-Skip-semctl08-when-__USE_TIME64_RE.patch \
diff --git a/meta/recipes-extended/net-tools/net-tools_2.10.bb b/meta/recipes-extended/net-tools/net-tools_2.10.bb
index a21916fb26..a3c3d2920c 100644
--- a/meta/recipes-extended/net-tools/net-tools_2.10.bb
+++ b/meta/recipes-extended/net-tools/net-tools_2.10.bb
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
                     file://ifconfig.c;beginline=11;endline=15;md5=d1ca372080ad5401e23ca0afc35cf9ba"
 
 SRCREV = "80d7b95067f1f22fece9537dea6dff53081f4886"
-SRC_URI = "git://git.code.sf.net/p/net-tools/code;protocol=https;branch=master \
+SRC_URI = "git://git.code.sf.net/p/net-tools/code;protocol=https;branch=master;tag=v${PV} \
     file://net-tools-config.h \
     file://net-tools-config.make \
     file://Add_missing_headers.patch \
diff --git a/meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb b/meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb
index a15ea43d66..c82ea65ee2 100644
--- a/meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb
+++ b/meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=55c5fdf02cfcca3fc9621b6f2ceae10f"
 
 UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
 
-SRC_URI = "git://github.com/openSUSE/xinetd.git;protocol=https;branch=master \
+SRC_URI = "git://github.com/openSUSE/xinetd.git;protocol=https;branch=master;tag=${PV} \
            file://0001-Use-monotonic-time.patch \
            file://xinetd.init \
            file://xinetd.default \
diff --git a/meta/recipes-extended/zstd/zstd_1.5.7.bb b/meta/recipes-extended/zstd/zstd_1.5.7.bb
index 4960ed5b48..ef0bd54c9c 100644
--- a/meta/recipes-extended/zstd/zstd_1.5.7.bb
+++ b/meta/recipes-extended/zstd/zstd_1.5.7.bb
@@ -12,7 +12,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=0822a32f7acdbe013606746641746ee8 \
                     file://COPYING;md5=39bba7d2cf0ba1036f2a6e2be52fe3f0 \
                     "
 
-SRC_URI = "git://github.com/facebook/zstd.git;branch=release;protocol=https"
+SRC_URI = "git://github.com/facebook/zstd.git;branch=release;protocol=https;tag=v${PV}"
 
 SRCREV = "f8745da6ff1ad1e7bab384bd1f9d742439278e99"
 UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
diff --git a/meta/recipes-gnome/libxmlb/libxmlb_0.3.28.bb b/meta/recipes-gnome/libxmlb/libxmlb_0.3.28.bb
index 0e1c815362..47c07d0c29 100644
--- a/meta/recipes-gnome/libxmlb/libxmlb_0.3.28.bb
+++ b/meta/recipes-gnome/libxmlb/libxmlb_0.3.28.bb
@@ -4,7 +4,7 @@ LICENSE = "LGPL-2.1-only"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=1803fa9c2c3ce8cb06b4861d75310742"
 
 SRC_URI = " \
-	git://github.com/hughsie/libxmlb.git;branch=main;protocol=https \
+	git://github.com/hughsie/libxmlb.git;branch=main;protocol=https;tag=${PV} \
 	file://0001-xb-selftest.c-hardcode-G_TEST_SRCDIR.patch \
 	file://run-ptest \
 "
diff --git a/meta/recipes-graphics/libepoxy/libepoxy_1.5.10.bb b/meta/recipes-graphics/libepoxy/libepoxy_1.5.10.bb
index 2427ce3f96..8c1011e94a 100644
--- a/meta/recipes-graphics/libepoxy/libepoxy_1.5.10.bb
+++ b/meta/recipes-graphics/libepoxy/libepoxy_1.5.10.bb
@@ -9,7 +9,7 @@ SECTION = "libs"
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://COPYING;md5=58ef4c80d401e07bd9ee8b6b58cf464b"
 
-SRC_URI = "git://github.com/anholt/libepoxy;branch=master;protocol=https"
+SRC_URI = "git://github.com/anholt/libepoxy;branch=master;protocol=https;tag=${PV}"
 SRCREV = "c84bc9459357a40e46e2fec0408d04fbdde2c973"
 
 inherit meson pkgconfig features_check github-releases
diff --git a/meta/recipes-graphics/matchbox-wm/matchbox-wm_1.2.3.bb b/meta/recipes-graphics/matchbox-wm/matchbox-wm_1.2.3.bb
index 3359193d65..1efacd2f51 100644
--- a/meta/recipes-graphics/matchbox-wm/matchbox-wm_1.2.3.bb
+++ b/meta/recipes-graphics/matchbox-wm/matchbox-wm_1.2.3.bb
@@ -11,7 +11,7 @@ SECTION = "x11/wm"
 DEPENDS = "libmatchbox virtual/libx11 libxext libxrender startup-notification expat gconf libxcursor libxfixes"
 
 SRCREV = "ce8c1053270d960a7235ab5c3435f707541810a4"
-SRC_URI = "git://git.yoctoproject.org/matchbox-window-manager;branch=master;protocol=https \
+SRC_URI = "git://git.yoctoproject.org/matchbox-window-manager;branch=master;protocol=https;tag=${PV} \
            file://kbdconfig"
 
 inherit autotools pkgconfig features_check
diff --git a/meta/recipes-graphics/waffle/waffle_1.8.3.bb b/meta/recipes-graphics/waffle/waffle_1.8.3.bb
index 377187b499..1a2265b4c6 100644
--- a/meta/recipes-graphics/waffle/waffle_1.8.3.bb
+++ b/meta/recipes-graphics/waffle/waffle_1.8.3.bb
@@ -9,7 +9,7 @@ LICENSE = "BSD-2-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4c5154407c2490750dd461c50ad94797 \
                     file://include/waffle-1/waffle.h;endline=24;md5=61dbf8697f61c78645e75a93c585b1bf"
 
-SRC_URI = "git://gitlab.freedesktop.org/mesa/waffle.git;protocol=https;branch=maint-1.8"
+SRC_URI = "git://gitlab.freedesktop.org/mesa/waffle.git;protocol=https;branch=maint-1.8;tag=v${PV}"
 SRCREV = "920b709036d7313b59007435786fc3da61af31ab"
 
 inherit meson features_check lib_package bash-completion pkgconfig
diff --git a/meta/recipes-graphics/xorg-lib/libxcvt_0.1.3.bb b/meta/recipes-graphics/xorg-lib/libxcvt_0.1.3.bb
index 1e2c626143..aed61b0216 100644
--- a/meta/recipes-graphics/xorg-lib/libxcvt_0.1.3.bb
+++ b/meta/recipes-graphics/xorg-lib/libxcvt_0.1.3.bb
@@ -6,7 +6,7 @@ LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://COPYING;md5=129947a06984d6faa6f9a9788fa2a03f"
 SECTION = "x11/libs"
 
-SRC_URI = "git://gitlab.freedesktop.org/xorg/lib/libxcvt.git;protocol=https;branch=master"
+SRC_URI = "git://gitlab.freedesktop.org/xorg/lib/libxcvt.git;protocol=https;branch=master;tag=${BPN}-${PV}"
 SRCREV = "dd8631c61465cc0de5e476c7a98e56528d62b163"
 
 inherit meson
diff --git a/meta/recipes-kernel/blktrace/blktrace_1.3.0.bb b/meta/recipes-kernel/blktrace/blktrace_1.3.0.bb
index 2c1b6b1d6c..6f9e19b1a9 100644
--- a/meta/recipes-kernel/blktrace/blktrace_1.3.0.bb
+++ b/meta/recipes-kernel/blktrace/blktrace_1.3.0.bb
@@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
 
 DEPENDS = "libaio"
 
-SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/axboe/blktrace.git;protocol=https;branch=master \
+SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/axboe/blktrace.git;protocol=https;branch=master;tag=${BPN}-${PV} \
            file://0001-bno_plot.py-btt_plot.py-Ask-for-python3-specifically.patch \
           "
 
diff --git a/meta/recipes-kernel/dtc/dtc_1.8.1.bb b/meta/recipes-kernel/dtc/dtc_1.8.1.bb
index e2c7edcc46..ade36a4e58 100644
--- a/meta/recipes-kernel/dtc/dtc_1.8.1.bb
+++ b/meta/recipes-kernel/dtc/dtc_1.8.1.bb
@@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
                     "
 
 SRC_URI = " \
-    git://git.kernel.org/pub/scm/utils/dtc/dtc.git;branch=main;protocol=https \
+    git://git.kernel.org/pub/scm/utils/dtc/dtc.git;branch=main;protocol=https;tag=v${PV} \
 "
 SRCREV = "8f48565e5cfedc74d3f7512f1e0188e9d85dc1de"
 
diff --git a/meta/recipes-kernel/powertop/powertop_2.15.bb b/meta/recipes-kernel/powertop/powertop_2.15.bb
index a9008b4074..5dceac17d3 100644
--- a/meta/recipes-kernel/powertop/powertop_2.15.bb
+++ b/meta/recipes-kernel/powertop/powertop_2.15.bb
@@ -6,7 +6,7 @@ DEPENDS = "ncurses libnl pciutils autoconf-archive-native"
 LICENSE = "GPL-2.0-only"
 LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e"
 
-SRC_URI = "git://github.com/fenrus75/powertop;protocol=https;branch=master \
+SRC_URI = "git://github.com/fenrus75/powertop;protocol=https;branch=master;tag=v${PV} \
            file://0001-wakeup_xxx.h-include-limits.h.patch \
            "
 SRCREV = "d51ad395436d4d1dcc3ca46e1519ffeb475bf651"
diff --git a/meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato_0.2.bb b/meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato_0.2.bb
index ece4f25eca..3ec0027917 100644
--- a/meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato_0.2.bb
+++ b/meta/recipes-sato/matchbox-theme-sato/matchbox-theme-sato_0.2.bb
@@ -2,6 +2,6 @@ require matchbox-theme-sato.inc
 
 # SRCREV tagged 0.2
 SRCREV = "df085ba9cdaeaf2956890b0e29d7ea1779bf6c78"
-SRC_URI = "git://git.yoctoproject.org/matchbox-sato;branch=master;protocol=https"
+SRC_URI = "git://git.yoctoproject.org/matchbox-sato;branch=master;protocol=https;tag=${PV}"
 UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))"
 
diff --git a/meta/recipes-sato/sato-screenshot/sato-screenshot_0.3.bb b/meta/recipes-sato/sato-screenshot/sato-screenshot_0.3.bb
index 27850a8b98..adb9251fd7 100644
--- a/meta/recipes-sato/sato-screenshot/sato-screenshot_0.3.bb
+++ b/meta/recipes-sato/sato-screenshot/sato-screenshot_0.3.bb
@@ -11,7 +11,7 @@ DEPENDS = "matchbox-panel-2 gtk+3"
 
 # SRCREV tagged 0.3
 SRCREV = "9250fa5a012d84ff45984e8c4345ee7635227756"
-SRC_URI = "git://git.yoctoproject.org/screenshot;branch=master;protocol=https"
+SRC_URI = "git://git.yoctoproject.org/screenshot;branch=master;protocol=https;tag=${PV}"
 UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))"
 
 inherit autotools pkgconfig features_check
diff --git a/meta/recipes-support/gnome-desktop-testing/gnome-desktop-testing_2021.1.bb b/meta/recipes-support/gnome-desktop-testing/gnome-desktop-testing_2021.1.bb
index 4fcad4814b..30e4f1882f 100644
--- a/meta/recipes-support/gnome-desktop-testing/gnome-desktop-testing_2021.1.bb
+++ b/meta/recipes-support/gnome-desktop-testing/gnome-desktop-testing_2021.1.bb
@@ -9,7 +9,7 @@ LICENSE = "LGPL-2.0-or-later"
 LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7 \
                     file://src/gnome-desktop-testing-runner.c;beginline=1;endline=20;md5=7ef3ad9da2ffcf7707dc11151fe007f4"
 
-SRC_URI = "git://gitlab.gnome.org/GNOME/gnome-desktop-testing.git;protocol=https;branch=master \
+SRC_URI = "git://gitlab.gnome.org/GNOME/gnome-desktop-testing.git;protocol=https;branch=master;tag=v${PV} \
            file://0001-fix-non-literal-format-string-issue-with-clang.patch \
           "
 SRCREV = "e346cd4ed2e2102c9b195b614f3c642d23f5f6e7"
diff --git a/meta/recipes-support/libdisplay-info/libdisplay-info_0.3.0.bb b/meta/recipes-support/libdisplay-info/libdisplay-info_0.3.0.bb
index 3dc02261dd..380c12b867 100644
--- a/meta/recipes-support/libdisplay-info/libdisplay-info_0.3.0.bb
+++ b/meta/recipes-support/libdisplay-info/libdisplay-info_0.3.0.bb
@@ -8,7 +8,7 @@ LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=e4426409957080ee0352128354cea2de"
 DEPENDS = "hwdata-native"
 
-SRC_URI = "git://gitlab.freedesktop.org/emersion/libdisplay-info.git;branch=main;protocol=https"
+SRC_URI = "git://gitlab.freedesktop.org/emersion/libdisplay-info.git;branch=main;protocol=https;tag=${PV}"
 SRCREV = "47a5590e9c4eb35d67651b8c05a55f1a48259329"
 
 inherit meson pkgconfig lib_package
diff --git a/meta/recipes-support/libseccomp/libseccomp_2.6.0.bb b/meta/recipes-support/libseccomp/libseccomp_2.6.0.bb
index b356862dfd..44260e3032 100644
--- a/meta/recipes-support/libseccomp/libseccomp_2.6.0.bb
+++ b/meta/recipes-support/libseccomp/libseccomp_2.6.0.bb
@@ -9,7 +9,7 @@ DEPENDS += "gperf-native"
 
 SRCREV = "c7c0caed1d04292500ed4b9bb386566053eb9775"
 
-SRC_URI = "git://github.com/seccomp/libseccomp.git;branch=release-2.6;protocol=https \
+SRC_URI = "git://github.com/seccomp/libseccomp.git;branch=release-2.6;protocol=https;tag=v${PV} \
            file://0001-api-fix-seccomp_export_bpf_mem-out-of-bounds-read.patch \
            file://run-ptest \
            "
diff --git a/meta/recipes-support/lz4/lz4_1.10.0.bb b/meta/recipes-support/lz4/lz4_1.10.0.bb
index 61a7237f83..5a39f89871 100644
--- a/meta/recipes-support/lz4/lz4_1.10.0.bb
+++ b/meta/recipes-support/lz4/lz4_1.10.0.bb
@@ -12,7 +12,7 @@ PE = "1"
 
 SRCREV = "ebb370ca83af193212df4dcbadcc5d87bc0de2f0"
 
-SRC_URI = "git://github.com/lz4/lz4.git;branch=release;protocol=https \
+SRC_URI = "git://github.com/lz4/lz4.git;branch=release;protocol=https;tag=v${PV} \
            file://reproducibility.patch \
            file://run-ptest \
            file://fix-null-error-handling.patch \
diff --git a/meta/recipes-support/numactl/numactl_2.0.19.bb b/meta/recipes-support/numactl/numactl_2.0.19.bb
index 5fd35f1770..35bb401935 100644
--- a/meta/recipes-support/numactl/numactl_2.0.19.bb
+++ b/meta/recipes-support/numactl/numactl_2.0.19.bb
@@ -12,7 +12,7 @@ LIC_FILES_CHKSUM = "file://README.md;beginline=19;endline=32;md5=9f34c3af4ed6f3f
 
 SRCREV = "3bc85e37d5a30da6790cb7e8bb488bb8f679170f"
 
-SRC_URI = "git://github.com/numactl/numactl;branch=master;protocol=https \
+SRC_URI = "git://github.com/numactl/numactl;branch=master;protocol=https;tag=v${PV} \
            file://Fix-the-test-output-format.patch \
            file://Makefile \
            file://run-ptest \
diff --git a/meta/recipes-support/rng-tools/rng-tools_6.17.bb b/meta/recipes-support/rng-tools/rng-tools_6.17.bb
index 9085658697..a6578c0fe0 100644
--- a/meta/recipes-support/rng-tools/rng-tools_6.17.bb
+++ b/meta/recipes-support/rng-tools/rng-tools_6.17.bb
@@ -6,7 +6,7 @@ LICENSE = "GPL-2.0-only"
 LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
 DEPENDS = "openssl libcap"
 
-SRC_URI = "git://github.com/nhorman/rng-tools.git;branch=master;protocol=https \
+SRC_URI = "git://github.com/nhorman/rng-tools.git;branch=master;protocol=https;tag=v${PV} \
            file://init \
            file://default \
            file://rng-tools.service \
diff --git a/meta/recipes-support/shared-mime-info/shared-mime-info_2.5.1.bb b/meta/recipes-support/shared-mime-info/shared-mime-info_2.5.1.bb
index f4551c8f59..7ff69a4c99 100644
--- a/meta/recipes-support/shared-mime-info/shared-mime-info_2.5.1.bb
+++ b/meta/recipes-support/shared-mime-info/shared-mime-info_2.5.1.bb
@@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
 
 DEPENDS = "libxml2 glib-2.0 shared-mime-info-native xmlto-native"
 
-SRC_URI = "git://gitlab.freedesktop.org/xdg/shared-mime-info.git;protocol=https;branch=master \
+SRC_URI = "git://gitlab.freedesktop.org/xdg/shared-mime-info.git;protocol=https;branch=master;tag=${PV} \
            "
 SRCREV = "fd8ab89c20093f1bfba8fa9e302ba584fffd0fd7"
 
diff --git a/meta/recipes-support/xxhash/xxhash_0.8.3.bb b/meta/recipes-support/xxhash/xxhash_0.8.3.bb
index 75b34bb0a2..dc9bbe5563 100644
--- a/meta/recipes-support/xxhash/xxhash_0.8.3.bb
+++ b/meta/recipes-support/xxhash/xxhash_0.8.3.bb
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=13be6b481ff5616f77dda971191bb29b \
                     file://cli/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
                     "
 
-SRC_URI = "git://github.com/Cyan4973/xxHash.git;branch=release;protocol=https"
+SRC_URI = "git://github.com/Cyan4973/xxHash.git;branch=release;protocol=https;tag=v${PV}"
 UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
 
 SRCREV = "e626a72bc2321cd320e953a0ccf1584cad60f363"
