subtree updates openembedded poky

meta-openembedded: 491b7592f4..eff1b182c1:
  Alejandro Hernandez Samaniego (1):
        emacs: update to 29.1

  Archana Polampalli (2):
        python3-pyroute2: fix ptest failure
        nodejs: upgrade 18.17.0 -> 18.17.1

  Bartosz Golaszewski (1):
        libgpiod: update to v2.0.2

  Beniamin Sandu (3):
        unbound: upgrade 1.17.1 -> 1.18.0
        mbedtls: upgrade 3.4.0 -> 3.4.1
        mbedtls: upgrade 2.28.3 -> 2.28.4

  Benjamin Bara (3):
        libvpx: fix VPXTARGET for non-neon armv7a
        ne10: set incompatible for armv7 without neon
        openh264: make neon optional and disable if not supported

  Chaitanya Vadrevu (1):
        bolt: Add recipe

  Chen Qi (2):
        spice-protocol: fix populate_sdk error when spice is installed
        python3-blivetgui: switch from master to main

  Christophe Vu-Brugier (1):
        sg3-utils: upgrade 1.47 -> 1.48

  Danik (2):
        python3-gspread: interface for google spreadsheet
        python3-piccata: piccata - a simple CoAP toolkit added

  Denys Zagorui (1):
        bpftool: add native and nativesdk support

  Emil Kronborg Andersen (3):
        lcms: add CVE_PRODUCT
        snappy: add CVE_PRODUCT
        libopus: add CVE_PRODUCT

  Enrico Jorns (1):
        microcom: add new recipe

  Ewa Kujawska (1):
        python3-oauth2client_4.1.2.bb: recipe added

  Frieder Schrempf (1):
        python3-can: Add missing runtime dependencies

  Gianfranco Costamagna (1):
        dlt-daemon: upgrade 2.18.9 -> 2.18.10 (commit: 0f2d4cfffada6f8448a2cb27995b38eb4271044f)

  Joe Slater (1):
        python3-inotify: fix tests

  Justin Bronder (5):
        python3-mypy-extensions: upgrade 0.4.3 -> 1.0.0
        python3-types-setuptools: add 68.0.0.3
        python3-typed-ast: remove EOL package
        python3-types-psutil: add 5.9.5.16
        python3-mypy: upgrade 0.971 -> 1.5.0

  Kai Kang (1):
        libmcrypt: fix multilib conflict

  Khem Raj (31):
        qad: Fix build with clang
        python3-dominate: Fix get_thread_context ptest on musl
        perfetto: Add SRCREV_FORMAT
        gosu: Define SRCREV_FORMAT
        libsdl2-ttf: Define SRCREV_FORMAT
        gosu: Define SRCREV_FORMAT
        sysdig: Add SRCREV_FORMAT
        cockpit: Upgrade to 298 release
        librelp: Fix function prototypes in tests
        jemalloc: Unbolt clang workaroud
        python3-protobuf: Fix build errors seen with clang
        mariadb: Fix build with libfmt 10.1+
        librelp: Add packageconfigs for TLS implementations
        librelp: Fix ptests builds on musl
        librelp: Fix ptest installs to work with dash
        librelp: Add to meta-oe ptest image
        liburing: Upgrade to 2.4 release
        rsyslog: Enable openssl transport by default
        libio-socket-ssl-perl: Upgrade to 2.083
        libfaketime: Fix build with clang
        libfaketime: Eanable LFS64 on musl
        python3-lz4: Drop using PYTHON_PN
        python3-lz4: Add missing rdeps needed for ptests
        rsyslog: Skip failing omfile-outchannel test on musl
        python3-m2crypto: Append architecture to SWIG_FEATURES instead of overriding
        networkmanager: Fix build on musl
        network-manager-applet: Fix build with musl/lld linker
        networkmanager-openvpn: Fix build with lld on musl
        openconnect: Upgrade to 9.12
        openconnect: Fix build with GnuTLS v3.8.1
        fontforge: Fix build with gettext 0.22

  Kirk Hays (1):
        jack: Drop dependency on readline

  Leon Anavi (2):
        aml: add new recipe
        neatvnc: add new recipe

  Marek Vasut (2):
        libiio: Use tagged v0.25
        libiio: Rename to versioned recipe filename

  Marine Vovard (1):
        python3-kivy: Require X11 or Wayland in DISTRO_FEATURES

  Mark Hatle (1):
        kconfig-frontends: Avoid using hard coded /usr/include paths

  Markus Volk (28):
        gvfs: update 1.51.1 -> 1.51.90
        gnome-themes-extra: fix datadir path
        libnice: add graphviz-native dependency
        libcanberra: fix api-documentation build
        libgweather4: fix api-documentation build
        appstream: disable docs
        gtksourceview5: fix api-documentation build
        libpeas: fix api-documentation build
        nautilus: fix api-documentation build
        evince: fix api-documentation build
        usbids: add recipe
        libcacard: add recipe
        usbredir: upgrade 0.9.0 -> 0.13.0
        spice: upgrade 0.14.2 -> 0.15.2
        gnome-remote-desktop: add recipe
        libosinfo: add recipe
        gnome-boxes: add recipe
        pipewire: upgrade 0.3.77 -> 0.3.78
        spice-gtk: fix api-documentation build
        flatpak: fix api-documentation build
        phodav: add recipe
        libdecor: update to latest commit
        spice-guest-vdagent: add recipe
        pipewire: upgrade 0.3.78 -> 0.3.79
        spice: add missing dependency on orc
        spice-guest-vdagent: add missing dependencies
        libosinfo: build vapi only if gobject-introspection is enabled
        gnome-boxes: remove dependency on ovmf

  Martin Jansa (12):
        openh264: fix installed-vs-shared QA issue with multilib
        libfaketime: simplify packaging
        json-schema-validator: restore 0004-cmake-Use-GNUInstallDirs.patch
        phodav: make sure systemd files are packaged correctly
        sysbench: avoid -L/usr/lib32 and configure-unsafe QA issue
        mongodb: enable hardware crc32 only with crc in TUNE_FEATURES
        khronos-cts.inc: respect MLPREFIX when appending DEPENDS with anonymous python
        libcyusbserial: fix installed-vs-shipped QA issue with multilib
        tcpreplay: fix pcap detection with /usr/lib32 multilib
        libiio: use main branch instead of master
        webkitgtk: explicitly disable JIT for armv7* with softfp
        layer.conf: update LAYERSERIES_COMPAT for nanbield

  Ming Liu (1):
        libusbgx: usbgx.service: use Type=oneshot

  Mingli Yu (4):
        mariadb: Upgrade to 10.11.5
        dialog: Update the SRC_URI
        gnulib: Update SRC_URI
        thrift: Remove buildpaths

  Nicolas Marguet (1):
        librelp: add ptest

  Parian Golchin (1):
        json-schema-validator: Updrade to 2.2.0

  Pawel Langowski (1):
        qcbor: add recipe

  Petr Chernikov (1):
        Fix empty 0.0.0-0-g0 jemalloc version by adding --with-version

  Petr Gotthard (1):
        python3-sdbus: add recipe

  Robert Yang (1):
        frr: Fix CVE-2023-41358 and CVE-2023-41360

  Roger Knecht (1):
        python3-schedule: add recipe

  Roland Hieber (1):
        fbida: update Upstream-Status for submitted patches

  Ross Burton (1):
        Revert "protobuf: stage protoc binary to sysroot"

  Soumya (1):
        yasm: fix CVE-2023-37732

  Soumya Sambu (1):
        krb5: Upgrade 1.20.1 -> 1.20.2

  Sourav Kumar Pramanik (1):
        meta-oe-components: Avoid usage of nobranch=1

  Sourav Pramanik (2):
        rapidjson: Avoid usage of nobranch=1
        nlohmann-json: Avoid usage of nobranch=1

  Stanislav Angelovic (1):
        feat: bump sdbus-c++ up to v1.3.0

  Sudip Mukherjee (1):
        qad: Add initial recipe

  Trevor Gamblin (1):
        python3-kivy: fix filename

  Tymoteusz Burak (2):
        ttf-google-fira: add recipe
        libfaketime: add recipe

  Vincent Davis Jr (1):
        cglm: upgrade v0.8.9 -> v0.9.1

  Wang Mingyu (108):
        libcloudproviders: upgrade 0.3.1 -> 0.3.2
        chrony: upgrade 4.3 -> 4.4
        networkmanager: upgrade 1.42.8 -> 1.44.0
        weechat: upgrade 4.0.2 -> 4.0.3
        ctags: upgrade 6.0.20230730.0 -> 6.0.20230813.0
        fmt: upgrade 10.0.0 -> 10.1.0
        gensio: upgrade 2.6.7 -> 2.7.2
        googletest: upgrade 1.13.0 -> 1.14.0
        lvgl: upgrade 8.3.8 -> 8.3.9
        postgresql: upgrade 15.3 -> 15.4
        smartmontools: upgrade 7.3 -> 7.4
        xdg-dbus-proxy: upgrade 0.1.4 -> 0.1.5
        yaml-cpp: upgrade 0.7.0 -> 0.8.0
        libtest-harness-perl: upgrade 3.44 -> 3.47
        python3-alembic: upgrade 1.11.1 -> 1.11.2
        python3-async-timeout: upgrade 4.0.2 -> 4.0.3
        python3-bitarray: upgrade 2.8.0 -> 2.8.1
        python3-cmake: upgrade 3.27.0 -> 3.27.2
        python3-coverage: upgrade 7.2.7 -> 7.3.0
        python3-dnspython: upgrade 2.4.1 -> 2.4.2
        python3-google-api-python-client: upgrade 2.95.0 -> 2.96.0
        python3-googleapis-common-protos: upgrade 1.59.1 -> 1.60.0
        python3-joblib: upgrade 1.3.1 -> 1.3.2
        python3-luma-oled: upgrade 3.12.0 -> 3.13.0
        python3-platformdirs: upgrade 3.9.1 -> 3.10.0
        python3-pycodestyle: upgrade 2.10.0 -> 2.11.0
        python3-pyflakes: upgrade 3.0.1 -> 3.1.0
        python3-pymisp: upgrade 2.4.173 -> 2.4.174
        python3-rdflib: upgrade 6.3.2 -> 7.0.0
        python3-regex: upgrade 2023.6.3 -> 2023.8.8
        python3-rich: upgrade 13.4.2 -> 13.5.2
        python3-sh: upgrade 2.0.4 -> 2.0.6
        python3-tox: upgrade 4.6.4 -> 4.8.0
        python3-tqdm: upgrade 4.65.0 -> 4.66.1
        python3-uefi-firmware: upgrade 1.10 -> 1.11
        python3-virtualenv: upgrade 20.24.2 -> 20.24.3
        python3-web3: upgrade 6.7.0 -> 6.8.0
        python3-yamlloader: upgrade 1.2.2 -> 1.3.2
        python3-zeroconf: upgrade 0.71.4 -> 0.76.0
        python3-protobuf: upgrade 4.23.4 -> 4.24.0
        ctags: upgrade 6.0.20230813.0 -> 6.0.20230820.0
        debootstrap: upgrade 1.0.128 -> 1.0.131
        gensio: upgrade 2.7.2 -> 2.7.4
        gnome-bluetooth: upgrade 42.5 -> 42.6
        nginx: upgrade 1.25.1 -> 1.25.2
        geary: update 44.0 -> 44.1
        php: upgrade 8.2.8 -> 8.2.9
        python3-redis: upgrade 4.6.0 -> 5.0.0
        python3-alembic: upgrade 1.11.2 -> 1.11.3
        python3-awesomeversion: upgrade 23.5.0 -> 23.8.0
        python3-bitstring: upgrade 4.0.2 -> 4.1.0
        python3-click: upgrade 8.1.6 -> 8.1.7
        python3-engineio: upgrade 4.5.1 -> 4.6.0
        python3-google-api-python-client: upgrade 2.96.0 -> 2.97.0
        python3-humanize: upgrade 4.7.0 -> 4.8.0
        python3-mypy: upgrade 1.5.0 -> 1.5.1
        python3-oauth2client: upgrade 4.1.2 -> 4.1.3
        python3-protobuf: upgrade 4.24.0 -> 4.24.1
        python3-pycocotools: upgrade 2.0.6 -> 2.0.7
        python3-pymetno: upgrade 0.10.0 -> 0.11.0
        python3-pymongo: upgrade 4.4.1 -> 4.5.0
        python3-pywbem: upgrade 1.6.1 -> 1.6.2
        python3-sqlalchemy: upgrade 2.0.19 -> 2.0.20
        python3-tox: upgrade 4.8.0 -> 4.10.0
        python3-typeguard: upgrade 4.1.0 -> 4.1.2
        python3-types-setuptools: upgrade 68.0.0.3 -> 68.1.0.0
        python3-zeroconf: upgrade 0.76.0 -> 0.82.1
        redis: upgrade 7.0.12 -> 7.2.0
        weechat: upgrade 4.0.3 -> 4.0.4
        traceroute: upgrade 2.1.2 -> 2.1.3
        wireshark: upgrade 4.0.7 -> 4.0.8
        adw-gtk3: upgrade 4.8 -> 4.9
        ctags: upgrade 6.0.20230820.0 -> 6.0.20230827.0
        debootstrap: upgrade 1.0.131 -> 1.0.132
        dialog: upgrade 1.3-20210509 -> 1.3-20230209
        fmt: upgrade 10.1.0 -> 10.1.1
        gensio: upgrade 2.7.4 -> 2.7.5
        iwd: upgrade 2.7 -> 2.8
        libgphoto2: upgrade 2.5.30 -> 2.5.31
        libzip: upgrade 1.10.0 -> 1.10.1
        logwatch: upgrade 7.8 -> 7.9
        thrift: upgrade 0.18.1 -> 0.19.0
        libnet-dns-perl: upgrade 1.39 -> 1.40
        python3-alembic: upgrade 1.11.3 -> 1.12.0
        python3-argh: upgrade 0.28.1 -> 0.29.3
        python3-asttokens: upgrade 2.2.1 -> 2.4.0
        python3-bitstring: upgrade 4.1.0 -> 4.1.1
        python3-cmake: upgrade 3.27.2 -> 3.27.4.1
        python3-diskcache: upgrade 5.6.1 -> 5.6.3
        python3-engineio: upgrade 4.6.0 -> 4.7.0
        python3-imageio: upgrade 2.31.1 -> 2.31.3
        python3-ipython: upgrade 8.14.0 -> 8.15.0
        python3-kiwisolver: upgrade 1.4.4 -> 1.4.5
        python3-langtable: upgrade 0.0.62 -> 0.0.63
        python3-luma-core: upgrade 2.4.0 -> 2.4.1
        python3-protobuf: upgrade 4.24.1 -> 4.24.2
        python3-pymisp: upgrade 2.4.174 -> 2.4.175
        python3-pymodbus: upgrade 3.4.1 -> 3.5.0
        python3-smbus2: upgrade 0.4.2 -> 0.4.3
        python3-snagboot: upgrade 1.1 -> 1.2
        python3-socketio: upgrade 5.8.0 -> 5.9.0
        python3-soupsieve: upgrade 2.4.1 -> 2.5
        python3-tox: upgrade 4.10.0 -> 4.11.1
        python3-typeguard: upgrade 4.1.2 -> 4.1.3
        python3-types-setuptools: upgrade 68.1.0.0 -> 68.1.0.1
        python3-virtualenv: upgrade 20.24.3 -> 20.24.4
        python3-web3: upgrade 6.8.0 -> 6.9.0
        python3-zeroconf: upgrade 0.82.1 -> 0.97.0

  Willy Tu (1):
        abseil-cpp: upgrade 20230125.3 -> 20230802.0

  Yi Zhao (7):
        nftables: upgrade 1.0.7 -> 1.0.8
        libssh: upgrade 0.10.4 -> 0.10.5
        samba: upgrade 4.18.5 -> 4.18.6
        libyang: upgrade 2.1.55 -> 2.1.111
        frr: Security fix CVE-2023-3748
        vsomeip: add recipe
        ntp: add missing runtime dependencies

  Yogita Urade (2):
        poppler: fix CVE-2023-34872
        hwloc: fix CVE-2022-47022

  Βούλγαρη Αικατερίνη (1):
        collectd: build with rrdcached plugin

poky: 71282bbc53..61531cd395:
  Adrian Freihofer (2):
        cmake.bbclass: cleanup spaces and tabs
        cmake.bbclass: refactor cmake args

  Alberto Planas (1):
        bitbake.conf: add bunzip2 in HOSTTOOLS

  Alexander Kanavin (18):
        lib/oe/recipeutils.py: accommodate SRCPV being optional and deprecated in version check regex
        python3-sphinx: correct version check
        systemd-bootchart: musl fixes have been rejected upstream
        openssl: build and install manpages only if they are enabled
        gettext: upgrade 0.21.1 -> 0.22
        connman: update 1.41 -> 1.42
        libcgroup: update 3.0.0 -> 3.1.0
        perlcross: update 1.4.1 -> 1.5
        perl: update 5.36.1 -> 5.38.0
        groff: update 1.22.4 -> 1.23.0
        libglu: update 9.0.2 -> 9.0.3
        libpthread-stubs: update 0.4 -> 0.5
        gpgme: upgrade 1.20.0 -> 1.22.0
        libgudev: upgrade 237 -> 238
        gnupg: upgrade 2.4.2 -> 2.4.3
        gnutls: update 3.8.0 -> 3.8.1
        runqemu: check permissions of available render nodes as well as their presence
        build-sysroots: target or native sysroot population need to be selected explicitly

  Alexis Lothoré (7):
        oeqa/utils/gitarchive: fix tag computation when creating archive
        oeqa/selftest: introduce gitarchive tests
        oeqa/utils/gitarchive: fix tag computation when creating archive
        oeqa/selftest/gitarchive: add tests about tags lisiting when no remote is configured
        oeqa/utils/gitarchive: allow to pass a logger to get_tags
        oeqa/utils/gitarchive: fall back to local tags when listing existing tags
        oeqa/utils/gitarchive: replace warning with info when reading local tags

  Angelo Ribeiro (1):
        ccache.bbclass: Add allowed list for native recipes

  Anuj Mittal (3):
        gstreamer1.0: upgrade 1.22.4 -> 1.22.5
        harfbuzz: upgrade 8.0.1 -> 8.1.1
        stress-ng: upgrade 0.15.08 -> 0.16.04

  Archana Polampalli (1):
        vim: upgrade 9.0.1592 -> 9.0.1664

  Benjamin Bara (6):
        rust-target-config: fix target_features for vfpv3d16
        README: fix mail address in git example command
        pixman: avoid neon on unsupported machines
        nettle: avoid neon on unsupported machines
        ffmpeg: avoid neon on unsupported machines
        ghostscript: avoid neon on unsupported machines

  Bruce Ashfield (19):
        conf/machine: set preferred kernel to be 6.4
        poky/poky-tiny: set preferred linux-yocto version to 6.4
        linux-yocto/6.1: update to v6.1.44
        linux-yocto/6.4: update to v6.4.10
        linux-yocto/6.1: update to v6.1.45
        kern-tools: include utility to post process config diffs
        linux-yocto/6.1: fix uninitialized read in nohz_full/isolcpus setup
        linux-yocto/6.4: fix uninitialized read in nohz_full/isolcpus setup
        linux-yocto/6.4: update to v6.4.11
        linux-yocto/6.1: update to v6.1.46
        linux-yocto/6.1: fix IRQ-80 warnings
        linux-yocto/6.4: fix IRQ-80 warnings
        linux-yocto/6.4: fix CONFIG_F2FS_IO_TRACE configuration warning
        linux-yocto/6.1: fix CONFIG_F2FS_IO_TRACE configuration warning
        linux-yocto/6.4: update to v6.4.12
        linux-yocto/6.1: update to v6.1.50
        linux-yocto/6.4: update to v6.4.13
        linux-yocto/6.4: update to v6.4.14
        linux-yocto/6.1: update to v6.1.51

  Changqing Li (1):
        sqlite3: set CVE_STATUS for CVE-2023-36191

  Chen Qi (6):
        bitbake: runqueue.py: fix PSI check logic
        cmake: drop OE specific environment variable support
        cmake.bbclass: fix allarch override syntax
        uninative.bbclass: sync to use UNINATIVE_STAGING_DIR
        stress-ng: disable DEBUG_BUILD
        oe-depends-dot: improve '-w' behavior

  Daniel Semkowicz (1):
        dev-manual: wic.rst: Update native tools build command

  David Reyna (3):
        bitbake: toaster: Update to Django 4.2
        bitbake: toaster: import only used layers
        bitbake: toaster: accommodate missing 'Image Name' value in buildinfohelper

  Dmitry Baryshkov (4):
        mdadm: disable strace on rv32 arch
        linux-firmware: upgrade 20230625 -> 20230804
        linux-firmware: package audio topology for Lenovo X13s
        linux-firmware: package Dragonboard 845c sensors DSP firmware

  Eilís 'pidge' Ní Fhlannagáin (1):
        nativesdk-intercept: Fix bad intercept chgrp/chown logic

  Emil Ekmečić (2):
        bitbake: fetch2: add Google Cloud Platform (GCP) fetcher
        Add GCP fetcher to list of supported protocols

  Emil Kronborg Andersen (2):
        dbus: add additional entries to CVE_PRODUCT
        libxkbcommon: add CVE_PRODUCT

  Etienne Cordonnier (2):
        vim: update obsolete comment
        migration-guides: system-conf -> systemd-conf

  Frederic Martinsons (5):
        rust: add cargo-c native recipe
        classes-recipe: add cargo_c.bbclass
        rust: provide examples for C library generation in rust
        oeqa/runtime/rust: correct rust test
        ref-manual: classes.rst: suppress rust-hello-world reference, add ptest-cargo class

  Jaeyoon Jung (1):
        cml1: Fix KCONFIG_CONFIG_COMMAND not conveyed fully in do_menuconfig

  Jasper Orschulko (1):
        cve_check: Fix cpe_id generation

  Joe Slater (1):
        file: fix call to localtime_r()

  Jon Mason (1):
        linux-yocto-dev: correct qemuarmv5 device tree location

  Jose Quaresma (3):
        systemd: fix efi dependency
        systemd-boot: remove old gummiboot TUNE_CCARGS
        pybootchartgui: also match do_compile and do_configure subtasks

  Joshua Watt (9):
        bitbake: bblayers/query: Add multiconfig support to `show-appends`
        bitbake: cooker: Fix error message
        bitbake: lib/bb: Add xattr and acl libraries
        buildtools-tarball: Add libacl
        classes/image_types: Add vfat image type
        bitbake: fetch2: git: Check if clone directory is a git repo
        wic: Add gpt-hybrid partition layout
        bitbake: fetch2: git: Remove useless try..else clause
        Add libacl to required packages

  Julien Stephan (4):
        less: upgrade 633 -> 643
        less: add ptest support
        patch.py: use --absolute-git-dir instead of --show-toplevel to retrieve gitdir
        vulkan-samples: convert debugfix.patch to git format patch

  Kai Kang (1):
        webkitgtk: fix build failure with DEBUG_BUILD enabled

  Khem Raj (22):
        gnu-efi: Fix build on musl
        systemd-boot: Fix build on musl
        glibc: Upgrade to 2.38 release
        glibc: Enable fortify sources by defaults
        glibc: Drop --enable-tunables
        glibc: Fix SVE detection on aarch64
        glibc-tests: Add missing libgcc runtime dependency
        kernel.bbclass: Use KERNEL_STRIP instead of STRIP
        build-sysroots: Add SUMMARY field
        tunes: Add support for sve instructions on armv8/armv9
        arch-armv8,arch-armv9: Add sve based tune options
        python3: Increase default thread stack size on musl
        inetutils: Fix CVE-2023-40303
        inetutils: Apply devtool formatting suggestions
        qemu: Fix CVE-2023-40360
        core-image-ptest: Define a fallback for SUMMARY field
        dos2unix: upgrade 7.5.0 -> 7.5.1
        python3: Fix ptests on musl
        tcl: Add a way to skip ptests
        rust-target-config: Map rust target to OE target
        libc-test: Depend on musl-staticdev
        apr: Fix ptests on musl

  Lee Chee Yang (2):
        migration-guides: add release notes for 4.2.3
        migration-guides: add release notes for 4.0.12

  Lei Maohui (1):
        glibc-package: Fix conflict error when enable multilib.

  Luan Rafael Carneiro (2):
        weston: Upgrade version 12.0.1 -> 12.0.2
        weston: Add sysconfdir to FILES:${PN}

  Luca Ceresoli (1):
        Revert "oeqa/runtime/parselogs: Exclude preempt-rt error for now"

  Markus Niebel (2):
        wic: fix wrong attempt to create file system in upartitioned regions
        oeqa: wic: Add test for --no-table option

  Markus Volk (8):
        gtk4: upgrade 4.10.4 -> 4.10.5
        libadwaita: upgrade 1.3.3 -> 1.3.4
        gtk4: upgrade 4.10.5 -> 4.12.0
        qemu: fix libudev packageconfig for systemd images
        qemu: build pulseaudio support depending on distro_feature
        qemu: add packageconfigs for fuse and dbus-display
        gtk4: upgrade 4.12.0 -> 4.12.1
        mesa: add intel raytracing support to opencl build

  Martin Jansa (6):
        tcl: prevent installing another copy of tzdata
        cross-localedef-native: fix build on hosts with older glibc
        bitbake: runqueue: show more pressure data
        Makefile: remove from top-level directory
        bitbake: runqueue: show number of currently running bitbake threads when pressure changes
        webkitgtk: explicitly disable JIT for armv7* with softfp

  Michael Halstead (2):
        yocto-uninative: Update to 4.2 for glibc 2.38
        yocto-uninative: Update to 4.3

  Michael Opdenacker (26):
        scripts/create-pull-request: update URLs to git repositories
        manuals: create a dedicated "Contributor Guide" document
        ref-manual: classes.rst: fix location of _ref-classes-ccache
        ref-manual: update supported distro versions
        contributor-guide: add missing links to mailing lists
        contributor-guide: add section about why we use mailing lists
        contributor-guide: add recipe style guide
        ref-manual: remove AUTHOR variable
        contributor guide: call section "Reporting a defect"
        contributor-guide: remove obsolete pkg-config guidelines
        contributor guide: remove unnecessary information about mailing lists
        contributor-guide: clarification about patchtest
        contributor guide: update instructions for making and sharing changes
        dev-manual: disk-space: mention faster "find" command to trim sstate cache
        contributor-guide: move to 2nd place in top menu
        contributor-guide: submit-changes: simplify note
        contributor-guide: identify component: provide link to repositories
        contributor-guide: submit-changes: detail commit and patch creation
        contributor-guide: submit-changes: develop sending patches section
        manuals: README: update list of manuals
        contributor-guide: submit-changes: reorganize and develop sections
        contributor-guide: submit-changes: improvements to mailing lists section
        contributor-guide: submit-changes: commit guidelines for recipes
        contributor-guide: submit-changes: how to request push access to repositories
        README: update/fix contribution guidelines
        bitbake: doc: bitbake-user-manual: remove reference to SSTATE_MIRRORS variable

  Mikko Rapeli (4):
        openssh: capture ptest regression test failure logs
        oeqa selftest context.py: whitespace fix
        oeqa selftest context.py: remove warning from missing meta-selftest
        oeqa selftest context.py: fix git commands and set branch name

  Mingli Yu (2):
        qemu: Add qemu-common package
        webkitgtk: Add opengl to REQUIRED_DISTRO_FEATURES

  Narpat Mali (1):
        ffmpeg: add CVE_STATUS for CVE-2023-39018

  Otavio Salvador (2):
        weston-init: remove misleading comment about udev rule
        weston-init: fix init code indentation

  Ovidiu Panait (1):
        mdadm: skip running 04update-uuid and 07revert-inplace testcases

  Paulo Neves (1):
        bitbake: siggen.py: Improve taskhash reproducibility

  Peter Kjellerstedt (3):
        bin_package.bbclass: Inhibit the default dependencies
        insane.bbclass: Remove an unused variable
        poky.conf: Switch to post release name/version

  Peter Marko (2):
        openssl: Upgrade 3.1.1 -> 3.1.2
        gcc-runtime: remove bashism

  Poonam Jadhav (1):
        pixman: Remove duplication of license MIT

  Randolph Sapp (1):
        bitbake: gitsm: tolerate git-lfs in submodules

  Richard Purdie (39):
        bitbake: siggen: Fix indentation
        bitbake: siggen: Update debug
        resulttool/report: Avoid divide by zero
        gcc-testsuite: Fix qemu binary filtering code logic error
        gcc-testsuite: Set qemu options for mips correctly
        mips/tune-mips64r2: Set qemu cpu option correctly
        binutils-cross-testsuite: Pass TUNE_LDARGS to tests
        arch-mips: Ensure TUNE_LDARGS is set correctly
        gcc: Add patch to improve testsuite failures, particularly mips
        oeqa/runtime/parselogs: Exclude preempt-rt error for now
        qemu: Upgrade 8.0.3 -> 8.0.4
        lib/package_manager: Improve repo artefact filtering
        Revert "oeqa/utils/gitarchive: fix tag computation when creating archive"
        lttng-modules: Upgrade 2.13.9 -> 2.13.10
        lttng-tools: Upgrade 2.13.9 -> 2.13.10
        pseudo: Fix to work with glibc 2.38
        binutils: Add missing DEPENDS on pod2man
        build-sysroots: Ensure dependency chains are minimal
        bitbake: fetch2: Add new srcrev fetcher API
        base/package: Move source revision information from PV to PKGV
        recipes/classes/scripts: Drop SRCPV usage in OE-Core
        glibc: Add glibc 2.38 stable updates
        README: Update to point to new contributor guide
        bitbake: README: Update to point to new contributor guide
        bitbake: command: Avoid time intensive distractions for ping
        README: Clarify/standardise contributions process
        python3-numpy: Attempt to fix reproducibility issue
        bitbake: doc: Document challenges of tags with git fetcher
        bitbake: server/process: Add more timing debug
        qemu: Upgrade 8.0.4 -> 8.1.0
        qemu: Add patches to resolve x86 and then mips boot issues
        mdadm: Disable further tests due to intermittent failures
        Revert "oeqa selftest context.py: fix git commands and set branch name"
        classes: Drop ';' delimiter from ROOTFS/IMAGE*COMMAND variables
        build-appliance-image: Update to master head revision
        layer.conf: Update to nanbield release series
        bitbake: bitbake: Update to 2.6.0 release series/version
        layer.conf: Update to nanbield release series
        build-appliance-image: Update to master head revision

  Ross Burton (47):
        connman-conf: don't take over any ethernet devices, not just eth0
        meson.bbclass: add MESON_TARGET
        meson.bbclass:: update do_write_config vardeps
        systemd-boot: use MESON_TARGET
        systemd-boot: improve cross file generation
        p11-kit: fix build without qemu-usermode
        gi-docgen: depend on qemu-usermode MACHINE_FEATURES
        python3-pygobject: add explicit check for qemu-usermode MACHINE_FEATURE
        graphene: fix runtime detection of IEEE754 behaviour
        python3: ignore disputed CVE-2023-36632
        procps: backport fix for CVE-2023-4016
        linux/generate-cve-exclusions.py: fix comparison
        linux/cve-exclusions: update CVE_STATUS exclusions
        perf: enable verbose feature detection
        perf: add more PACKAGECONFIGs
        perf: fix perl binding support
        perf: split scripting PACKAGECONFIG into perl and python
        perf: disable perl support
        libtraceevent: build with Meson
        linux/generate-cve-exclusions: add version check warning
        linux-yocto: update CVE exclusions files
        site: remove at-spi2-core values
        inetutils: don't guess target paths
        inetutils: remove obsolete patches
        inetutils: remove obsolete cruft from do_configure
        glib-networking: enable build with GnuTLS if PKCS#11 was disabled
        glib-networking: use gnutls backend for TLS sockets
        cve-extra-exclusions: remove historic kernel CVEs which are handled now
        cve-extra-exclusions: remove BlueZ issues
        linux-yocto: update kernel CVE status
        linux: review some historic CVE_STATUS
        glib-2.0: explicitly enable strlcpy()
        scripts/oe-find-native-sysroot: use bitbake-getvar
        qemu-system-native: enable PNG support
        python3-build: upgrade to 1.0.0
        glib-2.0: libelf has a configure option now, specify it
        harfbuzz: update PACKAGECONFIG
        pango: explictly enable/disable libthai
        libsoup-2.4: update PACKAGECONFIG
        libsoup: update PACKAGECONFIG
        wayland-utils: add libdrm PACKAGECONFIG
        cve-exclusion: review the last of the historical kernel CVEs
        busybox: remove coreutils dependency in busybox-ptest
        libgudev: explicitly disable tests and vapi
        linux: update CVE exclusions
        python3-build: upgrade to 1.0.3
        avahi: handle invalid service types gracefully

  Ryan Eatmon (1):
        kernel.bbclass: Add force flag to rm calls

  Samantha Jalabert (1):
        bitbake: Fix disk space monitoring on cephfs

  Stéphane Veyret (1):
        nfs-utils: Add needed library to client

  Sudip Mukherjee (4):
        kea: upgrade to v2.4.0
        cmake: upgrade to v3.27.4
        dpkg: upgrade to v1.22.0
        openssh: upgrade to v9.4p1

  Tom Hochstein (1):
        linux-firmware: add firmware files for NXP BT chipsets

  Trevor Gamblin (16):
        python3-hypothesis: upgrade 6.82.0 -> 6.82.5
        python3-more-itertools: upgrade 10.0.0 -> 10.1.0
        python3-pygments: upgrade 2.15.1 -> 2.16.1
        python3-wheel: upgrade 0.41.0 -> 0.41.1
        maintainers.inc: Add self for unmaintained Python recipes
        oe-buildenv-internal: update required Python version
        python3-dbusmock: upgrade 0.29.0 -> 0.29.1
        python3-numpy: upgrade 1.25.1 -> 1.25.2
        python3-trove-classfiers: upgrade 2023.7.6 -> 2023.8.7
        python3-setuptools: upgrade 68.0.0 -> 68.1.0
        python3-dtc: upgrade 1.6.1 -> 1.7.0
        python3-poetry: upgrade 1.6.1 -> 1.7.0
        python3-git: upgrade 3.1.32 -> 3.1.34
        python3-hypothesis: upgrade 6.82.7 -> 6.84.0
        python3-pytest: upgrade 7.4.0 -> 7.4.1
        python3-sphinx: upgrade 7.1.1 -> 7.2.5

  Ulrich Ölmann (1):
        weston: fix comment

  Wang Mingyu (47):
        btrfs-tools: upgrade 6.3.1 -> 6.3.3
        curl: upgrade 8.2.0 -> 8.2.1
        file: upgrade 5.44 -> 5.45
        gmp: upgrade 6.2.1 -> 6.3.0
        xxhash: upgrade 0.8.1 -> 0.8.2
        python3-editables: upgrade 0.4 -> 0.5
        python3-markdown: upgrade 3.4.3 -> 3.4.4
        python3-pathspec: upgrade 0.11.1 -> 0.11.2
        python3-pip: upgrade 23.2 -> 23.2.1
        python3-pyparsing: upgrade 3.1.0 -> 3.1.1
        re2c: upgrade 3.0 -> 3.1
        shaderc: upgrade 2023.4 -> 2023.5
        sudo: upgrade 1.9.14p2 -> 1.9.14p3
        libarchive: upgrade 3.6.2 -> 3.7.1
        tar: upgrade 1.34 -> 1.35
        bind: upgrade 9.18.17 -> 9.18.18
        bluez5: upgrade 5.68 -> 5.69
        ell: upgrade 0.57 -> 0.58
        git: upgrade 2.41.0 -> 2.42.0
        kbd: upgrade 2.6.1 -> 2.6.2
        libconvert-asn1-perl: upgrade 0.33 -> 0.34
        libdrm: upgrade 2.4.115 -> 2.4.116
        libedit: upgrade 20221030-3.1 -> 20230828-3.1
        libgit2: upgrade 1.7.0 -> 1.7.1
        librepo: upgrade 1.15.1 -> 1.15.2
        libsecret: upgrade 0.20.5 -> 0.21.0
        libsndfile1: upgrade 1.2.0 -> 1.2.2
        libxml2: upgrade 2.11.4 -> 2.11.5
        mc: upgrade 4.8.29 -> 4.8.30
        mpfr: upgrade 4.2.0 -> 4.2.1
        neard: upgrade 0.18 -> 0.19
        python3: upgrade 3.11.4 -> 3.11.5
        pango: upgrade 1.50.14 -> 1.51.0
        pigz: upgrade 2.7 -> 2.8
        pkgconf: upgrade 1.9.5 -> 2.0.2
        python3-setuptools: upgrade 68.1.0 -> 68.1.2
        repo: upgrade 2.35 -> 2.36.1
        shaderc: upgrade 2023.5 -> 2023.6
        sqlite3: upgrade 3.42.0 -> 3.43.0
        sysklogd: upgrade 2.5.0 -> 2.5.2
        xz: upgrade 5.4.3 -> 5.4.4
        zlib: upgrade 1.2.13 -> 1.3
        python3-hypothesis: upgrade 6.82.5 -> 6.82.7
        python3-pluggy: upgrade 1.2.0 -> 1.3.0
        python3-sphinx-rtd-theme: upgrade 1.2.2 -> 1.3.0
        python3-wheel: upgrade 0.41.1 -> 0.41.2
        librepo: upgrade 1.15.2 -> 1.16.0

  Yang Xu (1):
        meson: don't fail if no .pyc exists

  Yi Zhao (2):
        dhcpcd: upgrade 10.0.1 -> 10.0.2
        dhcpcd: fix buffer overflow

  Yoann Congal (1):
        dev-manual: remove unsupported :term: markup inside markup

  Yogita Urade (1):
        dropbear: fix CVE-2023-36328

  Yuta Hayama (3):
        linux/generate-cve-exclusions: print the generated time in UTC
        linux/generate-cve-exclusions: fix mishandling of boundary values
        linux-yocto: correct the wording in CVE_STATUS

  Zang Ruochen (6):
        tcf-agent: Disable non-building features on loongarch64
        gcc-sanitizers: Add loongarch as a compatible architecture.
        goarch.bbclass: Add loongarch64 to go_map_arch
        qemuloongarch.inc:Change to use virtio-serial-pci
        kernel-devsrc: Fixed missing loongarch64 kernel source code when test_kernelmodules
        gcc: Fresh 0003-64-bit-multilib-hack.patch to add loongarch64 support

Change-Id: I4d4752539711b34471002dd1817bb7c14a590675
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
diff --git a/meta-openembedded/meta-filesystems/conf/layer.conf b/meta-openembedded/meta-filesystems/conf/layer.conf
index 9602aa9..318e992 100644
--- a/meta-openembedded/meta-filesystems/conf/layer.conf
+++ b/meta-openembedded/meta-filesystems/conf/layer.conf
@@ -15,4 +15,4 @@
 
 LAYERDEPENDS_filesystems-layer = "core openembedded-layer"
 
-LAYERSERIES_COMPAT_filesystems-layer = "mickledore"
+LAYERSERIES_COMPAT_filesystems-layer = "nanbield"
diff --git a/meta-openembedded/meta-gnome/conf/layer.conf b/meta-openembedded/meta-gnome/conf/layer.conf
index d7286ed..acebb12 100644
--- a/meta-openembedded/meta-gnome/conf/layer.conf
+++ b/meta-openembedded/meta-gnome/conf/layer.conf
@@ -17,10 +17,14 @@
 
 LAYERDEPENDS_gnome-layer = "core openembedded-layer networking-layer meta-python"
 
-LAYERSERIES_COMPAT_gnome-layer = "mickledore"
+LAYERSERIES_COMPAT_gnome-layer = "nanbield"
 
 SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += "\
   faenza-icon-theme->gdk-pixbuf \
   faenza-icon-theme->gtk+3 \
 "
 
+BBFILES_DYNAMIC += " \
+    virtualization-layer:${LAYERDIR}/dynamic-layers/meta-virtualization/*/*/*.bb \
+    virtualization-layer:${LAYERDIR}/dynamic-layers/meta-virtualization/*/*/*.bbappend \
+"
diff --git a/meta-openembedded/meta-gnome/dynamic-layers/meta-virtualization/recipes-gnome/gnome-boxes/gnome-boxes_44.2.bb b/meta-openembedded/meta-gnome/dynamic-layers/meta-virtualization/recipes-gnome/gnome-boxes/gnome-boxes_44.2.bb
new file mode 100644
index 0000000..2f7c021
--- /dev/null
+++ b/meta-openembedded/meta-gnome/dynamic-layers/meta-virtualization/recipes-gnome/gnome-boxes/gnome-boxes_44.2.bb
@@ -0,0 +1,39 @@
+SUMMARY = "A simple GNOME application to access virtual machines."
+SECTION = "network"
+LICENSE = "LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "file://copyright;md5=a65e9b0c9f78617732f09f68fc4ef79a"
+
+GNOMEBASEBUILDCLASS = "meson"
+
+REQUIRED_DISTRO_FEATURES += "gobject-introspection-data"
+
+DEPENDS = " \
+  glib-2.0 \
+  desktop-file-utils-native \
+  libarchive \
+  libgudev \
+  libhandy \
+  libosinfo \
+  libsecret \
+  libsoup \
+  libvirt-glib \
+  mtools \
+  spice-gtk \
+  tracker \
+  webkitgtk3 \
+  appstream-glib-native \
+  spice-protocol \
+  yelp-tools \
+"
+
+RDEPENDS:${PN} = "glib-2.0-dev libvirt-virsh qemu-common qemu-system-x86-64 genisoimage"
+
+inherit gnomebase gsettings pkgconfig mime-xdg gtk-icon-cache gobject-introspection vala features_check
+
+SRC_URI[archive.sha256sum] = "9dd389c149d0c0fa57456ec363d51a88255f945558fb9df42894ce78ef85df89"
+
+GIR_MESON_OPTION = ""
+
+FILES:${PN} += "${datadir}"
+
+INSANE_SKIP:${PN} = "dev-deps"
diff --git a/meta-openembedded/meta-gnome/dynamic-layers/meta-virtualization/recipes-gnome/gnome-remote-desktop/gnome-remote-desktop_44.2.bb b/meta-openembedded/meta-gnome/dynamic-layers/meta-virtualization/recipes-gnome/gnome-remote-desktop/gnome-remote-desktop_44.2.bb
new file mode 100644
index 0000000..48e4d9f
--- /dev/null
+++ b/meta-openembedded/meta-gnome/dynamic-layers/meta-virtualization/recipes-gnome/gnome-remote-desktop/gnome-remote-desktop_44.2.bb
@@ -0,0 +1,38 @@
+SUMMARY = "Remote desktop daemon for GNOME using pipewire."
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+GNOMEBASEBUILDCLASS = "meson"
+
+inherit gnomebase gettext gsettings features_check
+
+REQUIRED_DISTRO_FEATURES = "opengl"
+
+SRC_URI[archive.sha256sum] = "7a9ffd341b5fcb636d26675e9f6269650952163fff5295327618cc2d5cc87b8e"
+
+DEPENDS = " \
+    asciidoc-native \
+    libdrm \
+    libepoxy \
+    cairo \
+    glib-2.0 \
+    pipewire \
+    libnotify \
+    libsecret \
+    nv-codec-headers \
+    tpm2-tss \
+"
+
+PACKAGECONFIG ??= " \
+    vnc \
+    rdp \
+    ${@bb.utils.contains('LICENSE_FLAGS_ACCEPTED', 'commercial', 'fdk_aac', '', d)} \
+    ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \
+"
+
+PACKAGECONFIG[vnc] = "-Dvnc=true,-Dvnc=false,libvncserver"
+PACKAGECONFIG[rdp] = "-Drdp=true,-Drdp=false,freerdp fuse3 libxkbcommon"
+PACKAGECONFIG[fdk_aac] = "-Dfdk_aac=true,-Dfdk_aac=false,fdk-aac"
+PACKAGECONFIG[systemd] = "-Dsystemd=true,-Dsystemd=false,systemd"
+
+FILES:${PN} += "${systemd_user_unitdir}"
diff --git a/meta-openembedded/meta-gnome/recipes-connectivity/geary/geary_44.0.bb b/meta-openembedded/meta-gnome/recipes-connectivity/geary/geary_44.1.bb
similarity index 96%
rename from meta-openembedded/meta-gnome/recipes-connectivity/geary/geary_44.0.bb
rename to meta-openembedded/meta-gnome/recipes-connectivity/geary/geary_44.1.bb
index a585929..decae6b 100644
--- a/meta-openembedded/meta-gnome/recipes-connectivity/geary/geary_44.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-connectivity/geary/geary_44.1.bb
@@ -39,7 +39,7 @@
 "
 
 S = "${WORKDIR}/git"
-SRCREV = "b72db2a5e87f2269e6359af434a4fc02fca9e9df"
+SRCREV = "37c378a563d5b1c269d57c34671edc940d1cd180"
 
 ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 REQUIRED_DISTRO_FEATURES = "gobject-introspection-data opengl"
diff --git a/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet/0001-linker-script-Do-not-export-_IO_stdin_used.patch b/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet/0001-linker-script-Do-not-export-_IO_stdin_used.patch
new file mode 100644
index 0000000..eafd497
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet/0001-linker-script-Do-not-export-_IO_stdin_used.patch
@@ -0,0 +1,30 @@
+From e09ba80e342b3b24bb2a46e11dae1c30cc61c75c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 3 Sep 2023 08:48:42 -0700
+Subject: [PATCH] linker-script: Do not export _IO_stdin_used
+
+This is glibc specific toolhain issue, it should have been handled in
+toolchain instead of exposing to applications. This was done to fix
+
+https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=835550
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ linker-script-binary.ver | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/linker-script-binary.ver b/linker-script-binary.ver
+index a2780c0..f030d35 100644
+--- a/linker-script-binary.ver
++++ b/linker-script-binary.ver
+@@ -1,6 +1,5 @@
+ {
+ global:
+-	_IO_stdin_used;
+ local:
+ 	*;
+ };
+-- 
+2.42.0
+
diff --git a/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.32.0.bb b/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.32.0.bb
index cc37291..20fc0f3 100644
--- a/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.32.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-connectivity/network-manager-applet/network-manager-applet_1.32.0.bb
@@ -5,9 +5,11 @@
 DEPENDS = "gtk+3 libnma libnotify libsecret libgudev networkmanager iso-codes nss"
 
 GNOMEBASEBUILDCLASS = "meson"
-inherit features_check gnomebase gsettings gtk-icon-cache gettext
+inherit features_check gnomebase gsettings gtk-icon-cache gettext pkgconfig
 
-REQUIRED_DISTRO_FEATURES = "x11 opengl"
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
+
+SRC_URI:append:libc-musl = " file://0001-linker-script-Do-not-export-_IO_stdin_used.patch"
 
 SRC_URI[archive.sha256sum] = "a2b5affa1505ad43902959fdbe09e5bcec57b11ed333fa60458ffb9c62efba38"
 
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_44.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_44.2.bb
index 00d1079..67449be 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_44.2.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/evince/evince_44.2.bb
@@ -27,7 +27,7 @@
 
 GNOMEBASEBUILDCLASS = "meson"
 
-inherit gnomebase itstool gnome-help pkgconfig gsettings gobject-introspection gettext mime-xdg gtk-doc features_check gtk-icon-cache
+inherit gnomebase itstool gnome-help pkgconfig gsettings gobject-introspection gettext mime-xdg gi-docgen features_check gtk-icon-cache
 
 REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'opengl', '', d)}"
 
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_42.5.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_42.6.bb
similarity index 90%
rename from meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_42.5.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_42.6.bb
index fa4f9cb..7cce14d 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_42.5.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-bluetooth/gnome-bluetooth_42.6.bb
@@ -26,7 +26,7 @@
 
 REQUIRED_DISTRO_FEATURES = "x11 opengl"
 
-SRC_URI[archive.sha256sum] = "a4f5f1ac2dbb7b7b92f7d6d2b42c030f62aed9b5426b9dc116946041f3cba8f7"
+SRC_URI[archive.sha256sum] = "5864fe6f1e718715db26b62201b75a59020cf4247fec37645b3559cd2dba59d0"
 
 BT_PULSE_PACKS = " \
     pulseaudio-lib-bluez5-util \
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gnome-chess/gnome-chess_43.2.bb b/meta-openembedded/meta-gnome/recipes-gnome/gnome-chess/gnome-chess_43.2.bb
index 343135b..58e72ef 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gnome-chess/gnome-chess_43.2.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gnome-chess/gnome-chess_43.2.bb
@@ -22,7 +22,7 @@
 
 RRECOMMENDS:${PN}  = "gnuchess"
 
-SRC_URI = "git://github.com/GNOME/gnome-chess.git;protocol=https;nobranch=1"
+SRC_URI = "git://github.com/GNOME/gnome-chess.git;protocol=https;branch=master"
 
 inherit meson pkgconfig gobject-introspection gtk-icon-cache vala features_check mime-xdg gsettings
 
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview5_5.7.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview5_5.7.1.bb
index 99826c5..4eaecbf 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview5_5.7.1.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gtksourceview/gtksourceview5_5.7.1.bb
@@ -21,7 +21,7 @@
 
 GNOMEBASEBUILDCLASS = "meson"
 
-inherit gnomebase lib_package gettext features_check gtk-doc gtk-icon-cache gobject-introspection vala
+inherit gnomebase lib_package gettext features_check gi-docgen gtk-icon-cache gobject-introspection vala
 
 REQUIRED_DISTRO_FEATURES = "opengl"
 
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.51.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.51.90.bb
similarity index 97%
rename from meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.51.1.bb
rename to meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.51.90.bb
index 32d47ef..2d1048e 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.51.1.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/gvfs/gvfs_1.51.90.bb
@@ -20,7 +20,7 @@
 
 SRC_URI = "https://download.gnome.org/sources/${BPN}/${@gnome_verdir("${PV}")}/${BPN}-${PV}.tar.xz;name=archive"
 
-SRC_URI[archive.sha256sum] = "5baaf0cc81e2c690a726f7d5eb59eed48a33ea220fd5378df93c556173a3c143"
+SRC_URI[archive.sha256sum] = "c05aaa7cf463540fb8c9097cf9b77d92f2c8e0de1dcd643afb14c1284f823bdd"
 
 ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/libgweather/libgweather4_4.2.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/libgweather/libgweather4_4.2.0.bb
index 824269e..f2ffcfd 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/libgweather/libgweather4_4.2.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/libgweather/libgweather4_4.2.0.bb
@@ -7,7 +7,7 @@
 GNOMEBN = "libgweather"
 S = "${WORKDIR}/${GNOMEBN}-${PV}"
 
-inherit gnomebase gsettings gobject-introspection gettext gtk-doc vala features_check
+inherit gnomebase gsettings gobject-introspection gettext gi-docgen vala features_check
 
 REQUIRED_DISTRO_FEATURES = "opengl"
 
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_44.2.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_44.2.1.bb
index 362629f..f181822 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_44.2.1.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/nautilus/nautilus_44.2.1.bb
@@ -21,7 +21,7 @@
     tracker \
 "
 
-inherit gnomebase gsettings gobject-introspection gtk-doc gettext features_check mime-xdg gtk-icon-cache
+inherit gnomebase gsettings gobject-introspection gi-docgen gettext features_check mime-xdg gtk-icon-cache
 
 def gnome_verdir(v):
     return oe.utils.trim_version(v, 1)
@@ -31,6 +31,10 @@
 
 REQUIRED_DISTRO_FEATURES = "x11 opengl gobject-introspection-data"
 
+GIDOCGEN_MESON_OPTION = "docs"
+GIDOCGEN_MESON_ENABLE_FLAG = 'true'
+GIDOCGEN_MESON_DISABLE_FLAG = 'false'
+
 EXTRA_OEMESON += " \
     -Dtests=none \
 "
diff --git a/meta-openembedded/meta-gnome/recipes-support/libcloudproviders/libcloudproviders_0.3.1.bb b/meta-openembedded/meta-gnome/recipes-support/libcloudproviders/libcloudproviders_0.3.2.bb
similarity index 76%
rename from meta-openembedded/meta-gnome/recipes-support/libcloudproviders/libcloudproviders_0.3.1.bb
rename to meta-openembedded/meta-gnome/recipes-support/libcloudproviders/libcloudproviders_0.3.2.bb
index b6448b9..401c83f 100644
--- a/meta-openembedded/meta-gnome/recipes-support/libcloudproviders/libcloudproviders_0.3.1.bb
+++ b/meta-openembedded/meta-gnome/recipes-support/libcloudproviders/libcloudproviders_0.3.2.bb
@@ -8,4 +8,4 @@
 
 inherit gnomebase gobject-introspection vala
 
-SRC_URI[archive.sha256sum] = "4763213ca1e1fe30d422f5ae3b4f02a454f63414c1860ad142d6385f89d05929"
+SRC_URI[archive.sha256sum] = "24a9f3fffaf49f1d9d45d6ec35ba9f9e59a5a1040b51ce7835611131966c6819"
diff --git a/meta-openembedded/meta-gnome/recipes-support/webp-pixbuf-loader/webp-pixbuf-loader_0.2.4.bb b/meta-openembedded/meta-gnome/recipes-support/webp-pixbuf-loader/webp-pixbuf-loader_0.2.4.bb
index 71c5244..6f9156d 100644
--- a/meta-openembedded/meta-gnome/recipes-support/webp-pixbuf-loader/webp-pixbuf-loader_0.2.4.bb
+++ b/meta-openembedded/meta-gnome/recipes-support/webp-pixbuf-loader/webp-pixbuf-loader_0.2.4.bb
@@ -12,7 +12,7 @@
 
 EXTRA_OEMESON = "-Dupdate_cache=true"
 
-SRC_URI = "git://github.com/aruiz/webp-pixbuf-loader.git;protocol=https;nobranch=1"
+SRC_URI = "git://github.com/aruiz/webp-pixbuf-loader.git;protocol=https;branch=mainline"
 
 S = "${WORKDIR}/git"
 SRCREV = "a35014104a226265e44fe30fcdb4df9305af3466"
diff --git a/meta-openembedded/meta-gnome/recipes-support/xdg-desktop-portal/xdg-desktop-portal-gnome_44.1.bb b/meta-openembedded/meta-gnome/recipes-support/xdg-desktop-portal/xdg-desktop-portal-gnome_44.1.bb
index d6bc0e9..a8e8c83 100644
--- a/meta-openembedded/meta-gnome/recipes-support/xdg-desktop-portal/xdg-desktop-portal-gnome_44.1.bb
+++ b/meta-openembedded/meta-gnome/recipes-support/xdg-desktop-portal/xdg-desktop-portal-gnome_44.1.bb
@@ -21,7 +21,7 @@
 
 REQUIRED_DISTRO_FEATURES = "polkit"
 
-SRC_URI = "git://gitlab.gnome.org/GNOME/xdg-desktop-portal-gnome.git;protocol=https;nobranch=1"
+SRC_URI = "git://gitlab.gnome.org/GNOME/xdg-desktop-portal-gnome.git;protocol=https;branch=main"
 
 S = "${WORKDIR}/git"
 SRCREV = "89203bf3522556965fc225782d1a635afdac611e"
diff --git a/meta-openembedded/meta-gnome/recipes-support/xdg-desktop-portal/xdg-desktop-portal-gtk_1.14.1.bb b/meta-openembedded/meta-gnome/recipes-support/xdg-desktop-portal/xdg-desktop-portal-gtk_1.14.1.bb
index 1e0a906..b291991 100644
--- a/meta-openembedded/meta-gnome/recipes-support/xdg-desktop-portal/xdg-desktop-portal-gtk_1.14.1.bb
+++ b/meta-openembedded/meta-gnome/recipes-support/xdg-desktop-portal/xdg-desktop-portal-gtk_1.14.1.bb
@@ -18,7 +18,7 @@
 
 REQUIRED_DISTRO_FEATURES = "polkit"
 
-SRC_URI = "git://github.com/flatpak/xdg-desktop-portal-gtk.git;protocol=https;nobranch=1"
+SRC_URI = "git://github.com/flatpak/xdg-desktop-portal-gtk.git;protocol=https;branch=main"
 
 S = "${WORKDIR}/git"
 SRCREV = "952005f6a7850a247d286f14838202f506b402b7"
diff --git a/meta-openembedded/meta-initramfs/conf/layer.conf b/meta-openembedded/meta-initramfs/conf/layer.conf
index b4cd743..ef12daf 100644
--- a/meta-openembedded/meta-initramfs/conf/layer.conf
+++ b/meta-openembedded/meta-initramfs/conf/layer.conf
@@ -16,7 +16,7 @@
 BBFILE_PRIORITY_meta-initramfs = "5"
 LAYERDEPENDS_meta-initramfs = "core"
 
-LAYERSERIES_COMPAT_meta-initramfs = "mickledore"
+LAYERSERIES_COMPAT_meta-initramfs = "nanbield"
 
 SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
   dracut->virtual/kernel \
diff --git a/meta-openembedded/meta-multimedia/conf/layer.conf b/meta-openembedded/meta-multimedia/conf/layer.conf
index 5f9f471..99f4987 100644
--- a/meta-openembedded/meta-multimedia/conf/layer.conf
+++ b/meta-openembedded/meta-multimedia/conf/layer.conf
@@ -31,4 +31,4 @@
 
 LAYERDEPENDS_multimedia-layer = "core openembedded-layer meta-python"
 
-LAYERSERIES_COMPAT_multimedia-layer = "mickledore"
+LAYERSERIES_COMPAT_multimedia-layer = "nanbield"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/openh264/openh264/0002-Makefile-add-possibility-to-disable-NEON-extension.patch b/meta-openembedded/meta-multimedia/recipes-multimedia/openh264/openh264/0002-Makefile-add-possibility-to-disable-NEON-extension.patch
new file mode 100644
index 0000000..298ac1c
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/openh264/openh264/0002-Makefile-add-possibility-to-disable-NEON-extension.patch
@@ -0,0 +1,103 @@
+From bc3a3baeaccfe9c1286848b348baf92dfbd05346 Mon Sep 17 00:00:00 2001
+From: Benjamin Bara <benjamin.bara@skidata.com>
+Date: Thu, 31 Aug 2023 09:27:31 +0200
+Subject: [PATCH 2/2] Makefile: add possibility to disable NEON extension
+
+README states that the NEON extension is optional. However, currently it
+cannot be turned off, therefore add an option to disable it.
+
+Upstream-Status: Submitted [https://github.com/cisco/openh264/pull/3679]
+Signed-off-by: Benjamin Bara <benjamin.bara@skidata.com>
+---
+ Makefile                   |  1 +
+ build/arch.mk              |  4 ++++
+ build/msvc-common.mk       | 10 ++++++++--
+ build/platform-mingw_nt.mk |  5 ++++-
+ 4 files changed, 17 insertions(+), 3 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index baed53a7..cc22c4aa 100644
+--- a/Makefile
++++ b/Makefile
+@@ -35,6 +35,7 @@ CCASFLAGS=$(CFLAGS)
+ STATIC_LDFLAGS=-lstdc++
+ STRIP ?= strip
+ USE_STACK_PROTECTOR = Yes
++USE_NEON=Yes
+ 
+ SHAREDLIB_MAJORVERSION=7
+ FULL_VERSION := 2.3.1
+diff --git a/build/arch.mk b/build/arch.mk
+index 4e1538c4..fd6a81e4 100644
+--- a/build/arch.mk
++++ b/build/arch.mk
+@@ -17,18 +17,22 @@ ifneq ($(filter-out arm64 arm64e, $(filter arm%, $(ARCH))),)
+ ifeq ($(USE_ASM), Yes)
+ ASM_ARCH = arm
+ ASMFLAGS += -I$(SRC_PATH)codec/common/arm/
++ifeq ($(USE_NEON), Yes)
+ CFLAGS += -DHAVE_NEON
+ endif
+ endif
++endif
+ 
+ #for arm64
+ ifneq ($(filter arm64 aarch64 arm64e, $(ARCH)),)
+ ifeq ($(USE_ASM), Yes)
+ ASM_ARCH = arm64
+ ASMFLAGS += -I$(SRC_PATH)codec/common/arm64/
++ifeq ($(USE_NEON), Yes)
+ CFLAGS += -DHAVE_NEON_AARCH64
+ endif
+ endif
++endif
+ 
+ #for mips
+ ifneq ($(filter mips mips64, $(ARCH)),)
+diff --git a/build/msvc-common.mk b/build/msvc-common.mk
+index 5891ea4e..5a1e2582 100644
+--- a/build/msvc-common.mk
++++ b/build/msvc-common.mk
+@@ -10,7 +10,10 @@ else
+ endif
+ ifeq ($(ASM_ARCH), arm)
+ CCAS = gas-preprocessor.pl -as-type armasm -force-thumb -- armasm
+-CCASFLAGS = -nologo -DHAVE_NEON -ignore 4509
++CCASFLAGS = -nologo -ignore 4509
++ifeq ($(USE_NEON), Yes)
++CCASFLAGS += -DHAVE_NEON
++endif
+ endif
+ 
+ CC=cl
+@@ -20,7 +23,10 @@ CXX_O=-Fo$@
+ 
+ ifeq ($(ASM_ARCH), arm64)
+ CCAS = clang-cl
+-CCASFLAGS = -nologo -DHAVE_NEON_AARCH64 --target=arm64-windows
++CCASFLAGS = -nologo --target=arm64-windows
++ifeq ($(USE_NEON), Yes)
++CCASFLAGS += -DHAVE_NEON_AARCH64
++endif
+ endif
+ 
+ 
+diff --git a/build/platform-mingw_nt.mk b/build/platform-mingw_nt.mk
+index b7a5495d..d73e362a 100644
+--- a/build/platform-mingw_nt.mk
++++ b/build/platform-mingw_nt.mk
+@@ -17,7 +17,10 @@ endif
+ endif
+ ifeq ($(ASM_ARCH), arm)
+ CCAS = gas-preprocessor.pl -as-type clang -force-thumb -- $(CC)
+-CCASFLAGS = -DHAVE_NEON -mimplicit-it=always
++CCASFLAGS = -mimplicit-it=always
++ifeq ($(USE_NEON), Yes)
++CCASFLAGS += -DHAVE_NEON
++endif
+ endif
+ EXEEXT = .exe
+ 
+-- 
+2.34.1
+
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/openh264/openh264_2.3.1.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/openh264/openh264_2.3.1.bb
index 3fa87d0..6dfd759 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/openh264/openh264_2.3.1.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/openh264/openh264_2.3.1.bb
@@ -16,6 +16,7 @@
 BRANCH = "openh264v${PV}"
 SRC_URI = "git://github.com/cisco/openh264.git;protocol=https;branch=${BRANCH} \
            file://0001-Makefile-Use-cp-options-to-preserve-file-mode.patch \
+           file://0002-Makefile-add-possibility-to-disable-NEON-extension.patch \
            "
 
 COMPATIBLE_MACHINE:armv7a = "(.*)"
@@ -35,6 +36,9 @@
 EXTRA_OEMAKE:mips64 = "ARCH=mips64"
 EXTRA_OEMAKE:riscv64 = "ARCH=riscv64"
 
+EXTRA_OEMAKE:append:armv7a = "${@bb.utils.contains("TUNE_FEATURES","neon",""," USE_NEON=No",d)}"
+EXTRA_OEMAKE:append:armv7ve = "${@bb.utils.contains("TUNE_FEATURES","neon",""," USE_NEON=No",d)}"
+
 EXTRA_OEMAKE:append = " ENABLEPIC=Yes"
 do_configure() {
     :
@@ -45,7 +49,7 @@
 }
 
 do_install() {
-    oe_runmake install DESTDIR=${D} PREFIX=${prefix}
+    oe_runmake install DESTDIR=${D} PREFIX=${prefix} LIBDIR_NAME=${baselib} SHAREDLIB_DIR=${libdir}
 }
 
 CLEANBROKEN = "1"
diff --git a/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.77.bb b/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.79.bb
similarity index 99%
rename from meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.77.bb
rename to meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.79.bb
index 34b3720..1304c0a 100644
--- a/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.77.bb
+++ b/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_0.3.79.bb
@@ -13,7 +13,7 @@
 
 DEPENDS = "dbus ncurses"
 
-SRCREV = "31cd694602cc37ada3a6d02a5a381f4e3933ecef"
+SRCREV = "b5c3f217926f9066a1afbee7eb20967dd6896c56"
 SRC_URI = "git://gitlab.freedesktop.org/pipewire/pipewire.git;branch=master;protocol=https"
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-multimedia/recipes-support/xdg-desktop-portal-wlr/xdg-desktop-portal-wlr_0.7.0.bb b/meta-openembedded/meta-multimedia/recipes-support/xdg-desktop-portal-wlr/xdg-desktop-portal-wlr_0.7.0.bb
index b845c5f..8ffe652 100644
--- a/meta-openembedded/meta-multimedia/recipes-support/xdg-desktop-portal-wlr/xdg-desktop-portal-wlr_0.7.0.bb
+++ b/meta-openembedded/meta-multimedia/recipes-support/xdg-desktop-portal-wlr/xdg-desktop-portal-wlr_0.7.0.bb
@@ -16,7 +16,7 @@
 inherit meson pkgconfig features_check
 REQUIRED_DISTRO_FEATURES = "opengl wayland"
 
-SRC_URI = "git://github.com/emersion/xdg-desktop-portal-wlr.git;protocol=https;nobranch=1 \
+SRC_URI = "git://github.com/emersion/xdg-desktop-portal-wlr.git;protocol=https;branch=master \
            file://0001-screencast-Fix-build-with-older-mesa.patch"
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-networking/conf/layer.conf b/meta-openembedded/meta-networking/conf/layer.conf
index 5716eb3..12ce08c 100644
--- a/meta-openembedded/meta-networking/conf/layer.conf
+++ b/meta-openembedded/meta-networking/conf/layer.conf
@@ -16,7 +16,7 @@
 LAYERDEPENDS_networking-layer = "core"
 LAYERDEPENDS_networking-layer += "openembedded-layer"
 
-LAYERSERIES_COMPAT_networking-layer = "mickledore"
+LAYERSERIES_COMPAT_networking-layer = "nanbield"
 
 LICENSE_PATH += "${LAYERDIR}/licenses"
 
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls/0001-aesce-do-not-specify-an-arch-version-when-enabling-c.patch b/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls/0001-aesce-do-not-specify-an-arch-version-when-enabling-c.patch
index d98d8fa..44d7475 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls/0001-aesce-do-not-specify-an-arch-version-when-enabling-c.patch
+++ b/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls/0001-aesce-do-not-specify-an-arch-version-when-enabling-c.patch
@@ -8,7 +8,7 @@
 that we should use the crypto extensions without forcing a particular
 architecture version or core, as that can create issues.
 
-Upstream-Status: Submitted [https://github.com/Mbed-TLS/mbedtls/pull/7834]
+Upstream-Status: Backport [https://github.com/Mbed-TLS/mbedtls/commit/471a975942dec76bf0ccb92b6c6da055385683fb]
 
 Signed-off-by: Beniamin Sandu <beniaminsandu@gmail.com>
 ---
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls/0002-aesce-use-correct-target-attribute-when-building-wit.patch b/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls/0002-aesce-use-correct-target-attribute-when-building-wit.patch
index 4775c8d..c8f6cb7 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls/0002-aesce-use-correct-target-attribute-when-building-wit.patch
+++ b/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls/0002-aesce-use-correct-target-attribute-when-building-wit.patch
@@ -9,7 +9,7 @@
 
 E.g.: https://github.com/llvm/llvm-project/issues/61645
 
-Upstream-Status: Pending
+Upstream-Status: Backport [https://github.com/Mbed-TLS/mbedtls/commit/aa4f6219014d863bed51453e5261178adc66be34]
 
 Signed-off-by: Beniamin Sandu <beniaminsandu@gmail.com>
 ---
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.28.3.bb b/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.28.4.bb
similarity index 98%
rename from meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.28.3.bb
rename to meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.28.4.bb
index 4626e40..80ec8a5 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.28.3.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_2.28.4.bb
@@ -23,7 +23,7 @@
 SECTION = "libs"
 
 S = "${WORKDIR}/git"
-SRCREV = "981743de6fcdbe672e482b6fd724d31d0a0d2476"
+SRCREV = "aeb97a18913a86f051afab11b2c92c6be0c2eb83"
 SRC_URI = "git://github.com/ARMmbed/mbedtls.git;protocol=https;branch=mbedtls-2.28 \
            file://run-ptest \
           "
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_3.4.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_3.4.1.bb
similarity index 98%
rename from meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_3.4.0.bb
rename to meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_3.4.1.bb
index 10fb7de..a6f8583 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_3.4.0.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/mbedtls/mbedtls_3.4.1.bb
@@ -23,7 +23,7 @@
 SECTION = "libs"
 
 S = "${WORKDIR}/git"
-SRCREV = "1873d3bfc2da771672bd8e7e8f41f57e0af77f33"
+SRCREV = "72718dd87e087215ce9155a826ee5a66cfbe9631"
 SRC_URI = "git://github.com/ARMmbed/mbedtls.git;protocol=https;branch=master \
 	file://0001-aesce-do-not-specify-an-arch-version-when-enabling-c.patch \
 	file://0002-aesce-use-correct-target-attribute-when-building-wit.patch \
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn/0001-linker-script-Do-not-export-_IO_stdin_used.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn/0001-linker-script-Do-not-export-_IO_stdin_used.patch
new file mode 100644
index 0000000..eafd497
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn/0001-linker-script-Do-not-export-_IO_stdin_used.patch
@@ -0,0 +1,30 @@
+From e09ba80e342b3b24bb2a46e11dae1c30cc61c75c Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 3 Sep 2023 08:48:42 -0700
+Subject: [PATCH] linker-script: Do not export _IO_stdin_used
+
+This is glibc specific toolhain issue, it should have been handled in
+toolchain instead of exposing to applications. This was done to fix
+
+https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=835550
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ linker-script-binary.ver | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/linker-script-binary.ver b/linker-script-binary.ver
+index a2780c0..f030d35 100644
+--- a/linker-script-binary.ver
++++ b/linker-script-binary.ver
+@@ -1,6 +1,5 @@
+ {
+ global:
+-	_IO_stdin_used;
+ local:
+ 	*;
+ };
+-- 
+2.42.0
+
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.10.2.bb b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.10.2.bb
index 3114731..024ef39 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.10.2.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager-openvpn_1.10.2.bb
@@ -10,6 +10,8 @@
 
 SRC_URI = "${GNOME_MIRROR}/NetworkManager-openvpn/${@gnome_verdir("${PV}")}/NetworkManager-openvpn-${PV}.tar.xz"
 
+SRC_URI:append:libc-musl = " file://0001-linker-script-Do-not-export-_IO_stdin_used.patch"
+
 SRC_URI[sha256sum] = "62f0f2a8782221b923f212ac2a8ebbc1002efd6a90ee945dad4adfb56d076d21"
 
 S = "${WORKDIR}/NetworkManager-openvpn-${PV}"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-linker-scripts-Do-not-export-_IO_stdin_used.patch b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-linker-scripts-Do-not-export-_IO_stdin_used.patch
new file mode 100644
index 0000000..71ad01f
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager/0001-linker-scripts-Do-not-export-_IO_stdin_used.patch
@@ -0,0 +1,41 @@
+From 3ee6967689b3da30cc4551885d8bcdd44a7a9b52 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 31 Aug 2023 21:16:55 -0700
+Subject: [PATCH] linker-scripts: Do not export _IO_stdin_used
+
+This is glibc specific and it is not needed with musl.
+See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=835550
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ linker-script-binary.ver               | 1 -
+ tools/create-exports-NetworkManager.sh | 1 -
+ 2 files changed, 2 deletions(-)
+
+diff --git a/linker-script-binary.ver b/linker-script-binary.ver
+index a2780c0..f030d35 100644
+--- a/linker-script-binary.ver
++++ b/linker-script-binary.ver
+@@ -1,6 +1,5 @@
+ {
+ global:
+-	_IO_stdin_used;
+ local:
+ 	*;
+ };
+diff --git a/tools/create-exports-NetworkManager.sh b/tools/create-exports-NetworkManager.sh
+index ef4b381..60865ad 100755
+--- a/tools/create-exports-NetworkManager.sh
++++ b/tools/create-exports-NetworkManager.sh
+@@ -54,7 +54,6 @@ get_symbols_nm () {
+ 
+ get_symbols_explicit() {
+     cat <<EOF | _sort
+-_IO_stdin_used
+ EOF
+ }
+ 
+-- 
+2.42.0
+
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.42.8.bb b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.44.0.bb
similarity index 98%
rename from meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.42.8.bb
rename to meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.44.0.bb
index 5d9c6f4..84ef70c 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.42.8.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.44.0.bb
@@ -31,8 +31,9 @@
     file://enable-dhcpcd.conf \
     file://enable-iwd.conf \
 "
+SRC_URI:append:libc-musl = " file://0001-linker-scripts-Do-not-export-_IO_stdin_used.patch"
 
-SRC_URI[sha256sum] = "0337e7583d2ec5ade2ba2e8c625d2f09eeccda1d22836ee29aa72925d399c353"
+SRC_URI[sha256sum] = "edca09637d182f806b3b12d8c5623d7badbd73ccca1ae63be20d2f298779fb9f"
 
 S = "${WORKDIR}/NetworkManager-${PV}"
 
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect/0001-Shim-for-renaming-of-GNUTLS_NO_EXTENSIONS-in-GnuTLS-.patch b/meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect/0001-Shim-for-renaming-of-GNUTLS_NO_EXTENSIONS-in-GnuTLS-.patch
new file mode 100644
index 0000000..9dd3da7
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect/0001-Shim-for-renaming-of-GNUTLS_NO_EXTENSIONS-in-GnuTLS-.patch
@@ -0,0 +1,43 @@
+From e4ea64134cfe3763332c16dcac52dd894b935880 Mon Sep 17 00:00:00 2001
+From: Daniel Lenski <dlenski@gmail.com>
+Date: Tue, 22 Aug 2023 12:02:19 -0700
+Subject: [PATCH] Shim for renaming of GNUTLS_NO_EXTENSIONS in GnuTLS v3.8.1
+
+The constant `GNUTLS_NO_EXTENSIONS` was renamed in
+https://gitlab.com/gnutls/gnutls/-/commit/a7c4a04e (released in v3.8.1), and
+then a backwards-compatibility shim was belatedly added in
+https://gitlab.com/gnutls/gnutls/-/commit/abfa8634, which has not yet been
+released.
+
+We need to re-add the constant ourselves in order to build correctly with
+GnuTLS v3.8.1.  This should fix
+https://gitlab.com/openconnect/openconnect/-/issues/650.
+
+Upstream-Status: Backport [https://git.infradead.org/users/dwmw2/openconnect.git/commit/7512698217c4104aade7a2df669a20de68f3bb8c]
+Signed-off-by: Daniel Lenski <dlenski@gmail.com>
+---
+ gnutls-dtls.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/gnutls-dtls.c b/gnutls-dtls.c
+index 3fd78e95..50a4bb4e 100644
+--- a/gnutls-dtls.c
++++ b/gnutls-dtls.c
+@@ -39,6 +39,14 @@
+ # define GNUTLS_CIPHER_CHACHA20_POLY1305 23
+ #endif
+ 
++#if GNUTLS_VERSION_NUMBER >= 0x030801 && !defined(GNUTLS_NO_EXTENSIONS)
++/* XX: GNUTLS_NO_EXTENSIONS was renamed in GnuTLS v3.8.1. A
++ * backwards-compatibility shim was added in a subsequent commit, but
++ * not yet released.
++ */
++# define GNUTLS_NO_EXTENSIONS GNUTLS_NO_DEFAULT_EXTENSIONS
++#endif
++
+ /* sets the DTLS MTU and returns the actual tunnel MTU */
+ unsigned dtls_set_mtu(struct openconnect_info *vpninfo, unsigned mtu)
+ {
+-- 
+2.42.0
+
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect_9.01.bb b/meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect_9.12.bb
similarity index 80%
rename from meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect_9.01.bb
rename to meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect_9.12.bb
index afdbdca..7d0e5f2 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect_9.01.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/openconnect/openconnect_9.12.bb
@@ -1,11 +1,12 @@
 SUMMARY = "Open client for Cisco AnyConnect VPN"
 LICENSE = "LGPL-2.1-only"
-LIC_FILES_CHKSUM = "file://COPYING.LGPL;md5=8c2e1ec1540fb3e0beb68361344cba7e"
+LIC_FILES_CHKSUM = "file://COPYING.LGPL;md5=4fbd65380cdd255951079008b364516c"
 
 SRC_URI = " \
     git://git.infradead.org/users/dwmw2/openconnect.git;branch=master \
+    file://0001-Shim-for-renaming-of-GNUTLS_NO_EXTENSIONS-in-GnuTLS-.patch \
 "
-SRCREV = "5695cd6b0c7d42ca293ce0f00abcbe3d1ec4e609"
+SRCREV = "59f2e59eb3e436364ef82e630e5a2f88f32acd58"
 
 DEPENDS = "vpnc libxml2 krb5 gettext-native"
 RDEPENDS:${PN} = "bash python3-core vpnc-script"
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.18.5.bb b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.18.6.bb
similarity index 98%
rename from meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.18.5.bb
rename to meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.18.6.bb
index 9d8802f..c40e102 100644
--- a/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.18.5.bb
+++ b/meta-openembedded/meta-networking/recipes-connectivity/samba/samba_4.18.6.bb
@@ -32,7 +32,7 @@
            file://cmocka-uintptr_t.patch \
            "
 
-SRC_URI[sha256sum] = "095256ac332e1d9fbf9b7ff7823f92a3233d3ed658ce7fc9b33905c2243f447f"
+SRC_URI[sha256sum] = "284c8a994ce989c87cd6808c390fcb9d00c36b21a0dc1a8a75474b67c9e715e7"
 
 UPSTREAM_CHECK_REGEX = "samba\-(?P<pver>4\.18(\.\d+)+).tar.gz"
 
diff --git a/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_1.0.7.bb b/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_1.0.8.bb
similarity index 96%
rename from meta-openembedded/meta-networking/recipes-filter/nftables/nftables_1.0.7.bb
rename to meta-openembedded/meta-networking/recipes-filter/nftables/nftables_1.0.8.bb
index 8380bbd..00fe483 100644
--- a/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_1.0.7.bb
+++ b/meta-openembedded/meta-networking/recipes-filter/nftables/nftables_1.0.8.bb
@@ -9,7 +9,7 @@
 SRC_URI = "http://www.netfilter.org/projects/nftables/files/${BP}.tar.xz \
            file://run-ptest \
           "
-SRC_URI[sha256sum] = "c12ac941fff9adaedf17367d5ce213789b98a0d314277bc22b3d71e10891f412"
+SRC_URI[sha256sum] = "9373740de41a82dbc98818e0a46a073faeb8a8d0689fa4fa1a74399c32bf3d50"
 
 inherit autotools manpages pkgconfig ptest
 
diff --git a/meta-openembedded/meta-networking/recipes-irc/weechat/weechat_4.0.2.bb b/meta-openembedded/meta-networking/recipes-irc/weechat/weechat_4.0.4.bb
similarity index 93%
rename from meta-openembedded/meta-networking/recipes-irc/weechat/weechat_4.0.2.bb
rename to meta-openembedded/meta-networking/recipes-irc/weechat/weechat_4.0.4.bb
index 8f1e06f..d13764e 100644
--- a/meta-openembedded/meta-networking/recipes-irc/weechat/weechat_4.0.2.bb
+++ b/meta-openembedded/meta-networking/recipes-irc/weechat/weechat_4.0.4.bb
@@ -10,7 +10,7 @@
            file://0001-use-pkg-config-for-gcrypt-instead.patch \
            "
 
-SRC_URI[sha256sum] = "0e648ee0d024c8099425ee60d41b272924ec8e19800ee8f1441090708834023c"
+SRC_URI[sha256sum] = "ae5f4979b5ada0339b84e741d5f7e481ee91e3fecd40a09907b64751829eb6f6"
 
 inherit cmake pkgconfig
 
diff --git a/meta-openembedded/meta-networking/recipes-protocols/frr/frr/CVE-2023-3748.patch b/meta-openembedded/meta-networking/recipes-protocols/frr/frr/CVE-2023-3748.patch
new file mode 100644
index 0000000..4a8a7e1
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-protocols/frr/frr/CVE-2023-3748.patch
@@ -0,0 +1,54 @@
+From e61593f2ded104c4c7f01eb93e2b404e93e0c560 Mon Sep 17 00:00:00 2001
+From: harryreps <harryreps@gmail.com>
+Date: Fri, 3 Mar 2023 23:17:14 +0000
+Subject: [PATCH] babeld: fix #11808 to avoid infinite loops
+
+Replacing continue in loops to goto done so that index of packet buffer
+increases.
+
+Signed-off-by: harryreps <harryreps@gmail.com>
+
+CVE: CVE-2023-3748
+
+Upstream-Status: Backport
+[https://github.com/FRRouting/frr/commit/ae1e0e1fed77716bc06f181ad68c4433fb5523d0]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ babeld/message.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/babeld/message.c b/babeld/message.c
+index 7d45d91bf..2bf233796 100644
+--- a/babeld/message.c
++++ b/babeld/message.c
+@@ -439,7 +439,7 @@ parse_packet(const unsigned char *from, struct interface *ifp,
+ 			debugf(BABEL_DEBUG_COMMON,
+ 			       "Received Hello from %s on %s that does not have all 0's in the unused section of flags, ignoring",
+ 			       format_address(from), ifp->name);
+-			continue;
++			goto done;
+ 		}
+ 
+ 		/*
+@@ -451,7 +451,7 @@ parse_packet(const unsigned char *from, struct interface *ifp,
+ 			debugf(BABEL_DEBUG_COMMON,
+ 			       "Received Unicast Hello from %s on %s that FRR is not prepared to understand yet",
+ 			       format_address(from), ifp->name);
+-			continue;
++			goto done;
+ 		}
+ 
+ 		DO_NTOHS(seqno, message + 4);
+@@ -469,7 +469,7 @@ parse_packet(const unsigned char *from, struct interface *ifp,
+ 			debugf(BABEL_DEBUG_COMMON,
+ 			       "Received hello from %s on %s should be ignored as that this version of FRR does not know how to properly handle interval == 0",
+ 			       format_address(from), ifp->name);
+-			continue;
++			goto done;
+ 		}
+ 
+ 		changed = update_neighbour(neigh, seqno, interval);
+-- 
+2.25.1
+
diff --git a/meta-openembedded/meta-networking/recipes-protocols/frr/frr/CVE-2023-41358.patch b/meta-openembedded/meta-networking/recipes-protocols/frr/frr/CVE-2023-41358.patch
new file mode 100644
index 0000000..59633ef
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-protocols/frr/frr/CVE-2023-41358.patch
@@ -0,0 +1,106 @@
+From 9efd9a47db4f13ebf88c2ffe14301d7441bcb40d Mon Sep 17 00:00:00 2001
+From: Donatas Abraitis <donatas@opensourcerouting.org>
+Date: Tue, 22 Aug 2023 22:52:04 +0300
+Subject: [PATCH 1/2] bgpd: Do not process NLRIs if the attribute length is
+ zero
+
+```
+3  0x00007f423aa42476 in __GI_raise (sig=sig@entry=11) at ../sysdeps/posix/raise.c:26
+4  0x00007f423aef9740 in core_handler (signo=11, siginfo=0x7fffc414deb0, context=<optimized out>) at lib/sigevent.c:246
+5  <signal handler called>
+6  0x0000564dea2fc71e in route_set_aspath_prepend (rule=0x564debd66d50, prefix=0x7fffc414ea30, object=0x7fffc414e400)
+    at bgpd/bgp_routemap.c:2258
+7  0x00007f423aeec7e0 in route_map_apply_ext (map=<optimized out>, prefix=prefix@entry=0x7fffc414ea30,
+    match_object=match_object@entry=0x7fffc414e400, set_object=set_object@entry=0x7fffc414e400, pref=pref@entry=0x0) at lib/routemap.c:2690
+8  0x0000564dea2d277e in bgp_input_modifier (peer=peer@entry=0x7f4238f59010, p=p@entry=0x7fffc414ea30, attr=attr@entry=0x7fffc414e770,
+    afi=afi@entry=AFI_IP, safi=safi@entry=SAFI_UNICAST, rmap_name=rmap_name@entry=0x0, label=0x0, num_labels=0, dest=0x564debdd5130)
+    at bgpd/bgp_route.c:1772
+9  0x0000564dea2df762 in bgp_update (peer=peer@entry=0x7f4238f59010, p=p@entry=0x7fffc414ea30, addpath_id=addpath_id@entry=0,
+    attr=0x7fffc414eb50, afi=afi@entry=AFI_IP, safi=<optimized out>, safi@entry=SAFI_UNICAST, type=9, sub_type=0, prd=0x0, label=0x0,
+    num_labels=0, soft_reconfig=0, evpn=0x0) at bgpd/bgp_route.c:4374
+10 0x0000564dea2e2047 in bgp_nlri_parse_ip (peer=0x7f4238f59010, attr=attr@entry=0x7fffc414eb50, packet=0x7fffc414eaf0)
+    at bgpd/bgp_route.c:6249
+11 0x0000564dea2c5a58 in bgp_nlri_parse (peer=peer@entry=0x7f4238f59010, attr=attr@entry=0x7fffc414eb50,
+    packet=packet@entry=0x7fffc414eaf0, mp_withdraw=mp_withdraw@entry=false) at bgpd/bgp_packet.c:339
+12 0x0000564dea2c5d66 in bgp_update_receive (peer=peer@entry=0x7f4238f59010, size=size@entry=109) at bgpd/bgp_packet.c:2024
+13 0x0000564dea2c901d in bgp_process_packet (thread=<optimized out>) at bgpd/bgp_packet.c:2933
+14 0x00007f423af0bf71 in event_call (thread=thread@entry=0x7fffc414ee40) at lib/event.c:1995
+15 0x00007f423aebb198 in frr_run (master=0x564deb73c670) at lib/libfrr.c:1213
+16 0x0000564dea261b83 in main (argc=<optimized out>, argv=<optimized out>) at bgpd/bgp_main.c:505
+```
+
+With the configuration:
+
+```
+frr version 9.1-dev-MyOwnFRRVersion
+frr defaults traditional
+hostname ip-172-31-13-140
+log file /tmp/debug.log
+log syslog
+service integrated-vtysh-config
+!
+debug bgp keepalives
+debug bgp neighbor-events
+debug bgp updates in
+debug bgp updates out
+!
+router bgp 100
+ bgp router-id 9.9.9.9
+ no bgp ebgp-requires-policy
+ bgp bestpath aigp
+ neighbor 172.31.2.47 remote-as 200
+ !
+ address-family ipv4 unicast
+  neighbor 172.31.2.47 default-originate
+  neighbor 172.31.2.47 route-map RM_IN in
+ exit-address-family
+exit
+!
+route-map RM_IN permit 10
+ set as-path prepend 200
+exit
+!
+```
+
+The issue is that we try to process NLRIs even if the attribute length is 0.
+
+Later bgp_update() will handle route-maps and a crash occurs because all the
+attributes are NULL, including aspath, where we dereference.
+
+According to the RFC 4271:
+
+A value of 0 indicates that neither the Network Layer
+         Reachability Information field nor the Path Attribute field is
+         present in this UPDATE message.
+
+But with a fuzzed UPDATE message this can be faked. I think it's reasonable
+to skip processing NLRIs if both update_len and attribute_len are 0.
+
+Reported-by: Iggy Frankovic <iggyfran@amazon.com>
+Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
+
+Upstream-Status: Backport [https://github.com/FRRouting/frr/commit/28ccc24d38df1d51ed8a563507e5d6f6171fdd38]
+
+CVE: CVE-2023-41358
+
+Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
+---
+ bgpd/bgp_packet.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/bgpd/bgp_packet.c b/bgpd/bgp_packet.c
+index ec54943f3..3c2e73c59 100644
+--- a/bgpd/bgp_packet.c
++++ b/bgpd/bgp_packet.c
+@@ -1951,7 +1951,7 @@ static int bgp_update_receive(struct peer *peer, bgp_size_t size)
+ 	/* Network Layer Reachability Information. */
+ 	update_len = end - stream_pnt(s);
+ 
+-	if (update_len) {
++	if (update_len && attribute_len) {
+ 		/* Set NLRI portion to structure. */
+ 		nlris[NLRI_UPDATE].afi = AFI_IP;
+ 		nlris[NLRI_UPDATE].safi = SAFI_UNICAST;
+-- 
+2.35.5
+
diff --git a/meta-openembedded/meta-networking/recipes-protocols/frr/frr/CVE-2023-41360.patch b/meta-openembedded/meta-networking/recipes-protocols/frr/frr/CVE-2023-41360.patch
new file mode 100644
index 0000000..8ee3985
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-protocols/frr/frr/CVE-2023-41360.patch
@@ -0,0 +1,35 @@
+From 9ecacf2176d2bac4b90e17d49facb8712c1b467a Mon Sep 17 00:00:00 2001
+From: Donatas Abraitis <donatas@opensourcerouting.org>
+Date: Sun, 20 Aug 2023 22:15:27 +0300
+Subject: [PATCH 2/2] bgpd: Don't read the first byte of ORF header if we are
+ ahead of stream
+
+Reported-by: Iggy Frankovic iggyfran@amazon.com
+Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
+
+Upstream-Status: Backport [https://github.com/FRRouting/frr/commit/9b855a692e68e0d16467e190b466b4ecb6853702]
+
+CVE: CVE-2023-41360
+
+Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
+---
+ bgpd/bgp_packet.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/bgpd/bgp_packet.c b/bgpd/bgp_packet.c
+index 3c2e73c59..f1d0e54c0 100644
+--- a/bgpd/bgp_packet.c
++++ b/bgpd/bgp_packet.c
+@@ -2375,7 +2375,8 @@ static int bgp_route_refresh_receive(struct peer *peer, bgp_size_t size)
+ 				 * and 7 bytes of ORF Address-filter entry from
+ 				 * the stream
+ 				 */
+-				if (*p_pnt & ORF_COMMON_PART_REMOVE_ALL) {
++				if (p_pnt < p_end &&
++				    *p_pnt & ORF_COMMON_PART_REMOVE_ALL) {
+ 					if (bgp_debug_neighbor_events(peer))
+ 						zlog_debug(
+ 							"%pBP rcvd Remove-All pfxlist ORF request",
+-- 
+2.35.5
+
diff --git a/meta-openembedded/meta-networking/recipes-protocols/frr/frr_8.4.4.bb b/meta-openembedded/meta-networking/recipes-protocols/frr/frr_8.4.4.bb
index b87c3e7..826b687 100644
--- a/meta-openembedded/meta-networking/recipes-protocols/frr/frr_8.4.4.bb
+++ b/meta-openembedded/meta-networking/recipes-protocols/frr/frr_8.4.4.bb
@@ -12,6 +12,9 @@
 SRC_URI = "git://github.com/FRRouting/frr.git;protocol=https;branch=stable/8.4 \
            file://frr.pam \
            file://0001-m4-ax_python.m4-check-for-python-x.y-emded.pc-not-py.patch \
+           file://CVE-2023-3748.patch \
+           file://CVE-2023-41358.patch \
+           file://CVE-2023-41360.patch \
            "
 
 SRCREV = "45e36c0c00a517ad1606135b18c5753e210cfc0d"
diff --git a/meta-openembedded/meta-networking/recipes-protocols/vsomeip/vsomeip/0001-Fix-pkgconfig-dir-for-multilib.patch b/meta-openembedded/meta-networking/recipes-protocols/vsomeip/vsomeip/0001-Fix-pkgconfig-dir-for-multilib.patch
new file mode 100644
index 0000000..1c7eb17
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-protocols/vsomeip/vsomeip/0001-Fix-pkgconfig-dir-for-multilib.patch
@@ -0,0 +1,28 @@
+From e8a1b7a176398c2a9b5969f1b48ae0e1aa30f4ec Mon Sep 17 00:00:00 2001
+From: Yi Zhao <yi.zhao@windriver.com>
+Date: Wed, 2 Mar 2022 14:51:13 +0800
+Subject: [PATCH] Fix pkgconfig dir for multilib
+
+Upstream-Status: Pending
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index add3edda..fea80b4a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -602,7 +602,7 @@ endif()
+ # create pkg-config file
+ if(NOT WIN32)
+         configure_file(${VSOMEIP_NAME}.pc.in ${PROJECT_BINARY_DIR}/${VSOMEIP_NAME}.pc @ONLY)
+-        install(FILES ${PROJECT_BINARY_DIR}/${VSOMEIP_NAME}.pc DESTINATION lib/pkgconfig)
++        install(FILES ${PROJECT_BINARY_DIR}/${VSOMEIP_NAME}.pc DESTINATION ${INSTALL_LIB_DIR}/pkgconfig)
+ endif()
+ 
+ ##############################################################################
+-- 
+2.25.1
+
diff --git a/meta-openembedded/meta-networking/recipes-protocols/vsomeip/vsomeip/0002-Install-example-configuration-files-to-etc-vsomeip.patch b/meta-openembedded/meta-networking/recipes-protocols/vsomeip/vsomeip/0002-Install-example-configuration-files-to-etc-vsomeip.patch
new file mode 100644
index 0000000..c22ef69
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-protocols/vsomeip/vsomeip/0002-Install-example-configuration-files-to-etc-vsomeip.patch
@@ -0,0 +1,28 @@
+From aea4c06ee2a0661d0c7b4773e846276a4f10e2e8 Mon Sep 17 00:00:00 2001
+From: Yi Zhao <yi.zhao@windriver.com>
+Date: Wed, 9 Mar 2022 11:48:44 +0800
+Subject: [PATCH] Install example configuration files to /etc/vsomeip
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index fea80b4a..e7a92ec6 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -501,7 +501,7 @@ install(FILES ${PROJECT_BINARY_DIR}/vsomeip.pc DESTINATION lib/pkgconfig)
+ endif ()
+ 
+ install (
+-  FILES ${EXAMPLE_CONFIG_FILES} DESTINATION etc/vsomeip COMPONENT config
++  FILES ${EXAMPLE_CONFIG_FILES} DESTINATION ${DEFAULT_CONFIGURATION_FOLDER} COMPONENT config
+ )
+ 
+ # Add all targets to the build-tree export set
+-- 
+2.25.1
+
diff --git a/meta-openembedded/meta-networking/recipes-protocols/vsomeip/vsomeip/0003-Do-not-build-external-gtest.patch b/meta-openembedded/meta-networking/recipes-protocols/vsomeip/vsomeip/0003-Do-not-build-external-gtest.patch
new file mode 100644
index 0000000..370d8a0
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-protocols/vsomeip/vsomeip/0003-Do-not-build-external-gtest.patch
@@ -0,0 +1,160 @@
+From e012f91a73af7469ef6f660c3a6a752430a4d649 Mon Sep 17 00:00:00 2001
+From: Yi Zhao <yi.zhao@windriver.com>
+Date: Tue, 11 Jul 2023 16:53:46 +0800
+Subject: [PATCH] Do not build external gtest
+
+We don't need to build external gtest since we already depend on
+googletest.
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ CMakeLists.txt                    | 30 ++----------
+ test/network_tests/CMakeLists.txt | 80 -------------------------------
+ 2 files changed, 3 insertions(+), 107 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index e7a92ec6..f6c680d4 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -18,14 +18,6 @@ set (VSOMEIP_VERSION ${VSOMEIP_MAJOR_VERSION}.${VSOMEIP_MINOR_VERSION}.${VSOMEIP
+ set (PACKAGE_VERSION ${VSOMEIP_VERSION}) # Used in documentation/doxygen.in
+ set (CMAKE_VERBOSE_MAKEFILE off)
+ 
+-if (NOT GTEST_ROOT)
+-    if (DEFINED ENV{GTEST_ROOT})
+-        set(GTEST_ROOT $ENV{GTEST_ROOT})
+-    else()
+-        set(GTEST_ROOT "n/a" CACHE STRING "Path to root folder of googletest. Must be set for building the tests.")
+-    endif()
+-endif()
+-
+ ###################################################################################################
+ # see http://www.cmake.org/Wiki/CMake/Tutorials/How_to_create_a_ProjectConfig.cmake_file
+ ###################################################################################################
+@@ -630,27 +622,11 @@ find_package(benchmark)
+ ##############################################################################
+ # google test
+ 
+-# check for set environment variable
+-if(${GTEST_ROOT} STREQUAL "n/a")
+-    message(STATUS "GTEST_ROOT is not defined. For building the tests the variable
+-             GTEST_ROOT has to be defined. Tests can not be built.")
+-    # early exit
+-    return()  # test can not be build -> make commands build_tests and check are not available
+-else()
+-    message(STATUS "GTEST_ROOT is set. gtest root path set to ${GTEST_ROOT}")
++find_package(GTest)
++if (NOT GTest_FOUND)
++    message(WARNING "GTest is not found. Tests can not be built.")
+ endif()
+ 
+-# build google test as static library (always) -> therefore deactivate BUILD_SHARED_LIBS in case it is active
+-set(BUILD_SHARED_LIBS_AUTOMATIC_OFF 0)
+-if ("${BUILD_SHARED_LIBS}" STREQUAL "ON")
+-    set(BUILD_SHARED_LIBS OFF)
+-    set(BUILD_SHARED_LIBS_AUTOMATIC_OFF 1)
+-endif()
+-add_subdirectory(${GTEST_ROOT} ${CMAKE_CURRENT_BINARY_DIR}/gtest EXCLUDE_FROM_ALL)
+-if ("${BUILD_SHARED_LIBS_AUTOMATIC_OFF}" STREQUAL "1")
+-    set(BUILD_SHARED_LIBS ON)
+-    set(BUILD_SHARED_LIBS_AUTOMATIC_OFF 0)
+-endif()
+ 
+ 
+ 
+diff --git a/test/network_tests/CMakeLists.txt b/test/network_tests/CMakeLists.txt
+index 6a148604..a501b6a7 100644
+--- a/test/network_tests/CMakeLists.txt
++++ b/test/network_tests/CMakeLists.txt
+@@ -3633,86 +3633,6 @@ if(NOT ${TESTS_BAT})
+ 
+ endif()
+ 
+-##############################################################################
+-# Add for every test a dependency to gtest
+-##############################################################################
+-
+-if(NOT ${TESTS_BAT})
+-    add_dependencies(${TEST_CONFIGURATION} gtest)
+-    add_dependencies(${TEST_APPLICATION} gtest)
+-    add_dependencies(${TEST_APPLICATION_SINGLE_PROCESS_NAME} gtest)
+-    add_dependencies(${TEST_APPLICATION_AVAILABILITY_NAME} gtest)
+-    add_dependencies(${TEST_MAGIC_COOKIES_CLIENT} gtest)
+-    add_dependencies(${TEST_MAGIC_COOKIES_SERVICE} gtest)
+-    add_dependencies(${TEST_HEADER_FACTORY} gtest)
+-    add_dependencies(${TEST_HEADER_FACTORY_CLIENT} gtest)
+-    add_dependencies(${TEST_HEADER_FACTORY_SERVICE} gtest)
+-    add_dependencies(${TEST_LOCAL_ROUTING_SERVICE} gtest)
+-    add_dependencies(${TEST_LOCAL_ROUTING_CLIENT} gtest)
+-    add_dependencies(${TEST_EXTERNAL_LOCAL_ROUTING_SERVICE} gtest)
+-    add_dependencies(${TEST_PAYLOAD_SERVICE} gtest)
+-    add_dependencies(${TEST_PAYLOAD_CLIENT} gtest)
+-    add_dependencies(${TEST_BIG_PAYLOAD_SERVICE} gtest)
+-    add_dependencies(${TEST_BIG_PAYLOAD_CLIENT} gtest)
+-    add_dependencies(${TEST_CLIENT_ID_SERVICE} gtest)
+-    add_dependencies(${TEST_CLIENT_ID_UTILITY} gtest)
+-    add_dependencies(${TEST_DEBOUNCE_CLIENT} gtest)
+-    add_dependencies(${TEST_DEBOUNCE_SERVICE} gtest)
+-    add_dependencies(${TEST_SUBSCRIBE_NOTIFY_SERVICE} gtest)
+-    add_dependencies(${TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_SERVICE} gtest)
+-    add_dependencies(${TEST_SUBSCRIBE_NOTIFY_ONE_EVENT_TWO_EVENTGROUPS_CLIENT} gtest)
+-    add_dependencies(${TEST_SUBSCRIBE_NOTIFY_ONE_SERVICE} gtest)
+-    add_dependencies(${TEST_CPU_LOAD_SERVICE} gtest)
+-    add_dependencies(${TEST_CPU_LOAD_CLIENT} gtest)
+-    add_dependencies(${TEST_INITIAL_EVENT_SERVICE} gtest)
+-    add_dependencies(${TEST_INITIAL_EVENT_CLIENT} gtest)
+-    add_dependencies(${TEST_INITIAL_EVENT_AVAILABILITY_CHECKER} gtest)
+-    add_dependencies(${TEST_INITIAL_EVENT_STOP_SERVICE} gtest)
+-    add_dependencies(${TEST_OFFER_SERVICE} gtest)
+-    add_dependencies(${TEST_OFFER_CLIENT} gtest)
+-    add_dependencies(${TEST_OFFER_SERVICE_EXTERNAL} gtest)
+-    add_dependencies(${TEST_OFFER_EXTERNAL_SD_MESSAGE_SENDER} gtest)
+-    add_dependencies(${TEST_OFFERED_SERVICES_INFO_CLIENT} gtest)
+-    add_dependencies(${TEST_OFFERED_SERVICES_INFO_SERVICE} gtest)
+-    add_dependencies(${TEST_PENDING_SUBSCRIPTION_SERVICE} gtest)
+-    add_dependencies(${TEST_PENDING_SUBSCRIPTION_CLIENT} gtest)
+-    add_dependencies(${TEST_MALICIOUS_DATA_SERVICE} gtest)
+-    add_dependencies(${TEST_MALICIOUS_DATA_CLIENT} gtest)
+-    if (${TEST_SECURITY})
+-        add_dependencies(${TEST_SECURITY_SERVICE} gtest)
+-        add_dependencies(${TEST_SECURITY_CLIENT} gtest)
+-    endif()
+-    add_dependencies(${TEST_E2E_SERVICE} gtest)
+-    add_dependencies(${TEST_E2E_CLIENT} gtest)
+-    if (${TEST_E2E_PROFILE_04})
+-    add_dependencies(${TEST_E2E_PROFILE_04_SERVICE} gtest)
+-    add_dependencies(${TEST_E2E_PROFILE_04_CLIENT} gtest)
+-    endif()
+-    add_dependencies(${TEST_EVENT_SERVICE} gtest)
+-    add_dependencies(${TEST_EVENT_CLIENT} gtest)
+-    add_dependencies(${TEST_NPDU_SERVICE_ONE} gtest)
+-    add_dependencies(${TEST_NPDU_SERVICE_TWO} gtest)
+-    add_dependencies(${TEST_NPDU_SERVICE_THREE} gtest)
+-    add_dependencies(${TEST_NPDU_SERVICE_FOUR} gtest)
+-    add_dependencies(${TEST_NPDU_CLIENT_ONE} gtest)
+-    add_dependencies(${TEST_NPDU_CLIENT_TWO} gtest)
+-    add_dependencies(${TEST_NPDU_CLIENT_THREE} gtest)
+-    add_dependencies(${TEST_NPDU_CLIENT_FOUR} gtest)
+-    add_dependencies(${TEST_NPDU_DAEMON_CLIENT} gtest)
+-    add_dependencies(${TEST_NPDU_DAEMON_SERVICE} gtest)
+-    add_dependencies(${TEST_SOMEIPTP_CLIENT} gtest)
+-    add_dependencies(${TEST_SOMEIPTP_SERVICE} gtest)
+-    if(${TEST_SECOND_ADDRESS})
+-        add_dependencies(${TEST_SECOND_ADDRESS_CLIENT} gtest)
+-        add_dependencies(${TEST_SECOND_ADDRESS_SERVICE} gtest)
+-    endif()
+-    add_dependencies(${TEST_SUSPEND_RESUME_CLIENT} gtest)
+-    add_dependencies(${TEST_SUSPEND_RESUME_SERVICE} gtest)
+-else()
+-    add_dependencies(${TEST_LOCAL_ROUTING_SERVICE} gtest)
+-    add_dependencies(${TEST_LOCAL_ROUTING_CLIENT} gtest)
+-endif()
+-
+ ##############################################################################
+ # Add tests to the target build_network_tests
+ ##############################################################################
+-- 
+2.25.1
+
diff --git a/meta-openembedded/meta-networking/recipes-protocols/vsomeip/vsomeip/0004-Do-not-specify-PIE-flag-explicitly.patch b/meta-openembedded/meta-networking/recipes-protocols/vsomeip/vsomeip/0004-Do-not-specify-PIE-flag-explicitly.patch
new file mode 100644
index 0000000..970a37e
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-protocols/vsomeip/vsomeip/0004-Do-not-specify-PIE-flag-explicitly.patch
@@ -0,0 +1,47 @@
+From 69805f9c8973a7a4d29297f8d50c29c88f981bee Mon Sep 17 00:00:00 2001
+From: Yi Zhao <yi.zhao@windriver.com>
+Date: Mon, 17 Jul 2023 14:33:32 +0800
+Subject: [PATCH] Do not specify PIE flag explicitly
+
+For nodistro distro, packages are built without PIE because
+security_flags.inc is not included by default. But in vsomeip, the PIE
+flag is explicitly specified in CMAKE_CXX_FLAGS, which will cause
+building with PIE even in nodistro, causing an error when linking the
+googletest static library:
+
+TOPDIR/tmp-glibc/work/cortexa53-oe-linux/vsomeip/3.1.20.3-r0/recipe-sysroot-native/usr/bin/aarch64-oe-linux/../../libexec/aarch64-oe-linux/gcc/aarch64-oe-linux/12.2.0/ld:
+TOPDIR/tmp-glibc/work/cortexa53-oe-linux/vsomeip/3.1.20.3-r0/recipe-sysroot/usr/lib/libgtest.a(gtest-all.cc.o)(.text+0x4a90):
+unresolvable R_AARCH64_ADR_PREL_PG_HI21 relocation against symbol `_ZSt4cerr@@GLIBCXX_3.4'
+
+Remove PIE flag from CMAKE_CXX_FLAGS and only enable PIE flag by
+including security_flags.inc.
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ CMakeLists.txt | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f6c680d4..dce1e701 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -60,12 +60,12 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
+ if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
+     # This is only relevant for GCC and causes warnings on Clang
+     set(EXPORTSYMBOLS "-Wl,-export-dynamic -Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/exportmap.gcc")
+-    set(OS_CXX_FLAGS "${OS_CXX_FLAGS} -pie -Wl,-z,relro,-z,now")
++    set(OS_CXX_FLAGS "${OS_CXX_FLAGS} -Wl,-z,relro,-z,now")
+ endif()
+ 
+     set(NO_DEPRECATED "")
+     set(OPTIMIZE "")
+-    set(OS_CXX_FLAGS "${OS_CXX_FLAGS} -D_GLIBCXX_USE_NANOSLEEP -pthread -O -Wall -Wextra -Wformat -Wformat-security -Wconversion -fexceptions -fstrict-aliasing -fstack-protector-strong -fasynchronous-unwind-tables -fno-omit-frame-pointer -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Wpedantic -Werror -fPIE")
++    set(OS_CXX_FLAGS "${OS_CXX_FLAGS} -D_GLIBCXX_USE_NANOSLEEP -pthread -O -Wall -Wextra -Wformat -Wformat-security -Wconversion -fexceptions -fstrict-aliasing -fstack-protector-strong -fasynchronous-unwind-tables -fno-omit-frame-pointer -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Wpedantic")
+ 
+     # force all use of std::mutex and std::recursive_mutex to use runtime init
+     # instead of static initialization so mutexes can be hooked to enable PI as needed
+-- 
+2.25.1
+
diff --git a/meta-openembedded/meta-networking/recipes-protocols/vsomeip/vsomeip_3.3.8.bb b/meta-openembedded/meta-networking/recipes-protocols/vsomeip/vsomeip_3.3.8.bb
new file mode 100644
index 0000000..b45bd2d
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-protocols/vsomeip/vsomeip_3.3.8.bb
@@ -0,0 +1,72 @@
+SUMMARY = "The implementation of SOME/IP"
+DESCRIPTION = "The vsomeip stack implements the http://some-ip.com/ \
+(Scalable service-Oriented MiddlewarE over IP (SOME/IP)) protocol."
+HOMEPAGE = "https://github.com/COVESA/vsomeip"
+SECTION = "net"
+
+LICENSE = "MPL-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=9741c346eef56131163e13b9db1241b3"
+
+SRC_URI = "git://github.com/GENIVI/${BPN}.git;branch=master;protocol=https;name=vsomeip \
+           file://0001-Fix-pkgconfig-dir-for-multilib.patch \
+           file://0002-Install-example-configuration-files-to-etc-vsomeip.patch \
+           file://0003-Do-not-build-external-gtest.patch \
+           file://0004-Do-not-specify-PIE-flag-explicitly.patch \
+          "
+
+SRCREV = "07464840f503670bc75997b8e926b54734ffa410"
+
+COMPATIBLE_HOST:mips = "null"
+COMPATIBLE_HOST:mips64 = "null"
+COMPATIBLE_HOST:powerpc = "null"
+COMPATIBLE_HOST:libc-musl = 'null'
+
+DEPENDS = "boost dlt-daemon googletest"
+
+S = "${WORKDIR}/git"
+
+inherit cmake pkgconfig
+
+EXTRA_OECMAKE = "-DINSTALL_LIB_DIR:PATH=${baselib} \
+                 -DINSTALL_CMAKE_DIR:PATH=${baselib}/cmake/vsomeip3 \
+                "
+
+# For vsomeip-test
+EXTRA_OECMAKE += "-DTEST_IP_MASTER=10.0.3.1 \
+                  -DTEST_IP_SLAVE=10.0.3.2 \
+                  -DTEST_IP_SLAVE_SECOND=10.0.3.3 \
+                  -DTEST_UID=1000 -DTEST_GID=1000 \
+                 "
+
+RDEPENDS:${PN}-test = "bash lsof"
+
+do_compile:append() {
+    cmake_runcmake_build --target examples
+    cmake_runcmake_build --target build_tests
+}
+
+do_install:append() {
+    install -d ${D}/opt/${PN}-test/examples
+    install -m 0755 ${B}/examples/*-sample ${D}/opt/${PN}-test/examples
+    install -d ${D}/opt/${PN}-test/examples/routingmanagerd
+    install -m 0755 ${B}/examples/routingmanagerd/routingmanagerd \
+        ${D}/opt/${PN}-test/examples/routingmanagerd
+
+    install -d ${D}/opt/${PN}-test/test/test/common
+    cp -rf ${S}/test/common/examples_policies \
+        ${D}/opt/${PN}-test/test/test/common/
+
+    for d in unit_tests network_tests; do
+        install -d ${D}/opt/${PN}-test/test/$d
+        cp -f ${B}/test/$d/*test* ${D}/opt/${PN}-test/test/$d
+    done
+}
+
+PACKAGES += "${PN}-test"
+
+FILES:${PN}-dbg += " \
+   /opt/${PN}-test/.debug/* \
+   "
+FILES:${PN}-test = " \
+   /opt/${PN}-test \
+   "
diff --git a/meta-openembedded/meta-networking/recipes-support/chrony/chrony/arm_eabi.patch b/meta-openembedded/meta-networking/recipes-support/chrony/chrony/arm_eabi.patch
index 82c0e1b..b9bb374 100644
--- a/meta-openembedded/meta-networking/recipes-support/chrony/chrony/arm_eabi.patch
+++ b/meta-openembedded/meta-networking/recipes-support/chrony/chrony/arm_eabi.patch
@@ -1,4 +1,4 @@
-From 28b9f115e36e2133301b02fa02ad71a8efbed9b9 Mon Sep 17 00:00:00 2001
+From 71c44c214c0ab8dc8e9675e5e862f2e342fcb271 Mon Sep 17 00:00:00 2001
 From: Joe Slater <jslater@windriver.com>
 Date: Thu, 9 Mar 2017 10:58:06 -0800
 Subject: [PATCH] chrony: fix build failure for arma9
@@ -28,10 +28,10 @@
  1 file changed, 9 insertions(+), 6 deletions(-)
 
 diff --git a/sys_linux.c b/sys_linux.c
-index f2baab1..14a9241 100644
+index 6849637..10f9a57 100644
 --- a/sys_linux.c
 +++ b/sys_linux.c
-@@ -484,7 +484,6 @@ SYS_Linux_EnableSystemCallFilter(int level, SYS_ProcessContext context)
+@@ -485,7 +485,6 @@ SYS_Linux_EnableSystemCallFilter(int level, SYS_ProcessContext context)
  #endif
      SCMP_SYS(gettimeofday),
      SCMP_SYS(settimeofday),
@@ -39,15 +39,15 @@
  
      /* Process */
      SCMP_SYS(clone),
-@@ -494,7 +493,6 @@ SYS_Linux_EnableSystemCallFilter(int level, SYS_ProcessContext context)
+@@ -495,7 +494,6 @@ SYS_Linux_EnableSystemCallFilter(int level, SYS_ProcessContext context)
      SCMP_SYS(exit),
      SCMP_SYS(exit_group),
      SCMP_SYS(getpid),
 -    SCMP_SYS(getrlimit),
      SCMP_SYS(getuid),
      SCMP_SYS(getuid32),
- #ifdef __NR_rseq
-@@ -511,7 +509,6 @@ SYS_Linux_EnableSystemCallFilter(int level, SYS_ProcessContext context)
+ #ifdef __NR_membarrier
+@@ -515,7 +513,6 @@ SYS_Linux_EnableSystemCallFilter(int level, SYS_ProcessContext context)
      /* Memory */
      SCMP_SYS(brk),
      SCMP_SYS(madvise),
@@ -55,7 +55,7 @@
      SCMP_SYS(mmap2),
      SCMP_SYS(mprotect),
      SCMP_SYS(mremap),
-@@ -571,8 +568,6 @@ SYS_Linux_EnableSystemCallFilter(int level, SYS_ProcessContext context)
+@@ -575,8 +572,6 @@ SYS_Linux_EnableSystemCallFilter(int level, SYS_ProcessContext context)
      SCMP_SYS(sendmsg),
      SCMP_SYS(sendto),
      SCMP_SYS(shutdown),
@@ -64,15 +64,15 @@
  
      /* General I/O */
      SCMP_SYS(_newselect),
-@@ -596,7 +591,6 @@ SYS_Linux_EnableSystemCallFilter(int level, SYS_ProcessContext context)
+@@ -600,7 +595,6 @@ SYS_Linux_EnableSystemCallFilter(int level, SYS_ProcessContext context)
  #ifdef __NR_futex_time64
      SCMP_SYS(futex_time64),
  #endif
 -    SCMP_SYS(select),
      SCMP_SYS(set_robust_list),
      SCMP_SYS(write),
- 
-@@ -604,6 +598,15 @@ SYS_Linux_EnableSystemCallFilter(int level, SYS_ProcessContext context)
+     SCMP_SYS(writev),
+@@ -609,6 +603,15 @@ SYS_Linux_EnableSystemCallFilter(int level, SYS_ProcessContext context)
      SCMP_SYS(getrandom),
      SCMP_SYS(sysinfo),
      SCMP_SYS(uname),
diff --git a/meta-openembedded/meta-networking/recipes-support/chrony/chrony_4.3.bb b/meta-openembedded/meta-networking/recipes-support/chrony/chrony_4.4.bb
similarity index 98%
rename from meta-openembedded/meta-networking/recipes-support/chrony/chrony_4.3.bb
rename to meta-openembedded/meta-networking/recipes-support/chrony/chrony_4.4.bb
index 420cc78..d4e03bc 100644
--- a/meta-openembedded/meta-networking/recipes-support/chrony/chrony_4.3.bb
+++ b/meta-openembedded/meta-networking/recipes-support/chrony/chrony_4.4.bb
@@ -39,7 +39,7 @@
 SRC_URI:append:libc-musl = " \
     file://0001-Fix-compilation-with-musl.patch \
 "
-SRC_URI[sha256sum] = "9d0da889a865f089a5a21610ffb6713e3c9438ce303a63b49c2fb6eaff5b8804"
+SRC_URI[sha256sum] = "eafb07e6daf92b142200f478856dfed6efc9ea2d146eeded5edcb09b93127088"
 
 DEPENDS = "pps-tools"
 
diff --git a/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p17.bb b/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p17.bb
index e80ea4c..4ed58cd 100644
--- a/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p17.bb
+++ b/meta-openembedded/meta-networking/recipes-support/ntp/ntp_4.2.8p17.bb
@@ -136,7 +136,14 @@
 RREPLACES:${PN}-utils = "${PN}-bin"
 RCONFLICTS:${PN}-utils = "${PN}-bin"
 # ntpdc and ntpq were split out of ntp-utils
-RDEPENDS:${PN}-utils = "ntpdc ntpq"
+RDEPENDS:${PN}-utils = "ntpdc ntpq \
+                        perl-module-lib \
+                        perl-module-exporter \
+                        perl-module-carp \
+                        perl-module-version \
+                        perl-module-socket \
+                        perl-module-getopt-long \
+                       "
 
 SYSTEMD_PACKAGES = "${PN} sntp"
 SYSTEMD_SERVICE:${PN} = "ntpd.service"
diff --git a/meta-openembedded/meta-networking/recipes-support/spice/libcacard_2.8.1.bb b/meta-openembedded/meta-networking/recipes-support/spice/libcacard_2.8.1.bb
new file mode 100644
index 0000000..c81322e
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/spice/libcacard_2.8.1.bb
@@ -0,0 +1,13 @@
+SUMMARY = "This library provides emulation of smart cards to a virtual card reader running in a guest virtual machine."
+LICENSE = "LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=79ffa0ec772fa86740948cb7327a0cc7"
+
+DEPENDS = "glib-2.0 pcsc-lite nss"
+
+SRCREV = "7b07684ea6698d4885ff2062350ad8798a04de42"
+
+SRC_URI = "git://gitlab.freedesktop.org/spice/libcacard.git;protocol=https;branch=master"
+
+S = "${WORKDIR}/git"
+
+inherit meson pkgconfig
diff --git a/meta-openembedded/meta-networking/recipes-support/spice/phodav_3.0.bb b/meta-openembedded/meta-networking/recipes-support/spice/phodav_3.0.bb
new file mode 100644
index 0000000..990e017
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/spice/phodav_3.0.bb
@@ -0,0 +1,25 @@
+SUMMARY = "phodav is a WebDav server implementation using libsoup (RFC 4918)."
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+DEPENDS = " \
+    glib-2.0 \
+    libsoup \
+"
+
+GNOMEBASEBUILDCLASS = "meson"
+GTKDOC_MESON_OPTION = 'gtk_doc'
+GTKDOC_MESON_ENABLE_FLAG = 'enabled'
+GTKDOC_MESON_DISABLE_FLAG = 'disabled'
+
+PACKAGECONFIG ??= "avahi"
+PACKAGECONFIG[avahi] = "-Davahi=enabled,-Davahi=disabled,avahi"
+
+inherit pkgconfig gnomebase gettext gtk-doc
+
+EXTRA_OEMESON += "-Dsystemdsystemunitdir=${systemd_system_unitdir}"
+
+SRC_URI = "https://download.gnome.org/sources/phodav/3.0/phodav-${PV}.tar.xz;name=archive"
+SRC_URI[archive.sha256sum] = "392ec2d06d50300dcff1ef269a2a985304e29bce3520002fca29f2edc1d138d1"
+
+FILES:${PN} += "${libdir} ${systemd_system_unitdir}"
diff --git a/meta-openembedded/meta-networking/recipes-support/spice/spice-gtk_0.42.bb b/meta-openembedded/meta-networking/recipes-support/spice/spice-gtk_0.42.bb
index 2750439..3d34f22 100644
--- a/meta-openembedded/meta-networking/recipes-support/spice/spice-gtk_0.42.bb
+++ b/meta-openembedded/meta-networking/recipes-support/spice/spice-gtk_0.42.bb
@@ -40,19 +40,23 @@
 "
 DEPENDS:append:libc-musl = " libucontext"
 
-RDEPENDS:${PN} = "python3-pyparsing python3-six"
+RDEPENDS:${PN} = "python3-pyparsing python3-six usbids"
 
-inherit meson pkgconfig vala gobject-introspection features_check
+inherit meson pkgconfig vala gobject-introspection features_check gtk-doc
 
 REQUIRED_DISTRO_FEATURES = "opengl"
 
 GIR_MESON_ENABLE_FLAG = 'enabled'
 GIR_MESON_DISABLE_FLAG = 'disabled'
+GTKDOC_MESON_OPTION = 'gtk_doc'
+GTKDOC_MESON_ENABLE_FLAG = 'enabled'
+GTKDOC_MESON_DISABLE_FLAG = 'disabled'
 
-PACKAGECONFIG ??= "${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'vapi', '', d)}"
+PACKAGECONFIG ??= "${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'vapi', '', d)} smartcard"
 PACKAGECONFIG[vapi] = "-Dvapi=enabled,-Dvapi=disabled"
+PACKAGECONFIG[smartcard] = "-Dsmartcard=enabled,-Dsmartcard=disabled,libcacard"
 
-EXTRA_OEMESON = "-Dpie=true"
+EXTRA_OEMESON = "-Dpie=true -Dusb-ids-path=${datadir}/usb.ids "
 EXTRA_OEMESON:append:libc-musl = " -Dcoroutine=libucontext"
 
 LDFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', ' -Wl,--undefined-version', '', d)}"
diff --git a/meta-openembedded/meta-networking/recipes-support/spice/spice-guest-vdagent_0.22.1.bb b/meta-openembedded/meta-networking/recipes-support/spice/spice-guest-vdagent_0.22.1.bb
new file mode 100644
index 0000000..3af973e
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/spice/spice-guest-vdagent_0.22.1.bb
@@ -0,0 +1,25 @@
+SUMMARY = "Spice agent for Linux"
+HOMEPAGE = "https://spice-space.org"
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+SRCREV = "aa08162f036840d3e33502dc0a836b03b9cec97c"
+
+SRC_URI = "git://gitlab.freedesktop.org/spice/linux/vd_agent.git;protocol=https;branch=master"
+
+S = "${WORKDIR}/git"
+
+ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
+REQUIRED_DISTRO_FEATURES = "opengl x11"
+
+inherit autotools pkgconfig features_check
+
+DEPENDS = "glib-2.0 alsa-lib gtk4 dbus libdrm spice-protocol libxfixes xrandr xinerama libx11"
+
+EXTRA_OECONF = " \
+	--with-gtk4 \
+	--enable-pie \
+"
+
+FILES:${PN} += "${datadir}"
+
diff --git a/meta-openembedded/meta-networking/recipes-support/spice/spice-protocol_0.14.4.bb b/meta-openembedded/meta-networking/recipes-support/spice/spice-protocol_0.14.4.bb
index 9ce019e..3c8458b 100644
--- a/meta-openembedded/meta-networking/recipes-support/spice/spice-protocol_0.14.4.bb
+++ b/meta-openembedded/meta-networking/recipes-support/spice/spice-protocol_0.14.4.bb
@@ -16,4 +16,6 @@
 
 inherit meson pkgconfig
 
+ALLOW_EMPTY:${PN} = "1"
+
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-networking/recipes-support/spice/spice/0001-Convert-pthread_t-to-be-numeric.patch b/meta-openembedded/meta-networking/recipes-support/spice/spice/0001-Convert-pthread_t-to-be-numeric.patch
deleted file mode 100644
index e63cbe3..0000000
--- a/meta-openembedded/meta-networking/recipes-support/spice/spice/0001-Convert-pthread_t-to-be-numeric.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From 0726ce6d6f52e135e28f15ca8392568c84909b1d Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 16 Jun 2018 16:21:39 -0700
-Subject: [PATCH] Convert pthread_t to be numeric
-
-typecast pthread_t to unsigned long
-pthread_t is implemented as a struct point in musl and its as per standard
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- server/red-channel.c | 5 +++--
- server/red-client.c  | 6 +++---
- 2 files changed, 6 insertions(+), 5 deletions(-)
-
---- a/server/red-channel.c
-+++ b/server/red-channel.c
-@@ -204,7 +204,7 @@ red_channel_constructed(GObject *object)
- {
-     RedChannel *self = RED_CHANNEL(object);
- 
--    red_channel_debug(self, "thread_id 0x%" G_GSIZE_MODIFIER "x", self->priv->thread_id);
-+    red_channel_debug(self, "thread_id 0x%" G_GSIZE_MODIFIER "x", (unsigned long)self->priv->thread_id);
- 
-     RedChannelClass *klass = RED_CHANNEL_GET_CLASS(self);
- 
-@@ -479,7 +479,8 @@ void red_channel_remove_client(RedChanne
-                             "pthread_self (0x%" G_GSIZE_MODIFIER "x)."
-                             "If one of the threads is != io-thread && != vcpu-thread, "
-                             "this might be a BUG",
--                            channel->priv->thread_id, pthread_self());
-+                            (unsigned long)channel->priv->thread_id,
-+                            (unsigned long)pthread_self());
-     }
-     spice_return_if_fail(channel);
-     link = g_list_find(channel->priv->clients, rcc);
---- a/server/red-client.c
-+++ b/server/red-client.c
-@@ -180,7 +180,7 @@ void red_client_migrate(RedClient *clien
-                       "pthread_self (0x%" G_GSIZE_MODIFIER "x)."
-                       "If one of the threads is != io-thread && != vcpu-thread,"
-                       " this might be a BUG",
--                      client->thread_id, pthread_self());
-+                      (unsigned long)client->thread_id, (unsigned long)pthread_self());
-     }
-     FOREACH_CHANNEL_CLIENT(client, rcc) {
-         if (red_channel_client_is_connected(rcc)) {
-@@ -199,8 +199,8 @@ void red_client_destroy(RedClient *clien
-                       "pthread_self (0x%" G_GSIZE_MODIFIER "x)."
-                       "If one of the threads is != io-thread && != vcpu-thread,"
-                       " this might be a BUG",
--                      client->thread_id,
--                      pthread_self());
-+                      (unsigned long)client->thread_id,
-+                      (unsigned long)pthread_self());
-     }
-     red_client_set_disconnecting(client);
-     FOREACH_CHANNEL_CLIENT(client, rcc) {
diff --git a/meta-openembedded/meta-networking/recipes-support/spice/spice/0001-Fix-compile-errors-on-Linux-32bit-system.patch b/meta-openembedded/meta-networking/recipes-support/spice/spice/0001-Fix-compile-errors-on-Linux-32bit-system.patch
deleted file mode 100644
index d04bee9..0000000
--- a/meta-openembedded/meta-networking/recipes-support/spice/spice/0001-Fix-compile-errors-on-Linux-32bit-system.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-From a2af005b5d4a62839e56f42a43df793356e78f58 Mon Sep 17 00:00:00 2001
-From: "Hongzhi.Song" <hongzhi.song@windriver.com>
-Date: Tue, 4 Jun 2019 03:58:17 -0400
-Subject: [PATCH] Fix compile errors on Linux 32bit system
-
-There are folowing compile errors on Linux 32bit system:
-
-red-channel.c:207:73: error: format '%x' expects argument of type
-'unsigned int', but argument 7 has type 'long unsigned int' [-Werror=format=]
-|207| red_channel_debug(self, "thread_id 0x%" G_GSIZE_MODIFIER "x",
-                                ~~~~~~~~~~~~~~~~~~~~~^
-                        self->priv->thread_id);
-                ~~~~~~~~~~~~~~~~~~~~~^
-
-On 32bit system, #define G_GSIZE_MODIFIER "". But the type of
-'self->priv->thread_id' is 'unsigned long int' which should match '%lx'
-not '%x'.
-
-So we should recovery the <0x%" G_GSIZE_MODIFIER "x"> to <0x%lx">.
-And others files modification are similar to G_GSIZE_MODIFIER.
-
-Signed-off-by: Hongzhi.Song <hongzhi.song@windriver.com>
----
-Upstream-Status: Submitted [https://lists.freedesktop.org/archives/spice-devel/2019-June/049285.html]
-
- server/red-channel.c    | 6 +++---
- server/red-client.c     | 8 ++++----
- server/red-replay-qxl.c | 2 +-
- 3 files changed, 8 insertions(+), 8 deletions(-)
-
-diff --git a/server/red-channel.c b/server/red-channel.c
-index f81142d..6a03ec2 100644
---- a/server/red-channel.c
-+++ b/server/red-channel.c
-@@ -202,7 +202,7 @@ red_channel_constructed(GObject *object)
- {
-     RedChannel *self = RED_CHANNEL(object);
- 
--    red_channel_debug(self, "thread_id 0x%" G_GSIZE_MODIFIER "x", (unsigned long)self->priv->thread_id);
-+    red_channel_debug(self, "thread_id 0x%lx", (unsigned long)self->priv->thread_id);
- 
-     RedChannelClass *klass = RED_CHANNEL_GET_CLASS(self);
- 
-@@ -473,8 +473,8 @@ void red_channel_remove_client(RedChannel *channel, RedChannelClient *rcc)
- 
-     if (!pthread_equal(pthread_self(), channel->priv->thread_id)) {
-         red_channel_warning(channel,
--                            "channel->thread_id (0x%" G_GSIZE_MODIFIER "x) != "
--                            "pthread_self (0x%" G_GSIZE_MODIFIER "x)."
-+                            "channel->thread_id (0x%lx) != "
-+                            "pthread_self (0x%lx)."
-                             "If one of the threads is != io-thread && != vcpu-thread, "
-                             "this might be a BUG",
-                             (unsigned long)channel->priv->thread_id,
-diff --git a/server/red-client.c b/server/red-client.c
-index 2b859cb..ff4da2a 100644
---- a/server/red-client.c
-+++ b/server/red-client.c
-@@ -174,8 +174,8 @@ void red_client_migrate(RedClient *client)
-     RedChannel *channel;
- 
-     if (!pthread_equal(pthread_self(), client->thread_id)) {
--        spice_warning("client->thread_id (0x%" G_GSIZE_MODIFIER "x) != "
--                      "pthread_self (0x%" G_GSIZE_MODIFIER "x)."
-+        spice_warning("client->thread_id (0x%lx) != "
-+                      "pthread_self (0x%lx)."
-                       "If one of the threads is != io-thread && != vcpu-thread,"
-                       " this might be a BUG",
-                       (unsigned long)client->thread_id, (unsigned long)pthread_self());
-@@ -193,8 +193,8 @@ void red_client_destroy(RedClient *client)
-     RedChannelClient *rcc;
- 
-     if (!pthread_equal(pthread_self(), client->thread_id)) {
--        spice_warning("client->thread_id (0x%" G_GSIZE_MODIFIER "x) != "
--                      "pthread_self (0x%" G_GSIZE_MODIFIER "x)."
-+        spice_warning("client->thread_id (0x%lx) != "
-+                      "pthread_self (0x%lx)."
-                       "If one of the threads is != io-thread && != vcpu-thread,"
-                       " this might be a BUG",
-                       (unsigned long)client->thread_id,
-diff --git a/server/red-replay-qxl.c b/server/red-replay-qxl.c
-index 6d34818..0deb406 100644
---- a/server/red-replay-qxl.c
-+++ b/server/red-replay-qxl.c
-@@ -264,7 +264,7 @@ static replay_t read_binary(SpiceReplay *replay, const char *prefix, size_t *siz
-             exit(1);
-         }
-         if ((ret = inflate(&strm, Z_NO_FLUSH)) != Z_STREAM_END) {
--            spice_error("inflate error %d (disc: %" G_GSSIZE_FORMAT ")",
-+            spice_error("inflate error %d (disc: %li)",
-                         ret, *size - strm.total_out);
-             if (ret == Z_DATA_ERROR) {
-                 /* last operation may be wrong. since we do the recording
--- 
-2.8.1
-
diff --git a/meta-openembedded/meta-networking/recipes-support/spice/spice/0001-configure.ac-explicitly-link-to-jpeg-lib.patch b/meta-openembedded/meta-networking/recipes-support/spice/spice/0001-configure.ac-explicitly-link-to-jpeg-lib.patch
deleted file mode 100644
index 2d05143..0000000
--- a/meta-openembedded/meta-networking/recipes-support/spice/spice/0001-configure.ac-explicitly-link-to-jpeg-lib.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 6ffd9db8e02e411bda2f421abf7951dab6cf0e38 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Fri, 5 Feb 2021 01:43:44 -0800
-Subject: [PATCH] configure.ac: explicitly link to jpeg lib
-
-Since oe has added lib jpeg to the depends, explicitly link to jpeg lib
-to workaround build failure with autoconf 2.7
-
-Upstream-Status: Inappropriate [oe specific]
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- configure.ac | 14 +-------------
- 1 file changed, 1 insertion(+), 13 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 1ce81f91..8bbb50de 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -191,24 +191,12 @@ AC_SUBST(SSL_CFLAGS)
- AC_SUBST(SSL_LIBS)
- AS_VAR_APPEND([SPICE_REQUIRES], [" openssl"])
- 
--AC_CHECK_LIB(jpeg, jpeg_destroy_decompress,
--    AC_MSG_CHECKING([for jpeglib.h])
--    AC_TRY_CPP(
--[#include <stdio.h>
--#undef PACKAGE
--#undef VERSION
--#undef HAVE_STDLIB_H
--#include <jpeglib.h>],
--        JPEG_LIBS='-ljpeg'
--        AC_MSG_RESULT($jpeg_ok),
--	AC_MSG_ERROR([jpeglib.h not found])),
--    AC_MSG_ERROR([libjpeg not found]))
-+JPEG_LIBS='-ljpeg'
- AC_SUBST(JPEG_LIBS)
- 
- AC_CHECK_LIB(z, deflate, Z_LIBS='-lz', AC_MSG_ERROR([zlib not found]))
- AC_SUBST(Z_LIBS)
- 
--
- AC_ARG_ENABLE([manual],
-                AS_HELP_STRING([--enable-manual=@<:@auto/yes/no@:>@],
-                               [Build SPICE manual]),
--- 
-2.29.2
-
diff --git a/meta-openembedded/meta-networking/recipes-support/spice/spice_git.bb b/meta-openembedded/meta-networking/recipes-support/spice/spice_git.bb
index 5732f50..a1f3010 100644
--- a/meta-openembedded/meta-networking/recipes-support/spice/spice_git.bb
+++ b/meta-openembedded/meta-networking/recipes-support/spice/spice_git.bb
@@ -13,49 +13,32 @@
 LICENSE = "LGPL-2.1-or-later"
 LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
 
-PV = "0.14.2+git${SRCPV}"
+PV = "0.15.2"
 
-SRCREV_spice = "7cbd70b931db76c69c89c2d9d5d704f67381a81b"
-SRCREV_spice-common = "4fc4c2db36c7f07b906e9a326a9d3dc0ae6a2671"
+SRCREV = "0c2c1413a8b387ea597a95b6c867470a7c56c8ab"
 
-SRCREV_FORMAT = "spice_spice-common"
-
-SRC_URI = " \
-    git://anongit.freedesktop.org/spice/spice;name=spice;branch=master \
-    git://anongit.freedesktop.org/spice/spice-common;destsuffix=git/subprojects/spice-common;name=spice-common;branch=master \
-    file://0001-Convert-pthread_t-to-be-numeric.patch \
-    file://0001-Fix-compile-errors-on-Linux-32bit-system.patch \
-    file://0001-configure.ac-explicitly-link-to-jpeg-lib.patch \
-"
+SRC_URI = "gitsm://gitlab.freedesktop.org/spice/spice;branch=master;protocol=https"
 
 S = "${WORKDIR}/git"
 
 CVE_STATUS[CVE-2018-10893] = "fixed-version: patched already, caused by inaccurate CPE in the NVD database."
 
-inherit autotools gettext python3native python3-dir pkgconfig
+inherit meson gettext python3native python3-dir pkgconfig
 
-DEPENDS += "spice-protocol jpeg pixman alsa-lib glib-2.0 python3-pyparsing-native python3-six-native glib-2.0-native"
+DEPENDS = "spice-protocol jpeg pixman alsa-lib glib-2.0 gdk-pixbuf lz4 orc python3-pyparsing-native python3-six-native glib-2.0-native zlib"
 DEPENDS:append:class-nativesdk = " nativesdk-openssl"
 
 export PYTHON="${STAGING_BINDIR_NATIVE}/python3-native/python3"
 
-CFLAGS:append = " -Wno-error"
-
 PACKAGECONFIG:class-native = ""
 PACKAGECONFIG:class-nativesdk = ""
-PACKAGECONFIG ?= "sasl"
+PACKAGECONFIG ?= "sasl opus smartcard gstreamer"
 
-PACKAGECONFIG[celt051] = "--enable-celt051,--disable-celt051,celt051"
-PACKAGECONFIG[smartcard] = "--enable-smartcard,--disable-smartcard,libcacard,"
-PACKAGECONFIG[sasl] = "--with-sasl,--without-sasl,cyrus-sasl,"
-PACKAGECONFIG[client] = "--enable-client,--disable-client,,"
-PACKAGECONFIG[gui] = "--enable-gui,--disable-gui,,"
-PACKAGECONFIG[opus] = "--enable-opus,--disable-opus,libopus,"
-PACKAGECONFIG[opengl] = "--enable-opengl,--disable-opengl,,"
-PACKAGECONFIG[xinerama] = "--enable-xinerama,--disable-xinerama,libxinerama,"
+PACKAGECONFIG[gstreamer] = "-Dgstreamer=1.0,-Dgstreamer=no,gstreamer1.0 gstreamer1.0-plugins-base"
+PACKAGECONFIG[smartcard] = "-Dsmartcard=enabled,-Dsmartcard=disabled,libcacard,libcacard"
+PACKAGECONFIG[sasl] = "-Dsasl=true,-Dsasl=false,cyrus-sasl,"
+PACKAGECONFIG[opus] = "-Dopus=enabled,-Dopus=disabled,libopus,"
 
 COMPATIBLE_HOST = '(x86_64|i.86|aarch64).*-linux'
 
 BBCLASSEXTEND = "native nativesdk"
-
-EXTRA_OECONF:append:toolchain-clang = " --disable-werror"
diff --git a/meta-openembedded/meta-networking/recipes-support/spice/usbredir_0.9.0.bb b/meta-openembedded/meta-networking/recipes-support/spice/usbredir_0.13.0.bb
similarity index 61%
rename from meta-openembedded/meta-networking/recipes-support/spice/usbredir_0.9.0.bb
rename to meta-openembedded/meta-networking/recipes-support/spice/usbredir_0.13.0.bb
index 4524910..3a73f9b 100644
--- a/meta-openembedded/meta-networking/recipes-support/spice/usbredir_0.9.0.bb
+++ b/meta-openembedded/meta-networking/recipes-support/spice/usbredir_0.13.0.bb
@@ -5,16 +5,14 @@
     file://COPYING.LIB;md5=4b54a1fd55a448865a0b32d41598759d \
 "
 
-DEPENDS = "libusb1"
+DEPENDS = "libusb1 glib-2.0"
 
-SRCREV = "bca484fc6f206ab9da2f73e8a0118fad45374d4e"
+SRCREV = "5fc0e1c43194d948545941d408f4c10d084eb6ed"
 
-SRC_URI = " \
-    git://anongit.freedesktop.org/spice/usbredir;branch=master \
-"
+SRC_URI = "git://gitlab.freedesktop.org/spice/usbredir;branch=main;protocol=https"
 
 S = "${WORKDIR}/git"
 
-inherit autotools pkgconfig
+inherit meson pkgconfig
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-networking/recipes-support/tcpreplay/tcpreplay/0001-configure.ac-unify-search-dirs-for-pcap-and-add-lib3.patch b/meta-openembedded/meta-networking/recipes-support/tcpreplay/tcpreplay/0001-configure.ac-unify-search-dirs-for-pcap-and-add-lib3.patch
new file mode 100644
index 0000000..709d2cc
--- /dev/null
+++ b/meta-openembedded/meta-networking/recipes-support/tcpreplay/tcpreplay/0001-configure.ac-unify-search-dirs-for-pcap-and-add-lib3.patch
@@ -0,0 +1,82 @@
+From 5f8c78362b3b1e06f5adff2d4b140509c4799894 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Sun, 3 Sep 2023 12:31:59 +0200
+Subject: [PATCH] configure.ac: unify search dirs for pcap and add lib32
+
+* add lib32 because when building lib32-tcpreplay it's
+  impossible to set --with-libpcap so that it would find
+  both include files as well as the library in lib32 directory
+
+* maybe it would be beneficial to split --with-libpcap
+  into --with-libpcap-includedir --with-libpcap-libdir as this
+  already searches in the --with-libpcap value with and
+  without any "lib" prefix, but include files always expect
+  "include" dir there
+
+* most of this code was added in:
+  https://github.com/appneta/tcpreplay/commit/202b8e82f9fd3c84ce5804577caeb36a33baabe7#diff-49473dca262eeab3b4a43002adb08b4db31020d190caaad1594b47f1d5daa810R570
+
+* then search for
+  ${host_cpu} lib/${host_cpu} (without -${host_os} suffix)
+  and ${build_arch}-${host_os} lib/${build_arch}-${host_os}
+  was added, but only for search of dynamic library in:
+  https://github.com/appneta/tcpreplay/commit/c3d5236563985a99f8bb02c3f1bd6950e3929047
+
+* ${build_arch}-${host_os} lib/${build_arch}-${host_os}
+  was later replaced with:
+  lib/${MULTIARCH} ${MULTIARCH}
+  and it was added to static library search as well
+
+  but for dynamic library it was searching in reversed order:
+  ${MULTIARCH} lib/${MULTIARCH}
+  https://github.com/appneta/tcpreplay/commit/ed9e3a818bde04813144014561e62f018c9eb85f
+
+  I don't think this reversed order was intentional, just unify all 4 cases
+  to use the same directories in the same order
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+Upstream-Status: Submitted [https://github.com/appneta/tcpreplay/pull/819]
+---
+ configure.ac | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 387219de..26ba31a5 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -671,7 +671,7 @@ AC_ARG_WITH(libpcap,
+         LPCAPINCDIR=${testdir}
+         if test $dynamic_link = yes; then
+             for ext in .dylib .so .tbd ; do
+-                for dir in . lib lib64 lib/${host_cpu}-${host_os} ${host_cpu}-${host_os} lib/${MULTIARCH} ${MULTIARCH}; do
++                for dir in . lib lib64 lib32 lib/${host_cpu}-${host_os} ${host_cpu}-${host_os} lib/${MULTIARCH} ${MULTIARCH}; do
+                     sharefile=$(ls ${testdir}/$dir/libpcap${ext}* 2> /dev/null | sort | head -n1)
+                     if test -n "${sharefile}"; then
+                         LPCAP_LD_LIBRARY_PATH="$(dirname ${sharefile})"
+@@ -690,7 +690,7 @@ AC_ARG_WITH(libpcap,
+             dnl If dynamic library not found, try static
+             dnl
+             for ext in ${libext} .a .A.tbd ; do
+-                for dir in . lib lib64 lib/${host_cpu}-${host_os} ${host_cpu}-${host_os} lib/${MULTIARCH} ${MULTIARCH}; do
++                for dir in . lib lib64 lib32 lib/${host_cpu}-${host_os} ${host_cpu}-${host_os} lib/${MULTIARCH} ${MULTIARCH}; do
+                     staticfile=$(ls ${testdir}/$dir/libpcap${ext} 2> /dev/null | sort | head -n1)
+                     if test -n "${staticfile}"; then
+                         LPCAPLIB="${staticfile}"
+@@ -771,7 +771,7 @@ AC_ARG_WITH(libpcap,
+                 LPCAPINCDIR="${testdir}/include"
+                 if test $dynamic_link = yes; then
+                     for ext in .dylib .so .tbd; do
+-                        for dir in . lib lib64 ${host_cpu} lib/${host_cpu} ${host_cpu}-${host_os} lib/${host_cpu}-${host_os} ${MULTIARCH} lib/${MULTIARCH}; do
++                        for dir in . lib lib64 lib32 lib/${host_cpu}-${host_os} ${host_cpu}-${host_os} lib/${MULTIARCH} ${MULTIARCH}; do
+                             sharefile=$(ls "${testdir}/$dir/libpcap${ext}" 2> /dev/null | sort | head -n1)
+                             if test -n "${sharefile}"; then
+                                 LPCAPLIB="-L$(dirname ${sharefile}) -lpcap"
+@@ -790,7 +790,7 @@ AC_ARG_WITH(libpcap,
+                     dnl If dynamic library not found, try static
+                     dnl
+                     for ext in ${libext} .a .A.tbd ; do
+-                        for dir in . lib lib64 lib/${host_cpu}-${host_os} ${host_cpu}-${host_os} lib/${MULTIARCH} ${MULTIARCH}; do
++                        for dir in . lib lib64 lib32 lib/${host_cpu}-${host_os} ${host_cpu}-${host_os} lib/${MULTIARCH} ${MULTIARCH}; do
+                             staticfile=$(ls "${testdir}/$dir/libpcap${ext}" 2> /dev/null | sort | head -n1)
+                             if test -n "${staticfile}"; then
+                                 LPCAPLIB="${staticfile}"
diff --git a/meta-openembedded/meta-networking/recipes-support/tcpreplay/tcpreplay_4.4.4.bb b/meta-openembedded/meta-networking/recipes-support/tcpreplay/tcpreplay_4.4.4.bb
index c7d14e2..53f17c9 100644
--- a/meta-openembedded/meta-networking/recipes-support/tcpreplay/tcpreplay_4.4.4.bb
+++ b/meta-openembedded/meta-networking/recipes-support/tcpreplay/tcpreplay_4.4.4.bb
@@ -7,9 +7,10 @@
 LICENSE = "GPL-3.0-only"
 LIC_FILES_CHKSUM = "file://docs/LICENSE;md5=10f0474a2f0e5dccfca20f69d6598ad8"
 
-SRC_URI = "https://github.com/appneta/tcpreplay/releases/download/v${PV}/tcpreplay-${PV}.tar.gz \
-           file://0001-libopts.m4-set-POSIX_SHELL-to-bin-sh.patch \
-          "
+SRC_URI = "https://github.com/appneta/${BPN}/releases/download/v${PV}/${BP}.tar.gz \
+    file://0001-libopts.m4-set-POSIX_SHELL-to-bin-sh.patch \
+    file://0001-configure.ac-unify-search-dirs-for-pcap-and-add-lib3.patch \
+"
 
 SRC_URI[sha256sum] = "44f18fb6d3470ecaf77a51b901a119dae16da5be4d4140ffbb2785e37ad6d4bf"
 
@@ -17,7 +18,7 @@
 
 DEPENDS = "libpcap"
 
-EXTRA_OECONF += "--with-libpcap=${STAGING_DIR_HOST}/usr"
+EXTRA_OECONF += "--with-libpcap=${STAGING_DIR_HOST}${prefix}"
 
 inherit siteinfo autotools-brokensep
 
diff --git a/meta-openembedded/meta-networking/recipes-support/traceroute/traceroute_2.1.2.bb b/meta-openembedded/meta-networking/recipes-support/traceroute/traceroute_2.1.3.bb
similarity index 94%
rename from meta-openembedded/meta-networking/recipes-support/traceroute/traceroute_2.1.2.bb
rename to meta-openembedded/meta-networking/recipes-support/traceroute/traceroute_2.1.3.bb
index 51b581a..ed75ba3 100644
--- a/meta-openembedded/meta-networking/recipes-support/traceroute/traceroute_2.1.2.bb
+++ b/meta-openembedded/meta-networking/recipes-support/traceroute/traceroute_2.1.3.bb
@@ -17,7 +17,7 @@
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/traceroute/traceroute/${BP}/${BP}.tar.gz \
 "
-SRC_URI[sha256sum] = "507c268f2977b4e218ce73e7ebed45ba0d970a8ca4995dd9cbb1ffe8e99b5b1f"
+SRC_URI[sha256sum] = "05ebc7aba28a9100f9bbae54ceecbf75c82ccf46bdfce8b5d64806459a7e0412"
 
 EXTRA_OEMAKE = "VPATH=${STAGING_LIBDIR}"
 LTOEXTRA += "-flto-partition=none"
diff --git a/meta-openembedded/meta-networking/recipes-support/unbound/unbound/0001-contrib-add-yocto-compatible-init-script.patch b/meta-openembedded/meta-networking/recipes-support/unbound/unbound/0001-contrib-add-yocto-compatible-init-script.patch
deleted file mode 100644
index 7bcf972..0000000
--- a/meta-openembedded/meta-networking/recipes-support/unbound/unbound/0001-contrib-add-yocto-compatible-init-script.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-From 26614b6578056ec30b95013592e308bf24d924c2 Mon Sep 17 00:00:00 2001
-From: Beniamin Sandu <beniaminsandu@gmail.com>
-Date: Fri, 20 Nov 2020 23:00:20 +0200
-Subject: [PATCH] contrib: add yocto compatible init script
-
-Signed-off-by: Beniamin Sandu <beniaminsandu@gmail.com>
----
-Upstream-Status: Pending
-
- contrib/unbound.init | 20 ++++++++++----------
- 1 file changed, 10 insertions(+), 10 deletions(-)
-
-diff --git a/contrib/unbound.init b/contrib/unbound.init
-index c5bb52bb..4eba752b 100644
---- a/contrib/unbound.init
-+++ b/contrib/unbound.init
-@@ -19,11 +19,11 @@
- ### END INIT INFO
- 
- # Source function library.
--. /etc/rc.d/init.d/functions
-+. /etc/init.d/functions
- 
- exec="/usr/sbin/unbound"
- prog="unbound"
--config="/var/unbound/unbound.conf"
-+config="/etc/unbound/unbound.conf"
- pidfile="/var/unbound/unbound.pid"
- rootdir="/var/unbound"
- 
-@@ -54,14 +54,14 @@ start() {
- 	[ -e ${rootdir}/dev/log ] || touch ${rootdir}/dev/log
- 	mount --bind -n /dev/log ${rootdir}/dev/log >/dev/null 2>&1;
-     fi;
--    if ! egrep -q '^/[^[:space:]]+[[:space:]]+'${rootdir}'/dev/urandom' /proc/mounts; then
-+    if ! egrep -q '^/[^[:space:]]+[[:space:]]+'${rootdir}'/dev/random' /proc/mounts; then
- 	[ -d ${rootdir}/dev ] || mkdir -p ${rootdir}/dev ;
--	[ -e ${rootdir}/dev/urandom ] || touch ${rootdir}/dev/urandom
--	mount --bind -n /dev/urandom ${rootdir}/dev/urandom >/dev/null 2>&1;
-+	[ -e ${rootdir}/dev/random ] || touch ${rootdir}/dev/random
-+	mount --bind -n /dev/random ${rootdir}/dev/random >/dev/null 2>&1;
-     fi;
- 
-     # if not running, start it up here
--    daemon $exec
-+    daemonize $exec
-     retval=$?
-     echo
-     [ $retval -eq 0 ] && touch $lockfile
-@@ -71,15 +71,15 @@ start() {
- stop() {
-     echo -n $"Stopping $prog: "
-     # stop it here, often "killproc $prog"
--    killproc -p $pidfile $prog
-+    killproc $prog
-     retval=$?
-     echo
-     [ $retval -eq 0 ] && rm -f $lockfile
-     if egrep -q '^/[^[:space:]]+[[:space:]]+'${rootdir}'/dev/log' /proc/mounts; then
- 	umount ${rootdir}/dev/log >/dev/null 2>&1
-     fi;
--    if egrep -q '^/[^[:space:]]+[[:space:]]+'${rootdir}'/dev/urandom' /proc/mounts; then
--	umount ${rootdir}/dev/urandom >/dev/null 2>&1
-+    if egrep -q '^/[^[:space:]]+[[:space:]]+'${rootdir}'/dev/random' /proc/mounts; then
-+	umount ${rootdir}/dev/random >/dev/null 2>&1
-     fi;
-     return $retval
- }
-@@ -99,7 +99,7 @@ force_reload() {
- 
- rh_status() {
-     # run checks to determine if the service is running or use generic status
--    status -p $pidfile $prog
-+    status $prog
- }
- 
- rh_status_q() {
--- 
-2.25.1
-
diff --git a/meta-openembedded/meta-networking/recipes-support/unbound/unbound_1.17.1.bb b/meta-openembedded/meta-networking/recipes-support/unbound/unbound_1.18.0.bb
similarity index 87%
rename from meta-openembedded/meta-networking/recipes-support/unbound/unbound_1.17.1.bb
rename to meta-openembedded/meta-networking/recipes-support/unbound/unbound_1.18.0.bb
index ff3d879..179af80 100644
--- a/meta-openembedded/meta-networking/recipes-support/unbound/unbound_1.17.1.bb
+++ b/meta-openembedded/meta-networking/recipes-support/unbound/unbound_1.18.0.bb
@@ -9,10 +9,8 @@
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=5308494bc0590c0cb036afd781d78f06"
 
-SRC_URI = "git://github.com/NLnetLabs/unbound.git;protocol=https;branch=master \
-	file://0001-contrib-add-yocto-compatible-init-script.patch \
-"
-SRCREV = "90831af981221bbce1cd7b15055562336760e484"
+SRC_URI = "git://github.com/NLnetLabs/unbound.git;protocol=https;branch=master"
+SRCREV = "3795e374107ac7a5a977c516e144a3cd9b0da998"
 
 inherit autotools pkgconfig systemd update-rc.d
 
@@ -39,7 +37,7 @@
 	install -m 0644 ${B}/contrib/unbound.service ${D}${systemd_unitdir}/system
 
 	install -d ${D}${sysconfdir}/init.d
-	install -m 0755 ${S}/contrib/unbound.init ${D}${sysconfdir}/init.d/unbound
+	install -m 0755 ${S}/contrib/unbound.init_yocto ${D}${sysconfdir}/init.d/unbound
 }
 
 SYSTEMD_SERVICE:${PN} = "${BPN}.service"
diff --git a/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_4.0.7.bb b/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_4.0.8.bb
similarity index 97%
rename from meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_4.0.7.bb
rename to meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_4.0.8.bb
index d7df76a..2117e9e 100644
--- a/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_4.0.7.bb
+++ b/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_4.0.8.bb
@@ -17,7 +17,7 @@
 
 UPSTREAM_CHECK_URI = "https://1.as.dl.wireshark.org/src"
 
-SRC_URI[sha256sum] = "a79f7b04cbff823e30452abf4bcb86773d8583eb62d5f71f16c09f019f8a8777"
+SRC_URI[sha256sum] = "16663585c0ffefd5593a6628d4a20cc8241b9703b11283cfe71ead2b750888c8"
 
 PE = "1"
 
diff --git a/meta-openembedded/meta-oe/conf/include/ptest-packagelists-meta-oe.inc b/meta-openembedded/meta-oe/conf/include/ptest-packagelists-meta-oe.inc
index 77dace0..06f3e16 100644
--- a/meta-openembedded/meta-oe/conf/include/ptest-packagelists-meta-oe.inc
+++ b/meta-openembedded/meta-oe/conf/include/ptest-packagelists-meta-oe.inc
@@ -20,6 +20,7 @@
     libee \
     libio-pty-perl \
     libmanette \
+    librelp \
     libssh \
     libtinyxml2 \
     libxml++-5.0 \
diff --git a/meta-openembedded/meta-oe/conf/layer.conf b/meta-openembedded/meta-oe/conf/layer.conf
index 923b722..e5970cf 100644
--- a/meta-openembedded/meta-oe/conf/layer.conf
+++ b/meta-openembedded/meta-oe/conf/layer.conf
@@ -44,7 +44,7 @@
 
 LAYERDEPENDS_openembedded-layer = "core"
 
-LAYERSERIES_COMPAT_openembedded-layer = "mickledore"
+LAYERSERIES_COMPAT_openembedded-layer = "nanbield"
 
 LICENSE_PATH += "${LAYERDIR}/licenses"
 
diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb_git.bb b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb_git.bb
index 0ce58b1..21c3b10 100644
--- a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb_git.bb
+++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb_git.bb
@@ -91,6 +91,7 @@
                  --use-system-zlib \
                  --nostrip \
                  --endian=${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', 'little', 'big', d)} \
+                 --use-hardware-crc32=${@bb.utils.contains('TUNE_FEATURES', 'crc', 'on', 'off', d)} \
                  --wiredtiger='${WIREDTIGER}' \
                  --separate-debug \
                  ${PACKAGECONFIG_CONFARGS}"
diff --git a/meta-openembedded/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools_29.0.6.r14.bb b/meta-openembedded/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools_29.0.6.r14.bb
index caf55ed..fbad5e1 100644
--- a/meta-openembedded/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools_29.0.6.r14.bb
+++ b/meta-openembedded/meta-oe/dynamic-layers/selinux/recipes-devtool/android-tools/android-tools_29.0.6.r14.bb
@@ -12,7 +12,7 @@
 SRCREV_core = "abfd66fafcbb691d7860df059f1df1c9b1ef29da"
 
 SRC_URI = " \
-    git://salsa.debian.org/android-tools-team/android-platform-tools;name=core;protocol=https;nobranch=1 \
+    git://salsa.debian.org/android-tools-team/android-platform-tools;name=core;protocol=https;branch=master \
 "
 
 # Patches copied from android-platform-tools/debian/patches
diff --git a/meta-openembedded/meta-oe/recipes-benchmark/sysbench/sysbench_1.0.20.bb b/meta-openembedded/meta-oe/recipes-benchmark/sysbench/sysbench_1.0.20.bb
index 945e2c3..11e33fe 100644
--- a/meta-openembedded/meta-oe/recipes-benchmark/sysbench/sysbench_1.0.20.bb
+++ b/meta-openembedded/meta-oe/recipes-benchmark/sysbench/sysbench_1.0.20.bb
@@ -4,7 +4,7 @@
 LICENSE = "GPL-2.0-only"
 LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
 
-DEPENDS = "libtool libaio luajit concurrencykit"
+DEPENDS = "libtool luajit concurrencykit"
 
 inherit autotools-brokensep pkgconfig
 
@@ -17,7 +17,7 @@
 
 COMPATIBLE_HOST = "(arm|aarch64|i.86|x86_64).*-linux*"
 
-EXTRA_OECONF += "--enable-largefile --with-system-luajit --with-system-ck --without-gcc-arch"
+EXTRA_OECONF += "--enable-largefile --with-system-luajit --with-system-ck --without-gcc-arch --with-lib-prefix=no"
 PACKAGECONFIG ??= ""
 PACKAGECONFIG[aio] = "--enable-aio,--disable-aio,libaio,"
 PACKAGECONFIG[mysql] = "--with-mysql \
diff --git a/meta-openembedded/meta-oe/recipes-bsp/bolt/bolt_0.9.5.bb b/meta-openembedded/meta-oe/recipes-bsp/bolt/bolt_0.9.5.bb
new file mode 100644
index 0000000..b6ad633
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-bsp/bolt/bolt_0.9.5.bb
@@ -0,0 +1,19 @@
+SUMMARY = "Thunderbolt user-space management tool"
+DESCRIPTION = "Userspace system daemon to enable security levels for Thunderbolt on GNU/Linux"
+HOMEPAGE = "https://gitlab.freedesktop.org/bolt/bolt"
+LICENSE = "LGPL-2.1-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
+
+DEPENDS = "udev polkit dbus"
+REQUIRED_DISTRO_FEATURES = "polkit"
+
+SRC_URI = "git://gitlab.freedesktop.org/bolt/bolt.git;protocol=https;branch=master"
+SRCREV = "5a8a5866a847561566499847d46a97c612b4e6dd"
+
+S = "${WORKDIR}/git"
+
+inherit cmake pkgconfig meson features_check
+
+FILES:${PN} += "${datadir}/dbus-1/* \
+                ${datadir}/polkit-1/* \
+               "
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.6.7.bb b/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.7.5.bb
similarity index 94%
rename from meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.6.7.bb
rename to meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.7.5.bb
index c3ba96f..00053c8 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.6.7.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/gensio/gensio_2.7.5.bb
@@ -5,7 +5,7 @@
                     file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
                     "
 
-SRCREV = "266277aeb39dc2db33e577335236f89ed7ca5918"
+SRCREV = "ecfc538d516cee1d2c7904a645cb74bba48b6514"
 
 SRC_URI = "git://github.com/cminyard/gensio;protocol=https;branch=master"
 
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_2.7.bb b/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_2.8.bb
similarity index 94%
rename from meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_2.7.bb
rename to meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_2.8.bb
index f4e7089..ee310d29 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_2.7.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/iwd/iwd_2.8.bb
@@ -8,7 +8,7 @@
 SRC_URI = "https://www.kernel.org/pub/linux/network/wireless/${BP}.tar.xz \
            file://0001-build-Use-abs_top_srcdir-instead-of-abs_srcdir-for-e.patch \
            "
-SRC_URI[sha256sum] = "289ff47a76fb854e7789c45c5e3e0f15de4adc5fd2e82e47ab08e3564d8961d9"
+SRC_URI[sha256sum] = "a90e621f45b9c2f9021beea0fa6477ee0334fcd2ee34beaab42e31ea0fd3be29"
 
 inherit autotools manpages pkgconfig python3native systemd
 
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5/0001-Fix-aclocal.m4-syntax-error-for-autoconf-2.72.patch b/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5/0001-Fix-aclocal.m4-syntax-error-for-autoconf-2.72.patch
deleted file mode 100644
index 9d0b066..0000000
--- a/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5/0001-Fix-aclocal.m4-syntax-error-for-autoconf-2.72.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 0aa127afa52fd265a4f1bbded1623201390ae96a Mon Sep 17 00:00:00 2001
-From: Julien Rische <jrische@redhat.com>
-Date: Thu, 17 Nov 2022 15:01:24 +0100
-Subject: [PATCH] Fix aclocal.m4 syntax error for autoconf 2.72
-
-An incorrect closure inside KRB5_AC_INET6 is innocuous with autoconf
-versions up to 2.71, but will cause an error at configure time with
-the forthcoming autoconf 2.72.
-
-[ghudson@mit.edu: added more context to commit message]
-
-ticket: 9077 (new)
-tags: pullup
-target_version: 1.20-next
-target_version: 1.19-next
-
-Upstream-Status: Backport [https://github.com/krb5/krb5/commit/d864d740d019fdf2c640460f2aa2760c7fa4d5e9]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/aclocal.m4 | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/aclocal.m4 b/src/aclocal.m4
-index 9920476..3d66a87 100644
---- a/src/aclocal.m4
-+++ b/src/aclocal.m4
-@@ -409,8 +409,8 @@ else
-       [[struct sockaddr_in6 in;
-         AF_INET6;
-         IN6_IS_ADDR_LINKLOCAL(&in.sin6_addr);]])],
--    [krb5_cv_inet6=yes], [krb5_cv_inet6=no])])
--fi
-+    [krb5_cv_inet6=yes], [krb5_cv_inet6=no])
-+fi])
- AC_MSG_RESULT($krb5_cv_inet6)
- if test "$krb5_cv_inet6" = no && test "$ac_cv_func_inet_ntop" = yes; then
- AC_MSG_CHECKING(for IPv6 compile-time support with -DINET6)
--- 
-2.40.0
-
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.20.1.bb b/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.20.2.bb
similarity index 95%
rename from meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.20.1.bb
rename to meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.20.2.bb
index 10fff11..54e6b77 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.20.1.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/krb5/krb5_1.20.2.bb
@@ -14,7 +14,7 @@
 HOMEPAGE = "http://web.mit.edu/Kerberos/"
 SECTION = "console/network"
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${S}/../NOTICE;md5=1d31018dba5a0ef195eb426a1e61f02e"
+LIC_FILES_CHKSUM = "file://${S}/../NOTICE;md5=3c7414a99de5452b8f809ae2753b0855"
 
 inherit autotools-brokensep binconfig perlnative systemd update-rc.d pkgconfig
 
@@ -22,7 +22,6 @@
 SRC_URI = "http://web.mit.edu/kerberos/dist/${BPN}/${SHRT_VER}/${BP}.tar.gz \
            file://debian-suppress-usr-lib-in-krb5-config.patch;striplevel=2 \
            file://crosscompile_nm.patch \
-           file://0001-Fix-aclocal.m4-syntax-error-for-autoconf-2.72.patch;striplevel=2 \
            file://etc/init.d/krb5-kdc \
            file://etc/init.d/krb5-admin-server \
            file://etc/default/krb5-kdc \
@@ -30,8 +29,8 @@
            file://krb5-kdc.service \
            file://krb5-admin-server.service \
 "
-SRC_URI[md5sum] = "73f5780e7b587ccd8b8cfc10c965a686"
-SRC_URI[sha256sum] = "704aed49b19eb5a7178b34b2873620ec299db08752d6a8574f95d41879ab8851"
+SRC_URI[md5sum] = "7ac456e97c4959ebe5c836dc2f5aab2c"
+SRC_URI[sha256sum] = "7d8d687d42aed350c2525cb69a4fc3aa791694da6761dccc1c42c2ee7796b5dd"
 
 CVE_PRODUCT = "kerberos"
 CVE_VERSION = "5-${PV}"
diff --git a/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift_0.18.1.bb b/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift_0.19.0.bb
similarity index 80%
rename from meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift_0.18.1.bb
rename to meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift_0.19.0.bb
index ea5a397..70c9a7a 100644
--- a/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift_0.18.1.bb
+++ b/meta-openembedded/meta-oe/recipes-connectivity/thrift/thrift_0.19.0.bb
@@ -10,7 +10,7 @@
 
 SRC_URI = "https://downloads.apache.org/${BPN}/${PV}/${BP}.tar.gz \
            file://0001-DefineInstallationPaths.cmake-Define-libdir-in-terms.patch"
-SRC_URI[sha256sum] = "04c6f10e5d788ca78e13ee2ef0d2152c7b070c0af55483d6b942e29cff296726"
+SRC_URI[sha256sum] = "d49c896c2724a78701e05cfccf6cf70b5db312d82a17efe951b441d300ccf275"
 
 BBCLASSEXTEND = "native nativesdk"
 
@@ -35,6 +35,8 @@
     -DWITH_OPENSSL=ON \
     -DWITH_QT5=OFF \
     -DWITH_ZLIB=ON \
+    -DFLEX_TARGET_ARG_COMPILE_FLAGS='--noline' \
+    -DBISON_TARGET_ARG_COMPILE_FLAGS='--no-lines' \
 "
 
 PACKAGECONFIG ??= "glib libevent"
@@ -46,6 +48,10 @@
 
 do_install:append () {
     ln -sf thrift ${D}/${bindir}/thrift-compiler
+    # remove absolute paths
+    sed -i -e 's|${RECIPE_SYSROOT}||g' ${D}${libdir}/cmake/thrift/thriftnbTargets.cmake
+    sed -i -e 's|${RECIPE_SYSROOT}||g' ${D}${libdir}/cmake/thrift/thrift_c_glibTargets.cmake
+    sed -i -e 's|${RECIPE_SYSROOT}||g' ${D}${libdir}/cmake/thrift/thrift_c_glib_zlibTargets.cmake
 }
 
 LEAD_SONAME = "libthrift.so.${PV}"
diff --git a/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb b/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
index 0a88f37..c580479 100644
--- a/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
+++ b/meta-openembedded/meta-oe/recipes-core/packagegroups/packagegroup-meta-oe.bb
@@ -925,8 +925,8 @@
     libmicrohttpd \
     yaml-cpp \
 "
-RDEPENDS:packagegroup-meta-oe-support:append:armv7a = " ne10"
-RDEPENDS:packagegroup-meta-oe-support:append:armv7ve = " ne10"
+RDEPENDS:packagegroup-meta-oe-support:append:armv7a = "${@bb.utils.contains("TUNE_FEATURES","neon"," ne10","",d)}"
+RDEPENDS:packagegroup-meta-oe-support:append:armv7ve = "${@bb.utils.contains("TUNE_FEATURES","neon"," ne10","",d)}"
 RDEPENDS:packagegroup-meta-oe-support:append:aarch64 = " ne10"
 RDEPENDS:packagegroup-meta-oe-support:append:x86 = " mcelog mce-inject mce-test vboxguestdrivers"
 RDEPENDS:packagegroup-meta-oe-support:append:x86-64 = " mcelog mce-inject mce-test vboxguestdrivers"
diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-1.2.0/run-ptest b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-1.3.0/run-ptest
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-1.2.0/run-ptest
rename to meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-1.3.0/run-ptest
diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-tools_1.2.0.bb b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-tools_1.3.0.bb
similarity index 88%
rename from meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-tools_1.2.0.bb
rename to meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-tools_1.3.0.bb
index 27b965a..a7e1478 100644
--- a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-tools_1.2.0.bb
+++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++-tools_1.3.0.bb
@@ -8,7 +8,7 @@
 
 DEPENDS += "expat"
 
-SRCREV = "751c1addc4fd2f949a466f488c1b7de2ca3b76dc"
+SRCREV = "0eda85574546d19d9f06d6d5418bc192b3846f96"
 SRC_URI = "git://github.com/Kistler-Group/sdbus-cpp.git;protocol=https;branch=master;subpath=tools"
 
 S = "${WORKDIR}/tools"
diff --git a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++_1.2.0.bb b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++_1.3.0.bb
similarity index 96%
rename from meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++_1.2.0.bb
rename to meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++_1.3.0.bb
index 2fb975c..2ef4d5a 100644
--- a/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++_1.2.0.bb
+++ b/meta-openembedded/meta-oe/recipes-core/sdbus-c++/sdbus-c++_1.3.0.bb
@@ -16,7 +16,7 @@
 
 DEPENDS += "expat"
 
-SRCREV = "751c1addc4fd2f949a466f488c1b7de2ca3b76dc"
+SRCREV = "0eda85574546d19d9f06d6d5418bc192b3846f96"
 
 SRC_URI = "git://github.com/Kistler-Group/sdbus-cpp.git;protocol=https;branch=master"
 SRC_URI += "file://run-ptest"
diff --git a/meta-openembedded/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils_0.0.20.bb b/meta-openembedded/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils_0.0.20.bb
index 0614416..1121e9a 100644
--- a/meta-openembedded/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils_0.0.20.bb
+++ b/meta-openembedded/meta-oe/recipes-core/uutils-coreutils/uutils-coreutils_0.0.20.bb
@@ -5,7 +5,7 @@
 
 inherit cargo cargo-update-recipe-crates
 
-SRC_URI += "git://github.com/uutils/coreutils.git;protocol=https;nobranch=1"
+SRC_URI += "git://github.com/uutils/coreutils.git;protocol=https;branch=main"
 
 # musl not supported because the libc crate does not support functions like "endutxent" at the moment,
 # so src/uucore/src/lib/features.rs disables utmpx when targetting musl.
diff --git a/meta-openembedded/meta-oe/recipes-crypto/libmcrypt/libmcrypt_2.5.8.bb b/meta-openembedded/meta-oe/recipes-crypto/libmcrypt/libmcrypt_2.5.8.bb
index a3d09c7..cfa056d 100644
--- a/meta-openembedded/meta-oe/recipes-crypto/libmcrypt/libmcrypt_2.5.8.bb
+++ b/meta-openembedded/meta-oe/recipes-crypto/libmcrypt/libmcrypt_2.5.8.bb
@@ -12,7 +12,7 @@
 UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/mcrypt/files/Libmcrypt/"
 UPSTREAM_CHECK_REGEX = "Libmcrypt/(?P<pver>\d+(\.\d+)+)/"
 
-inherit autotools-brokensep gettext binconfig
+inherit autotools-brokensep gettext binconfig multilib_script
 
 CFLAGS += "-Wno-error=implicit-int"
 
@@ -28,3 +28,5 @@
 }
 
 CLEANBROKEN = "1"
+
+MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/libmcrypt-config"
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.11.4.bb b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.11.5.bb
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.11.4.bb
rename to meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb-native_10.11.5.bb
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc
index 2fb0bd7..d64d5b0 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc
+++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb.inc
@@ -23,9 +23,10 @@
            file://0001-sql-CMakeLists.txt-fix-gen_lex_hash-not-found.patch \
            file://lfs64.patch \
            file://0001-Add-missing-includes-cstdint-and-cstdio.patch \
+           file://libfmt_make_fmt.patch \
           "
 SRC_URI:append:libc-musl = " file://ppc-remove-glibc-dep.patch"
-SRC_URI[sha256sum] = "ce8dac125568cc5f40da74c17212767c92d8faed81066580b526a485a591127d"
+SRC_URI[sha256sum] = "4c9484048d4d0c71dd076ab33fc2a9ce8510bdf762886de0d63fe52496f3dbbb"
 
 UPSTREAM_CHECK_URI = "https://github.com/MariaDB/server/releases"
 
@@ -67,7 +68,7 @@
 EXTRA_OEMAKE = "'GEN_LEX_HASH=${STAGING_BINDIR_NATIVE}/gen_lex_hash'"
 
 PACKAGECONFIG:class-native = ""
-PACKAGECONFIG[pam] = ",-DWITHOUT_AUTH_PAM=TRUE,libpam"
+PACKAGECONFIG[pam] = "-DPLUGIN_AUTH_PAM=YES,-DPLUGIN_AUTH_PAM=NO,libpam"
 PACKAGECONFIG[valgrind] = "-DWITH_VALGRIND=TRUE,-DWITH_VALGRIND=FALSE,valgrind"
 PACKAGECONFIG[krb5] = ", ,krb5"
 PACKAGECONFIG[lz4] = ", ,lz4"
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/libfmt_make_fmt.patch b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/libfmt_make_fmt.patch
new file mode 100644
index 0000000..4d5f4a6
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb/libfmt_make_fmt.patch
@@ -0,0 +1,68 @@
+Make make_arg work with libfmt 10.1+
+
+This ensures that compiler can find the correct template to use
+Fixes
+
+mariadb-10.11.5/sql/item_strfunc.cc:1429:22: error: no matching functi
+on for call to 'make_arg'
+|  1429 |       vargs[carg-1]= fmt::detail::make_arg<ctx>(args[carg]->val_int());
+|       |                      ^~~~~~~~~~~~~~~~~~~~~~~~~~
+| /mnt/b/yoe/master/build/tmp/work/cortexa72-cortexa53-crypto-yoe-linux/mariadb/10.11.5/recipe-sysroot/usr/include/fmt/core.h:1588:20: note: candidate functio
+n [with Context = fmt::basic_format_context<fmt::appender, char>, T = long long] not viable: expects an lvalue for 1st argument
+|  1588 | FMT_CONSTEXPR auto make_arg(T& val) -> basic_format_arg<Context> {
+|       |                    ^        ~~~~~~
+| /mnt/b/yoe/master/build/tmp/work/cortexa72-cortexa53-crypto-yoe-linux/mariadb/10.11.5/recipe-sysroot/usr/include/fmt/core.h:1559:31: note: candidate templat
+e ignored: invalid explicitly-specified argument for template parameter 'PACKED'
+|  1559 | FMT_CONSTEXPR FMT_INLINE auto make_arg(T& [ 46%] Building C object mysys/CMakeFiles/mysys.dir/my_likely.c.o
+| val) -> value<Context> {
+|       |                               ^
+| /mnt/b/yoe/master/build/tmp/work/cortexa72-cortexa53-crypto-yoe-linux/mariadb/10.11.5/recipe-sysroot/usr/include/fmt/core.h:1596:27: note: candidate templat
+e ignored: invalid explicitly-specified argument for template parameter 'PACKED'
+|  1596 | FMT_CONSTEXPR inline auto make_arg(T& val) -> basic_format_arg<Context> {
+|       |                           ^
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+--- a/cmake/libfmt.cmake
++++ b/cmake/libfmt.cmake
+@@ -33,8 +33,9 @@ MACRO (CHECK_LIBFMT)
+      #include <fmt/format-inl.h>
+      #include <iostream>
+      int main() {
++       int val = 42;
+        fmt::format_args::format_arg arg=
+-         fmt::detail::make_arg<fmt::format_context>(42);
++         fmt::detail::make_arg<fmt::format_context>(val);
+          std::cout << fmt::vformat(\"The answer is {}.\",
+                                    fmt::format_args(&arg, 1));
+      }" HAVE_SYSTEM_LIBFMT)
+--- a/sql/item_strfunc.cc
++++ b/sql/item_strfunc.cc
+@@ -1426,14 +1426,22 @@ String *Item_func_sformat::val_str(Strin
+     switch (args[carg]->result_type())
+     {
+     case INT_RESULT:
+-      vargs[carg-1]= fmt::detail::make_arg<ctx>(args[carg]->val_int());
++      int intval;
++      intval = args[carg]->val_int();
++      vargs[carg-1]= fmt::detail::make_arg<ctx>(intval);
+       break;
+     case DECIMAL_RESULT: // TODO
+     case REAL_RESULT:
++      float fval;
++      int val;
+       if (args[carg]->field_type() == MYSQL_TYPE_FLOAT)
+-        vargs[carg-1]= fmt::detail::make_arg<ctx>((float)args[carg]->val_real());
+-      else
+-        vargs[carg-1]= fmt::detail::make_arg<ctx>(args[carg]->val_real());
++      {
++        fval = (float)args[carg]->val_real();
++        vargs[carg-1]= fmt::detail::make_arg<ctx>(fval);
++      } else {
++        val = args[carg]->val_real();
++        vargs[carg-1]= fmt::detail::make_arg<ctx>(val);
++      }
+       break;
+     case STRING_RESULT:
+       if (!(parg= args[carg]->val_str(&val_arg[carg-1])))
diff --git a/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.11.4.bb b/meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.11.5.bb
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.11.4.bb
rename to meta-openembedded/meta-oe/recipes-dbs/mysql/mariadb_10.11.5.bb
diff --git a/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-configure.ac-bypass-autoconf-2.69-version-check.patch b/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-configure.ac-bypass-autoconf-2.69-version-check.patch
index 3c8187d..fb70b22 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-configure.ac-bypass-autoconf-2.69-version-check.patch
+++ b/meta-openembedded/meta-oe/recipes-dbs/postgresql/files/0001-configure.ac-bypass-autoconf-2.69-version-check.patch
@@ -8,18 +8,17 @@
 Upstream-Status: Inappropriate [disable feature]
 
 Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com>
-
 ---
  configure.ac | 4 ----
  1 file changed, 4 deletions(-)
 
 diff --git a/configure.ac b/configure.ac
-index 998ff31..912e490 100644
+index 524fdf1..3bea642 100644
 --- a/configure.ac
 +++ b/configure.ac
 @@ -19,10 +19,6 @@ m4_pattern_forbid(^PGAC_)dnl to catch undefined macros
  
- AC_INIT([PostgreSQL], [15.3], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/])
+ AC_INIT([PostgreSQL], [15.4], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/])
  
 -m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.69], [], [m4_fatal([Autoconf version 2.69 is required.
 -Untested combinations of 'autoconf' and PostgreSQL versions are not
@@ -28,3 +27,6 @@
  AC_COPYRIGHT([Copyright (c) 1996-2022, PostgreSQL Global Development Group])
  AC_CONFIG_SRCDIR([src/backend/access/common/heaptuple.c])
  AC_CONFIG_AUX_DIR(config)
+-- 
+2.34.1
+
diff --git a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_15.3.bb b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_15.4.bb
similarity index 86%
rename from meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_15.3.bb
rename to meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_15.4.bb
index e1d4989..3aa2662 100644
--- a/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_15.3.bb
+++ b/meta-openembedded/meta-oe/recipes-dbs/postgresql/postgresql_15.4.bb
@@ -11,6 +11,6 @@
    file://0001-postgresql-fix-ptest-failure-of-sysviews.patch \
 "
 
-SRC_URI[sha256sum] = "ffc7d4891f00ffbf5c3f4eab7fbbced8460b8c0ee63c5a5167133b9e6599d932"
+SRC_URI[sha256sum] = "baec5a4bdc4437336653b6cb5d9ed89be5bd5c0c58b94e0becee0a999e63c8f9"
 
 CVE_STATUS[CVE-2017-8806] = "not-applicable-config: Ddoesn't apply to out configuration of postgresql so we can safely ignore it."
diff --git a/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-direct_mmap-Use-off_t-on-linux.patch b/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-direct_mmap-Use-off_t-on-linux.patch
deleted file mode 100644
index 49df528..0000000
--- a/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-direct_mmap-Use-off_t-on-linux.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 45fdade6c0415ec5af3f9312e6311a4ccc682a7b Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 28 Dec 2022 18:24:21 -0800
-Subject: [PATCH] direct_mmap: Use off_t on linux
-
-off64_t is not provided without defining _LARGEFILE64_SOURCE on musl
-this define is not defined automatically like glibc where it gets
-defined when _GNU_SOURCE is defined. Using off_t makes it portable
-across musl/glibc and for using 64bit off_t on glibc 32bit systems
--D_FILE_OFFSET_BITS=64 can be defined during build via CXXFLAGS
-
-Upstream-Status: Submitted [https://github.com/abseil/abseil-cpp/pull/1349]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- absl/base/internal/direct_mmap.h | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/absl/base/internal/direct_mmap.h b/absl/base/internal/direct_mmap.h
-index 815b8d23..fdf88f0b 100644
---- a/absl/base/internal/direct_mmap.h
-+++ b/absl/base/internal/direct_mmap.h
-@@ -72,7 +72,7 @@ namespace base_internal {
- // Platform specific logic extracted from
- // https://chromium.googlesource.com/linux-syscall-support/+/master/linux_syscall_support.h
- inline void* DirectMmap(void* start, size_t length, int prot, int flags, int fd,
--                        off64_t offset) noexcept {
-+                        off_t offset) noexcept {
- #if defined(__i386__) || defined(__ARM_ARCH_3__) || defined(__ARM_EABI__) || \
-     defined(__m68k__) || defined(__sh__) ||                                  \
-     (defined(__hppa__) && !defined(__LP64__)) ||                             \
-@@ -102,7 +102,7 @@ inline void* DirectMmap(void* start, size_t length, int prot, int flags, int fd,
- #else
-   return reinterpret_cast<void*>(
-       syscall(SYS_mmap2, start, length, prot, flags, fd,
--              static_cast<off_t>(offset / pagesize)));
-+              offset / pagesize));
- #endif
- #elif defined(__s390x__)
-   // On s390x, mmap() arguments are passed in memory.
--- 
-2.39.0
-
diff --git a/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb b/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb
index dd7ce4a..f847ebf 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb
@@ -7,15 +7,14 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=df52c6edb7adc22e533b2bacc3bd3915"
 
-PV = "20230125.3"
-SRCREV = "c2435f8342c2d0ed8101cb43adfd605fdc52dca2"
-BRANCH = "lts_2023_01_25"
+PV = "20230802.0"
+SRCREV = "29bf8085f3bf17b84d30e34b3d7ff8248fda404e"
+BRANCH = "lts_2023_08_02"
 SRC_URI = "git://github.com/abseil/abseil-cpp;branch=${BRANCH};protocol=https \
            file://0001-absl-always-use-asm-sgidefs.h.patch             \
            file://0002-Remove-maes-option-from-cross-compilation.patch \
            file://abseil-ppc-fixes.patch \
            file://0003-Remove-neon-option-from-cross-compilation.patch \
-           file://0001-direct_mmap-Use-off_t-on-linux.patch \
           "
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_6.0.20230730.0.bb b/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_6.0.20230827.0.bb
similarity index 95%
rename from meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_6.0.20230730.0.bb
rename to meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_6.0.20230827.0.bb
index fc7d82d..7d25e2e 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_6.0.20230730.0.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/ctags/ctags_6.0.20230827.0.bb
@@ -14,7 +14,7 @@
 
 inherit autotools-brokensep pkgconfig manpages
 
-SRCREV = "06036801ba3c5cc927c4dfd7be9ae08c8086eede"
+SRCREV = "713c557bd30e729be54af12edafd90dc041ce534"
 SRC_URI = "git://github.com/universal-ctags/ctags;branch=master;protocol=https"
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.128.bb b/meta-openembedded/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.132.bb
similarity index 88%
rename from meta-openembedded/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.128.bb
rename to meta-openembedded/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.132.bb
index 592d997..c28a517 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.128.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/debootstrap/debootstrap_1.0.132.bb
@@ -11,7 +11,7 @@
     file://0001-do-not-hardcode-the-full-path-of-dpkg.patch \
 "
 
-SRC_URI[sha256sum] = "09e7f8795fee894b77994213ee3a588e9d8f96ddf5f93afdec91e9a137aa7866"
+SRC_URI[sha256sum] = "d963a465314ac0e8fd5392573def042e6663e8edf3d08ace4bbd0d27ee8431f7"
 
 S = "${WORKDIR}/debootstrap"
 
diff --git a/meta-openembedded/meta-oe/recipes-devtools/jemalloc/files/0001-test-Disable-optimization-with-clang-for-aligned_all.patch b/meta-openembedded/meta-oe/recipes-devtools/jemalloc/files/0001-test-Disable-optimization-with-clang-for-aligned_all.patch
deleted file mode 100644
index 570202e..0000000
--- a/meta-openembedded/meta-oe/recipes-devtools/jemalloc/files/0001-test-Disable-optimization-with-clang-for-aligned_all.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 3fe67deb9fcf0ae3c2ff31a9eccb6a0a9af33b9c Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 14 Jan 2022 09:47:03 -0800
-Subject: [PATCH] test: Disable optimization with clang for aligned_alloc.c
-
-Clang crashes when using glibc 2.35, it works ok with older glibc or
-musl, so its very specific problem. Its reported here
-
-https://github.com/llvm/llvm-project/issues/52765
-
-Until it is fixed, workaround the build failure
-
-Upstream-Status: Inappropriate [Workaround]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- test/integration/aligned_alloc.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/test/integration/aligned_alloc.c b/test/integration/aligned_alloc.c
-index 4375b172..6513bdd9 100644
---- a/test/integration/aligned_alloc.c
-+++ b/test/integration/aligned_alloc.c
-@@ -1,5 +1,7 @@
- #include "test/jemalloc_test.h"
- 
-+#pragma clang optimize off
-+
- #define MAXALIGN (((size_t)1) << 23)
- 
- /*
--- 
-2.34.1
-
diff --git a/meta-openembedded/meta-oe/recipes-devtools/jemalloc/jemalloc_5.3.0.bb b/meta-openembedded/meta-oe/recipes-devtools/jemalloc/jemalloc_5.3.0.bb
index 9ad8326..df499fb 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/jemalloc/jemalloc_5.3.0.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/jemalloc/jemalloc_5.3.0.bb
@@ -16,10 +16,6 @@
 SRC_URI = "git://github.com/jemalloc/jemalloc.git;branch=master;protocol=https \
            file://run-ptest \
            "
-
-# Workaround for https://github.com/llvm/llvm-project/issues/52765
-SRC_URI:append:libc-glibc:toolchain-clang = " file://0001-test-Disable-optimization-with-clang-for-aligned_all.patch "
-
 SRCREV = "54eaed1d8b56b1aa528be3bdd1877e59c56fa90c"
 
 S = "${WORKDIR}/git"
@@ -29,6 +25,9 @@
 EXTRA_AUTORECONF += "--exclude=autoheader"
 
 EXTRA_OECONF:append:libc-musl = " --with-jemalloc-prefix=je_"
+# For some reason VERSION file populated only in tarball distribution.
+# Adding jemalloc version since this recipe is using source code from git tag
+EXTRA_OECONF:append = " --with-version=${PV}-0-g${SRCREV}"
 
 do_install:append() {
 	sed -i -e 's@${STAGING_DIR_HOST}@@g' \
diff --git a/meta-openembedded/meta-oe/recipes-devtools/json-schema-validator/json-schema-validator/0001-Set-Json_validator-Install-off-if-it-finds-it-via-li.patch b/meta-openembedded/meta-oe/recipes-devtools/json-schema-validator/json-schema-validator/0001-Set-Json_validator-Install-off-if-it-finds-it-via-li.patch
new file mode 100644
index 0000000..6e6a4b9
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/json-schema-validator/json-schema-validator/0001-Set-Json_validator-Install-off-if-it-finds-it-via-li.patch
@@ -0,0 +1,29 @@
+From 35939115142db6cd366ab11b29692a0179338ddf Mon Sep 17 00:00:00 2001
+From: Parian Golchin <Parian.Golchin@iris-sensing.com>
+Date: Fri, 18 Aug 2023 15:54:25 +0200
+Subject: [PATCH 1/3] Set Json_validator Install off if it finds it via linking
+
+Upstream-Status: Inappropriate [newer version of cmake in main branch]
+
+Signed-off-by: Parian Golchin <Parian.Golchin@iris-sensing.com>
+---
+ CMakeLists.txt | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f636734..9e4587f 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -55,6 +55,9 @@ option(JSON_VALIDATOR_BUILD_EXAMPLES "Build examples" ${JSON_VALIDATOR_IS_TOP_LE
+ 
+ if(NOT TARGET nlohmann_json::nlohmann_json)
+     find_package(nlohmann_json REQUIRED)
++else()
++    message(STATUS "Found nlohmann_json::nlohmann_json-target - linking with it")
++    set(JSON_VALIDATOR_INSTALL OFF)
+ endif()
+ 
+ target_link_libraries(
+-- 
+2.25.1
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/json-schema-validator/json-schema-validator/0002-Fix-assumed-signed-char.patch b/meta-openembedded/meta-oe/recipes-devtools/json-schema-validator/json-schema-validator/0002-Fix-assumed-signed-char.patch
new file mode 100644
index 0000000..2ee0a39
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/json-schema-validator/json-schema-validator/0002-Fix-assumed-signed-char.patch
@@ -0,0 +1,71 @@
+From 2065015da40cf79dd8ec9e3f186538e17c3b592f Mon Sep 17 00:00:00 2001
+From: Robert Joslyn <robert.joslyn@redrectangle.org>
+Date: Wed, 30 Nov 2022 13:07:29 -0800
+Subject: [PATCH 2/3] Fix assumed signed char
+
+The code assumes that char is signed, but whether char is signed or
+unsigned is implementation defined. On some architectures like PowerPC,
+GCC treats char as unsigned resulting in compile errors:
+
+	smtp-address-validator.cpp:213:1: error: narrowing conversion of '-32' from 'int' to 'char' [-Wnarrowing]
+
+Fix this by specifying signed char.
+
+Upstream-Status: Accepted [https://github.com/pboettch/json-schema-validator/commit/491ac44026e08f31790f5cacffa62e168bb35e32]
+
+Signed-off-by: Parian Golchin <Parian.Golchin@iris-sensing.com>
+---
+ src/smtp-address-validator.cpp | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/src/smtp-address-validator.cpp b/src/smtp-address-validator.cpp
+index a63ead0..3903b51 100644
+--- a/src/smtp-address-validator.cpp
++++ b/src/smtp-address-validator.cpp
+@@ -63,7 +63,7 @@ static const short _address_key_offsets[] = {
+ 	1363, 1365, 1367, 1368, 1370, 1388, 0
+ };
+ 
+-static const char _address_trans_keys[] = {
++static const signed char _address_trans_keys[] = {
+ 	-32, -19, -16, -12, 34, 45, 61, 63,
+ 	-62, -33, -31, -17, -15, -13, 33, 39,
+ 	42, 43, 47, 57, 65, 90, 94, 126,
+@@ -711,7 +711,7 @@ bool is_address(const char* p, const char* pe)
+ 	{
+ 		int _klen;
+ 		unsigned int _trans = 0;
+-		const char * _keys;
++		const signed char * _keys;
+ 		const signed char * _acts;
+ 		unsigned int _nacts;
+ 		_resume: {}
+@@ -728,9 +728,9 @@ bool is_address(const char* p, const char* pe)
+ 			
+ 			_klen = (int)_address_single_lengths[cs];
+ 			if ( _klen > 0 ) {
+-				const char *_lower = _keys;
+-				const char *_upper = _keys + _klen - 1;
+-				const char *_mid;
++				const signed char *_lower = _keys;
++				const signed char *_upper = _keys + _klen - 1;
++				const signed char *_mid;
+ 				while ( 1 ) {
+ 					if ( _upper < _lower ) {
+ 						_keys += _klen;
+@@ -752,9 +752,9 @@ bool is_address(const char* p, const char* pe)
+ 			
+ 			_klen = (int)_address_range_lengths[cs];
+ 			if ( _klen > 0 ) {
+-				const char *_lower = _keys;
+-				const char *_upper = _keys + (_klen<<1) - 2;
+-				const char *_mid;
++				const signed char *_lower = _keys;
++				const signed char *_upper = _keys + (_klen<<1) - 2;
++				const signed char *_mid;
+ 				while ( 1 ) {
+ 					if ( _upper < _lower ) {
+ 						_trans += (unsigned int)_klen;
+-- 
+2.25.1
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/json-schema-validator/json-schema-validator/0003-For-root-value-use-empty-pointer.patch b/meta-openembedded/meta-oe/recipes-devtools/json-schema-validator/json-schema-validator/0003-For-root-value-use-empty-pointer.patch
new file mode 100644
index 0000000..e0d0cf8
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/json-schema-validator/json-schema-validator/0003-For-root-value-use-empty-pointer.patch
@@ -0,0 +1,41 @@
+From fa49c29942763285c51b7d2dea417d9f51e4961f Mon Sep 17 00:00:00 2001
+From: Sven Fink <sven.fink@wipotec.com>
+Date: Fri, 13 Jan 2023 09:15:42 +0100
+Subject: [PATCH 3/3] For root value, use empty pointer
+
+Upstream-Status: Accepted [https://github.com/pboettch/json-schema-validator/commit/59c9d6200bf3cd54b4fc717ec1660c91eddb4d1a]
+
+Signed-off-by: Parian Golchin <Parian.Golchin@iris-sensing.com>
+---
+ src/json-validator.cpp | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/src/json-validator.cpp b/src/json-validator.cpp
+index 7f34553..3c73d98 100644
+--- a/src/json-validator.cpp
++++ b/src/json-validator.cpp
+@@ -553,6 +553,9 @@ class type_schema : public schema
+ 					else_->validate(ptr, instance, patch, e);
+ 			}
+ 		}
++		if (instance.is_null()) {
++			patch.add(nlohmann::json::json_pointer{}, default_value_);
++		}
+ 	}
+ 
+ protected:
+@@ -1134,6 +1137,11 @@ public:
+ 			propertyNames_ = schema::make(attr.value(), root, {"propertyNames"}, uris);
+ 			sch.erase(attr);
+ 		}
++
++		attr = sch.find("default");
++		if (attr != sch.end()) {
++			set_default_value(*attr);
++		}
+ 	}
+ };
+ 
+-- 
+2.25.1
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/json-schema-validator/json-schema-validator/0001-cmake-Use-GNUInstallDirs.patch b/meta-openembedded/meta-oe/recipes-devtools/json-schema-validator/json-schema-validator/0004-cmake-Use-GNUInstallDirs.patch
similarity index 61%
rename from meta-openembedded/meta-oe/recipes-devtools/json-schema-validator/json-schema-validator/0001-cmake-Use-GNUInstallDirs.patch
rename to meta-openembedded/meta-oe/recipes-devtools/json-schema-validator/json-schema-validator/0004-cmake-Use-GNUInstallDirs.patch
index 4b1184a..8199e4f 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/json-schema-validator/json-schema-validator/0001-cmake-Use-GNUInstallDirs.patch
+++ b/meta-openembedded/meta-oe/recipes-devtools/json-schema-validator/json-schema-validator/0004-cmake-Use-GNUInstallDirs.patch
@@ -1,4 +1,4 @@
-From e0b1ad02c678513412aba95a1b2fb4005c3c0452 Mon Sep 17 00:00:00 2001
+From a42d374aa260caec5f683c75d0db322811e51ab9 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Sat, 19 Mar 2022 22:40:49 -0700
 Subject: [PATCH] cmake: Use GNUInstallDirs
@@ -13,10 +13,10 @@
  1 file changed, 5 insertions(+), 3 deletions(-)
 
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index c4cc218..594dc5f 100644
+index 9e4587f..3eff234 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -122,11 +122,13 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
+@@ -93,11 +93,13 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
      endif()
  endif()
  
@@ -32,15 +32,12 @@
              RUNTIME DESTINATION bin)
  
      install(FILES src/nlohmann/json-schema.hpp
-@@ -155,7 +157,7 @@ if(JSON_VALIDATOR_INSTALL)
-     # Set Up the Project Targets and Config Files for CMake
+@@ -129,7 +131,7 @@ endif()
  
-     # Set the install path to the cmake config files
--    set(INSTALL_CMAKE_DIR ${CMAKE_INSTALL_PREFIX}/lib/cmake/${PROJECT_NAME})
-+    set(INSTALL_CMAKE_DIR ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
+ if(JSON_VALIDATOR_INSTALL)
+     # Set the install path to the cmake config files (Relative, so install works correctly under Hunter as well)
+-    set(INSTALL_CMAKE_DIR "lib/cmake/${PROJECT_NAME}")
++    set(INSTALL_CMAKE_DIR ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
+     set(INSTALL_CMAKEDIR_ROOT share/cmake)
  
-     # Create the ConfigVersion file
-     include(CMakePackageConfigHelpers) # write_basic_package_version_file
--- 
-2.35.1
-
+     # Install Targets
diff --git a/meta-openembedded/meta-oe/recipes-devtools/json-schema-validator/json-schema-validator_2.1.0.bb b/meta-openembedded/meta-oe/recipes-devtools/json-schema-validator/json-schema-validator_2.1.0.bb
deleted file mode 100644
index 00d26d7..0000000
--- a/meta-openembedded/meta-oe/recipes-devtools/json-schema-validator/json-schema-validator_2.1.0.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "JSON schema validator for JSON for Modern C++"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c441d022da1b1663c70181a32225d006"
-
-SRC_URI = "git://github.com/pboettch/json-schema-validator;branch=master;protocol=https \
-           file://0001-cmake-Use-GNUInstallDirs.patch \
-          "
-SRCREV = "27fc1d094503623dfe39365ba82581507524545c"
-
-S = "${WORKDIR}/git"
-
-DEPENDS += "nlohmann-json"
-
-inherit cmake
-EXTRA_OECMAKE = "-DBUILD_SHARED_LIBS=ON -DBUILD_EXAMPLES=OFF -DBUILD_TESTS=OFF"
-
diff --git a/meta-openembedded/meta-oe/recipes-devtools/json-schema-validator/json-schema-validator_2.2.0.bb b/meta-openembedded/meta-oe/recipes-devtools/json-schema-validator/json-schema-validator_2.2.0.bb
new file mode 100644
index 0000000..02dcdb2
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/json-schema-validator/json-schema-validator_2.2.0.bb
@@ -0,0 +1,19 @@
+SUMMARY = "JSON schema validator for JSON for Modern C++"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c441d022da1b1663c70181a32225d006"
+
+SRC_URI = "git://github.com/pboettch/json-schema-validator;branch=main;protocol=https \
+           file://0001-Set-Json_validator-Install-off-if-it-finds-it-via-li.patch \
+           file://0002-Fix-assumed-signed-char.patch \
+           file://0003-For-root-value-use-empty-pointer.patch \
+           file://0004-cmake-Use-GNUInstallDirs.patch \
+           "
+
+SRCREV = "6b17782d6a5d1dee5d2c4fc5d25ffb1123913431"
+
+S = "${WORKDIR}/git"
+
+DEPENDS += "nlohmann-json"
+
+inherit cmake
+EXTRA_OECMAKE = "-DBUILD_SHARED_LIBS=ON -DJSON_VALIDATOR_BUILD_TESTS=OFF -DJSON_VALIDATOR_BUILD_EXAMPLES=OFF"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/kconfig-frontends/files/0001-Avoid-using-hard-coded-usr-include-paths.patch b/meta-openembedded/meta-oe/recipes-devtools/kconfig-frontends/files/0001-Avoid-using-hard-coded-usr-include-paths.patch
new file mode 100644
index 0000000..ac20e9b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/kconfig-frontends/files/0001-Avoid-using-hard-coded-usr-include-paths.patch
@@ -0,0 +1,33 @@
+From 2bd01e844096ab4ecaaab8eccfbfdc721a136d01 Mon Sep 17 00:00:00 2001
+From: Mark Hatle <mark.hatle@amd.com>
+Date: Tue, 22 Aug 2023 12:28:01 -0600
+Subject: [PATCH] Avoid using hard coded /usr/include paths
+
+The system could end up using an include path that points to the host
+system instead of the sysroot.  Force the system to use the sysroot.
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Mark Hatle <mark.hatle@amd.com>
+---
+ configure.ac | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 150bc50..4dc684f 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -344,10 +344,6 @@ AS_IF(
+     [test "$need_panel_menu" = "yes" -o "$need_panel_menu" = "auto"],
+     [AC_SUBST([ncurses_nconf_CPPFLAGS])
+      AC_SUBST([ncurses_panel_menu_LIBS])
+-     AS_CASE(
+-        [$CURSES_LOC],
+-        [ncursesw/*],[ncurses_nconf_CPPFLAGS="-I/usr/include/ncursesw"],
+-        [ncurses/*],[ncurses_nconf_CPPFLAGS="-I/usr/include/ncurses"])
+      LIBS_old="$LIBS"
+      LIBS=
+      AC_SEARCH_LIBS(
+-- 
+2.34.1
+
diff --git a/meta-openembedded/meta-oe/recipes-devtools/kconfig-frontends/kconfig-frontends_4.11.0.1.bb b/meta-openembedded/meta-oe/recipes-devtools/kconfig-frontends/kconfig-frontends_4.11.0.1.bb
index 169500f..b894f0b 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/kconfig-frontends/kconfig-frontends_4.11.0.1.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/kconfig-frontends/kconfig-frontends_4.11.0.1.bb
@@ -15,7 +15,8 @@
 RDEPENDS:${PN} += "python3 bash"
 SRC_URI = "git://gitlab.com/ymorin/kconfig-frontends.git;protocol=https;branch=4.11.x \
 	   file://0001-Makefile-ensure-frontends-exits-before-writing-into-.patch \
-           file://0001-Switch-utils-kconfig-diff-to-use-Python-3.patch"
+           file://0001-Switch-utils-kconfig-diff-to-use-Python-3.patch \
+           file://0001-Avoid-using-hard-coded-usr-include-paths.patch"
 
 SRCREV = "f22fce3a308be1c7790ebefc6bbedb33c5f7c86a"
 
diff --git a/meta-openembedded/meta-oe/recipes-devtools/microcom/microcom_2023.09.0.bb b/meta-openembedded/meta-oe/recipes-devtools/microcom/microcom_2023.09.0.bb
new file mode 100644
index 0000000..4bb3e62
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/microcom/microcom_2023.09.0.bb
@@ -0,0 +1,20 @@
+SUMMARY = "Minimalistic terminal program for communicating with devices over a serial connection"
+HOMEPAGE = "https://github.com/pengutronix/microcom"
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=c9f7c009791eaa4b9ca90dc4c9538d24"
+
+SRC_URI = "https://github.com/pengutronix/microcom/releases/download/v${PV}/microcom-${PV}.tar.xz"
+SRC_URI[sha256sum] = "ef42184bb35c9762b3e9c70748696f7478efacad8412a88aaf2d9a6a500231a1"
+
+DEPENDS = "readline"
+
+inherit autotools update-alternatives
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[can] = "--enable-can,--disable-can"
+
+EXTRA_OECONF = "--enable-largefile"
+
+# higher priority than busybox' microcom
+ALTERNATIVE:${PN} = "microcom"
+ALTERNATIVE_PRIORITY[microcom] = "100"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.11.2.bb b/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.11.2.bb
index 6cf2775..74e4094 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.11.2.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/nlohmann-json/nlohmann-json_3.11.2.bb
@@ -6,7 +6,7 @@
 
 CVE_PRODUCT = "json-for-modern-cpp"
 
-SRC_URI = "git://github.com/nlohmann/json.git;nobranch=1;protocol=https \
+SRC_URI = "git://github.com/nlohmann/json.git;branch=develop;protocol=https \
            "
 
 SRCREV = "bc889afb4c5bf1c0d8ee29ef35eaaf4c8bef8a5d"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_18.17.0.bb b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_18.17.1.bb
similarity index 98%
rename from meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_18.17.0.bb
rename to meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_18.17.1.bb
index 1d49218..ee5e848 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_18.17.0.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_18.17.1.bb
@@ -39,7 +39,7 @@
 SRC_URI:append:toolchain-clang:powerpc64le = " \
            file://0001-ppc64-Do-not-use-mminimal-toc-with-clang.patch \
            "
-SRC_URI[sha256sum] = "80c0faadf5ea39c213ccb9aa5c2432977a0f1b5a0b766852abd0de06f2770406"
+SRC_URI[sha256sum] = "f215cf03d0f00f07ac0b674c6819f804c1542e16f152da04980022aeccf5e65a"
 
 S = "${WORKDIR}/node-v${PV}"
 
diff --git a/meta-openembedded/meta-oe/recipes-devtools/perfetto/perfetto.bb b/meta-openembedded/meta-oe/recipes-devtools/perfetto/perfetto.bb
index 4ab7a93..7e9408b 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/perfetto/perfetto.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/perfetto/perfetto.bb
@@ -39,6 +39,9 @@
 SRCREV_libcxxabi = "8dd405113a4f3694e910b79785dd7fb7535a888a"
 SRCREV_libunwind = "aabcd8753678f1536e15eb6385a948470debdae4"
 SRCREV_zlib = "5c85a2da4c13eda07f69d81a1579a5afddd35f59"
+
+SRCREV_FORMAT .="_bionic_core_lzma_libprocinfo_logging_unwinding_protobuf_libbase_libcxx_libcxxabi_libunwind_zlib"
+
 SRC_URI[gn.sha256sum] = "f706aaa0676e3e22f5fc9ca482295d7caee8535d1869f99efa2358177b64f5cd"
 
 require perfetto.inc
diff --git a/meta-openembedded/meta-oe/recipes-devtools/perfetto/perfetto.inc b/meta-openembedded/meta-oe/recipes-devtools/perfetto/perfetto.inc
index de871d4..4b06c5b 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/perfetto/perfetto.inc
+++ b/meta-openembedded/meta-oe/recipes-devtools/perfetto/perfetto.inc
@@ -4,6 +4,7 @@
 SRC_URI = "git://github.com/google/perfetto.git;protocol=https;name=perfetto;nobranch=1"
 
 SRCREV_perfetto = "b8da07095979310818f0efde2ef3c69ea70d62c5"
+SRCREV_FORMAT = "perfetto"
 PV = "31.0"
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php_8.2.8.bb b/meta-openembedded/meta-oe/recipes-devtools/php/php_8.2.9.bb
similarity index 98%
rename from meta-openembedded/meta-oe/recipes-devtools/php/php_8.2.8.bb
rename to meta-openembedded/meta-oe/recipes-devtools/php/php_8.2.9.bb
index 407b1a7..27d3be1 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/php/php_8.2.8.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/php/php_8.2.9.bb
@@ -34,7 +34,7 @@
           "
 
 S = "${WORKDIR}/php-${PV}"
-SRC_URI[sha256sum] = "995ed4009c7917c962d31837a1a3658f36d4af4f357b673c97ffdbe6403f8517"
+SRC_URI[sha256sum] = "48460b994ae7eb5096a310f44d13e865de1771104d4a550d53072be58a6f176c"
 
 CVE_STATUS_GROUPS += "CVE_STATUS_PHP"
 CVE_STATUS_PHP[status] = "fixed-version: The name of this product is exactly the same as github.com/emlog/emlog. CVE can be safely ignored."
diff --git a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.21.12.bb b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.21.12.bb
index 3439330..d95e1c2 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.21.12.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/protobuf/protobuf_3.21.12.bb
@@ -92,8 +92,6 @@
 FILES:${PN}-compiler = "${bindir} ${libdir}/libprotoc${SOLIBS}"
 FILES:${PN}-lite = "${libdir}/libprotobuf-lite${SOLIBS}"
 
-SYSROOT_DIRS += "${bindir}"
-
 RDEPENDS:${PN}-compiler = "${PN}"
 RDEPENDS:${PN}-dev += "${PN}-compiler"
 RDEPENDS:${PN}-ptest = "bash ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3-protobuf', '', d)}"
diff --git a/meta-openembedded/meta-oe/recipes-devtools/rapidjson/rapidjson_git.bb b/meta-openembedded/meta-oe/recipes-devtools/rapidjson/rapidjson_git.bb
index b6ff62b..65294fa 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/rapidjson/rapidjson_git.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/rapidjson/rapidjson_git.bb
@@ -4,7 +4,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://license.txt;md5=ba04aa8f65de1396a7e59d1d746c2125"
 
-SRC_URI = "git://github.com/miloyip/rapidjson.git;nobranch=1;protocol=https"
+SRC_URI = "git://github.com/miloyip/rapidjson.git;branch=master;protocol=https"
 
 SRCREV = "0ccdbf364c577803e2a751f5aededce935314313"
 
diff --git a/meta-openembedded/meta-oe/recipes-devtools/yasm/yasm/CVE-2023-37732.patch b/meta-openembedded/meta-oe/recipes-devtools/yasm/yasm/CVE-2023-37732.patch
new file mode 100644
index 0000000..1ca33f0
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/yasm/yasm/CVE-2023-37732.patch
@@ -0,0 +1,41 @@
+From 2cd3bb50e256f5ed5f611ac611d25fe673f2cec3 Mon Sep 17 00:00:00 2001
+From: Peter Johnson <johnson.peter@gmail.com>
+Date: Fri, 11 Aug 2023 10:49:51 +0000
+Subject: [PATCH] elf.c: Fix NULL deref on bad xsize expression (#234)
+
+CVE: CVE-2023-37732
+
+Upstream-Status: Backport [https://github.com/yasm/yasm/commit/2cd3bb50e256f5ed5f611ac611d25fe673f2cec3]
+
+Signed-off-by: Soumya <soumya.sambu@windriver.com>
+---
+ modules/objfmts/elf/elf.c | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/modules/objfmts/elf/elf.c b/modules/objfmts/elf/elf.c
+index 2486bba8..bab4c9ca 100644
+--- a/modules/objfmts/elf/elf.c
++++ b/modules/objfmts/elf/elf.c
+@@ -482,15 +482,15 @@ elf_symtab_write_to_file(FILE *f, elf_symtab_head *symtab,
+
+         /* get size (if specified); expr overrides stored integer */
+         if (entry->xsize) {
+-            size_intn = yasm_intnum_copy(
+-                yasm_expr_get_intnum(&entry->xsize, 1));
+-            if (!size_intn) {
++            yasm_intnum *intn = yasm_expr_get_intnum(&entry->xsize, 1);
++            if (!intn) {
+                 yasm_error_set(YASM_ERROR_VALUE,
+                                N_("size specifier not an integer expression"));
+                 yasm_errwarn_propagate(errwarns, entry->xsize->line);
+-            }
++            } else
++                size_intn = yasm_intnum_copy(intn);
+         }
+-        else
++        if (!size_intn)
+             size_intn = yasm_intnum_create_uint(entry->size);
+
+         /* get EQU value for constants */
+--
+2.40.0
diff --git a/meta-openembedded/meta-oe/recipes-devtools/yasm/yasm_git.bb b/meta-openembedded/meta-oe/recipes-devtools/yasm/yasm_git.bb
index 19686ff..26540b4 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/yasm/yasm_git.bb
+++ b/meta-openembedded/meta-oe/recipes-devtools/yasm/yasm_git.bb
@@ -13,6 +13,7 @@
 SRC_URI = "git://github.com/yasm/yasm.git;branch=master;protocol=https \
            file://0001-Do-not-use-AC_HEADER_STDC.patch \
            file://CVE-2023-31975.patch \
+           file://CVE-2023-37732.patch \
 "
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.12.0.bb b/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.12.0.bb
index 5dc6458..479c12d 100644
--- a/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.12.0.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/collectd/collectd_5.12.0.bb
@@ -50,7 +50,7 @@
 PACKAGECONFIG[libatasmart] = "--with-libatasmart,--without-libatasmart,libatasmart"
 PACKAGECONFIG[ldap] = "--enable-openldap --with-libldap,--disable-openldap --without-libldap, openldap"
 PACKAGECONFIG[rrdtool] = "--enable-rrdtool,--disable-rrdtool,rrdtool"
-PACKAGECONFIG[rrdcached] = "--enable-rrdcached,--disable-rrdcached,rrdcached"
+PACKAGECONFIG[rrdcached] = "--enable-rrdcached,--disable-rrdcached,rrdtool"
 PACKAGECONFIG[python] = "--enable-python,--disable-python"
 
 EXTRA_OECONF = " \
diff --git a/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20210509.bb b/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20230209.bb
similarity index 86%
rename from meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20210509.bb
rename to meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20230209.bb
index 0b1e7e6..444b97c 100644
--- a/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20210509.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/dialog/dialog_1.3-20230209.bb
@@ -8,8 +8,8 @@
 LICENSE = "LGPL-2.1-only"
 LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343"
 
-SRC_URI = "ftp://ftp.invisible-island.net/${BPN}/${BP}.tgz"
-SRC_URI[sha256sum] = "ae478fe7d5fca82bcf4b51684641e07d2ee68489d319710fe1e81f41a197bd66"
+SRC_URI = "https://invisible-mirror.net/archives/${BPN}/${BP}.tgz"
+SRC_URI[sha256sum] = "0c26282305264be2217f335f3798f48b1dce3cf12c5a076bf231cadf77a6d6a8"
 
 # hardcoded here for use in dialog-static recipe
 S = "${WORKDIR}/dialog-${PV}"
diff --git a/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0002-Don-t-execute-processes-as-a-specific-user.patch b/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0002-Don-t-execute-processes-as-a-specific-user.patch
index 181be25..cfb820c 100644
--- a/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0002-Don-t-execute-processes-as-a-specific-user.patch
+++ b/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0002-Don-t-execute-processes-as-a-specific-user.patch
@@ -18,7 +18,7 @@
 index 8dac1f2..ecf9f9e 100644
 --- a/systemd/dlt-adaptor-udp.service.cmake
 +++ b/systemd/dlt-adaptor-udp.service.cmake
-@@ -21,9 +21,8 @@ Wants=dlt.service
+@@ -19,9 +19,8 @@ Wants=dlt.service
  
  [Service]
  Type=simple
@@ -51,7 +51,7 @@
  [Service]
  Type=simple
 -User=@DLT_USER@
- ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-example-user "Hallo from GENIVI DLT example user application"
+ ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-example-user "Hallo from COVESA DLT example user application"
 -LimitCORE=infinity
 \ No newline at end of file
 +LimitCORE=infinity
@@ -59,7 +59,7 @@
 index c07d447..8f88f00 100644
 --- a/systemd/dlt-receive.service.cmake
 +++ b/systemd/dlt-receive.service.cmake
-@@ -22,6 +22,5 @@ Wants=dlt.service
+@@ -20,6 +20,5 @@ Wants=dlt.service
  
  [Service]
  Type=simple
@@ -72,7 +72,7 @@
 index 0e91f42..1a5b913 100755
 --- a/systemd/dlt-system.service.cmake
 +++ b/systemd/dlt-system.service.cmake
-@@ -22,7 +22,6 @@ Wants=dlt.service
+@@ -20,7 +20,6 @@ Wants=dlt.service
  
  [Service]
  Type=simple
@@ -84,7 +84,7 @@
 index 0b3ee2c..e4753a2 100755
 --- a/systemd/dlt.service.cmake
 +++ b/systemd/dlt.service.cmake
-@@ -21,7 +21,6 @@ Documentation=man:dlt-daemon(1) man:dlt.conf(5)
+@@ -19,7 +19,6 @@ Documentation=man:dlt-daemon(1) man:dlt.conf(5)
  
  [Service]
  Type=simple
diff --git a/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/481.patch b/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/481.patch
deleted file mode 100644
index 52d9de2..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/481.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 95476de802585629c6d89707a9247bbb0c70f6c9 Mon Sep 17 00:00:00 2001
-From: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
-Date: Fri, 28 Apr 2023 22:39:57 +0200
-Subject: [PATCH] Update gtest_dlt_daemon_multiple_files_logging.cpp
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Fix build error due to dlt_vlog not having the correct format string with security build flags enabled
-
-[ 88%] Building CXX object tests/CMakeFiles/gtest_dlt_daemon_multiple_files_logging.dir/gtest_dlt_daemon_multiple_files_logging.cpp.o
-cd dlt-daemon-2.18.9/obj-x86_64-linux-gnu/tests && /usr/bin/c++ -DCONFIGURATION_FILES_DIR=\"/etc\" -DDLT_DAEMON_USE_FIFO_IPC -DDLT_LIB_USE_FIFO_IPC -DDLT_NETWORK_TRACE_ENABLE -DDLT_SYSTEMD_ENABLE -DDLT_SYSTEMD_JOURNAL_ENABLE -DDLT_UNIT_TESTS -DDLT_USER_IPC_PATH=\"/tmp\" -DDLT_USE_IPv6 -DEXTENDED_FILTERING -D_GNU_SOURCE -Idlt-daemon-2.18.9 -Idlt-daemon-2.18.9/obj-x86_64-linux-gnu/include/dlt -Idlt-daemon-2.18.9/include/dlt -Idlt-daemon-2.18.9/src/shared -Idlt-daemon-2.18.9/src/core_dump_handler -Idlt-daemon-2.18.9/src/offlinelogstorage -Idlt-daemon-2.18.9/src/lib -Idlt-daemon-2.18.9/src/daemon -Idlt-daemon-2.18.9/src/console -Idlt-daemon-2.18.9/src/gateway -Idlt-daemon-2.18.9/systemd/3rdparty -g -O2 -ffile-prefix-map=dlt-daemon-2.18.9=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -isystem /include -std=gnu++0x -std=gnu++11 -Wall -Wextra -Wno-variadic-macros -Wno-strict-aliasing -DGTEST_HAS_PTHREAD=1 -MD -MT tests/CMakeFiles/gtest_dlt_daemon_multiple_files_logging.dir/gtest_dlt_daemon_multiple_files_logging.cpp.o -MF CMakeFiles/gtest_dlt_daemon_multiple_files_logging.dir/gtest_dlt_daemon_multiple_files_logging.cpp.o.d -o CMakeFiles/gtest_dlt_daemon_multiple_files_logging.dir/gtest_dlt_daemon_multiple_files_logging.cpp.o -c dlt-daemon-2.18.9/tests/gtest_dlt_daemon_multiple_files_logging.cpp
-dlt-daemon-2.18.9/tests/gtest_dlt_daemon_multiple_files_logging.cpp: In member function ‘virtual void t_dlt_logging_multiple_files_append_reinit_normal_Test::TestBody()’:
-dlt-daemon-2.18.9/tests/gtest_dlt_daemon_multiple_files_logging.cpp:106:13: error: format not a string literal and no format arguments [-Werror=format-security]
-  106 |     dlt_vlog(LOG_INFO, log1);
-      |     ~~~~~~~~^~~~~~~~~~~~~~~~
-dlt-daemon-2.18.9/tests/gtest_dlt_daemon_multiple_files_logging.cpp:110:13: error: format not a string literal and no format arguments [-Werror=format-security]
-  110 |     dlt_vlog(LOG_INFO, log2);
-      |     ~~~~~~~~^~~~~~~~~~~~~~~~
-In file included from /usr/include/string.h:535,
-                 from /usr/include/gtest/internal/gtest-port.h:264,
-                 from /usr/include/gtest/internal/gtest-internal.h:40,
-                 from /usr/include/gtest/gtest.h:62,
-                 from dlt-daemon-2.18.9/tests/gtest_dlt_daemon_multiple_files_logging.cpp:27:
-In function ‘strncpy’,
----
-Upstream-Status: Pending
-
- tests/gtest_dlt_daemon_multiple_files_logging.cpp | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/tests/gtest_dlt_daemon_multiple_files_logging.cpp b/tests/gtest_dlt_daemon_multiple_files_logging.cpp
-index 2da512e1..05b58f2c 100644
---- a/tests/gtest_dlt_daemon_multiple_files_logging.cpp
-+++ b/tests/gtest_dlt_daemon_multiple_files_logging.cpp
-@@ -103,11 +103,11 @@ TEST(t_dlt_logging_multiple_files_append_reinit, normal)
-     const char* log2 = "TWO\n";
- 
-     configure(path, file_name, true, file_size, max_file_size);
--    dlt_vlog(LOG_INFO, log1);
-+    dlt_vlog(LOG_INFO, "%s", log1);
-     EXPECT_NO_THROW(dlt_log_free());
- 
-     configure(path, file_name, true, file_size, max_file_size);
--    dlt_vlog(LOG_INFO, log2);
-+    dlt_vlog(LOG_INFO, "%s", log2);
-     EXPECT_NO_THROW(dlt_log_free());
-     verify_in_one_file(path, file_name, log1, log2);
- }
diff --git a/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/482.patch b/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/482.patch
deleted file mode 100644
index 7c9e222..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/482.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From b38761831670e980a58acb33d611f65255d678ac Mon Sep 17 00:00:00 2001
-From: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
-Date: Fri, 28 Apr 2023 22:46:36 +0200
-Subject: [PATCH] Update CMakeLists.txt
-
-Link systemd libraries, to avoid underlinking of tests with
--DWITH_SYSTEMD_SOCKET_ACTIVATION=ON
-
-[ 82%] Linking CXX executable gtest_dlt_daemon_gateway
-cd dlt-daemon-2.18.9/obj-x86_64-linux-gnu/tests && /usr/bin/cmake -E cmake_link_script CMakeFiles/gtest_dlt_daemon_gateway.dir/link.txt --verbose=1
-/usr/bin/c++ -g -O2 -ffile-prefix-map=dlt-daemon-2.18.9=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -isystem /include -std=gnu++0x -Wl,-Bsymbolic-functions -flto=auto -ffat-lto-objects -flto=auto -Wl,-z,relro -rdynamic CMakeFiles/gtest_dlt_daemon_gateway.dir/gtest_dlt_daemon_gateway.cpp.o CMakeFiles/gtest_dlt_daemon_gateway.dir/__/systemd/3rdparty/sd-daemon.c.o -o gtest_dlt_daemon_gateway  -Wl,-rpath,dlt-daemon-2.18.9/obj-x86_64-linux-gnu/src/daemon ../src/daemon/libdlt_daemon.so /usr/lib/x86_64-linux-gnu/libgtest.a /usr/lib/x86_64-linux-gnu/libgtest_main.a -lrt /usr/lib/x86_64-linux-gnu/libgtest.a
-/usr/bin/ld: ../src/daemon/libdlt_daemon.so: undefined reference to `sd_listen_fds_with_names'
----
-Upstream-Status: Pending
-
- tests/CMakeLists.txt | 10 +++++++++-
- 1 file changed, 9 insertions(+), 1 deletion(-)
-
-diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
-index 579d7308..3155ca9a 100644
---- a/tests/CMakeLists.txt
-+++ b/tests/CMakeLists.txt
-@@ -21,8 +21,16 @@ else()
-     set(LIBRARIES socket)
- endif()
- 
-+if(WITH_SYSTEMD_JOURNAL)
-+ if(SYSTEMD_VERSION LESS 209)
-+  set(SYSTEMD_LIBS systemd-journal systemd-id128)
-+ else(SYSTEMD_VERSION LESS 209)
-+  set(SYSTEMD_LIBS systemd)
-+ endif(SYSTEMD_VERSION LESS 209)
-+endif(WITH_SYSTEMD_JOURNAL)
-+
- set(DLT_LIBRARIES dlt ${GTEST_LIBS} ${LIBRARIES})
--set(DLT_DAEMON_LIBRARIES dlt_daemon ${GTEST_LIBS} ${LIBRARIES})
-+set(DLT_DAEMON_LIBRARIES dlt_daemon ${GTEST_LIBS} ${LIBRARIES} ${SYSTEMD_LIBS})
- set(DLT_CONTROL_LIBRARIES dlt dlt_control_common_lib ${GTEST_LIBS})
- 
- #Receiver used for QTs. add_test() is not required
diff --git a/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/504.patch b/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/504.patch
deleted file mode 100644
index 3290d11..0000000
--- a/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/504.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-Bug: https://bugs.debian.org/1041124
-From 3f8bc3343983697531d52918fb6cdba19593f3a8 Mon Sep 17 00:00:00 2001
-From: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
-Date: Sat, 15 Jul 2023 11:31:55 +0200
-Subject: [PATCH] Update CMakeLists.txt: set required std version to gnu++14
-
-New googletest 1.13.0 defaults to gnu++14, so makes this package FTBFS when building testsuite with this error:
-
-In file included from /usr/include/gtest/gtest-message.h:57,
-                 from /usr/include/gtest/gtest-assertion-result.h:46,
-                 from /usr/include/gtest/gtest.h:64,
-                 from /build/1st/dlt-daemon-2.18.9/tests/gtest_dlt_user.cpp:27:
-/usr/include/gtest/internal/gtest-port.h:270:2: error: #error C++ versions less than C++14 are not supported.
-  270 | #error C++ versions less than C++14 are not supported.
-      |  ^~~~~
-
-Thanks Adrian Bunk <bunk@debian.org> for the report and the fix!
----
- CMakeLists.txt | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 014fc3bb..b2e056db 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -213,7 +213,7 @@ endif()
- 
- add_compile_options(
-     $<$<COMPILE_LANGUAGE:C>:-std=gnu99>
--    $<$<COMPILE_LANGUAGE:CXX>:-std=gnu++11>
-+    $<$<COMPILE_LANGUAGE:CXX>:-std=gnu++14>
-     -Wall
-     -Wextra
-     # -pedantic
diff --git a/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.9.bb b/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.10.bb
similarity index 93%
rename from meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.9.bb
rename to meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.10.bb
index 2d6d187..33fae06 100644
--- a/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.9.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.10.bb
@@ -17,11 +17,8 @@
 SRC_URI = "git://github.com/COVESA/${BPN}.git;protocol=https;branch=master \
            file://0002-Don-t-execute-processes-as-a-specific-user.patch \
            file://0004-Modify-systemd-config-directory.patch \
-           file://481.patch \
-           file://482.patch \
-           file://504.patch \
            "
-SRCREV = "9a2312d3512a27620d41b9a325338b6e7b3d42de"
+SRCREV = "0f2d4cfffada6f8448a2cb27995b38eb4271044f"
 
 S = "${WORKDIR}/git"
 
@@ -49,7 +46,7 @@
 
 inherit autotools gettext cmake pkgconfig systemd
 
-EXTRA_OECMAKE += "-DWITH_EXTENDED_FILTERING=ON -DSYSTEMD_UNITDIR=${systemd_system_unitdir}"
+EXTRA_OECMAKE += "-DWITH_DLT_LOGSTORAGE_GZIP=ON -DWITH_EXTENDED_FILTERING=ON -DSYSTEMD_UNITDIR=${systemd_system_unitdir}"
 
 PACKAGES += "${PN}-systemd"
 SYSTEMD_PACKAGES = "${PN} ${PN}-systemd"
diff --git a/meta-openembedded/meta-oe/recipes-extended/flatpak/flatpak_1.15.4.bb b/meta-openembedded/meta-oe/recipes-extended/flatpak/flatpak_1.15.4.bb
index 163d732..ca0f0e8 100644
--- a/meta-openembedded/meta-oe/recipes-extended/flatpak/flatpak_1.15.4.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/flatpak/flatpak_1.15.4.bb
@@ -4,7 +4,7 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
 
 SRC_URI = " \
-    gitsm://github.com/flatpak/flatpak;protocol=https;nobranch=1 \
+    gitsm://github.com/flatpak/flatpak;protocol=https;branch=main \
     file://0001-flatpak-pc-add-pc_sysrootdir.patch \
 "
 
@@ -12,7 +12,7 @@
 
 S = "${WORKDIR}/git"
 
-inherit meson pkgconfig gettext systemd gobject-introspection python3native useradd mime features_check
+inherit meson pkgconfig gettext systemd gtk-doc gobject-introspection python3native useradd mime features_check
 
 REQUIRED_DISTRO_FEATURES = "polkit"
 
@@ -48,6 +48,9 @@
 EXTRA_OEMESON += "-Dsystem_dbus_proxy=${bindir}/xdg-dbus-proxy -Dsystem_bubblewrap=${bindir}/bwrap"
 
 GIR_MESON_OPTION = ""
+GTKDOC_MESON_OPTION = 'gtkdoc'
+GTKDOC_MESON_ENABLE_FLAG = 'enabled'
+GTKDOC_MESON_DISABLE_FLAG = 'disabled'
 
 PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false,xauth socat-native"
 PACKAGECONFIG[xauth] = "-Dxauth=enabled,-Dxauth=disabled,xauth"
diff --git a/meta-openembedded/meta-oe/recipes-extended/hwloc/files/CVE-2022-47022.patch b/meta-openembedded/meta-oe/recipes-extended/hwloc/files/CVE-2022-47022.patch
new file mode 100644
index 0000000..c981b68
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/hwloc/files/CVE-2022-47022.patch
@@ -0,0 +1,77 @@
+From ac1f8db9a0790d2bf153711ff4cbf6101f89aace Mon Sep 17 00:00:00 2001
+From: Brice Goglin <Brice.Goglin@inria.fr>
+Date: Thu, 31 Aug 2023 09:28:34 +0000
+Subject: [PATCH] linux: handle glibc cpuset allocation failures
+
+Closes #544
+CVE-2022-47022
+
+Signed-off-by: Brice Goglin <Brice.Goglin@inria.fr>
+
+CVE: CVE-2022-47022
+
+Upstream-Status: Backport[https://github.com/open-mpi/hwloc/commit/ac1f8db9a0790d2bf153711ff4cbf6101f89aace]
+
+Signed-off-by: Yogita Urade <yogita.urade@windriver.com>
+---
+ hwloc/topology-linux.c | 15 ++++++++++++++-
+ 1 file changed, 14 insertions(+), 1 deletion(-)
+
+diff --git a/hwloc/topology-linux.c b/hwloc/topology-linux.c
+index c7b63d2..fd6745e 100644
+--- a/hwloc/topology-linux.c
++++ b/hwloc/topology-linux.c
+@@ -870,6 +870,8 @@ hwloc_linux_set_tid_cpubind(hwloc_topology_t topology __hwloc_attribute_unused,
+
+   setsize = CPU_ALLOC_SIZE(last+1);
+   plinux_set = CPU_ALLOC(last+1);
++  if (!plinux_set)
++    return -1;
+
+   CPU_ZERO_S(setsize, plinux_set);
+   hwloc_bitmap_foreach_begin(cpu, hwloc_set)
+@@ -950,7 +952,10 @@ hwloc_linux_find_kernel_nr_cpus(hwloc_topology_t topology)
+   while (1) {
+     cpu_set_t *set = CPU_ALLOC(nr_cpus);
+     size_t setsize = CPU_ALLOC_SIZE(nr_cpus);
+-    int err = sched_getaffinity(0, setsize, set); /* always works, unless setsize is too small */
++    int err;
++    if (!set)
++      return -1; /* caller will return an error, and we'll try again later */
++    err = sched_getaffinity(0, setsize, set); /* always works, unless setsize is too small */
+     CPU_FREE(set);
+     nr_cpus = setsize * 8; /* that's the value that was actually tested */
+     if (!err)
+@@ -978,8 +983,12 @@ hwloc_linux_get_tid_cpubind(hwloc_topology_t topology __hwloc_attribute_unused,
+
+   /* find the kernel nr_cpus so as to use a large enough cpu_set size */
+   kernel_nr_cpus = hwloc_linux_find_kernel_nr_cpus(topology);
++  if (kernel_nr_cpus < 0)
++    return -1;
+   setsize = CPU_ALLOC_SIZE(kernel_nr_cpus);
+   plinux_set = CPU_ALLOC(kernel_nr_cpus);
++  if (!plinux_set)
++    return -1;
+
+   err = sched_getaffinity(tid, setsize, plinux_set);
+
+@@ -1333,6 +1342,8 @@ hwloc_linux_set_thread_cpubind(hwloc_topology_t topology, pthread_t tid, hwloc_c
+
+      setsize = CPU_ALLOC_SIZE(last+1);
+      plinux_set = CPU_ALLOC(last+1);
++     if (!plinux_set)
++       return -1;
+
+      CPU_ZERO_S(setsize, plinux_set);
+      hwloc_bitmap_foreach_begin(cpu, hwloc_set)
+@@ -1424,6 +1435,8 @@ hwloc_linux_get_thread_cpubind(hwloc_topology_t topology, pthread_t tid, hwloc_b
+
+      setsize = CPU_ALLOC_SIZE(last+1);
+      plinux_set = CPU_ALLOC(last+1);
++     if (!plinux_set)
++       return -1;
+
+      err = pthread_getaffinity_np(tid, setsize, plinux_set);
+      if (err) {
+--
+2.35.5
diff --git a/meta-openembedded/meta-oe/recipes-extended/hwloc/hwloc_2.9.2.bb b/meta-openembedded/meta-oe/recipes-extended/hwloc/hwloc_2.9.2.bb
index 487b7da..bcb615f 100644
--- a/meta-openembedded/meta-oe/recipes-extended/hwloc/hwloc_2.9.2.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/hwloc/hwloc_2.9.2.bb
@@ -7,7 +7,9 @@
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://COPYING;md5=79179bb373cd55cbd834463a514fb714"
 
-SRC_URI = "https://www.open-mpi.org/software/${BPN}/v2.9/downloads/${BP}.tar.bz2"
+SRC_URI = "https://www.open-mpi.org/software/${BPN}/v2.9/downloads/${BP}.tar.bz2 \
+           file://CVE-2022-47022.patch \
+          "
 SRC_URI[sha256sum] = "0a87fdf677f8b00b567d229b6320bf6b25c693edaa43e0b85268d999d6b060cf"
 UPSTREAM_CHECK_URI = "https://www.open-mpi.org/software/hwloc/v2.9/"
 
diff --git a/meta-openembedded/meta-oe/recipes-extended/libyang/libyang_2.1.55.bb b/meta-openembedded/meta-oe/recipes-extended/libyang/libyang_2.1.111.bb
similarity index 96%
rename from meta-openembedded/meta-oe/recipes-extended/libyang/libyang_2.1.55.bb
rename to meta-openembedded/meta-oe/recipes-extended/libyang/libyang_2.1.111.bb
index bddf30b..e592356 100644
--- a/meta-openembedded/meta-oe/recipes-extended/libyang/libyang_2.1.55.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/libyang/libyang_2.1.111.bb
@@ -6,7 +6,7 @@
 
 LIC_FILES_CHKSUM = "file://LICENSE;md5=f3916d7d8d42a6508d0ea418cfff10ad"
 
-SRCREV = "9a4e5b2ce30b9696116d6e654ee55caab5aafed8"
+SRCREV = "8b0b910a2dcb7360cb5b0aaefbd1338271d50946"
 
 SRC_URI = "git://github.com/CESNET/libyang.git;branch=master;protocol=https \
            file://0001-test_context-skip-test-case-test_searchdirs.patch \
diff --git a/meta-openembedded/meta-oe/recipes-extended/libzip/libzip_1.10.0.bb b/meta-openembedded/meta-oe/recipes-extended/libzip/libzip_1.10.1.bb
similarity index 91%
rename from meta-openembedded/meta-oe/recipes-extended/libzip/libzip_1.10.0.bb
rename to meta-openembedded/meta-oe/recipes-extended/libzip/libzip_1.10.1.bb
index b500f26..a314efc 100644
--- a/meta-openembedded/meta-oe/recipes-extended/libzip/libzip_1.10.0.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/libzip/libzip_1.10.1.bb
@@ -21,6 +21,6 @@
 
 SRC_URI = "https://libzip.org/download/libzip-${PV}.tar.xz"
 
-SRC_URI[sha256sum] = "cd2a7ac9f1fb5bfa6218272d9929955dc7237515bba6e14b5ad0e1d1e2212b43"
+SRC_URI[sha256sum] = "dc3c8d5b4c8bbd09626864f6bcf93de701540f761d76b85d7c7d710f4bd90318"
 
 BBCLASSEXTEND += "native"
diff --git a/meta-openembedded/meta-oe/recipes-extended/logwatch/logwatch_7.8.bb b/meta-openembedded/meta-oe/recipes-extended/logwatch/logwatch_7.9.bb
similarity index 96%
rename from meta-openembedded/meta-oe/recipes-extended/logwatch/logwatch_7.8.bb
rename to meta-openembedded/meta-oe/recipes-extended/logwatch/logwatch_7.9.bb
index 187e794..00dc2fb 100644
--- a/meta-openembedded/meta-oe/recipes-extended/logwatch/logwatch_7.8.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/logwatch/logwatch_7.9.bb
@@ -12,7 +12,7 @@
 RDEPENDS:${PN} = "perl"
 
 SRC_URI = "http://jaist.dl.sourceforge.net/project/${BPN}/${BP}/${BP}.tar.gz"
-SRC_URI[sha256sum] = "b1df31779306c2c87d595816305c89c19c382edf9ebbfce03143f567e580be42"
+SRC_URI[sha256sum] = "49d2f1e99c9770f56fc3e82a46880e8900b874dfba593e45f599c89fd255738e"
 
 do_install() {
     install -m 0755 -d ${D}${sysconfdir}/logwatch/scripts
diff --git a/meta-openembedded/meta-oe/recipes-extended/minio/minio_git.bb b/meta-openembedded/meta-oe/recipes-extended/minio/minio_git.bb
index bfd313d..f278a72 100644
--- a/meta-openembedded/meta-oe/recipes-extended/minio/minio_git.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/minio/minio_git.bb
@@ -6,7 +6,7 @@
                cloud storage service (AWS Signature v2 and v4). \
 "
 
-SRC_URI = "git://github.com/minio/mc;nobranch=1;name=mc;protocol=https \
+SRC_URI = "git://github.com/minio/mc;branch=master;name=mc;protocol=https \
            file://modules.txt \
           "
 
@@ -14,6 +14,8 @@
 
 SRCREV_mc = "01b87ecc02ffad47dfe13c2154ac31db3e3115df"
 
+SRCREV_FORMAT .= "_mc"
+
 GO_IMPORT = "import"
 
 LICENSE = "AGPL-3.0-only"
diff --git a/meta-openembedded/meta-oe/recipes-extended/qad/qad/0001-Fix-warnings-found-by-clang-compiler.patch b/meta-openembedded/meta-oe/recipes-extended/qad/qad/0001-Fix-warnings-found-by-clang-compiler.patch
new file mode 100644
index 0000000..7a9937d
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/qad/qad/0001-Fix-warnings-found-by-clang-compiler.patch
@@ -0,0 +1,53 @@
+From 2e871d6d6d13955ff363ff756adfdd257e72e9e8 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 10 Aug 2023 23:58:43 -0700
+Subject: [PATCH] Fix warnings found by clang compiler
+
+Fix diagnostics found with -Wdeprecated-non-prototype using clang
+compiler
+
+e.g.
+| ../git/src/server.c:108:35: error: passing arguments to a function without a prototype is deprecated in all versions of C and is not supported in C2x [-Werror,-Wdeprecated-non-prototype]  |   108 |   if (backend->input_backend->move(x, y, event) < 0) {                                                                                                                              |       |                                   ^
+
+Upstream-Status: Submitted [https://gitlab.com/CodethinkLabs/qad/qad/-/merge_requests/33]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ include/backend.h                 | 8 ++++----
+ src/backends/input/input_common.h | 2 +-
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/include/backend.h b/include/backend.h
+index 8f4c7c1..4bfe510 100644
+--- a/include/backend.h
++++ b/include/backend.h
+@@ -41,10 +41,10 @@ typedef struct qad_screen_buffer_s {
+ } qad_screen_buffer_t;
+ 
+ typedef struct qad_backend_input_s {
+-  int (*move)();
+-  int (*button)();
+-  int (*touch)();
+-  int (*swipe)();
++  int (*move)(int, int, int);
++  int (*button)(int, int);
++  int (*touch)(int, int, int, int);
++  int (*swipe)(int, int, int, int, int, int);
+   void *data;
+ } qad_backend_input_t;
+ 
+diff --git a/src/backends/input/input_common.h b/src/backends/input/input_common.h
+index 8e099a5..f2ea73f 100644
+--- a/src/backends/input/input_common.h
++++ b/src/backends/input/input_common.h
+@@ -28,7 +28,7 @@
+ #define BTN_DOWN 1
+ #define BTN_UP 0
+ 
+-qad_backend_input_t *create_input_backend();
++qad_backend_input_t *create_input_backend(char input_type[]);
+ 
+ // int move(int x, int y, int event);
+ 
+-- 
+2.41.0
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/qad/qad_git.bb b/meta-openembedded/meta-oe/recipes-extended/qad/qad_git.bb
new file mode 100644
index 0000000..056f28a
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/qad/qad_git.bb
@@ -0,0 +1,28 @@
+SUMMARY = "Simple, REST-API compliant daemon for automated testing"
+DESCRIPTION = " This is a simple, REST-API compliant daemon which makes \
+automated testing on hardware possible by removing the need for physical \
+intervention as Q.A.D allows inputs to be injected via http/https requests. \
+This both eliminates the need to physically interact with the rig and allows \
+for tasks to be carried out entirely automatically."
+
+LICENSE = "MIT & GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=402cce7fbcb6ea9ab5a0378dd7f40806 \
+                    file://openqa/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+                   "
+SRC_URI = "git://gitlab.com/CodethinkLabs/qad/qad;branch=main;protocol=https \
+           file://0001-Fix-warnings-found-by-clang-compiler.patch"
+
+SRCREV = "ae0c099c1fdc0ca6f5d631cea6b302937122b362"
+
+S = "${WORKDIR}/git"
+PV = "0.0+git${SRCPV}"
+
+DEPENDS = "cjson libmicrohttpd libdrm libpng"
+
+FILES:${PN} += "qad"
+inherit meson pkgconfig
+
+do_install () {
+    install -d ${D}${bindir}
+    install -p -m 755 qad ${D}${bindir}/
+}
diff --git a/meta-openembedded/meta-oe/recipes-extended/qcbor/qcbor_git.bb b/meta-openembedded/meta-oe/recipes-extended/qcbor/qcbor_git.bb
new file mode 100644
index 0000000..9c562d5
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/qcbor/qcbor_git.bb
@@ -0,0 +1,32 @@
+DESCRIPTION = " \
+    QCBOR is a powerful, commercial-quality CBOR encoder/decoder that \
+    implements these RFCs: RFC8949, RFC7049, RFC8742, RFC8943 \
+"
+
+HOMEPAGE = "https://github.com/laurencelundblade/QCBOR"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://README.md;beginline=442;endline=463;md5=b55643261d6d221dac2b7a395105af62"
+
+SRC_URI = "git://github.com/laurencelundblade/QCBOR;protocol=https;branch=master"
+
+SRCREV = "44754f738c6534a4304a83d4c6e97b3d3193d887"
+
+PV = "1.2+git${SRCPV}"
+
+S = "${WORKDIR}/git"
+
+inherit pkgconfig
+
+CFLAGS += " \
+    -DUSEFULBUF_DISABLE_ALL_FLOAT \
+"
+
+do_install(){
+    install -d ${D}${libdir}
+    install -m 755 ${S}/libqcbor.a ${D}${libdir}/
+    install -d ${D}${includedir}/qcbor
+    install -m 644 ${S}/inc/*.h ${D}${includedir}
+    install -m 644 ${S}/inc/qcbor/*.h ${D}${includedir}/qcbor
+}
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.12/0001-src-Do-not-reset-FINAL_LIBS.patch b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.0/0001-src-Do-not-reset-FINAL_LIBS.patch
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.12/0001-src-Do-not-reset-FINAL_LIBS.patch
rename to meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.0/0001-src-Do-not-reset-FINAL_LIBS.patch
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.12/0006-Define-correct-gregs-for-RISCV32.patch b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.0/0006-Define-correct-gregs-for-RISCV32.patch
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.12/0006-Define-correct-gregs-for-RISCV32.patch
rename to meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.0/0006-Define-correct-gregs-for-RISCV32.patch
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.12/GNU_SOURCE-7.patch b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.0/GNU_SOURCE-7.patch
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.12/GNU_SOURCE-7.patch
rename to meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.0/GNU_SOURCE-7.patch
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.12/hiredis-use-default-CC-if-it-is-set.patch b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.0/hiredis-use-default-CC-if-it-is-set.patch
similarity index 82%
rename from meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.12/hiredis-use-default-CC-if-it-is-set.patch
rename to meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.0/hiredis-use-default-CC-if-it-is-set.patch
index 250fdd0..5b9b71e 100644
--- a/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.12/hiredis-use-default-CC-if-it-is-set.patch
+++ b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.0/hiredis-use-default-CC-if-it-is-set.patch
@@ -1,4 +1,4 @@
-From 9da2d12c9fabfff4b4460accf887658db89687e4 Mon Sep 17 00:00:00 2001
+From 41efa2f0cf08c91ff935bbb2d16ab233df7f5811 Mon Sep 17 00:00:00 2001
 From: Venture Research <tech@ventureresearch.com>
 Date: Fri, 8 Feb 2013 17:39:52 -0600
 Subject: [PATCH] hiredis: use default CC if it is set
@@ -18,21 +18,19 @@
 Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
 
 ---
-Upstream-Status: Pending
-
  deps/hiredis/Makefile | 2 --
  1 file changed, 2 deletions(-)
 
 diff --git a/deps/hiredis/Makefile b/deps/hiredis/Makefile
-index 7e41c97..54717e3 100644
+index bd2106b..9ce768d 100644
 --- a/deps/hiredis/Makefile
 +++ b/deps/hiredis/Makefile
-@@ -42,8 +42,6 @@ endef
+@@ -36,8 +36,6 @@ endef
  export REDIS_TEST_CONFIG
  
  # Fallback to gcc when $CC is not in $PATH.
 -CC:=$(shell sh -c 'type $${CC%% *} >/dev/null 2>/dev/null && echo $(CC) || echo gcc')
 -CXX:=$(shell sh -c 'type $${CXX%% *} >/dev/null 2>/dev/null && echo $(CXX) || echo g++')
  OPTIMIZATION?=-O3
- WARNINGS=-Wall -W -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers
+ WARNINGS=-Wall -Wextra -Werror -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers
  DEBUG_FLAGS?= -g -ggdb
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.12/init-redis-server b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.0/init-redis-server
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.12/init-redis-server
rename to meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.0/init-redis-server
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.12/lua-update-Makefile-to-use-environment-build-setting.patch b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.0/lua-update-Makefile-to-use-environment-build-setting.patch
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.12/lua-update-Makefile-to-use-environment-build-setting.patch
rename to meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.0/lua-update-Makefile-to-use-environment-build-setting.patch
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.12/oe-use-libc-malloc.patch b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.0/oe-use-libc-malloc.patch
similarity index 83%
rename from meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.12/oe-use-libc-malloc.patch
rename to meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.0/oe-use-libc-malloc.patch
index bf05fc4..be186b5 100644
--- a/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.12/oe-use-libc-malloc.patch
+++ b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.0/oe-use-libc-malloc.patch
@@ -1,4 +1,4 @@
-From 88da6b19ecd00747769663e913aba5e9569c489d Mon Sep 17 00:00:00 2001
+From 38a5f403b033d03cdac3ff814687d83f61527d8e Mon Sep 17 00:00:00 2001
 From: Venture Research <tech@ventureresearch.com>
 Date: Wed, 6 Feb 2013 20:51:02 -0600
 Subject: [PATCH] hack to force use of libc malloc
@@ -15,13 +15,11 @@
 Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
 
 ---
-Upstream-Status: Pending
-
  src/Makefile | 3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)
 
 diff --git a/src/Makefile b/src/Makefile
-index 2a0d74d..ddabd44 100644
+index ecbd275..39decee 100644
 --- a/src/Makefile
 +++ b/src/Makefile
 @@ -13,7 +13,8 @@
@@ -32,5 +30,5 @@
 +# use fake uname option to force use of generic libc
 +uname_S := "USE_LIBC_MALLOC"
  uname_M := $(shell sh -c 'uname -m 2>/dev/null || echo not')
- OPTIMIZATION?=-O2
- DEPENDENCY_TARGETS=hiredis linenoise lua hdr_histogram
+ CLANG := $(findstring clang,$(shell sh -c '$(CC) --version | head -1'))
+ OPTIMIZATION?=-O3
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.12/redis.conf b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.0/redis.conf
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.12/redis.conf
rename to meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.0/redis.conf
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.12/redis.service b/meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.0/redis.service
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-extended/redis/redis-7.0.12/redis.service
rename to meta-openembedded/meta-oe/recipes-extended/redis/redis-7.2.0/redis.service
diff --git a/meta-openembedded/meta-oe/recipes-extended/redis/redis_7.0.12.bb b/meta-openembedded/meta-oe/recipes-extended/redis/redis_7.2.0.bb
similarity index 96%
rename from meta-openembedded/meta-oe/recipes-extended/redis/redis_7.0.12.bb
rename to meta-openembedded/meta-oe/recipes-extended/redis/redis_7.2.0.bb
index 321b90d..4f1c97b 100644
--- a/meta-openembedded/meta-oe/recipes-extended/redis/redis_7.0.12.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/redis/redis_7.2.0.bb
@@ -17,7 +17,7 @@
            file://GNU_SOURCE-7.patch \
            file://0006-Define-correct-gregs-for-RISCV32.patch \
            "
-SRC_URI[sha256sum] = "9dd83d5b278bb2bf0e39bfeb75c3e8170024edbaf11ba13b7037b2945cf48ab7"
+SRC_URI[sha256sum] = "8b12e242647635b419a0e1833eda02b65bf64e39eb9e509d9db4888fb3124943"
 
 inherit autotools-brokensep update-rc.d systemd useradd
 
diff --git a/meta-openembedded/meta-oe/recipes-extended/rsyslog/files/0001-Fix-function-inline-errors-in-debug-optimization-Og.patch b/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp/0001-Fix-function-inline-errors-in-debug-optimization-Og.patch
similarity index 100%
rename from meta-openembedded/meta-oe/recipes-extended/rsyslog/files/0001-Fix-function-inline-errors-in-debug-optimization-Og.patch
rename to meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp/0001-Fix-function-inline-errors-in-debug-optimization-Og.patch
diff --git a/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp/0001-tcp-fix-some-compiler-warnings-with-enable-tls-opens.patch b/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp/0001-tcp-fix-some-compiler-warnings-with-enable-tls-opens.patch
new file mode 100644
index 0000000..3ce5926
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp/0001-tcp-fix-some-compiler-warnings-with-enable-tls-opens.patch
@@ -0,0 +1,88 @@
+From 6e9b27f04132287463c89d3be0ce4f506944920d Mon Sep 17 00:00:00 2001
+From: Patrick Williams <patrick@stwcx.xyz>
+Date: Fri, 3 Feb 2023 16:11:29 -0600
+Subject: [PATCH] tcp: fix some compiler warnings with enable-tls-openssl
+
+When --enable-tls=no and --enable-tls-openssl=yes, the following
+compiler errors are reported:
+
+```
+| ../../git/src/tcp.c:3765:1: error: no previous declaration for 'relpTcpGetRtryDirection_gtls' [-Werror=missing-declarations]
+|  3765 | relpTcpGetRtryDirection_gtls(LIBRELP_ATTR_UNUSED relpTcp_t *const pThis)
+|       | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
+| ../../git/src/tcp.c:3583:1: error: 'relpTcpChkPeerName' defined but not used [-Werror=unused-function]
+|  3583 | relpTcpChkPeerName(NOTLS_UNUSED relpTcp_t *const pThis, NOTLS_UNUSED void* cert)
+|       | ^~~~~~~~~~~~~~~~~~
+```
+
+Fix these by:
+    1. Add static on the openssl path for relpTcpGetRtryDirection_gtls.
+    2. Move the relpTcpChkPeerName forward declaration to another ifdef
+       leg.
+    3. Wrap relpTcpChkPeerName in gnutls-based ifdef.
+    4. Remove relpTcpChkPeerName_gtls from openssl path.
+
+Upstream-Status: Backport [https://github.com/rsyslog/librelp/pull/255]
+Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
+---
+ src/tcp.c | 11 ++++-------
+ 1 file changed, 4 insertions(+), 7 deletions(-)
+
+diff --git a/src/tcp.c b/src/tcp.c
+index 7a75cc4..18cffda 100644
+--- a/src/tcp.c
++++ b/src/tcp.c
+@@ -132,12 +132,12 @@ callOnErr(const relpTcp_t *__restrict__ const pThis,
+ static int LIBRELP_ATTR_NONNULL() relpTcpGetCN(char *const namebuf, const size_t lenNamebuf, const char *const szDN);
+ #ifdef HAVE_GNUTLS_CERTIFICATE_SET_VERIFY_FUNCTION
+ static int relpTcpVerifyCertificateCallback(gnutls_session_t session);
++static int relpTcpChkPeerName(relpTcp_t *const pThis, void* cert);
+ #endif /* #ifdef HAVE_GNUTLS_CERTIFICATE_SET_VERIFY_FUNCTION */
+ #if defined(HAVE_GNUTLS_CERTIFICATE_SET_VERIFY_FUNCTION) || defined(ENABLE_TLS_OPENSSL)
+ static void relpTcpChkOnePeerName(relpTcp_t *const pThis, char *peername, int *pbFoundPositiveMatch);
+ static int relpTcpAddToCertNamesBuffer(relpTcp_t *const pThis, char *const buf,
+ 	const size_t buflen, int *p_currIdx, const char *const certName);
+-static int relpTcpChkPeerName(relpTcp_t *const pThis, void* cert);
+ #endif /* defined(HAVE_GNUTLS_CERTIFICATE_SET_VERIFY_FUNCTION) || defined(ENABLE_TLS_OPENSSL) */
+ 
+ 
+@@ -2820,11 +2820,6 @@ relpTcpLstnInitTLS_gtls(LIBRELP_ATTR_UNUSED relpTcp_t *const pThis)
+ {
+ 	return RELP_RET_ERR_INTERNAL;
+ }
+-static int
+-relpTcpChkPeerName_gtls(LIBRELP_ATTR_UNUSED relpTcp_t *const pThis, LIBRELP_ATTR_UNUSED void *vcert)
+-{
+-	return RELP_RET_ERR_INTERNAL;
+-}
+ #endif /* defined(ENABLE_TLS)*/
+ 
+ 
+@@ -3579,6 +3574,7 @@ finalize_it:
+ 
+ }
+ 
++#ifdef HAVE_GNUTLS_CERTIFICATE_SET_VERIFY_FUNCTION
+ static int
+ relpTcpChkPeerName(NOTLS_UNUSED relpTcp_t *const pThis, NOTLS_UNUSED void* cert)
+ {
+@@ -3592,6 +3588,7 @@ relpTcpChkPeerName(NOTLS_UNUSED relpTcp_t *const pThis, NOTLS_UNUSED void* cert)
+ 	#endif /* #ifdef  WITH_TLS*/
+ 	LEAVE_RELPFUNC;
+ }
++#endif
+ 
+ static relpRetVal LIBRELP_ATTR_NONNULL()
+ relpTcpAcceptConnReqInitTLS(NOTLS_UNUSED relpTcp_t *const pThis, NOTLS_UNUSED relpSrv_t *const pSrv)
+@@ -3761,7 +3758,7 @@ relpTcpGetRtryDirection_gtls(relpTcp_t *const pThis)
+ 	return gnutls_record_get_direction(pThis->session);
+ }
+ #else /* #ifdef ENABLE_TLS */
+-relpRetVal LIBRELP_ATTR_NONNULL()
++static relpRetVal LIBRELP_ATTR_NONNULL()
+ relpTcpGetRtryDirection_gtls(LIBRELP_ATTR_UNUSED relpTcp_t *const pThis)
+ {
+ 	return RELP_RET_ERR_INTERNAL;
+-- 
+2.41.0
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp/0001-tests-Fix-callback-prototype.patch b/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp/0001-tests-Fix-callback-prototype.patch
new file mode 100644
index 0000000..ba08192
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp/0001-tests-Fix-callback-prototype.patch
@@ -0,0 +1,49 @@
+From 2a7e26510cf9276b7e640ca8282cc1c5e46075d0 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 15 Aug 2023 11:59:40 -0700
+Subject: [PATCH] tests: Fix callback prototype
+
+clang errors about it
+
+| ../../git/tests/receive.c:71:34: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes]
+|    71 | hdlr_enable(int sig, void (*hdlr)())
+|       |                                  ^
+|       |                                   void
+| 1 error generated.
+
+Upstream-Status: Submitted [https://github.com/rsyslog/librelp/pull/260]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ tests/receive.c | 2 +-
+ tests/send.c    | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/tests/receive.c b/tests/receive.c
+index f376cb4..c12e911 100644
+--- a/tests/receive.c
++++ b/tests/receive.c
+@@ -68,7 +68,7 @@ doSleep(int iSeconds, const int iuSeconds)
+ }
+ 
+ static void
+-hdlr_enable(int sig, void (*hdlr)())
++hdlr_enable(int sig, void (*hdlr)(const int))
+ {
+ 	struct sigaction sigAct;
+ 	memset(&sigAct, 0, sizeof (sigAct));
+diff --git a/tests/send.c b/tests/send.c
+index d7e90f0..1b1df4f 100644
+--- a/tests/send.c
++++ b/tests/send.c
+@@ -57,7 +57,7 @@ struct usrdata { /* used for testing user pointer pass-back */
+ struct usrdata *userdata = NULL;
+ 
+ static void
+-hdlr_enable(int sig, void (*hdlr)())
++hdlr_enable(int sig, void (*hdlr)(const int))
+ {
+ 	struct sigaction sigAct;
+ 	memset(&sigAct, 0, sizeof (sigAct));
+-- 
+2.41.0
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp/0001-tests-Include-missing-sys-time.h.patch b/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp/0001-tests-Include-missing-sys-time.h.patch
new file mode 100644
index 0000000..6fed23c
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp/0001-tests-Include-missing-sys-time.h.patch
@@ -0,0 +1,41 @@
+From 5c32487a9c127f37141488d416cdb5d5bec6aca1 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 19 Aug 2023 10:24:40 -0700
+Subject: [PATCH] tests: Include missing sys/time.h
+
+This is found when building for musl C library systems where sys/time.h
+is not included indirectly and select() and timeval structs are used
+
+Fixes
+
+../../git/tests/receive.c:64:17: error: variable has incomplete type 'struct timeval'
+   64 |         struct timeval tvSelectTimeout;
+      |                        ^
+../../git/tests/receive.c:64:9: note: forward declaration of 'struct timeval'
+   64 |         struct timeval tvSelectTimeout;
+      |                ^
+../../git/tests/receive.c:67:2: error: call to undeclared function 'select'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
+   67 |         select(0, NULL, NULL, NULL, &tvSelectTimeout);
+      |         ^
+
+Upstream-Status: Submitted [https://github.com/rsyslog/librelp/pull/261]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ tests/receive.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/tests/receive.c b/tests/receive.c
+index f376cb4..e20861e 100644
+--- a/tests/receive.c
++++ b/tests/receive.c
+@@ -33,6 +33,7 @@
+ #include <limits.h>
+ #include <errno.h>
+ #include <signal.h>
++#include <sys/time.h>
+ #include "librelp.h"
+ 
+ #define TRY(f) { const int TRY_r = f; if(TRY_r != RELP_RET_OK) { \
+-- 
+2.41.0
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp/run-ptest b/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp/run-ptest
new file mode 100644
index 0000000..a649a57
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp/run-ptest
@@ -0,0 +1,10 @@
+#!/bin/sh
+#
+set -e
+set -o pipefail
+
+SCRIPTPATH="$( cd "$(dirname "$0")" ; pwd -P )"
+cd ${SCRIPTPATH}
+useradd tester  || echo "user already exists"
+su tester -c "make -C tests -k check-TESTS"
+userdel tester
diff --git a/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp_1.11.0.bb b/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp_1.11.0.bb
index bac5abb..9d949c6 100644
--- a/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp_1.11.0.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/rsyslog/librelp_1.11.0.bb
@@ -4,14 +4,83 @@
 LICENSE = "GPL-3.0-only"
 LIC_FILES_CHKSUM = "file://COPYING;md5=1fb9c10ed9fd6826757615455ca893a9"
 
-DEPENDS = "gmp nettle libidn zlib gnutls openssl"
+DEPENDS = "gmp libidn zlib"
 
 SRC_URI = "git://github.com/rsyslog/librelp.git;protocol=https;branch=stable \
            file://0001-Fix-function-inline-errors-in-debug-optimization-Og.patch \
+           file://0001-tests-Fix-callback-prototype.patch \
+           file://0001-tcp-fix-some-compiler-warnings-with-enable-tls-opens.patch \
+           file://0001-tests-Include-missing-sys-time.h.patch \
+           file://run-ptest \
 "
 
 SRCREV = "b421f56d9ee31a966058d23bd23c966221c91396"
 
 S = "${WORKDIR}/git"
 
-inherit autotools pkgconfig
+inherit autotools pkgconfig ptest
+
+PACKAGECONFIG ?= "tls-openssl valgrind"
+# Valgrind is not available for RISCV yet
+PACKAGECONFIG:remove:riscv64 = "valgrind"
+PACKAGECONFIG:remove:riscv32 = "valgrind"
+
+PACKAGECONFIG[tls] = "--enable-tls,--disable-tls,gnutls nettle"
+PACKAGECONFIG[tls-openssl] = "--enable-tls-openssl,--disable-tls-openssl,openssl"
+PACKAGECONFIG[valgrind] = "--enable-valgrind,--disable-valgrind,"
+
+# For ptests, copy source tests/*.sh scripts, Makefile and 
+# executables and run them with make on target.
+TESTDIR = "tests"
+do_compile_ptest() {
+    echo 'buildtest-TESTS: $(check_PROGRAMS)' >> ${TESTDIR}/Makefile
+    oe_runmake -C ${TESTDIR} buildtest-TESTS
+}
+
+do_install_ptest() {
+    install -d ${D}${PTEST_PATH}/${TESTDIR}
+
+    # copy source tests/*.sh and python scripts
+    cp -f ${S}/${TESTDIR}/*.sh ${S}/${TESTDIR}/*.py ${D}${PTEST_PATH}/${TESTDIR}
+    # install data files needed by the test scripts on the target
+    cp -f ${S}/${TESTDIR}/*.supp ${D}${PTEST_PATH}/${TESTDIR}
+    cp -rf ${S}/${TESTDIR}/tls-certs ${D}${PTEST_PATH}/${TESTDIR}
+
+    # copy executables
+    find ${B}/${TESTDIR} -type f -executable -exec cp {} ${D}${PTEST_PATH}/${TESTDIR} \;
+    cp -rf ${B}/${TESTDIR}/.libs ${D}${PTEST_PATH}/${TESTDIR}
+    # copy Makefile
+    # run-ptest will run make which runs the executables
+    cp -f ${B}/${TESTDIR}/Makefile ${D}${PTEST_PATH}/${TESTDIR}
+    cp -f ${B}/${TESTDIR}/set-envvars ${D}${PTEST_PATH}/${TESTDIR}
+
+    # give permissions to all users
+    # some tests need to write to this directory
+    chmod 777 -R ${D}${PTEST_PATH}/${TESTDIR}
+
+    # do NOT need to rebuild Makefile or $(check_PROGRAMS)
+    sed -i 's/^Makefile:.*$/Makefile:/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
+    sed -i 's/^check-TESTS:.*$/check-TESTS:/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
+
+    # fix the srcdir, top_srcdir, abs_top_builddir
+    sed -i 's,^\(srcdir = \).*,\1${PTEST_PATH}/${TESTDIR},' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
+    sed -i 's,^\(top_srcdir = \).*,\1${PTEST_PATH}/${TESTDIR},' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
+    sed -i 's,^\(abs_top_builddir = \).*,\1${PTEST_PATH}/,' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
+
+    # install test-driver
+    install -m 644 ${S}/test-driver ${D}${PTEST_PATH}
+
+    # fix the python3 path for tests/set-envar
+    sed -i -e s:${HOSTTOOLS_DIR}:${bindir}:g ${D}${PTEST_PATH}/${TESTDIR}/set-envvars
+
+    # these 2 scripts need help finding their /usr/lib/librelp/ptest/tests/.libs libraries
+    sed -i 's:${B}/src:${PTEST_PATH}/${TESTDIR}:' ${D}${PTEST_PATH}/${TESTDIR}/send
+    sed -i 's:${B}/src:${PTEST_PATH}/${TESTDIR}:' ${D}${PTEST_PATH}/${TESTDIR}/receive
+}
+
+RDEPENDS:${PN}-ptest += "\
+  make bash coreutils libgcc util-linux gawk grep \
+  python3-core python3-io \
+"
+RRECOMMENDS:${PN}-ptest += "${@bb.utils.filter('PACKAGECONFIG', 'valgrind', d)}"
+
diff --git a/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/disable-omfile-outchannel.patch b/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/disable-omfile-outchannel.patch
new file mode 100644
index 0000000..a8bbe2b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog/disable-omfile-outchannel.patch
@@ -0,0 +1,23 @@
+tests: Skip omfile-outchannel test as it fails on musl
+
+scanf error in index i=5559
+sequence error detected in rstb_168227_f19f3b245QVE.out.log
+number of lines in file: 5559 rstb_168227_f19f3b245QVE.out.log
+
+Patch is also applied in void linux
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+--- a/tests/omfile-outchannel.sh	2021-03-09 05:51:07.000000000 -0600
++++ b/tests/omfile-outchannel.sh	2022-05-26 15:55:23.358520256 -0500
+@@ -1,5 +1,9 @@
+ #!/bin/bash
+ # addd 2018-08-02 by RGerhards, released under ASL 2.0
++
++# This test fails for x86_64-musl, under GitHub's CI/CD. Disable for now.
++exit 77
++
+ . ${srcdir:=.}/diag.sh init
+ export NUMMESSAGES=10000
+ echo "ls -l $RSYSLOG_DYNNAME*
diff --git a/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.2306.0.bb b/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.2306.0.bb
index c639e81..c3948a4 100644
--- a/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.2306.0.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/rsyslog/rsyslog_8.2306.0.bb
@@ -29,6 +29,7 @@
 
 SRC_URI:append:libc-musl = " \
     file://0001-Include-sys-time-h.patch \
+    file://disable-omfile-outchannel.patch \
 "
 
 SRC_URI[sha256sum] = "f6283efaadc609540a56e6bec88a362c966e77f29fe48e6b734bd6c1123e0be5"
@@ -47,7 +48,7 @@
 # first line is default yes in configure
 PACKAGECONFIG ??= " \
     rsyslogd rsyslogrt klog inet regexp uuid libgcrypt \
-    fmhttp imdiag gnutls imfile \
+    fmhttp imdiag openssl imfile \
     ${@bb.utils.filter('DISTRO_FEATURES', 'snmp systemd', d)} \
     ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'testbench relp ${VALGRIND}', '', d)} \
 "
@@ -70,6 +71,7 @@
 PACKAGECONFIG[imfile] = "--enable-imfile,--disable-imfile,,"
 PACKAGECONFIG[snmp] = "--enable-snmp,--disable-snmp,net-snmp,"
 PACKAGECONFIG[gnutls] = "--enable-gnutls,--disable-gnutls,gnutls,"
+PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl,"
 PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,--without-systemdsystemunitdir,systemd,"
 PACKAGECONFIG[imjournal] = "--enable-imjournal,--disable-imjournal,"
 PACKAGECONFIG[mmjsonparse] = "--enable-mmjsonparse,--disable-mmjsonparse,"
diff --git a/meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_7.3.bb b/meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_7.4.bb
similarity index 95%
rename from meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_7.3.bb
rename to meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_7.4.bb
index 1bf55bf..f387147 100644
--- a/meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_7.3.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/smartmontools/smartmontools_7.4.bb
@@ -23,7 +23,7 @@
 PACKAGECONFIG[libcap-ng] = "--with-libcap-ng=yes,--with-libcap-ng=no,libcap-ng"
 PACKAGECONFIG[selinux] = "--with-selinux=yes,--with-selinux=no,libselinux"
 
-SRC_URI[sha256sum] = "a544f8808d0c58cfb0e7424ca1841cb858a974922b035d505d4e4c248be3a22b"
+SRC_URI[sha256sum] = "e9a61f641ff96ca95319edfb17948cd297d0cd3342736b2c49c99d4716fb993d"
 
 inherit autotools update-rc.d systemd
 
diff --git a/meta-openembedded/meta-oe/recipes-extended/snappy/snappy_1.1.9.bb b/meta-openembedded/meta-oe/recipes-extended/snappy/snappy_1.1.9.bb
index 0d58345..9e0e43c 100644
--- a/meta-openembedded/meta-oe/recipes-extended/snappy/snappy_1.1.9.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/snappy/snappy_1.1.9.bb
@@ -24,3 +24,5 @@
 TARGET_CFLAGS += "-fPIC"
 
 EXTRA_OECMAKE += '-DBUILD_SHARED_LIBS="ON" -DSNAPPY_BUILD_TESTS="OFF" -DSNAPPY_BUILD_BENCHMARKS="OFF"'
+
+CVE_PRODUCT = "google:snappy"
diff --git a/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig_0.28.0.bb b/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig_0.28.0.bb
index 92897cd..e814120 100644
--- a/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig_0.28.0.bb
+++ b/meta-openembedded/meta-oe/recipes-extended/sysdig/sysdig_0.28.0.bb
@@ -30,6 +30,8 @@
 SRCREV_sysdig = "4fb6288275f567f63515df0ff0a6518043ecfa9b"
 SRCREV_falco= "caa0e4d0044fdaaebab086592a97f0c7f32aeaa9"
 
+SRCREV_FORMAT = "sysdig_falco"
+
 S = "${WORKDIR}/git"
 
 EXTRA_OECMAKE = "\
diff --git a/meta-openembedded/meta-oe/recipes-gnome/gnome-themes/adw-gtk3_4.8.bb b/meta-openembedded/meta-oe/recipes-gnome/gnome-themes/adw-gtk3_4.9.bb
similarity index 88%
rename from meta-openembedded/meta-oe/recipes-gnome/gnome-themes/adw-gtk3_4.8.bb
rename to meta-openembedded/meta-oe/recipes-gnome/gnome-themes/adw-gtk3_4.9.bb
index 2a3f772..d7b7eef 100644
--- a/meta-openembedded/meta-oe/recipes-gnome/gnome-themes/adw-gtk3_4.8.bb
+++ b/meta-openembedded/meta-oe/recipes-gnome/gnome-themes/adw-gtk3_4.9.bb
@@ -11,6 +11,6 @@
 SRC_URI = "git://github.com/lassekongo83/adw-gtk3.git;protocol=https;branch=main"
 
 S = "${WORKDIR}/git"
-SRCREV = "7ee024ed79f68875e5dea3616be24a703cf72cc5"
+SRCREV = "08d3dfbde51d4cb0a3bb8e58a81aa61064857d89"
 
 FILES:${PN} = "${datadir}/themes"
diff --git a/meta-openembedded/meta-oe/recipes-gnome/gnome-themes/gnome-themes-extra_3.28.bb b/meta-openembedded/meta-oe/recipes-gnome/gnome-themes/gnome-themes-extra_3.28.bb
index d7e422c..227422d 100644
--- a/meta-openembedded/meta-oe/recipes-gnome/gnome-themes/gnome-themes-extra_3.28.bb
+++ b/meta-openembedded/meta-oe/recipes-gnome/gnome-themes/gnome-themes-extra_3.28.bb
@@ -21,8 +21,8 @@
 
 do_install:append() {
         # Only building Adwaita, remove highcontrast files
-        rm -rf ${D}${prefix}/share/themes/HighContrast \
-               ${D}${prefix}/share/icons
+        rm -rf ${D}${datadir}/themes/HighContrast \
+               ${D}${datadir}/icons
 
 	# The libtool archive file is unneeded with shared libs on modern Linux
 	rm -rf ${D}${libdir}/gtk-2.0/2.10.0/engines/libadwaita.la
@@ -34,10 +34,10 @@
              gnome-theme-adwaita-dark \
              "
 
-FILES:gnome-theme-adwaita = "${prefix}/share/themes/Adwaita \
+FILES:gnome-theme-adwaita = "${datadir}/themes/Adwaita \
                               ${libdir}/gtk-2.0/2.10.0/engines/libadwaita.so"
 
-FILES:gnome-theme-adwaita-dark = "${prefix}/share/themes/Adwaita-dark"
+FILES:gnome-theme-adwaita-dark = "${datadir}/themes/Adwaita-dark"
 RDEPENDS:gnome-theme-adwaita-dark = "gnome-theme-adwaita"
 
 # gnome-themes-standard is empty and doesn't exist
diff --git a/meta-openembedded/meta-oe/recipes-gnome/libpeas/libpeas_1.36.0.bb b/meta-openembedded/meta-oe/recipes-gnome/libpeas/libpeas_1.36.0.bb
index a32ea9b..9920603 100644
--- a/meta-openembedded/meta-oe/recipes-gnome/libpeas/libpeas_1.36.0.bb
+++ b/meta-openembedded/meta-oe/recipes-gnome/libpeas/libpeas_1.36.0.bb
@@ -8,7 +8,7 @@
 GNOMEBASEBUILDCLASS = "meson"
 GTKDOC_MESON_OPTION = "gtk_doc"
 
-inherit gnomebase gobject-introspection gtk-doc gtk-icon-cache features_check
+inherit gnomebase gobject-introspection gi-docgen gtk-icon-cache features_check
 
 ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 # FIXME: When upgrading to libpeas 2, g-i is no longer needed.
diff --git a/meta-openembedded/meta-oe/recipes-graphics/aml/aml_git.bb b/meta-openembedded/meta-oe/recipes-graphics/aml/aml_git.bb
new file mode 100644
index 0000000..eed62ad
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/aml/aml_git.bb
@@ -0,0 +1,35 @@
+SUMMARY = "Andri's Main Loop"
+DESCRIPTION = "Andri's Main Loop"
+HOMEPAGE = "https://github.com/any1/aml"
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e6f3cfaa39204b96e14b68b9d50d3e4e"
+
+SRC_URI = "git://github.com/any1/aml;branch=master;protocol=https"
+
+SRCREV = "b83f3576ce4187d9285f06e9066ef43a691464d4"
+
+PV = "0.3.0+git${SRCPV}"
+
+S = "${WORKDIR}/git"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[examples] = "-Dexamples=true,-Dexamples=false"
+
+PACKAGE_BEFORE_PN += "${PN}-examples"
+ALLOW_EMPTY:${PN}-examples = "1"
+FILES:${PN}-examples = "${bindir}"
+
+inherit meson pkgconfig
+
+AML_EXAMPLES = "ticker nested-ticker reader"
+
+do_install:append () {
+	if ${@bb.utils.contains('PACKAGECONFIG', 'examples', 'true', 'false', d)}; then
+		install -d ${D}${bindir}
+		for bin in ${AML_EXAMPLES}; do
+			install -m 0755 ${B}/examples/$bin ${D}${bindir}
+		done
+	fi
+}
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/cglm/cglm_0.8.9.bb b/meta-openembedded/meta-oe/recipes-graphics/cglm/cglm_0.9.1.bb
similarity index 91%
rename from meta-openembedded/meta-oe/recipes-graphics/cglm/cglm_0.8.9.bb
rename to meta-openembedded/meta-oe/recipes-graphics/cglm/cglm_0.9.1.bb
index fbd267b..603ebe4 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/cglm/cglm_0.8.9.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/cglm/cglm_0.9.1.bb
@@ -9,8 +9,8 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=8dc95c4110ba741c43832734b51b7de7"
 
 SRC_URI = "git://github.com/recp/cglm;branch=master;protocol=https"
-# Tag v0.8.5
-SRCREV = "c51040cd4139b628fba2a0e6751ad4aecbc0c81a"
+# Tag v0.9.1
+SRCREV = "cdd4d0e83e9ee79f73aeb0a4fb60b4abd8ecf947"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-graphics/fbida/files/0001-meson.build-install-fbgs-shell-script.patch b/meta-openembedded/meta-oe/recipes-graphics/fbida/files/0001-meson.build-install-fbgs-shell-script.patch
index d686def..4d08125 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/fbida/files/0001-meson.build-install-fbgs-shell-script.patch
+++ b/meta-openembedded/meta-oe/recipes-graphics/fbida/files/0001-meson.build-install-fbgs-shell-script.patch
@@ -3,7 +3,7 @@
 Date: Fri, 9 Sep 2022 09:32:22 +0200
 Subject: [PATCH] meson.build: install fbgs shell script
 
-Upstream-Status: Pending
+Upstream-Status: Submitted [https://github.com/kraxel/fbida/pull/4]
 Signed-off-by: "Meyer, Wolfgang" <Wolfgang.Meyer@gossenmetrawatt.com>
 ---
  meson.build | 3 +++
diff --git a/meta-openembedded/meta-oe/recipes-graphics/fbida/files/0001-meson.build-make-fbpdf-build-optional.patch b/meta-openembedded/meta-oe/recipes-graphics/fbida/files/0001-meson.build-make-fbpdf-build-optional.patch
index 304c660..b872e21 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/fbida/files/0001-meson.build-make-fbpdf-build-optional.patch
+++ b/meta-openembedded/meta-oe/recipes-graphics/fbida/files/0001-meson.build-make-fbpdf-build-optional.patch
@@ -3,7 +3,7 @@
 Date: Fri, 16 Sep 2022 18:45:58 +0200
 Subject: [PATCH] meson.build: make fbpdf build optional
 
-Upstream-Status: Pending
+Upstream-Status: Submitted [https://github.com/kraxel/fbida/pull/4]
 Signed-off-by: "Meyer, Wolfgang" <Wolfgang.Meyer@gossenmetrawatt.com>
 ---
  meson.build       | 22 ++++++++++++----------
diff --git a/meta-openembedded/meta-oe/recipes-graphics/fbida/files/0002-meson.build-add-features-options-for-png-gif-tiff-we.patch b/meta-openembedded/meta-oe/recipes-graphics/fbida/files/0002-meson.build-add-features-options-for-png-gif-tiff-we.patch
index fe36fcb..4f54fbf 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/fbida/files/0002-meson.build-add-features-options-for-png-gif-tiff-we.patch
+++ b/meta-openembedded/meta-oe/recipes-graphics/fbida/files/0002-meson.build-add-features-options-for-png-gif-tiff-we.patch
@@ -3,7 +3,7 @@
 Date: Fri, 16 Sep 2022 16:25:38 +0200
 Subject: [PATCH] meson.build: add features options for png, gif, tiff, webp, and motif
 
-Upstream-Status: Pending
+Upstream-Status: Submitted [https://github.com/kraxel/fbida/pull/4]
 Signed-off-by: "Meyer, Wolfgang" <Wolfgang.Meyer@gossenmetrawatt.com>
 ---
  meson.build       | 41 +++++++++++++++++++++++++++--------------
diff --git a/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge/0001-Fix-Translations-containing-invalid-directives-hs.patch b/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge/0001-Fix-Translations-containing-invalid-directives-hs.patch
new file mode 100644
index 0000000..6d13325
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge/0001-Fix-Translations-containing-invalid-directives-hs.patch
@@ -0,0 +1,385 @@
+From e6ccc8a8cf1391010a8220836a732da9fab19c69 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 7 Sep 2023 12:35:12 -0700
+Subject: [PATCH] Fix Translations containing invalid directives %hs
+
+Found with gettext 0.22
+Older versions of msgfmt were more sloppy, thus allowing such mistakes to cause bugs at runtime.
+
+https://bugs.gentoo.org/908868
+https://savannah.gnu.org/bugs/index.php?64333
+https://github.com/fontforge/fontforge/issues/5251
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ fontforgeexe/searchview.c |  2 +-
+ po/ca.po                  |  4 ++--
+ po/de.po                  |  4 ++--
+ po/en_GB.po               |  4 ++--
+ po/fr.po                  | 40 +++++++++++++++++++--------------------
+ po/hr.po                  |  4 ++--
+ po/it.po                  |  8 ++++----
+ po/ja.po                  |  4 ++--
+ po/ko.po                  |  4 ++--
+ po/pl.po                  |  4 ++--
+ po/uk.po                  |  4 ++--
+ po/vi.po                  |  4 ++--
+ 12 files changed, 43 insertions(+), 43 deletions(-)
+
+diff --git a/fontforgeexe/searchview.c b/fontforgeexe/searchview.c
+index 1cb39a221..7e1c109cb 100644
+--- a/fontforgeexe/searchview.c
++++ b/fontforgeexe/searchview.c
+@@ -516,7 +516,7 @@ return( true );
+ 		    if ( ask_if_difficult==2 && !searcher->isvisible )
+ return( false );
+ 		    if ( gwwv_ask(_("Bad Reference"),(const char **) buttons,1,1,
+-			    _("The %1$s in the search dialog contains a reference to %2$.20hs which does not exist in the new font.\nShould I remove the reference?"),
++			    _("The %1$s in the search dialog contains a reference to %2$.20s which does not exist in the new font.\nShould I remove the reference?"),
+ 				i==0?_("Search Pattern"):_("Replace Pattern"),
+ 			        r->sc->name)==1 )
+ return( false );
+diff --git a/po/ca.po b/po/ca.po
+index e2349b6ef..6c920b7c0 100644
+--- a/po/ca.po
++++ b/po/ca.po
+@@ -12347,11 +12347,11 @@ msgstr "Tai"
+ 
+ #, c-format
+ msgid ""
+-"The %1$s in the search dialog contains a reference to %2$.20hs which does "
++"The %1$s in the search dialog contains a reference to %2$.20s which does "
+ "not exist in the new font.\n"
+ "Should I remove the reference?"
+ msgstr ""
+-"Al diàleg de cerca, %1$s conté una referència a %2$.20hs\n"
++"Al diàleg de cerca, %1$s conté una referència a %2$.20s\n"
+ "que no existeix en el nou tipus.\n"
+ "Voleu eliminar la referència?"
+ 
+diff --git a/po/de.po b/po/de.po
+index 41430ffae..8a31aeaa2 100644
+--- a/po/de.po
++++ b/po/de.po
+@@ -15765,11 +15765,11 @@ msgstr ""
+ 
+ #, c-format
+ msgid ""
+-"The %1$s in the search dialog contains a reference to %2$.20hs which does "
++"The %1$s in the search dialog contains a reference to %2$.20s which does "
+ "not exist in the new font.\n"
+ "Should I remove the reference?"
+ msgstr ""
+-"%1$s im Suchdialog enthält eine Referenz auf %2$.20hs, die in der neuen "
++"%1$s im Suchdialog enthält eine Referenz auf %2$.20s, die in der neuen "
+ "Schrift nicht existiert.\n"
+ "Soll der Referenz entfernt werden?"
+ 
+diff --git a/po/en_GB.po b/po/en_GB.po
+index 9bd2d62bb..fce64c97d 100644
+--- a/po/en_GB.po
++++ b/po/en_GB.po
+@@ -728,11 +728,11 @@ msgstr "Template Colour"
+ 
+ #, c-format
+ msgid ""
+-"The %1$s in the search dialog contains a reference to %2$.20hs which does "
++"The %1$s in the search dialog contains a reference to %2$.20s which does "
+ "not exist in the new font.\n"
+ "Should I remove the reference?"
+ msgstr ""
+-"The %1$s in the search dialogue contains a reference to %2$.20hs which does "
++"The %1$s in the search dialogue contains a reference to %2$.20s which does "
+ "not exist in the new font.\n"
+ "Should I remove the reference?"
+ 
+diff --git a/po/fr.po b/po/fr.po
+index 26e446b38..d130f89bc 100644
+--- a/po/fr.po
++++ b/po/fr.po
+@@ -291,7 +291,7 @@ msgstr "chaîne %1$.30s pour %2$.30s"
+ #. GT: $4 is the changed flag ('*' for the changed items)
+ #, c-format
+ msgid "%1$.80s at %2$d from %3$.90s%4$s"
+-msgstr "%1$.80s à %2$d de %3$.90hs%4$s"
++msgstr "%1$.80s à %2$d de %3$.90s%4$s"
+ 
+ #. GT: This is the title for a window showing a bitmap character
+ #. GT: It will look something like:
+@@ -302,7 +302,7 @@ msgstr "%1$.80s à %2$d de %3$.90hs%4$s"
+ #. GT: $4 is the font name
+ #, c-format
+ msgid "%1$.80s at %2$d size %3$d from %4$.80s"
+-msgstr "%1$.80s (%2$d) taille %3$d de %4$.80hs"
++msgstr "%1$.80s (%2$d) taille %3$d de %4$.80s"
+ 
+ #, c-format
+ msgid "%1$s from lookup subtable %2$.50s"
+@@ -7433,7 +7433,7 @@ msgid ""
+ "Reverting the file will lose those changes.\n"
+ "Is that what you want?"
+ msgstr ""
+-"La fonte %1$.40s dans le fichier %2$.40hs a été modifiée.\n"
++"La fonte %1$.40s dans le fichier %2$.40s a été modifiée.\n"
+ "Revenir vous fera perdre toutes les modifications.\n"
+ "Voulez vous vraiment revenir ?"
+ 
+@@ -19077,11 +19077,11 @@ msgstr ""
+ 
+ #, c-format
+ msgid ""
+-"The %1$s in the search dialog contains a reference to %2$.20hs which does "
++"The %1$s in the search dialog contains a reference to %2$.20s which does "
+ "not exist in the new font.\n"
+ "Should I remove the reference?"
+ msgstr ""
+-"Dans %1$s du dialogue de recherche il y a une référence vers %2$.20hs qui "
++"Dans %1$s du dialogue de recherche il y a une référence vers %2$.20s qui "
+ "n'existe pas dans la nouvelle fonte.\n"
+ "Faut-il supprimer la référence ?"
+ 
+@@ -19925,7 +19925,7 @@ msgid ""
+ "The fonts %1$.30s and %2$.30s have a different number of glyphs or different "
+ "encodings"
+ msgstr ""
+-"Les fontes %1$.30s et %2$.30hs n'ont pas le même nombre de glyphes ou des "
++"Les fontes %1$.30s et %2$.30s n'ont pas le même nombre de glyphes ou des "
+ "codages différents"
+ 
+ #, c-format
+@@ -19933,7 +19933,7 @@ msgid ""
+ "The fonts %1$.30s and %2$.30s use different types of splines (one quadratic, "
+ "one cubic)"
+ msgstr ""
+-"Les fontes %1$.30s et %2$.30hs utilisent des courbes de Bézier d'ordres "
++"Les fontes %1$.30s et %2$.30s utilisent des courbes de Bézier d'ordres "
+ "différents (quadratique et cubique)"
+ 
+ msgid "The generated font won't work with ATM"
+@@ -19968,8 +19968,8 @@ msgid ""
+ "The glyph %1$.30s in font %2$.30s has a different hint mask on its contours "
+ "than in %3$.30s"
+ msgstr ""
+-"Le glyphe %1$.30s dans la police %2$.30hs a un masque de hints différent que "
+-"dans %3$.30hs"
++"Le glyphe %1$.30s dans la police %2$.30s a un masque de hints différent que "
++"dans %3$.30s"
+ 
+ #, c-format
+ msgid ""
+@@ -19984,8 +19984,8 @@ msgid ""
+ "The glyph %1$.30s in font %2$.30s has a different number of references than "
+ "in %3$.30s"
+ msgstr ""
+-"Le glyphe %1$.30s de la fonte %2$.30hs a un nombre de références différent "
+-"dans %3$.30hs"
++"Le glyphe %1$.30s de la fonte %2$.30s a un nombre de références différent "
++"dans %3$.30s"
+ 
+ #, c-format
+ msgid ""
+@@ -20457,7 +20457,7 @@ msgstr ""
+ #, c-format
+ msgid "The outlines of glyph %2$.30s were not found in the font %1$.60s"
+ msgstr ""
+-"Le contours du glyphe %2$.30s n'ont pas été trouvés dans la police %1$.60hs"
++"Le contours du glyphe %2$.30s n'ont pas été trouvés dans la police %1$.60s"
+ 
+ msgid "The paths that make up this glyph intersect one another"
+ msgstr "Les chemins qui composent ce glyphe se coupent les uns les autres"
+@@ -21042,7 +21042,7 @@ msgstr "Il y a déjà une sous-table avec ce nom, changez de nom SVP"
+ 
+ #, c-format
+ msgid "There is already an anchor point named %1$.40s in %2$.40s."
+-msgstr "Il y a déjà une ancre appelée %1$.40s dans %2$.40hs."
++msgstr "Il y a déjà une ancre appelée %1$.40s dans %2$.40s."
+ 
+ msgid "There is another glyph in the font with this name"
+ msgstr "Il y a un autre glyphe dans la fonte avec ce nom"
+@@ -21441,8 +21441,8 @@ msgid ""
+ "been able to find is %1$.20s-%2$.20s-%4$d.\n"
+ "Shall I use that or let you search?"
+ msgstr ""
+-"Cette fonte est basée sur le jeu de caractères %1$.20s-%2$.20hs-%3$d, mais "
+-"ce que j'ai trouvé de mieux c'est %1$.20hs-%2$.20hs-%4$d.\n"
++"Cette fonte est basée sur le jeu de caractères %1$.20s-%2$.20s-%3$d, mais "
++"ce que j'ai trouvé de mieux c'est %1$.20s-%2$.20s-%4$d.\n"
+ "Devrais-je utiliser cette valeur ou préférez vous chercher ?"
+ 
+ msgid ""
+@@ -21770,7 +21770,7 @@ msgid ""
+ "with a 0 offset for this combination. Would you like to alter this kerning "
+ "class entry (or create a kerning pair for just these two glyphs)?"
+ msgstr ""
+-"Cette paire de crénage (%.20s et %.20hs) est dans une classe de crénage\n"
++"Cette paire de crénage (%.20s et %.20s) est dans une classe de crénage\n"
+ "avec un déplacement de 0 pour cette combinaison. Voulez-vous modifier cette "
+ "partie\n"
+ "de la classe de crénage (ou créer une nouvelle paire rien que pour ces 2 "
+@@ -24551,8 +24551,8 @@ msgid ""
+ "referred to.\n"
+ "It will not be copied."
+ msgstr ""
+-"Vous essayer de coller une référence vers %1$s dans %2$hs.\n"
+-"Mais %1$hs n'existe pas dans cette fonte, et FontForge ne trouve pas le "
++"Vous essayer de coller une référence vers %1$s dans %2$s.\n"
++"Mais %1$s n'existe pas dans cette fonte, et FontForge ne trouve pas le "
+ "glyphe auquel il se référait.\n"
+ "Le glyphe ne sera pas copié."
+ 
+@@ -24562,8 +24562,8 @@ msgid ""
+ "But %1$s does not exist in this font.\n"
+ "Would you like to copy the original splines (or delete the reference)?"
+ msgstr ""
+-"Vous essayer de coller une référence vers %1$s dans %2$hs.\n"
+-"Mais %1$hs n'existe pas dans cette fonte.\n"
++"Vous essayer de coller une référence vers %1$s dans %2$s.\n"
++"Mais %1$s n'existe pas dans cette fonte.\n"
+ "Voulez vous copier le contour d'origine (ou supprimer la référence)?"
+ 
+ msgid ""
+diff --git a/po/hr.po b/po/hr.po
+index d261d4ca7..ac41b9250 100644
+--- a/po/hr.po
++++ b/po/hr.po
+@@ -20156,11 +20156,11 @@ msgstr ""
+ 
+ #, c-format
+ msgid ""
+-"The %1$s in the search dialog contains a reference to %2$.20hs which does "
++"The %1$s in the search dialog contains a reference to %2$.20s which does "
+ "not exist in the new font.\n"
+ "Should I remove the reference?"
+ msgstr ""
+-"%1$s u dijaloškom okviru traženja sadrži referencu na %2$.20hs koja ne "
++"%1$s u dijaloškom okviru traženja sadrži referencu na %2$.20s koja ne "
+ "postoji u fontu.\n"
+ "Želiš li dozvoliti uklanjanje reference?"
+ 
+diff --git a/po/it.po b/po/it.po
+index e13711485..d0c3ea987 100644
+--- a/po/it.po
++++ b/po/it.po
+@@ -2303,7 +2303,7 @@ msgid ""
+ "Reverting the file will lose those changes.\n"
+ "Is that what you want?"
+ msgstr ""
+-"Il font %1$.40s nel file %2$.40hs è stato modificato.\n"
++"Il font %1$.40s nel file %2$.40s è stato modificato.\n"
+ "Ripristinando il file perderai tutte le modifiche.\n"
+ "È quello che vuoi fare?"
+ 
+@@ -5835,7 +5835,7 @@ msgid ""
+ "The glyph %1$.30s has a different number of contours in font %2$.30s than in "
+ "%3$.30s"
+ msgstr ""
+-"Il glifo %1$.30s ha un diverso numero di contorni nel font %2$.30hs rispetto "
++"Il glifo %1$.30s ha un diverso numero di contorni nel font %2$.30s rispetto "
+ "a %3$.30s"
+ 
+ #, c-format
+@@ -6235,8 +6235,8 @@ msgid ""
+ "been able to find is %1$.20s-%2$.20s-%4$d.\n"
+ "Shall I use that or let you search?"
+ msgstr ""
+-"Questo font è basato sulla codifica di caratteri %1$.20s-%2$.20hs-%3$d, ma "
+-"il migliore che io abbia trovato è %1$.20hs-%2$.20hs-%4$d.\n"
++"Questo font è basato sulla codifica di caratteri %1$.20s-%2$.20s-%3$d, ma "
++"il migliore che io abbia trovato è %1$.20s-%2$.20s-%4$d.\n"
+ "Devo usare questo valore o preferisci cercare tu stesso?"
+ 
+ msgid ""
+diff --git a/po/ja.po b/po/ja.po
+index ed9f5a645..206ae82d1 100644
+--- a/po/ja.po
++++ b/po/ja.po
+@@ -11458,11 +11458,11 @@ msgstr ""
+ 
+ #, c-format
+ msgid ""
+-"The %1$s in the search dialog contains a reference to %2$.20hs which does "
++"The %1$s in the search dialog contains a reference to %2$.20s which does "
+ "not exist in the new font.\n"
+ "Should I remove the reference?"
+ msgstr ""
+-"%1$s には, 新しいフォントには含まれないグリフ %2$.20hs への参照が含まれていま"
++"%1$s には, 新しいフォントには含まれないグリフ %2$.20s への参照が含まれていま"
+ "す.\n"
+ "参照を削除しますか?"
+ 
+diff --git a/po/ko.po b/po/ko.po
+index 971b4db03..4d5c8d40d 100644
+--- a/po/ko.po
++++ b/po/ko.po
+@@ -20920,11 +20920,11 @@ msgstr ""
+ 
+ #, c-format
+ msgid ""
+-"The %1$s in the search dialog contains a reference to %2$.20hs which does "
++"The %1$s in the search dialog contains a reference to %2$.20s which does "
+ "not exist in the new font.\n"
+ "Should I remove the reference?"
+ msgstr ""
+-"검색 대화 상자의 %1$s에는 새 글꼴에 없는 %2$.20hs에 대한 참조가 포함되어 있"
++"검색 대화 상자의 %1$s에는 새 글꼴에 없는 %2$.20s에 대한 참조가 포함되어 있"
+ "다.\n"
+ "참조를 제거해야 하는가?"
+ 
+diff --git a/po/pl.po b/po/pl.po
+index 2bbbf00be..c1fd5a454 100644
+--- a/po/pl.po
++++ b/po/pl.po
+@@ -19552,11 +19552,11 @@ msgstr ""
+ 
+ #, c-format
+ msgid ""
+-"The %1$s in the search dialog contains a reference to %2$.20hs which does "
++"The %1$s in the search dialog contains a reference to %2$.20s which does "
+ "not exist in the new font.\n"
+ "Should I remove the reference?"
+ msgstr ""
+-"%1$s w okienku wyszukiwania zawiera odwołanie do %2$.20hs, który nie "
++"%1$s w okienku wyszukiwania zawiera odwołanie do %2$.20s, który nie "
+ "istnieje w nowym foncie.\n"
+ "Czy usunąć to odwołanie?"
+ 
+diff --git a/po/uk.po b/po/uk.po
+index e3768acc3..3302a1005 100644
+--- a/po/uk.po
++++ b/po/uk.po
+@@ -19860,11 +19860,11 @@ msgstr ""
+ 
+ #, c-format
+ msgid ""
+-"The %1$s in the search dialog contains a reference to %2$.20hs which does "
++"The %1$s in the search dialog contains a reference to %2$.20s which does "
+ "not exist in the new font.\n"
+ "Should I remove the reference?"
+ msgstr ""
+-"%1$s у діалоговому вікні пошуку містить посилання на %2$.20hs, якого не "
++"%1$s у діалоговому вікні пошуку містить посилання на %2$.20s, якого не "
+ "існує у новому шрифті.\n"
+ "Вилучити це посилання?"
+ 
+diff --git a/po/vi.po b/po/vi.po
+index 6aee8bb3f..f5eb739e6 100644
+--- a/po/vi.po
++++ b/po/vi.po
+@@ -17109,11 +17109,11 @@ msgstr ""
+ 
+ #, c-format
+ msgid ""
+-"The %1$s in the search dialog contains a reference to %2$.20hs which does "
++"The %1$s in the search dialog contains a reference to %2$.20s which does "
+ "not exist in the new font.\n"
+ "Should I remove the reference?"
+ msgstr ""
+-"Trong hộp thoại tìm kiếm, %1$s chứa một tham chiếu đến %2$.20hs mà không tồn "
++"Trong hộp thoại tìm kiếm, %1$s chứa một tham chiếu đến %2$.20s mà không tồn "
+ "tại trong phông mới.\n"
+ "Bạn có muốn gỡ bỏ tham chiếu này không?"
+ 
+-- 
+2.42.0
+
diff --git a/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20230101.bb b/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20230101.bb
index 2b425c5..404e86b 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20230101.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/fontforge/fontforge_20230101.bb
@@ -19,6 +19,7 @@
            file://0001-include-sys-select-on-non-glibc-platforms.patch \
            file://0001-fontforgeexe-Use-env-to-find-fontforge.patch \
            file://0001-cmake-Use-alternate-way-to-detect-libm.patch \
+           file://0001-Fix-Translations-containing-invalid-directives-hs.patch \
 "
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.30.bb b/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.31.bb
similarity index 94%
rename from meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.30.bb
rename to meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.31.bb
index b1fb757..cc42b6a 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.30.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.31.bb
@@ -14,7 +14,7 @@
            file://0001-configure.ac-remove-AM_PO_SUBDIRS.patch \
            file://0001-configure-Filter-out-buildpaths-from-CC.patch \
 "
-SRC_URI[libgphoto2.sha256sum] = "ee61a1dac6ad5cf711d114e06b90a6d431961a6e7ec59f4b757a7cd77b1c0fb4"
+SRC_URI[libgphoto2.sha256sum] = "4f81c34c0b812bee67afd5f144940fbcbe01a2055586a6a1fa2d0626024a545b"
 
 inherit autotools pkgconfig gettext lib_package
 
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libdecor/libdecor/0001-libdecor-gtk.c-dont-skip-for-conflicting-symbols.patch b/meta-openembedded/meta-oe/recipes-graphics/libdecor/libdecor/0001-libdecor-gtk.c-dont-skip-for-conflicting-symbols.patch
deleted file mode 100644
index 9ecbdf3..0000000
--- a/meta-openembedded/meta-oe/recipes-graphics/libdecor/libdecor/0001-libdecor-gtk.c-dont-skip-for-conflicting-symbols.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From fb6eb15b34b5b07a431bb4c3585341411a3e088f Mon Sep 17 00:00:00 2001
-From: Markus Volk <f_l_k@t-online.de>
-Date: Tue, 28 Feb 2023 13:42:18 +0100
-Subject: [PATCH] libdecor-gtk.c: dont skip for conflicting_symbols
-
-This is a hack that should be removed, once the underlying bug in glibc was fixed and
-libdecor was updated to use dlmopen() instead of dlopen()
-
-https://gitlab.freedesktop.org/libdecor/libdecor/-/issues/47
-https://gitlab.freedesktop.org/libdecor/libdecor/-/issues/44
-
----
-Upstream-Status: Pending
-
- src/plugins/gtk/libdecor-gtk.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/plugins/gtk/libdecor-gtk.c b/src/plugins/gtk/libdecor-gtk.c
-index 228161e..fd91afb 100644
---- a/src/plugins/gtk/libdecor-gtk.c
-+++ b/src/plugins/gtk/libdecor-gtk.c
-@@ -2606,7 +2606,7 @@ libdecor_plugin_description = {
- 	.priorities = priorities,
- 	.constructor = libdecor_plugin_new,
- 	.conflicting_symbols = {
--		"png_free",
-+		//"png_free",
- 		NULL,
- 	},
- };
--- 
-2.34.1
-
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libdecor/libdecor_0.1.99.bb b/meta-openembedded/meta-oe/recipes-graphics/libdecor/libdecor_0.1.99.bb
index ed0b05f..078058e 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/libdecor/libdecor_0.1.99.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/libdecor/libdecor_0.1.99.bb
@@ -4,7 +4,6 @@
 
 SRC_URI = " \
     git://gitlab.freedesktop.org/libdecor/libdecor.git;protocol=https;branch=master \
-    file://0001-libdecor-gtk.c-dont-skip-for-conflicting-symbols.patch \
 "
 
 DEPENDS = " \
@@ -16,7 +15,7 @@
 "
 
 S = "${WORKDIR}/git"
-SRCREV = "a254d0c2ff0cbfcf0bbf14cc67cc403640880c01"
+SRCREV = "0d63d125f899dbb1b932468f2f3b911f9c121e58"
 
 PACKAGECONFIG ?= "dbus ${@bb.utils.filter('DISTRO_FEATURES', 'gtk+3', d)}"
 
diff --git a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-ttf_2.20.2.bb b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-ttf_2.20.2.bb
index 7d352f4..6cd4a48 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-ttf_2.20.2.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/libsdl/libsdl2-ttf_2.20.2.bb
@@ -15,6 +15,8 @@
 SRCREV_freetype = "6fc77cee03e078e97afcee0c0e06a2d3274b9a29"
 SRCREV_harfbuzz = "43931e3e596c04044861770b831c8f9452e2d3b0"
 
+SRCREV_FORMAT .= "_freetype_harfbuzz"
+
 S = "${WORKDIR}/git"
 
 inherit autotools pkgconfig features_check
diff --git a/meta-openembedded/meta-oe/recipes-graphics/lvgl/lv-lib-png_8.0.2.bb b/meta-openembedded/meta-oe/recipes-graphics/lvgl/lv-lib-png_8.0.2.bb
index 22b4826..0049bbe 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/lvgl/lv-lib-png_8.0.2.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/lvgl/lv-lib-png_8.0.2.bb
@@ -8,7 +8,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=d6fc0df890c5270ef045981b516bb8f2"
 
-SRC_URI = "git://github.com/lvgl/lv_lib_png;;protocol=https;nobranch=1"
+SRC_URI = "git://github.com/lvgl/lv_lib_png;;protocol=https;branch=master"
 SRCREV = "bf1531afe07c9f861107559e29ab8a2d83e4715a"
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/lvgl/lvgl_8.3.8.bb b/meta-openembedded/meta-oe/recipes-graphics/lvgl/lvgl_8.3.9.bb
similarity index 96%
rename from meta-openembedded/meta-oe/recipes-graphics/lvgl/lvgl_8.3.8.bb
rename to meta-openembedded/meta-oe/recipes-graphics/lvgl/lvgl_8.3.9.bb
index 6103a02..dc681c2 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/lvgl/lvgl_8.3.8.bb
+++ b/meta-openembedded/meta-oe/recipes-graphics/lvgl/lvgl_8.3.9.bb
@@ -9,7 +9,7 @@
 LIC_FILES_CHKSUM = "file://LICENCE.txt;md5=bf1198c89ae87f043108cea62460b03a"
 
 SRC_URI = "git://github.com/lvgl/lvgl;protocol=https;branch=release/v8.3"
-SRCREV = "e6d7be00bfa5e1df450c7b713003a9effa03c614"
+SRCREV = "9ec3b8706b098f60940cee6ac211d3cb3141aedf"
 
 inherit cmake
 
diff --git a/meta-openembedded/meta-oe/recipes-graphics/neatvnc/neatvnc_git.bb b/meta-openembedded/meta-oe/recipes-graphics/neatvnc/neatvnc_git.bb
new file mode 100644
index 0000000..8344015
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/neatvnc/neatvnc_git.bb
@@ -0,0 +1,40 @@
+SUMMARY = "A liberally licensed VNC server library"
+DESCRIPTION = "This is a liberally licensed VNC server library that's intended to be fast and neat."
+HOMEPAGE = "https://github.com/any1/neatvnc"
+LICENSE = "ISC"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94fc374e7174f41e3afe0f027ee59ff7"
+
+SRC_URI = "git://github.com/any1/neatvnc;branch=master;protocol=https"
+
+SRCREV = "8b3dc1ae6099dcfa73aec3ae11df2fdc58540d14"
+
+PV = "0.6.0+git${SRCPV}"
+
+S = "${WORKDIR}/git"
+
+DEPENDS = "libdrm pixman aml zlib"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[tls] = "-Dtls=enabled,-Dtls=disabled,gnutls"
+PACKAGECONFIG[jpeg] = "-Djpeg=enabled,-Djpeg=disabled,libjpeg-turbo"
+PACKAGECONFIG[examples] = "-Dexamples=true,-Dexamples=false,libpng"
+PACKAGECONFIG[benchmarks] = "-Dbenchmarks=true,-Dbenchmarks=false,libpng"
+
+PACKAGE_BEFORE_PN += "${PN}-examples"
+ALLOW_EMPTY:${PN}-examples = "1"
+FILES:${PN}-examples = "${bindir}"
+
+NEATVNC_EXAMPLES = "draw png-server"
+
+inherit meson pkgconfig
+
+do_install:append () {
+	if ${@bb.utils.contains('PACKAGECONFIG', 'examples', 'true', 'false', d)}; then
+		install -d ${D}${bindir}
+		for bin in ${NEATVNC_EXAMPLES}; do
+			install -m 0755 ${B}/examples/$bin ${D}${bindir}
+		done
+	fi
+}
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-google-fira.bb b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-google-fira.bb
new file mode 100644
index 0000000..d618607
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-graphics/ttf-fonts/ttf-google-fira.bb
@@ -0,0 +1,61 @@
+SUMMARY = "Google Fira Fonts- TTF Edition"
+HOMEPAGE = "https://fonts.google.com/?query=fira"
+LICENSE = "OFL-1.1"
+LIC_FILES_CHKSUM = " \
+    file://${S}/firamono/OFL.txt;md5=0373cf792d4b95c61399b94c02702892 \
+    file://${S}/firacode/OFL.txt;md5=c75ca55aa0a5809a854d87db2a8ebf23 \
+    file://${S}/firasans/OFL.txt;md5=de28deb2f8c1f23fd4d6918113ac3ddd \
+    file://${S}/firasanscondensed/OFL.txt;md5=de28deb2f8c1f23fd4d6918113ac3ddd \
+    file://${S}/firasansextracondensed/OFL.txt;md5=de28deb2f8c1f23fd4d6918113ac3ddd \
+"
+
+SRCREV_FORMAT = "firamono_firacode_firasans_firasanscondensed_firasansextracondensed"
+
+SRCREV_firamono = "701bd391b1a4b3238de193a8523009ecef1be42c"
+SRCREV_firacode = "701bd391b1a4b3238de193a8523009ecef1be42c"
+SRCREV_firasans = "701bd391b1a4b3238de193a8523009ecef1be42c"
+SRCREV_firasanscondensed = "701bd391b1a4b3238de193a8523009ecef1be42c"
+SRCREV_firasansextracondensed = "701bd391b1a4b3238de193a8523009ecef1be42c"
+
+SRC_URI = "git://github.com/google/fonts.git;protocol=https;branch=main;subpath=ofl/firamono;name=firamono \
+           git://github.com/google/fonts.git;protocol=https;branch=main;subpath=ofl/firacode;name=firacode \
+           git://github.com/google/fonts.git;protocol=https;branch=main;subpath=ofl/firasans;name=firasans \
+           git://github.com/google/fonts.git;protocol=https;branch=main;subpath=ofl/firasanscondensed;name=firasanscondensed \
+           git://github.com/google/fonts.git;protocol=https;branch=main;subpath=ofl/firasansextracondensed;name=firasansextracondensed"
+
+S = "${WORKDIR}"
+
+do_install:append() {
+    install -d ${D}${datadir}/fonts/truetype/
+    find ${S} -path 'fira*/*.tt[cf]' -exec install -m 0644 {} ${D}${datadir}/fonts/truetype/{} \;
+    install -D -m 0644 ${S}/firamono/OFL.txt ${D}${datadir}/licenses/${PN}mono/OFL.txt
+    install -D -m 0644 ${S}/firacode/OFL.txt ${D}${datadir}/licenses/${PN}code/OFL.txt
+    install -D -m 0644 ${S}/firasans/OFL.txt ${D}${datadir}/licenses/${PN}sans/OFL.txt
+    install -D -m 0644 ${S}/firasanscondensed/OFL.txt ${D}${datadir}/licenses/${PN}sanscondensed/OFL.txt
+    install -D -m 0644 ${S}/firasansextracondensed/OFL.txt ${D}${datadir}/licenses/${PN}sansextracondensed/OFL.txt
+}
+
+PACKAGES =+ "${PN}-mono ${PN}-code ${PN}-sans ${PN}-sanscondensed ${PN}-sansextracondensed"
+
+FILES:${PN}-mono += " \
+                    ${datadir}/fonts/truetype/FiraMono* \
+                    ${datadir}/licenses/${PN}mono/OFL.txt \
+                "
+FILES:${PN}-code += " \
+                    ${datadir}/fonts/truetype/FiraCode* \
+                    ${datadir}/licenses/${PN}code/OFL.txt \
+                "
+FILES:${PN}-sans += " \
+                    ${datadir}/fonts/truetype/FiraSans-* \
+                    ${datadir}/licenses/${PN}sans/OFL.txt \
+                "
+FILES:${PN}-sanscondensed += " \
+                            ${datadir}/fonts/truetype/FiraSansCondensed-* \
+                            ${datadir}/licenses/${PN}sanscondensed/OFL.txt \
+                        "
+FILES:${PN}-sansextracondensed += " \
+                                    ${datadir}/fonts/truetype/FiraSansExtraCondensed-* \
+                                    ${datadir}/licenses/${PN}sansextracondensed/OFL.txt \
+                                 "
+
+require ttf.inc
diff --git a/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc b/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc
index 097acc1..7200563 100644
--- a/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc
+++ b/meta-openembedded/meta-oe/recipes-graphics/vk-gl-cts/khronos-cts.inc
@@ -74,9 +74,9 @@
     distrofeatures = (d.getVar("DISTRO_FEATURES") or "")
     if not bb.utils.contains_any("PACKAGECONFIG", ["surfaceless", "wayland", "x11_egl", "x11_glx", "x11_egl_glx"], True, False, d):
         if "wayland" in distrofeatures:
-            d.appendVar("DEPENDS", " wayland-native wayland wayland-protocols")
+            d.appendVar("DEPENDS", " wayland-native ${MLPREFIX}wayland ${MLPREFIX}wayland-protocols")
         if "x11" in distrofeatures:
-            d.appendVar("DEPENDS", " virtual/libx11 virtual/egl ")
+            d.appendVar("DEPENDS", " virtual/${MLPREFIX}libx11 virtual/${MLPREFIX}egl ")
 }
 
 CTSDIR = "/usr/lib/${BPN}"
diff --git a/meta-openembedded/meta-oe/recipes-kernel/bpftool/bpftool.bb b/meta-openembedded/meta-oe/recipes-kernel/bpftool/bpftool.bb
index bbfab47..317ec19 100644
--- a/meta-openembedded/meta-oe/recipes-kernel/bpftool/bpftool.bb
+++ b/meta-openembedded/meta-oe/recipes-kernel/bpftool/bpftool.bb
@@ -18,6 +18,7 @@
     LD="${LD}" \
     AR=${AR} \
     ARCH=${ARCH} \
+    bash_compdir=${prefix}/share/bash-completion \
 "
 
 SECURITY_CFLAGS = ""
@@ -42,3 +43,7 @@
 }
 
 B = "${WORKDIR}/${BPN}-${PV}"
+
+FILES:${PN} += "${exec_prefix}/sbin/*"
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/jack/jack_1.19.22.bb b/meta-openembedded/meta-oe/recipes-multimedia/jack/jack_1.19.22.bb
index b85b799..104b946 100644
--- a/meta-openembedded/meta-oe/recipes-multimedia/jack/jack_1.19.22.bb
+++ b/meta-openembedded/meta-oe/recipes-multimedia/jack/jack_1.19.22.bb
@@ -12,7 +12,7 @@
     file://common/jack/jack.h;beginline=1;endline=19;md5=6b736ed6b810592b135480a5e853392e \
 "
 
-DEPENDS = "libsamplerate0 libsndfile1 readline"
+DEPENDS = "libsamplerate0 libsndfile1"
 
 SRC_URI = "git://github.com/jackaudio/jack2.git;branch=master;protocol=https"
 SRCREV = "4f58969432339a250ce87fe855fb962c67d00ddb"
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/libopus/libopus_1.4.bb b/meta-openembedded/meta-oe/recipes-multimedia/libopus/libopus_1.4.bb
index 2002117..127c8be 100644
--- a/meta-openembedded/meta-oe/recipes-multimedia/libopus/libopus_1.4.bb
+++ b/meta-openembedded/meta-oe/recipes-multimedia/libopus/libopus_1.4.bb
@@ -29,8 +29,8 @@
 
 # ne10 is available only for armv7a, armv7ve and aarch64
 DEPENDS:append:aarch64 = " ne10"
-DEPENDS:append:armv7a = " ne10"
-DEPENDS:append:armv7ve = " ne10"
+DEPENDS:append:armv7a = "${@bb.utils.contains("TUNE_FEATURES","neon"," ne10","",d)}"
+DEPENDS:append:armv7ve = "${@bb.utils.contains("TUNE_FEATURES","neon"," ne10","",d)}"
 
 python () {
     if d.getVar('TARGET_FPU') in [ 'soft' ]:
@@ -52,3 +52,5 @@
 ARM_INSTRUCTION_SET:armv5 = "arm"
 
 BBCLASSEXTEND = "native nativesdk"
+
+CVE_PRODUCT += "opus-codec:opus"
diff --git a/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.13.0.bb b/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.13.0.bb
index 79b330c..558b448 100644
--- a/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.13.0.bb
+++ b/meta-openembedded/meta-oe/recipes-multimedia/webm/libvpx_1.13.0.bb
@@ -26,7 +26,7 @@
 
 VPXTARGET:armv5te = "armv5te-linux-gcc"
 VPXTARGET:armv6 = "armv6-linux-gcc"
-VPXTARGET:armv7a = "armv7-linux-gcc"
+VPXTARGET:armv7a = "${@bb.utils.contains("TUNE_FEATURES","neon","armv7-linux-gcc","generic-gnu",d)}"
 VPXTARGET ?= "generic-gnu"
 
 CONFIGUREOPTS = " \
diff --git a/meta-openembedded/meta-oe/recipes-navigation/geoclue/geoclue_2.7.0.bb b/meta-openembedded/meta-oe/recipes-navigation/geoclue/geoclue_2.7.0.bb
index 6784b09..822e304 100644
--- a/meta-openembedded/meta-oe/recipes-navigation/geoclue/geoclue_2.7.0.bb
+++ b/meta-openembedded/meta-oe/recipes-navigation/geoclue/geoclue_2.7.0.bb
@@ -13,7 +13,7 @@
 inherit meson pkgconfig gtk-doc gobject-introspection vala useradd
 
 SRCREV = "bbfb6289dedb88cb8155d9f6868787d5432e1f90"
-SRC_URI = "git://gitlab.freedesktop.org/geoclue/geoclue.git;protocol=https;nobranch=1 \
+SRC_URI = "git://gitlab.freedesktop.org/geoclue/geoclue.git;protocol=https;branch=master \
     file://0001-libgeoclue-don-t-try-to-use-g-ir-scanner-when-intros.patch \
 "
 
diff --git a/meta-openembedded/meta-oe/recipes-support/appstream/appstream_0.16.2.bb b/meta-openembedded/meta-oe/recipes-support/appstream/appstream_0.16.2.bb
index 1ba4521..240e63a 100644
--- a/meta-openembedded/meta-oe/recipes-support/appstream/appstream_0.16.2.bb
+++ b/meta-openembedded/meta-oe/recipes-support/appstream/appstream_0.16.2.bb
@@ -36,6 +36,7 @@
 
 FILES:${PN} += "${datadir}"
 
+EXTRA_OEMESON:append = " -Ddocs=false"
 EXTRA_OEMESON:class-target += "--cross-file=${WORKDIR}/meson-${PN}.cross"
 
 do_write_config:append:class-target() {
diff --git a/meta-openembedded/meta-oe/recipes-support/emacs/emacs_28.2.bb b/meta-openembedded/meta-oe/recipes-support/emacs/emacs_29.1.bb
similarity index 88%
rename from meta-openembedded/meta-oe/recipes-support/emacs/emacs_28.2.bb
rename to meta-openembedded/meta-oe/recipes-support/emacs/emacs_29.1.bb
index d440265..ae35367 100644
--- a/meta-openembedded/meta-oe/recipes-support/emacs/emacs_28.2.bb
+++ b/meta-openembedded/meta-oe/recipes-support/emacs/emacs_29.1.bb
@@ -5,11 +5,13 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
 
 SRC_URI = "https://ftp.gnu.org/pub/gnu/emacs/emacs-${PV}.tar.xz \
-           file://0001-largefile.m4-Update-from-latest-gnulib.patch \
           "
-SRC_URI:append:class-target = " file://usemake-docfile-native.patch"
+SRC_URI:append:class-target = " \
+    file://use-emacs-native-tools-for-cross-compiling.patch \
+    file://avoid-running-host-binaries-for-sanity.patch \
+"
 
-SRC_URI[sha256sum] = "ee21182233ef3232dc97b486af2d86e14042dbb65bbc535df562c3a858232488"
+SRC_URI[sha256sum] = "d2f881a5cc231e2f5a03e86f4584b0438f83edd7598a09d24a21bd8d003e2e01"
 
 CVE_STATUS[CVE-2007-6109] = "fixed-version: The CPE in the NVD database doesn't reflect correctly the vulnerable versions."
 
@@ -32,24 +34,42 @@
 
 inherit autotools mime-xdg pkgconfig
 
+
+# Create the required native tools for the target build
+do_compile:class-native (){
+    cd ${B}/lib-src
+    oe_runmake make-docfile
+    oe_runmake make-fingerprint
+    cd ${B}/src
+    oe_runmake bootstrap-emacs
+}
+
+do_install:class-native(){
+    install -d ${D}${bindir}
+    install -m 755 ${B}/lib-src/make-docfile ${D}/${bindir}/
+    install -m 755 ${B}/lib-src/make-fingerprint ${D}/${bindir}/
+    install -m 755 ${B}/src/bootstrap-emacs ${D}/${bindir}/
+}
+
+do_compile:prepend:class-target () {
+   # export EMACS env variables for the native tools to use to allow calling bootstrap-emacs
+    export EMACSLOADPATH=${S}/lisp
+    export EMACSDATA=${S}/etc
+}
+
+
+do_install:prepend:class-target(){
+    # export EMACS env variables for the native tools to use to allow calling bootstrap-emacs
+    export EMACSLOADPATH=${S}/lisp
+    export EMACSDATA=${S}/etc
+}
+
 # Remove build host references to avoid target pollution
 do_compile:prepend () {
     sed -i -e 's|${TMPDIR}||g' ${B}/src/config.h
     sed -i -e 's|${B}||g' ${B}/src/epaths.h
 }
 
-do_compile:class-native (){
-    cd ${B}/lib-src
-    oe_runmake make-docfile
-    oe_runmake make-fingerprint
-}
-do_install:class-native(){
-    install -d ${D}${bindir}
-    install -m 755 ${B}/lib-src/make-docfile ${D}/${bindir}/
-    install -m 755 ${B}/lib-src/make-fingerprint ${D}/${bindir}/
-}
-
-
 do_install:append(){
     # Delete systemd stuff, extend using DISTRO_FEATURES?
     rm -rf ${D}/${libdir}
@@ -96,18 +116,28 @@
     ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/bytecomp.elc \
     ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cconv.elc \
     ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cl-generic.elc \
+    ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cl-lib.elc \
+    ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cl-macs.elc \
     ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cl-preloaded.elc \
+    ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/cl-seq.elc \
+    ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/debug-early.elc \
+    ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/easy-mmode.elc \
     ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/easymenu.elc \
     ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/eldoc.elc \
     ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/float-sup.elc \
     ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/gv.elc \
+    ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/inline.elc \
     ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/lisp-mode.elc \
     ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/lisp.elc \
     ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/macroexp.elc \
     ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/map-ynp.elc \
     ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/map.elc \
     ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/nadvice.elc \
+    ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/oclosure.elc \
+    ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/pcase.elc \
     ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/regexp-opt.elc \
+    ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/rmc.elc \
+    ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/rx.elc \
     ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/seq.elc \
     ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/shorthands.elc \
     ${datadir}/${BPN}/${PV}/lisp/emacs-lisp/subr-x.elc \
@@ -141,6 +171,8 @@
     ${datadir}/${BPN}/${PV}/lisp/isearch.elc \
     ${datadir}/${BPN}/${PV}/lisp/jit-lock.elc \
     ${datadir}/${BPN}/${PV}/lisp/jka-cmpr-hook.elc \
+    ${datadir}/${BPN}/${PV}/lisp/jka-compr.elc \
+    ${datadir}/${BPN}/${PV}/lisp/keymap.elc \
     ${datadir}/${BPN}/${PV}/lisp/language/burmese.elc \
     ${datadir}/${BPN}/${PV}/lisp/language/cham.elc \
     ${datadir}/${BPN}/${PV}/lisp/language/chinese.elc \
@@ -153,11 +185,13 @@
     ${datadir}/${BPN}/${PV}/lisp/language/greek.elc \
     ${datadir}/${BPN}/${PV}/lisp/language/hebrew.elc \
     ${datadir}/${BPN}/${PV}/lisp/language/indian.elc \
+    ${datadir}/${BPN}/${PV}/lisp/language/indonesian.elc \
     ${datadir}/${BPN}/${PV}/lisp/language/japanese.elc \
     ${datadir}/${BPN}/${PV}/lisp/language/khmer.elc \
     ${datadir}/${BPN}/${PV}/lisp/language/korean.elc \
     ${datadir}/${BPN}/${PV}/lisp/language/lao.elc \
     ${datadir}/${BPN}/${PV}/lisp/language/misc-lang.elc \
+    ${datadir}/${BPN}/${PV}/lisp/language/philippine.elc \
     ${datadir}/${BPN}/${PV}/lisp/language/romanian.elc \
     ${datadir}/${BPN}/${PV}/lisp/language/sinhala.elc \
     ${datadir}/${BPN}/${PV}/lisp/language/slovak.elc \
@@ -182,7 +216,6 @@
     ${datadir}/${BPN}/${PV}/lisp/rfn-eshadow.elc \
     ${datadir}/${BPN}/${PV}/lisp/select.elc \
     ${datadir}/${BPN}/${PV}/lisp/simple.elc \
-    ${datadir}/${BPN}/${PV}/lisp/simple.elc \
     ${datadir}/${BPN}/${PV}/lisp/startup.elc \
     ${datadir}/${BPN}/${PV}/lisp/subr.elc \
     ${datadir}/${BPN}/${PV}/lisp/tab-bar.elc \
@@ -192,6 +225,7 @@
     ${datadir}/${BPN}/${PV}/lisp/textmodes/page.elc \
     ${datadir}/${BPN}/${PV}/lisp/textmodes/paragraphs.elc \
     ${datadir}/${BPN}/${PV}/lisp/textmodes/text-mode.elc \
+    ${datadir}/${BPN}/${PV}/lisp/thingatpt.elc \
     ${datadir}/${BPN}/${PV}/lisp/tooltip.elc \
     ${datadir}/${BPN}/${PV}/lisp/uniquify.elc \
     ${datadir}/${BPN}/${PV}/lisp/vc/ediff-hook.elc \
diff --git a/meta-openembedded/meta-oe/recipes-support/emacs/files/avoid-running-host-binaries-for-sanity.patch b/meta-openembedded/meta-oe/recipes-support/emacs/files/avoid-running-host-binaries-for-sanity.patch
new file mode 100644
index 0000000..719ee4b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/emacs/files/avoid-running-host-binaries-for-sanity.patch
@@ -0,0 +1,38 @@
+Upstream-Status: Inappropriate  [OE-Specific]
+
+Emacs introduced a sanity-check for the build artifacts, where it
+runs the newly built emacs to perform some checks.
+
+This is not going to work for us since we are cross-compiling,
+we need to avoid running target binaries on the host
+
+Signed-off-by: Alejandro Hernandez Samaniego <alejandro@enedino.org>
+
+Index: emacs-29.1/Makefile.in
+===================================================================
+--- emacs-29.1.orig/Makefile.in
++++ emacs-29.1/Makefile.in
+@@ -416,19 +416,10 @@ advice-on-failure:
+ 	@exit ${exit-status}
+ 
+ sanity-check:
+-	@[ -f .no-advice-on-failure ] && exit 0; true
+-	@v=$$(src/emacs${EXEEXT} --batch --eval \
+-	  '(progn (defun f (n) (if (= 0 n) 1 (* n (f (- n 1))))) (princ (f 10)))' \
+-	  2> /dev/null); \
+-	[ "X$$v" = "X3628800" ] && exit 0; \
+-	echo >&2 '***'; \
+-	echo >&2 '*** '"\"make ${make-target}\" succeeded, but Emacs is not functional."; \
+-	echo >&2 '***'; \
+-	cat Makefile | \
+-	  sed -n '/^# ADVICE-ON-FAILURE-BEGIN:${make-target}/,$${p;/^# ADVICE-ON-FAILURE-END:${make-target}/q;};' | \
+-	  sed 's/^# /*** /' | grep -v '^\*\*\* ADVICE-ON-FAILURE-' >&2; \
+-	echo >&2 '***'; \
+-	exit 1
++# The Makefile will try to call the newly built emacs to perform some checks
++# this is not going to work since it was (probably) built for a different architecture.
++# Avoid calling target binaries from the host and simply assume our build artifacts work.
++	exit 0
+ 
+ .PHONY: all ${SUBDIR} blessmail epaths-force epaths-force-w32 epaths-force-ns-self-contained etc-emacsver
+ 
diff --git a/meta-openembedded/meta-oe/recipes-support/emacs/files/use-emacs-native-tools-for-cross-compiling.patch b/meta-openembedded/meta-oe/recipes-support/emacs/files/use-emacs-native-tools-for-cross-compiling.patch
new file mode 100644
index 0000000..df5e4bd
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/emacs/files/use-emacs-native-tools-for-cross-compiling.patch
@@ -0,0 +1,106 @@
+Upstream-Status: Inappropriate  [OE-Specific]
+
+When building emacs, it builds some tools for the HOST
+that are then used to build for target, such as
+make-fingerprint and make-docfile and bootstrap-emacs,
+this needs to be adapted to be used by bitbake, otherwise
+the compiled executables arent compatible with the HOST.
+
+We also need to be able to use emacs env variables to
+control how bootstrap-emacs is used when cross-compiling.
+
+Use the above mentioned tools provided by the native
+version of the recipe instead.
+
+Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandro@enedino.org>
+
+Index: emacs-29.1/src/Makefile.in
+===================================================================
+--- emacs-29.1.orig/src/Makefile.in
++++ emacs-29.1/src/Makefile.in
+@@ -1,3 +1,4 @@
++
+ ### @configure_input@
+ 
+ # Copyright (C) 1985, 1987-1988, 1993-1995, 1999-2023 Free Software
+@@ -508,7 +509,7 @@ ifeq ($(CHECK_STRUCTS),true)
+ pdumper.o: dmpstruct.h
+ endif
+ dmpstruct.h: $(srcdir)/dmpstruct.awk
+-dmpstruct.h: $(libsrc)/make-fingerprint$(EXEEXT) $(dmpstruct_headers)
++dmpstruct.h:  $(dmpstruct_headers)
+ 	$(AM_V_GEN)POSIXLY_CORRECT=1 awk -f $(srcdir)/dmpstruct.awk \
+ 		$(dmpstruct_headers) > $@
+ 
+@@ -610,8 +611,7 @@ SYSTEM_TYPE = @SYSTEM_TYPE@
+ ## Strictly speaking, emacs does not depend directly on all of $lisp,
+ ## since not all pieces are used on all platforms.  But DOC depends
+ ## on all of $lisp, and emacs depends on DOC, so it is ok to use $lisp here.
+-emacs$(EXEEXT): temacs$(EXEEXT) \
+-                lisp.mk $(etc)/DOC $(lisp) \
++emacs$(EXEEXT): lisp.mk $(etc)/DOC $(lisp) \
+                 $(lispsource)/international/charprop.el ${charsets}
+ ifeq ($(SYSTEM_TYPE),cygwin)
+ 	find ${top_builddir} -name '*.eln' | rebase -v -O -T -
+@@ -654,7 +654,7 @@ endif
+ $(etc)/DOC: $(libsrc)/make-docfile$(EXEEXT) $(doc_obj)
+ 	$(AM_V_GEN)$(MKDIR_P) $(etc)
+ 	$(AM_V_at)rm -f $(etc)/DOC
+-	$(AM_V_at)$(libsrc)/make-docfile -d $(srcdir) \
++	make-docfile -d $(srcdir) \
+ 	  $(SOME_MACHINE_OBJECTS) $(doc_obj) > $(etc)/DOC
+ 
+ $(libsrc)/make-docfile$(EXEEXT) $(libsrc)/make-fingerprint$(EXEEXT): \
+@@ -671,7 +671,7 @@ buildobj.h: Makefile
+ GLOBAL_SOURCES = $(base_obj:.o=.c) $(NS_OBJC_OBJ:.o=.m)
+ 
+ gl-stamp: $(libsrc)/make-docfile$(EXEEXT) $(GLOBAL_SOURCES)
+-	$(AM_V_GLOBALS)$(libsrc)/make-docfile -d $(srcdir) -g $(doc_obj) > globals.tmp
++	make-docfile -d $(srcdir) -g $(doc_obj) > globals.tmp
+ 	$(AM_V_at)$(top_srcdir)/build-aux/move-if-change globals.tmp globals.h
+ 	$(AM_V_at)echo timestamp > $@
+ 
+@@ -685,7 +685,7 @@ $(LIBEGNU_ARCHIVE): $(config_h)
+ 	$(MAKE) -C $(dir $@) all
+ 
+ ifeq ($(HAVE_PDUMPER),yes)
+-MAKE_PDUMPER_FINGERPRINT = $(libsrc)/make-fingerprint$(EXEEXT)
++MAKE_PDUMPER_FINGERPRINT = make-fingerprint
+ else
+ MAKE_PDUMPER_FINGERPRINT =
+ endif
+Index: emacs-29.1/lisp/Makefile.in
+===================================================================
+--- emacs-29.1.orig/lisp/Makefile.in
++++ emacs-29.1/lisp/Makefile.in
+@@ -53,7 +53,7 @@ FIND_DELETE = @FIND_DELETE@
+ # We never change directory before running Emacs, so a relative file
+ # name is fine, and makes life easier.  If we need to change
+ # directory, we can use emacs --chdir.
+-EMACS = ../src/emacs${EXEEXT}
++EMACS = bootstrap-emacs
+ 
+ # Command line flags for Emacs.
+ 
+@@ -109,7 +109,7 @@ MAIN_FIRST = ./emacs-lisp/eieio.el ./ema
+   ./org/oc.el ./org/ol.el ./emacs-lisp/cl-lib.el
+ 
+ # Prevent any settings in the user environment causing problems.
+-unexport EMACSDATA EMACSDOC EMACSLOADPATH EMACSPATH
++unexport EMACSDOC EMACSPATH
+ 
+ # The actual Emacs command run in the targets below.
+ emacs = '$(EMACS)' $(EMACSOPT)
+Index: emacs-29.1/Makefile.in
+===================================================================
+--- emacs-29.1.orig/Makefile.in
++++ emacs-29.1/Makefile.in
+@@ -328,7 +328,7 @@ GLIB_COMPILE_SCHEMAS = glib-compile-sche
+ TRANSFORM = @program_transform_name@
+ 
+ # Prevent any settings in the user environment causing problems.
+-unexport EMACSDATA EMACSDOC EMACSLOADPATH EMACSPATH
++unexport  EMACSDOC EMACSPATH
+ 
+ # What emacs should be called when installed.
+ EMACS_NAME = `echo emacs | sed '$(TRANSFORM)'`
diff --git a/meta-openembedded/meta-oe/recipes-support/emacs/files/usemake-docfile-native.patch b/meta-openembedded/meta-oe/recipes-support/emacs/files/usemake-docfile-native.patch
deleted file mode 100644
index 95b4281..0000000
--- a/meta-openembedded/meta-oe/recipes-support/emacs/files/usemake-docfile-native.patch
+++ /dev/null
@@ -1,85 +0,0 @@
-Upstream-Status: Inappropriate  [OE-Specific]
-
-When building emacs, it builds some tools for the HOST
-that are then used to build for target, such as
-make-fingerprint and make-docfile, this needs to be
-adapted to be used by bitbake, otherwise the compiled
-executables arent compatible with the HOST.
-
-Use the above mentioned tools provided by the native
-version of the recipe instead.
-
-Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandro@enedino.org>
-
-Index: emacs-28.2/src/Makefile.in
-===================================================================
---- emacs-28.2.orig/src/Makefile.in
-+++ emacs-28.2/src/Makefile.in
-@@ -462,7 +462,7 @@ ifeq ($(CHECK_STRUCTS),true)
- pdumper.o: dmpstruct.h
- endif
- dmpstruct.h: $(srcdir)/dmpstruct.awk
--dmpstruct.h: $(libsrc)/make-fingerprint$(EXEEXT) $(dmpstruct_headers)
-+dmpstruct.h:  $(dmpstruct_headers)
- 	$(AM_V_GEN)POSIXLY_CORRECT=1 awk -f $(srcdir)/dmpstruct.awk \
- 		$(dmpstruct_headers) > $@
- 
-@@ -563,8 +563,7 @@ SYSTEM_TYPE = @SYSTEM_TYPE@
- ## Strictly speaking, emacs does not depend directly on all of $lisp,
- ## since not all pieces are used on all platforms.  But DOC depends
- ## on all of $lisp, and emacs depends on DOC, so it is ok to use $lisp here.
--emacs$(EXEEXT): temacs$(EXEEXT) \
--                lisp.mk $(etc)/DOC $(lisp) \
-+emacs$(EXEEXT): lisp.mk $(etc)/DOC $(lisp) \
-                 $(lispsource)/international/charprop.el ${charsets}
- ifeq ($(SYSTEM_TYPE),cygwin)
- 	find ${top_builddir} -name '*.eln' | rebase -v -O -T -
-@@ -597,15 +596,15 @@ endif
- ## for the first time, this prevents any variation between configurations
- ## in the contents of the DOC file.
- ##
--$(etc)/DOC: lisp.mk $(libsrc)/make-docfile$(EXEEXT) $(obj) $(lisp)
-+$(etc)/DOC: lisp.mk $(obj) $(lisp)
- 	$(AM_V_GEN)$(MKDIR_P) $(etc)
- 	$(AM_V_at)rm -f $(etc)/DOC
--	$(AM_V_at)$(libsrc)/make-docfile -d $(srcdir) \
-+	make-docfile -d $(srcdir) \
- 	  $(SOME_MACHINE_OBJECTS) $(obj) > $(etc)/DOC
--	$(AM_V_at)$(libsrc)/make-docfile -a $(etc)/DOC -d $(lispsource) \
-+	make-docfile -a $(etc)/DOC -d $(lispsource) \
- 	  $(shortlisp)
- 
--$(libsrc)/make-docfile$(EXEEXT) $(libsrc)/make-fingerprint$(EXEEXT): \
-+$(libsrc)/make-fingerprint$(EXEEXT): \
-   $(lib)/libgnu.a
- 	$(MAKE) -C $(dir $@) $(notdir $@)
- 
-@@ -618,8 +617,8 @@ buildobj.h: Makefile
- 
- GLOBAL_SOURCES = $(base_obj:.o=.c) $(NS_OBJC_OBJ:.o=.m)
- 
--gl-stamp: $(libsrc)/make-docfile$(EXEEXT) $(GLOBAL_SOURCES)
--	$(AM_V_GLOBALS)$(libsrc)/make-docfile -d $(srcdir) -g $(obj) > globals.tmp
-+gl-stamp: $(GLOBAL_SOURCES)
-+	make-docfile -d $(srcdir) -g $(obj) > globals.tmp
- 	$(AM_V_at)$(top_srcdir)/build-aux/move-if-change globals.tmp globals.h
- 	$(AM_V_at)echo timestamp > $@
- 
-@@ -633,7 +632,7 @@ $(LIBEGNU_ARCHIVE): $(config_h)
- 	$(MAKE) -C $(dir $@) all
- 
- ifeq ($(HAVE_PDUMPER),yes)
--  MAKE_PDUMPER_FINGERPRINT = $(libsrc)/make-fingerprint$(EXEEXT)
-+  MAKE_PDUMPER_FINGERPRINT = make-fingerprint
- else
-   MAKE_PDUMPER_FINGERPRINT =
- endif
-@@ -643,7 +642,7 @@ endif
- ## This goes on to affect various things, and the emacs binary fails
- ## to start if Vinstallation_directory has the wrong value.
- temacs$(EXEEXT): $(LIBXMENU) $(ALLOBJS) $(LIBEGNU_ARCHIVE) $(EMACSRES) \
--  $(charsets) $(charscript) ${emoji-zwj} $(MAKE_PDUMPER_FINGERPRINT)
-+  $(charsets) $(charscript) ${emoji-zwj}
- 	$(AM_V_CCLD)$(CC) -o $@.tmp \
- 	  $(ALL_CFLAGS) $(TEMACS_LDFLAGS) $(LDFLAGS) \
- 	  $(ALLOBJS) $(LIBEGNU_ARCHIVE) $(W32_RES_LINK) $(LIBES)
diff --git a/meta-openembedded/meta-oe/recipes-support/farsight/libnice_0.1.21.bb b/meta-openembedded/meta-oe/recipes-support/farsight/libnice_0.1.21.bb
index f319b99..4a5227f 100644
--- a/meta-openembedded/meta-oe/recipes-support/farsight/libnice_0.1.21.bb
+++ b/meta-openembedded/meta-oe/recipes-support/farsight/libnice_0.1.21.bb
@@ -12,7 +12,7 @@
            file://0001-agent-meson-Replace-filename-with-basename.patch"
 SRC_URI[sha256sum] = "72e73a2acf20f59093e21d5601606e405873503eb35f346fa621de23e99b3b39"
 
-DEPENDS = "glib-2.0 gnutls"
+DEPENDS = "glib-2.0 gnutls ${@bb.utils.contains('DISTRO_FEATURES', 'api-documentation', 'graphviz-native', '', d)}"
 
 PACKAGECONFIG[gupnp] = "-Dgupnp=enabled,-Dgupnp=disabled,gupnp"
 PACKAGECONFIG[gstreamer] = "-Dgstreamer=enabled,-Dgstreamer=disabled,gstreamer1.0"
diff --git a/meta-openembedded/meta-oe/recipes-support/fmt/fmt_10.0.0.bb b/meta-openembedded/meta-oe/recipes-support/fmt/fmt_10.1.1.bb
similarity index 90%
rename from meta-openembedded/meta-oe/recipes-support/fmt/fmt_10.0.0.bb
rename to meta-openembedded/meta-oe/recipes-support/fmt/fmt_10.1.1.bb
index a8e6e56..d6706d3 100644
--- a/meta-openembedded/meta-oe/recipes-support/fmt/fmt_10.0.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/fmt/fmt_10.1.1.bb
@@ -5,7 +5,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=b9257785fc4f3803a4b71b76c1412729"
 
 SRC_URI = "git://github.com/fmtlib/fmt;branch=master;protocol=https"
-SRCREV = "a0b8a92e3d1532361c2f7feb63babc5c18d00ef2"
+SRCREV = "f5e54359df4c26b6230fc61d38aa294581393084"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/glog/glog_0.6.0.bb b/meta-openembedded/meta-oe/recipes-support/glog/glog_0.6.0.bb
index 1c8867f..c09ce73 100644
--- a/meta-openembedded/meta-oe/recipes-support/glog/glog_0.6.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/glog/glog_0.6.0.bb
@@ -7,7 +7,7 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=dc9db360e0bbd4e46672f3fd91dd6c4b"
 
 SRC_URI = " \
-    git://github.com/google/glog.git;nobranch=1;protocol=https \
+    git://github.com/google/glog.git;branch=master;protocol=https \
     file://libexecinfo.patch \
     file://0001-Change-SleepForMilliseconds-parameter-from-unsigned-.patch \
 "
diff --git a/meta-openembedded/meta-oe/recipes-support/gnulib/gnulib_2018-12-18.bb b/meta-openembedded/meta-oe/recipes-support/gnulib/gnulib_2018-12-18.bb
index a279680..9e09b97 100644
--- a/meta-openembedded/meta-oe/recipes-support/gnulib/gnulib_2018-12-18.bb
+++ b/meta-openembedded/meta-oe/recipes-support/gnulib/gnulib_2018-12-18.bb
@@ -13,7 +13,7 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=56a22a6e5bcce45e2c8ac184f81412b5"
 SRCREV = "0d6e3307bbdb8df4d56043d5f373eeeffe4cbef3"
 
-SRC_URI = "git://git.savannah.gnu.org/git/gnulib.git;branch=master \
+SRC_URI = "git://git.savannah.gnu.org/git/gnulib.git;branch=master;protocol=https \
 "
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-support/gosu/gosu_1.16.bb b/meta-openembedded/meta-oe/recipes-support/gosu/gosu_1.16.bb
index b209de1..70c7275 100644
--- a/meta-openembedded/meta-oe/recipes-support/gosu/gosu_1.16.bb
+++ b/meta-openembedded/meta-oe/recipes-support/gosu/gosu_1.16.bb
@@ -11,6 +11,9 @@
 SRCREV = "0e7347714352cd7f2e5edc9d2cf838d9934e6036"
 #v1.1.0
 SRCREV_runc = "067aaf8548d78269dcb2c13b856775e27c410f9c"
+
+SRCREV_FORMAT .= "_runc"
+
 inherit go
 
 CGO_ENABLED = "1"
diff --git a/meta-openembedded/meta-oe/recipes-support/lcms/lcms_2.15.bb b/meta-openembedded/meta-oe/recipes-support/lcms/lcms_2.15.bb
index 3656e1c..6c5766a 100644
--- a/meta-openembedded/meta-oe/recipes-support/lcms/lcms_2.15.bb
+++ b/meta-openembedded/meta-oe/recipes-support/lcms/lcms_2.15.bb
@@ -13,3 +13,5 @@
 S = "${WORKDIR}/lcms2-${PV}"
 
 inherit autotools
+
+CVE_PRODUCT += "littlecms:little_cms_color_engine"
diff --git a/meta-openembedded/meta-oe/recipes-support/libcanberra/files/0001-remove-dropped-templates.patch b/meta-openembedded/meta-oe/recipes-support/libcanberra/files/0001-remove-dropped-templates.patch
new file mode 100644
index 0000000..57f5486
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/libcanberra/files/0001-remove-dropped-templates.patch
@@ -0,0 +1,65 @@
+From dfd3ef4caac300f517f8eeb378f0b0f9ba6a9b06 Mon Sep 17 00:00:00 2001
+From: Markus Volk <f_l_k@t-online.de>
+Date: Tue, 15 Aug 2023 15:41:03 +0200
+Subject: [PATCH] remove dropped gtkdoc templates
+
+Signed-off-by: Markus Volk <f_l_k@t-online.de>
+
+Upstream-Status: Pending
+---
+--- a/gtkdoc/gtk-doc.make	2011-08-25 23:20:22.000000000 +0200
++++ b/gtkdoc/gtk-doc.make	2023-08-15 18:08:02.430729073 +0200
+@@ -33,9 +33,9 @@
+ 	$(HTML_IMAGES)			\
+ 	$(SETUP_FILES)
+ 
+-DOC_STAMPS=setup-build.stamp scan-build.stamp tmpl-build.stamp sgml-build.stamp \
++DOC_STAMPS=setup-build.stamp scan-build.stamp sgml-build.stamp \
+ 	html-build.stamp pdf-build.stamp \
+-	tmpl.stamp sgml.stamp html.stamp pdf.stamp
++	sgml.stamp html.stamp pdf.stamp
+ 
+ SCANOBJ_FILES = 		 \
+ 	$(DOC_MODULE).args 	 \
+@@ -120,27 +120,12 @@
+ $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp
+ 	@true
+ 
+-#### templates ####
+-
+-tmpl-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
+-	@echo '  DOC   Rebuilding template files'
+-	@gtkdoc-mktmpl --module=$(DOC_MODULE) $(MKTMPL_OPTIONS)
+-	@if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+-	  if test -w $(abs_srcdir) ; then \
+-	    cp -rp $(abs_builddir)/tmpl $(abs_srcdir)/; \
+-	  fi \
+-	fi
+-	@touch tmpl-build.stamp
+-
+-tmpl.stamp: tmpl-build.stamp
+-	@true
+-
+ $(srcdir)/tmpl/*.sgml:
+ 	@true
+ 
+ #### xml ####
+ 
+-sgml-build.stamp: tmpl.stamp $(DOC_MODULE)-sections.txt $(srcdir)/tmpl/*.sgml $(expand_content_files)
++sgml-build.stamp: $(DOC_MODULE)-sections.txt $(srcdir)/tmpl/*.sgml $(expand_content_files)
+ 	@echo '  DOC   Building XML'
+ 	@-chmod -R u+w $(srcdir)
+ 	@_source_dir='' ; \
+ --- a/gtkdoc/Makefile.am	2009-01-21 21:52:46.000000000 +0100
++++ b/gtkdoc/Makefile.am	2023-08-15 17:41:59.002498772 +0200
+@@ -31,10 +31,6 @@
+ # e.g. MKDB_OPTIONS=--sgml-mode --output-format=xml
+ MKDB_OPTIONS=--sgml-mode --output-format=xml
+ 
+-# Extra options to supply to gtkdoc-mktmpl
+-# e.g. MKTMPL_OPTIONS=--only-section-tmpl
+-MKTMPL_OPTIONS=
+-
+ # Extra options to supply to gtkdoc-fixref. Not normally needed.
+ # e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html
+ FIXXREF_OPTIONS=
diff --git a/meta-openembedded/meta-oe/recipes-support/libcanberra/libcanberra_0.30.bb b/meta-openembedded/meta-oe/recipes-support/libcanberra/libcanberra_0.30.bb
index 20fe910..95c9479 100644
--- a/meta-openembedded/meta-oe/recipes-support/libcanberra/libcanberra_0.30.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libcanberra/libcanberra_0.30.bb
@@ -12,6 +12,7 @@
     http://0pointer.de/lennart/projects/${BPN}/${BPN}-${PV}.tar.xz \
     file://0001-build-gtk-and-gtk3-version-for-canberra_gtk_play.patch \
     file://0001-gtk-Don-t-assume-all-GdkDisplays-are-GdkX11Displays-.patch \
+    file://0001-remove-dropped-templates.patch \
 "
 SRC_URI[md5sum] = "34cb7e4430afaf6f447c4ebdb9b42072"
 SRC_URI[sha256sum] = "c2b671e67e0c288a69fc33dc1b6f1b534d07882c2aceed37004bf48c601afa72"
diff --git a/meta-openembedded/meta-oe/recipes-support/libcyusbserial/libcyusbserial/0001-CMakeLists.txt-don-t-fall-back-CMAKE_INSTALL_LIBDIR-.patch b/meta-openembedded/meta-oe/recipes-support/libcyusbserial/libcyusbserial/0001-CMakeLists.txt-don-t-fall-back-CMAKE_INSTALL_LIBDIR-.patch
new file mode 100644
index 0000000..d9e1046
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/libcyusbserial/libcyusbserial/0001-CMakeLists.txt-don-t-fall-back-CMAKE_INSTALL_LIBDIR-.patch
@@ -0,0 +1,43 @@
+From 655c5c32b37a2bea12389ed69c0869215fcf5abe Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Sun, 3 Sep 2023 11:22:35 +0200
+Subject: [PATCH] CMakeLists.txt: don't fall back CMAKE_INSTALL_LIBDIR to lib
+
+* testing ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR} existence
+  doesn't really work in cross compilation and on some hosts was causing:
+
+  ERROR: QA Issue: libcyusbserial: Files/directories were installed but not shipped in any package:
+    /usr/lib/libcyusbserial.so.1
+    /usr/lib/libcyusbserial.so
+  Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install.
+  libcyusbserial: 2 installed and not shipped files. [installed-vs-shipped]
+
+  with multilib using /usr/lib32 or /usr/lib64 when the same didn't
+  exist on host.
+
+Upstream-Status: Pending
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+---
+ lib/CMakeLists.txt | 9 ---------
+ 1 file changed, 9 deletions(-)
+
+diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
+index 2b031cb..53a7263 100644
+--- a/lib/CMakeLists.txt
++++ b/lib/CMakeLists.txt
+@@ -6,15 +6,6 @@ if (NOT CMAKE_INSTALL_LIBDIR)
+ include(GNUInstallDirs)
+ endif (NOT CMAKE_INSTALL_LIBDIR)
+ 
+-# Fall back to just "lib" if the item provided by GNUInstallDirs doesn't exist
+-# For example, on Ubuntu 13.10 with CMake 2.8.11.2,
+-# /usr/lib/${CMAKE_LIBRARY_ARCHITECTURE} doesn't exist.
+-if (NOT EXISTS "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
+-    message(STATUS "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR} does not exist. Defaulting libcyusbserial install location to ${CMAKE_INSTALL_PREFIX}/lib.")
+-        set(CMAKE_INSTALL_LIBDIR lib)
+-endif()
+-
+-
+ ################################################################################
+ # Include paths
+ ################################################################################
diff --git a/meta-openembedded/meta-oe/recipes-support/libcyusbserial/libcyusbserial_git.bb b/meta-openembedded/meta-oe/recipes-support/libcyusbserial/libcyusbserial_git.bb
index 81453fb..a691949 100644
--- a/meta-openembedded/meta-oe/recipes-support/libcyusbserial/libcyusbserial_git.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libcyusbserial/libcyusbserial_git.bb
@@ -8,7 +8,9 @@
 PV = "1.0.0+git${SRCPV}"
 
 SRCREV = "655e2d544183d094f0e2d119c7e0c6206a0ddb3f"
-SRC_URI = "git://github.com/cyrozap/${BPN}.git;branch=master;protocol=https"
+SRC_URI = "git://github.com/cyrozap/${BPN}.git;branch=master;protocol=https \
+    file://0001-CMakeLists.txt-don-t-fall-back-CMAKE_INSTALL_LIBDIR-.patch \
+"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod-2.x/gpio-tools-test-bats-modify.patch b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod-2.x/gpio-tools-test-bats-modify.patch
deleted file mode 100644
index 0b2a5e6..0000000
--- a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod-2.x/gpio-tools-test-bats-modify.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From 53f9670d6af1bd0745c1df9c469b269c72607b23 Mon Sep 17 00:00:00 2001
-From: Joe Slater <joe.slater@windriver.com>
-Date: Tue, 6 Jun 2023 08:04:27 -0700
-Subject: [PATCH] tools: tests: modify delays in toggle test
-
-The test "gpioset: toggle (continuous)" uses fixed delays to test
-toggling values. This is not reliable, so we switch to looking
-for transitions from one value to another.
-
-We wait for a transition up to 1.5 seconds.
-
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
-Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
-
-Upstream-Status: Accepted
-
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
----
- tools/gpio-tools-test.bats | 21 ++++++++++++++++-----
- 1 file changed, 16 insertions(+), 5 deletions(-)
-
-diff --git a/tools/gpio-tools-test.bats b/tools/gpio-tools-test.bats
-index c83ca7d..929c35a 100755
---- a/tools/gpio-tools-test.bats
-+++ b/tools/gpio-tools-test.bats
-@@ -141,6 +141,20 @@ gpiosim_check_value() {
- 	[ "$VAL" = "$EXPECTED" ]
- }
- 
-+gpiosim_wait_value() {
-+	local OFFSET=$2
-+	local EXPECTED=$3
-+	local DEVNAME=${GPIOSIM_DEV_NAME[$1]}
-+	local CHIPNAME=${GPIOSIM_CHIP_NAME[$1]}
-+	local PORT=$GPIOSIM_SYSFS/$DEVNAME/$CHIPNAME/sim_gpio$OFFSET/value
-+
-+	for i in {1..15}; do
-+		[ "$(<$PORT)" = "$EXPECTED" ] && return
-+		sleep 0.1
-+	done
-+	return 1
-+}
-+
- gpiosim_cleanup() {
- 	for CHIP in ${!GPIOSIM_CHIP_NAME[@]}
- 	do
-@@ -1567,15 +1581,12 @@ request_release_line() {
- 	gpiosim_check_value sim0 4 0
- 	gpiosim_check_value sim0 7 0
- 
--	sleep 1
--
--	gpiosim_check_value sim0 1 0
-+	gpiosim_wait_value sim0 1 0
- 	gpiosim_check_value sim0 4 1
- 	gpiosim_check_value sim0 7 1
- 
--	sleep 1
- 
--	gpiosim_check_value sim0 1 1
-+	gpiosim_wait_value sim0 1 1
- 	gpiosim_check_value sim0 4 0
- 	gpiosim_check_value sim0 7 0
- }
--- 
-2.25.1
-
diff --git a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_2.0.1.bb b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_2.0.2.bb
similarity index 87%
rename from meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_2.0.1.bb
rename to meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_2.0.2.bb
index 6958f2d..7533e0a 100644
--- a/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_2.0.1.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libgpiod/libgpiod_2.0.2.bb
@@ -9,9 +9,7 @@
 
 FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}-2.x:"
 
-SRC_URI += "file://gpio-tools-test-bats-modify.patch"
-
-SRC_URI[sha256sum] = "b5367d28d045b36007a4ffd42cceda4c358737ef4f2ce22b0c1d05ec57a38392"
+SRC_URI[sha256sum] = "c3c923dc63b7b1b02639c9179c81e3d9febf0887bbaa59775990229cdbedb88b"
 
 # Enable all project features for ptest
 PACKAGECONFIG[tests] = "--enable-tests --enable-tools --enable-bindings-cxx --enable-gpioset-interactive,--disable-tests,kmod util-linux glib-2.0 catch2 libedit"
diff --git a/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb b/meta-openembedded/meta-oe/recipes-support/libiio/libiio_0.25.bb
similarity index 96%
rename from meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb
rename to meta-openembedded/meta-oe/recipes-support/libiio/libiio_0.25.bb
index ecbd2c8..3bdd445 100644
--- a/meta-openembedded/meta-oe/recipes-support/libiio/libiio_git.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libiio/libiio_0.25.bb
@@ -4,10 +4,9 @@
 LICENSE = "LGPL-2.1-or-later"
 LIC_FILES_CHKSUM = "file://COPYING.txt;md5=7c13b3376cea0ce68d2d2da0a1b3a72c"
 
-SRCREV = "eee8cba6f42177a094ebe16759606a719676fda7"
-PV = "0.25"
+SRCREV = "b6028fdeef888ab45f7c1dd6e4ed9480ae4b55e3"
 
-SRC_URI = "git://github.com/analogdevicesinc/libiio.git;protocol=https;branch=master"
+SRC_URI = "git://github.com/analogdevicesinc/libiio.git;protocol=https;branch=main"
 UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-support/libmxml/libmxml_3.3.1.bb b/meta-openembedded/meta-oe/recipes-support/libmxml/libmxml_3.3.1.bb
index b81050b..2f6b1f2 100644
--- a/meta-openembedded/meta-oe/recipes-support/libmxml/libmxml_3.3.1.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libmxml/libmxml_3.3.1.bb
@@ -4,7 +4,7 @@
 HOMEPAGE = "https://www.msweet.org/mxml/"
 BUGTRACKER = "https://github.com/michaelrsweet/mxml/issues"
 
-SRC_URI = "git://github.com/michaelrsweet/mxml.git;nobranch=1;protocol=https"
+SRC_URI = "git://github.com/michaelrsweet/mxml.git;branch=master;protocol=https"
 SRCREV = "fd47c7d115191c8a6bce2c781ffee41e179530f2"
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/libosinfo/libosinfo/0001-meson.build-allow-crosscompiling-gir.patch b/meta-openembedded/meta-oe/recipes-support/libosinfo/libosinfo/0001-meson.build-allow-crosscompiling-gir.patch
new file mode 100644
index 0000000..778a1f6
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/libosinfo/libosinfo/0001-meson.build-allow-crosscompiling-gir.patch
@@ -0,0 +1,28 @@
+From 123b5a4c5e09f4262d4545a0bc5edb01a19b6b76 Mon Sep 17 00:00:00 2001
+From: Markus Volk <f_l_k@t-online.de>
+Date: Mon, 21 Aug 2023 10:06:55 +0200
+Subject: [PATCH] meson.build: allow crosscompiling gir
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Markus Volk <f_l_k@t-online.de>
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 39b739e..46f2252 100644
+--- a/meson.build
++++ b/meson.build
+@@ -29,7 +29,7 @@ libosinfo_pkgconfdir = join_paths(libosinfo_libdir, 'pkgconfig')
+ 
+ # gobject introspection
+ gir = find_program('g-ir-scanner', required: get_option('enable-introspection'))
+-enable_introspection = gir.found() and not meson.is_cross_build()
++enable_introspection = gir.found()
+ 
+ # vala
+ vapi_opt = get_option('enable-vala')
+-- 
+2.41.0
+
diff --git a/meta-openembedded/meta-oe/recipes-support/libosinfo/libosinfo_1.10.bb b/meta-openembedded/meta-oe/recipes-support/libosinfo/libosinfo_1.10.bb
new file mode 100644
index 0000000..d724c52
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/libosinfo/libosinfo_1.10.bb
@@ -0,0 +1,32 @@
+SUMMARY = "API for managing information about operating systems, hypervisors and the (virtual) hardware devices."
+HOMEPAGE = "https://libosinfo.org"
+
+LICENSE = "LGPL-2.1-only & GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2b0e9926530c269f5ae95560370195af"
+LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI = " \
+	git://gitlab.com/libosinfo/libosinfo.git;branch=main;protocol=https \
+	file://0001-meson.build-allow-crosscompiling-gir.patch \
+"
+
+SRCREV = "f503ff7a9e13963bcf396776bce0b209a819ba9b"
+
+S = "${WORKDIR}/git"
+
+inherit meson pkgconfig gtk-doc gobject-introspection vala
+
+DEPENDS = "glib-2.0 libsoup libxslt"
+
+GIR_MESON_OPTION = "enable-introspection"
+GIR_MESON_ENABLE_FLAG = 'enabled'
+GIR_MESON_DISABLE_FLAG = 'disabled'
+GTKDOC_MESON_OPTION = "enable-gtk-doc"
+
+EXTRA_OEMESON += " \
+	-Dwith-pci-ids-path=${datadir}/pci.ids \
+	-Dwith-usb-ids-path=${datadir}/usb.ids \
+	${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-Denable-vala=enabled', '-Denable-vala=disabled', d)} \
+"
+
+RDEPENDS:${PN} = "pciutils-ids usbids"
diff --git a/meta-openembedded/meta-oe/recipes-support/libssh/libssh/run-ptest b/meta-openembedded/meta-oe/recipes-support/libssh/libssh/run-ptest
index 159994e..6346b72 100644
--- a/meta-openembedded/meta-oe/recipes-support/libssh/libssh/run-ptest
+++ b/meta-openembedded/meta-oe/recipes-support/libssh/libssh/run-ptest
@@ -1,53 +1,17 @@
 #!/bin/sh
 
-# Valid tests to run
-tests="torture_bind_config \
-       torture_buffer \
-       torture_bytearray \
-       torture_callbacks \
-       torture_channel \
-       torture_config \
-       torture_crypto \
-       torture_hashes \
-       torture_init \
-       torture_isipaddr \
-       torture_keyfiles \
-       torture_knownhosts_parsing \
-       torture_list \
-       torture_misc \
-       torture_moduli \
-       torture_options \
-       torture_packet \
-       torture_packet_filter \
-       torture_pki \
-       torture_pki_ecdsa \
-       torture_pki_ed25519 \
-       torture_pki_rsa \
-       torture_push_pop_dir \
-       torture_rand \
-       torture_session_keys \
-       torture_temp_dir \
-       torture_temp_file \
-       torture_threads_buffer \
-       torture_threads_crypto \
-       torture_threads_init \
-       torture_threads_pki_rsa \
-       torture_tokens \
-	  "
-
 ptestdir=$(dirname "$(readlink -f "$0")")
 cd "$ptestdir"/tests || exit
 
-# Run specified tests
+tests=$(find * -type f -name 'torture_*')
+
 for f in $tests
 do
-    if test -e ./"$f"; then
+    if test -x ./"$f"; then
         if ./"$f" > ./"$f".out 2> ./"$f".err; then
             echo "PASS: $f"
         else
             echo "FAIL: $f"
         fi
-    else
-        echo "SKIP: $f"
     fi
 done
diff --git a/meta-openembedded/meta-oe/recipes-support/libssh/libssh_0.10.4.bb b/meta-openembedded/meta-oe/recipes-support/libssh/libssh_0.10.5.bb
similarity index 84%
rename from meta-openembedded/meta-oe/recipes-support/libssh/libssh_0.10.4.bb
rename to meta-openembedded/meta-oe/recipes-support/libssh/libssh_0.10.5.bb
index 4b2ced5..f33987a 100644
--- a/meta-openembedded/meta-oe/recipes-support/libssh/libssh_0.10.4.bb
+++ b/meta-openembedded/meta-oe/recipes-support/libssh/libssh_0.10.5.bb
@@ -11,7 +11,7 @@
            file://0001-libgcrypt.c-Fix-prototype-of-des3_encrypt-des3_decry.patch \
            file://run-ptest \
           "
-SRCREV = "e8322817a9e5aaef0698d779ddd467a209a85d85"
+SRCREV = "479eca13aaaa46b43e68c52186e3783f06ae6f34"
 
 S = "${WORKDIR}/git"
 
@@ -34,12 +34,15 @@
 do_compile:prepend () {
     if [ ${PTEST_ENABLED} = "1" ]; then
         sed -i -e 's|${B}|${PTEST_PATH}|g' ${B}/config.h
+        sed -i -e 's|${S}|${PTEST_PATH}|g' ${B}/config.h
     fi
 }
 
 do_install_ptest () {
     install -d ${D}${PTEST_PATH}/tests
     cp -f ${B}/tests/unittests/torture_* ${D}${PTEST_PATH}/tests/
+    install -d ${D}${PTEST_PATH}/tests/unittests
+    cp -f ${S}/tests/unittests/hello*.sh ${D}${PTEST_PATH}/tests/unittests/
 }
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-openembedded/meta-oe/recipes-support/liburing/liburing/0001-Fixes-build-failure-on-.-configure-make-shuffle-2836.patch b/meta-openembedded/meta-oe/recipes-support/liburing/liburing/0001-Fixes-build-failure-on-.-configure-make-shuffle-2836.patch
new file mode 100644
index 0000000..0cf8548
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/liburing/liburing/0001-Fixes-build-failure-on-.-configure-make-shuffle-2836.patch
@@ -0,0 +1,34 @@
+From c34dca74854cb6e7f2b09affa2a4ab0145e62371 Mon Sep 17 00:00:00 2001
+From: Kartik Mahajan <stonebrakert6@gmail.com>
+Date: Fri, 30 Jun 2023 11:34:07 +0530
+Subject: [PATCH] Fixes build failure on ./configure && make
+ --shuffle=2836571325
+
+./configure && make --shuffle=2836571325 fails.
+The build fails on parallel builds for me and above command reproduces it.
+Note that --shuffle options is available on make version >= 4.4
+Target ffi_libname in src/Makefile should have a additional dependency
+upon $(liburing_sobjs)
+
+Upstream-Status: Backport [https://github.com/axboe/liburing/commit/c34dca74854cb6e7f2b09affa2a4ab0145e62371]
+Signed-off-by: Kartik Mahajan <stonebrakert6@gmail.com>
+---
+ src/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/Makefile b/src/Makefile
+index c4c28cb..7832095 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -81,7 +81,7 @@ liburing-ffi.a: $(liburing_objs) $(liburing_ffi_objs)
+ $(libname): $(liburing_sobjs) liburing.map
+ 	$(QUIET_CC)$(CC) $(SO_CFLAGS) -shared -Wl,--version-script=liburing.map -Wl,-soname=$(soname) -o $@ $(liburing_sobjs) $(LINK_FLAGS)
+ 
+-$(ffi_libname): $(liburing_ffi_objs) $(liburing_ffi_sobjs) liburing-ffi.map
++$(ffi_libname): $(liburing_ffi_objs) $(liburing_ffi_sobjs) $(liburing_sobjs) liburing-ffi.map
+ 	$(QUIET_CC)$(CC) $(SO_CFLAGS) -shared -Wl,--version-script=liburing-ffi.map -Wl,-soname=$(ffi_soname) -o $@ $(liburing_sobjs) $(liburing_ffi_sobjs) $(LINK_FLAGS)
+ 
+ install: $(all_targets)
+-- 
+2.41.0
+
diff --git a/meta-openembedded/meta-oe/recipes-support/liburing/liburing/0001-examples-test-Remove-unused-linux-errqueue.h.patch b/meta-openembedded/meta-oe/recipes-support/liburing/liburing/0001-examples-test-Remove-unused-linux-errqueue.h.patch
deleted file mode 100644
index 21aaf8d..0000000
--- a/meta-openembedded/meta-oe/recipes-support/liburing/liburing/0001-examples-test-Remove-unused-linux-errqueue.h.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 0fbcc44fe1fb2dc6807660b2cff1c2995add095b Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 18 Feb 2023 18:01:22 -0800
-Subject: [PATCH] examples,test: Remove unused linux/errqueue.h
-
-This header is not needed therefore remove it, this cleanup also helps
-compiling on musl/clang
-
-/usr/include/linux/errqueue.h:57:20: error: array has incomplete element typ
-e 'struct timespec'
-        struct timespec ts[3];
-                          ^
-
-Upstream-Status: Submitted [https://github.com/axboe/liburing/pull/798]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- examples/send-zerocopy.c | 1 -
- test/send-zerocopy.c     | 1 -
- 2 files changed, 2 deletions(-)
-
-diff --git a/examples/send-zerocopy.c b/examples/send-zerocopy.c
-index 6092af9..cf1fa8b 100644
---- a/examples/send-zerocopy.c
-+++ b/examples/send-zerocopy.c
-@@ -13,7 +13,6 @@
- #include <string.h>
- 
- #include <arpa/inet.h>
--#include <linux/errqueue.h>
- #include <linux/if_packet.h>
- #include <linux/ipv6.h>
- #include <linux/socket.h>
-diff --git a/test/send-zerocopy.c b/test/send-zerocopy.c
-index 86a31cd..5d578c6 100644
---- a/test/send-zerocopy.c
-+++ b/test/send-zerocopy.c
-@@ -11,7 +11,6 @@
- #include <string.h>
- 
- #include <arpa/inet.h>
--#include <linux/errqueue.h>
- #include <linux/if_packet.h>
- #include <linux/ipv6.h>
- #include <linux/socket.h>
--- 
-2.39.2
-
diff --git a/meta-openembedded/meta-oe/recipes-support/liburing/liburing_2.3.bb b/meta-openembedded/meta-oe/recipes-support/liburing/liburing_2.4.bb
similarity index 89%
rename from meta-openembedded/meta-oe/recipes-support/liburing/liburing_2.3.bb
rename to meta-openembedded/meta-oe/recipes-support/liburing/liburing_2.4.bb
index 7d8c2f5..e5dba70 100644
--- a/meta-openembedded/meta-oe/recipes-support/liburing/liburing_2.3.bb
+++ b/meta-openembedded/meta-oe/recipes-support/liburing/liburing_2.4.bb
@@ -10,12 +10,11 @@
 LIC_FILES_CHKSUM = "file://README;beginline=41;endline=44;md5=2b0e9926530c269f5ae95560370195af"
 
 SRC_URI = "git://github.com/axboe/liburing.git;branch=master;protocol=https \
-           file://0001-examples-test-Remove-unused-linux-errqueue.h.patch"
+           file://0001-Fixes-build-failure-on-.-configure-make-shuffle-2836.patch"
 SRC_URI:append:libc-musl:riscv64 = " file://0001-do-not-build-examples.patch "
 SRC_URI:append:libc-musl:riscv32 = " file://0001-do-not-build-examples.patch "
-SRCREV = "f5cac78e621ab452d3035902085f66d2bf73243b"
+SRCREV = "298c083d75ecde5a8833366167b3b6abff0c8d39"
 
-PV .= "+2.4+git${SRCPV}"
 S = "${WORKDIR}/git"
 
 DEPENDS:append:libc-musl = " libucontext"
diff --git a/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx/usbgx.service b/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx/usbgx.service
index ba92f1a..d7d394c 100644
--- a/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx/usbgx.service
+++ b/meta-openembedded/meta-oe/recipes-support/libusbgx/libusbgx/usbgx.service
@@ -4,7 +4,7 @@
 After=sys-kernel-config.mount
 
 [Service]
-Type=simple
+Type=oneshot
 ExecStart=/usr/bin/gadget-start
 
 [Install]
diff --git a/meta-openembedded/meta-oe/recipes-support/ne10/ne10_1.2.1.bb b/meta-openembedded/meta-oe/recipes-support/ne10/ne10_1.2.1.bb
index 0e16b15..5193df3 100644
--- a/meta-openembedded/meta-oe/recipes-support/ne10/ne10_1.2.1.bb
+++ b/meta-openembedded/meta-oe/recipes-support/ne10/ne10_1.2.1.bb
@@ -18,12 +18,12 @@
 # Incompatible with archs other than armv7, armv7ve and aarch64
 COMPATIBLE_MACHINE = "(^$)"
 COMPATIBLE_MACHINE:aarch64 = "(.*)"
-COMPATIBLE_MACHINE:armv7a = "(.*)"
-COMPATIBLE_MACHINE:armv7ve = "(.*)"
+COMPATIBLE_MACHINE:armv7a = "${@bb.utils.contains("TUNE_FEATURES","neon","(.*)","(^$)",d)}"
+COMPATIBLE_MACHINE:armv7ve = "${@bb.utils.contains("TUNE_FEATURES","neon","(.*)","(^$)",d)}"
 NE10_TARGET_ARCH = ""
 NE10_TARGET_ARCH:aarch64 = "aarch64"
-NE10_TARGET_ARCH:armv7a = "armv7"
-NE10_TARGET_ARCH:armv7ve = "armv7"
+NE10_TARGET_ARCH:armv7a = "${@bb.utils.contains("TUNE_FEATURES","neon","armv7","",d)}"
+NE10_TARGET_ARCH:armv7ve = "${@bb.utils.contains("TUNE_FEATURES","neon","armv7","",d)}"
 
 EXTRA_OECMAKE = '-DGNULINUX_PLATFORM=ON -DNE10_BUILD_SHARED=ON -DNE10_LINUX_TARGET_ARCH="${NE10_TARGET_ARCH}"'
 
diff --git a/meta-openembedded/meta-oe/recipes-support/poppler/poppler/CVE-2023-34872.patch b/meta-openembedded/meta-oe/recipes-support/poppler/poppler/CVE-2023-34872.patch
new file mode 100644
index 0000000..cc942fa
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/poppler/poppler/CVE-2023-34872.patch
@@ -0,0 +1,46 @@
+From 591235c8b6c65a2eee88991b9ae73490fd9afdfe Mon Sep 17 00:00:00 2001
+From: Albert Astals Cid <aacid@kde.org>
+Date: Fri, 18 Aug 2023 11:36:06 +0000
+Subject: [PATCH] OutlineItem::open: Fix crash on malformed files
+
+Fixes #1399
+
+CVE: CVE-2023-34872
+
+Upstream-Status: Backport [https://gitlab.freedesktop.org/poppler/poppler/-/commit/591235c8b6c65a2eee88991b9ae73490fd9afdfe]
+
+Signed-off-by: Yogita Urade <yogita.urade@windriver.com>
+---
+ poppler/Outline.cc | 10 +++++++---
+ 1 file changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/poppler/Outline.cc b/poppler/Outline.cc
+index cbb6cb4..4c68be9 100644
+--- a/poppler/Outline.cc
++++ b/poppler/Outline.cc
+@@ -14,7 +14,7 @@
+ // under GPL version 2 or later
+ //
+ // Copyright (C) 2005 Marco Pesenti Gritti <mpg@redhat.com>
+-// Copyright (C) 2008, 2016-2019, 2021 Albert Astals Cid <aacid@kde.org>
++// Copyright (C) 2008, 2016-2019, 2021, 2023 Albert Astals Cid <aacid@kde.org>
+ // Copyright (C) 2009 Nick Jones <nick.jones@network-box.com>
+ // Copyright (C) 2016 Jason Crain <jason@aquaticape.us>
+ // Copyright (C) 2017 Adrian Johnson <ajohnson@redneon.com>
+@@ -483,8 +483,12 @@ void OutlineItem::open()
+ {
+     if (!kids) {
+         Object itemDict = xref->fetch(ref);
+-        const Object &firstRef = itemDict.dictLookupNF("First");
+-        kids = readItemList(this, &firstRef, xref, doc);
++        if (itemDict.isDict()) {
++            const Object &firstRef = itemDict.dictLookupNF("First");
++            kids = readItemList(this, &firstRef, xref, doc);
++        } else {
++            kids = new std::vector<OutlineItem *>();
++        }
+     }
+ }
+
+--
+2.35.5
diff --git a/meta-openembedded/meta-oe/recipes-support/poppler/poppler_23.04.0.bb b/meta-openembedded/meta-oe/recipes-support/poppler/poppler_23.04.0.bb
index 8961768..f4411e1 100644
--- a/meta-openembedded/meta-oe/recipes-support/poppler/poppler_23.04.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/poppler/poppler_23.04.0.bb
@@ -8,6 +8,7 @@
            file://basename-include.patch \
            file://0001-cmake-Do-not-use-isystem.patch \
            file://jpeg-stdio.patch \
+           file://CVE-2023-34872.patch \
            "
 SRC_URI[sha256sum] = "b6d893dc7dcd4138b9e9df59a13c59695e50e80dc5c2cacee0674670693951a1"
 
diff --git a/meta-openembedded/meta-oe/recipes-support/sg3-utils/sg3-utils/0001-sg_dd.c-Use-off_t-instead-of-uint.patch b/meta-openembedded/meta-oe/recipes-support/sg3-utils/sg3-utils/0001-sg_dd.c-Use-off_t-instead-of-uint.patch
deleted file mode 100644
index 317876f..0000000
--- a/meta-openembedded/meta-oe/recipes-support/sg3-utils/sg3-utils/0001-sg_dd.c-Use-off_t-instead-of-uint.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 9a8ede03ef61cdf527ce3a80771150a7452e4603 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 11 Mar 2023 22:56:17 -0800
-Subject: [PATCH] sg_dd.c: Use off_t instead of uint
-
-uint is not available on every platform e.g. linux/musl systems. Use
-uint32_t instead to represent 'off' variable, Fixes
-
-sg_dd.c:2402:17: error: use of undeclared identifier 'uint'; did you mean 'int'?
-                uint off;
-                ^~~~
-                int
-1 error generated.
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/sg_dd.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/sg_dd.c b/src/sg_dd.c
-index 9d05c93..35e2423 100644
---- a/src/sg_dd.c
-+++ b/src/sg_dd.c
-@@ -2399,7 +2399,7 @@ main(int argc, char * argv[])
-             res = blocks * blk_sz;
-             if (iflag.zero && iflag.ff && (blk_sz >= 4)) {
-                 uint32_t pos = (uint32_t)skip;
--                uint off;
-+                uint32_t off;
- 
-                 for (k = 0, off = 0; k < blocks; ++k, off += blk_sz, ++pos) {
-                     for (j = 0; j < (blk_sz - 3); j += 4)
--- 
-2.39.2
-
diff --git a/meta-openembedded/meta-oe/recipes-support/sg3-utils/sg3-utils_1.47.bb b/meta-openembedded/meta-oe/recipes-support/sg3-utils/sg3-utils_1.48.bb
similarity index 73%
rename from meta-openembedded/meta-oe/recipes-support/sg3-utils/sg3-utils_1.47.bb
rename to meta-openembedded/meta-oe/recipes-support/sg3-utils/sg3-utils_1.48.bb
index 1aa65e6..6c3d813 100644
--- a/meta-openembedded/meta-oe/recipes-support/sg3-utils/sg3-utils_1.47.bb
+++ b/meta-openembedded/meta-oe/recipes-support/sg3-utils/sg3-utils_1.48.bb
@@ -8,13 +8,12 @@
 LICENSE = "GPL-2.0-or-later & BSD-2-Clause"
 LIC_FILES_CHKSUM = "file://COPYING;md5=f685699d3ac82f108aa880043fa3feb7"
 
-SRC_URI = "http://sg.danny.cz/sg/p/sg3_utils-${PV}.tgz \
-           file://0001-sg_dd.c-Use-off_t-instead-of-uint.patch"
+SRC_URI = "http://sg.danny.cz/sg/p/sg3_utils-${PV}.tgz"
 MIRRORS += "http://sg.danny.cz/sg/p https://fossies.org/linux/misc"
 
 UPSTREAM_CHECK_REGEX = "sg3_utils-(?P<pver>\d+(\.\d+)+)\.tgz"
 
-SRC_URI[sha256sum] = "8673c7faca849b6b34764332d2aa91f72db05bff7382bb836d0688795199c3e1"
+SRC_URI[sha256sum] = "d62b6c3cf20390fa7357044390084166d25f1d932a1135c450b69fe5c283d773"
 
 inherit autotools-brokensep
 
diff --git a/meta-openembedded/meta-oe/recipes-support/tio/tio_2.6.bb b/meta-openembedded/meta-oe/recipes-support/tio/tio_2.6.bb
index 1a83a2e..faef290 100644
--- a/meta-openembedded/meta-oe/recipes-support/tio/tio_2.6.bb
+++ b/meta-openembedded/meta-oe/recipes-support/tio/tio_2.6.bb
@@ -6,7 +6,7 @@
 LICENSE = "GPL-2.0-or-later"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=0e1a95b7892d3015ecd6d0016f601f2c"
 
-SRC_URI = "git://github.com/tio/tio;protocol=https;nobranch=1"
+SRC_URI = "git://github.com/tio/tio;protocol=https;branch=master"
 SRCREV = "88ef473362c5a1ff0dcd389fd5b1d4d6bf202472"
 
 S = "${WORKDIR}/git"
diff --git a/meta-openembedded/meta-oe/recipes-support/usbids/usbids_2023.01.16.bb b/meta-openembedded/meta-oe/recipes-support/usbids/usbids_2023.01.16.bb
new file mode 100644
index 0000000..b0dd72f
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/usbids/usbids_2023.01.16.bb
@@ -0,0 +1,18 @@
+SUMMARY = "usb device database."
+HOMEPAGE = "https://github.com/usbids/usbids"
+
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=84dcc94da3adb52b53ae4fa38fe49e5d"
+
+SRC_URI = "git://github.com/usbids/usbids.git;branch=master;protocol=https"
+
+SRCREV = "7963233faf69eb9c80ffca8dfc1f31940f75999f"
+
+S = "${WORKDIR}/git"
+
+do_install() {
+	install -d ${D}${datadir}
+	install -m0644 ${S}/usb.ids ${D}${datadir}
+}
+
+FILES:${PN} = "${datadir}"
diff --git a/meta-openembedded/meta-oe/recipes-support/webkitgtk/webkitgtk3_2.40.5.bb b/meta-openembedded/meta-oe/recipes-support/webkitgtk/webkitgtk3_2.40.5.bb
index 7218dbb..5d43f3a 100644
--- a/meta-openembedded/meta-oe/recipes-support/webkitgtk/webkitgtk3_2.40.5.bb
+++ b/meta-openembedded/meta-oe/recipes-support/webkitgtk/webkitgtk3_2.40.5.bb
@@ -102,9 +102,21 @@
 EXTRA_OECMAKE:append:powerpc64 = " -DENABLE_JIT=OFF "
 
 # ARM JIT code does not build on ARMv4/5/6 anymore
+EXTRA_OECMAKE:append:armv4 = " -DENABLE_JIT=OFF "
 EXTRA_OECMAKE:append:armv5 = " -DENABLE_JIT=OFF "
 EXTRA_OECMAKE:append:armv6 = " -DENABLE_JIT=OFF "
-EXTRA_OECMAKE:append:armv4 = " -DENABLE_JIT=OFF "
+
+# And for armv7* don't enable it for softfp, because after:
+# https://github.com/WebKit/WebKit/commit/a2ec4ef1997d6fafa6ffc607bffb54e76168a918
+# https://bugs.webkit.org/show_bug.cgi?id=242172
+# softfp armv7* fails because WEBASSEMBLY is left enabled by default and JIT gets
+# explicitly disabled causing:
+# http://errors.yoctoproject.org/Errors/Details/734587/
+# PR was sent upstream, but the end result is the same both JIT and WEBASSEMBLY disabled
+# https://github.com/WebKit/WebKit/pull/17447
+EXTRA_OECMAKE:append:armv7a = " -DENABLE_JIT=${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', 'ON', 'OFF', d)}"
+EXTRA_OECMAKE:append:armv7r = " -DENABLE_JIT=${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', 'ON', 'OFF', d)}"
+EXTRA_OECMAKE:append:armv7ve = " -DENABLE_JIT=${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', 'ON', 'OFF', d)}"
 
 EXTRA_OECMAKE:append:mipsarch = " -DUSE_LD_GOLD=OFF "
 EXTRA_OECMAKE:append:powerpc = " -DUSE_LD_GOLD=OFF "
diff --git a/meta-openembedded/meta-oe/recipes-support/xdg-dbus-proxy/xdg-dbus-proxy_0.1.4.bb b/meta-openembedded/meta-oe/recipes-support/xdg-dbus-proxy/xdg-dbus-proxy_0.1.5.bb
similarity index 89%
rename from meta-openembedded/meta-oe/recipes-support/xdg-dbus-proxy/xdg-dbus-proxy_0.1.4.bb
rename to meta-openembedded/meta-oe/recipes-support/xdg-dbus-proxy/xdg-dbus-proxy_0.1.5.bb
index 35dee63..e10ccd0 100644
--- a/meta-openembedded/meta-oe/recipes-support/xdg-dbus-proxy/xdg-dbus-proxy_0.1.4.bb
+++ b/meta-openembedded/meta-oe/recipes-support/xdg-dbus-proxy/xdg-dbus-proxy_0.1.5.bb
@@ -14,6 +14,6 @@
 SRC_URI = "git://github.com/flatpak/xdg-dbus-proxy.git;protocol=https;branch=main"
 
 S = "${WORKDIR}/git"
-SRCREV = "6bfe8c32ab23f8c1d80af7a70b3d318a79a17652"
+SRCREV = "7466c8137fc06f863fde8486521984e43a26cd10"
 
 BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-oe/recipes-support/yaml-cpp/yaml-cpp/0001-Fix-CMake-export-files-1077.patch b/meta-openembedded/meta-oe/recipes-support/yaml-cpp/yaml-cpp/0001-Fix-CMake-export-files-1077.patch
deleted file mode 100644
index b6c4a3b..0000000
--- a/meta-openembedded/meta-oe/recipes-support/yaml-cpp/yaml-cpp/0001-Fix-CMake-export-files-1077.patch
+++ /dev/null
@@ -1,117 +0,0 @@
-From 3d436f6cfc2dfe52fc1533c01f57c25ae7ffac9c Mon Sep 17 00:00:00 2001
-From: Felix Schwitzer <flx107809@gmail.com>
-Date: Fri, 1 Apr 2022 05:26:47 +0200
-Subject: [PATCH] Fix CMake export files (#1077)
-
-After configuring the file `yaml-cpp-config.cmake.in`, the result ends up with
-empty variables.  (see also the discussion in #774).
-
-Rework this file and the call to `configure_package_config_file` according the
-cmake documentation
-(https://cmake.org/cmake/help/v3.22/module/CMakePackageConfigHelpers.html?highlight=configure_package_config#command:configure_package_config_file)
-to overcome this issue and allow a simple `find_package` after install.
-
-As there was some discussion about the place where to install the
-`yaml-cpp-config.cmake` file, e.g. #1055, factor out the install location into
-an extra variable to make it easier changing this location in the future.
-
-Also untabify CMakeLists.txt in some places to align with the other code parts in this file.
-
-Upstream-Status: Accepted [https://github.com/jbeder/yaml-cpp/pull/1077]
-
-Signed-off-by: Jasper Orschulko <jasper@fancydomain.eu> 
----
- CMakeLists.txt           | 29 ++++++++++++++++++-----------
- yaml-cpp-config.cmake.in | 10 ++++++----
- 2 files changed, 24 insertions(+), 15 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index b230b9e..983d1a4 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -127,10 +127,16 @@ set_target_properties(yaml-cpp PROPERTIES
-   PROJECT_LABEL "yaml-cpp ${yaml-cpp-label-postfix}"
-   DEBUG_POSTFIX "${CMAKE_DEBUG_POSTFIX}")
- 
-+# FIXME(felix2012): A more common place for the cmake export would be
-+# `CMAKE_INSTALL_LIBDIR`, as e.g. done in ubuntu or in this project for GTest
-+set(CONFIG_EXPORT_DIR "${CMAKE_INSTALL_DATADIR}/cmake/yaml-cpp")
-+set(EXPORT_TARGETS yaml-cpp)
- configure_package_config_file(
-   "${PROJECT_SOURCE_DIR}/yaml-cpp-config.cmake.in"
-   "${PROJECT_BINARY_DIR}/yaml-cpp-config.cmake"
--  INSTALL_DESTINATION "${CMAKE_INSTALL_DATADIR}/cmake/yaml-cpp")
-+  INSTALL_DESTINATION "${CONFIG_EXPORT_DIR}"
-+  PATH_VARS CMAKE_INSTALL_INCLUDEDIR CONFIG_EXPORT_DIR)
-+unset(EXPORT_TARGETS)
- 
- write_basic_package_version_file(
-   "${PROJECT_BINARY_DIR}/yaml-cpp-config-version.cmake"
-@@ -139,30 +145,31 @@ write_basic_package_version_file(
- configure_file(yaml-cpp.pc.in yaml-cpp.pc @ONLY)
- 
- if (YAML_CPP_INSTALL)
--	install(TARGETS yaml-cpp
-+  install(TARGETS yaml-cpp
-     EXPORT yaml-cpp-targets
-     RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
-     LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
-     ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
--	install(DIRECTORY ${PROJECT_SOURCE_DIR}/include/
-+  install(DIRECTORY ${PROJECT_SOURCE_DIR}/include/
-     DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
--		FILES_MATCHING PATTERN "*.h")
-+                FILES_MATCHING PATTERN "*.h")
-   install(EXPORT yaml-cpp-targets
--    DESTINATION "${CMAKE_INSTALL_DATADIR}/cmake/yaml-cpp")
--	install(FILES
--		"${PROJECT_BINARY_DIR}/yaml-cpp-config.cmake"
--		"${PROJECT_BINARY_DIR}/yaml-cpp-config-version.cmake"
--    DESTINATION "${CMAKE_INSTALL_DATADIR}/cmake/yaml-cpp")
-+    DESTINATION "${CONFIG_EXPORT_DIR}")
-+  install(FILES
-+      "${PROJECT_BINARY_DIR}/yaml-cpp-config.cmake"
-+      "${PROJECT_BINARY_DIR}/yaml-cpp-config-version.cmake"
-+    DESTINATION "${CONFIG_EXPORT_DIR}")
-   install(FILES "${PROJECT_BINARY_DIR}/yaml-cpp.pc"
-     DESTINATION ${CMAKE_INSTALL_DATADIR}/pkgconfig)
- endif()
-+unset(CONFIG_EXPORT_DIR)
- 
- if(YAML_CPP_BUILD_TESTS)
--	add_subdirectory(test)
-+  add_subdirectory(test)
- endif()
- 
- if(YAML_CPP_BUILD_TOOLS)
--	add_subdirectory(util)
-+  add_subdirectory(util)
- endif()
- 
- if (YAML_CPP_CLANG_FORMAT_EXE)
-diff --git a/yaml-cpp-config.cmake.in b/yaml-cpp-config.cmake.in
-index 7b41e3f..a7ace3d 100644
---- a/yaml-cpp-config.cmake.in
-+++ b/yaml-cpp-config.cmake.in
-@@ -3,12 +3,14 @@
- #  YAML_CPP_INCLUDE_DIR - include directory
- #  YAML_CPP_LIBRARIES    - libraries to link against
- 
--# Compute paths
--get_filename_component(YAML_CPP_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
--set(YAML_CPP_INCLUDE_DIR "@CONFIG_INCLUDE_DIRS@")
-+@PACKAGE_INIT@
-+
-+set_and_check(YAML_CPP_INCLUDE_DIR "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@")
- 
- # Our library dependencies (contains definitions for IMPORTED targets)
--include("${YAML_CPP_CMAKE_DIR}/yaml-cpp-targets.cmake")
-+include(@PACKAGE_CONFIG_EXPORT_DIR@/yaml-cpp-targets.cmake)
- 
- # These are IMPORTED targets created by yaml-cpp-targets.cmake
- set(YAML_CPP_LIBRARIES "@EXPORT_TARGETS@")
-+
-+check_required_components(@EXPORT_TARGETS@)
--- 
-2.39.2
-
diff --git a/meta-openembedded/meta-oe/recipes-support/yaml-cpp/yaml-cpp_0.7.0.bb b/meta-openembedded/meta-oe/recipes-support/yaml-cpp/yaml-cpp_0.8.0.bb
similarity index 84%
rename from meta-openembedded/meta-oe/recipes-support/yaml-cpp/yaml-cpp_0.7.0.bb
rename to meta-openembedded/meta-oe/recipes-support/yaml-cpp/yaml-cpp_0.8.0.bb
index e04d470..44ac068 100644
--- a/meta-openembedded/meta-oe/recipes-support/yaml-cpp/yaml-cpp_0.7.0.bb
+++ b/meta-openembedded/meta-oe/recipes-support/yaml-cpp/yaml-cpp_0.8.0.bb
@@ -8,8 +8,7 @@
 # yaml-cpp releases are stored as archive files in github.
 # download the exact revision of release
 SRC_URI = "git://github.com/jbeder/yaml-cpp.git;branch=master;protocol=https"
-SRC_URI += "file://0001-Fix-CMake-export-files-1077.patch"
-SRCREV = "0579ae3d976091d7d664aa9d2527e0d0cff25763"
+SRCREV = "f7320141120f720aecc4c32be25586e7da9eb978"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-oe/recipes-test/googletest/googletest_1.13.0.bb b/meta-openembedded/meta-oe/recipes-test/googletest/googletest_1.14.0.bb
similarity index 94%
rename from meta-openembedded/meta-oe/recipes-test/googletest/googletest_1.13.0.bb
rename to meta-openembedded/meta-oe/recipes-test/googletest/googletest_1.14.0.bb
index 2327f85..8c75f93 100644
--- a/meta-openembedded/meta-oe/recipes-test/googletest/googletest_1.13.0.bb
+++ b/meta-openembedded/meta-oe/recipes-test/googletest/googletest_1.14.0.bb
@@ -7,7 +7,7 @@
 PROVIDES += "gmock gtest"
 
 S = "${WORKDIR}/git"
-SRCREV = "b796f7d44681514f58a683a3a71ff17c94edb0c1"
+SRCREV = "f8d7d77c06936315286eb55f8de22cd23c188571"
 SRC_URI = "git://github.com/google/googletest.git;branch=main;protocol=https"
 
 inherit cmake
diff --git a/meta-openembedded/meta-oe/recipes-test/libfaketime/libfaketime/0001-Makefile-Detect-compiler-in-makefile.patch b/meta-openembedded/meta-oe/recipes-test/libfaketime/libfaketime/0001-Makefile-Detect-compiler-in-makefile.patch
new file mode 100644
index 0000000..ff04837
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-test/libfaketime/libfaketime/0001-Makefile-Detect-compiler-in-makefile.patch
@@ -0,0 +1,45 @@
+From 735bb5d053efad274aa4ea5a6682e656ff792909 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 24 Aug 2023 01:49:48 -0700
+Subject: [PATCH] Makefile: Detect compiler in makefile
+
+Add compiler specific options based on detected compiler gcc/clang
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/Makefile | 18 +++++++++++++++++-
+ 1 file changed, 17 insertions(+), 1 deletion(-)
+
+diff --git a/src/Makefile b/src/Makefile
+index 62e924c..c15eb33 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -110,7 +110,23 @@ PREFIX ?= /usr/local
+ LIBDIRNAME ?= /lib/faketime
+ PLATFORM ?=$(shell uname)
+ 
+-CFLAGS += -std=gnu99 -Wall -Wextra -Werror -Wno-nonnull-compare -DFAKE_PTHREAD -DFAKE_STAT -DFAKE_UTIME -DFAKE_SLEEP -DFAKE_TIMERS -DFAKE_INTERNAL_CALLS -fPIC -DPREFIX='"'$(PREFIX)'"' -DLIBDIRNAME='"'$(LIBDIRNAME)'"' $(FAKETIME_COMPILE_CFLAGS)
++ifeq ($(shell $(CC) -v 2>&1 | grep -c "clang version"), 1)
++COMPILER := clang
++else
++COMPILER := gcc
++endif
++export COMPILER
++
++CFLAGS += -std=gnu99 -Wall -Wextra -Werror -DFAKE_PTHREAD -DFAKE_STAT -DFAKE_UTIME -DFAKE_SLEEP -DFAKE_TIMERS -DFAKE_INTERNAL_CALLS -fPIC -DPREFIX='"'$(PREFIX)'"' -DLIBDIRNAME='"'$(LIBDIRNAME)'"' $(FAKETIME_COMPILE_CFLAGS)
++
++ifeq ($(COMPILER),clang)
++CFLAGS += -Wno-tautological-pointer-compare
++endif
++
++ifeq ($(COMPILER),gcc)
++CFLAGS += -Wno-nonnull-compare
++endif
++
+ ifeq ($(PLATFORM),SunOS)
+ CFLAGS += -D__EXTENSIONS__ -D_XOPEN_SOURCE=600
+ endif
+-- 
+2.42.0
+
diff --git a/meta-openembedded/meta-oe/recipes-test/libfaketime/libfaketime_0.9.10.bb b/meta-openembedded/meta-oe/recipes-test/libfaketime/libfaketime_0.9.10.bb
new file mode 100644
index 0000000..f13925e
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-test/libfaketime/libfaketime_0.9.10.bb
@@ -0,0 +1,28 @@
+DESCRIPTION = "A library for faking the system time in user-space programs"
+SECTION = "libs"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRCREV = "d475b925943ad404c6c728ac868dc73949e7281c"
+
+SRC_URI = "git://github.com/wolfcw/libfaketime.git;branch=master;protocol=https \
+           file://0001-Makefile-Detect-compiler-in-makefile.patch \
+           "
+
+S = "${WORKDIR}/git"
+
+CFLAGS:append:libc-musl = " -D_LARGEFILE64_SOURCE"
+
+do_configure[noexec] = "1"
+do_compile () {
+    oe_runmake
+}
+do_install () {
+    install -d ${D}${libdir}/faketime
+    oe_libinstall -C src libfaketime ${D}${libdir}/faketime
+    install -d ${D}${bindir}
+    install -m 0755 src/faketime ${D}${bindir}
+}
+
+FILES:${PN} = "${bindir}/faketime ${libdir}/faketime/lib*${SOLIBS}"
+FILES:${PN}-dev += "${libdir}/faketime/lib*${SOLIBSDEV}"
diff --git a/meta-openembedded/meta-perl/conf/layer.conf b/meta-openembedded/meta-perl/conf/layer.conf
index 98948fd..1b130b9 100644
--- a/meta-openembedded/meta-perl/conf/layer.conf
+++ b/meta-openembedded/meta-perl/conf/layer.conf
@@ -15,4 +15,4 @@
 
 LAYERDEPENDS_perl-layer = "core openembedded-layer"
 
-LAYERSERIES_COMPAT_perl-layer = "mickledore"
+LAYERSERIES_COMPAT_perl-layer = "nanbield"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libio/libio-socket-ssl-perl_2.078.bb b/meta-openembedded/meta-perl/recipes-perl/libio/libio-socket-ssl-perl_2.083.bb
similarity index 89%
rename from meta-openembedded/meta-perl/recipes-perl/libio/libio-socket-ssl-perl_2.078.bb
rename to meta-openembedded/meta-perl/recipes-perl/libio/libio-socket-ssl-perl_2.083.bb
index ff2559b..8ae5c0e 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libio/libio-socket-ssl-perl_2.078.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libio/libio-socket-ssl-perl_2.083.bb
@@ -21,7 +21,7 @@
 "
 
 SRC_URI = "${CPAN_MIRROR}/authors/id/S/SU/SULLR/IO-Socket-SSL-${PV}.tar.gz"
-SRC_URI[sha256sum] = "4cf83737a72b0970948b494bc9ddab7f725420a0ca0152d25c7e48ef8fa2b6a1"
+SRC_URI[sha256sum] = "904ef28765440a97d8a9a0df597f8c3d7f3cb0a053d1b082c10bed03bc802069"
 
 S = "${WORKDIR}/IO-Socket-SSL-${PV}"
 
@@ -33,7 +33,7 @@
     cp ${S}/Changes ${D}${docdir}/${PN}/
     cp ${S}/README ${D}${docdir}/${PN}/
     cp -pRP ${S}/docs ${D}${docdir}/${PN}/
-    cp -pRP ${S}/certs ${D}${docdir}/${PN}/
+    cp -pRP ${S}/t/certs ${D}${docdir}/${PN}/
     cp -pRP ${S}/example ${D}${docdir}/${PN}/
 }
 
@@ -50,7 +50,7 @@
 "
 
 do_install_ptest:append () {
-    cp -r ${B}/certs ${D}${PTEST_PATH}
+    cp -r ${B}/t/certs ${D}${PTEST_PATH}
 }
 
 BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.39.bb b/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.40.bb
similarity index 94%
rename from meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.39.bb
rename to meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.40.bb
index 7e57be3..6561613 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.39.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libnet/libnet-dns-perl_1.40.bb
@@ -9,7 +9,7 @@
 
 SRC_URI = "http://search.cpan.org/CPAN/authors/id/N/NL/NLNETLABS/Net-DNS-${PV}.tar.gz"
 
-SRC_URI[sha256sum] = "e99cdedf9f0d60dca16f613e488c5b7f123c2fb24b3346d580cfe7da40851ac6"
+SRC_URI[sha256sum] = "209bbd40de8d48c1bd7aade48da237fe0a499f89d279baa2e1a99bd5ec922ddc"
 
 UPSTREAM_CHECK_REGEX = "Net\-DNS\-(?P<pver>(\d+\.\d+))(?!_\d+).tar"
 
diff --git a/meta-openembedded/meta-perl/recipes-perl/libtest/libtest-harness-perl_3.44.bb b/meta-openembedded/meta-perl/recipes-perl/libtest/libtest-harness-perl_3.47.bb
similarity index 97%
rename from meta-openembedded/meta-perl/recipes-perl/libtest/libtest-harness-perl_3.44.bb
rename to meta-openembedded/meta-perl/recipes-perl/libtest/libtest-harness-perl_3.47.bb
index 58ca70b..836c966 100644
--- a/meta-openembedded/meta-perl/recipes-perl/libtest/libtest-harness-perl_3.44.bb
+++ b/meta-openembedded/meta-perl/recipes-perl/libtest/libtest-harness-perl_3.47.bb
@@ -26,7 +26,7 @@
 LIC_FILES_CHKSUM = "file://README;beginline=29;endline=30;md5=d41d8cd98f00b204e9800998ecf8427e"
 
 SRC_URI = "${CPAN_MIRROR}/authors/id/L/LE/LEONT/Test-Harness-${PV}.tar.gz"
-SRC_URI[sha256sum] = "7eb591ea6b499ece6745ff3e80e60cee669f0037f9ccbc4e4511425f593e5297"
+SRC_URI[sha256sum] = "bb31cd4aa90ad4e15f32b08476fb5123b4f19ed0cd28a3291242e8858bf986b5"
 
 UPSTREAM_CHECK_REGEX = "Test\-Harness\-(?P<pver>(\d+\.\d+))(?!_\d+).tar"
 
diff --git a/meta-openembedded/meta-python/conf/layer.conf b/meta-openembedded/meta-python/conf/layer.conf
index 1d408e8..add7801 100644
--- a/meta-openembedded/meta-python/conf/layer.conf
+++ b/meta-openembedded/meta-python/conf/layer.conf
@@ -14,6 +14,6 @@
 
 LAYERDEPENDS_meta-python = "core (>= 12) openembedded-layer"
 
-LAYERSERIES_COMPAT_meta-python = "mickledore"
+LAYERSERIES_COMPAT_meta-python = "nanbield"
 
 LICENSE_PATH += "${LAYERDIR}/licenses"
diff --git a/meta-openembedded/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb b/meta-openembedded/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb
index 9500f80..f75007e 100644
--- a/meta-openembedded/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb
+++ b/meta-openembedded/meta-python/recipes-core/packagegroups/packagegroup-meta-python.bb
@@ -437,7 +437,6 @@
     python3-txaio \
     python3-txdbus \
     python3-txws \
-    python3-typed-ast \
     python3-typeguard \
     python3-tzlocal \
     python3-u-msgpack-python \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.11.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.12.0.bb
similarity index 81%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.11.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.12.0.bb
index feb2c41..78b888e 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.11.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-alembic_1.12.0.bb
@@ -4,7 +4,7 @@
 
 inherit pypi setuptools3
 
-SRC_URI[sha256sum] = "6a810a6b012c88b33458fceb869aef09ac75d6ace5291915ba7fae44de372c01"
+SRC_URI[sha256sum] = "8e7645c32e4f200675e69f0745415335eb59a3663f5feb487abfa0b30c45888b"
 
 PYPI_PACKAGE = "alembic"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-argh_0.28.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-argh_0.29.3.bb
similarity index 89%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-argh_0.28.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-argh_0.29.3.bb
index 2b1cb3e..93e0a84 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-argh_0.28.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-argh_0.29.3.bb
@@ -14,7 +14,7 @@
 LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=3000208d539ec061b899bce1d9ce9404 \
                     file://README.rst;beginline=261;endline=275;md5=a8bf3475df7e0d575a53d04c83d5e090"
 
-SRC_URI[sha256sum] = "b2093086f0e809a3ecc24b64a2145309ee8f56d034936cd59e57c558a357329d"
+SRC_URI[sha256sum] = "58e438ce9169aaa2e6de147e3ceb34ceacfe26556a2306f50e2d46f52779acb1"
 
 inherit pypi python_flit_core
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-asttokens_2.2.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-asttokens_2.4.0.bb
similarity index 82%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-asttokens_2.2.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-asttokens_2.4.0.bb
index 7c77530..3942122 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-asttokens_2.2.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-asttokens_2.4.0.bb
@@ -7,7 +7,7 @@
 
 inherit pypi python_setuptools_build_meta
 
-SRC_URI[sha256sum] = "4622110b2a6f30b77e1473affaa97e711bc2f07d3f10848420ff1898edbe94f3"
+SRC_URI[sha256sum] = "2e0171b991b2c959acc6c49318049236844a5da1d65ba2672c4880c1c894834e"
 
 DEPENDS += "python3-setuptools-scm-native"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-async-timeout_4.0.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-async-timeout_4.0.3.bb
similarity index 86%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-async-timeout_4.0.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-async-timeout_4.0.3.bb
index b1d19ce..c16dfd0 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-async-timeout_4.0.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-async-timeout_4.0.3.bb
@@ -8,7 +8,7 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=4fa41f15bb5f23b6d3560c5845eb8d57"
 
-SRC_URI[sha256sum] = "2163e1640ddb52b7a8c80d0a67a08587e5d245cc9c553a74a847056bc2976b15"
+SRC_URI[sha256sum] = "4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f"
 
 PYPI_PACKAGE = "async-timeout"
 inherit pypi python_setuptools_build_meta
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-awesomeversion_23.5.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-awesomeversion_23.8.0.bb
similarity index 82%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-awesomeversion_23.5.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-awesomeversion_23.8.0.bb
index bcd959c..6fd1364 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-awesomeversion_23.5.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-awesomeversion_23.8.0.bb
@@ -4,7 +4,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENCE.md;md5=92622b5a8e216099be741d78328bae5d"
 
-SRC_URI[sha256sum] = "a505558316010d2d10d487226f79c1157204af00fa462fdcf948e347011dd491"
+SRC_URI[sha256sum] = "d788b2917a716adb912ba1c31b831aedd4c37858fcfe080105dc8da30c2e21c3"
 
 RDEPENDS:${PN} += "python3-profile python3-logging"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.8.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.8.1.bb
similarity index 77%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.8.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.8.1.bb
index 19d9f9e..cb94df5 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.8.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitarray_2.8.1.bb
@@ -3,7 +3,7 @@
 LICENSE = "PSF-2.0"
 LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=2ad702cdcd49e8d2ac01d7e7d0810d2d"
 
-SRC_URI[sha256sum] = "cd69a926a3363e25e94a64408303283c59085be96d71524bdbe6bfc8da2e34e0"
+SRC_URI[sha256sum] = "e68ceef35a88625d16169550768fcc8d3894913e363c24ecbf6b8c07eb02c8f3"
 
 inherit setuptools3 pypi
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitstring_4.0.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitstring_4.1.1.bb
similarity index 83%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-bitstring_4.0.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-bitstring_4.1.1.bb
index b2ad991..f45bfc0 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-bitstring_4.0.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-bitstring_4.1.1.bb
@@ -3,7 +3,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=661f450e2c0aef39b4b15597333444a7"
 
-SRC_URI[sha256sum] = "a391db8828ac4485dd5ce72c80b27ebac3e7b989631359959e310cd9729723b2"
+SRC_URI[sha256sum] = "a9c97fdf9fe38f27ea0ac2b4cf2a3f5bce5ccc23b863082582b9f48b22274528"
 
 PYPI_PACKAGE = "bitstring"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-can_4.2.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-can_4.2.2.bb
index 7ecbf12..f3cfd17 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-can_4.2.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-can_4.2.2.bb
@@ -20,7 +20,9 @@
     python3-logging \
     python3-misc \
     python3-netserver \
+    python3-packaging \
     python3-pkg-resources \
+    python3-setuptools \
     python3-sqlite3 \
     python3-typing-extensions \
     python3-wrapt \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-click_8.1.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-click_8.1.7.bb
similarity index 91%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-click_8.1.6.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-click_8.1.7.bb
index 4858c9e..a4ec6cd 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-click_8.1.6.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-click_8.1.7.bb
@@ -8,7 +8,7 @@
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=1fa98232fd645608937a0fdc82e999b8"
 
-SRC_URI[sha256sum] = "48ee849951919527a045bfe3bf7baa8a959c423134e1a5b98c05c20ba75a1cbd"
+SRC_URI[sha256sum] = "ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"
 
 inherit pypi setuptools3 ptest
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-cmake_3.27.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-cmake_3.27.4.1.bb
similarity index 90%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-cmake_3.27.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-cmake_3.27.4.1.bb
index 8111675..6d3e81f 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-cmake_3.27.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-cmake_3.27.4.1.bb
@@ -11,7 +11,7 @@
 PYPI_ARCHIVE_NAME_PREFIX = "pypi-"
 
 inherit pypi python_setuptools_build_meta
-SRC_URI[sha256sum] = "d03f0a76a2b96805044ad1178b92aeeb5f695caa6776a32522bb5c430a55b4e8"
+SRC_URI[sha256sum] = "70526bbff5eeb7d4d6b921af1b80d2d29828302882f94a2cba93ad7d469b90f6"
 
 SRC_URI += " \
 	file://CMakeLists.txt \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_7.2.7.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_7.3.0.bb
similarity index 82%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_7.2.7.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_7.3.0.bb
index a69c05d..0a32a6a 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_7.2.7.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-coverage_7.3.0.bb
@@ -3,7 +3,7 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2ee41112a44fe7014dce33e26468ba93"
 
-SRC_URI[sha256sum] = "924d94291ca674905fe9481f12294eb11f2d3d3fd1adb20314ba89e94f44ed59"
+SRC_URI[sha256sum] = "49dbb19cdcafc130f597d9e04a29d0a032ceedf729e41b181f51cd170e6ee865"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-diskcache_5.6.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-diskcache_5.6.3.bb
similarity index 84%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-diskcache_5.6.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-diskcache_5.6.3.bb
index 447bfc4..8bc498d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-diskcache_5.6.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-diskcache_5.6.3.bb
@@ -3,7 +3,7 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=c60ef82f0f40155453f6d5f2c94b6e8e"
 
-SRC_URI[sha256sum] = "e4c978532feff5814c4cc00fe1e11e40501985946643d73220d41ee7737c72c3"
+SRC_URI[sha256sum] = "2c3a3fa2743d8535d832ec61c2054a1641f41775aa7c556758a109941e33e4fc"
 
 PYPI_PACKAGE = "diskcache"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-dnspython_2.4.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-dnspython_2.4.2.bb
similarity index 88%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-dnspython_2.4.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-dnspython_2.4.2.bb
index 6233527..1ebd2aa 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-dnspython_2.4.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-dnspython_2.4.2.bb
@@ -3,7 +3,7 @@
 LICENSE = "ISC"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=5af50906b5929837f667dfe31052bd34"
 
-SRC_URI[sha256sum] = "c33971c79af5be968bb897e95c2448e11a645ee84d93b265ce0b7aabe5dfdca8"
+SRC_URI[sha256sum] = "8dcfae8c7460a2f84b4072e26f1c9f4101ca20c071649cb7c34e8b6a93d58984"
 
 inherit pypi python_poetry_core ptest
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-dominate/fix-ptests.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-dominate/fix-ptests.patch
new file mode 100644
index 0000000..81211d4
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-dominate/fix-ptests.patch
@@ -0,0 +1,20 @@
+Fixes test failures on musl
+
+Fixes errors
+ptestresult.python3-dominate.tests/test_dom_tag.py::test___get_thread_context
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+diff --git a/tests/test_dom_tag.py b/tests/test_dom_tag.py
+index 43ffecb..1126e54 100644
+--- a/tests/test_dom_tag.py
++++ b/tests/test_dom_tag.py
+@@ -18,6 +18,7 @@ def test___get_thread_context(monkeypatch):
+     monkeypatch.setattr(sut, 'threading', threading)
+ 
+     assert sut._get_thread_context() in [
++        1692341442, # Python >= 3.9, 32-bit
+         -6805948436281256182, # Python >= 3.9
+         3713141171098444831, # Python < 3.9
+     ]
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-dominate_2.8.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-dominate_2.8.0.bb
index 73701ec..6b0489e 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-dominate_2.8.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-dominate_2.8.0.bb
@@ -8,6 +8,7 @@
 
 SRC_URI += " \
 	file://run-ptest \
+	file://fix-ptests.patch \
 "
 
 RDEPENDS:${PN}-ptest += " \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.5.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.7.0.bb
similarity index 82%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.5.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.7.0.bb
index d972488..85f5371 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.5.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-engineio_4.7.0.bb
@@ -17,4 +17,4 @@
 	python3-asyncio \
 "
 
-SRC_URI[sha256sum] = "b167a1b208fcdce5dbe96a61a6ca22391cfa6715d796c22de93e3adf9c07ae0c"
+SRC_URI[sha256sum] = "8b4f30ba58a5bff001801127227f44a1da0c0a22045f798c1a13ebb0d618e2a3"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.95.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.97.0.bb
similarity index 86%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.95.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.97.0.bb
index c862583..1ee9f5b 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.95.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-google-api-python-client_2.97.0.bb
@@ -4,7 +4,7 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
 
-SRC_URI[sha256sum] = "d2731ede12f79e53fbe11fdb913dfe986440b44c0a28431c78a8ec275f4c1541"
+SRC_URI[sha256sum] = "48277291894876a1ca7ed4127e055e81f81e6343ced1b544a7200ae2c119dcd7"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-googleapis-common-protos_1.59.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-googleapis-common-protos_1.60.0.bb
similarity index 79%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-googleapis-common-protos_1.59.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-googleapis-common-protos_1.60.0.bb
index a6b3d4e..5c9ba5f 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-googleapis-common-protos_1.59.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-googleapis-common-protos_1.60.0.bb
@@ -5,7 +5,7 @@
 
 inherit pypi setuptools3
 
-SRC_URI[sha256sum] = "b35d530fe825fb4227857bc47ad84c33c809ac96f312e13182bdeaa2abe1178a"
+SRC_URI[sha256sum] = "e73ebb404098db405ba95d1e1ae0aa91c3e15a71da031a2eeb6b2e23e7bc3708"
 
 RDEPENDS:${PN} += "\
     ${PYTHON_PN}-grpcio \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_4.7.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_4.8.0.bb
similarity index 83%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_4.7.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_4.8.0.bb
index 81654af..aa56a90 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_4.7.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-humanize_4.8.0.bb
@@ -5,7 +5,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENCE;md5=4ecc42519e84f6f3e23529464df7bd1d"
 
-SRC_URI[sha256sum] = "7ca0e43e870981fa684acb5b062deb307218193bca1a01f2b2676479df849b3a"
+SRC_URI[sha256sum] = "9783373bf1eec713a770ecaa7c2d7a7902c98398009dfa3d8a2df91eec9311e8"
 
 inherit pypi python_hatchling
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.31.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.31.3.bb
similarity index 81%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.31.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.31.3.bb
index 904ddde..709822d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.31.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-imageio_2.31.3.bb
@@ -5,7 +5,7 @@
 LICENSE = "BSD-2-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=24cb9a367a9e641b459a01c4d15256ba"
 
-SRC_URI[sha256sum] = "f8436a02af02fd63f272dab50f7d623547a38f0e04a4a73e2b02ae1b8b180f27"
+SRC_URI[sha256sum] = "74c6a832d81b7ad5a8a80976dea58ee033d3e2b99a54990cbd789b4cb0b31461"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-inotify/new-test-inotify.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-inotify/new-test-inotify.patch
new file mode 100644
index 0000000..e462615
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-inotify/new-test-inotify.patch
@@ -0,0 +1,620 @@
+From 80010e27d774e8b722d569384492eaab2bc4ac61 Mon Sep 17 00:00:00 2001
+From: Joe Slater <joe.slater@windriver.com>
+Date: Thu, 27 Jul 2023 15:01:04 +0000
+Subject: [PATCH] working commit
+
+It is not safe to assume the values returned by add_watch(),
+so we add a local helper get_wd() to retrieve them.  This fixes
+a problem in TestInotifyTree.test__cycle() where the
+wd's for the 'aa' and 'bb' paths are not '2' and '3',
+respectively.
+
+A second issue is that Inotify._get_event_names() should
+return a set or sorted list to avoid comparison problems,
+but that is not addressed here since it could be viewed as
+changing the API.
+
+This test_inotify.py is based on the version in the fix_tests branch of
+pyinotify as of commit d7d3c58...
+
+Upstream-Status: Submitted [github.com/dsoprea/PyInotify/pull/104]
+
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+---
+ tests/test_inotify.py | 346 ++++++++++++++++++++++++++++++++----------
+ 1 file changed, 262 insertions(+), 84 deletions(-)
+
+diff --git a/tests/test_inotify.py b/tests/test_inotify.py
+index d9f1f84..d89a49e 100644
+--- a/tests/test_inotify.py
++++ b/tests/test_inotify.py
+@@ -2,6 +2,7 @@
+ 
+ import os
+ import unittest
++import time
+ 
+ import inotify.constants
+ import inotify.calls
+@@ -15,6 +16,11 @@ except NameError:
+ else:
+     _HAS_PYTHON2_UNICODE_SUPPORT = True
+ 
++# Inotify does not have a get for watch descriptors
++# 
++def get_wd(i, path):
++    return i._Inotify__watches[path]
++
+ 
+ class TestInotify(unittest.TestCase):
+     def __init__(self, *args, **kwargs):
+@@ -29,11 +35,11 @@ class TestInotify(unittest.TestCase):
+     @unittest.skipIf(_HAS_PYTHON2_UNICODE_SUPPORT is True, "Not in Python 3")
+     def test__international_naming_python3(self):
+         with inotify.test_support.temp_path() as path:
+-            inner_path = os.path.join(path, '新增資料夾')
++            inner_path = os.path.join(path, u'新增資料夾')
+             os.mkdir(inner_path)
+ 
+             i = inotify.adapters.Inotify()
+-            i.add_watch(inner_path)
++            wd = i.add_watch(inner_path)
+ 
+             with open(os.path.join(inner_path, 'filename'), 'w'):
+                 pass
+@@ -41,12 +47,27 @@ class TestInotify(unittest.TestCase):
+             events = self.__read_all_events(i)
+ 
+             expected = [
+-                (inotify.adapters._INOTIFY_EVENT(wd=1, mask=256, cookie=0, len=16), ['IN_CREATE'], inner_path, 'filename'),
+-                (inotify.adapters._INOTIFY_EVENT(wd=1, mask=32, cookie=0, len=16), ['IN_OPEN'], inner_path, 'filename'),
+-                (inotify.adapters._INOTIFY_EVENT(wd=1, mask=8, cookie=0, len=16), ['IN_CLOSE_WRITE'], inner_path, 'filename'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd, mask=256, cookie=0, len=16), ['IN_CREATE'], inner_path, 'filename'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd, mask=32, cookie=0, len=16), ['IN_OPEN'], inner_path, 'filename'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd, mask=8, cookie=0, len=16), ['IN_CLOSE_WRITE'], inner_path, 'filename'),
+             ]
+ 
+-            self.assertEquals(events, expected)
++            if events != expected:
++                print("ACTUAL:")
++                print("")
++
++                for i, event in enumerate(events):
++                    print(event)
++
++                print("")
++
++                print("EXPECTED:")
++                print("")
++
++                for i, event in enumerate(expected):
++                    print(event)
++
++                raise Exception("Events not correct.")
+ 
+     @unittest.skipIf(_HAS_PYTHON2_UNICODE_SUPPORT is False, "Not in Python 2")
+     def test__international_naming_python2(self):
+@@ -55,7 +76,7 @@ class TestInotify(unittest.TestCase):
+             os.mkdir(inner_path)
+ 
+             i = inotify.adapters.Inotify()
+-            i.add_watch(inner_path)
++            wd = i.add_watch(inner_path)
+ 
+             with open(os.path.join(inner_path, u'filename料夾'), 'w'):
+                 pass
+@@ -63,12 +84,28 @@ class TestInotify(unittest.TestCase):
+             events = self.__read_all_events(i)
+ 
+             expected = [
+-                (inotify.adapters._INOTIFY_EVENT(wd=1, mask=256, cookie=0, len=16), ['IN_CREATE'], inner_path, u'filename料夾'),
+-                (inotify.adapters._INOTIFY_EVENT(wd=1, mask=32, cookie=0, len=16), ['IN_OPEN'], inner_path, u'filename料夾'),
+-                (inotify.adapters._INOTIFY_EVENT(wd=1, mask=8, cookie=0, len=16), ['IN_CLOSE_WRITE'], inner_path, u'filename料夾'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd, mask=256, cookie=0, len=16), ['IN_CREATE'], inner_path, u'filename料夾'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd, mask=32, cookie=0, len=16), ['IN_OPEN'], inner_path, u'filename料夾'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd, mask=8, cookie=0, len=16), ['IN_CLOSE_WRITE'], inner_path, u'filename料夾'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd, mask=16, cookie=0, len=16), ['IN_CLOSE_NOWRITE'], inner_path, u'filename料夾'),
+             ]
+ 
+-            self.assertEquals(events, expected)
++            if events != expected:
++                print("ACTUAL:")
++                print("")
++
++                for i, event in enumerate(events):
++                    print(event)
++
++                print("")
++
++                print("EXPECTED:")
++                print("")
++
++                for i, event in enumerate(expected):
++                    print(event)
++
++                raise Exception("Events not correct.")
+ 
+     def test__cycle(self):
+         with inotify.test_support.temp_path() as path:
+@@ -79,7 +116,7 @@ class TestInotify(unittest.TestCase):
+             os.mkdir(path2)
+ 
+             i = inotify.adapters.Inotify()
+-            i.add_watch(path1)
++            wd = i.add_watch(path1)
+ 
+             with open('ignored_new_file', 'w'):
+                 pass
+@@ -96,32 +133,47 @@ class TestInotify(unittest.TestCase):
+ 
+             expected = [
+                 (
+-                    inotify.adapters._INOTIFY_EVENT(wd=1, mask=256, cookie=0, len=16),
++                    inotify.adapters._INOTIFY_EVENT(wd=wd, mask=256, cookie=0, len=16),
+                     ['IN_CREATE'],
+                     path1,
+                     'seen_new_file'
+                 ),
+                 (
+-                    inotify.adapters._INOTIFY_EVENT(wd=1, mask=32, cookie=0, len=16),
++                    inotify.adapters._INOTIFY_EVENT(wd=wd, mask=32, cookie=0, len=16),
+                     ['IN_OPEN'],
+                     path1,
+                     'seen_new_file'
+                 ),
+                 (
+-                    inotify.adapters._INOTIFY_EVENT(wd=1, mask=8, cookie=0, len=16),
++                    inotify.adapters._INOTIFY_EVENT(wd=wd, mask=8, cookie=0, len=16),
+                     ['IN_CLOSE_WRITE'],
+                     path1,
+                     'seen_new_file'
+                 ),
+                 (
+-                    inotify.adapters._INOTIFY_EVENT(wd=1, mask=512, cookie=0, len=16),
++                    inotify.adapters._INOTIFY_EVENT(wd=wd, mask=512, cookie=0, len=16),
+                     ['IN_DELETE'],
+                     path1,
+                     'seen_new_file'
+                 )
+             ]
+ 
+-            self.assertEquals(events, expected)
++            if events != expected:
++                print("ACTUAL:")
++                print("")
++
++                for i, event in enumerate(events):
++                    print(event)
++
++                print("")
++
++                print("EXPECTED:")
++                print("")
++
++                for i, event in enumerate(expected):
++                    print(event)
++
++                raise Exception("Events not correct.")
+ 
+             # This can't be removed until *after* we've read the events because
+             # they'll be flushed the moment we remove the watch.
+@@ -131,7 +183,7 @@ class TestInotify(unittest.TestCase):
+                 pass
+ 
+             events = self.__read_all_events(i)
+-            self.assertEquals(events, [])
++            self.assertEqual(events, [])
+ 
+     @staticmethod
+     def _open_write_close(*args):
+@@ -167,23 +219,47 @@ class TestInotify(unittest.TestCase):
+         with inotify.test_support.temp_path() as path:
+             path1 = TestInotify._make_temp_path(path, 'aa')
+             path2 = TestInotify._make_temp_path(path, 'bb')
++
+             i = inotify.adapters.Inotify([path1, path2])
++
+             TestInotify._open_write_close('ignored_new_file')
+             TestInotify._open_write_close(path1, 'seen_new_file')
+             TestInotify._open_write_close(path2, 'seen_new_file2')
++            
++            wd_path1 = get_wd(i, path1)
++            wd_path2 = get_wd(i, path2)
++
++
+             os.remove(os.path.join(path1, 'seen_new_file'))
++
+             events = self.__read_all_events(i)
++
+             expected = [
+-                TestInotify._event_create(wd=1, path=path1, filename='seen_new_file'),
+-                TestInotify._event_open(wd=1, path=path1, filename='seen_new_file'),
+-                TestInotify._event_close_write(wd=1, path=path1, filename='seen_new_file'),
+-                TestInotify._event_create(wd=2, path=path2, filename='seen_new_file2'),
+-                TestInotify._event_open(wd=2, path=path2, filename='seen_new_file2'),
+-                TestInotify._event_close_write(wd=2, path=path2, filename='seen_new_file2'),
+-                TestInotify._event_general(wd=1, mask=512, type_name='IN_DELETE',
+-                                           path=path1, filename='seen_new_file')
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path1, mask=256, cookie=0, len=16), ['IN_CREATE'], path1, u'seen_new_file'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path1, mask=32, cookie=0, len=16), ['IN_OPEN'], path1, u'seen_new_file'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path1, mask=8, cookie=0, len=16), ['IN_CLOSE_WRITE'], path1, u'seen_new_file'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path2, mask=256, cookie=0, len=16), ['IN_CREATE'], path2, u'seen_new_file2'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path2, mask=32, cookie=0, len=16), ['IN_OPEN'], path2, u'seen_new_file2'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path2, mask=8, cookie=0, len=16), ['IN_CLOSE_WRITE'], path2, u'seen_new_file2'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path1, mask=512, cookie=0, len=16), ['IN_DELETE'], path1, u'seen_new_file'),
+             ]
+-            self.assertEquals(events, expected)
++
++            if events != expected:
++                print("ACTUAL:")
++                print("")
++
++                for i, event in enumerate(events):
++                    print(event)
++
++                print("")
++
++                print("EXPECTED:")
++                print("")
++
++                for i, event in enumerate(expected):
++                    print(event)
++
++                raise Exception("Events not correct.")
+ 
+     def test__error_on_watch_nonexistent_folder(self):
+         i = inotify.adapters.Inotify()
+@@ -201,7 +277,7 @@ class TestInotify(unittest.TestCase):
+         i = inotify.adapters.Inotify()
+         names = i._get_event_names(all_mask)
+ 
+-        self.assertEquals(names, all_names)
++        self.assertEqual(names, all_names)
+ 
+ 
+ class TestInotifyTree(unittest.TestCase):
+@@ -219,56 +295,101 @@ class TestInotifyTree(unittest.TestCase):
+             path1 = os.path.join(path, 'aa')
+             os.mkdir(path1)
+ 
++            time.sleep(.10)
++
+             path2 = os.path.join(path, 'bb')
+             os.mkdir(path2)
+ 
++            time.sleep(.10)
++
+             i = inotify.adapters.InotifyTree(path)
+ 
+             with open('seen_new_file1', 'w'):
+                 pass
+ 
++            time.sleep(.10)
++
+             with open(os.path.join(path1, 'seen_new_file2'), 'w'):
+                 pass
+ 
++            time.sleep(.10)
++
+             with open(os.path.join(path2, 'seen_new_file3'), 'w'):
+                 pass
+ 
++            time.sleep(.10)
++            
++            wd_path  = get_wd(i.inotify, path)
++            wd_path1 = get_wd(i.inotify, path1)
++            wd_path2 = get_wd(i.inotify, path2)
++
+             os.remove(os.path.join(path, 'seen_new_file1'))
++
++            time.sleep(.10)
++
+             os.remove(os.path.join(path1, 'seen_new_file2'))
++
++            time.sleep(.10)
++
+             os.remove(os.path.join(path2, 'seen_new_file3'))
+ 
++            time.sleep(.10)
++
+             os.rmdir(path1)
++
++            time.sleep(.10)
++
+             os.rmdir(path2)
+ 
+-            events = self.__read_all_events(i)
++            time.sleep(.10)
+ 
++            events = self.__read_all_events(i)
++            events = sorted(events)
++            
+             expected = [
+-                (inotify.adapters._INOTIFY_EVENT(wd=1, mask=256, cookie=0, len=16), ['IN_CREATE'], path, 'seen_new_file1'),
+-                (inotify.adapters._INOTIFY_EVENT(wd=1, mask=32, cookie=0, len=16), ['IN_OPEN'], path, 'seen_new_file1'),
+-                (inotify.adapters._INOTIFY_EVENT(wd=1, mask=8, cookie=0, len=16), ['IN_CLOSE_WRITE'], path, 'seen_new_file1'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path, mask=256, cookie=0, len=16), ['IN_CREATE'], path, 'seen_new_file1'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path, mask=32, cookie=0, len=16), ['IN_OPEN'], path, 'seen_new_file1'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path, mask=8, cookie=0, len=16), ['IN_CLOSE_WRITE'], path, 'seen_new_file1'),
+ 
+-                (inotify.adapters._INOTIFY_EVENT(wd=2, mask=256, cookie=0, len=16), ['IN_CREATE'], path1, 'seen_new_file2'),
+-                (inotify.adapters._INOTIFY_EVENT(wd=2, mask=32, cookie=0, len=16), ['IN_OPEN'], path1, 'seen_new_file2'),
+-                (inotify.adapters._INOTIFY_EVENT(wd=2, mask=8, cookie=0, len=16), ['IN_CLOSE_WRITE'], path1, 'seen_new_file2'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path1, mask=256, cookie=0, len=16), ['IN_CREATE'], path1, 'seen_new_file2'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path1, mask=32, cookie=0, len=16), ['IN_OPEN'], path1, 'seen_new_file2'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path1, mask=8, cookie=0, len=16), ['IN_CLOSE_WRITE'], path1, 'seen_new_file2'),
+ 
+-                (inotify.adapters._INOTIFY_EVENT(wd=3, mask=256, cookie=0, len=16), ['IN_CREATE'], path2, 'seen_new_file3'),
+-                (inotify.adapters._INOTIFY_EVENT(wd=3, mask=32, cookie=0, len=16), ['IN_OPEN'], path2, 'seen_new_file3'),
+-                (inotify.adapters._INOTIFY_EVENT(wd=3, mask=8, cookie=0, len=16), ['IN_CLOSE_WRITE'], path2, 'seen_new_file3'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path2, mask=256, cookie=0, len=16), ['IN_CREATE'], path2, 'seen_new_file3'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path2, mask=32, cookie=0, len=16), ['IN_OPEN'], path2, 'seen_new_file3'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path2, mask=8, cookie=0, len=16), ['IN_CLOSE_WRITE'], path2, 'seen_new_file3'),
+ 
+-                (inotify.adapters._INOTIFY_EVENT(wd=1, mask=512, cookie=0, len=16), ['IN_DELETE'], path, 'seen_new_file1'),
+-                (inotify.adapters._INOTIFY_EVENT(wd=2, mask=512, cookie=0, len=16), ['IN_DELETE'], path1, 'seen_new_file2'),
+-                (inotify.adapters._INOTIFY_EVENT(wd=3, mask=512, cookie=0, len=16), ['IN_DELETE'], path2, 'seen_new_file3'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path, mask=512, cookie=0, len=16), ['IN_DELETE'], path, 'seen_new_file1'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path1, mask=512, cookie=0, len=16), ['IN_DELETE'], path1, 'seen_new_file2'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path2, mask=512, cookie=0, len=16), ['IN_DELETE'], path2, 'seen_new_file3'),
+ 
+-                (inotify.adapters._INOTIFY_EVENT(wd=2, mask=1024, cookie=0, len=0), ['IN_DELETE_SELF'], path1, ''),
+-                (inotify.adapters._INOTIFY_EVENT(wd=2, mask=32768, cookie=0, len=0), ['IN_IGNORED'], path1, ''),
+-                (inotify.adapters._INOTIFY_EVENT(wd=1, mask=1073742336, cookie=0, len=16), ['IN_ISDIR', 'IN_DELETE'], path, 'aa'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path1, mask=1024, cookie=0, len=0), ['IN_DELETE_SELF'], path1, ''),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path1, mask=32768, cookie=0, len=0), ['IN_IGNORED'], path1, ''),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path, mask=1073742336, cookie=0, len=16), ['IN_DELETE', 'IN_ISDIR'], path, 'aa'),
+ 
+-                (inotify.adapters._INOTIFY_EVENT(wd=3, mask=1024, cookie=0, len=0), ['IN_DELETE_SELF'], path2, ''),
+-                (inotify.adapters._INOTIFY_EVENT(wd=3, mask=32768, cookie=0, len=0), ['IN_IGNORED'], path2, ''),
+-                (inotify.adapters._INOTIFY_EVENT(wd=1, mask=1073742336, cookie=0, len=16), ['IN_ISDIR', 'IN_DELETE'], path, 'bb'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path2, mask=1024, cookie=0, len=0), ['IN_DELETE_SELF'], path2, ''),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path2, mask=32768, cookie=0, len=0), ['IN_IGNORED'], path2, ''),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path, mask=1073742336, cookie=0, len=16), ['IN_DELETE', 'IN_ISDIR'], path, 'bb'),
+             ]
+ 
+-            self.assertEquals(events, expected)
++            expected = sorted(expected)
++
++            if events != expected:
++                print("ACTUAL:")
++                print("")
++
++                for i, event in enumerate(events):
++                    print(event)
++
++                print("")
++
++                print("EXPECTED:")
++                print("")
++
++                for i, event in enumerate(expected):
++                    print(event)
++
++                raise Exception("Events not correct.")
+ 
+     def test__renames(self):
+ 
+@@ -283,26 +404,30 @@ class TestInotifyTree(unittest.TestCase):
+             new_path = os.path.join(path, 'new_folder')
+ 
+             os.mkdir(old_path)
++            
++            wd_path = get_wd(i.inotify, path)
+ 
+             events1 = self.__read_all_events(i)
+ 
+             expected = [
+-                (inotify.adapters._INOTIFY_EVENT(wd=1, mask=1073742080, cookie=events1[0][0].cookie, len=16), ['IN_ISDIR', 'IN_CREATE'], path, 'old_folder'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path, mask=1073742080, cookie=events1[0][0].cookie, len=16), ['IN_CREATE', 'IN_ISDIR'], path, 'old_folder'),
+             ]
+ 
+-            self.assertEquals(events1, expected)
+-
++            self.assertEqual(events1, expected)
+ 
+             os.rename(old_path, new_path)
+ 
++            wd_old_path = get_wd(i.inotify, old_path)
++
+             events2 = self.__read_all_events(i)
+ 
+             expected = [
+-                (inotify.adapters._INOTIFY_EVENT(wd=1, mask=1073741888, cookie=events2[0][0].cookie, len=16), ['IN_MOVED_FROM', 'IN_ISDIR'], path, 'old_folder'),
+-                (inotify.adapters._INOTIFY_EVENT(wd=1, mask=1073741952, cookie=events2[1][0].cookie, len=16), ['IN_MOVED_TO', 'IN_ISDIR'], path, 'new_folder'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path, mask=1073741888, cookie=events2[0][0].cookie, len=16), ['IN_MOVED_FROM', 'IN_ISDIR'], path, 'old_folder'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path, mask=1073741952, cookie=events2[1][0].cookie, len=16), ['IN_MOVED_TO', 'IN_ISDIR'], path, 'new_folder'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_old_path, mask=2048, cookie=0, len=0), ['IN_MOVE_SELF'], new_path, '')
+             ]
+ 
+-            self.assertEquals(events2, expected)
++            self.assertEqual(events2, expected)
+ 
+ 
+             with open(os.path.join(new_path, 'old_filename'), 'w'):
+@@ -318,21 +443,33 @@ class TestInotifyTree(unittest.TestCase):
+             events3 = self.__read_all_events(i)
+ 
+             expected = [
+-                (inotify.adapters._INOTIFY_EVENT(wd=3, mask=256, cookie=0, len=16), ['IN_CREATE'], new_path, 'old_filename'),
+-                (inotify.adapters._INOTIFY_EVENT(wd=3, mask=32, cookie=0, len=16), ['IN_OPEN'], new_path, 'old_filename'),
+-                (inotify.adapters._INOTIFY_EVENT(wd=3, mask=8, cookie=0, len=16), ['IN_CLOSE_WRITE'], new_path, 'old_filename'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_old_path, mask=256, cookie=0, len=16), ['IN_CREATE'], new_path, 'old_filename'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_old_path, mask=32, cookie=0, len=16), ['IN_OPEN'], new_path, 'old_filename'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_old_path, mask=8, cookie=0, len=16), ['IN_CLOSE_WRITE'], new_path, 'old_filename'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_old_path, mask=64, cookie=events3[3][0].cookie, len=16), ['IN_MOVED_FROM'], new_path, 'old_filename'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_old_path, mask=128, cookie=events3[4][0].cookie, len=16), ['IN_MOVED_TO'], new_path, 'new_filename'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_old_path, mask=512, cookie=0, len=16), ['IN_DELETE'], new_path, 'new_filename'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_old_path, mask=1024, cookie=0, len=0), ['IN_DELETE_SELF'], new_path, ''),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_old_path, mask=32768, cookie=0, len=0), ['IN_IGNORED'], new_path, ''),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path, mask=1073742336, cookie=0, len=16), ['IN_DELETE', 'IN_ISDIR'], path, 'new_folder'),
++            ]
+ 
+-                (inotify.adapters._INOTIFY_EVENT(wd=3, mask=64, cookie=events3[3][0].cookie, len=16), ['IN_MOVED_FROM'], new_path, 'old_filename'),
+-                (inotify.adapters._INOTIFY_EVENT(wd=3, mask=128, cookie=events3[4][0].cookie, len=16), ['IN_MOVED_TO'], new_path, 'new_filename'),
++            if events3 != expected:
++                print("ACTUAL:")
++                print("")
+ 
+-                (inotify.adapters._INOTIFY_EVENT(wd=3, mask=512, cookie=0, len=16), ['IN_DELETE'], new_path, 'new_filename'),
++                for i, event in enumerate(events3):
++                    print(event)
+ 
+-                (inotify.adapters._INOTIFY_EVENT(wd=3, mask=1024, cookie=0, len=0), ['IN_DELETE_SELF'], new_path, ''),
+-                (inotify.adapters._INOTIFY_EVENT(wd=3, mask=32768, cookie=0, len=0), ['IN_IGNORED'], new_path, ''),
+-                (inotify.adapters._INOTIFY_EVENT(wd=1, mask=1073742336, cookie=0, len=16), ['IN_ISDIR', 'IN_DELETE'], path, 'new_folder'),
+-            ]
++                print("")
++
++                print("EXPECTED:")
++                print("")
+ 
+-            self.assertEquals(events3, expected)
++                for i, event in enumerate(expected):
++                    print(event)
++
++                raise Exception("Events not correct.")
+ 
+     def test__automatic_new_watches_on_new_paths(self):
+ 
+@@ -346,39 +483,60 @@ class TestInotifyTree(unittest.TestCase):
+             path2 = os.path.join(path1, 'folder2')
+ 
+             os.mkdir(path1)
++ 
++            wd_path = get_wd(i.inotify, path)
+ 
+             events = self.__read_all_events(i)
+ 
+             expected = [
+-                (inotify.adapters._INOTIFY_EVENT(wd=1, mask=1073742080, cookie=0, len=16), ['IN_ISDIR', 'IN_CREATE'], path, 'folder1'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path, mask=1073742080, cookie=0, len=16), ['IN_CREATE', 'IN_ISDIR'], path, 'folder1'),
+             ]
+ 
+-            self.assertEquals(events, expected)
++            self.assertEqual(events, expected)
+ 
+ 
+             os.mkdir(path2)
+ 
++            wd_path1 = get_wd(i.inotify, path1)
++
+             events = self.__read_all_events(i)
+ 
+             expected = [
+-                (inotify.adapters._INOTIFY_EVENT(wd=2, mask=1073742080, cookie=0, len=16), ['IN_ISDIR', 'IN_CREATE'], path1, 'folder2'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path1, mask=1073742080, cookie=0, len=16), ['IN_CREATE', 'IN_ISDIR'], path1, 'folder2'),
+             ]
+ 
+-            self.assertEquals(events, expected)
++            self.assertEqual(events, expected)
+ 
+ 
+             with open(os.path.join(path2,'filename'), 'w'):
+                 pass
+ 
++            wd_path2 = get_wd(i.inotify, path2)
++
+             events = self.__read_all_events(i)
+ 
+             expected = [
+-                (inotify.adapters._INOTIFY_EVENT(wd=3, mask=256, cookie=0, len=16), ['IN_CREATE'], path2, 'filename'),
+-                (inotify.adapters._INOTIFY_EVENT(wd=3, mask=32, cookie=0, len=16), ['IN_OPEN'], path2, 'filename'),
+-                (inotify.adapters._INOTIFY_EVENT(wd=3, mask=8, cookie=0, len=16), ['IN_CLOSE_WRITE'], path2, 'filename'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path2, mask=256, cookie=0, len=16), ['IN_CREATE'], path2, 'filename'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path2, mask=32, cookie=0, len=16), ['IN_OPEN'], path2, 'filename'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path2, mask=8, cookie=0, len=16), ['IN_CLOSE_WRITE'], path2, 'filename'),
+             ]
+ 
+-            self.assertEquals(events, expected)
++            if events != expected:
++                print("ACTUAL:")
++                print("")
++
++                for i, event in enumerate(events):
++                    print(event)
++
++                print("")
++
++                print("EXPECTED:")
++                print("")
++
++                for i, event in enumerate(expected):
++                    print(event)
++
++                raise Exception("Events not correct.")
+ 
+     def test__automatic_new_watches_on_existing_paths(self):
+ 
+@@ -396,16 +554,33 @@ class TestInotifyTree(unittest.TestCase):
+ 
+             with open(os.path.join(path2,'filename'), 'w'):
+                 pass
++                
++            wd = get_wd(i.inotify, path2)
+ 
+             events = self.__read_all_events(i)
+ 
+             expected = [
+-                (inotify.adapters._INOTIFY_EVENT(wd=3, mask=256, cookie=0, len=16), ['IN_CREATE'], path2, 'filename'),
+-                (inotify.adapters._INOTIFY_EVENT(wd=3, mask=32, cookie=0, len=16), ['IN_OPEN'], path2, 'filename'),
+-                (inotify.adapters._INOTIFY_EVENT(wd=3, mask=8, cookie=0, len=16), ['IN_CLOSE_WRITE'], path2, 'filename'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd, mask=256, cookie=0, len=16), ['IN_CREATE'], path2, 'filename'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd, mask=32, cookie=0, len=16), ['IN_OPEN'], path2, 'filename'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd, mask=8, cookie=0, len=16), ['IN_CLOSE_WRITE'], path2, 'filename'),
+             ]
+ 
+-            self.assertEquals(events, expected)
++            if events != expected:
++                print("ACTUAL:")
++                print("")
++
++                for i, event in enumerate(events):
++                    print(event)
++
++                print("")
++
++                print("EXPECTED:")
++                print("")
++
++                for i, event in enumerate(expected):
++                    print(event)
++
++                raise Exception("Events not correct.")
+ 
+ 
+ class TestInotifyTrees(unittest.TestCase):
+@@ -428,6 +603,9 @@ class TestInotifyTrees(unittest.TestCase):
+ 
+             i = inotify.adapters.InotifyTrees([path1, path2])
+ 
++            wd_path1 = get_wd(i.inotify, path1)
++            wd_path2 = get_wd(i.inotify, path2)
++
+             with open(os.path.join(path1, 'seen_new_file1'), 'w'):
+                 pass
+ 
+@@ -437,13 +615,13 @@ class TestInotifyTrees(unittest.TestCase):
+             events = self.__read_all_events(i)
+ 
+             expected = [
+-                (inotify.adapters._INOTIFY_EVENT(wd=1, mask=256, cookie=0, len=16), ['IN_CREATE'], path1, 'seen_new_file1'),
+-                (inotify.adapters._INOTIFY_EVENT(wd=1, mask=32, cookie=0, len=16), ['IN_OPEN'], path1, 'seen_new_file1'),
+-                (inotify.adapters._INOTIFY_EVENT(wd=1, mask=8, cookie=0, len=16), ['IN_CLOSE_WRITE'], path1, 'seen_new_file1'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path1, mask=256, cookie=0, len=16), ['IN_CREATE'], path1, 'seen_new_file1'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path1, mask=32, cookie=0, len=16), ['IN_OPEN'], path1, 'seen_new_file1'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path1, mask=8, cookie=0, len=16), ['IN_CLOSE_WRITE'], path1, 'seen_new_file1'),
+ 
+-                (inotify.adapters._INOTIFY_EVENT(wd=2, mask=256, cookie=0, len=16), ['IN_CREATE'], path2, 'seen_new_file2'),
+-                (inotify.adapters._INOTIFY_EVENT(wd=2, mask=32, cookie=0, len=16), ['IN_OPEN'], path2, 'seen_new_file2'),
+-                (inotify.adapters._INOTIFY_EVENT(wd=2, mask=8, cookie=0, len=16), ['IN_CLOSE_WRITE'], path2, 'seen_new_file2'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path2, mask=256, cookie=0, len=16), ['IN_CREATE'], path2, 'seen_new_file2'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path2, mask=32, cookie=0, len=16), ['IN_OPEN'], path2, 'seen_new_file2'),
++                (inotify.adapters._INOTIFY_EVENT(wd=wd_path2, mask=8, cookie=0, len=16), ['IN_CLOSE_WRITE'], path2, 'seen_new_file2'),
+             ]
+ 
+-            self.assertEquals(events, expected)
++            self.assertEqual(events, expected)
+-- 
+2.35.5
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-inotify_git.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-inotify_git.bb
index 9e35c7b..2e189dd 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-inotify_git.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-inotify_git.bb
@@ -7,6 +7,7 @@
 
 SRC_URI = " \
     git://github.com/dsoprea/pyinotify.git;branch=master;protocol=https \
+    file://new-test-inotify.patch \
     file://run-ptest \
 "
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_8.14.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_8.15.0.bb
similarity index 88%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_8.14.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_8.15.0.bb
index dece1d7..f06e501 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_8.14.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-ipython_8.15.0.bb
@@ -5,7 +5,7 @@
 
 PYPI_PACKAGE = "ipython"
 
-SRC_URI[sha256sum] = "1d197b907b6ba441b692c48cf2a3a2de280dc0ac91a3405b39349a50272ca0a1"
+SRC_URI[sha256sum] = "2baeb5be6949eeebf532150f81746f8333e2ccce02de1c7eedde3f23ed5e9f1e"
 
 RDEPENDS:${PN} = "\
     ${PYTHON_PN}-setuptools \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-joblib_1.3.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-joblib_1.3.2.bb
similarity index 80%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-joblib_1.3.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-joblib_1.3.2.bb
index 9186cbb..fe1e68c 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-joblib_1.3.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-joblib_1.3.2.bb
@@ -4,7 +4,7 @@
 
 inherit setuptools3 pypi
 
-SRC_URI[sha256sum] = "1f937906df65329ba98013dc9692fe22a4c5e4a648112de500508b18a21b41e3"
+SRC_URI[sha256sum] = "92f865e621e17784e7955080b6d042489e3b8e294949cc44c6eac304f59772b1"
 
 RDEPENDS:${PN} += " \
     python3-asyncio \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-kivy_2.1.0..bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-kivy_2.1.0.bb
similarity index 94%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-kivy_2.1.0..bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-kivy_2.1.0.bb
index ca1fc5f..b02c55a 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-kivy_2.1.0..bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-kivy_2.1.0.bb
@@ -43,7 +43,9 @@
 KIVY_CROSS_SYSROOT="${RECIPE_SYSROOT}"
 export KIVY_CROSS_SYSROOT
 
-REQUIRED_DISTRO_FEATURES += "x11 opengl gobject-introspection-data"
+REQUIRED_DISTRO_FEATURES += "opengl gobject-introspection-data"
+
+ANY_OF_DISTRO_FEATURES = "x11 wayland"
 
 DEPENDS += " \
     gstreamer1.0 \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-kiwisolver_1.4.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-kiwisolver_1.4.5.bb
similarity index 81%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-kiwisolver_1.4.4.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-kiwisolver_1.4.5.bb
index acc8bd5..a1949b1 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-kiwisolver_1.4.4.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-kiwisolver_1.4.5.bb
@@ -3,7 +3,7 @@
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=f137eeae9cf8004d06830f6ab25b2d52"
 
-SRC_URI[sha256sum] = "d41997519fcba4a1e46eb4a2fe31bc12f0ff957b2b81bac28db24744f333e955"
+SRC_URI[sha256sum] = "e57e563a57fb22a142da34f38acc2fc1a5c864bc29ca1517a88abc963e60d6ec"
 
 inherit pypi python_setuptools_build_meta
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-langtable_0.0.62.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-langtable_0.0.63.bb
similarity index 86%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-langtable_0.0.62.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-langtable_0.0.63.bb
index df6d14e..ca68a6c 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-langtable_0.0.62.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-langtable_0.0.63.bb
@@ -6,7 +6,7 @@
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
 
-SRC_URI[sha256sum] = "df8d5daedaa5c0d4e72dace925733376ba705d9330f63934f122eacf4746f360"
+SRC_URI[sha256sum] = "ff2b5a1db27900cb83e06bcbd14cb0bbd5caaf304c913308246608d8e93d684f"
 
 inherit pypi setuptools3 python3native
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-luma-core_2.4.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-luma-core_2.4.1.bb
similarity index 68%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-luma-core_2.4.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-luma-core_2.4.1.bb
index 8a7be0a..a50c965 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-luma-core_2.4.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-luma-core_2.4.1.bb
@@ -2,11 +2,11 @@
 DESCRIPTION = "A component library to support SBC display drivers"
 HOMEPAGE = "https://github.com/rm-hull/luma.core"
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=71cded473ab60fdbe20edc519217f521"
+LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=b56ff1acb787606580264498947079fc"
 
 inherit pypi python_setuptools_build_meta
 
-SRC_URI[sha256sum] = "cf5fdf3563d5ec56e2f792f3a2f432abaeac517a0b05a10a757a4c5a26bb2e5d"
+SRC_URI[sha256sum] = "175663a4b0afde86ed5359f265fbb2ed978132cac4d9b42a30a3e0f0faf3f0d7"
 
 PYPI_PACKAGE = "luma.core"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-luma-oled_3.12.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-luma-oled_3.13.0.bb
similarity index 84%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-luma-oled_3.12.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-luma-oled_3.13.0.bb
index 87f7ad6..13ced6b 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-luma-oled_3.12.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-luma-oled_3.13.0.bb
@@ -8,7 +8,7 @@
 
 inherit pypi setuptools3
 
-SRC_URI[sha256sum] = "af97d79fa3481d2c48b7bccfb6de349219f6d814fdc9a3dd075c7b2c71206450"
+SRC_URI[sha256sum] = "7e2a0d6a4c968c64980255d681ec27914d9abd5a66a9019b289bf3ad050c2125"
 
 CLEANBROKEN = "1"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-lz4_4.3.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-lz4_4.3.2.bb
index 7117151..9d31ab6 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-lz4_4.3.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-lz4_4.3.2.bb
@@ -5,8 +5,8 @@
 
 DEPENDS += " \
     lz4 \
-    ${PYTHON_PN}-setuptools-scm-native \
-    ${PYTHON_PN}-pkgconfig-native \
+    python3-setuptools-scm-native \
+    python3-pkgconfig-native \
 "
 
 SRC_URI += "file://run-ptest"
@@ -15,7 +15,14 @@
 
 inherit pkgconfig pypi python_setuptools_build_meta ptest
 
-RDEPENDS:${PN}-ptest += "${PYTHON_PN}-pytest ${PYTHON_PN}-multiprocessing ${PYTHON_PN}-psutil"
+RDEPENDS:${PN}-ptest += "\
+    python3-coverage \
+    python3-pytest \
+    python3-pytest-cov \
+    python3-pytest-runner \
+    python3-multiprocessing \
+    python3-psutil \
+"
 
 do_install_ptest() {
     cp -rf ${S}/tests/ ${D}${PTEST_PATH}/
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto_0.39.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto_0.39.0.bb
index ac62773..d47ec2b 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto_0.39.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-m2crypto_0.39.0.bb
@@ -31,15 +31,15 @@
 DISTUTILS_BUILD_ARGS += "build_ext --openssl=${STAGING_EXECPREFIXDIR} -I${STAGING_INCDIR}"
 DISTUTILS_INSTALL_ARGS += "build_ext --openssl=${STAGING_EXECPREFIXDIR}"
 
-SWIG_FEATURES:x86 = "-D__i386__"
-SWIG_FEATURES:x32 = "-D__ILP32__"
-
-SWIG_FEATURES ?= "-D__${HOST_ARCH}__ ${@['-D__ILP32__','-D__LP64__'][d.getVar('SITEINFO_BITS') != '32']} -DOPENSSL_FILE='openssl/macros.h'"
+SWIG_FEATURES ?= "-D__${HOST_ARCH}__ ${@['-D__ILP32__','-D__LP64__'][d.getVar('SITEINFO_BITS') != '32']} -DOPENSSL_NO_FILENAMES"
 
 SWIG_FEATURES:append:riscv64 = " -D__SIZEOF_POINTER__=${SITEINFO_BITS}/8 -D__riscv_xlen=${SITEINFO_BITS}"
 SWIG_FEATURES:append:riscv32 = " -D__SIZEOF_POINTER__=${SITEINFO_BITS}/8 -D__riscv_xlen=${SITEINFO_BITS}"
 SWIG_FEATURES:append:mipsarch = " -D_MIPS_SZPTR=${SITEINFO_BITS}"
 SWIG_FEATURES:append:powerpc64le = " -D__powerpc64__"
+SWIG_FEATURES:append:x86 = " -D__i386__"
+SWIG_FEATURES:append:x32 = " -D__ILP32__"
+
 export SWIG_FEATURES
 
 export STAGING_DIR
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-mypy-extensions_0.4.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-mypy-extensions_1.0.0.bb
similarity index 78%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-mypy-extensions_0.4.3.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-mypy-extensions_1.0.0.bb
index 83ac536..4c43143 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-mypy-extensions_0.4.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-mypy-extensions_1.0.0.bb
@@ -7,6 +7,6 @@
 
 inherit pypi setuptools3
 
-SRC_URI[sha256sum] = "2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8"
+SRC_URI[sha256sum] = "75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"
 
 BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-mypy_0.971.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-mypy_0.971.bb
deleted file mode 100644
index 31fcb06..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-mypy_0.971.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "Optional static typing for Python 3 and 2 (PEP 484)"
-HOMEPAGE = "https://github.com/python/mypy"
-LICENSE = "MIT & Python-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=6ba8ec528da02073b7e1f4124c0f836f"
-
-PYPI_PACKAGE = "mypy"
-
-inherit pypi python_setuptools_build_meta
-
-SRC_URI[sha256sum] = "40b0f21484238269ae6a57200c807d80debc6459d444c0489a102d7c6a75fa56"
-
-BBCLASSEXTEND = "native"
-
-RDEPENDS:${PN} += " \
-    ${PYTHON_PN}-mypy-extensions \
-    ${PYTHON_PN}-typed-ast \
-    ${PYTHON_PN}-typing-extensions \
-    ${PYTHON_PN}-json \
-    ${PYTHON_PN}-compression \
-    ${PYTHON_PN}-pprint \
-    ${PYTHON_PN}-difflib \
-    ${PYTHON_PN}-toml \
-"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-mypy_1.5.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-mypy_1.5.1.bb
new file mode 100644
index 0000000..50ad9ef
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-mypy_1.5.1.bb
@@ -0,0 +1,23 @@
+SUMMARY = "Optional static typing for Python 3 and 2 (PEP 484)"
+HOMEPAGE = "https://github.com/python/mypy"
+LICENSE = "MIT & Python-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=6ba8ec528da02073b7e1f4124c0f836f"
+
+inherit pypi python_setuptools_build_meta
+
+SRC_URI[sha256sum] = "b031b9601f1060bf1281feab89697324726ba0c0bae9d7cd7ab4b690940f0b92"
+
+BBCLASSEXTEND = "native"
+
+DEPENDS += " \
+    python3-mypy-extensions-native \
+    python3-types-psutil-native \
+    python3-types-setuptools-native \
+    python3-typing-extensions-native \
+"
+
+RDEPENDS:${PN} += " \
+    python3-modules \
+    python3-mypy-extensions \
+    python3-typing-extensions \
+"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-platformdirs_3.9.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-platformdirs_3.10.0.bb
similarity index 88%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-platformdirs_3.9.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-platformdirs_3.10.0.bb
index c52d9d2..264b06d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-platformdirs_3.9.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-platformdirs_3.10.0.bb
@@ -7,7 +7,7 @@
     file://run-ptest \
 "
 
-SRC_URI[sha256sum] = "1b42b450ad933e981d56e59f1b97495428c9bd60698baab9f3eb3d00d5822421"
+SRC_URI[sha256sum] = "b45696dab2d7cc691a3226759c0d3b00c47c8b6e293d96f6436f733303f77f6d"
 
 inherit pypi python_hatchling ptest
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf/0001-message.c-Cast-uintptr_t-types-to-upb_MessageDef.patch b/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf/0001-message.c-Cast-uintptr_t-types-to-upb_MessageDef.patch
new file mode 100644
index 0000000..89315e3
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf/0001-message.c-Cast-uintptr_t-types-to-upb_MessageDef.patch
@@ -0,0 +1,57 @@
+From 8ce4b50b210d3c0f8de40156d4ba7827bfe16b21 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 16 Aug 2023 17:36:19 -0700
+Subject: [PATCH] message.c: Cast uintptr_t types to upb_MessageDef
+
+This fixes build with clang
+
+python/message.c:1238:49: error: incompatible integer to pointer conversion passing 'uintptr_t' (aka 'unsigned long') to parameter of type 'const upb_MessageDef *' (aka 'const struct upb_MessageDef *') [-Wint-conversion]
+ 1238 |                        upb_MessageDef_MiniTable(other->def),
+      |                                                 ^~~~~~~~~~
+/mnt/b/yoe/master/build/tmp/work/cortexa72-cortexa53-crypto-yoe-linux/python3-protobuf/4.24.0/protobuf-4.24.0/upb/reflection/message_def.h:138:69: note: passing argument to parameter 'm' here
+  138 | const upb_MiniTable* upb_MessageDef_MiniTable(const upb_MessageDef* m);
+      |                                                                     ^
+python/message.c:1609:69: error: incompatible integer to pointer conversion passing 'uintptr_t' (aka 'unsigned long') to parameter of type 'const upb_MessageDef *' (aka 'const struct upb_MessageDef *') [-Wint-conversion]
+ 1609 |       upb_Message_DeepClone(self->ptr.msg, upb_MessageDef_MiniTable(self->def),
+      |                                                                     ^~~~~~~~~
+/mnt/b/yoe/master/build/tmp/work/cortexa72-cortexa53-crypto-yoe-linux/python3-protobuf/4.24.0/protobuf-4.24.0/upb/reflection/message_def.h:138:69: note: passing argument to parameter 'm' here
+  138 | const upb_MiniTable* upb_MessageDef_MiniTable(const upb_MessageDef* m);
+      |                                                                     ^
+python/message.c:1611:44: error: incompatible integer to pointer conversion passing 'uintptr_t' (aka 'unsigned long') to parameter of type 'const upb_MessageDef *' (aka 'const struct upb_MessageDef *') [-Wint-conversion]
+ 1611 |   PyObject* ret = PyUpb_Message_Get(clone, self->def, arena);
+      |                                            ^~~~~~~~~
+
+Upstream-Status: Submitted [https://github.com/protocolbuffers/upb/pull/1492]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ python/message.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/python/message.c b/python/message.c
+index a01ce16..c418b84 100644
+--- a/python/message.c
++++ b/python/message.c
+@@ -1235,7 +1235,7 @@ static PyObject* PyUpb_Message_CopyFrom(PyObject* _self, PyObject* arg) {
+   Py_DECREF(tmp);
+ 
+   upb_Message_DeepCopy(self->ptr.msg, other->ptr.msg,
+-                       upb_MessageDef_MiniTable(other->def),
++                       upb_MessageDef_MiniTable((const upb_MessageDef*)other->def),
+                        PyUpb_Arena_Get(self->arena));
+   PyUpb_Message_SyncSubobjs(self);
+ 
+@@ -1606,9 +1606,9 @@ PyObject* DeepCopy(PyObject* _self, PyObject* arg) {
+ 
+   PyObject* arena = PyUpb_Arena_New();
+   upb_Message* clone =
+-      upb_Message_DeepClone(self->ptr.msg, upb_MessageDef_MiniTable(self->def),
++      upb_Message_DeepClone(self->ptr.msg, upb_MessageDef_MiniTable((const upb_MessageDef*)self->def),
+                             PyUpb_Arena_Get(arena));
+-  PyObject* ret = PyUpb_Message_Get(clone, self->def, arena);
++  PyObject* ret = PyUpb_Message_Get(clone, (const upb_MessageDef*)self->def, arena);
+   Py_DECREF(arena);
+ 
+   return ret;
+-- 
+2.41.0
+
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_4.23.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_4.24.2.bb
similarity index 85%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_4.23.4.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_4.24.2.bb
index 8474a43..3014884 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_4.23.4.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-protobuf_4.24.2.bb
@@ -6,8 +6,8 @@
 LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=53dbfa56f61b90215a9f8f0d527c043d"
 
 inherit pypi setuptools3
-
-SRC_URI[sha256sum] = "ccd9430c0719dce806b93f89c91de7977304729e55377f872a92465d548329a9"
+SRC_URI += "file://0001-message.c-Cast-uintptr_t-types-to-upb_MessageDef.patch"
+SRC_URI[sha256sum] = "7fda70797ddec31ddfa3576cbdcc3ddbb6b3078b737a1a87ab9136af0570cd6e"
 
 # http://errors.yoctoproject.org/Errors/Details/184715/
 # Can't find required file: ../src/google/protobuf/descriptor.proto
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pycocotools_2.0.6.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pycocotools_2.0.7.bb
similarity index 83%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pycocotools_2.0.6.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pycocotools_2.0.7.bb
index 16d7721..bebfb12 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pycocotools_2.0.6.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pycocotools_2.0.7.bb
@@ -5,7 +5,7 @@
 
 inherit setuptools3 pypi
 
-SRC_URI[sha256sum] = "7fe089b05cc18e806dcf3bd764708d86dab922a100f3734eb77fb77a70a1d18c"
+SRC_URI[sha256sum] = "da8b7815196eebf0adabf67fcc459126cbc6498bbc6ab1fd144c371465d86879"
 
 DEPENDS = "python3-cython-native python3-numpy-native virtual/crypt"
 RDEPENDS:${PN} = "python3-matplotlib python3-pillow python3-profile"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pycodestyle_2.10.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pycodestyle_2.11.0.bb
similarity index 76%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pycodestyle_2.10.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pycodestyle_2.11.0.bb
index b29fd48..9a8d107 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pycodestyle_2.10.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pycodestyle_2.11.0.bb
@@ -4,7 +4,7 @@
 SECTION = "devel/python"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=a8546d0e77f416fb05a26acd89c8b3bd"
 
-SRC_URI[sha256sum] = "347187bdb476329d98f695c213d7295a846d1152ff4fe9bacb8a9590b8ee7053"
+SRC_URI[sha256sum] = "259bcc17857d8a8b3b4a2327324b79e5f020a13c16074670f9c8c8f872ea76d0"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyflakes_3.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyflakes_3.1.0.bb
similarity index 73%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pyflakes_3.0.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pyflakes_3.1.0.bb
index 2e3a347..11f11b7 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyflakes_3.0.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyflakes_3.1.0.bb
@@ -3,7 +3,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=690c2d09203dc9e07c4083fc45ea981f"
 
-SRC_URI[sha256sum] = "ec8b276a6b60bd80defed25add7e439881c19e64850afd9b346283d4165fd0fd"
+SRC_URI[sha256sum] = "a0aae034c444db0071aa077972ba4768d40c830d9539fd45bf4cd3f8f6992efc"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymetno_0.10.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymetno_0.11.0.bb
similarity index 90%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pymetno_0.10.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pymetno_0.11.0.bb
index c5ab635..d66c4c2 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymetno_0.10.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymetno_0.11.0.bb
@@ -4,7 +4,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=5d503272f52c35147ec960cb56a03bf4"
 
 SRC_URI = "git://github.com/Danielhiversen/pyMetno.git;protocol=https;branch=master"
-SRCREV = "5fc18d7c5d627a9d9b2529db98d4e7e01a37dbf9"
+SRCREV = "d7a6161c7765bff19a276b29a6a689a59b03a63c"
 S = "${WORKDIR}/git"
 
 inherit setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.173.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.175.bb
similarity index 92%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.173.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.175.bb
index 10cc52a..969e4b7 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.173.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymisp_2.4.175.bb
@@ -4,7 +4,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=a3639cf5780f71b125d3e9d1dc127c20"
 
 SRC_URI = "git://github.com/MISP/PyMISP.git;protocol=https;branch=main"
-SRCREV = "ccae32ae716c143bea09954e860238e193bc78c6"
+SRCREV = "69e660ef03108cc16a52b170e7ab4440bd202520"
 S = "${WORKDIR}/git"
 
 inherit python_poetry_core
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymodbus_3.4.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymodbus_3.5.0.bb
similarity index 83%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pymodbus_3.4.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pymodbus_3.5.0.bb
index ecc5678..1eb25af 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymodbus_3.4.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymodbus_3.5.0.bb
@@ -1,10 +1,10 @@
 SUMMARY = "A fully featured modbus protocol stack in python"
 HOMEPAGE = "https://github.com/riptideio/pymodbus/"
 LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=430604f78bee72425da231d42eac9cee"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=6a146397c35e3d0953758ce8803de347"
 DEPENDS += "python3-six-native"
 
-SRC_URI[sha256sum] = "2a95a311669f6734f94535332984474e4b4815de1500c74e6b94432a8bd9820a"
+SRC_URI[sha256sum] = "4c6fb9af3a6c5a5cba59e4c62812d911f1d5c02dc3aedaaec858990574bc6b4c"
 S = "${WORKDIR}/pymodbus-${PV}"
 
 inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_4.4.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_4.5.0.bb
similarity index 90%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_4.4.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_4.5.0.bb
index b89706a..9ae3eef 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_4.4.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pymongo_4.5.0.bb
@@ -8,7 +8,7 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
 
-SRC_URI[sha256sum] = "a4df87dbbd03ac6372d24f2a8054b4dc33de497d5227b50ec649f436ad574284"
+SRC_URI[sha256sum] = "681f252e43b3ef054ca9161635f81b730f4d8cadd28b3f2b2004f5a72f853982"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.7.9.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.7.9.bb
index 263acd0..39fbd1a 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.7.9.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-pyroute2_0.7.9.bb
@@ -35,4 +35,6 @@
 do_install_ptest() {
     install -d ${D}${PTEST_PATH}/tests
     cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
+    sed -e  "s|'test_unit|'tests/test_unit|g" -i  ${D}${PTEST_PATH}/tests/test_unit/test_nlmsg/test_marshal.py \
+    ${D}${PTEST_PATH}/tests/test_unit/test_iproute_match/test_match.py
 }
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-rdflib_6.3.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-rdflib_7.0.0.bb
similarity index 83%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-rdflib_6.3.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-rdflib_7.0.0.bb
index 1b4bb5a..952c210 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-rdflib_6.3.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-rdflib_7.0.0.bb
@@ -2,7 +2,7 @@
 LICENSE = "BSD-3-Clause"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=37d489c0cefe52a17e1d5007e196464a"
 
-SRC_URI[sha256sum] = "72af591ff704f4caacea7ecc0c5a9056b8553e0489dd4f35a9bc52dbd41522e0"
+SRC_URI[sha256sum] = "9995eb8569428059b8c1affd26b25eac510d64f5043d9ce8c84e0d0036e995ae"
 
 inherit pypi python_poetry_core
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-redis_4.6.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-redis_5.0.0.bb
similarity index 70%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-redis_4.6.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-redis_5.0.0.bb
index 47eb7c2..f04e04b 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-redis_4.6.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-redis_5.0.0.bb
@@ -2,9 +2,9 @@
 DESCRIPTION = "The Python interface to the Redis key-value store."
 HOMEPAGE = "http://github.com/andymccurdy/redis-py"
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=1db1f331d351900707368237cc4880cf"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=609ded3add9111c4c6e102f1d421d3f8"
 
-SRC_URI[sha256sum] = "585dc516b9eb042a619ef0a39c3d7d55fe81bdb4df09a52c9cdde0d07bf1aa7d"
+SRC_URI[sha256sum] = "5cea6c0d335c9a7332a460ed8729ceabb4d0c489c7285b0a86dbbf8a017bd120"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2023.6.3.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2023.8.8.bb
similarity index 79%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2023.6.3.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2023.8.8.bb
index f653f32..1676bab 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2023.6.3.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-regex_2023.8.8.bb
@@ -5,7 +5,7 @@
 
 inherit pypi setuptools3
 
-SRC_URI[sha256sum] = "72d1a25bf36d2050ceb35b517afe13864865268dfb45910e2e17a84be6cbfeb0"
+SRC_URI[sha256sum] = "fcbdc5f2b0f1cd0f6a56cdb46fe41d2cce1e644e3b68832f3eeebc5fb0f7712e"
 
 RDEPENDS:${PN} += " \
 	python3-stringold \
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-schedule_1.2.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-schedule_1.2.0.bb
new file mode 100644
index 0000000..98b7690
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-schedule_1.2.0.bb
@@ -0,0 +1,10 @@
+SUMMARY = "Job scheduling for humans"
+HOMEPAGE = "https://github.com/dbader/schedule"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=6400f153491d45ea3459761627ca24b2"
+
+SRC_URI[sha256sum] = "b4ad697aafba7184c9eb6a1e2ebc41f781547242acde8ceae9a0a25b04c0922d"
+
+inherit pypi setuptools3
+
+RDEPENDS:${PN} += "${PYTHON_PN}-datetime ${PYTHON_PN}-logging ${PYTHON_PN}-math"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sdbus_0.11.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-sdbus_0.11.0.bb
new file mode 100644
index 0000000..6abdad0
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-sdbus_0.11.0.bb
@@ -0,0 +1,11 @@
+SUMMARY = "Modern Python library for the systemd D-Bus"
+HOMEPAGE = "https://python-sdbus.readthedocs.io/en/latest/"
+LICENSE = "LGPL-2.1-or-later"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=e77986dc8e2ee22d44a7c863e96852ae"
+
+SRC_URI[sha256sum] = "f86fbadae54fea6441ec2f27dc29daf085269d66c5d9df1a4fbc9474a24b91d0"
+
+REQUIRED_DISTRO_FEATURES = "systemd"
+DEPENDS += "systemd"
+
+inherit pypi setuptools3 features_check pkgconfig
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sh_2.0.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-sh_2.0.6.bb
similarity index 86%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-sh_2.0.4.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-sh_2.0.6.bb
index fa9f97a..3a652a5 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-sh_2.0.4.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-sh_2.0.6.bb
@@ -3,7 +3,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=5317094292296f03405f59ae5f6544b6"
 
-SRC_URI[sha256sum] = "a18920f0839991bc9dfddb6dcc006c360b1064ba96257359f0ea356e9fa75a60"
+SRC_URI[sha256sum] = "9b2998f313f201c777e2c0061f0b1367497097ef13388595be147e2a00bf7ba1"
 
 PYPI_PACKAGE = "sh"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-smbus2_0.4.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-smbus2_0.4.3.bb
similarity index 84%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-smbus2_0.4.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-smbus2_0.4.3.bb
index f22a402..cc4802e 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-smbus2_0.4.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-smbus2_0.4.3.bb
@@ -6,7 +6,7 @@
 
 inherit pypi setuptools3
 
-SRC_URI[sha256sum] = "634541ed794068a822fe7499f1577468b9d4641b68dd9bfb6d0eb7270f4d2a32"
+SRC_URI[sha256sum] = "36f2288a8e1a363cb7a7b2244ec98d880eb5a728a2494ac9c71e9de7bf6a803a"
 
 CLEANBROKEN = "1"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-snagboot_1.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-snagboot_1.2.bb
similarity index 85%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-snagboot_1.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-snagboot_1.2.bb
index e6f3148..57a3280 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-snagboot_1.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-snagboot_1.2.bb
@@ -3,7 +3,7 @@
 LICENSE = "GPL-2.0-only"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
 
-SRC_URI[sha256sum] = "40b045e6225f3544080558e4bd604d116d4cffceea80cb84307579d914e4e498"
+SRC_URI[sha256sum] = "3d5cdd5ffe7355deba27657e6f45d45538a398f92215d219a8cfd6e716f67c34"
 
 inherit pypi python_setuptools_build_meta
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-socketio_5.8.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-socketio_5.9.0.bb
similarity index 89%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-socketio_5.8.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-socketio_5.9.0.bb
index 5de7490..9064ee4 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-socketio_5.8.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-socketio_5.9.0.bb
@@ -9,7 +9,7 @@
 
 PYPI_PACKAGE = "python-socketio"
 
-SRC_URI[sha256sum] = "e714f4dddfaaa0cb0e37a1e2deef2bb60590a5b9fea9c343dd8ca5e688416fd9"
+SRC_URI[sha256sum] = "dc42735f65534187f381fde291ebf620216a4960001370f32de940229b2e7f8f"
 
 PACKAGECONFIG ?= "asyncio_client client"
 PACKAGECONFIG[asyncio_client] = ",,,${PYTHON_PN}-aiohttp ${PYTHON_PN}-websockets"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-soupsieve_2.4.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-soupsieve_2.5.bb
similarity index 87%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-soupsieve_2.4.1.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-soupsieve_2.5.bb
index 70c3584..585613d 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-soupsieve_2.4.1.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-soupsieve_2.5.bb
@@ -4,7 +4,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE.md;md5=520586fa71ed2cbda50b4a8c89621e09"
 
-SRC_URI[sha256sum] = "89d12b2d5dfcd2c9e8c22326da9d9aa9cb3dfab0a83a024f05704076ee8d35ea"
+SRC_URI[sha256sum] = "5663d5a7b3bfaeee0bc4372e7fc48f9cff4940b3eec54a6451cc5299f1097690"
 
 inherit pypi python_hatchling python_setuptools_build_meta ptest
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_2.0.19.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_2.0.20.bb
similarity index 87%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_2.0.19.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_2.0.20.bb
index a2cf00d..414b2f6 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_2.0.19.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-sqlalchemy_2.0.20.bb
@@ -4,7 +4,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=b707d50badb798e1d897f2c8f649382d"
 
-SRC_URI[sha256sum] = "77a14fa20264af73ddcdb1e2b9c5a829b8cc6b8304d0f093271980e36c200a3f"
+SRC_URI[sha256sum] = "ca8a5ff2aa7f3ade6c498aaafce25b1eaeabe4e42b73e25519183e4566a16fc6"
 
 PYPI_PACKAGE = "SQLAlchemy"
 inherit pypi setuptools3
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-tox_4.6.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-tox_4.11.1.bb
similarity index 92%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-tox_4.6.4.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-tox_4.11.1.bb
index a8215a9..bbb77e7 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-tox_4.6.4.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-tox_4.11.1.bb
@@ -6,7 +6,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=11610a9d8fd95649cf8159be12b98cb7"
 
-SRC_URI[sha256sum] = "5e2ad8845764706170d3dcaac171704513cc8a725655219acb62fe4380bdadda"
+SRC_URI[sha256sum] = "8a8cc94b7269f8e43dfc636eff2da4b33a199a4e575b5b086cc51aae24ac4262"
 
 BBCLASSEXTEND = "native nativesdk"
 inherit pypi python_hatchling
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-tqdm_4.65.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-tqdm_4.66.1.bb
similarity index 66%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-tqdm_4.65.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-tqdm_4.66.1.bb
index f54b5c4..2a92e61 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-tqdm_4.65.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-tqdm_4.66.1.bb
@@ -3,9 +3,9 @@
 SECTION = "devel/python"
 
 LICENSE = "MIT & MPL-2.0"
-LIC_FILES_CHKSUM = "file://LICENCE;md5=cfdbc9dcca7dc9fb600347958b7d5c4f"
+LIC_FILES_CHKSUM = "file://LICENCE;md5=bb3c087935ebba37cad180364cb0850c"
 
-SRC_URI[sha256sum] = "1871fb68a86b8fb3b59ca4cdd3dcccbc7e6d613eeed31f4c332531977b89beb5"
+SRC_URI[sha256sum] = "d88e651f9db8d8551a62556d3cff9e3034274ca5d66e93197cf2490e2dcb69c7"
 
 inherit pypi python_setuptools_build_meta
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-typed-ast_1.5.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-typed-ast_1.5.4.bb
deleted file mode 100644
index e6c1746..0000000
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-typed-ast_1.5.4.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-SUMMARY = "Modified fork of CPython's ast module that parses `# type:` comments"
-HOMEPAGE = "https://github.com/python/typed_ast"
-LICENSE = "Apache-2.0 & MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=97f1494e93daf66a5df47118407a4c4f"
-
-PYPI_PACKAGE = "typed_ast"
-
-inherit pypi setuptools3
-
-SRC_URI[sha256sum] = "39e21ceb7388e4bb37f4c679d72707ed46c2fbf2a5609b8b8ebc4b067d977df2"
-
-BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-typeguard_4.1.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-typeguard_4.1.3.bb
similarity index 88%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-typeguard_4.1.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-typeguard_4.1.3.bb
index f64c70a..73935d0 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-typeguard_4.1.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-typeguard_4.1.3.bb
@@ -3,7 +3,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=f0e423eea5c91e7aa21bdb70184b3e53"
 
-SRC_URI[sha256sum] = "b05a54bb0276eefd28880df42e004a71e699c8081fcb9d0536b2ceb01019f60c"
+SRC_URI[sha256sum] = "7d4264cd631ac1157c5bb5ec992281b4f1e2ba7a35db91bc15f442235e244803"
 
 inherit pypi python_setuptools_build_meta ptest
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-types-psutil_5.9.5.16.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-types-psutil_5.9.5.16.bb
new file mode 100644
index 0000000..02245be
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-types-psutil_5.9.5.16.bb
@@ -0,0 +1,10 @@
+SUMMARY = "Typing stubs for psutil"
+HOMEPAGE = "https://github.com/python/typeshed"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=6;endline=6;md5=ef4dc1e740f5c928f1608a4a9c7b578e"
+
+inherit pypi setuptools3
+
+SRC_URI[sha256sum] = "4e9b219efb625d3d04f6bf106934f87cab49aa41a94b0a3b3089403f47a79228"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-types-setuptools_68.1.0.1.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-types-setuptools_68.1.0.1.bb
new file mode 100644
index 0000000..9d8022b
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-types-setuptools_68.1.0.1.bb
@@ -0,0 +1,10 @@
+SUMMARY = "Typing stubs for setuptools"
+HOMEPAGE = "https://github.com/python/typeshed"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=6;endline=6;md5=ef4dc1e740f5c928f1608a4a9c7b578e"
+
+inherit pypi setuptools3
+
+SRC_URI[sha256sum] = "271ed8da44885cd9a701c86e48cc6d3cc988052260e72b3ce26c26b3028f86ed"
+
+BBCLASSEXTEND = "native"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-uefi-firmware_1.10.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-uefi-firmware_1.11.bb
similarity index 83%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-uefi-firmware_1.10.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-uefi-firmware_1.11.bb
index 539366c..67e668a 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-uefi-firmware_1.10.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-uefi-firmware_1.11.bb
@@ -5,11 +5,11 @@
 modules for BIOS, OptionROM, Intel ME and other formats too."
 HOMEPAGE = "https://github.com/theopolis/uefi-firmware-parser"
 LICENSE = "BSD-2-Clause & BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://setup.py;md5=90fa5bae1547550f1c1993f651eda955"
+LIC_FILES_CHKSUM = "file://setup.py;md5=5a59066a8676f17262ef7e691f8ef253"
 
 SRC_URI = "git://github.com/theopolis/uefi-firmware-parser;protocol=https;branch=master"
 
-SRCREV = "dfb15b068960b771e2e1536d34790dac9b5bfe32"
+SRCREV = "f289219b99eb525cbc58e4dc2b07df3811f92ef7"
 
 S = "${WORKDIR}/git"
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-virtualenv_20.24.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-virtualenv_20.24.4.bb
similarity index 85%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-virtualenv_20.24.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-virtualenv_20.24.4.bb
index 52a99cc..889c73b 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-virtualenv_20.24.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-virtualenv_20.24.4.bb
@@ -6,7 +6,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=0ce089158cf60a8ab6abb452b6405538"
 
-SRC_URI[sha256sum] = "fd8a78f46f6b99a67b7ec5cf73f92357891a7b3a40fd97637c27f854aae3b9e0"
+SRC_URI[sha256sum] = "772b05bfda7ed3b8ecd16021ca9716273ad9f4467c801f27e83ac73430246dca"
 
 BBCLASSEXTEND = "native nativesdk"
 inherit pypi python_hatchling
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-web3_6.7.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-web3_6.9.0.bb
similarity index 85%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-web3_6.7.0.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-web3_6.9.0.bb
index c842639..9214669 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-web3_6.7.0.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-web3_6.9.0.bb
@@ -4,7 +4,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=373fede350846fdffd23648fba504635"
 
-SRC_URI[sha256sum] = "dc05e4130ed2e1e67a18a6f012cd3095440f37c0b8334038071d5510176debb5"
+SRC_URI[sha256sum] = "cb454d0180e63ba1d83143dccf7c623581ba58e222edb006f48252d8a7b948e0"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-yamlloader_1.2.2.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-yamlloader_1.3.2.bb
similarity index 77%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-yamlloader_1.2.2.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-yamlloader_1.3.2.bb
index 9fdba49..030ad88 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-yamlloader_1.2.2.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-yamlloader_1.3.2.bb
@@ -3,7 +3,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=6831ef36faa29329bce2420c5356f97e"
 
-SRC_URI[sha256sum] = "35669fd7b9f8c6b38db861a51701542c42672b46e8ab63253486a8cb8377b687"
+SRC_URI[sha256sum] = "7dbd98421d8090c521655f1b06ca030067f29df5253a8878126bce3a90f56817"
 
 inherit pypi python_setuptools_build_meta
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.71.4.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.97.0.bb
similarity index 81%
rename from meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.71.4.bb
rename to meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.97.0.bb
index ce92c64..9662c3f 100644
--- a/meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.71.4.bb
+++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-zeroconf_0.97.0.bb
@@ -3,7 +3,7 @@
 LICENSE = "LGPL-2.1-only"
 LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=6;endline=6;md5=6517bdc8f2416f27ab725d4702f7aac3"
 
-SRC_URI[sha256sum] = "b988425f6bd0d4f11f05fa258a6c49d9f9956777e9af00ca98c4ed3f743bd677"
+SRC_URI[sha256sum] = "9a06cd21182250100df6c4f4e9de2a47a0ea927c7d5a0446035bb3dfcc17a647"
 
 inherit pypi setuptools3
 
diff --git a/meta-openembedded/meta-python/recipes-devtools/python3-gspread/python3-gspread_5.10.0.bb b/meta-openembedded/meta-python/recipes-devtools/python3-gspread/python3-gspread_5.10.0.bb
new file mode 100644
index 0000000..3918ed3
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python3-gspread/python3-gspread_5.10.0.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Google Spreadsheets Python API"
+HOMEPAGE = "https://github.com/burnash/gspread"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=9488e21983675fa56dc05af558b83e2f"
+
+SRC_URI = "https://files.pythonhosted.org/packages/b4/4f/033ebf34778745061b67b104ef212ed5b05fa65a530f345f88c4355fdcc3/gspread-5.10.0.tar.gz"
+SRC_URI[sha256sum] = "2b6bba6dc111580170346a9bcd1893e0e8c52f67a9e537caec7b7a1e27c14435"
+
+S = "${WORKDIR}/gspread-${PV}"
+
+RDEPENDS:${PN} = "python3-requests"
+
+inherit python_poetry_core
diff --git a/meta-openembedded/meta-python/recipes-devtools/python3-piccata/python3-piccata_2.0.3.bb b/meta-openembedded/meta-python/recipes-devtools/python3-piccata/python3-piccata_2.0.3.bb
new file mode 100644
index 0000000..b725893
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python3-piccata/python3-piccata_2.0.3.bb
@@ -0,0 +1,13 @@
+SUMMARY = "Python CoAP Toolkit"
+HOMEPAGE = "https://github.com/NordicSemiconductor/piccata"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e664eb75e2791c2e505e6e1c274e6d4f"
+
+SRCREV = "218d310e3d840715b1c8e67cefd5b6d71a2d7a1a"
+SRC_URI = "git://github.com/NordicSemiconductor/piccata.git;protocol=http;branch=master"
+
+S = "${WORKDIR}/git"
+
+inherit setuptools3
+
+RDEPENDS:${PN} += "python3-core python3-datetime python3-io python3-logging python3-math"
diff --git a/meta-openembedded/meta-python/recipes-devtools/python3_oauth2client/python3-oauth2client_4.1.3.bb b/meta-openembedded/meta-python/recipes-devtools/python3_oauth2client/python3-oauth2client_4.1.3.bb
new file mode 100644
index 0000000..c0b1118
--- /dev/null
+++ b/meta-openembedded/meta-python/recipes-devtools/python3_oauth2client/python3-oauth2client_4.1.3.bb
@@ -0,0 +1,19 @@
+DESCRIPTION = "OAuth 2.0 client library"
+
+HOMEPAGE = "http://github.com/google/oauth2client/"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=038e1390e94fe637991fa5569daa62bc"
+
+inherit pypi
+
+SRC_URI[sha256sum] = "d486741e451287f69568a4d26d70d9acd73a2bbfa275746c535b4209891cccc6"
+
+RDEPENDS:${PN} += " \
+        ${PYTHON_PN}-httplib2 \
+        ${PYTHON_PN}-pyasn1 \
+        ${PYTHON_PN}-pyasn1-modules \
+        ${PYTHON_PN}-rsa \
+        ${PYTHON_PN}-six \
+        "
+
+inherit setuptools3
diff --git a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui_2.3.0.bb b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui_2.3.0.bb
index aba1278..42bcf46 100644
--- a/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui_2.3.0.bb
+++ b/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivetgui_2.3.0.bb
@@ -9,7 +9,7 @@
 B = "${S}"
 
 SRCREV = "42512ee48494cee71febf04078d9774f0146a085"
-SRC_URI = "git://github.com/storaged-project/blivet-gui.git;branch=master;protocol=https \
+SRC_URI = "git://github.com/storaged-project/blivet-gui.git;branch=main;protocol=https \
            file://0001-Use-setuptools-instead-of-distutils-in-setup.py.patch \
            file://0002-Use-symbolic-list-add-and-edit-icons.patch \
            "
diff --git a/meta-openembedded/meta-python/recipes-extended/python-rich/python3-rich_13.4.2.bb b/meta-openembedded/meta-python/recipes-extended/python-rich/python3-rich_13.5.2.bb
similarity index 85%
rename from meta-openembedded/meta-python/recipes-extended/python-rich/python3-rich_13.4.2.bb
rename to meta-openembedded/meta-python/recipes-extended/python-rich/python3-rich_13.5.2.bb
index e7ddf70..2c31a33 100644
--- a/meta-openembedded/meta-python/recipes-extended/python-rich/python3-rich_13.4.2.bb
+++ b/meta-openembedded/meta-python/recipes-extended/python-rich/python3-rich_13.5.2.bb
@@ -8,7 +8,7 @@
 
 LIC_FILES_CHKSUM = "file://LICENSE;md5=b5f0b94fbc94f5ad9ae4efcf8a778303"
 
-SRC_URI[sha256sum] = "d653d6bccede5844304c605d5aac802c7cf9621efd700b46c7ec2b51ea914898"
+SRC_URI[sha256sum] = "fb9d6c0a0f643c99eed3875b5377a184132ba9be4d61516a55273d3554d75a39"
 
 inherit pypi python_poetry_core
 
diff --git a/meta-openembedded/meta-python/recipes-extended/pywbem/python3-pywbem_1.6.1.bb b/meta-openembedded/meta-python/recipes-extended/pywbem/python3-pywbem_1.6.2.bb
similarity index 94%
rename from meta-openembedded/meta-python/recipes-extended/pywbem/python3-pywbem_1.6.1.bb
rename to meta-openembedded/meta-python/recipes-extended/pywbem/python3-pywbem_1.6.2.bb
index 1ab1bde..01e4719 100644
--- a/meta-openembedded/meta-python/recipes-extended/pywbem/python3-pywbem_1.6.1.bb
+++ b/meta-openembedded/meta-python/recipes-extended/pywbem/python3-pywbem_1.6.2.bb
@@ -16,7 +16,7 @@
 LICENSE = "LGPL-2.1-only"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=fbc093901857fcd118f065f900982c24"
 
-SRC_URI[sha256sum] = "abdbd6ce08b6c597cdd6c7730e6b49a842d913f2f6b3cc62b585c58ec3ee7945"
+SRC_URI[sha256sum] = "26e8179bc17e3176b4cd576b9f5a7730f848d51be0513768fd7f31fd9b270a96"
 
 inherit pypi setuptools3 update-alternatives
 
diff --git a/meta-openembedded/meta-webserver/conf/layer.conf b/meta-openembedded/meta-webserver/conf/layer.conf
index 938090b..066165b 100644
--- a/meta-openembedded/meta-webserver/conf/layer.conf
+++ b/meta-openembedded/meta-webserver/conf/layer.conf
@@ -17,7 +17,7 @@
 
 LAYERDEPENDS_webserver = "core openembedded-layer"
 
-LAYERSERIES_COMPAT_webserver = "mickledore"
+LAYERSERIES_COMPAT_webserver = "nanbield"
 
 LICENSE_PATH += "${LAYERDIR}/licenses"
 
diff --git a/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.25.1.bb b/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.25.1.bb
deleted file mode 100644
index 702eac3..0000000
--- a/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.25.1.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-require nginx.inc
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=79ad2eb837299421c4435dedc8897b3d"
-
-SRC_URI[sha256sum] = "f09071ac46e0ea3adc0008ef0baca229fc6b4be4533baef9bbbfba7de29a8602"
-
diff --git a/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.25.2.bb b/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.25.2.bb
new file mode 100644
index 0000000..66eef23
--- /dev/null
+++ b/meta-openembedded/meta-webserver/recipes-httpd/nginx/nginx_1.25.2.bb
@@ -0,0 +1,6 @@
+require nginx.inc
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=79ad2eb837299421c4435dedc8897b3d"
+
+SRC_URI[sha256sum] = "05dd6d9356d66a74e61035f2a42162f8c754c97cf1ba64e7a801ba158d6c0711"
+
diff --git a/meta-openembedded/meta-webserver/recipes-webadmin/cockpit/cockpit_289.bb b/meta-openembedded/meta-webserver/recipes-webadmin/cockpit/cockpit_298.bb
similarity index 98%
rename from meta-openembedded/meta-webserver/recipes-webadmin/cockpit/cockpit_289.bb
rename to meta-openembedded/meta-webserver/recipes-webadmin/cockpit/cockpit_298.bb
index 2f920b4..17f096f 100644
--- a/meta-openembedded/meta-webserver/recipes-webadmin/cockpit/cockpit_289.bb
+++ b/meta-openembedded/meta-webserver/recipes-webadmin/cockpit/cockpit_298.bb
@@ -9,7 +9,7 @@
     file://0001-Warn-not-error-if-xsltproc-is-not-found.patch \
     file://cockpit.pam \
     "
-SRC_URI[sha256sum] = "3f8e369b21dbe9f5e05ac6ffd8c7a58ad5759065bea29b3b14c937a17f030eb5"
+SRC_URI[sha256sum] = "c7da91824f7a72c82c1a3aaff1a57dbe0ce1e29e05e95d92b5118a324a3f4b39"
 
 inherit gettext pkgconfig autotools systemd features_check
 
diff --git a/meta-openembedded/meta-xfce/conf/layer.conf b/meta-openembedded/meta-xfce/conf/layer.conf
index 9b797d8..aeaf961 100644
--- a/meta-openembedded/meta-xfce/conf/layer.conf
+++ b/meta-openembedded/meta-xfce/conf/layer.conf
@@ -19,7 +19,7 @@
 LAYERDEPENDS_xfce-layer += "meta-python"
 LAYERDEPENDS_xfce-layer += "networking-layer"
 
-LAYERSERIES_COMPAT_xfce-layer = "mickledore"
+LAYERSERIES_COMPAT_xfce-layer = "nanbield"
 
 SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += "\
   openzone->gdk-pixbuf \
diff --git a/poky/Makefile b/poky/Makefile
deleted file mode 100644
index c951855..0000000
--- a/poky/Makefile
+++ /dev/null
@@ -1,35 +0,0 @@
-# Minimal makefile for Sphinx documentation
-#
-
-# You can set these variables from the command line, and also
-# from the environment for the first two.
-SPHINXOPTS    ?=
-SPHINXBUILD   ?= sphinx-build
-SOURCEDIR     = .
-BUILDDIR      = _build
-DESTDIR       = final
-
-ifeq ($(shell if which $(SPHINXBUILD) >/dev/null 2>&1; then echo 1; else echo 0; fi),0)
-$(error "The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed")
-endif
-
-# Put it first so that "make" without argument is like "make help".
-help:
-	@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
-
-.PHONY: help Makefile.sphinx clean publish
-
-publish: Makefile.sphinx html singlehtml
-	rm -rf $(BUILDDIR)/$(DESTDIR)/
-	mkdir -p $(BUILDDIR)/$(DESTDIR)/
-	cp -r $(BUILDDIR)/html/* $(BUILDDIR)/$(DESTDIR)/
-	cp $(BUILDDIR)/singlehtml/index.html $(BUILDDIR)/$(DESTDIR)/singleindex.html
-	sed -i -e 's@index.html#@singleindex.html#@g' $(BUILDDIR)/$(DESTDIR)/singleindex.html
-
-clean:
-	@rm -rf $(BUILDDIR)
-
-# Catch-all target: route all unknown targets to Sphinx using the new
-# "make mode" option.  $(O) is meant as a shortcut for $(SPHINXOPTS).
-%: Makefile.sphinx
-	@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
diff --git a/poky/README.OE-Core.md b/poky/README.OE-Core.md
index 2f2127f..687c58e 100644
--- a/poky/README.OE-Core.md
+++ b/poky/README.OE-Core.md
@@ -16,9 +16,13 @@
 Contributing
 ------------
 
-Please refer to
-https://www.openembedded.org/wiki/How_to_submit_a_patch_to_OpenEmbedded
-for guidelines on how to submit patches.
+Please refer to our contributor guide here: https://docs.yoctoproject.org/dev/contributor-guide/
+for full details on how to submit changes.
+
+As a quick guide, patches should be sent to openembedded-core@lists.openembedded.org
+The git command to do that would be:
+
+     git send-email -M -1 --to openembedded-core@lists.openembedded.org
 
 Mailing list:
 
diff --git a/poky/bitbake/README b/poky/bitbake/README
index 78610e6..38a461f 100644
--- a/poky/bitbake/README
+++ b/poky/bitbake/README
@@ -18,16 +18,19 @@
 Contributing
 ------------
 
-Please refer to
-https://www.openembedded.org/wiki/How_to_submit_a_patch_to_OpenEmbedded
-for guidelines on how to submit patches, just note that the latter documentation is intended
-for OpenEmbedded (and its core) not bitbake patches (bitbake-devel@lists.openembedded.org)
-but in general main guidelines apply. Once the commit(s) have been created, the way to send
-the patch is through git-send-email. For example, to send the last commit (HEAD) on current
-branch, type:
+Please refer to our contributor guide here: https://docs.yoctoproject.org/dev/contributor-guide/
+for full details on how to submit changes.
+
+As a quick guide, patches should be sent to bitbake-devel@lists.openembedded.org
+The git command to do that would be:
 
     git send-email -M -1 --to bitbake-devel@lists.openembedded.org
 
+If you're sending a patch related to the BitBake manual, make sure you copy
+the Yocto Project documentation mailing list:
+
+    git send-email -M -1 --to bitbake-devel@lists.openembedded.org --cc docs@lists.yoctoproject.org
+
 Mailing list:
 
     https://lists.openembedded.org/g/bitbake-devel
diff --git a/poky/bitbake/bin/bitbake b/poky/bitbake/bin/bitbake
index 42ab148..8cfa165 100755
--- a/poky/bitbake/bin/bitbake
+++ b/poky/bitbake/bin/bitbake
@@ -27,7 +27,7 @@
 
 bb.utils.check_system_locale()
 
-__version__ = "2.4.0"
+__version__ = "2.6.0"
 
 if __name__ == "__main__":
     if __version__ != bb.__version__:
diff --git a/poky/bitbake/doc/README b/poky/bitbake/doc/README
index cdbb237..d4f56af 100644
--- a/poky/bitbake/doc/README
+++ b/poky/bitbake/doc/README
@@ -47,8 +47,8 @@
 
 To build the documentation locally, run:
 
- $ cd documentation
- $ make -f Makefile.sphinx html
+ $ cd doc
+ $ make html
 
 The resulting HTML index page will be _build/html/index.html, and you
 can browse your own copy of the locally generated documentation with
diff --git a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.rst b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.rst
index c061bd7..fb4f0a2 100644
--- a/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.rst
+++ b/poky/bitbake/doc/bitbake-user-manual/bitbake-user-manual-fetching.rst
@@ -476,6 +476,14 @@
    easy to share metadata without removing passwords. SSH keys, ``~/.netrc``
    and ``~/.ssh/config`` files can be used as alternatives.
 
+Using tags with the git fetcher may cause surprising behaviour. Bitbake needs to
+resolve the tag to a specific revision and to do that, it has to connect to and use
+the upstream repository. This is because the revision the tags point at can change and
+we've seen cases of this happening in well known public repositories. This can mean
+many more network connections than expected and recipes may be reparsed at every build.
+Source mirrors will also be bypassed as the upstream repository is the only source
+of truth to resolve the revision accurately. For these reasons, whilst the fetcher
+can support tags, we recommend being specific about revisions in recipes.
 
 .. _gitsm-fetcher:
 
@@ -688,6 +696,41 @@
 
 It can also be used when setting mirrors definitions using the :term:`PREMIRRORS` variable.
 
+.. _gcp-fetcher:
+
+GCP Fetcher (``gs://``)
+--------------------------
+
+This submodule fetches data from a
+`Google Cloud Storage Bucket <https://cloud.google.com/storage/docs/buckets>`__.
+It uses the `Google Cloud Storage Python Client <https://cloud.google.com/python/docs/reference/storage/latest>`__
+to check the status of objects in the bucket and download them.
+The use of the Python client makes it substantially faster than using command
+line tools such as gsutil.
+
+The fetcher requires the Google Cloud Storage Python Client to be installed, along
+with the gsutil tool.
+
+The fetcher requires that the machine has valid credentials for accessing the
+chosen bucket. Instructions for authentication can be found in the
+`Google Cloud documentation <https://cloud.google.com/docs/authentication/provide-credentials-adc#local-dev>`__.
+
+If it used from the OpenEmbedded build system, the fetcher can be used for
+fetching sstate artifacts from a GCS bucket by specifying the
+``SSTATE_MIRRORS`` variable as shown below::
+
+   SSTATE_MIRRORS ?= "\
+       file://.* gs://<bucket name>/PATH \
+   "
+
+The fetcher can also be used in recipes::
+
+   SRC_URI = "gs://<bucket name>/<foo_container>/<bar_file>"
+
+However, the checksum of the file should be also be provided::
+
+   SRC_URI[sha256sum] = "<sha256 string>"
+
 .. _crate-fetcher:
 
 Crate Fetcher (``crate://``)
@@ -791,6 +834,8 @@
 
 -  OSC (``osc://``)
 
+-  S3 (``s3://``)
+
 -  Secure FTP (``sftp://``)
 
 -  Secure Shell (``ssh://``)
diff --git a/poky/bitbake/lib/bb/__init__.py b/poky/bitbake/lib/bb/__init__.py
index 0e2d867..3163481 100644
--- a/poky/bitbake/lib/bb/__init__.py
+++ b/poky/bitbake/lib/bb/__init__.py
@@ -9,7 +9,7 @@
 # SPDX-License-Identifier: GPL-2.0-only
 #
 
-__version__ = "2.4.0"
+__version__ = "2.6.0"
 
 import sys
 if sys.version_info < (3, 8, 0):
diff --git a/poky/bitbake/lib/bb/acl.py b/poky/bitbake/lib/bb/acl.py
new file mode 100755
index 0000000..0f41b27
--- /dev/null
+++ b/poky/bitbake/lib/bb/acl.py
@@ -0,0 +1,215 @@
+#! /usr/bin/env python3
+#
+# Copyright 2023 by Garmin Ltd. or its subsidiaries
+#
+# SPDX-License-Identifier: MIT
+
+
+import sys
+import ctypes
+import os
+import errno
+import pwd
+import grp
+
+libacl = ctypes.CDLL("libacl.so.1", use_errno=True)
+
+
+ACL_TYPE_ACCESS = 0x8000
+ACL_TYPE_DEFAULT = 0x4000
+
+ACL_FIRST_ENTRY = 0
+ACL_NEXT_ENTRY = 1
+
+ACL_UNDEFINED_TAG = 0x00
+ACL_USER_OBJ = 0x01
+ACL_USER = 0x02
+ACL_GROUP_OBJ = 0x04
+ACL_GROUP = 0x08
+ACL_MASK = 0x10
+ACL_OTHER = 0x20
+
+ACL_READ = 0x04
+ACL_WRITE = 0x02
+ACL_EXECUTE = 0x01
+
+acl_t = ctypes.c_void_p
+acl_entry_t = ctypes.c_void_p
+acl_permset_t = ctypes.c_void_p
+acl_perm_t = ctypes.c_uint
+
+acl_tag_t = ctypes.c_int
+
+libacl.acl_free.argtypes = [acl_t]
+
+
+def acl_free(acl):
+    libacl.acl_free(acl)
+
+
+libacl.acl_get_file.restype = acl_t
+libacl.acl_get_file.argtypes = [ctypes.c_char_p, ctypes.c_uint]
+
+
+def acl_get_file(path, typ):
+    acl = libacl.acl_get_file(os.fsencode(path), typ)
+    if acl is None:
+        err = ctypes.get_errno()
+        raise OSError(err, os.strerror(err), str(path))
+
+    return acl
+
+
+libacl.acl_get_entry.argtypes = [acl_t, ctypes.c_int, ctypes.c_void_p]
+
+
+def acl_get_entry(acl, entry_id):
+    entry = acl_entry_t()
+    ret = libacl.acl_get_entry(acl, entry_id, ctypes.byref(entry))
+    if ret < 0:
+        err = ctypes.get_errno()
+        raise OSError(err, os.strerror(err))
+
+    if ret == 0:
+        return None
+
+    return entry
+
+
+libacl.acl_get_tag_type.argtypes = [acl_entry_t, ctypes.c_void_p]
+
+
+def acl_get_tag_type(entry_d):
+    tag = acl_tag_t()
+    ret = libacl.acl_get_tag_type(entry_d, ctypes.byref(tag))
+    if ret < 0:
+        err = ctypes.get_errno()
+        raise OSError(err, os.strerror(err))
+    return tag.value
+
+
+libacl.acl_get_qualifier.restype = ctypes.c_void_p
+libacl.acl_get_qualifier.argtypes = [acl_entry_t]
+
+
+def acl_get_qualifier(entry_d):
+    ret = libacl.acl_get_qualifier(entry_d)
+    if ret is None:
+        err = ctypes.get_errno()
+        raise OSError(err, os.strerror(err))
+    return ctypes.c_void_p(ret)
+
+
+libacl.acl_get_permset.argtypes = [acl_entry_t, ctypes.c_void_p]
+
+
+def acl_get_permset(entry_d):
+    permset = acl_permset_t()
+    ret = libacl.acl_get_permset(entry_d, ctypes.byref(permset))
+    if ret < 0:
+        err = ctypes.get_errno()
+        raise OSError(err, os.strerror(err))
+
+    return permset
+
+
+libacl.acl_get_perm.argtypes = [acl_permset_t, acl_perm_t]
+
+
+def acl_get_perm(permset_d, perm):
+    ret = libacl.acl_get_perm(permset_d, perm)
+    if ret < 0:
+        err = ctypes.get_errno()
+        raise OSError(err, os.strerror(err))
+    return bool(ret)
+
+
+class Entry(object):
+    def __init__(self, tag, qualifier, mode):
+        self.tag = tag
+        self.qualifier = qualifier
+        self.mode = mode
+
+    def __str__(self):
+        typ = ""
+        qual = ""
+        if self.tag == ACL_USER:
+            typ = "user"
+            qual = pwd.getpwuid(self.qualifier).pw_name
+        elif self.tag == ACL_GROUP:
+            typ = "group"
+            qual = grp.getgrgid(self.qualifier).gr_name
+        elif self.tag == ACL_USER_OBJ:
+            typ = "user"
+        elif self.tag == ACL_GROUP_OBJ:
+            typ = "group"
+        elif self.tag == ACL_MASK:
+            typ = "mask"
+        elif self.tag == ACL_OTHER:
+            typ = "other"
+
+        r = "r" if self.mode & ACL_READ else "-"
+        w = "w" if self.mode & ACL_WRITE else "-"
+        x = "x" if self.mode & ACL_EXECUTE else "-"
+
+        return f"{typ}:{qual}:{r}{w}{x}"
+
+
+class ACL(object):
+    def __init__(self, acl):
+        self.acl = acl
+
+    def __del__(self):
+        acl_free(self.acl)
+
+    def entries(self):
+        entry_id = ACL_FIRST_ENTRY
+        while True:
+            entry = acl_get_entry(self.acl, entry_id)
+            if entry is None:
+                break
+
+            permset = acl_get_permset(entry)
+
+            mode = 0
+            for m in (ACL_READ, ACL_WRITE, ACL_EXECUTE):
+                if acl_get_perm(permset, m):
+                    mode |= m
+
+            qualifier = None
+            tag = acl_get_tag_type(entry)
+
+            if tag == ACL_USER or tag == ACL_GROUP:
+                qual = acl_get_qualifier(entry)
+                qualifier = ctypes.cast(qual, ctypes.POINTER(ctypes.c_int))[0]
+
+            yield Entry(tag, qualifier, mode)
+
+            entry_id = ACL_NEXT_ENTRY
+
+    @classmethod
+    def from_path(cls, path, typ):
+        acl = acl_get_file(path, typ)
+        return cls(acl)
+
+
+def main():
+    import argparse
+    import pwd
+    import grp
+    from pathlib import Path
+
+    parser = argparse.ArgumentParser()
+    parser.add_argument("path", help="File Path", type=Path)
+
+    args = parser.parse_args()
+
+    acl = ACL.from_path(args.path, ACL_TYPE_ACCESS)
+    for entry in acl.entries():
+        print(str(entry))
+
+    return 0
+
+
+if __name__ == "__main__":
+    sys.exit(main())
diff --git a/poky/bitbake/lib/bb/command.py b/poky/bitbake/lib/bb/command.py
index a355f56..b494f84 100644
--- a/poky/bitbake/lib/bb/command.py
+++ b/poky/bitbake/lib/bb/command.py
@@ -65,7 +65,7 @@
         command = commandline.pop(0)
 
         # Ensure cooker is ready for commands
-        if command != "updateConfig" and command != "setFeatures":
+        if command not in ["updateConfig", "setFeatures", "ping"]:
             try:
                 self.cooker.init_configdata()
                 if not self.remotedatastores:
@@ -85,7 +85,8 @@
                 if not hasattr(command_method, 'readonly') or not getattr(command_method, 'readonly'):
                     return None, "Not able to execute not readonly commands in readonly mode"
             try:
-                self.cooker.process_inotify_updates_apply()
+                if command != "ping":
+                    self.cooker.process_inotify_updates_apply()
                 if getattr(command_method, 'needconfig', True):
                     self.cooker.updateCacheSync()
                 result = command_method(self, commandline)
@@ -169,6 +170,8 @@
         Allow a UI to check the server is still alive
         """
         return "Still alive!"
+    ping.needconfig = False
+    ping.readonly = True
 
     def stateShutdown(self, command, params):
         """
diff --git a/poky/bitbake/lib/bb/cooker.py b/poky/bitbake/lib/bb/cooker.py
index 11c9fa2..064e3ca 100644
--- a/poky/bitbake/lib/bb/cooker.py
+++ b/poky/bitbake/lib/bb/cooker.py
@@ -650,7 +650,7 @@
                 raise
         else:
             if not mc in self.databuilder.mcdata:
-                bb.fatal('Not multiconfig named "%s" found' % mc)
+                bb.fatal('No multiconfig named "%s" found' % mc)
             envdata = self.databuilder.mcdata[mc]
             data.expandKeys(envdata)
             parse.ast.runAnonFuncs(envdata)
diff --git a/poky/bitbake/lib/bb/fetch2/__init__.py b/poky/bitbake/lib/bb/fetch2/__init__.py
index 2428a26..765aedd 100644
--- a/poky/bitbake/lib/bb/fetch2/__init__.py
+++ b/poky/bitbake/lib/bb/fetch2/__init__.py
@@ -753,7 +753,7 @@
     d.setVar("__BBAUTOREV_SEEN", True)
     return "AUTOINC"
 
-def get_srcrev(d, method_name='sortable_revision'):
+def _get_srcrev(d, method_name='sortable_revision'):
     """
     Return the revision string, usually for use in the version string (PV) of the current package
     Most packages usually only have one SCM so we just pass on the call.
@@ -774,6 +774,7 @@
     d.setVar("__BBINSRCREV", True)
 
     scms = []
+    revs = []
     fetcher = Fetch(d.getVar('SRC_URI').split(), d)
     urldata = fetcher.ud
     for u in urldata:
@@ -781,16 +782,19 @@
             scms.append(u)
 
     if not scms:
-        raise FetchError("SRCREV was used yet no valid SCM was found in SRC_URI")
+        d.delVar("__BBINSRCREV")
+        return "", revs
+
 
     if len(scms) == 1 and len(urldata[scms[0]].names) == 1:
         autoinc, rev = getattr(urldata[scms[0]].method, method_name)(urldata[scms[0]], d, urldata[scms[0]].names[0])
+        revs.append(rev)
         if len(rev) > 10:
             rev = rev[:10]
         d.delVar("__BBINSRCREV")
         if autoinc:
-            return "AUTOINC+" + rev
-        return rev
+            return "AUTOINC+" + rev, revs
+        return rev, revs
 
     #
     # Mutiple SCMs are in SRC_URI so we resort to SRCREV_FORMAT
@@ -806,6 +810,7 @@
         ud = urldata[scm]
         for name in ud.names:
             autoinc, rev = getattr(ud.method, method_name)(ud, d, name)
+            revs.append(rev)
             seenautoinc = seenautoinc or autoinc
             if len(rev) > 10:
                 rev = rev[:10]
@@ -823,7 +828,21 @@
         format = "AUTOINC+" + format
 
     d.delVar("__BBINSRCREV")
-    return format
+    return format, revs
+
+def get_hashvalue(d, method_name='sortable_revision'):
+    pkgv, revs = _get_srcrev(d, method_name=method_name)
+    return " ".join(revs)
+
+def get_pkgv_string(d, method_name='sortable_revision'):
+    pkgv, revs = _get_srcrev(d, method_name=method_name)
+    return pkgv
+
+def get_srcrev(d, method_name='sortable_revision'):
+    pkgv, revs = _get_srcrev(d, method_name=method_name)
+    if not pkgv:
+        raise FetchError("SRCREV was used yet no valid SCM was found in SRC_URI")
+    return pkgv
 
 def localpath(url, d):
     fetcher = bb.fetch2.Fetch([url], d)
@@ -1290,7 +1309,7 @@
 
             if checksum_name in self.parm:
                 checksum_expected = self.parm[checksum_name]
-            elif self.type not in ["http", "https", "ftp", "ftps", "sftp", "s3", "az", "crate"]:
+            elif self.type not in ["http", "https", "ftp", "ftps", "sftp", "s3", "az", "crate", "gs"]:
                 checksum_expected = None
             else:
                 checksum_expected = d.getVarFlag("SRC_URI", checksum_name)
@@ -1976,6 +1995,7 @@
 from . import npmsw
 from . import az
 from . import crate
+from . import gcp
 
 methods.append(local.Local())
 methods.append(wget.Wget())
@@ -1997,3 +2017,4 @@
 methods.append(npmsw.NpmShrinkWrap())
 methods.append(az.Az())
 methods.append(crate.Crate())
+methods.append(gcp.GCP())
diff --git a/poky/bitbake/lib/bb/fetch2/gcp.py b/poky/bitbake/lib/bb/fetch2/gcp.py
new file mode 100644
index 0000000..f42c81f
--- /dev/null
+++ b/poky/bitbake/lib/bb/fetch2/gcp.py
@@ -0,0 +1,98 @@
+"""
+BitBake 'Fetch' implementation for Google Cloup Platform Storage.
+
+Class for fetching files from Google Cloud Storage using the
+Google Cloud Storage Python Client. The GCS Python Client must
+be correctly installed, configured and authenticated prior to use.
+Additionally, gsutil must also be installed.
+
+"""
+
+# Copyright (C) 2023, Snap Inc.
+#
+# Based in part on bb.fetch2.s3:
+#    Copyright (C) 2017 Andre McCurdy
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# Based on functions from the base bb module, Copyright 2003 Holger Schurig
+
+import os
+import bb
+import urllib.parse, urllib.error
+from bb.fetch2 import FetchMethod
+from bb.fetch2 import FetchError
+from bb.fetch2 import logger
+
+class GCP(FetchMethod):
+    """
+    Class to fetch urls via GCP's Python API.
+    """
+    def __init__(self):
+        self.gcp_client = None
+
+    def supports(self, ud, d):
+        """
+        Check to see if a given url can be fetched with GCP.
+        """
+        return ud.type in ['gs']
+
+    def recommends_checksum(self, urldata):
+        return True
+
+    def urldata_init(self, ud, d):
+        if 'downloadfilename' in ud.parm:
+            ud.basename = ud.parm['downloadfilename']
+        else:
+            ud.basename = os.path.basename(ud.path)
+
+        ud.localfile = d.expand(urllib.parse.unquote(ud.basename))
+
+    def get_gcp_client(self):
+        from google.cloud import storage
+        self.gcp_client = storage.Client(project=None)
+
+    def download(self, ud, d):
+        """
+        Fetch urls using the GCP API.
+        Assumes localpath was called first.
+        """
+        logger.debug2(f"Trying to download gs://{ud.host}{ud.path} to {ud.localpath}")
+        if self.gcp_client is None:
+            self.get_gcp_client()
+
+        bb.fetch2.check_network_access(d, "gsutil stat", ud.url)
+
+        # Path sometimes has leading slash, so strip it
+        path = ud.path.lstrip("/")
+        blob = self.gcp_client.bucket(ud.host).blob(path)
+        blob.download_to_filename(ud.localpath)
+
+        # Additional sanity checks copied from the wget class (although there
+        # are no known issues which mean these are required, treat the GCP API
+        # tool with a little healthy suspicion).
+        if not os.path.exists(ud.localpath):
+            raise FetchError(f"The GCP API returned success for gs://{ud.host}{ud.path} but {ud.localpath} doesn't exist?!")
+
+        if os.path.getsize(ud.localpath) == 0:
+            os.remove(ud.localpath)
+            raise FetchError(f"The downloaded file for gs://{ud.host}{ud.path} resulted in a zero size file?! Deleting and failing since this isn't right.")
+
+        return True
+
+    def checkstatus(self, fetch, ud, d):
+        """
+        Check the status of a URL.
+        """
+        logger.debug2(f"Checking status of gs://{ud.host}{ud.path}")
+        if self.gcp_client is None:
+            self.get_gcp_client()
+
+        bb.fetch2.check_network_access(d, "gsutil stat", ud.url)
+
+        # Path sometimes has leading slash, so strip it
+        path = ud.path.lstrip("/")
+        if self.gcp_client.bucket(ud.host).blob(path).exists() == False:
+            raise FetchError(f"The GCP API reported that gs://{ud.host}{ud.path} does not exist")
+        else:
+            return True
diff --git a/poky/bitbake/lib/bb/fetch2/git.py b/poky/bitbake/lib/bb/fetch2/git.py
index 2a3c06f..e11271b 100644
--- a/poky/bitbake/lib/bb/fetch2/git.py
+++ b/poky/bitbake/lib/bb/fetch2/git.py
@@ -65,6 +65,7 @@
 import os
 import re
 import shlex
+import shutil
 import subprocess
 import tempfile
 import bb
@@ -365,8 +366,35 @@
                 runfetchcmd(fetch_cmd, d, workdir=ud.clonedir)
         repourl = self._get_repo_url(ud)
 
+        needs_clone = False
+        if os.path.exists(ud.clonedir):
+            # The directory may exist, but not be the top level of a bare git
+            # repository in which case it needs to be deleted and re-cloned.
+            try:
+                # Since clones can be bare, use --absolute-git-dir instead of --show-toplevel
+                output = runfetchcmd("LANG=C %s rev-parse --absolute-git-dir" % ud.basecmd, d, workdir=ud.clonedir)
+
+                toplevel = os.path.abspath(output.rstrip())
+                abs_clonedir = os.path.abspath(ud.clonedir).rstrip('/')
+                # The top level Git directory must either be the clone directory
+                # or a child of the clone directory. Any ancestor directory of
+                # the clone directory is not valid as the Git directory (and
+                # probably belongs to some other unrelated repository), so a
+                # clone is required
+                if os.path.commonprefix([abs_clonedir, toplevel]) != abs_clonedir:
+                    logger.warning("Top level directory '%s' doesn't match expected '%s'. Re-cloning", toplevel, ud.clonedir)
+                    needs_clone = True
+            except bb.fetch2.FetchError as e:
+                logger.warning("Unable to get top level for %s (not a git directory?): %s", ud.clonedir, e)
+                needs_clone = True
+
+            if needs_clone:
+                shutil.rmtree(ud.clonedir)
+        else:
+            needs_clone = True
+
         # If the repo still doesn't exist, fallback to cloning it
-        if not os.path.exists(ud.clonedir):
+        if needs_clone:
             # We do this since git will use a "-l" option automatically for local urls where possible,
             # but it doesn't work when git/objects is a symlink, only works when it is a directory.
             if repourl.startswith("file://"):
diff --git a/poky/bitbake/lib/bb/fetch2/gitsm.py b/poky/bitbake/lib/bb/fetch2/gitsm.py
index 47225b9..a87361c 100644
--- a/poky/bitbake/lib/bb/fetch2/gitsm.py
+++ b/poky/bitbake/lib/bb/fetch2/gitsm.py
@@ -123,6 +123,7 @@
             url += ";name=%s" % module
             url += ";subpath=%s" % module
             url += ";nobranch=1"
+            url += ";lfs=%s" % self._need_lfs(ud)
             # Note that adding "user=" here to give credentials to the
             # submodule is not supported. Since using SRC_URI to give git://
             # URL a password is not supported, one have to use one of the
@@ -242,10 +243,12 @@
         ret = self.process_submodules(ud, ud.destdir, unpack_submodules, d)
 
         if not ud.bareclone and ret:
-            # All submodules should already be downloaded and configured in the tree.  This simply sets
-            # up the configuration and checks out the files.  The main project config should remain
-            # unmodified, and no download from the internet should occur.
-            runfetchcmd("%s submodule update --recursive --no-fetch" % (ud.basecmd), d, quiet=True, workdir=ud.destdir)
+            # All submodules should already be downloaded and configured in the tree.  This simply
+            # sets up the configuration and checks out the files.  The main project config should
+            # remain unmodified, and no download from the internet should occur. As such, lfs smudge
+            # should also be skipped as these files were already smudged in the fetch stage if lfs
+            # was enabled.
+            runfetchcmd("GIT_LFS_SKIP_SMUDGE=1 %s submodule update --recursive --no-fetch" % (ud.basecmd), d, quiet=True, workdir=ud.destdir)
 
     def implicit_urldata(self, ud, d):
         import shutil, subprocess, tempfile
diff --git a/poky/bitbake/lib/bb/monitordisk.py b/poky/bitbake/lib/bb/monitordisk.py
index a1b9100..f928210 100644
--- a/poky/bitbake/lib/bb/monitordisk.py
+++ b/poky/bitbake/lib/bb/monitordisk.py
@@ -234,9 +234,10 @@
                 freeInode = st.f_favail
 
                 if minInode and freeInode < minInode:
-                    # Some filesystems use dynamic inodes so can't run out
-                    # (e.g. btrfs). This is reported by the inode count being 0.
-                    if st.f_files == 0:
+                    # Some filesystems use dynamic inodes so can't run out.
+                    # This is reported by the inode count being 0 (btrfs) or the free
+                    # inode count being -1 (cephfs).
+                    if st.f_files == 0 or st.f_favail == -1:
                         self.devDict[k][2] = None
                         continue
                     # Always show warning, the self.checked would always be False if the action is WARN
diff --git a/poky/bitbake/lib/bb/runqueue.py b/poky/bitbake/lib/bb/runqueue.py
index 48788f4..c88d712 100644
--- a/poky/bitbake/lib/bb/runqueue.py
+++ b/poky/bitbake/lib/bb/runqueue.py
@@ -200,21 +200,24 @@
                 curr_memory_pressure = memory_pressure_fds.readline().split()[4].split("=")[1]
                 now = time.time()
                 tdiff = now - self.prev_pressure_time
-                if tdiff > 1.0:
-                    exceeds_cpu_pressure =  self.rq.max_cpu_pressure and (float(curr_cpu_pressure) - float(self.prev_cpu_pressure)) / tdiff > self.rq.max_cpu_pressure
-                    exceeds_io_pressure =  self.rq.max_io_pressure and (float(curr_io_pressure) - float(self.prev_io_pressure)) / tdiff > self.rq.max_io_pressure
-                    exceeds_memory_pressure = self.rq.max_memory_pressure and (float(curr_memory_pressure) - float(self.prev_memory_pressure)) / tdiff > self.rq.max_memory_pressure
+                psi_accumulation_interval = 1.0
+                cpu_pressure = (float(curr_cpu_pressure) - float(self.prev_cpu_pressure)) / tdiff
+                io_pressure = (float(curr_io_pressure) - float(self.prev_io_pressure)) / tdiff
+                memory_pressure = (float(curr_memory_pressure) - float(self.prev_memory_pressure)) / tdiff
+                exceeds_cpu_pressure =  self.rq.max_cpu_pressure and cpu_pressure > self.rq.max_cpu_pressure
+                exceeds_io_pressure =  self.rq.max_io_pressure and io_pressure > self.rq.max_io_pressure
+                exceeds_memory_pressure =  self.rq.max_memory_pressure and memory_pressure > self.rq.max_memory_pressure
+
+                if tdiff > psi_accumulation_interval:
                     self.prev_cpu_pressure = curr_cpu_pressure
                     self.prev_io_pressure = curr_io_pressure
                     self.prev_memory_pressure = curr_memory_pressure
                     self.prev_pressure_time = now
-                else:
-                    exceeds_cpu_pressure =  self.rq.max_cpu_pressure and (float(curr_cpu_pressure) - float(self.prev_cpu_pressure)) > self.rq.max_cpu_pressure
-                    exceeds_io_pressure =  self.rq.max_io_pressure and (float(curr_io_pressure) - float(self.prev_io_pressure)) > self.rq.max_io_pressure
-                    exceeds_memory_pressure = self.rq.max_memory_pressure and (float(curr_memory_pressure) - float(self.prev_memory_pressure)) > self.rq.max_memory_pressure
+
             pressure_state = (exceeds_cpu_pressure, exceeds_io_pressure, exceeds_memory_pressure)
+            pressure_values = (round(cpu_pressure,1), self.rq.max_cpu_pressure, round(io_pressure,1), self.rq.max_io_pressure, round(memory_pressure,1), self.rq.max_memory_pressure)
             if hasattr(self, "pressure_state") and pressure_state != self.pressure_state:
-                bb.note("Pressure status changed to CPU: %s, IO: %s, Mem: %s" % pressure_state)
+                bb.note("Pressure status changed to CPU: %s, IO: %s, Mem: %s (CPU: %s/%s, IO: %s/%s, Mem: %s/%s) - using %s/%s bitbake threads" % (pressure_state + pressure_values + (len(self.rq.runq_running.difference(self.rq.runq_complete)), self.rq.number_tasks)))
             self.pressure_state = pressure_state
             return (exceeds_cpu_pressure or exceeds_io_pressure or exceeds_memory_pressure)
         return False
diff --git a/poky/bitbake/lib/bb/server/process.py b/poky/bitbake/lib/bb/server/process.py
index f62faed..40cb99b 100644
--- a/poky/bitbake/lib/bb/server/process.py
+++ b/poky/bitbake/lib/bb/server/process.py
@@ -38,8 +38,11 @@
 class ProcessTimeout(SystemExit):
     pass
 
+def currenttime():
+    return datetime.datetime.now().strftime('%H:%M:%S.%f')
+
 def serverlog(msg):
-    print(str(os.getpid()) + " " +  datetime.datetime.now().strftime('%H:%M:%S.%f') + " " + msg)
+    print(str(os.getpid()) + " " +  currenttime() + " " + msg)
     sys.stdout.flush()
 
 #
@@ -289,7 +292,9 @@
                     continue
                 try:
                     serverlog("Running command %s" % command)
-                    self.command_channel_reply.send(self.cooker.command.runCommand(command, self))
+                    reply = self.cooker.command.runCommand(command, self)
+                    serverlog("Sending reply %s" % repr(reply))
+                    self.command_channel_reply.send(reply)
                     serverlog("Command Completed (socket: %s)" % os.path.exists(self.sockname))
                 except Exception as e:
                    stack = traceback.format_exc()
@@ -502,9 +507,9 @@
     def runCommand(self, command):
         self.connection.send(command)
         if not self.recv.poll(30):
-            logger.info("No reply from server in 30s (for command %s)" % command[0])
+            logger.info("No reply from server in 30s (for command %s at %s)" % (command[0], currenttime()))
             if not self.recv.poll(30):
-                raise ProcessTimeout("Timeout while waiting for a reply from the bitbake server (60s)")
+                raise ProcessTimeout("Timeout while waiting for a reply from the bitbake server (60s at %s)" % currenttime())
         ret, exc = self.recv.get()
         # Should probably turn all exceptions in exc back into exceptions?
         # For now, at least handle BBHandledException
diff --git a/poky/bitbake/lib/bb/siggen.py b/poky/bitbake/lib/bb/siggen.py
index d0a5556..b023b79 100644
--- a/poky/bitbake/lib/bb/siggen.py
+++ b/poky/bitbake/lib/bb/siggen.py
@@ -261,10 +261,6 @@
             bb.warn("Error during finalise of %s" % mcfn)
             raise
 
-        #Slow but can be useful for debugging mismatched basehashes
-        #for task in self.taskdeps[mcfn]:
-        #    self.dump_sigtask(mcfn, task, d.getVar("STAMP"), False)
-
         basehashes = {}
         for task in taskdeps:
             basehashes[task] = self.basehash[mcfn + ":" + task]
@@ -274,6 +270,11 @@
         d.setVar("__siggen_varvals", lookupcache)
         d.setVar("__siggen_taskdeps", taskdeps)
 
+        #Slow but can be useful for debugging mismatched basehashes
+        #self.setup_datacache_from_datastore(mcfn, d)
+        #for task in taskdeps:
+        #    self.dump_sigtask(mcfn, task, d.getVar("STAMP"), False)
+
     def setup_datacache_from_datastore(self, mcfn, d):
         super().setup_datacache_from_datastore(mcfn, d)
 
@@ -360,7 +361,7 @@
         for dep in sorted(self.runtaskdeps[tid]):
             data += self.get_unihash(dep[1])
 
-        for (f, cs) in self.file_checksum_values[tid]:
+        for (f, cs) in sorted(self.file_checksum_values[tid], key=clean_checksum_file_path):
             if cs:
                 if "/./" in f:
                     data += "./" + f.split("/./")[1]
@@ -418,14 +419,14 @@
         data['varvals'][task] = self.datacaches[mc].siggen_varvals[mcfn][task]
         for dep in self.datacaches[mc].siggen_taskdeps[mcfn][task]:
             if dep in self.basehash_ignore_vars:
-               continue
+                continue
             data['gendeps'][dep] = self.datacaches[mc].siggen_gendeps[mcfn][dep]
             data['varvals'][dep] = self.datacaches[mc].siggen_varvals[mcfn][dep]
 
         if runtime and tid in self.taskhash:
             data['runtaskdeps'] = [dep[0] for dep in sorted(self.runtaskdeps[tid])]
             data['file_checksum_values'] = []
-            for f,cs in self.file_checksum_values[tid]:
+            for f,cs in sorted(self.file_checksum_values[tid], key=clean_checksum_file_path):
                 if "/./" in f:
                     data['file_checksum_values'].append(("./" + f.split("/./")[1], cs))
                 else:
@@ -744,6 +745,12 @@
         self.server = data.getVar('BB_HASHSERVE')
         self.method = "sstate_output_hash"
 
+def clean_checksum_file_path(file_checksum_tuple):
+    f, cs = file_checksum_tuple
+    if "/./" in f:
+        return "./" + f.split("/./")[1]
+    return f
+
 def dump_this_task(outfile, d):
     import bb.parse
     mcfn = d.getVar("BB_FILENAME")
diff --git a/poky/bitbake/lib/bb/ui/buildinfohelper.py b/poky/bitbake/lib/bb/ui/buildinfohelper.py
index 129bb32..8b212b7 100644
--- a/poky/bitbake/lib/bb/ui/buildinfohelper.py
+++ b/poky/bitbake/lib/bb/ui/buildinfohelper.py
@@ -1746,7 +1746,6 @@
 
         buildname = self.server.runCommand(['getVariable', 'BUILDNAME'])[0]
         machine = self.server.runCommand(['getVariable', 'MACHINE'])[0]
-        image_name = self.server.runCommand(['getVariable', 'IMAGE_NAME'])[0]
 
         # location of the manifest files for this build;
         # note that this file is only produced if an image is produced
@@ -1767,6 +1766,18 @@
         # filter out anything which isn't an image target
         image_targets = [target for target in targets if target.is_image]
 
+        if len(image_targets) > 0:
+            #if there are image targets retrieve image_name
+            image_name = self.server.runCommand(['getVariable', 'IMAGE_NAME'])[0]
+            if not image_name:
+                #When build target is an image and image_name is not found as an environment variable
+                logger.info("IMAGE_NAME not found, extracting from bitbake command")
+                cmd = self.server.runCommand(['getVariable','BB_CMDLINE'])[0]
+                #filter out tokens that are command line options
+                cmd = [token for token in cmd if not token.startswith('-')]
+                image_name = cmd[1].split(':', 1)[0] # remove everything after : in image name
+                logger.info("IMAGE_NAME found as : %s " % image_name)
+
         for image_target in image_targets:
             # this is set to True if we find at least one file relating to
             # this target; if this remains False after the scan, we copy the
diff --git a/poky/bitbake/lib/bb/xattr.py b/poky/bitbake/lib/bb/xattr.py
new file mode 100755
index 0000000..7b63494
--- /dev/null
+++ b/poky/bitbake/lib/bb/xattr.py
@@ -0,0 +1,126 @@
+#! /usr/bin/env python3
+#
+# Copyright 2023 by Garmin Ltd. or its subsidiaries
+#
+# SPDX-License-Identifier: MIT
+
+import sys
+import ctypes
+import os
+import errno
+
+libc = ctypes.CDLL("libc.so.6", use_errno=True)
+fsencoding = sys.getfilesystemencoding()
+
+
+libc.listxattr.argtypes = [ctypes.c_char_p, ctypes.c_char_p, ctypes.c_size_t]
+libc.llistxattr.argtypes = [ctypes.c_char_p, ctypes.c_char_p, ctypes.c_size_t]
+
+
+def listxattr(path, follow=True):
+    func = libc.listxattr if follow else libc.llistxattr
+
+    os_path = os.fsencode(path)
+
+    while True:
+        length = func(os_path, None, 0)
+
+        if length < 0:
+            err = ctypes.get_errno()
+            raise OSError(err, os.strerror(err), str(path))
+
+        if length == 0:
+            return []
+
+        arr = ctypes.create_string_buffer(length)
+
+        read_length = func(os_path, arr, length)
+        if read_length != length:
+            # Race!
+            continue
+
+        return [a.decode(fsencoding) for a in arr.raw.split(b"\x00") if a]
+
+
+libc.getxattr.argtypes = [
+    ctypes.c_char_p,
+    ctypes.c_char_p,
+    ctypes.c_char_p,
+    ctypes.c_size_t,
+]
+libc.lgetxattr.argtypes = [
+    ctypes.c_char_p,
+    ctypes.c_char_p,
+    ctypes.c_char_p,
+    ctypes.c_size_t,
+]
+
+
+def getxattr(path, name, follow=True):
+    func = libc.getxattr if follow else libc.lgetxattr
+
+    os_path = os.fsencode(path)
+    os_name = os.fsencode(name)
+
+    while True:
+        length = func(os_path, os_name, None, 0)
+
+        if length < 0:
+            err = ctypes.get_errno()
+            if err == errno.ENODATA:
+                return None
+            raise OSError(err, os.strerror(err), str(path))
+
+        if length == 0:
+            return ""
+
+        arr = ctypes.create_string_buffer(length)
+
+        read_length = func(os_path, os_name, arr, length)
+        if read_length != length:
+            # Race!
+            continue
+
+        return arr.raw
+
+
+def get_all_xattr(path, follow=True):
+    attrs = {}
+
+    names = listxattr(path, follow)
+
+    for name in names:
+        value = getxattr(path, name, follow)
+        if value is None:
+            # This can happen if a value is erased after listxattr is called,
+            # so ignore it
+            continue
+        attrs[name] = value
+
+    return attrs
+
+
+def main():
+    import argparse
+    from pathlib import Path
+
+    parser = argparse.ArgumentParser()
+    parser.add_argument("path", help="File Path", type=Path)
+
+    args = parser.parse_args()
+
+    attrs = get_all_xattr(args.path)
+
+    for name, value in attrs.items():
+        try:
+            value = value.decode(fsencoding)
+        except UnicodeDecodeError:
+            pass
+
+        print(f"{name} = {value}")
+
+    return 0
+
+
+if __name__ == "__main__":
+    sys.exit(main())
diff --git a/poky/bitbake/lib/bblayers/query.py b/poky/bitbake/lib/bblayers/query.py
index bec76db..bfc18a75 100644
--- a/poky/bitbake/lib/bblayers/query.py
+++ b/poky/bitbake/lib/bblayers/query.py
@@ -282,7 +282,10 @@
         else:
             logger.plain('=== Appended recipes ===')
 
-        pnlist = list(self.tinfoil.cooker_data.pkg_pn.keys())
+
+        cooker_data = self.tinfoil.cooker.recipecaches[args.mc]
+
+        pnlist = list(cooker_data.pkg_pn.keys())
         pnlist.sort()
         appends = False
         for pn in pnlist:
@@ -295,7 +298,7 @@
                 if not found:
                     continue
 
-            if self.show_appends_for_pn(pn):
+            if self.show_appends_for_pn(pn, cooker_data, args.mc):
                 appends = True
 
         if not args.pnspec and self.show_appends_for_skipped():
@@ -304,8 +307,10 @@
         if not appends:
             logger.plain('No append files found')
 
-    def show_appends_for_pn(self, pn):
-        filenames = self.tinfoil.cooker_data.pkg_pn[pn]
+    def show_appends_for_pn(self, pn, cooker_data, mc):
+        filenames = cooker_data.pkg_pn[pn]
+        if mc:
+            pn = "mc:%s:%s" % (mc, pn)
 
         best = self.tinfoil.find_best_provider(pn)
         best_filename = os.path.basename(best[3])
@@ -530,6 +535,7 @@
 
         parser_show_appends = self.add_command(sp, 'show-appends', self.do_show_appends)
         parser_show_appends.add_argument('pnspec', nargs='*', help='optional recipe name specification (wildcards allowed, enclose in quotes to avoid shell expansion)')
+        parser_show_appends.add_argument('--mc', help='use specified multiconfig', default='')
 
         parser_show_cross_depends = self.add_command(sp, 'show-cross-depends', self.do_show_cross_depends)
         parser_show_cross_depends.add_argument('-f', '--filenames', help='show full file path', action='store_true')
diff --git a/poky/bitbake/lib/toaster/bldcollector/urls.py b/poky/bitbake/lib/toaster/bldcollector/urls.py
index efd67a8..3c34070 100644
--- a/poky/bitbake/lib/toaster/bldcollector/urls.py
+++ b/poky/bitbake/lib/toaster/bldcollector/urls.py
@@ -6,7 +6,7 @@
 # SPDX-License-Identifier: GPL-2.0-only
 #
 
-from django.conf.urls import url
+from django.urls import re_path as url
 
 import bldcollector.views
 
diff --git a/poky/bitbake/lib/toaster/bldcontrol/models.py b/poky/bitbake/lib/toaster/bldcontrol/models.py
index c2f302d..42750e7 100644
--- a/poky/bitbake/lib/toaster/bldcontrol/models.py
+++ b/poky/bitbake/lib/toaster/bldcontrol/models.py
@@ -4,7 +4,7 @@
 
 from __future__ import unicode_literals
 from django.db import models
-from django.utils.encoding import force_text
+from django.utils.encoding import force_str
 from orm.models import Project, Build, Layer_Version
 
 import logging
@@ -124,7 +124,7 @@
         return self.brvariable_set.get(name="MACHINE").value
 
     def __str__(self):
-        return force_text('%s %s' % (self.project, self.get_state_display()))
+        return force_str('%s %s' % (self.project, self.get_state_display()))
 
 # These tables specify the settings for running an actual build.
 # They MUST be kept in sync with the tables in orm.models.Project*
diff --git a/poky/bitbake/lib/toaster/orm/models.py b/poky/bitbake/lib/toaster/orm/models.py
index 2cb7d7e..f9fcf9e 100644
--- a/poky/bitbake/lib/toaster/orm/models.py
+++ b/poky/bitbake/lib/toaster/orm/models.py
@@ -107,7 +107,7 @@
 
 
 class ProjectManager(models.Manager):
-    def create_project(self, name, release, existing_project=None):
+    def create_project(self, name, release, existing_project=None, imported=False):
         if existing_project and (release is not None):
             prj = existing_project
             prj.bitbake_version = release.bitbake_version
@@ -134,19 +134,19 @@
 
         if release is None:
             return prj
+        if not imported:
+            for rdl in release.releasedefaultlayer_set.all():
+                lv = Layer_Version.objects.filter(
+                    layer__name=rdl.layer_name,
+                    release=release).first()
 
-        for rdl in release.releasedefaultlayer_set.all():
-            lv = Layer_Version.objects.filter(
-                layer__name=rdl.layer_name,
-                release=release).first()
-
-            if lv:
-                ProjectLayer.objects.create(project=prj,
-                                            layercommit=lv,
-                                            optional=False)
-            else:
-                logger.warning("Default project layer %s not found" %
-                               rdl.layer_name)
+                if lv:
+                    ProjectLayer.objects.create(project=prj,
+                                                layercommit=lv,
+                                                optional=False)
+                else:
+                    logger.warning("Default project layer %s not found" %
+                                rdl.layer_name)
 
         return prj
 
diff --git a/poky/bitbake/lib/toaster/toastergui/urls.py b/poky/bitbake/lib/toaster/toastergui/urls.py
index d2df4e6..bc3b0c7 100644
--- a/poky/bitbake/lib/toaster/toastergui/urls.py
+++ b/poky/bitbake/lib/toaster/toastergui/urls.py
@@ -6,7 +6,7 @@
 # SPDX-License-Identifier: GPL-2.0-only
 #
 
-from django.conf.urls import url
+from django.urls import re_path as url
 from django.views.generic import RedirectView
 
 from toastergui import tables
diff --git a/poky/bitbake/lib/toaster/toastergui/views.py b/poky/bitbake/lib/toaster/toastergui/views.py
index a571b8c..552ff16 100644
--- a/poky/bitbake/lib/toaster/toastergui/views.py
+++ b/poky/bitbake/lib/toaster/toastergui/views.py
@@ -670,11 +670,11 @@
     return HttpResponse(_get_dir_entries(build_id, target_id, top), content_type = "application/json")
 
 from django.utils.functional import Promise
-from django.utils.encoding import force_text
+from django.utils.encoding import force_str
 class LazyEncoder(json.JSONEncoder):
     def default(self, obj):
         if isinstance(obj, Promise):
-            return force_text(obj)
+            return force_str(obj)
         return super(LazyEncoder, self).default(obj)
 
 from toastergui.templatetags.projecttags import filtered_filesizeformat
@@ -1404,7 +1404,7 @@
                     if not os.path.isdir('%s/conf' % request.POST['importdir']):
                         raise BadParameterException("Bad path or missing 'conf' directory (%s)" % request.POST['importdir'])
                     from django.core import management
-                    management.call_command('buildimport', '--command=import', '--name=%s' % request.POST['projectname'], '--path=%s' % request.POST['importdir'], interactive=False)
+                    management.call_command('buildimport', '--command=import', '--name=%s' % request.POST['projectname'], '--path=%s' % request.POST['importdir'])
                     prj = Project.objects.get(name = request.POST['projectname'])
                     prj.merged_attr = True
                     prj.save()
diff --git a/poky/bitbake/lib/toaster/toastergui/widgets.py b/poky/bitbake/lib/toaster/toastergui/widgets.py
index ceff529..5369691 100644
--- a/poky/bitbake/lib/toaster/toastergui/widgets.py
+++ b/poky/bitbake/lib/toaster/toastergui/widgets.py
@@ -7,6 +7,7 @@
 #
 
 from django.views.generic import View, TemplateView
+from django.utils.decorators import method_decorator
 from django.views.decorators.cache import cache_control
 from django.shortcuts import HttpResponse
 from django.core.cache import cache
@@ -63,8 +64,8 @@
         self.default_orderby = ""
 
     # prevent HTTP caching of table data
-    @cache_control(must_revalidate=True,
-                   max_age=0, no_store=True, no_cache=True)
+    @method_decorator(cache_control(must_revalidate=True,
+                   max_age=0, no_store=True, no_cache=True))
     def dispatch(self, *args, **kwargs):
         return super(ToasterTable, self).dispatch(*args, **kwargs)
 
diff --git a/poky/bitbake/lib/toaster/toastermain/management/commands/buildimport.py b/poky/bitbake/lib/toaster/toastermain/management/commands/buildimport.py
index e25b55e..f7139aa 100644
--- a/poky/bitbake/lib/toaster/toastermain/management/commands/buildimport.py
+++ b/poky/bitbake/lib/toaster/toastermain/management/commands/buildimport.py
@@ -545,7 +545,7 @@
             # Find the directory's release, and promote to default_release if local paths
             release = self.find_import_release(layers_list,lv_dict,default_release)
             # create project, SANITY: reuse any project of same name
-            project = Project.objects.create_project(project_name,release,project)
+            project = Project.objects.create_project(project_name,release,project, imported=True)
             # Apply any new layers or variables
             self.apply_conf_variables(project,layers_list,lv_dict,release)
             # WORKAROUND: since we now derive the release, redirect 'newproject_specific' to 'project_specific'
diff --git a/poky/bitbake/lib/toaster/toastermain/management/commands/checksocket.py b/poky/bitbake/lib/toaster/toastermain/management/commands/checksocket.py
index 811fd5d..b2c002d 100644
--- a/poky/bitbake/lib/toaster/toastermain/management/commands/checksocket.py
+++ b/poky/bitbake/lib/toaster/toastermain/management/commands/checksocket.py
@@ -13,7 +13,7 @@
 import socket
 
 from django.core.management.base import BaseCommand, CommandError
-from django.utils.encoding import force_text
+from django.utils.encoding import force_str
 
 DEFAULT_ADDRPORT = "0.0.0.0:8000"
 
@@ -51,7 +51,7 @@
             if hasattr(err, 'errno') and err.errno in errors:
                 errtext = errors[err.errno]
             else:
-                errtext = force_text(err)
+                errtext = force_str(err)
             raise CommandError(errtext)
 
         self.stdout.write("OK")
diff --git a/poky/bitbake/lib/toaster/toastermain/urls.py b/poky/bitbake/lib/toaster/toastermain/urls.py
index 5fb520b..0360302 100644
--- a/poky/bitbake/lib/toaster/toastermain/urls.py
+++ b/poky/bitbake/lib/toaster/toastermain/urls.py
@@ -6,7 +6,7 @@
 # SPDX-License-Identifier: GPL-2.0-only
 #
 
-from django.conf.urls import include, url
+from django.urls import re_path as url, include
 from django.views.generic import RedirectView, TemplateView
 from django.views.decorators.cache import never_cache
 import bldcollector.views
diff --git a/poky/bitbake/toaster-requirements.txt b/poky/bitbake/toaster-requirements.txt
index dedd423..c1f433f 100644
--- a/poky/bitbake/toaster-requirements.txt
+++ b/poky/bitbake/toaster-requirements.txt
@@ -1,3 +1,3 @@
-Django>3.2,<3.3
+Django>4.2,<4.3
 beautifulsoup4>=4.4.0
 pytz
diff --git a/poky/documentation/README b/poky/documentation/README
index e8aed86..4d31036 100644
--- a/poky/documentation/README
+++ b/poky/documentation/README
@@ -34,16 +34,18 @@
 
 Here the folders corresponding to individual manuals:
 
+* brief-yoctoprojectqs - Yocto Project Quick Start
 * overview-manual      - Yocto Project Overview and Concepts Manual
-* sdk-manual           - Yocto Project Software Development Kit (SDK) Developer's Guide.
+* contributor-guide    - Yocto Project and OpenEmbedded Contributor Guide
+* ref-manual           - Yocto Project Reference Manual
 * bsp-guide            - Yocto Project Board Support Package (BSP) Developer's Guide
 * dev-manual           - Yocto Project Development Tasks Manual
 * kernel-dev           - Yocto Project Linux Kernel Development Manual
-* ref-manual           - Yocto Project Reference Manual
-* brief-yoctoprojectqs - Yocto Project Quick Start
 * profile-manual       - Yocto Project Profiling and Tracing Manual
+* sdk-manual           - Yocto Project Software Development Kit (SDK) Developer's Guide.
 * toaster-manual       - Toaster User Manual
 * test-manual          - Yocto Project Test Environment Manual
+* migration-guides     - Yocto Project Release and Migration Notes
 
 Each folder is self-contained regarding content and figures.
 
diff --git a/poky/documentation/bsp-guide/bsp.rst b/poky/documentation/bsp-guide/bsp.rst
index 4d64c65..3be314b 100644
--- a/poky/documentation/bsp-guide/bsp.rst
+++ b/poky/documentation/bsp-guide/bsp.rst
@@ -927,8 +927,8 @@
    -  The name and contact information for the BSP layer maintainer.
       This is the person to whom patches and questions should be sent.
       For information on how to find the right person, see the
-      ":ref:`dev-manual/changes:submitting a change to the yocto project`"
-      section in the Yocto Project Development Tasks Manual.
+      :doc:`../contributor-guide/submit-changes` section in the Yocto Project and
+      OpenEmbedded Contributor Guide.
 
    -  Instructions on how to build the BSP using the BSP layer.
 
diff --git a/poky/documentation/contributor-guide/identify-component.rst b/poky/documentation/contributor-guide/identify-component.rst
new file mode 100644
index 0000000..a28391a
--- /dev/null
+++ b/poky/documentation/contributor-guide/identify-component.rst
@@ -0,0 +1,31 @@
+.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
+
+Identify the component
+**********************
+
+The Yocto Project and OpenEmbedded ecosystem is built of :term:`layers <Layer>`
+so the first step is to identify the component where the issue likely lies.
+For example, if you have a hardware issue, it is likely related to the BSP
+you are using and the best place to seek advice would be from the BSP provider
+or :term:`layer`. If the issue is a build/configuration one and a distro is in
+use, they would likely be the first place to ask questions. If the issue is a
+generic one and/or in the core classes or metadata, the core layer or BitBake
+might be the appropriate component.
+
+Each metadata layer being used should contain a ``README`` file and that should
+explain where to report issues, where to send changes and how to contact the
+maintainers.
+
+If the issue is in the core metadata layer (OpenEmbedded-Core) or in BitBake,
+issues can be reported in the :yocto_bugs:`Yocto Project Bugzilla <>`. The
+:yocto_lists:`yocto </g/yocto>` mailing list is a general “catch-all” location
+where questions can be sent if you can’t work out where something should go.
+
+:term:`Poky` is a commonly used “combination” repository where multiple
+components have been combined (:oe_git:`bitbake </bitbake>`,
+:oe_git:`openembedded-core </openembedded-core>`,
+:yocto_git:`meta-yocto </meta-yocto>` and
+:yocto_git:`yocto-docs </yocto-docs>`). Patches should be submitted against the
+appropriate individual component rather than :term:`Poky` itself as detailed in
+the appropriate ``README`` file.
+
diff --git a/poky/documentation/contributor-guide/index.rst b/poky/documentation/contributor-guide/index.rst
new file mode 100644
index 0000000..a832169
--- /dev/null
+++ b/poky/documentation/contributor-guide/index.rst
@@ -0,0 +1,26 @@
+.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
+
+================================================
+Yocto Project and OpenEmbedded Contributor Guide
+================================================
+
+The Yocto Project and OpenEmbedded are open-source, community-based projects so
+contributions are very welcome, it is how the code evolves and everyone can
+effect change. Contributions take different forms, if you have a fix for an
+issue you’ve run into, a patch is the most appropriate way to contribute it.
+If you run into an issue but don’t have a solution, opening a defect in
+:yocto_bugs:`Bugzilla <>` or asking questions on the mailing lists might be
+more appropriate. This guide intends to point you in the right direction to
+this.
+
+
+.. toctree::
+   :caption: Table of Contents
+   :numbered:
+
+   identify-component
+   report-defect
+   recipe-style-guide
+   submit-changes
+
+.. include:: /boilerplate.rst
diff --git a/poky/documentation/contributor-guide/recipe-style-guide.rst b/poky/documentation/contributor-guide/recipe-style-guide.rst
new file mode 100644
index 0000000..a0d513e
--- /dev/null
+++ b/poky/documentation/contributor-guide/recipe-style-guide.rst
@@ -0,0 +1,257 @@
+.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
+
+Recipe Style Guide
+******************
+
+Recipe Naming Conventions
+=========================
+
+In general, most recipes should follow the naming convention
+``recipes-category/package/packagename_version.bb``. Recipes for related
+projects may share the same package directory. ``packagename``, ``category``,
+and ``package`` may contain hyphens, but hyphens are not allowed in ``version``.
+
+If the recipe is tracking a Git revision that does not correspond to a released
+version of the software, ``version`` may be ``git`` (e.g. ``packagename_git.bb``)
+
+Version Policy
+==============
+
+Our versions follow the form ``<package epoch>:<package version>-<package revision>``
+or in BitBake variable terms ${:term:`PE`}:${:term:`PV`}-${:term:`PR`}. We
+generally follow the `Debian <https://www.debian.org/doc/debian-policy/ch-controlfields.html#version>`__
+version policy which defines these terms.
+
+In most cases the version :term:`PV` will be set automatically from the recipe
+file name. It is recommended to use released versions of software as these are
+revisions that upstream are expecting people to use.
+
+Package versions should always compare and sort correctly so that upgrades work
+as expected. With conventional versions such as ``1.4`` upgrading ``to 1.5``
+this happens naturally, but some versions don't sort. For example,
+``1.5 Release Candidate 2`` could be written as ``1.5rc2`` but this sorts after
+``1.5``, so upgrades from feeds won't happen correctly.
+
+Instead the tilde (``~``) operator can be used, which sorts before the empty
+string so ``1.5~rc2`` comes before ``1.5``. There is a historical syntax which
+may be found where :term:`PV` is set as a combination of the prior version
+``+`` the pre-release version, for example ``PV=1.4+1.5rc2``. This is a valid
+syntax but the tilde form is preferred.
+
+For version comparisons, the ``opkg-compare-versions`` program from
+``opkg-utils`` can be useful when attempting to determine how two version
+numbers compare to each other. Our definitive version comparison algorithm is
+the one within bitbake which aims to match those of the package managers and
+Debian policy closely.
+
+When a recipe references a git revision that does not correspond to a released
+version of software (e.g. is not a tagged version), the :term:`PV` variable
+should include the Git revision using the following to make the
+version clear::
+
+    PV = "<version>+git${SRCPV}"
+
+In this case, ``<version>`` should be the most recently released version of the
+software from the current source revision (``git describe`` can be useful for
+determining this). Whilst not recommended for published layers, this format is
+also useful when using :term:`AUTOREV` to set the recipe to increment source
+control revisions automatically, which can be useful during local development.
+
+Version Number Changes
+======================
+
+The :term:`PR` variable is used to indicate different revisions of a recipe
+that reference the same upstream source version. It can be used to force a
+new version of a package to be installed onto a device from a package feed.
+These once had to be set manually but in most cases these can now be set and
+incremented automatically by a PR Server connected with a package feed.
+
+When :term:`PV` increases, any existing :term:`PR` value can and should be
+removed.
+
+If :term:`PV` changes in such a way that it does not increase with respect to
+the previous value, you need to increase :term:`PE` to ensure package managers
+will upgrade it correctly. If unset you should set :term:`PE` to "1" since
+the default of empty is easily confused with "0" depending on the package
+manager. :term:`PE` can only have an integer value.
+
+Recipe formatting
+=================
+
+Variable Formatting
+-------------------
+
+-  Variable assignment should a space around each side of the operator, e.g.
+   ``FOO = "bar"``, not ``FOO="bar"``.
+
+-  Double quotes should be used on the right-hand side of the assignment,
+   e.g. ``FOO = "bar"`` not ``FOO = 'bar'``
+
+-  Spaces should be used for indenting variables, with 4 spaces per tab
+
+-  Long variables should be split over multiple lines when possible by using
+   the continuation character (``\``)
+
+-  When splitting a long variable over multiple lines, all continuation lines
+   should be indented (with spaces) to align with the start of the quote on the
+   first line::
+
+       FOO = "this line is \
+              long \
+              "
+
+   Instead of::
+
+       FOO = "this line is \
+       long \
+       "
+
+Python Function formatting
+--------------------------
+
+-  Spaces must be used for indenting Python code, with 4 spaces per tab
+
+Shell Function formatting
+-------------------------
+
+-  The formatting of shell functions should be consistent within layers.
+   Some use tabs, some use spaces.
+
+Recipe metadata
+===============
+
+Required Variables
+------------------
+
+The following variables should be included in all recipes:
+
+-  :term:`SUMMARY`: a one line description of the upstream project
+
+-  :term:`DESCRIPTION`: an extended description of the upstream project,
+   possibly with multiple lines. If no reasonable description can be written,
+   this may be omitted as it defaults to :term:`SUMMARY`.
+
+-  :term:`HOMEPAGE`: the URL to the upstream projects homepage.
+
+-  :term:`BUGTRACKER`: the URL upstream projects bug tracking website,
+   if applicable.
+
+Recipe Ordering
+---------------
+
+When a variable is defined in recipes and classes, variables should follow the
+general order when possible:
+
+-  :term:`SUMMARY`
+-  :term:`DESCRIPTION`
+-  :term:`HOMEPAGE`
+-  :term:`BUGTRACKER`
+-  :term:`SECTION`
+-  :term:`LICENSE`
+-  :term:`LIC_FILES_CHKSUM`
+-  :term:`DEPENDS`
+-  :term:`PROVIDES`
+-  :term:`PV`
+-  :term:`SRC_URI`
+-  :term:`SRCREV`
+-  :term:`S`
+-  ``inherit ...``
+-  :term:`PACKAGECONFIG`
+-  Build class specific variables such as ``EXTRA_QMAKEVARS_POST`` and :term:`EXTRA_OECONF`
+-  Tasks such as :ref:`ref-tasks-configure`
+-  :term:`PACKAGE_ARCH`
+-  :term:`PACKAGES`
+-  :term:`FILES`
+-  :term:`RDEPENDS`
+-  :term:`RRECOMMENDS`
+-  :term:`RSUGGESTS`
+-  :term:`RPROVIDES`
+-  :term:`RCONFLICTS`
+-  :term:`BBCLASSEXTEND`
+
+There are some cases where ordering is important and these cases would override
+this default order. Examples include:
+
+-  :term:`PACKAGE_ARCH` needing to be set before ``inherit packagegroup``
+
+Tasks should be ordered based on the order they generally execute. For commonly
+used tasks this would be:
+
+-  :ref:`ref-tasks-fetch`
+-  :ref:`ref-tasks-unpack`
+-  :ref:`ref-tasks-patch`
+-  :ref:`ref-tasks-prepare_recipe_sysroot`
+-  :ref:`ref-tasks-configure`
+-  :ref:`ref-tasks-compile`
+-  :ref:`ref-tasks-install`
+-  :ref:`ref-tasks-populate_sysroot`
+-  :ref:`ref-tasks-package`
+
+Custom tasks should be sorted similarly.
+
+Package specific variables are typically grouped together, e.g.::
+
+    RDEPENDS:${PN} = “foo”
+    RDEPENDS:${PN}-libs = “bar”
+
+    RRECOMMENDS:${PN} = “one”
+    RRECOMMENDS:${PN}-libs = “two”
+
+Recipe License Fields
+---------------------
+
+Recipes need to define both the :term:`LICENSE` and
+:term:`LIC_FILES_CHKSUM` variables:
+
+-  :term:`LICENSE`: This variable specifies the license for the software.
+   If you do not know the license under which the software you are
+   building is distributed, you should go to the source code and look
+   for that information. Typical files containing this information
+   include ``COPYING``, :term:`LICENSE`, and ``README`` files. You could
+   also find the information near the top of a source file. For example,
+   given a piece of software licensed under the GNU General Public
+   License version 2, you would set :term:`LICENSE` as follows::
+
+      LICENSE = "GPL-2.0-only"
+
+   The licenses you specify within :term:`LICENSE` can have any name as long
+   as you do not use spaces, since spaces are used as separators between
+   license names. For standard licenses, use the names of the files in
+   ``meta/files/common-licenses/`` or the :term:`SPDXLICENSEMAP` flag names
+   defined in ``meta/conf/licenses.conf``.
+
+-  :term:`LIC_FILES_CHKSUM`: The OpenEmbedded build system uses this
+   variable to make sure the license text has not changed. If it has,
+   the build produces an error and it affords you the chance to figure
+   it out and correct the problem.
+
+   You need to specify all applicable licensing files for the software.
+   At the end of the configuration step, the build process will compare
+   the checksums of the files to be sure the text has not changed. Any
+   differences result in an error with the message containing the
+   current checksum. For more explanation and examples of how to set the
+   :term:`LIC_FILES_CHKSUM` variable, see the
+   ":ref:`dev-manual/licenses:tracking license changes`" section.
+
+   To determine the correct checksum string, you can list the
+   appropriate files in the :term:`LIC_FILES_CHKSUM` variable with incorrect
+   md5 strings, attempt to build the software, and then note the
+   resulting error messages that will report the correct md5 strings.
+   See the ":ref:`dev-manual/new-recipe:fetching code`" section for
+   additional information.
+
+   Here is an example that assumes the software has a ``COPYING`` file::
+
+      LIC_FILES_CHKSUM = "file://COPYING;md5=xxx"
+
+   When you try to build the
+   software, the build system will produce an error and give you the
+   correct string that you can substitute into the recipe file for a
+   subsequent build.
+
+Tips and Guidelines for Writing Recipes
+---------------------------------------
+
+-  Use :term:`BBCLASSEXTEND` instead of creating separate recipes such as ``-native``
+   and ``-nativesdk`` ones, whenever possible. This avoids having to maintain multiple
+   recipe files at the same time.
diff --git a/poky/documentation/contributor-guide/report-defect.rst b/poky/documentation/contributor-guide/report-defect.rst
new file mode 100644
index 0000000..8ef133b
--- /dev/null
+++ b/poky/documentation/contributor-guide/report-defect.rst
@@ -0,0 +1,67 @@
+.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
+
+Reporting a Defect Against the Yocto Project and OpenEmbedded
+**************************************************************
+
+You can use the Yocto Project instance of
+`Bugzilla <https://www.bugzilla.org/about/>`__ to submit a defect (bug)
+against BitBake, OpenEmbedded-Core, against any other Yocto Project component
+or for tool issues. For additional information on this implementation of
+Bugzilla see the ":ref:`Yocto Project Bugzilla <resources-bugtracker>`" section
+in the Yocto Project Reference Manual. For more detail on any of the following
+steps, see the Yocto Project
+:yocto_wiki:`Bugzilla wiki page </Bugzilla_Configuration_and_Bug_Tracking>`.
+
+Use the following general steps to submit a bug:
+
+#.  Open the Yocto Project implementation of :yocto_bugs:`Bugzilla <>`.
+
+#.  Click "File a Bug" to enter a new bug.
+
+#.  Choose the appropriate "Classification", "Product", and "Component"
+    for which the bug was found. Bugs for the Yocto Project fall into
+    one of several classifications, which in turn break down into
+    several products and components. For example, for a bug against the
+    ``meta-intel`` layer, you would choose "Build System, Metadata &
+    Runtime", "BSPs", and "bsps-meta-intel", respectively.
+
+#.  Choose the "Version" of the Yocto Project for which you found the
+    bug (e.g. &DISTRO;).
+
+#.  Determine and select the "Severity" of the bug. The severity
+    indicates how the bug impacted your work.
+
+#.  Choose the "Hardware" that the bug impacts.
+
+#.  Choose the "Architecture" that the bug impacts.
+
+#.  Choose a "Documentation change" item for the bug. Fixing a bug might
+    or might not affect the Yocto Project documentation. If you are
+    unsure of the impact to the documentation, select "Don't Know".
+
+#.  Provide a brief "Summary" of the bug. Try to limit your summary to
+    just a line or two and be sure to capture the essence of the bug.
+
+#.  Provide a detailed "Description" of the bug. You should provide as
+    much detail as you can about the context, behavior, output, and so
+    forth that surrounds the bug. You can even attach supporting files
+    for output from logs by using the "Add an attachment" button.
+
+#.  Click the "Submit Bug" button submit the bug. A new Bugzilla number
+    is assigned to the bug and the defect is logged in the bug tracking
+    system.
+
+Once you file a bug, the bug is processed by the Yocto Project Bug
+Triage Team and further details concerning the bug are assigned (e.g.
+priority and owner). You are the "Submitter" of the bug and any further
+categorization, progress, or comments on the bug result in Bugzilla
+sending you an automated email concerning the particular change or
+progress to the bug.
+
+There are no guarantees about if or when a bug might be worked on since an
+open-source project has no dedicated engineering resources. However, the
+project does have a good track record of resolving common issues over the
+medium and long term. We do encourage people to file bugs so issues are
+at least known about. It helps other users when they find somebody having
+the same issue as they do, and an issue that is unknown is much less likely
+to ever be fixed!
diff --git a/poky/documentation/contributor-guide/submit-changes.rst b/poky/documentation/contributor-guide/submit-changes.rst
new file mode 100644
index 0000000..cda2d12
--- /dev/null
+++ b/poky/documentation/contributor-guide/submit-changes.rst
@@ -0,0 +1,754 @@
+.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
+
+Contributing Changes to a Component
+************************************
+
+Contributions to the Yocto Project and OpenEmbedded are very welcome.
+Because the system is extremely configurable and flexible, we recognize
+that developers will want to extend, configure or optimize it for their
+specific uses.
+
+.. _ref-why-mailing-lists:
+
+Contributing through mailing lists --- Why not using web-based workflows?
+=========================================================================
+
+Both Yocto Project and OpenEmbedded have many key components that are
+maintained by patches being submitted on mailing lists. We appreciate this
+approach does look a little old fashioned when other workflows are available
+through web technology such as GitHub, GitLab and others. Since we are often
+asked this question, we’ve decided to document the reasons for using mailing
+lists.
+
+One significant factor is that we value peer review. When a change is proposed
+to many of the core pieces of the project, it helps to have many eyes of review
+go over them. Whilst there is ultimately one maintainer who needs to make the
+final call on accepting or rejecting a patch, the review is made by many eyes
+and the exact people reviewing it are likely unknown to the maintainer. It is
+often the surprise reviewer that catches the most interesting issues!
+
+This is in contrast to the "GitHub" style workflow where either just a
+maintainer makes that review, or review is specifically requested from
+nominated people. We believe there is significant value added to the codebase
+by this peer review and that moving away from mailing lists would be to the
+detriment of our code.
+
+We also need to acknowledge that many of our developers are used to this
+mailing list workflow and have worked with it for years, with tools and
+processes built around it. Changing away from this would result in a loss
+of key people from the project, which would again be to its detriment.
+
+The projects are acutely aware that potential new contributors find the
+mailing list approach off-putting and would prefer a web-based GUI.
+Since we don’t believe that can work for us, the project is aiming to ensure
+`patchwork <https://patchwork.yoctoproject.org/>`__ is available to help track
+patch status and also looking at how tooling can provide more feedback to users
+about patch status. We are looking at improving tools such as ``patchtest`` to
+test user contributions before they hit the mailing lists and also at better
+documenting how to use such workflows since we recognise that whilst this was
+common knowledge a decade ago, it might not be as familiar now.
+
+Preparing Changes for Submission
+================================
+
+Set up Git
+----------
+
+The first thing to do is to install Git packages. Here is an example
+on Debian and Ubuntu::
+
+   sudo aptitude install git-core git-email
+
+Then, you need to set a name and e-mail address that Git will
+use to identify your commits::
+
+   git config --global user.name "Ada Lovelace"
+   git config --global user.email "ada.lovelace@gmail.com"
+
+Clone the Git repository for the component to modify
+----------------------------------------------------
+
+After identifying the component to modify as described in the
+":doc:`../contributor-guide/identify-component`" section, clone the
+corresponding Git repository. Here is an example for OpenEmbedded-Core::
+
+  git clone https://git.openembedded.org/openembedded-core
+  cd openembedded-core
+
+Create a new branch
+-------------------
+
+Then, create a new branch in your local Git repository
+for your changes, starting from the reference branch in the upstream
+repository (often called ``master``)::
+
+   $ git checkout <ref-branch>
+   $ git checkout -b my-changes
+
+If you have completely unrelated sets of changes to submit, you should even
+create one branch for each set.
+
+Implement and commit changes
+----------------------------
+
+In each branch, you should group your changes into small, controlled and
+isolated ones. Keeping changes small and isolated aids review, makes
+merging/rebasing easier and keeps the change history clean should anyone need
+to refer to it in future.
+
+To this purpose, you should create *one Git commit per change*,
+corresponding to each of the patches you will eventually submit.
+See `further guidance <https://www.kernel.org/doc/html/latest/process/submitting-patches.html#separate-your-changes>`__
+in the Linux kernel documentation if needed.
+
+For example, when you intend to add multiple new recipes, each recipe
+should be added in a separate commit. For upgrades to existing recipes,
+the previous version should usually be deleted as part of the same commit
+to add the upgraded version.
+
+#. *Stage Your Changes:* Stage your changes by using the ``git add``
+   command on each file you modified. If you want to stage all the
+   files you modified, you can even use the ``git add -A`` command.
+
+#. *Commit Your Changes:* This is when you can create separate commits. For
+   each commit to create, use the ``git commit -s`` command with the files
+   or directories you want to include in the commit::
+
+      $ git commit -s file1 file2 dir1 dir2 ...
+
+   To include **a**\ ll staged files::
+
+      $ git commit -sa
+
+   -  The ``-s`` option of ``git commit`` adds a "Signed-off-by:" line
+      to your commit message. There is the same requirement for contributing
+      to the Linux kernel. Adding such a line signifies that you, the
+      submitter, have agreed to the `Developer's Certificate of Origin 1.1
+      <https://www.kernel.org/doc/html/latest/process/submitting-patches.html#sign-your-work-the-developer-s-certificate-of-origin>`__
+      as follows:
+
+      .. code-block:: none
+
+         Developer's Certificate of Origin 1.1
+
+         By making a contribution to this project, I certify that:
+
+         (a) The contribution was created in whole or in part by me and I
+             have the right to submit it under the open source license
+             indicated in the file; or
+
+         (b) The contribution is based upon previous work that, to the best
+             of my knowledge, is covered under an appropriate open source
+             license and I have the right under that license to submit that
+             work with modifications, whether created in whole or in part
+             by me, under the same open source license (unless I am
+             permitted to submit under a different license), as indicated
+             in the file; or
+
+         (c) The contribution was provided directly to me by some other
+             person who certified (a), (b) or (c) and I have not modified
+             it.
+
+         (d) I understand and agree that this project and the contribution
+             are public and that a record of the contribution (including all
+             personal information I submit with it, including my sign-off) is
+             maintained indefinitely and may be redistributed consistent with
+             this project or the open source license(s) involved.
+
+   -  Provide a single-line summary of the change and, if more
+      explanation is needed, provide more detail in the body of the
+      commit. This summary is typically viewable in the "shortlist" of
+      changes. Thus, providing something short and descriptive that
+      gives the reader a summary of the change is useful when viewing a
+      list of many commits. You should prefix this short description
+      with the recipe name (if changing a recipe), or else with the
+      short form path to the file being changed.
+
+      .. note::
+
+         To find a suitable prefix for the commit summary, a good idea
+         is to look for prefixes used in previous commits touching the
+         same files or directories::
+
+            git log --oneline <paths>
+
+   -  For the body of the commit message, provide detailed information
+      that describes what you changed, why you made the change, and the
+      approach you used. It might also be helpful if you mention how you
+      tested the change. Provide as much detail as you can in the body
+      of the commit message.
+
+      .. note::
+
+         If the single line summary is enough to describe a simple
+         change, the body of the commit message can be left empty.
+
+   -  If the change addresses a specific bug or issue that is associated
+      with a bug-tracking ID, include a reference to that ID in your
+      detailed description. For example, the Yocto Project uses a
+      specific convention for bug references --- any commit that addresses
+      a specific bug should use the following form for the detailed
+      description. Be sure to use the actual bug-tracking ID from
+      Bugzilla for bug-id::
+
+         Fixes [YOCTO #bug-id]
+
+         detailed description of change
+
+#. *Crediting contributors:* By using the ``git commit --amend`` command,
+   you can add some tags to the commit description to credit other contributors
+   to the change:
+
+   -  ``Reported-by``: name and email of a person reporting a bug
+      that your commit is trying to fix. This is a good practice
+      to encourage people to go on reporting bugs and let them
+      know that their reports are taken into account.
+
+   -  ``Suggested-by``: name and email of a person to credit for the
+      idea of making the change.
+
+   -  ``Tested-by``, ``Reviewed-by``: name and email for people having
+      tested your changes or reviewed their code. These fields are
+      usually added by the maintainer accepting a patch, or by
+      yourself if you submitted your patches to early reviewers,
+      or are submitting an unmodified patch again as part of a
+      new iteration of your patch series.
+
+   -  ``CC:`` Name and email of people you want to send a copy
+      of your changes to. This field will be used by ``git send-email``.
+
+   See `more guidance about using such tags
+   <https://www.kernel.org/doc/html/latest/process/submitting-patches.html#using-reported-by-tested-by-reviewed-by-suggested-by-and-fixes>`__
+   in the Linux kernel documentation.
+
+Creating Patches
+================
+
+Here is the general procedure on how to create patches to be sent through email:
+
+#. *Describe the Changes in your Branch:* If you have more than one commit
+   in your branch, it's recommended to provide a cover letter describing
+   the series of patches you are about to send.
+
+   For this purpose, a good solution is to store the cover letter contents
+   in the branch itself::
+
+      git branch --edit-description
+
+   This will open a text editor to fill in the description for your
+   changes. This description can be updated when necessary and will
+   be used by Git to create the cover letter together with the patches.
+
+   It is recommended to start this description with a title line which
+   will serve a the subject line for the cover letter.
+
+#. *Generate Patches for your Branch:* The ``git format-patch`` command will
+   generate patch files for each of the commits in your branch. You need
+   to pass the reference branch your branch starts from.
+
+   If you branch didn't need a description in the previous step::
+
+      $ git format-patch <ref-branch>
+
+   If you filled a description for your branch, you will want to generate
+   a cover letter too::
+
+      $ git format-patch --cover-letter --cover-from-description=auto <ref-branch>
+
+   After the command is run, the current directory contains numbered
+   ``.patch`` files for the commits in your branch. If you have a cover
+   letter, it will be in the ``0000-cover-letter.patch``.
+
+   .. note::
+
+      The ``--cover-from-description=auto`` option makes ``git format-patch``
+      use the first paragraph of the branch description as the cover
+      letter title. Another possibility, which is easier to remember, is to pass
+      only the ``--cover-letter`` option, but you will have to edit the
+      subject line manually every time you generate the patches.
+
+      See the `git format-patch manual page <https://git-scm.com/docs/git-format-patch>`__
+      for details.
+
+#. *Review each of the Patch Files:* This final review of the patches
+   before sending them often allows to view your changes from a different
+   perspective and discover defects such as typos, spacing issues or lines
+   or even files that you didn't intend to modify. This review should
+   include the cover letter patch too.
+
+   If necessary, rework your commits as described in
+   ":ref:`contributor-guide/submit-changes:taking patch review into account`".
+
+Sending the Patches via Email
+=============================
+
+Using Git to Send Patches
+-------------------------
+
+To submit patches through email, it is very important that you send them
+without any whitespace or HTML formatting that either you or your mailer
+introduces. The maintainer that receives your patches needs to be able
+to save and apply them directly from your emails, using the ``git am``
+command.
+
+Using the ``git send-email`` command is the only error-proof way of sending
+your patches using email since there is no risk of compromising whitespace
+in the body of the message, which can occur when you use your own mail
+client. It will also properly include your patches as *inline attachments*,
+which is not easy to do with standard e-mail clients without breaking lines.
+If you used your regular e-mail client and shared your patches as regular
+attachments, reviewers wouldn't be able to quote specific sections of your
+changes and make comments about them.
+
+Setting up Git to Send Email
+----------------------------
+
+The ``git send-email`` command can send email by using a local or remote
+Mail Transport Agent (MTA) such as ``msmtp``, ``sendmail``, or
+through a direct SMTP configuration in your Git ``~/.gitconfig`` file.
+
+Here are the settings for letting ``git send-email`` send e-mail through your
+regular STMP server, using a Google Mail account as an example::
+
+   git config --global sendemail.smtpserver smtp.gmail.com
+   git config --global sendemail.smtpserverport 587
+   git config --global sendemail.smtpencryption tls
+   git config --global sendemail.smtpuser ada.lovelace@gmail.com
+   git config --global sendemail.smtppass = XXXXXXXX
+
+These settings will appear in the ``.gitconfig`` file in your home directory.
+
+If you neither can use a local MTA nor SMTP,  make sure you use an email client
+that does not touch the message (turning spaces in tabs, wrapping lines, etc.).
+A good mail client to do so is Pine (or Alpine) or Mutt. For more
+information about suitable clients, see `Email clients info for Linux
+<https://www.kernel.org/doc/html/latest/process/email-clients.html>`__
+in the Linux kernel sources.
+
+If you use such clients, just include the patch in the body of your email.
+
+Finding a Suitable Mailing List
+-------------------------------
+
+You should send patches to the appropriate mailing list so that they can be
+reviewed by the right contributors and merged by the appropriate maintainer.
+The specific mailing list you need to use depends on the location of the code
+you are changing.
+
+If people have concerns with any of the patches, they will usually voice
+their concern over the mailing list. If patches do not receive any negative
+reviews, the maintainer of the affected layer typically takes them, tests them,
+and then based on successful testing, merges them.
+
+In general, each component (e.g. layer) should have a ``README`` file
+that indicates where to send the changes and which process to follow.
+
+The "poky" repository, which is the Yocto Project's reference build
+environment, is a hybrid repository that contains several individual
+pieces (e.g. BitBake, Metadata, documentation, and so forth) built using
+the combo-layer tool. The upstream location used for submitting changes
+varies by component:
+
+-  *Core Metadata:* Send your patches to the
+   :oe_lists:`openembedded-core </g/openembedded-core>`
+   mailing list. For example, a change to anything under the ``meta`` or
+   ``scripts`` directories should be sent to this mailing list.
+
+-  *BitBake:* For changes to BitBake (i.e. anything under the
+   ``bitbake`` directory), send your patches to the
+   :oe_lists:`bitbake-devel </g/bitbake-devel>`
+   mailing list.
+
+-  *"meta-\*" trees:* These trees contain Metadata. Use the
+   :yocto_lists:`poky </g/poky>` mailing list.
+
+-  *Documentation*: For changes to the Yocto Project documentation, use the
+   :yocto_lists:`docs </g/docs>` mailing list.
+
+For changes to other layers and tools hosted in the Yocto Project source
+repositories (i.e. :yocto_git:`git.yoctoproject.org <>`), use the
+:yocto_lists:`yocto </g/yocto/>` general mailing list.
+
+For changes to other layers hosted in the OpenEmbedded source
+repositories (i.e. :oe_git:`git.openembedded.org <>`), use
+the :oe_lists:`openembedded-devel </g/openembedded-devel>`
+mailing list, unless specified otherwise in the layer's ``README`` file.
+
+If you intend to submit a new recipe that neither fits into the core Metadata,
+nor into :oe_git:`meta-openembedded </meta-openembedded/>`, you should
+look for a suitable layer in https://layers.openembedded.org. If similar
+recipes can be expected, you may consider :ref:`dev-manual/layers:creating your own layer`.
+
+If in doubt, please ask on the :yocto_lists:`yocto </g/yocto/>` general mailing list
+or on the :oe_lists:`openembedded-devel </g/openembedded-devel>` mailing list.
+
+Subscribing to the Mailing List
+-------------------------------
+
+After identifying the right mailing list to use, you will have to subscribe to
+it if you haven't done it yet.
+
+If you attempt to send patches to a list you haven't subscribed to, your email
+will be returned as undelivered.
+
+However, if you don't want to be receive all the messages sent to a mailing list,
+you can set your subscription to "no email". You will still be a subscriber able
+to send messages, but you won't receive any e-mail. If people reply to your message,
+their e-mail clients will default to including your email address in the
+conversation anyway.
+
+Anyway, you'll also be able to access the new messages on mailing list archives,
+either through a web browser, or for the lists archived on https://lore.kernelorg,
+through an individual newsgroup feed or a git repository.
+
+Sending Patches via Email
+-------------------------
+
+At this stage, you are ready to send your patches via email. Here's the
+typical usage of ``git send-email``::
+
+   git send-email --to <mailing-list-address> *.patch
+
+Then, review each subject line and list of recipients carefully, and then
+and then allow the command to send each message.
+
+You will see that ``git send-email`` will automatically copy the people listed
+in any commit tags such as ``Signed-off-by`` or ``Reported-by``.
+
+In case you are sending patches for :oe_git:`meta-openembedded </meta-openembedded/>`
+or any layer other than :oe_git:`openembedded-core </openembedded-core/>`,
+please add the appropriate prefix so that it is clear which layer the patch is intended
+to be applied to::
+
+   git send-email --subject-prefix="meta-oe][PATCH" ...
+
+.. note::
+
+   It is actually possible to send patches without generating them
+   first. However, make sure you have reviewed your changes carefully
+   because ``git send-email`` will just show you the title lines of
+   each patch.
+
+   Here's a command you can use if you just have one patch in your
+   branch::
+
+      git send-email --to <mailing-list-address> -1
+
+   If you have multiple patches and a cover letter, you can send
+   patches for all the commits between the reference branch
+   and the tip of your branch::
+
+      git send-email --cover-letter --cover-from-description=auto --to <mailing-list-address> -M <ref-branch>
+
+See the `git send-email manual page <https://git-scm.com/docs/git-send-email>`__
+for details.
+
+Troubleshooting Email Issues
+----------------------------
+
+Fixing your From identity
+~~~~~~~~~~~~~~~~~~~~~~~~~
+
+We have a frequent issue with contributors whose patches are received through
+a ``From`` field which doesn't match the ``Signed-off-by`` information. Here is
+a typical example for people sending from a domain name with :wikipedia:`DMARC`::
+
+   From: "Linus Torvalds via lists.openembedded.org <linus.torvalds=kernel.org@lists.openembedded.org>"
+
+This ``From`` field is used by ``git am`` to recreate commits with the right
+author name. The following will ensure that your e-mails have an additional
+``From`` field at the beginning of the Email body, and therefore that
+maintainers accepting your patches don't have to fix commit author information
+manually::
+
+   git config --global sendemail.from "linus.torvalds@kernel.org"
+
+The ``sendemail.from`` should match your ``user.email`` setting,
+which appears in the ``Signed-off-by`` line of your commits.
+
+Streamlining git send-email usage
+---------------------------------
+
+If you want to save time and not be forced to remember the right options to use
+with ``git send-email``, you can use Git configuration settings.
+
+-  To set the right mailing list address for a given repository::
+
+      git config --local sendemail.to openembedded-devel@lists.openembedded.org
+
+-  If the mailing list requires a subject prefix for the layer
+   (this only works when the repository only contains one layer)::
+
+      git config --local format.subjectprefix "meta-something][PATCH"
+
+Using Scripts to Push a Change Upstream and Request a Pull
+==========================================================
+
+For larger patch series it is preferable to send a pull request which not
+only includes the patch but also a pointer to a branch that can be pulled
+from. This involves making a local branch for your changes, pushing this
+branch to an accessible repository and then using the ``create-pull-request``
+and ``send-pull-request`` scripts from openembedded-core to create and send a
+patch series with a link to the branch for review.
+
+Follow this procedure to push a change to an upstream "contrib" Git
+repository once the steps in
+":ref:`contributor-guide/submit-changes:preparing changes for submission`"
+have been followed:
+
+.. note::
+
+   You can find general Git information on how to push a change upstream
+   in the
+   `Git Community Book <https://git-scm.com/book/en/v2/Distributed-Git-Distributed-Workflows>`__.
+
+#. *Request Push Access to an "Upstream" Contrib Repository:* Send an email to
+   ``helpdesk@yoctoproject.org``:
+
+    -  Attach your SSH public key which usually named ``id_rsa.pub.``.
+       If you don't have one generate it by running ``ssh-keygen -t rsa -b 4096 -C "your_email@example.com"``.
+
+    -  List the repositories you're planning to contribute to.
+
+    -  Include your preferred branch prefix for ``-contrib`` repositories.
+
+#. *Push Your Commits to the "Contrib" Upstream:* Push your
+   changes to that repository::
+
+      $ git push upstream_remote_repo local_branch_name
+
+   For example, suppose you have permissions to push
+   into the upstream ``meta-intel-contrib`` repository and you are
+   working in a local branch named `your_name`\ ``/README``. The following
+   command pushes your local commits to the ``meta-intel-contrib``
+   upstream repository and puts the commit in a branch named
+   `your_name`\ ``/README``::
+
+      $ git push meta-intel-contrib your_name/README
+
+#. *Determine Who to Notify:* Determine the maintainer or the mailing
+   list that you need to notify for the change.
+
+   Before submitting any change, you need to be sure who the maintainer
+   is or what mailing list that you need to notify. Use either these
+   methods to find out:
+
+   -  *Maintenance File:* Examine the ``maintainers.inc`` file, which is
+      located in the :term:`Source Directory` at
+      ``meta/conf/distro/include``, to see who is responsible for code.
+
+   -  *Search by File:* Using :ref:`overview-manual/development-environment:git`, you can
+      enter the following command to bring up a short list of all
+      commits against a specific file::
+
+         git shortlog -- filename
+
+      Just provide the name of the file for which you are interested. The
+      information returned is not ordered by history but does include a
+      list of everyone who has committed grouped by name. From the list,
+      you can see who is responsible for the bulk of the changes against
+      the file.
+
+   -  *Find the Mailing List to Use:* See the
+      ":ref:`contributor-guide/submit-changes:finding a suitable mailing list`"
+      section above.
+
+#. *Make a Pull Request:* Notify the maintainer or the mailing list that
+   you have pushed a change by making a pull request.
+
+   The Yocto Project provides two scripts that conveniently let you
+   generate and send pull requests to the Yocto Project. These scripts
+   are ``create-pull-request`` and ``send-pull-request``. You can find
+   these scripts in the ``scripts`` directory within the
+   :term:`Source Directory` (e.g.
+   ``poky/scripts``).
+
+   Using these scripts correctly formats the requests without
+   introducing any whitespace or HTML formatting. The maintainer that
+   receives your patches either directly or through the mailing list
+   needs to be able to save and apply them directly from your emails.
+   Using these scripts is the preferred method for sending patches.
+
+   First, create the pull request. For example, the following command
+   runs the script, specifies the upstream repository in the contrib
+   directory into which you pushed the change, and provides a subject
+   line in the created patch files::
+
+      $ poky/scripts/create-pull-request -u meta-intel-contrib -s "Updated Manual Section Reference in README"
+
+   Running this script forms ``*.patch`` files in a folder named
+   ``pull-``\ `PID` in the current directory. One of the patch files is a
+   cover letter.
+
+   Before running the ``send-pull-request`` script, you must edit the
+   cover letter patch to insert information about your change. After
+   editing the cover letter, send the pull request. For example, the
+   following command runs the script and specifies the patch directory
+   and email address. In this example, the email address is a mailing
+   list::
+
+      $ poky/scripts/send-pull-request -p ~/meta-intel/pull-10565 -t meta-intel@lists.yoctoproject.org
+
+   You need to follow the prompts as the script is interactive.
+
+   .. note::
+
+      For help on using these scripts, simply provide the ``-h``
+      argument as follows::
+
+              $ poky/scripts/create-pull-request -h
+              $ poky/scripts/send-pull-request -h
+
+Submitting Changes to Stable Release Branches
+=============================================
+
+The process for proposing changes to a Yocto Project stable branch differs
+from the steps described above. Changes to a stable branch must address
+identified bugs or CVEs and should be made carefully in order to avoid the
+risk of introducing new bugs or breaking backwards compatibility. Typically
+bug fixes must already be accepted into the master branch before they can be
+backported to a stable branch unless the bug in question does not affect the
+master branch or the fix on the master branch is unsuitable for backporting.
+
+The list of stable branches along with the status and maintainer for each
+branch can be obtained from the
+:yocto_wiki:`Releases wiki page </Releases>`.
+
+.. note::
+
+   Changes will not typically be accepted for branches which are marked as
+   End-Of-Life (EOL).
+
+With this in mind, the steps to submit a change for a stable branch are as
+follows:
+
+#. *Identify the bug or CVE to be fixed:* This information should be
+   collected so that it can be included in your submission.
+
+   See :ref:`dev-manual/vulnerabilities:checking for vulnerabilities`
+   for details about CVE tracking.
+
+#. *Check if the fix is already present in the master branch:* This will
+   result in the most straightforward path into the stable branch for the
+   fix.
+
+   #. *If the fix is present in the master branch --- submit a backport request
+      by email:* You should send an email to the relevant stable branch
+      maintainer and the mailing list with details of the bug or CVE to be
+      fixed, the commit hash on the master branch that fixes the issue and
+      the stable branches which you would like this fix to be backported to.
+
+   #. *If the fix is not present in the master branch --- submit the fix to the
+      master branch first:* This will ensure that the fix passes through the
+      project's usual patch review and test processes before being accepted.
+      It will also ensure that bugs are not left unresolved in the master
+      branch itself. Once the fix is accepted in the master branch a backport
+      request can be submitted as above.
+
+   #. *If the fix is unsuitable for the master branch --- submit a patch
+      directly for the stable branch:* This method should be considered as a
+      last resort. It is typically necessary when the master branch is using
+      a newer version of the software which includes an upstream fix for the
+      issue or when the issue has been fixed on the master branch in a way
+      that introduces backwards incompatible changes. In this case follow the
+      steps in ":ref:`contributor-guide/submit-changes:preparing changes for submission`"
+      and in the following sections but modify the subject header of your patch
+      email to include the name of the stable branch which you are
+      targetting. This can be done using the ``--subject-prefix`` argument to
+      ``git format-patch``, for example to submit a patch to the
+      "&DISTRO_NAME_NO_CAP_MINUS_ONE;" branch use::
+
+         git format-patch --subject-prefix='&DISTRO_NAME_NO_CAP_MINUS_ONE;][PATCH' ...
+
+Taking Patch Review into Account
+================================
+
+You may get feedback on your submitted patches from other community members
+or from the automated patchtest service. If issues are identified in your
+patches then it is usually necessary to address these before the patches are
+accepted into the project. In this case you should your commits according
+to the feedback and submit an updated version to the relevant mailing list.
+
+In any case, never fix reported issues by fixing them in new commits
+on the tip of your branch. Always come up with a new series of commits
+without the reported issues.
+
+.. note::
+
+   It is a good idea to send a copy to the reviewers who provided feedback
+   to the previous version of the patch. You can make sure this happens
+   by adding a ``CC`` tag to the commit description::
+
+      CC: William Shakespeare <bill@yoctoproject.org>
+
+A single patch can be amended using ``git commit --amend``, and multiple
+patches can be easily reworked and reordered through an interactive Git rebase::
+
+   git rebase -i <ref-branch>
+
+See `this tutorial <https://hackernoon.com/beginners-guide-to-interactive-rebasing-346a3f9c3a6d>`__
+for practical guidance about using Git interactive rebasing.
+
+You should also modify the ``[PATCH]`` tag in the email subject line when
+sending the revised patch to mark the new iteration as ``[PATCH v2]``,
+``[PATCH v3]``, etc as appropriate. This can be done by passing the ``-v``
+argument to ``git format-patch`` with a version number::
+
+   git format-patch -v2 <ref-branch>
+
+Lastly please ensure that you also test your revised changes. In particular
+please don't just edit the patch file written out by ``git format-patch`` and
+resend it.
+
+Tracking the Status of Patches
+==============================
+
+The Yocto Project uses a `Patchwork instance <https://patchwork.yoctoproject.org/>`__
+to track the status of patches submitted to the various mailing lists and to
+support automated patch testing. Each submitted patch is checked for common
+mistakes and deviations from the expected patch format and submitters are
+notified by ``patchtest`` if such mistakes are found. This process helps to
+reduce the burden of patch review on maintainers.
+
+.. note::
+
+   This system is imperfect and changes can sometimes get lost in the flow.
+   Asking about the status of a patch or change is reasonable if the change
+   has been idle for a while with no feedback.
+
+If your patches have not had any feedback in a few days, they may have already
+been merged. You can run ``git pull``  branch to check this. Note that many if
+not most layer maintainers do not send out acknowledgement emails when they
+accept patches. Alternatively, if there is no response or merge after a few days
+the patch may have been missed or the appropriate reviewers may not currently be
+around. It is then perfectly fine to reply to it yourself with a reminder asking
+for feedback.
+
+.. note::
+
+      Patch reviews for feature and recipe upgrade patches are likely be delayed
+      during a feature freeze because these types of patches aren't merged during
+      at that time --- you may have to wait until after the freeze is lifted.
+
+Maintainers also commonly use ``-next`` branches to test submissions prior to
+merging patches. Thus, you can get an idea of the status of a patch based on
+whether the patch has been merged into one of these branches. The commonly
+used testing branches for OpenEmbedded-Core are as follows:
+
+-  *openembedded-core "master-next" branch:* This branch is part of the
+   :oe_git:`openembedded-core </openembedded-core/>` repository and contains
+   proposed changes to the core metadata.
+
+-  *poky "master-next" branch:* This branch is part of the
+   :yocto_git:`poky </poky/>` repository and combines proposed
+   changes to BitBake, the core metadata and the poky distro.
+
+Similarly, stable branches maintained by the project may have corresponding
+``-next`` branches which collect proposed changes. For example,
+``&DISTRO_NAME_NO_CAP;-next`` and ``&DISTRO_NAME_NO_CAP_MINUS_ONE;-next``
+branches in both the "openembdedded-core" and "poky" repositories.
+
+Other layers may have similar testing branches but there is no formal
+requirement or standard for these so please check the documentation for the
+layers you are contributing to.
+
diff --git a/poky/documentation/dev-manual/building.rst b/poky/documentation/dev-manual/building.rst
index 1f1642e..a395793 100644
--- a/poky/documentation/dev-manual/building.rst
+++ b/poky/documentation/dev-manual/building.rst
@@ -273,12 +273,12 @@
 
 Follow these steps to create an :term:`Initramfs` image:
 
-#. *Create the :term:`Initramfs` Image Recipe:* You can reference the
+#. *Create the Initramfs Image Recipe:* You can reference the
    ``core-image-minimal-initramfs.bb`` recipe found in the
    ``meta/recipes-core`` directory of the :term:`Source Directory`
    as an example from which to work.
 
-#. *Decide if You Need to Bundle the :term:`Initramfs` Image Into the Kernel
+#. *Decide if You Need to Bundle the Initramfs Image Into the Kernel
    Image:* If you want the :term:`Initramfs` image that is built to be bundled
    in with the kernel image, set the :term:`INITRAMFS_IMAGE_BUNDLE`
    variable to ``"1"`` in your ``local.conf`` configuration file and set the
diff --git a/poky/documentation/dev-manual/changes.rst b/poky/documentation/dev-manual/changes.rst
deleted file mode 100644
index 9db6ce0..0000000
--- a/poky/documentation/dev-manual/changes.rst
+++ /dev/null
@@ -1,525 +0,0 @@
-.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
-
-Making Changes to the Yocto Project
-***********************************
-
-Because the Yocto Project is an open-source, community-based project,
-you can effect changes to the project. This section presents procedures
-that show you how to submit a defect against the project and how to
-submit a change.
-
-Submitting a Defect Against the Yocto Project
-=============================================
-
-Use the Yocto Project implementation of
-`Bugzilla <https://www.bugzilla.org/about/>`__ to submit a defect (bug)
-against the Yocto Project. For additional information on this
-implementation of Bugzilla see the ":ref:`Yocto Project
-Bugzilla <resources-bugtracker>`" section in the
-Yocto Project Reference Manual. For more detail on any of the following
-steps, see the Yocto Project
-:yocto_wiki:`Bugzilla wiki page </Bugzilla_Configuration_and_Bug_Tracking>`.
-
-Use the following general steps to submit a bug:
-
-#.  Open the Yocto Project implementation of :yocto_bugs:`Bugzilla <>`.
-
-#.  Click "File a Bug" to enter a new bug.
-
-#.  Choose the appropriate "Classification", "Product", and "Component"
-    for which the bug was found. Bugs for the Yocto Project fall into
-    one of several classifications, which in turn break down into
-    several products and components. For example, for a bug against the
-    ``meta-intel`` layer, you would choose "Build System, Metadata &
-    Runtime", "BSPs", and "bsps-meta-intel", respectively.
-
-#.  Choose the "Version" of the Yocto Project for which you found the
-    bug (e.g. &DISTRO;).
-
-#.  Determine and select the "Severity" of the bug. The severity
-    indicates how the bug impacted your work.
-
-#.  Choose the "Hardware" that the bug impacts.
-
-#.  Choose the "Architecture" that the bug impacts.
-
-#.  Choose a "Documentation change" item for the bug. Fixing a bug might
-    or might not affect the Yocto Project documentation. If you are
-    unsure of the impact to the documentation, select "Don't Know".
-
-#.  Provide a brief "Summary" of the bug. Try to limit your summary to
-    just a line or two and be sure to capture the essence of the bug.
-
-#.  Provide a detailed "Description" of the bug. You should provide as
-    much detail as you can about the context, behavior, output, and so
-    forth that surrounds the bug. You can even attach supporting files
-    for output from logs by using the "Add an attachment" button.
-
-#.  Click the "Submit Bug" button submit the bug. A new Bugzilla number
-    is assigned to the bug and the defect is logged in the bug tracking
-    system.
-
-Once you file a bug, the bug is processed by the Yocto Project Bug
-Triage Team and further details concerning the bug are assigned (e.g.
-priority and owner). You are the "Submitter" of the bug and any further
-categorization, progress, or comments on the bug result in Bugzilla
-sending you an automated email concerning the particular change or
-progress to the bug.
-
-Submitting a Change to the Yocto Project
-========================================
-
-Contributions to the Yocto Project and OpenEmbedded are very welcome.
-Because the system is extremely configurable and flexible, we recognize
-that developers will want to extend, configure or optimize it for their
-specific uses.
-
-The Yocto Project uses a mailing list and a patch-based workflow that is
-similar to the Linux kernel but contains important differences. In
-general, there is a mailing list through which you can submit patches. You
-should send patches to the appropriate mailing list so that they can be
-reviewed and merged by the appropriate maintainer. The specific mailing
-list you need to use depends on the location of the code you are
-changing. Each component (e.g. layer) should have a ``README`` file that
-indicates where to send the changes and which process to follow.
-
-You can send the patch to the mailing list using whichever approach you
-feel comfortable with to generate the patch. Once sent, the patch is
-usually reviewed by the community at large. If somebody has concerns
-with the patch, they will usually voice their concern over the mailing
-list. If a patch does not receive any negative reviews, the maintainer
-of the affected layer typically takes the patch, tests it, and then
-based on successful testing, merges the patch.
-
-The "poky" repository, which is the Yocto Project's reference build
-environment, is a hybrid repository that contains several individual
-pieces (e.g. BitBake, Metadata, documentation, and so forth) built using
-the combo-layer tool. The upstream location used for submitting changes
-varies by component:
-
--  *Core Metadata:* Send your patch to the
-   :oe_lists:`openembedded-core </g/openembedded-core>`
-   mailing list. For example, a change to anything under the ``meta`` or
-   ``scripts`` directories should be sent to this mailing list.
-
--  *BitBake:* For changes to BitBake (i.e. anything under the
-   ``bitbake`` directory), send your patch to the
-   :oe_lists:`bitbake-devel </g/bitbake-devel>`
-   mailing list.
-
--  *"meta-\*" trees:* These trees contain Metadata. Use the
-   :yocto_lists:`poky </g/poky>` mailing list.
-
--  *Documentation*: For changes to the Yocto Project documentation, use the
-   :yocto_lists:`docs </g/docs>` mailing list.
-
-For changes to other layers hosted in the Yocto Project source
-repositories (i.e. ``yoctoproject.org``) and tools use the
-:yocto_lists:`Yocto Project </g/yocto/>` general mailing list.
-
-.. note::
-
-   Sometimes a layer's documentation specifies to use a particular
-   mailing list. If so, use that list.
-
-For additional recipes that do not fit into the core Metadata, you
-should determine which layer the recipe should go into and submit the
-change in the manner recommended by the documentation (e.g. the
-``README`` file) supplied with the layer. If in doubt, please ask on the
-Yocto general mailing list or on the openembedded-devel mailing list.
-
-You can also push a change upstream and request a maintainer to pull the
-change into the component's upstream repository. You do this by pushing
-to a contribution repository that is upstream. See the
-":ref:`overview-manual/development-environment:git workflows and the yocto project`"
-section in the Yocto Project Overview and Concepts Manual for additional
-concepts on working in the Yocto Project development environment.
-
-Maintainers commonly use ``-next`` branches to test submissions prior to
-merging patches. Thus, you can get an idea of the status of a patch based on
-whether the patch has been merged into one of these branches. The commonly
-used testing branches for OpenEmbedded-Core are as follows:
-
--  *openembedded-core "master-next" branch:* This branch is part of the
-   :oe_git:`openembedded-core </openembedded-core/>` repository and contains
-   proposed changes to the core metadata.
-
--  *poky "master-next" branch:* This branch is part of the
-   :yocto_git:`poky </poky/>` repository and combines proposed
-   changes to BitBake, the core metadata and the poky distro.
-
-Similarly, stable branches maintained by the project may have corresponding
-``-next`` branches which collect proposed changes. For example,
-``&DISTRO_NAME_NO_CAP;-next`` and ``&DISTRO_NAME_NO_CAP_MINUS_ONE;-next``
-branches in both the "openembdedded-core" and "poky" repositories.
-
-Other layers may have similar testing branches but there is no formal
-requirement or standard for these so please check the documentation for the
-layers you are contributing to.
-
-The following sections provide procedures for submitting a change.
-
-Preparing Changes for Submission
---------------------------------
-
-#. *Make Your Changes Locally:* Make your changes in your local Git
-   repository. You should make small, controlled, isolated changes.
-   Keeping changes small and isolated aids review, makes
-   merging/rebasing easier and keeps the change history clean should
-   anyone need to refer to it in future.
-
-#. *Stage Your Changes:* Stage your changes by using the ``git add``
-   command on each file you changed.
-
-#. *Commit Your Changes:* Commit the change by using the ``git commit``
-   command. Make sure your commit information follows standards by
-   following these accepted conventions:
-
-   -  Be sure to include a "Signed-off-by:" line in the same style as
-      required by the Linux kernel. This can be done by using the
-      ``git commit -s`` command. Adding this line signifies that you,
-      the submitter, have agreed to the Developer's Certificate of
-      Origin 1.1 as follows:
-
-      .. code-block:: none
-
-         Developer's Certificate of Origin 1.1
-
-         By making a contribution to this project, I certify that:
-
-         (a) The contribution was created in whole or in part by me and I
-             have the right to submit it under the open source license
-             indicated in the file; or
-
-         (b) The contribution is based upon previous work that, to the best
-             of my knowledge, is covered under an appropriate open source
-             license and I have the right under that license to submit that
-             work with modifications, whether created in whole or in part
-             by me, under the same open source license (unless I am
-             permitted to submit under a different license), as indicated
-             in the file; or
-
-         (c) The contribution was provided directly to me by some other
-             person who certified (a), (b) or (c) and I have not modified
-             it.
-
-         (d) I understand and agree that this project and the contribution
-             are public and that a record of the contribution (including all
-             personal information I submit with it, including my sign-off) is
-             maintained indefinitely and may be redistributed consistent with
-             this project or the open source license(s) involved.
-
-   -  Provide a single-line summary of the change and, if more
-      explanation is needed, provide more detail in the body of the
-      commit. This summary is typically viewable in the "shortlist" of
-      changes. Thus, providing something short and descriptive that
-      gives the reader a summary of the change is useful when viewing a
-      list of many commits. You should prefix this short description
-      with the recipe name (if changing a recipe), or else with the
-      short form path to the file being changed.
-
-   -  For the body of the commit message, provide detailed information
-      that describes what you changed, why you made the change, and the
-      approach you used. It might also be helpful if you mention how you
-      tested the change. Provide as much detail as you can in the body
-      of the commit message.
-
-      .. note::
-
-         You do not need to provide a more detailed explanation of a
-         change if the change is minor to the point of the single line
-         summary providing all the information.
-
-   -  If the change addresses a specific bug or issue that is associated
-      with a bug-tracking ID, include a reference to that ID in your
-      detailed description. For example, the Yocto Project uses a
-      specific convention for bug references --- any commit that addresses
-      a specific bug should use the following form for the detailed
-      description. Be sure to use the actual bug-tracking ID from
-      Bugzilla for bug-id::
-
-         Fixes [YOCTO #bug-id]
-
-         detailed description of change
-
-Using Email to Submit a Patch
------------------------------
-
-Depending on the components changed, you need to submit the email to a
-specific mailing list. For some guidance on which mailing list to use,
-see the
-:ref:`list <dev-manual/changes:submitting a change to the yocto project>`
-at the beginning of this section. For a description of all the available
-mailing lists, see the ":ref:`Mailing Lists <resources-mailinglist>`" section in the
-Yocto Project Reference Manual.
-
-Here is the general procedure on how to submit a patch through email
-without using the scripts once the steps in
-:ref:`dev-manual/changes:preparing changes for submission` have been followed:
-
-#. *Format the Commit:* Format the commit into an email message. To
-   format commits, use the ``git format-patch`` command. When you
-   provide the command, you must include a revision list or a number of
-   patches as part of the command. For example, either of these two
-   commands takes your most recent single commit and formats it as an
-   email message in the current directory::
-
-      $ git format-patch -1
-
-   or ::
-
-      $ git format-patch HEAD~
-
-   After the command is run, the current directory contains a numbered
-   ``.patch`` file for the commit.
-
-   If you provide several commits as part of the command, the
-   ``git format-patch`` command produces a series of numbered files in
-   the current directory – one for each commit. If you have more than
-   one patch, you should also use the ``--cover`` option with the
-   command, which generates a cover letter as the first "patch" in the
-   series. You can then edit the cover letter to provide a description
-   for the series of patches. For information on the
-   ``git format-patch`` command, see ``GIT_FORMAT_PATCH(1)`` displayed
-   using the ``man git-format-patch`` command.
-
-   .. note::
-
-      If you are or will be a frequent contributor to the Yocto Project
-      or to OpenEmbedded, you might consider requesting a contrib area
-      and the necessary associated rights.
-
-#. *Send the patches via email:* Send the patches to the recipients and
-   relevant mailing lists by using the ``git send-email`` command.
-
-   .. note::
-
-      In order to use ``git send-email``, you must have the proper Git packages
-      installed on your host.
-      For Ubuntu, Debian, and Fedora the package is ``git-email``.
-
-   The ``git send-email`` command sends email by using a local or remote
-   Mail Transport Agent (MTA) such as ``msmtp``, ``sendmail``, or
-   through a direct ``smtp`` configuration in your Git ``~/.gitconfig``
-   file. If you are submitting patches through email only, it is very
-   important that you submit them without any whitespace or HTML
-   formatting that either you or your mailer introduces. The maintainer
-   that receives your patches needs to be able to save and apply them
-   directly from your emails. A good way to verify that what you are
-   sending will be applicable by the maintainer is to do a dry run and
-   send them to yourself and then save and apply them as the maintainer
-   would.
-
-   The ``git send-email`` command is the preferred method for sending
-   your patches using email since there is no risk of compromising
-   whitespace in the body of the message, which can occur when you use
-   your own mail client. The command also has several options that let
-   you specify recipients and perform further editing of the email
-   message. For information on how to use the ``git send-email``
-   command, see ``GIT-SEND-EMAIL(1)`` displayed using the
-   ``man git-send-email`` command.
-
-The Yocto Project uses a `Patchwork instance <https://patchwork.yoctoproject.org/>`__
-to track the status of patches submitted to the various mailing lists and to
-support automated patch testing. Each submitted patch is checked for common
-mistakes and deviations from the expected patch format and submitters are
-notified by patchtest if such mistakes are found. This process helps to
-reduce the burden of patch review on maintainers.
-
-.. note::
-
-   This system is imperfect and changes can sometimes get lost in the flow.
-   Asking about the status of a patch or change is reasonable if the change
-   has been idle for a while with no feedback.
-
-Using Scripts to Push a Change Upstream and Request a Pull
-----------------------------------------------------------
-
-For larger patch series it is preferable to send a pull request which not
-only includes the patch but also a pointer to a branch that can be pulled
-from. This involves making a local branch for your changes, pushing this
-branch to an accessible repository and then using the ``create-pull-request``
-and ``send-pull-request`` scripts from openembedded-core to create and send a
-patch series with a link to the branch for review.
-
-Follow this procedure to push a change to an upstream "contrib" Git
-repository once the steps in :ref:`dev-manual/changes:preparing changes for submission` have
-been followed:
-
-.. note::
-
-   You can find general Git information on how to push a change upstream
-   in the
-   `Git Community Book <https://git-scm.com/book/en/v2/Distributed-Git-Distributed-Workflows>`__.
-
-#. *Push Your Commits to a "Contrib" Upstream:* If you have arranged for
-   permissions to push to an upstream contrib repository, push the
-   change to that repository::
-
-      $ git push upstream_remote_repo local_branch_name
-
-   For example, suppose you have permissions to push
-   into the upstream ``meta-intel-contrib`` repository and you are
-   working in a local branch named `your_name`\ ``/README``. The following
-   command pushes your local commits to the ``meta-intel-contrib``
-   upstream repository and puts the commit in a branch named
-   `your_name`\ ``/README``::
-
-      $ git push meta-intel-contrib your_name/README
-
-#. *Determine Who to Notify:* Determine the maintainer or the mailing
-   list that you need to notify for the change.
-
-   Before submitting any change, you need to be sure who the maintainer
-   is or what mailing list that you need to notify. Use either these
-   methods to find out:
-
-   -  *Maintenance File:* Examine the ``maintainers.inc`` file, which is
-      located in the :term:`Source Directory` at
-      ``meta/conf/distro/include``, to see who is responsible for code.
-
-   -  *Search by File:* Using :ref:`overview-manual/development-environment:git`, you can
-      enter the following command to bring up a short list of all
-      commits against a specific file::
-
-         git shortlog -- filename
-
-      Just provide the name of the file for which you are interested. The
-      information returned is not ordered by history but does include a
-      list of everyone who has committed grouped by name. From the list,
-      you can see who is responsible for the bulk of the changes against
-      the file.
-
-   -  *Examine the List of Mailing Lists:* For a list of the Yocto
-      Project and related mailing lists, see the ":ref:`Mailing
-      lists <resources-mailinglist>`" section in
-      the Yocto Project Reference Manual.
-
-#. *Make a Pull Request:* Notify the maintainer or the mailing list that
-   you have pushed a change by making a pull request.
-
-   The Yocto Project provides two scripts that conveniently let you
-   generate and send pull requests to the Yocto Project. These scripts
-   are ``create-pull-request`` and ``send-pull-request``. You can find
-   these scripts in the ``scripts`` directory within the
-   :term:`Source Directory` (e.g.
-   ``poky/scripts``).
-
-   Using these scripts correctly formats the requests without
-   introducing any whitespace or HTML formatting. The maintainer that
-   receives your patches either directly or through the mailing list
-   needs to be able to save and apply them directly from your emails.
-   Using these scripts is the preferred method for sending patches.
-
-   First, create the pull request. For example, the following command
-   runs the script, specifies the upstream repository in the contrib
-   directory into which you pushed the change, and provides a subject
-   line in the created patch files::
-
-      $ poky/scripts/create-pull-request -u meta-intel-contrib -s "Updated Manual Section Reference in README"
-
-   Running this script forms ``*.patch`` files in a folder named
-   ``pull-``\ `PID` in the current directory. One of the patch files is a
-   cover letter.
-
-   Before running the ``send-pull-request`` script, you must edit the
-   cover letter patch to insert information about your change. After
-   editing the cover letter, send the pull request. For example, the
-   following command runs the script and specifies the patch directory
-   and email address. In this example, the email address is a mailing
-   list::
-
-      $ poky/scripts/send-pull-request -p ~/meta-intel/pull-10565 -t meta-intel@lists.yoctoproject.org
-
-   You need to follow the prompts as the script is interactive.
-
-   .. note::
-
-      For help on using these scripts, simply provide the ``-h``
-      argument as follows::
-
-              $ poky/scripts/create-pull-request -h
-              $ poky/scripts/send-pull-request -h
-
-Responding to Patch Review
---------------------------
-
-You may get feedback on your submitted patches from other community members
-or from the automated patchtest service. If issues are identified in your
-patch then it is usually necessary to address these before the patch will be
-accepted into the project. In this case you should amend the patch according
-to the feedback and submit an updated version to the relevant mailing list,
-copying in the reviewers who provided feedback to the previous version of the
-patch.
-
-The patch should be amended using ``git commit --amend`` or perhaps ``git
-rebase`` for more expert git users. You should also modify the ``[PATCH]``
-tag in the email subject line when sending the revised patch to mark the new
-iteration as ``[PATCH v2]``, ``[PATCH v3]``, etc as appropriate. This can be
-done by passing the ``-v`` argument to ``git format-patch`` with a version
-number.
-
-Lastly please ensure that you also test your revised changes. In particular
-please don't just edit the patch file written out by ``git format-patch`` and
-resend it.
-
-Submitting Changes to Stable Release Branches
----------------------------------------------
-
-The process for proposing changes to a Yocto Project stable branch differs
-from the steps described above. Changes to a stable branch must address
-identified bugs or CVEs and should be made carefully in order to avoid the
-risk of introducing new bugs or breaking backwards compatibility. Typically
-bug fixes must already be accepted into the master branch before they can be
-backported to a stable branch unless the bug in question does not affect the
-master branch or the fix on the master branch is unsuitable for backporting.
-
-The list of stable branches along with the status and maintainer for each
-branch can be obtained from the
-:yocto_wiki:`Releases wiki page </Releases>`.
-
-.. note::
-
-   Changes will not typically be accepted for branches which are marked as
-   End-Of-Life (EOL).
-
-With this in mind, the steps to submit a change for a stable branch are as
-follows:
-
-#. *Identify the bug or CVE to be fixed:* This information should be
-   collected so that it can be included in your submission.
-
-   See :ref:`dev-manual/vulnerabilities:checking for vulnerabilities`
-   for details about CVE tracking.
-
-#. *Check if the fix is already present in the master branch:* This will
-   result in the most straightforward path into the stable branch for the
-   fix.
-
-   #. *If the fix is present in the master branch --- submit a backport request
-      by email:* You should send an email to the relevant stable branch
-      maintainer and the mailing list with details of the bug or CVE to be
-      fixed, the commit hash on the master branch that fixes the issue and
-      the stable branches which you would like this fix to be backported to.
-
-   #. *If the fix is not present in the master branch --- submit the fix to the
-      master branch first:* This will ensure that the fix passes through the
-      project's usual patch review and test processes before being accepted.
-      It will also ensure that bugs are not left unresolved in the master
-      branch itself. Once the fix is accepted in the master branch a backport
-      request can be submitted as above.
-
-   #. *If the fix is unsuitable for the master branch --- submit a patch
-      directly for the stable branch:* This method should be considered as a
-      last resort. It is typically necessary when the master branch is using
-      a newer version of the software which includes an upstream fix for the
-      issue or when the issue has been fixed on the master branch in a way
-      that introduces backwards incompatible changes. In this case follow the
-      steps in :ref:`dev-manual/changes:preparing changes for submission` and
-      :ref:`dev-manual/changes:using email to submit a patch` but modify the subject header of your patch
-      email to include the name of the stable branch which you are
-      targetting. This can be done using the ``--subject-prefix`` argument to
-      ``git format-patch``, for example to submit a patch to the dunfell
-      branch use
-      ``git format-patch --subject-prefix='&DISTRO_NAME_NO_CAP_MINUS_ONE;][PATCH' ...``.
-
diff --git a/poky/documentation/dev-manual/debugging.rst b/poky/documentation/dev-manual/debugging.rst
index 3c5609c..fea2cb3 100644
--- a/poky/documentation/dev-manual/debugging.rst
+++ b/poky/documentation/dev-manual/debugging.rst
@@ -879,8 +879,7 @@
 As with all solved problems, if they originated upstream, you need to
 submit the fix for the recipe in OE-Core and upstream so that the
 problem is taken care of at its source. See the
-":ref:`dev-manual/changes:submitting a change to the yocto project`"
-section for more information.
+":doc:`../contributor-guide/submit-changes`" section for more information.
 
 Debugging With the GNU Project Debugger (GDB) Remotely
 ======================================================
@@ -1236,9 +1235,7 @@
    :yocto_bugs:`Bugzilla <>`. For information on
    how to submit a bug against the Yocto Project, see the Yocto Project
    Bugzilla :yocto_wiki:`wiki page </Bugzilla_Configuration_and_Bug_Tracking>`
-   and the
-   ":ref:`dev-manual/changes:submitting a defect against the yocto project`"
-   section.
+   and the ":doc:`../contributor-guide/report-defect`" section.
 
    .. note::
 
diff --git a/poky/documentation/dev-manual/disk-space.rst b/poky/documentation/dev-manual/disk-space.rst
index c63591c..a84bef4 100644
--- a/poky/documentation/dev-manual/disk-space.rst
+++ b/poky/documentation/dev-manual/disk-space.rst
@@ -27,19 +27,35 @@
 ==========================================
 
 After multiple build iterations, the Shared State (sstate) cache can contain
-duplicate cache files for a given package, while only the most recent one
-is likely to be reusable. The following command purges all but the
-newest sstate cache file for each package::
+duplicate cache files for a given package, consuming a substantial amount of
+disk space. However, only the most recent cache files are likeky to be reusable.
+
+The following command is a quick way to purge all the cache files which
+haven't been used for a least a specified number of days::
+
+   find build/sstate-cache -type f -mtime +$DAYS -delete
+
+The above command relies on the fact that BitBake touches the sstate cache
+files as it accesses them, when it has write access to the cache.
+
+You could use ``-atime`` instead of ``-mtime`` if the partition isn't mounted
+with the ``noatime`` option for a read only cache.
+
+For more advanced needs, OpenEmbedded-Core also offers a more elaborate
+command. It has the ability to purge all but the newest cache files on each
+architecture, and also to remove files that it considers unreachable by
+exploring a set of build configurations. However, this command
+requires a full build environment to be available and doesn't work well
+covering multiple releases. It won't work either on limited environments
+such as BSD based NAS::
 
    sstate-cache-management.sh --remove-duplicated --cache-dir=build/sstate-cache
 
 This command will ask you to confirm the deletions it identifies.
+Run ``sstate-cache-management.sh`` for more details about this script.
 
 .. note::
 
-   The duplicated sstate cache files of one package must have the same
-   architecture, which means that sstate cache files with multiple
-   architectures are not considered as duplicate.
-
-Run ``sstate-cache-management.sh`` for more details about this script.
-
+   As this command is much more cautious and selective, removing only cache files,
+   it will execute much slower than the simple ``find`` command described above.
+   Therefore, it may not be your best option to trim huge cache directories.
diff --git a/poky/documentation/dev-manual/index.rst b/poky/documentation/dev-manual/index.rst
index b0bb557..3106b90 100644
--- a/poky/documentation/dev-manual/index.rst
+++ b/poky/documentation/dev-manual/index.rst
@@ -4,8 +4,6 @@
 Yocto Project Development Tasks Manual
 ======================================
 
-|
-
 .. toctree::
    :caption: Table of Contents
    :numbered:
@@ -43,7 +41,6 @@
    build-quality
    runtime-testing
    debugging
-   changes
    licenses
    vulnerabilities
    sbom
diff --git a/poky/documentation/dev-manual/new-recipe.rst b/poky/documentation/dev-manual/new-recipe.rst
index af39077..cb9533f 100644
--- a/poky/documentation/dev-manual/new-recipe.rst
+++ b/poky/documentation/dev-manual/new-recipe.rst
@@ -432,56 +432,10 @@
 Licensing
 =========
 
-Your recipe needs to have both the
-:term:`LICENSE` and
-:term:`LIC_FILES_CHKSUM`
-variables:
-
--  :term:`LICENSE`: This variable specifies the license for the software.
-   If you do not know the license under which the software you are
-   building is distributed, you should go to the source code and look
-   for that information. Typical files containing this information
-   include ``COPYING``, :term:`LICENSE`, and ``README`` files. You could
-   also find the information near the top of a source file. For example,
-   given a piece of software licensed under the GNU General Public
-   License version 2, you would set :term:`LICENSE` as follows::
-
-      LICENSE = "GPL-2.0-only"
-
-   The licenses you specify within :term:`LICENSE` can have any name as long
-   as you do not use spaces, since spaces are used as separators between
-   license names. For standard licenses, use the names of the files in
-   ``meta/files/common-licenses/`` or the :term:`SPDXLICENSEMAP` flag names
-   defined in ``meta/conf/licenses.conf``.
-
--  :term:`LIC_FILES_CHKSUM`: The OpenEmbedded build system uses this
-   variable to make sure the license text has not changed. If it has,
-   the build produces an error and it affords you the chance to figure
-   it out and correct the problem.
-
-   You need to specify all applicable licensing files for the software.
-   At the end of the configuration step, the build process will compare
-   the checksums of the files to be sure the text has not changed. Any
-   differences result in an error with the message containing the
-   current checksum. For more explanation and examples of how to set the
-   :term:`LIC_FILES_CHKSUM` variable, see the
-   ":ref:`dev-manual/licenses:tracking license changes`" section.
-
-   To determine the correct checksum string, you can list the
-   appropriate files in the :term:`LIC_FILES_CHKSUM` variable with incorrect
-   md5 strings, attempt to build the software, and then note the
-   resulting error messages that will report the correct md5 strings.
-   See the ":ref:`dev-manual/new-recipe:fetching code`" section for
-   additional information.
-
-   Here is an example that assumes the software has a ``COPYING`` file::
-
-      LIC_FILES_CHKSUM = "file://COPYING;md5=xxx"
-
-   When you try to build the
-   software, the build system will produce an error and give you the
-   correct string that you can substitute into the recipe file for a
-   subsequent build.
+Your recipe needs to define variables related to the license
+under whith the software is distributed. See the
+:ref:`contributor-guide/recipe-style-guide:recipe license fields`
+section in the Contributor Guide for details.
 
 Dependencies
 ============
diff --git a/poky/documentation/dev-manual/start.rst b/poky/documentation/dev-manual/start.rst
index 4881481..88afa27 100644
--- a/poky/documentation/dev-manual/start.rst
+++ b/poky/documentation/dev-manual/start.rst
@@ -246,14 +246,13 @@
     -  The Yocto Project community encourages you to send patches to the
        project to fix bugs or add features. If you do submit patches,
        follow the project commit guidelines for writing good commit
-       messages. See the
-       ":ref:`dev-manual/changes:submitting a change to the yocto project`"
-       section.
+       messages. See the ":doc:`../contributor-guide/submit-changes`"
+       section in the Yocto Project and OpenEmbedded Contributor Guide.
 
     -  Send changes to the core sooner than later as others are likely
        to run into the same issues. For some guidance on mailing lists
-       to use, see the list in the
-       ":ref:`dev-manual/changes:submitting a change to the yocto project`"
+       to use, see the lists in the
+       ":ref:`contributor-guide/submit-changes:finding a suitable mailing list`"
        section. For a description
        of the available mailing lists, see the ":ref:`resources-mailinglist`" section in
        the Yocto Project Reference Manual.
diff --git a/poky/documentation/dev-manual/vulnerabilities.rst b/poky/documentation/dev-manual/vulnerabilities.rst
index 6d87d02..71111bb 100644
--- a/poky/documentation/dev-manual/vulnerabilities.rst
+++ b/poky/documentation/dev-manual/vulnerabilities.rst
@@ -22,7 +22,7 @@
 contributors and anyone interested in the issues to investigate and possibly fix them by
 updating software components to newer versions or by applying patches to address them.
 It is recommended to work with Poky and OE-Core upstream maintainers and submit
-patches to fix them, see ":ref:`dev-manual/changes:submitting a change to the yocto project`" for details.
+patches to fix them, see ":doc:`../contributor-guide/submit-changes`" for details.
 
 Vulnerability check at build time
 =================================
diff --git a/poky/documentation/dev-manual/wic.rst b/poky/documentation/dev-manual/wic.rst
index 2a4408c..664f07a 100644
--- a/poky/documentation/dev-manual/wic.rst
+++ b/poky/documentation/dev-manual/wic.rst
@@ -92,7 +92,7 @@
 -  You must build several native tools, which are built to run on the
    build system::
 
-      $ bitbake parted-native dosfstools-native mtools-native
+      $ bitbake wic-tools
 
 -  Include "wic" as part of the
    :term:`IMAGE_FSTYPES`
diff --git a/poky/documentation/index.rst b/poky/documentation/index.rst
index 6335c70..3fef170 100644
--- a/poky/documentation/index.rst
+++ b/poky/documentation/index.rst
@@ -26,6 +26,7 @@
    :caption: Manuals
 
    Overview and Concepts Manual <overview-manual/index>
+   Contributor Guide <contributor-guide/index>
    Reference Manual <ref-manual/index>
    Board Support Package (BSP) Developer's guide <bsp-guide/index>
    Development Tasks Manual <dev-manual/index>
diff --git a/poky/documentation/migration-guides/migration-2.6.rst b/poky/documentation/migration-guides/migration-2.6.rst
index dd21eb3..ecb559d 100644
--- a/poky/documentation/migration-guides/migration-2.6.rst
+++ b/poky/documentation/migration-guides/migration-2.6.rst
@@ -277,13 +277,13 @@
    See the ":ref:`bitbake-user-manual/bitbake-user-manual-metadata:removal (override style syntax)`"
    section in the BitBake User Manual for a detailed example.
 
-.. _migration-2.6-systemd-configuration-now-split-out-to-system-conf:
+.. _migration-2.6-systemd-configuration-now-split-out-to-systemd-conf:
 
 ``systemd`` Configuration is Now Split Into ``systemd-conf``
 ------------------------------------------------------------
 
 The configuration for the ``systemd`` recipe has been moved into a
-``system-conf`` recipe. Moving this configuration to a separate recipe
+``systemd-conf`` recipe. Moving this configuration to a separate recipe
 avoids the ``systemd`` recipe from becoming machine-specific for cases
 where machine-specific configurations need to be applied (e.g. for
 ``qemu*`` machines).
diff --git a/poky/documentation/migration-guides/release-4.0.rst b/poky/documentation/migration-guides/release-4.0.rst
index 1f08c88..688ea7a 100644
--- a/poky/documentation/migration-guides/release-4.0.rst
+++ b/poky/documentation/migration-guides/release-4.0.rst
@@ -18,3 +18,4 @@
    release-notes-4.0.9
    release-notes-4.0.10
    release-notes-4.0.11
+   release-notes-4.0.12
diff --git a/poky/documentation/migration-guides/release-4.2.rst b/poky/documentation/migration-guides/release-4.2.rst
index 981600a..abeebcb 100644
--- a/poky/documentation/migration-guides/release-4.2.rst
+++ b/poky/documentation/migration-guides/release-4.2.rst
@@ -9,3 +9,4 @@
    release-notes-4.2
    release-notes-4.2.1
    release-notes-4.2.2
+   release-notes-4.2.3
diff --git a/poky/documentation/migration-guides/release-notes-4.0.12.rst b/poky/documentation/migration-guides/release-notes-4.0.12.rst
new file mode 100644
index 0000000..0ea92a4
--- /dev/null
+++ b/poky/documentation/migration-guides/release-notes-4.0.12.rst
@@ -0,0 +1,277 @@
+.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
+
+Release notes for Yocto-4.0.12 (Kirkstone)
+------------------------------------------
+
+Security Fixes in Yocto-4.0.12
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+-  bind: Fix :cve:`2023-2828` and :cve:`2023-2911`
+-  cups: Fix :cve:`2023-34241`
+-  curl: Added :cve:`2023-28320` Follow-up patch
+-  dbus: Fix :cve:`2023-34969`
+-  dmidecode: fix :cve:`2023-30630`
+-  ghostscript: fix :cve:`2023-36664`
+-  go: fix :cve_mitre:`2023-24531`, :cve:`2023-24536`, :cve:`2023-29400`, :cve:`2023-29402`, :cve:`2023-29404`, :cve:`2023-29405` and :cve:`2023-29406`
+-  libarchive: Ignore :cve:`2023-30571`
+-  libcap: Fix :cve:`2023-2602` and :cve:`2023-2603`
+-  libjpeg-turbo: Fix :cve:`2023-2804`
+-  libpcre2: Fix :cve:`2022-41409`
+-  libtiff: fix :cve:`2023-26965`
+-  libwebp: Fix :cve:`2023-1999`
+-  libx11: Fix :cve:`2023-3138`
+-  libxpm: Fix :cve:`2022-44617`
+-  ninja: Ignore :cve:`2021-4336`
+-  openssh: Fix :cve:`2023-38408`
+-  openssl: Fix :cve:`2023-2975`, :cve:`2023-3446` and :cve:`2023-3817`
+-  perl: Fix :cve:`2023-31486`
+-  python3: Ignore :cve:`2023-36632`
+-  qemu: Fix :cve:`2023-0330`, :cve_mitre:`2023-2861`, :cve_mitre:`2023-3255` and :cve_mitre:`2023-3301`
+-  sqlite3: Fix :cve:`2023-36191`
+-  tiff: Fix :cve:`2023-0795`, :cve:`2023-0796`, :cve:`2023-0797`, :cve:`2023-0798`, :cve:`2023-0799`, :cve:`2023-25433`, :cve:`2023-25434` and :cve:`2023-25435`
+-  vim: :cve:`2023-2609` and :cve:`2023-2610`
+
+
+Fixes in Yocto-4.0.12
+~~~~~~~~~~~~~~~~~~~~~
+
+-  babeltrace2: Always use BFD linker when building tests with ld-is-lld distro feature
+-  babeltrace2: upgrade to 2.0.5
+-  bitbake.conf: add unzstd in :term:`HOSTTOOLS`
+-  bitbake: bitbake-layers: initialize tinfoil before registering command line arguments
+-  bitbake: runqueue: Fix deferred task/multiconfig race issue
+-  blktrace: ask for python3 specifically
+-  build-appliance-image: Update to kirkstone head revision
+-  cmake: Fix CMAKE_SYSTEM_PROCESSOR setting for SDK
+-  connman: fix warning by specifying runstatedir at configure time
+-  cpio: Replace fix wrong CRC with ASCII CRC for large files with upstream backport
+-  cve-update-nvd2-native: actually use API keys
+-  cve-update-nvd2-native: always pass str for json.loads()
+-  cve-update-nvd2-native: fix cvssV3 metrics
+-  cve-update-nvd2-native: handle all configuration nodes, not just first
+-  cve-update-nvd2-native: increase retry count
+-  cve-update-nvd2-native: log a little more
+-  cve-update-nvd2-native: retry all errors and sleep between retries
+-  cve-update-nvd2-native: use exact times, don't truncate
+-  dbus: upgrade to 1.14.8
+-  devtool: Fix the wrong variable in srcuri_entry
+-  diffutils: upgrade to 3.10
+-  docs: ref-manual: terms: fix typos in :term:`SPDX` term
+-  fribidi: upgrade to 1.0.13
+-  gcc: upgrade to v11.4
+-  gcc-testsuite: Fix ppc cpu specification
+-  gcc: don't pass --enable-standard-branch-protection
+-  gcc: fix runpath errors in cc1 binary
+-  grub: submit determinism.patch upstream
+-  image_types: Fix reproducible builds for initramfs and UKI img
+-  kernel: add missing path to search for debug files
+-  kmod: remove unused ptest.patch
+-  layer.conf: Add missing dependency exclusion
+-  libassuan: upgrade to 2.5.6
+-  libksba: upgrade to 1.6.4
+-  libpng: Add ptest for libpng
+-  libxcrypt: fix build with perl-5.38 and use master branch
+-  libxcrypt: fix hard-coded ".so" extension
+-  libxpm: upgrade to 3.5.16
+-  linux-firmware: upgrade to 20230515
+-  linux-yocto/5.10: cfg: fix DECNET configuration warning
+-  linux-yocto/5.10: update to v5.10.185
+-  linux-yocto/5.15: cfg: fix DECNET configuration warning
+-  linux-yocto/5.15: update to v5.15.120
+-  logrotate: Do not create logrotate.status file
+-  lttng-ust: upgrade to 2.13.6
+-  machine/arch-arm64: add -mbranch-protection=standard
+-  maintainers.inc: correct Carlos Rafael Giani's email address
+-  maintainers.inc: correct unassigned entries
+-  maintainers.inc: unassign Adrian Bunk from wireless-regdb
+-  maintainers.inc: unassign Alistair Francis from opensbi
+-  maintainers.inc: unassign Andreas Müller from itstool entry
+-  maintainers.inc: unassign Pascal Bach from cmake entry
+-  maintainers.inc: unassign Ricardo Neri from ovmf
+-  maintainers.inc: unassign Richard Weinberger from erofs-utils entry
+-  mdadm: fix 07revert-inplace ptest
+-  mdadm: fix segfaults when running ptests
+-  mdadm: fix util-linux ptest dependency
+-  mdadm: skip running known broken ptests
+-  meson.bbclass: Point to llvm-config from native sysroot
+-  meta: lib: oe: npm_registry: Add more safe caracters
+-  migration-guides: add release notes for 4.0.11
+-  minicom: remove unused patch files
+-  mobile-broadband-provider-info: upgrade to 20230416
+-  oe-depends-dot: Handle new format for task-depends.dot
+-  oeqa/runtime/cases/rpm: fix wait_for_no_process_for_user failure case
+-  oeqa/selftest/bbtests: add non-existent prefile/postfile tests
+-  oeqa/selftest/devtool: add unit test for "devtool add -b"
+-  openssl: Upgrade to 3.0.10
+-  openssl: add PERLEXTERNAL path to test its existence
+-  openssl: use a glob on the PERLEXTERNAL to track updates on the path
+-  package.bbclass: moving field data process before variable process in process_pkgconfig
+-  pm-utils: fix multilib conflictions
+-  poky.conf: bump version for 4.0.12
+-  psmisc: Set :term:`ALTERNATIVE` for pstree to resolve conflict with busybox
+-  pybootchartgui: show elapsed time for each task
+-  python3: fix missing comma in get_module_deps3.py
+-  python3: upgrade to 3.10.12
+-  recipetool: Fix inherit in created -native* recipes
+-  ref-manual: add LTS and Mixin terms
+-  ref-manual: document image-specific variant of :term:`INCOMPATIBLE_LICENSE`
+-  ref-manual: release-process: update for LTS releases
+-  rust-llvm: backport a fix for build with gcc-13
+-  scripts/runqemu: allocate unfsd ports in a way that doesn't race or clash with unrelated processes
+-  scripts/runqemu: split lock dir creation into a reusable function
+-  sdk.py: error out when moving file fails
+-  sdk.py: fix moving dnf contents
+-  selftest reproducible.py: support different build targets
+-  selftest/license: Exclude from world
+-  selftest/reproducible: Allow chose the package manager
+-  serf: upgrade to 1.3.10
+-  strace: Disable failing test
+-  strace: Merge two similar patches
+-  strace: Update patches/tests with upstream fixes
+-  sysfsutils: fetch a supported fork from github
+-  systemd-systemctl: fix errors in instance name expansion
+-  systemd: Backport nspawn: make sure host root can write to the uidmapped mounts we prepare for the container payload
+-  tzdata: upgrade to 2023c
+-  uboot-extlinux-config.bbclass: fix old override syntax in comment
+-  unzip: fix configure check for cross compilation
+-  useradd-staticids.bbclass: improve error message
+-  util-linux: add alternative links for ipcs,ipcrm
+-  v86d: Improve kernel dependency
+-  vim: upgrade to 9.0.1592
+-  wget: upgrade to 1.21.4
+-  wic: Add dependencies for erofs-utils
+-  wireless-regdb: upgrade to 2023.05.03
+-  xdpyinfo: upgrade to 1.3.4
+-  zip: fix configure check by using _Static_assert
+
+
+Known Issues in Yocto-4.0.12
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+- N/A
+
+
+Contributors to Yocto-4.0.12
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+-  Alberto Planas
+-  Alexander Kanavin
+-  Alexander Sverdlin
+-  Andrej Valek
+-  Archana Polampalli
+-  BELOUARGA Mohamed
+-  Benjamin Bouvier
+-  Bruce Ashfield
+-  Charlie Wu
+-  Chen Qi
+-  Etienne Cordonnier
+-  Fabien Mahot
+-  Frieder Paape
+-  Frieder Schrempf
+-  Heiko Thole
+-  Hitendra Prajapati
+-  Jermain Horsman
+-  Jose Quaresma
+-  Kai Kang
+-  Khem Raj
+-  Lee Chee Yang
+-  Marc Ferland
+-  Marek Vasut
+-  Martin Jansa
+-  Mauro Queiros
+-  Michael Opdenacker
+-  Mikko Rapeli
+-  Nikhil R
+-  Ovidiu Panait
+-  Peter Marko
+-  Poonam Jadhav
+-  Quentin Schulz
+-  Richard Purdie
+-  Ross Burton
+-  Rusty Howell
+-  Sakib Sajal
+-  Soumya Sambu
+-  Steve Sakoman
+-  Sundeep KOKKONDA
+-  Tim Orling
+-  Tom Hochstein
+-  Trevor Gamblin
+-  Vijay Anusuri
+-  Vivek Kumbhar
+-  Wang Mingyu
+-  Xiangyu Chen
+-  Yoann Congal
+-  Yogita Urade
+-  Yuta Hayama
+
+
+Repositories / Downloads for Yocto-4.0.12
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+poky
+
+-  Repository Location: :yocto_git:`/poky`
+-  Branch: :yocto_git:`kirkstone </poky/log/?h=kirkstone>`
+-  Tag:  :yocto_git:`yocto-4.0.12 </poky/log/?h=yocto-4.0.12>`
+-  Git Revision: :yocto_git:`d6b8790370500b99ca11f0d8a05c39b661ab2ba6 </poky/commit/?id=d6b8790370500b99ca11f0d8a05c39b661ab2ba6>`
+-  Release Artefact: poky-d6b8790370500b99ca11f0d8a05c39b661ab2ba6
+-  sha: 35f0390e0c5a12f403ed471c0b1254c13cbb9d7c7b46e5a3538e63e36c1ac280
+-  Download Locations:
+   http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.12/poky-d6b8790370500b99ca11f0d8a05c39b661ab2ba6.tar.bz2
+   http://mirrors.kernel.org/yocto/yocto/yocto-4.0.12/poky-d6b8790370500b99ca11f0d8a05c39b661ab2ba6.tar.bz2
+
+openembedded-core
+
+-  Repository Location: :oe_git:`/openembedded-core`
+-  Branch: :oe_git:`kirkstone </openembedded-core/log/?h=kirkstone>`
+-  Tag:  :oe_git:`yocto-4.0.12 </openembedded-core/log/?h=yocto-4.0.12>`
+-  Git Revision: :oe_git:`e1a604db8d2cf8782038b4016cc2e2052467333b </openembedded-core/commit/?id=e1a604db8d2cf8782038b4016cc2e2052467333b>`
+-  Release Artefact: oecore-e1a604db8d2cf8782038b4016cc2e2052467333b
+-  sha: 8b302eb3f3ffe5643f88bc6e4ae8f9a5cda63544d67e04637ecc4197e9750a1d
+-  Download Locations:
+   http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.12/oecore-e1a604db8d2cf8782038b4016cc2e2052467333b.tar.bz2
+   http://mirrors.kernel.org/yocto/yocto/yocto-4.0.12/oecore-e1a604db8d2cf8782038b4016cc2e2052467333b.tar.bz2
+
+meta-mingw
+
+-  Repository Location: :yocto_git:`/meta-mingw`
+-  Branch: :yocto_git:`kirkstone </meta-mingw/log/?h=kirkstone>`
+-  Tag:  :yocto_git:`yocto-4.0.12 </meta-mingw/log/?h=yocto-4.0.12>`
+-  Git Revision: :yocto_git:`a90614a6498c3345704e9611f2842eb933dc51c1 </meta-mingw/commit/?id=a90614a6498c3345704e9611f2842eb933dc51c1>`
+-  Release Artefact: meta-mingw-a90614a6498c3345704e9611f2842eb933dc51c1
+-  sha: 49f9900bfbbc1c68136f8115b314e95d0b7f6be75edf36a75d9bcd1cca7c6302
+-  Download Locations:
+   http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.12/meta-mingw-a90614a6498c3345704e9611f2842eb933dc51c1.tar.bz2
+   http://mirrors.kernel.org/yocto/yocto/yocto-4.0.12/meta-mingw-a90614a6498c3345704e9611f2842eb933dc51c1.tar.bz2
+
+meta-gplv2
+
+-  Repository Location: :yocto_git:`/meta-gplv2`
+-  Branch: :yocto_git:`kirkstone </meta-gplv2/log/?h=kirkstone>`
+-  Tag:  :yocto_git:`yocto-4.0.12 </meta-gplv2/log/?h=yocto-4.0.12>`
+-  Git Revision: :yocto_git:`d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a </meta-gplv2/commit/?id=d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a>`
+-  Release Artefact: meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a
+-  sha: c386f59f8a672747dc3d0be1d4234b6039273d0e57933eb87caa20f56b9cca6d
+-  Download Locations:
+   http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.12/meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a.tar.bz2
+   http://mirrors.kernel.org/yocto/yocto/yocto-4.0.12/meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a.tar.bz2
+
+bitbake
+
+-  Repository Location: :oe_git:`/bitbake`
+-  Branch: :oe_git:`2.0 </bitbake/log/?h=2.0>`
+-  Tag:  :oe_git:`yocto-4.0.12 </bitbake/log/?h=yocto-4.0.12>`
+-  Git Revision: :oe_git:`41b6684489d0261753344956042be2cc4adb0159 </bitbake/commit/?id=41b6684489d0261753344956042be2cc4adb0159>`
+-  Release Artefact: bitbake-41b6684489d0261753344956042be2cc4adb0159
+-  sha: efa2b1c4d0be115ed3960750d1e4ed958771b2db6d7baee2d13ad386589376e8
+-  Download Locations:
+   http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.12/bitbake-41b6684489d0261753344956042be2cc4adb0159.tar.bz2
+   http://mirrors.kernel.org/yocto/yocto/yocto-4.0.12/bitbake-41b6684489d0261753344956042be2cc4adb0159.tar.bz2
+
+yocto-docs
+
+-  Repository Location: :yocto_git:`/yocto-docs`
+-  Branch: :yocto_git:`kirkstone </yocto-docs/log/?h=kirkstone>`
+-  Tag: :yocto_git:`yocto-4.0.12 </yocto-docs/log/?h=yocto-4.0.12>`
+-  Git Revision: :yocto_git:`4dfef81ac6164764c6541e39a9fef81d49227096 </yocto-docs/commit/?id=4dfef81ac6164764c6541e39a9fef81d49227096>`
+
diff --git a/poky/documentation/migration-guides/release-notes-4.2.3.rst b/poky/documentation/migration-guides/release-notes-4.2.3.rst
new file mode 100644
index 0000000..3b568a1
--- /dev/null
+++ b/poky/documentation/migration-guides/release-notes-4.2.3.rst
@@ -0,0 +1,263 @@
+.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
+
+Release notes for Yocto-4.2.3 (Mickledore)
+------------------------------------------
+
+Security Fixes in Yocto-4.2.3
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+-  bind: Fix :cve:`2023-2828` and :cve:`2023-2911`
+-  cups: Fix :cve:`2023-34241`
+-  dmidecode: Fix :cve:`2023-30630`
+-  erofs-utils: Fix :cve:`2023-33551` and :cve:`2023-33552`
+-  ghostscript: Fix :cve:`2023-36664`
+-  go: Fix :cve_mitre:`2023-24531`
+-  libarchive: ignore :cve:`2023-30571`
+-  libjpeg-turbo: Fix :cve:`2023-2804`
+-  libx11: Fix :cve:`2023-3138`
+-  ncurses: Fix :cve:`2023-29491`
+-  openssh: Fix :cve:`2023-38408`
+-  python3-certifi: Fix :cve:`2023-37920`
+-  python3-requests: Fix :cve:`2023-32681`
+-  python3: Ignore :cve:`2023-36632`
+-  qemu: fix :cve:`2023-0330`, :cve_mitre:`2023-2861`, :cve_mitre:`2023-3255` and :cve_mitre:`2023-3301`
+-  ruby: Fix :cve:`2023-36617`
+-  vim: Fix :cve:`2023-2609` and :cve:`2023-2610`
+-  webkitgtk: Fix :cve:`2023-27932` and :cve:`2023-27954`
+
+
+Fixes in Yocto-4.2.3
+~~~~~~~~~~~~~~~~~~~~
+
+-  acpica: Update :term:`SRC_URI`
+-  automake: fix buildtest patch
+-  baremetal-helloworld: Fix race condition
+-  bind: upgrade to v9.18.17
+-  binutils: stable 2.40 branch updates
+-  build-appliance-image: Update to mickledore head revision
+-  cargo.bbclass: set up cargo environment in common do_compile
+-  conf.py: add macro for Mitre CVE links
+-  curl: ensure all ptest failures are caught
+-  cve-update-nvd2-native: actually use API keys
+-  cve-update-nvd2-native: fix cvssV3 metrics
+-  cve-update-nvd2-native: handle all configuration nodes, not just first
+-  cve-update-nvd2-native: increase retry count
+-  cve-update-nvd2-native: log a little more
+-  cve-update-nvd2-native: retry all errors and sleep between retries
+-  cve-update-nvd2-native: use exact times, don't truncate
+-  dev-manual: wic.rst: Update native tools build command
+-  devtool/upgrade: raise an error if extracting source produces more than one directory
+-  diffutils: upgrade to 3.10
+-  docs: ref-manual: terms: fix typos in :term:`SPDX` term
+-  file: fix the way path is written to environment-setup.d
+-  file: return wrapper to fix builds when file is in buildtools-tarball
+-  freetype: upgrade to 2.13.1
+-  gcc-testsuite: Fix ppc cpu specification
+-  gcc: don't pass --enable-standard-branch-protection
+-  glibc-locale: use stricter matching for metapackages' runtime dependencies
+-  glibc-testsuite: Fix network restrictions causing test failures
+-  glibc/check-test-wrapper: don't emit warnings from ssh
+-  go: upgrade to 1.20.6
+-  gstreamer1.0: upgrade to 1.22.4
+-  ifupdown: install missing directories
+-  kernel-module-split add systemd modulesloaddir and modprobedir config
+-  kernel-module-split: install config modules directories only when they are needed
+-  kernel-module-split: make autoload and probeconf distribution specific
+-  kernel-module-split: use context manager to open files
+-  kernel: Fix path comparison in kernel staging dir symlinking
+-  kernel: config modules directories are handled by kernel-module-split
+-  kernel: don't fail if Modules.symvers doesn't exist
+-  libassuan: upgrade to 2.5.6
+-  libksba: upgrade to 1.6.4
+-  libnss-nis: upgrade to 3.2
+-  libproxy: fetch from git
+-  libwebp: upgrade to 1.3.1
+-  libx11: upgrade to 1.8.6
+-  libxcrypt: fix hard-coded ".so" extension
+-  linux-firmware : Add firmware of RTL8822 serie
+-  linux-firmware: Fix mediatek mt7601u firmware path
+-  linux-firmware: package firmare for Dragonboard 410c
+-  linux-firmware: split platform-specific Adreno shaders to separate packages
+-  linux-firmware: upgrade to 20230625
+-  linux-yocto/5.15: update to v5.15.124
+-  linux-yocto/6.1: cfg: update ima.cfg to match current meta-integrity
+-  linux-yocto/6.1: upgrade to v6.1.38
+-  ltp: Add kernel loopback module dependency
+-  ltp: add :term:`RDEPENDS` on findutils
+-  lttng-ust: upgrade to 2.13.6
+-  machine/arch-arm64: add -mbranch-protection=standard
+-  maintainers.inc: Modify email address
+-  mdadm: add util-linux-blockdev ptest dependency
+-  mdadm: fix 07revert-inplace ptest
+-  mdadm: fix segfaults when running ptests
+-  mdadm: fix util-linux ptest dependency
+-  mdadm: re-add mdadm-ptest to PTESTS_SLOW
+-  mdadm: skip running known broken ptests
+-  meson.bbclass: Point to llvm-config from native sysroot
+-  migration-guides: add release notes for 4.0.10
+-  migration-guides: add release notes for 4.0.11
+-  migration-guides: add release notes for 4.2.2
+-  oeqa/runtime/cases/rpm: fix wait_for_no_process_for_user failure case
+-  oeqa/runtime/ltp: Increase ltp test output timeout
+-  oeqa/selftest/devtool: add unit test for "devtool add -b"
+-  oeqa/ssh: Further improve process exit handling
+-  oeqa/target/ssh: Ensure EAGAIN doesn't truncate output
+-  oeqa/utils/nfs: allow requesting non-udp ports
+-  openssh: upgrade to 9.3p2
+-  openssl: add PERLEXTERNAL path to test its existence
+-  openssl: use a glob on the PERLEXTERNAL to track updates on the path
+-  opkg-utils: upgrade to 0.6.2
+-  opkg: upgrade to 0.6.2
+-  pkgconf: update :term:`SRC_URI`
+-  poky.conf: bump version for 4.2.3 release
+-  poky.conf: update :term:`SANITY_TESTED_DISTROS` to match autobuilder
+-  ptest-runner: Pull in parallel test fixes and output handling
+-  python3-certifi: upgrade to 2023.7.22
+-  python3: fix missing comma in get_module_deps3.py
+-  recipetool: Fix inherit in created -native* recipes
+-  ref-manual: LTS releases now supported for 4 years
+-  ref-manual: document image-specific variant of :term:`INCOMPATIBLE_LICENSE`
+-  ref-manual: releases.svg: updates
+-  resulttool/resultutils: allow index generation despite corrupt json
+-  rootfs-postcommands.bbclass: Revert "add post func remove_unused_dnf_log_lock"
+-  rootfs: Add debugfs package db file copy and cleanup
+-  rootfs_rpm: don't depend on opkg-native for update-alternatives
+-  rpm: Pick debugfs package db files/dirs explicitly
+-  rust-common.bbclass: move musl-specific linking fix from rust-source.inc
+-  scripts/oe-setup-builddir: copy conf-notes.txt to build dir
+-  scripts/resulttool: add mention about new detected tests
+-  selftest/cases/glibc.py: fix the override syntax
+-  selftest/cases/glibc.py: increase the memory for testing
+-  selftest/cases/glibc.py: switch to using NFS over TCP
+-  shadow-sysroot: add license information
+-  systemd-systemctl: fix errors in instance name expansion
+-  taglib: upgrade to 1.13.1
+-  target/ssh: Ensure exit code set for commands
+-  tcf-agent: upgrade to 1.8.0
+-  testimage/oeqa: Drop testimage_dump_host functionality
+-  tiff: upgrade to 4.5.1
+-  uboot-extlinux-config.bbclass: fix old override syntax in comment
+-  util-linux: add alternative links for ipcs,ipcrm
+-  vim: upgrade to 9.0.1592
+-  webkitgtk: upgrade to 2.38.6
+-  weston: Cleanup and fix x11 and xwayland dependencies
+
+
+Known Issues in Yocto-4.2.3
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+- N/A
+
+
+Contributors to Yocto-4.2.3
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+-  Alejandro Hernandez Samaniego
+-  Alex Kiernan
+-  Alexander Kanavin
+-  Alexis Lothoré
+-  Andrej Valek
+-  Anuj Mittal
+-  Archana Polampalli
+-  BELOUARGA Mohamed
+-  Benjamin Bouvier
+-  Bruce Ashfield
+-  Changqing Li
+-  Chen Qi
+-  Daniel Semkowicz
+-  Dmitry Baryshkov
+-  Enrico Scholz
+-  Etienne Cordonnier
+-  Joe Slater
+-  Joel Stanley
+-  Jose Quaresma
+-  Julien Stephan
+-  Kai Kang
+-  Khem Raj
+-  Lee Chee Yang
+-  Marek Vasut
+-  Mark Hatle
+-  Michael Halstead
+-  Michael Opdenacker
+-  Mingli Yu
+-  Narpat Mali
+-  Oleksandr Hnatiuk
+-  Ovidiu Panait
+-  Peter Marko
+-  Quentin Schulz
+-  Richard Purdie
+-  Ross Burton
+-  Sanjana
+-  Sakib Sajal
+-  Staffan Rydén
+-  Steve Sakoman
+-  Stéphane Veyret
+-  Sudip Mukherjee
+-  Thomas Roos
+-  Tom Hochstein
+-  Trevor Gamblin
+-  Wang Mingyu
+-  Yi Zhao
+-  Yoann Congal
+-  Yogita Urade
+-  Yuta Hayama
+
+
+Repositories / Downloads for Yocto-4.2.3
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+poky
+
+-  Repository Location: :yocto_git:`/poky`
+-  Branch: :yocto_git:`mickledore </poky/log/?h=mickledore>`
+-  Tag:  :yocto_git:`yocto-4.2.3 </poky/log/?h=yocto-4.2.3>`
+-  Git Revision: :yocto_git:`aa63b25cbe25d89ab07ca11ee72c17cab68df8de </poky/commit/?id=aa63b25cbe25d89ab07ca11ee72c17cab68df8de>`
+-  Release Artefact: poky-aa63b25cbe25d89ab07ca11ee72c17cab68df8de
+-  sha: 9e2b40fc25f7984b3227126ec9b8aa68d3747c8821fb7bf8cb635fc143f894c3
+-  Download Locations:
+   http://downloads.yoctoproject.org/releases/yocto/yocto-4.2.3/poky-aa63b25cbe25d89ab07ca11ee72c17cab68df8de.tar.bz2
+   http://mirrors.kernel.org/yocto/yocto/yocto-4.2.3/poky-aa63b25cbe25d89ab07ca11ee72c17cab68df8de.tar.bz2
+
+openembedded-core
+
+-  Repository Location: :oe_git:`/openembedded-core`
+-  Branch: :oe_git:`mickledore </openembedded-core/log/?h=mickledore>`
+-  Tag:  :oe_git:`yocto-4.2.3 </openembedded-core/log/?h=yocto-4.2.3>`
+-  Git Revision: :oe_git:`7e3489c0c5970389c8a239dc7b367bcadf554eb5 </openembedded-core/commit/?id=7e3489c0c5970389c8a239dc7b367bcadf554eb5>`
+-  Release Artefact: oecore-7e3489c0c5970389c8a239dc7b367bcadf554eb5
+-  sha: 68620aca7c9db6b9a65d9853cacff4e60578f0df39e3e37114e062e1667ba724
+-  Download Locations:
+   http://downloads.yoctoproject.org/releases/yocto/yocto-4.2.3/oecore-7e3489c0c5970389c8a239dc7b367bcadf554eb5.tar.bz2
+   http://mirrors.kernel.org/yocto/yocto/yocto-4.2.3/oecore-7e3489c0c5970389c8a239dc7b367bcadf554eb5.tar.bz2
+
+meta-mingw
+
+-  Repository Location: :yocto_git:`/meta-mingw`
+-  Branch: :yocto_git:`mickledore </meta-mingw/log/?h=mickledore>`
+-  Tag:  :yocto_git:`yocto-4.2.3 </meta-mingw/log/?h=yocto-4.2.3>`
+-  Git Revision: :yocto_git:`92258028e1b5664a9f832541d5c4f6de0bd05e07 </meta-mingw/commit/?id=92258028e1b5664a9f832541d5c4f6de0bd05e07>`
+-  Release Artefact: meta-mingw-92258028e1b5664a9f832541d5c4f6de0bd05e07
+-  sha: ee081460b5dff4fb8dd4869ce5631718dbaaffbede9532b879b854c18f1b3f5d
+-  Download Locations:
+   http://downloads.yoctoproject.org/releases/yocto/yocto-4.2.3/meta-mingw-92258028e1b5664a9f832541d5c4f6de0bd05e07.tar.bz2
+   http://mirrors.kernel.org/yocto/yocto/yocto-4.2.3/meta-mingw-92258028e1b5664a9f832541d5c4f6de0bd05e07.tar.bz2
+
+bitbake
+
+-  Repository Location: :oe_git:`/bitbake`
+-  Branch: :oe_git:`2.4 </bitbake/log/?h=2.4>`
+-  Tag:  :oe_git:`yocto-4.2.3 </bitbake/log/?h=yocto-4.2.3>`
+-  Git Revision: :oe_git:`08033b63ae442c774bd3fce62844eac23e6882d7 </bitbake/commit/?id=08033b63ae442c774bd3fce62844eac23e6882d7>`
+-  Release Artefact: bitbake-08033b63ae442c774bd3fce62844eac23e6882d7
+-  sha: 1d070c133bfb6502ac04befbf082cbfda7582c8b1c48296a788384352e5061fd
+-  Download Locations:
+   http://downloads.yoctoproject.org/releases/yocto/yocto-4.2.3/bitbake-08033b63ae442c774bd3fce62844eac23e6882d7.tar.bz2
+   http://mirrors.kernel.org/yocto/yocto/yocto-4.2.3/bitbake-08033b63ae442c774bd3fce62844eac23e6882d7.tar.bz2
+
+yocto-docs
+
+-  Repository Location: :yocto_git:`/yocto-docs`
+-  Branch: :yocto_git:`mickledore </yocto-docs/log/?h=mickledore>`
+-  Tag: :yocto_git:`yocto-4.2.3 </yocto-docs/log/?h=yocto-4.2.3>`
+-  Git Revision: :yocto_git:`8e6752a9e55d16f3713e248b37f9d4d2745a2375 </yocto-docs/commit/?id=8e6752a9e55d16f3713e248b37f9d4d2745a2375>`
+
diff --git a/poky/documentation/overview-manual/development-environment.rst b/poky/documentation/overview-manual/development-environment.rst
index 6139e7a..262d5cb 100644
--- a/poky/documentation/overview-manual/development-environment.rst
+++ b/poky/documentation/overview-manual/development-environment.rst
@@ -232,8 +232,8 @@
 
    For information on finding out who is responsible for (maintains) a
    particular area of code in the Yocto Project, see the
-   ":ref:`dev-manual/changes:submitting a change to the yocto project`"
-   section of the Yocto Project Development Tasks Manual.
+   ":doc:`../contributor-guide/identify-component`"
+   section of the Yocto Project and OpenEmbedded Contributor Guide.
 
 The Yocto Project ``poky`` Git repository also has an upstream
 contribution Git repository named ``poky-contrib``. You can see all the
@@ -264,8 +264,8 @@
 maintainer include them into an upstream branch. This process is called
 "submitting a patch" or "submitting a change." For information on
 submitting patches and changes, see the
-":ref:`dev-manual/changes:submitting a change to the yocto project`"
-section in the Yocto Project Development Tasks Manual.
+":doc:`../contributor-guide/submit-changes`" section in the Yocto Project
+and OpenEmbedded Contributor Guide.
 
 In summary, there is a single point of entry for changes into the
 development branch of the Git repository, which is controlled by the
@@ -328,11 +328,10 @@
    software on which to develop. The Yocto Project has two scripts named
    ``create-pull-request`` and ``send-pull-request`` that ship with the
    release to facilitate this workflow. You can find these scripts in
-   the ``scripts`` folder of the
-   :term:`Source Directory`. For information
+   the ``scripts`` folder of the :term:`Source Directory`. For information
    on how to use these scripts, see the
-   ":ref:`dev-manual/changes:using scripts to push a change upstream and request a pull`"
-   section in the Yocto Project Development Tasks Manual.
+   ":ref:`contributor-guide/submit-changes:using scripts to push a change upstream and request a pull`"
+   section in the Yocto Project and OpenEmbedded Contributor Guide.
 
 -  *Patch Workflow:* This workflow allows you to notify the maintainer
    through an email that you have a change (or patch) you would like
@@ -340,8 +339,8 @@
    this type of change, you format the patch and then send the email
    using the Git commands ``git format-patch`` and ``git send-email``.
    For information on how to use these scripts, see the
-   ":ref:`dev-manual/changes:submitting a change to the yocto project`"
-   section in the Yocto Project Development Tasks Manual.
+   ":doc:`../contributor-guide/submit-changes`" section in the Yocto Project
+   and OpenEmbedded Contributor Guide.
 
 Git
 ===
diff --git a/poky/documentation/poky.yaml.in b/poky/documentation/poky.yaml.in
index b2b6a63..2922214 100644
--- a/poky/documentation/poky.yaml.in
+++ b/poky/documentation/poky.yaml.in
@@ -13,18 +13,18 @@
 UBUNTU_HOST_PACKAGES_ESSENTIAL : "gawk wget git diffstat unzip texinfo gcc \
      build-essential chrpath socat cpio python3 python3-pip python3-pexpect \
      xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev \
-     python3-subunit mesa-common-dev zstd liblz4-tool file locales
+     python3-subunit mesa-common-dev zstd liblz4-tool file locales libacl1
      \n\   $ sudo locale-gen en_US.UTF-8"
 FEDORA_HOST_PACKAGES_ESSENTIAL : "gawk make wget tar bzip2 gzip python3 unzip perl patch \
      diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath \
      ccache perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue perl-bignum socat \
      python3-pexpect findutils which file cpio python python3-pip xz python3-GitPython \
      python3-jinja2 SDL-devel rpcgen mesa-libGL-devel perl-FindBin perl-File-Compare \
-     perl-File-Copy perl-locale zstd lz4 hostname glibc-langpack-en"
+     perl-File-Copy perl-locale zstd lz4 hostname glibc-langpack-en libacl"
 OPENSUSE_HOST_PACKAGES_ESSENTIAL : "python gcc gcc-c++ git chrpath make wget python-xml \
      diffstat makeinfo python-curses patch socat python3 python3-curses tar python3-pip \
      python3-pexpect xz which python3-Jinja2 Mesa-libEGL1 libSDL-devel rpcgen Mesa-dri-devel \
-     zstd lz4 bzip2 gzip hostname
+     zstd lz4 bzip2 gzip hostname libacl1
      \n\   $ sudo pip3 install GitPython"
 ALMALINUX_HOST_PACKAGES_ESSENTIAL : "-y epel-release
      \n\   $ sudo yum install dnf-plugins-core
@@ -34,7 +34,7 @@
      diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath ccache \
      socat perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue python3-pip \
      python3-GitPython python3-jinja2 python3-pexpect xz which SDL-devel \
-     rpcgen mesa-libGL-devel zstd lz4 cpio glibc-langpack-en"
+     rpcgen mesa-libGL-devel zstd lz4 cpio glibc-langpack-en libacl"
 PIP3_HOST_PACKAGES_DOC : "$ sudo pip3 install sphinx sphinx_rtd_theme pyyaml"
 MIN_PYTHON_VERSION : "3.8.0"
 MIN_TAR_VERSION : "1.28"
diff --git a/poky/documentation/ref-manual/classes.rst b/poky/documentation/ref-manual/classes.rst
index a7819d5..3f0d484 100644
--- a/poky/documentation/ref-manual/classes.rst
+++ b/poky/documentation/ref-manual/classes.rst
@@ -266,12 +266,15 @@
 Using this class makes it very easy to build Rust programs. All you need
 is to use the :term:`SRC_URI` variable to point to a source repository
 which can be built by Cargo, typically one that was created by the
-``cargo new`` command, containing a ``Cargo.toml`` file and a ``src``
+``cargo new`` command, containing a ``Cargo.toml`` file, a ``Cargo.lock`` file and a ``src``
 subdirectory.
 
-You will find a simple example in the
-:oe_git:`rust-hello-world_git.bb </openembedded-core/tree/meta/recipes-extended/rust-example/rust-hello-world_git.bb>`
-recipe. A more complex example, with package dependencies, is the
+If you want to build and package tests of the program, inherit the
+:ref:`ref-classes-ptest-cargo` class instead of :ref:`ref-classes-cargo`.
+
+You will find an example (that show also how to handle possible git source dependencies) in the
+:oe_git:`zvariant_3.12.0.bb </openembedded-core/tree/meta-selftest/recipes-extended/zvariant/zvariant_3.12.0.bb>`
+recipe. Another example, with only crate dependencies, is the
 :oe_git:`uutils-coreutils </meta-openembedded/tree/meta-oe/recipes-core/uutils-coreutils>`
 recipe, which was generated by the `cargo-bitbake <https://crates.io/crates/cargo-bitbake>`__
 tool.
@@ -290,8 +293,6 @@
 library, which is built by Cargo but cannot use the :ref:`ref-classes-cargo`
 class. This is why this class was introduced.
 
-.. _ref-classes-ccache:
-
 .. _ref-classes-cargo-update-recipe-crates:
 
 ``cargo-update-recipe-crates``
@@ -316,6 +317,8 @@
 That's also something you can achieve by using the
 `cargo-bitbake <https://crates.io/crates/cargo-bitbake>`__ tool.
 
+.. _ref-classes-ccache:
+
 ``ccache``
 ==========
 
@@ -2517,6 +2520,17 @@
 section in the Yocto Project Development Tasks Manual for more information
 on ptest.
 
+.. _ref-classes-ptest-cargo:
+
+``ptest-cargo``
+===============
+
+The :ref:`ref-classes-ptest-cargo` class is a class which extends the
+:ref:`ref-classes-cargo` class and adds ``compile_ptest_cargo`` and
+``install_ptest_cargo`` steps to respectively build and install
+test suites defined in the ``Cargo.toml`` file, into a dedicated
+``-ptest`` package.
+
 .. _ref-classes-ptest-gnome:
 
 ``ptest-gnome``
diff --git a/poky/documentation/ref-manual/resources.rst b/poky/documentation/ref-manual/resources.rst
index d2344e3..8c3726e 100644
--- a/poky/documentation/ref-manual/resources.rst
+++ b/poky/documentation/ref-manual/resources.rst
@@ -23,8 +23,7 @@
 to the project either by creating and sending pull requests, or by
 submitting patches through email. For information on how to do both as
 well as information on how to identify the maintainer for each area of
-code, see the ":ref:`dev-manual/changes:submitting a change to the yocto project`" section in the
-Yocto Project Development Tasks Manual.
+code, see the :doc:`../contributor-guide/index`.
 
 .. _resources-bugtracker:
 
@@ -46,8 +45,8 @@
 For a general procedure and guidelines on how to use Bugzilla to submit a bug
 against the Yocto Project, see the following:
 
--  The ":ref:`dev-manual/changes:submitting a defect against the yocto project`"
-   section in the Yocto Project Development Tasks Manual.
+-  The ":doc:`../contributor-guide/report-defect`"
+   section in the Yocto Project and OpenEmbedded Contributor Guide.
 
 -  The Yocto Project :yocto_wiki:`Bugzilla wiki page </Bugzilla_Configuration_and_Bug_Tracking>`
 
diff --git a/poky/documentation/ref-manual/system-requirements.rst b/poky/documentation/ref-manual/system-requirements.rst
index d6e8b45..e1ff51c8 100644
--- a/poky/documentation/ref-manual/system-requirements.rst
+++ b/poky/documentation/ref-manual/system-requirements.rst
@@ -55,27 +55,47 @@
 Supported Linux Distributions
 =============================
 
-Currently, the Yocto Project is supported on the following distributions:
-
--  Ubuntu 18.04 (LTS)
+Currently, the &DISTRO; release ("&DISTRO_NAME;") of the Yocto Project is
+supported on the following distributions:
 
 -  Ubuntu 20.04 (LTS)
 
 -  Ubuntu 22.04 (LTS)
 
--  Fedora 36
-
 -  Fedora 37
 
--  AlmaLinux 8.7
+-  Fedora 38
 
--  AlmaLinux 9.1
+-  CentOS Stream 8
 
--  Debian GNU/Linux 11.x (Bullseye)
+-  Debian GNU/Linux 11 (Bullseye)
+
+-  Debian GNU/Linux 12 (Bookworm)
+
+-  OpenSUSE Leap 15.4
+
+-  AlmaLinux 8.8
+
+-  AlmaLinux 9.2
+
+The following distribution versions are still tested (being listed
+in :term:`SANITY_TESTED_DISTROS`), even though the organizations
+publishing them no longer make updates publicly available:
+
+-  Ubuntu 18.04 (LTS)
+
+-  Ubuntu 22.10
 
 -  OpenSUSE Leap 15.3
 
--  OpenSUSE Leap 15.4
+Note that the Yocto Project doesn't have access to private updates
+that some of these versions may have. Therefore, our testing has
+limited value if you have access to such updates.
+
+Finally, here are the distribution versions which were previously
+tested on former revisions of "&DISTRO_NAME;", but no longer are:
+
+*This list is currently empty*
 
 .. note::
 
@@ -114,9 +134,8 @@
       interested in hearing about your experience. For information on
       how to submit a bug, see the Yocto Project
       :yocto_wiki:`Bugzilla wiki page </Bugzilla_Configuration_and_Bug_Tracking>`
-      and the ":ref:`dev-manual/changes:submitting a defect against the yocto project`"
-      section in the Yocto Project Development Tasks Manual.
-
+      and the ":doc:`../contributor-guide/report-defect`"
+      section in the Yocto Project and OpenEmbedded Contributor Guide.
 
 Required Packages for the Build Host
 ====================================
diff --git a/poky/documentation/ref-manual/variables.rst b/poky/documentation/ref-manual/variables.rst
index 44e2dd0..7a71abc 100644
--- a/poky/documentation/ref-manual/variables.rst
+++ b/poky/documentation/ref-manual/variables.rst
@@ -192,10 +192,6 @@
 
          ASSUME_SHLIBS = "libEGL.so.1:libegl-implementation"
 
-   :term:`AUTHOR`
-      The email address used to contact the original author or authors in
-      order to send patches and forward bugs.
-
    :term:`AUTO_LIBNAME_PKGS`
       When the :ref:`ref-classes-debian` class is inherited,
       which is the default behavior, :term:`AUTO_LIBNAME_PKGS` specifies which
diff --git a/poky/meta-poky/README.poky.md b/poky/meta-poky/README.poky.md
index a99c75e..7dd5e6d 100644
--- a/poky/meta-poky/README.poky.md
+++ b/poky/meta-poky/README.poky.md
@@ -34,19 +34,8 @@
 Contribution Guidelines
 -----------------------
 
-The project works using a mailing list patch submission process. Patches
-should be sent to the mailing list for the repository the components
-originate from (see below). Throughout the Yocto Project, the README
-files in the component in question should detail where to send patches,
-who the maintainers are and where bugs should be reported.
-
-A guide to submitting patches to OpenEmbedded is available at:
-
-<https://www.openembedded.org/wiki/How_to_submit_a_patch_to_OpenEmbedded>
-
-There is good documentation on how to write/format patches at:
-
-<https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines>
+Please refer to our contributor guide here: https://docs.yoctoproject.org/dev/contributor-guide/
+for full details on how to submit changes.
 
 Where to Send Patches
 ---------------------
diff --git a/poky/meta-poky/conf/distro/poky-tiny.conf b/poky/meta-poky/conf/distro/poky-tiny.conf
index 728d161..7b04b35 100644
--- a/poky/meta-poky/conf/distro/poky-tiny.conf
+++ b/poky/meta-poky/conf/distro/poky-tiny.conf
@@ -44,7 +44,7 @@
 # Distro config is evaluated after the machine config, so we have to explicitly
 # set the kernel provider to override a machine config.
 PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-tiny"
-PREFERRED_VERSION_linux-yocto-tiny ?= "6.1%"
+PREFERRED_VERSION_linux-yocto-tiny ?= "6.4%"
 
 # We can use packagegroup-core-boot, but in the future we may need a new packagegroup-core-tiny
 #POKY_DEFAULT_EXTRA_RDEPENDS += "packagegroup-core-boot"
diff --git a/poky/meta-poky/conf/distro/poky.conf b/poky/meta-poky/conf/distro/poky.conf
index 8dfd581..3bc7bff 100644
--- a/poky/meta-poky/conf/distro/poky.conf
+++ b/poky/meta-poky/conf/distro/poky.conf
@@ -1,7 +1,7 @@
 DISTRO = "poky"
 DISTRO_NAME = "Poky (Yocto Project Reference Distro)"
-DISTRO_VERSION = "4.2"
-DISTRO_CODENAME = "mickledore"
+DISTRO_VERSION = "4.2+snapshot-${METADATA_REVISION}"
+DISTRO_CODENAME = "nanbield"
 SDK_VENDOR = "-pokysdk"
 SDK_VERSION = "${@d.getVar('DISTRO_VERSION').replace('snapshot-${METADATA_REVISION}', 'snapshot')}"
 SDK_VERSION[vardepvalue] = "${SDK_VERSION}"
@@ -19,8 +19,8 @@
 
 DISTRO_FEATURES ?= "${DISTRO_FEATURES_DEFAULT} ${POKY_DEFAULT_DISTRO_FEATURES}"
 
-PREFERRED_VERSION_linux-yocto ?= "6.1%"
-PREFERRED_VERSION_linux-yocto-rt ?= "6.1%"
+PREFERRED_VERSION_linux-yocto ?= "6.4%"
+PREFERRED_VERSION_linux-yocto-rt ?= "6.4%"
 
 SDK_NAME = "${DISTRO}-${TCLIBC}-${SDKMACHINE}-${IMAGE_BASENAME}-${TUNE_PKGARCH}-${MACHINE}"
 SDKPATHINSTALL = "/opt/${DISTRO}/${SDK_VERSION}"
diff --git a/poky/meta-poky/conf/layer.conf b/poky/meta-poky/conf/layer.conf
index 798269a..5e1c37a 100644
--- a/poky/meta-poky/conf/layer.conf
+++ b/poky/meta-poky/conf/layer.conf
@@ -9,7 +9,7 @@
 BBFILE_PATTERN_yocto = "^${LAYERDIR}/"
 BBFILE_PRIORITY_yocto = "5"
 
-LAYERSERIES_COMPAT_yocto = "mickledore"
+LAYERSERIES_COMPAT_yocto = "nanbield"
 
 # This should only be incremented on significant changes that will
 # cause compatibility issues with other layers
diff --git a/poky/meta-selftest/conf/layer.conf b/poky/meta-selftest/conf/layer.conf
index 2eeea04..cc65b46 100644
--- a/poky/meta-selftest/conf/layer.conf
+++ b/poky/meta-selftest/conf/layer.conf
@@ -11,4 +11,4 @@
 
 addpylib ${LAYERDIR}/lib oeqa
 
-LAYERSERIES_COMPAT_selftest = "mickledore"
+LAYERSERIES_COMPAT_selftest = "nanbield"
diff --git a/poky/meta-selftest/recipes-devtools/rust/rust-c-lib-example-bin_git.bb b/poky/meta-selftest/recipes-devtools/rust/rust-c-lib-example-bin_git.bb
new file mode 100644
index 0000000..47d8785
--- /dev/null
+++ b/poky/meta-selftest/recipes-devtools/rust/rust-c-lib-example-bin_git.bb
@@ -0,0 +1,16 @@
+DESCRIPTION = "A simple example for C wrapper around a rust library"
+HOMEPAGE = "https://gitlab.com/fmartinsonsHome/rust-c-lib-example"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=cb9c441273ed8a029701a086befbfc63"
+
+SRC_URI = " \
+	git://gitlab.com/fmartinsonsHome/rust-c-lib-example.git;branch=main;protocol=https \
+"
+
+SRCREV = "fc53c457f69aa5221ec1f8619a007e8150db5e60"
+S = "${WORKDIR}/git"
+
+DEPENDS = "rust-c-lib-example"
+
+inherit meson pkgconfig
+
diff --git a/poky/meta-selftest/recipes-devtools/rust/rust-c-lib-example-crates.inc b/poky/meta-selftest/recipes-devtools/rust/rust-c-lib-example-crates.inc
new file mode 100644
index 0000000..05f5949
--- /dev/null
+++ b/poky/meta-selftest/recipes-devtools/rust/rust-c-lib-example-crates.inc
@@ -0,0 +1,79 @@
+SRC_URI += " \
+    crate://crates.io/android-tzdata/0.1.1 \
+    crate://crates.io/android_system_properties/0.1.5 \
+    crate://crates.io/autocfg/1.1.0 \
+    crate://crates.io/bumpalo/3.13.0 \
+    crate://crates.io/cc/1.0.82 \
+    crate://crates.io/cfg-if/1.0.0 \
+    crate://crates.io/chrono/0.4.26 \
+    crate://crates.io/core-foundation-sys/0.8.4 \
+    crate://crates.io/iana-time-zone/0.1.57 \
+    crate://crates.io/iana-time-zone-haiku/0.1.2 \
+    crate://crates.io/js-sys/0.3.64 \
+    crate://crates.io/libc/0.2.147 \
+    crate://crates.io/log/0.4.19 \
+    crate://crates.io/num-traits/0.2.16 \
+    crate://crates.io/once_cell/1.18.0 \
+    crate://crates.io/proc-macro2/1.0.66 \
+    crate://crates.io/quote/1.0.32 \
+    crate://crates.io/syn/2.0.28 \
+    crate://crates.io/time/0.1.45 \
+    crate://crates.io/unicode-ident/1.0.11 \
+    crate://crates.io/wasi/0.10.0+wasi-snapshot-preview1 \
+    crate://crates.io/wasm-bindgen/0.2.87 \
+    crate://crates.io/wasm-bindgen-backend/0.2.87 \
+    crate://crates.io/wasm-bindgen-macro/0.2.87 \
+    crate://crates.io/wasm-bindgen-macro-support/0.2.87 \
+    crate://crates.io/wasm-bindgen-shared/0.2.87 \
+    crate://crates.io/winapi/0.3.9 \
+    crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \
+    crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \
+    crate://crates.io/windows/0.48.0 \
+    crate://crates.io/windows-targets/0.48.1 \
+    crate://crates.io/windows_aarch64_gnullvm/0.48.0 \
+    crate://crates.io/windows_aarch64_msvc/0.48.0 \
+    crate://crates.io/windows_i686_gnu/0.48.0 \
+    crate://crates.io/windows_i686_msvc/0.48.0 \
+    crate://crates.io/windows_x86_64_gnu/0.48.0 \
+    crate://crates.io/windows_x86_64_gnullvm/0.48.0 \
+    crate://crates.io/windows_x86_64_msvc/0.48.0 \
+"
+
+SRC_URI[android-tzdata-0.1.1.sha256sum] = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
+SRC_URI[android_system_properties-0.1.5.sha256sum] = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
+SRC_URI[autocfg-1.1.0.sha256sum] = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+SRC_URI[bumpalo-3.13.0.sha256sum] = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1"
+SRC_URI[cc-1.0.82.sha256sum] = "305fe645edc1442a0fa8b6726ba61d422798d37a52e12eaecf4b022ebbb88f01"
+SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+SRC_URI[chrono-0.4.26.sha256sum] = "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5"
+SRC_URI[core-foundation-sys-0.8.4.sha256sum] = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
+SRC_URI[iana-time-zone-0.1.57.sha256sum] = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613"
+SRC_URI[iana-time-zone-haiku-0.1.2.sha256sum] = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
+SRC_URI[js-sys-0.3.64.sha256sum] = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a"
+SRC_URI[libc-0.2.147.sha256sum] = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
+SRC_URI[log-0.4.19.sha256sum] = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4"
+SRC_URI[num-traits-0.2.16.sha256sum] = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2"
+SRC_URI[once_cell-1.18.0.sha256sum] = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
+SRC_URI[proc-macro2-1.0.66.sha256sum] = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9"
+SRC_URI[quote-1.0.32.sha256sum] = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965"
+SRC_URI[syn-2.0.28.sha256sum] = "04361975b3f5e348b2189d8dc55bc942f278b2d482a6a0365de5bdd62d351567"
+SRC_URI[time-0.1.45.sha256sum] = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a"
+SRC_URI[unicode-ident-1.0.11.sha256sum] = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c"
+SRC_URI[wasi-0.10.0+wasi-snapshot-preview1.sha256sum] = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
+SRC_URI[wasm-bindgen-0.2.87.sha256sum] = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342"
+SRC_URI[wasm-bindgen-backend-0.2.87.sha256sum] = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd"
+SRC_URI[wasm-bindgen-macro-0.2.87.sha256sum] = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d"
+SRC_URI[wasm-bindgen-macro-support-0.2.87.sha256sum] = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
+SRC_URI[wasm-bindgen-shared-0.2.87.sha256sum] = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
+SRC_URI[winapi-0.3.9.sha256sum] = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+SRC_URI[winapi-i686-pc-windows-gnu-0.4.0.sha256sum] = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+SRC_URI[winapi-x86_64-pc-windows-gnu-0.4.0.sha256sum] = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+SRC_URI[windows-0.48.0.sha256sum] = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
+SRC_URI[windows-targets-0.48.1.sha256sum] = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f"
+SRC_URI[windows_aarch64_gnullvm-0.48.0.sha256sum] = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
+SRC_URI[windows_aarch64_msvc-0.48.0.sha256sum] = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
+SRC_URI[windows_i686_gnu-0.48.0.sha256sum] = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
+SRC_URI[windows_i686_msvc-0.48.0.sha256sum] = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
+SRC_URI[windows_x86_64_gnu-0.48.0.sha256sum] = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
+SRC_URI[windows_x86_64_gnullvm-0.48.0.sha256sum] = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
+SRC_URI[windows_x86_64_msvc-0.48.0.sha256sum] = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
diff --git a/poky/meta-selftest/recipes-devtools/rust/rust-c-lib-example_git.bb b/poky/meta-selftest/recipes-devtools/rust/rust-c-lib-example_git.bb
new file mode 100644
index 0000000..6e7c250
--- /dev/null
+++ b/poky/meta-selftest/recipes-devtools/rust/rust-c-lib-example_git.bb
@@ -0,0 +1,15 @@
+DESCRIPTION = "A simple example for rust C library"
+HOMEPAGE = "https://gitlab.com/fmartinsonsHome/rust-c-lib-example"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=cb9c441273ed8a029701a086befbfc63"
+
+SRC_URI = " \
+	git://gitlab.com/fmartinsonsHome/rust-c-lib-example.git;branch=main;protocol=https \
+"
+
+SRCREV = "fc53c457f69aa5221ec1f8619a007e8150db5e60"
+S = "${WORKDIR}/git"
+
+inherit cargo_c
+
+require ${BPN}-crates.inc
diff --git a/poky/meta-selftest/recipes-test/devtool/devtool-upgrade-test2_git.bb b/poky/meta-selftest/recipes-test/devtool/devtool-upgrade-test2_git.bb
index 203f4b6..2558a22 100644
--- a/poky/meta-selftest/recipes-test/devtool/devtool-upgrade-test2_git.bb
+++ b/poky/meta-selftest/recipes-test/devtool/devtool-upgrade-test2_git.bb
@@ -8,7 +8,7 @@
 
 # Note: this is intentionally not the latest version in the original .bb
 SRCREV = "1a3e1343761b30750bed70e0fd688f6d3c7b3717"
-PV = "0.1+git${SRCPV}"
+PV = "0.1+git"
 PR = "r2"
 
 SRC_URI = "git://git.yoctoproject.org/dbus-wait;branch=master"
diff --git a/poky/meta-selftest/recipes-test/devtool/devtool-upgrade-test2_git.bb.upgraded b/poky/meta-selftest/recipes-test/devtool/devtool-upgrade-test2_git.bb.upgraded
index 3d45fc4..eaa8bd8 100644
--- a/poky/meta-selftest/recipes-test/devtool/devtool-upgrade-test2_git.bb.upgraded
+++ b/poky/meta-selftest/recipes-test/devtool/devtool-upgrade-test2_git.bb.upgraded
@@ -8,7 +8,7 @@
 
 # Note: this is intentionally not the latest version in the original .bb
 SRCREV = "6cc6077a36fe2648a5f993fe7c16c9632f946517"
-PV = "0.1+git${SRCPV}"
+PV = "0.1+git"
 
 SRC_URI = "git://git.yoctoproject.org/dbus-wait;branch=master"
 UPSTREAM_CHECK_COMMITS = "1"
diff --git a/poky/meta-selftest/recipes-test/gitunpackoffline/gitunpackoffline-fail.bb b/poky/meta-selftest/recipes-test/gitunpackoffline/gitunpackoffline-fail.bb
index 602e895..5146129 100644
--- a/poky/meta-selftest/recipes-test/gitunpackoffline/gitunpackoffline-fail.bb
+++ b/poky/meta-selftest/recipes-test/gitunpackoffline/gitunpackoffline-fail.bb
@@ -1,16 +1,4 @@
-SUMMARY = "Test recipe for fetching git submodules"
-HOMEPAGE = "https://git.yoctoproject.org/git/matchbox-panel-2"
-LICENSE = "GPL-2.0-or-later"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+require gitunpackoffline.inc
 
-INHIBIT_DEFAULT_DEPS = "1"
-
-TAGVALUE = "2.10"
-
-# Deliberately have a tag which has to be resolved but ensure do_unpack doesn't access the network again.
-SRC_URI = "git://git.yoctoproject.org/git/matchbox-panel-2;branch=master;protocol=https"
-SRC_URI:append:gitunpack-enable-recipe = ";tag=${TAGVALUE}"
-SRCREV = "f82ca3f42510fb3ef10f598b393eb373a2c34ca7"
-SRCREV:gitunpack-enable-recipe = ""
-
-S = "${WORKDIR}/git"
+# Clear the base.bbclass magic srcrev call
+fetcher_hashes_dummyfunc[vardepvalue] = ""
diff --git a/poky/meta-selftest/recipes-test/gitunpackoffline/gitunpackoffline.bb b/poky/meta-selftest/recipes-test/gitunpackoffline/gitunpackoffline.bb
index 597c89b..d9a5469 100644
--- a/poky/meta-selftest/recipes-test/gitunpackoffline/gitunpackoffline.bb
+++ b/poky/meta-selftest/recipes-test/gitunpackoffline/gitunpackoffline.bb
@@ -1,5 +1,5 @@
-require gitunpackoffline-fail.bb
+require gitunpackoffline.inc
 
 TAGVALUE = "2.11"
 
-PV = "0.0+git${SRCPV}"
+PV = "0.0+git"
diff --git a/poky/meta-selftest/recipes-test/gitunpackoffline/gitunpackoffline.inc b/poky/meta-selftest/recipes-test/gitunpackoffline/gitunpackoffline.inc
new file mode 100644
index 0000000..602e895
--- /dev/null
+++ b/poky/meta-selftest/recipes-test/gitunpackoffline/gitunpackoffline.inc
@@ -0,0 +1,16 @@
+SUMMARY = "Test recipe for fetching git submodules"
+HOMEPAGE = "https://git.yoctoproject.org/git/matchbox-panel-2"
+LICENSE = "GPL-2.0-or-later"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+INHIBIT_DEFAULT_DEPS = "1"
+
+TAGVALUE = "2.10"
+
+# Deliberately have a tag which has to be resolved but ensure do_unpack doesn't access the network again.
+SRC_URI = "git://git.yoctoproject.org/git/matchbox-panel-2;branch=master;protocol=https"
+SRC_URI:append:gitunpack-enable-recipe = ";tag=${TAGVALUE}"
+SRCREV = "f82ca3f42510fb3ef10f598b393eb373a2c34ca7"
+SRCREV:gitunpack-enable-recipe = ""
+
+S = "${WORKDIR}/git"
diff --git a/poky/meta-skeleton/conf/layer.conf b/poky/meta-skeleton/conf/layer.conf
index 564ae26..b180e61 100644
--- a/poky/meta-skeleton/conf/layer.conf
+++ b/poky/meta-skeleton/conf/layer.conf
@@ -14,4 +14,4 @@
 
 LAYERDEPENDS_skeleton = "core"
 
-LAYERSERIES_COMPAT_skeleton = "mickledore"
+LAYERSERIES_COMPAT_skeleton = "nanbield"
diff --git a/poky/meta-skeleton/recipes-kernel/linux/linux-yocto-custom.bb b/poky/meta-skeleton/recipes-kernel/linux/linux-yocto-custom.bb
index 6062f84..9437240 100644
--- a/poky/meta-skeleton/recipes-kernel/linux/linux-yocto-custom.bb
+++ b/poky/meta-skeleton/recipes-kernel/linux/linux-yocto-custom.bb
@@ -64,7 +64,7 @@
 # tag: v4.2 64291f7db5bd8150a74ad2036f1037e6a0428df2
 SRCREV_machine="64291f7db5bd8150a74ad2036f1037e6a0428df2"
 
-PV = "${LINUX_VERSION}+git${SRCPV}"
+PV = "${LINUX_VERSION}+git"
 
 # Override COMPATIBLE_MACHINE to include your machine in a copy of this recipe
 # file. Leaving it empty here ensures an early explicit build failure.
diff --git a/poky/meta-yocto-bsp/README.hardware.md b/poky/meta-yocto-bsp/README.hardware.md
index 8ea0ef1..a8f38cb 100644
--- a/poky/meta-yocto-bsp/README.hardware.md
+++ b/poky/meta-yocto-bsp/README.hardware.md
@@ -33,10 +33,19 @@
 For more information see the board's section below. The appropriate MACHINE
 variable value corresponding to the board is given in brackets.
 
-Reference Board Maintenance
-===========================
+Reference Board Maintenance and Contributions
+=============================================
 
-Send pull requests, patches, comments or questions about meta-yocto-bsps to poky@lists.yoctoproject.org
+Please refer to our contributor guide here: https://docs.yoctoproject.org/dev/contributor-guide/
+for full details on how to submit changes.
+
+As a quick guide, patches should be sent to poky@lists.yoctoproject.org
+The git command to do that would be:
+ 
+     git send-email -M -1 --to poky@lists.yoctoproject.org
+
+Send pull requests, patches, comments or questions about meta-yocto-bsp to 
+poky@lists.yoctoproject.org
 
 Maintainers: Kevin Hao <kexin.hao@windriver.com>
              Bruce Ashfield <bruce.ashfield@gmail.com>
diff --git a/poky/meta-yocto-bsp/conf/layer.conf b/poky/meta-yocto-bsp/conf/layer.conf
index a4c9f09..ca3f15c 100644
--- a/poky/meta-yocto-bsp/conf/layer.conf
+++ b/poky/meta-yocto-bsp/conf/layer.conf
@@ -9,4 +9,4 @@
 BBFILE_PATTERN_yoctobsp = "^${LAYERDIR}/"
 BBFILE_PRIORITY_yoctobsp = "5"
 LAYERVERSION_yoctobsp = "4"
-LAYERSERIES_COMPAT_yoctobsp = "mickledore"
+LAYERSERIES_COMPAT_yoctobsp = "nanbield"
diff --git a/poky/meta/classes-global/base.bbclass b/poky/meta/classes-global/base.bbclass
index cbda8d1..7c774d2 100644
--- a/poky/meta/classes-global/base.bbclass
+++ b/poky/meta/classes-global/base.bbclass
@@ -126,11 +126,18 @@
     if notfound and fatal:
         bb.fatal("The following required tools (as specified by HOSTTOOLS) appear to be unavailable in PATH, please install them in order to proceed:\n  %s" % " ".join(notfound))
 
+# We can't use vardepvalue against do_fetch directly since that would overwrite
+# the other task dependencies so we use an indirect function.
+python fetcher_hashes_dummyfunc() {
+    return
+}
+fetcher_hashes_dummyfunc[vardepvalue] = "${@bb.fetch.get_hashvalue(d)}"
+
 addtask fetch
 do_fetch[dirs] = "${DL_DIR}"
 do_fetch[file-checksums] = "${@bb.fetch.get_checksum_file_list(d)}"
 do_fetch[file-checksums] += " ${@get_lic_checksum_file_list(d)}"
-do_fetch[vardeps] += "SRCREV"
+do_fetch[prefuncs] += "fetcher_hashes_dummyfunc"
 do_fetch[network] = "1"
 python base_do_fetch() {
 
@@ -606,7 +613,6 @@
                     bb.debug(1, "Skipping recipe %s because of incompatible license(s): %s" % (pn, ' '.join(incompatible_lic)))
                     raise bb.parse.SkipRecipe("it has incompatible license(s): %s" % ' '.join(incompatible_lic))
 
-    needsrcrev = False
     srcuri = d.getVar('SRC_URI')
     for uri_string in srcuri.split():
         uri = bb.fetch.URI(uri_string)
@@ -619,24 +625,17 @@
 
         # Svn packages should DEPEND on subversion-native
         if uri.scheme == "svn":
-            needsrcrev = True
             d.appendVarFlag('do_fetch', 'depends', ' subversion-native:do_populate_sysroot')
 
         # Git packages should DEPEND on git-native
         elif uri.scheme in ("git", "gitsm"):
-            needsrcrev = True
             d.appendVarFlag('do_fetch', 'depends', ' git-native:do_populate_sysroot')
 
         # Mercurial packages should DEPEND on mercurial-native
         elif uri.scheme == "hg":
-            needsrcrev = True
             d.appendVar("EXTRANATIVEPATH", ' python3-native ')
             d.appendVarFlag('do_fetch', 'depends', ' mercurial-native:do_populate_sysroot')
 
-        # Perforce packages support SRCREV = "${AUTOREV}"
-        elif uri.scheme == "p4":
-            needsrcrev = True
-
         # OSC packages should DEPEND on osc-native
         elif uri.scheme == "osc":
             d.appendVarFlag('do_fetch', 'depends', ' osc-native:do_populate_sysroot')
@@ -645,7 +644,6 @@
             d.appendVarFlag('do_fetch', 'depends', ' nodejs-native:do_populate_sysroot')
 
         elif uri.scheme == "repo":
-            needsrcrev = True
             d.appendVarFlag('do_fetch', 'depends', ' repo-native:do_populate_sysroot')
 
         # *.lz4 should DEPEND on lz4-native for unpacking
@@ -676,21 +674,6 @@
         elif path.endswith('.deb'):
             d.appendVarFlag('do_unpack', 'depends', ' xz-native:do_populate_sysroot')
 
-    if needsrcrev:
-        d.setVar("SRCPV", "${@bb.fetch2.get_srcrev(d)}")
-
-        # Gather all named SRCREVs to add to the sstate hash calculation
-        # This anonymous python snippet is called multiple times so we
-        # need to be careful to not double up the appends here and cause
-        # the base hash to mismatch the task hash
-        for uri in srcuri.split():
-            parm = bb.fetch.decodeurl(uri)[5]
-            uri_names = parm.get("name", "").split(",")
-            for uri_name in filter(None, uri_names):
-                srcrev_name = "SRCREV_{}".format(uri_name)
-                if srcrev_name not in (d.getVarFlag("do_fetch", "vardeps") or "").split():
-                    d.appendVarFlag("do_fetch", "vardeps", " {}".format(srcrev_name))
-
     set_packagetriplet(d)
 
     # 'multimachine' handling
diff --git a/poky/meta/classes-global/insane.bbclass b/poky/meta/classes-global/insane.bbclass
index 960dfc8..2e53778 100644
--- a/poky/meta/classes-global/insane.bbclass
+++ b/poky/meta/classes-global/insane.bbclass
@@ -1342,7 +1342,6 @@
     import re
     from oe import patch
 
-    coremeta_path = os.path.join(d.getVar('COREBASE'), 'meta', '')
     for url in patch.src_patches(d):
         (_, _, fullpath, _, _, _) = bb.fetch.decodeurl(url)
 
diff --git a/poky/meta/classes-global/package.bbclass b/poky/meta/classes-global/package.bbclass
index e8055a9..0338a5c 100644
--- a/poky/meta/classes-global/package.bbclass
+++ b/poky/meta/classes-global/package.bbclass
@@ -315,13 +315,21 @@
 # Package functions suitable for inclusion in PACKAGEFUNCS
 #
 
-python package_convert_pr_autoinc() {
+python package_setup_pkgv() {
     pkgv = d.getVar("PKGV")
+    # Expand SRCPV into PKGV if not present
+    srcpv = bb.fetch.get_pkgv_string(d)
+    if srcpv and "+" in pkgv:
+        d.appendVar("PKGV", srcpv)
+        pkgv = d.getVar("PKGV")
 
     # Adjust pkgv as necessary...
     if 'AUTOINC' in pkgv:
         d.setVar("PKGV", pkgv.replace("AUTOINC", "${PRSERV_PV_AUTOINC}"))
+}
 
+
+python package_convert_pr_autoinc() {
     # Change PRSERV_PV_AUTOINC and EXTENDPRAUTO usage to special values
     d.setVar('PRSERV_PV_AUTOINC', '@PRSERV_PV_AUTOINC@')
     d.setVar('EXTENDPRAUTO', '@EXTENDPRAUTO@')
@@ -494,6 +502,7 @@
         oe.qa.handle_error("var-undefined", msg, d)
         return
 
+    bb.build.exec_func("package_setup_pkgv", d)
     bb.build.exec_func("package_convert_pr_autoinc", d)
 
     # Check for conflict between renamed packages and existing ones
@@ -577,6 +586,7 @@
 # Copy from PKGDESTWORK to tempdirectory as tempdirectory can be cleaned at both
 # do_package_setscene and do_packagedata_setscene leading to races
 python do_packagedata () {
+    bb.build.exec_func("package_setup_pkgv", d)
     bb.build.exec_func("package_get_auto_pr", d)
 
     src = d.expand("${PKGDESTWORK}")
diff --git a/poky/meta/classes-global/sanity.bbclass b/poky/meta/classes-global/sanity.bbclass
index abb52fb..9b82491 100644
--- a/poky/meta/classes-global/sanity.bbclass
+++ b/poky/meta/classes-global/sanity.bbclass
@@ -871,7 +871,8 @@
     mirror_vars = ['MIRRORS', 'PREMIRRORS', 'SSTATE_MIRRORS']
     protocols = ['http', 'ftp', 'file', 'https', \
                  'git', 'gitsm', 'hg', 'osc', 'p4', 'svn', \
-                 'bzr', 'cvs', 'npm', 'sftp', 'ssh', 's3', 'az', 'ftps', 'crate']
+                 'bzr', 'cvs', 'npm', 'sftp', 'ssh', 's3', \
+                 'az', 'ftps', 'crate', 'gs']
     for mirror_var in mirror_vars:
         mirrors = (d.getVar(mirror_var) or '').replace('\\n', ' ').split()
 
diff --git a/poky/meta/classes-global/sstate.bbclass b/poky/meta/classes-global/sstate.bbclass
index 95373fd..c501984 100644
--- a/poky/meta/classes-global/sstate.bbclass
+++ b/poky/meta/classes-global/sstate.bbclass
@@ -769,7 +769,6 @@
     localdata.setVar('FILESPATH', dldir)
     localdata.setVar('DL_DIR', dldir)
     localdata.setVar('PREMIRRORS', mirrors)
-    localdata.setVar('SRCPV', d.getVar('SRCPV'))
 
     # if BB_NO_NETWORK is set but we also have SSTATE_MIRROR_ALLOW_NETWORK,
     # we'll want to allow network access for the current set of fetches.
@@ -795,9 +794,6 @@
         except bb.fetch2.BBFetchException:
             pass
 
-pstaging_fetch[vardepsexclude] += "SRCPV"
-
-
 def sstate_setscene(d):
     shared_state = sstate_state_fromvars(d)
     accelerate = sstate_installpkg(shared_state, d)
diff --git a/poky/meta/classes-global/uninative.bbclass b/poky/meta/classes-global/uninative.bbclass
index 366f7ac..9630726 100644
--- a/poky/meta/classes-global/uninative.bbclass
+++ b/poky/meta/classes-global/uninative.bbclass
@@ -146,7 +146,7 @@
         d.appendVar("BUILD_LDFLAGS", " -Wl,--allow-shlib-undefined -Wl,--dynamic-linker=${UNINATIVE_LOADER}")
         d.appendVarFlag("BUILD_LDFLAGS", "vardepvalueexclude", "| -Wl,--allow-shlib-undefined -Wl,--dynamic-linker=${UNINATIVE_LOADER}")
         d.appendVarFlag("BUILD_LDFLAGS", "vardepsexclude", "UNINATIVE_LOADER")
-        d.prependVar("PATH", "${STAGING_DIR}-uninative/${BUILD_ARCH}-linux${bindir_native}:")
+        d.prependVar("PATH", "${UNINATIVE_STAGING_DIR}-uninative/${BUILD_ARCH}-linux${bindir_native}:")
 
 python uninative_changeinterp () {
     import subprocess
diff --git a/poky/meta/classes-recipe/bin_package.bbclass b/poky/meta/classes-recipe/bin_package.bbclass
index 3a1befc..9dd2489 100644
--- a/poky/meta/classes-recipe/bin_package.bbclass
+++ b/poky/meta/classes-recipe/bin_package.bbclass
@@ -20,6 +20,9 @@
 # they would be in ${WORKDIR}.
 #
 
+# Nothing is being built so there is no need for the cross-compiler.
+INHIBIT_DEFAULT_DEPS = "1"
+
 # Skip the unwanted steps
 do_configure[noexec] = "1"
 do_compile[noexec] = "1"
diff --git a/poky/meta/classes-recipe/cargo_c.bbclass b/poky/meta/classes-recipe/cargo_c.bbclass
new file mode 100644
index 0000000..ef43163
--- /dev/null
+++ b/poky/meta/classes-recipe/cargo_c.bbclass
@@ -0,0 +1,41 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+##
+## Purpose:
+## This class is used by any recipes that want to compile a C ABI compatible
+## library with header and pkg config file
+
+inherit cargo pkgconfig
+
+# the binaries we will use
+CARGO_C_BUILD = "cargo-cbuild"
+CARGO_C_INSTALL = "cargo-cinstall"
+
+# We need cargo-c to compile for the target
+BASEDEPENDS:append = " cargo-c-native"
+
+do_compile[progress] = "outof:\s+(\d+)/(\d+)"
+cargo_c_do_compile() {
+    oe_cargo_fix_env
+    export RUSTFLAGS="${RUSTFLAGS}"
+    bbnote "Using rust targets from ${RUST_TARGET_PATH}"
+    bbnote "cargo-cbuild = $(which ${CARGO_C_BUILD})"
+    bbnote "${CARGO_C_BUILD} cbuild ${CARGO_BUILD_FLAGS}"
+    "${CARGO_C_BUILD}" cbuild ${CARGO_BUILD_FLAGS}
+}
+
+cargo_c_do_install() {
+    oe_cargo_fix_env
+    export RUSTFLAGS="${RUSTFLAGS}"
+    bbnote "cargo-cinstall = $(which ${CARGO_C_INSTALL})"
+    "${CARGO_C_INSTALL}" cinstall ${CARGO_BUILD_FLAGS} \
+        --destdir ${D} \
+        --prefix ${prefix} \
+        --library-type cdylib
+}
+
+EXPORT_FUNCTIONS do_compile do_install
diff --git a/poky/meta/classes-recipe/cmake.bbclass b/poky/meta/classes-recipe/cmake.bbclass
index 0dda104..41748b0 100644
--- a/poky/meta/classes-recipe/cmake.bbclass
+++ b/poky/meta/classes-recipe/cmake.bbclass
@@ -51,10 +51,10 @@
 OECMAKE_CXX_COMPILER_LAUNCHER ?= "${@oecmake_map_compiler('CXX', d)[1]}"
 
 # clear compiler vars for allarch to avoid sig hash difference
-OECMAKE_C_COMPILER_allarch = ""
-OECMAKE_C_COMPILER_LAUNCHER_allarch = ""
-OECMAKE_CXX_COMPILER_allarch = ""
-OECMAKE_CXX_COMPILER_LAUNCHER_allarch = ""
+OECMAKE_C_COMPILER:allarch = ""
+OECMAKE_C_COMPILER_LAUNCHER:allarch = ""
+OECMAKE_CXX_COMPILER:allarch = ""
+OECMAKE_CXX_COMPILER_LAUNCHER:allarch = ""
 
 OECMAKE_RPATH ?= ""
 OECMAKE_PERLNATIVE_DIR ??= ""
@@ -90,12 +90,14 @@
         return "ppc64"
     return host_arch
 
+
 cmake_do_generate_toolchain_file() {
 	if [ "${BUILD_SYS}" = "${HOST_SYS}" ]; then
 		cmake_crosscompiling="set( CMAKE_CROSSCOMPILING FALSE )"
-       else
-               cmake_sysroot="set( CMAKE_SYSROOT \"${RECIPE_SYSROOT}\" )"
+	else
+		cmake_sysroot="set( CMAKE_SYSROOT \"${RECIPE_SYSROOT}\" )"
 	fi
+
 	cat > ${WORKDIR}/toolchain.cmake <<EOF
 # CMake system name must be something like "Linux".
 # This is important for cross-compiling.
@@ -158,6 +160,29 @@
 
 do_configure[cleandirs] = "${@d.getVar('B') if d.getVar('S') != d.getVar('B') else ''}"
 
+OECMAKE_ARGS = "\
+    -DCMAKE_INSTALL_PREFIX:PATH=${prefix} \
+    -DCMAKE_INSTALL_BINDIR:PATH=${@os.path.relpath(d.getVar('bindir'), d.getVar('prefix') + '/')} \
+    -DCMAKE_INSTALL_SBINDIR:PATH=${@os.path.relpath(d.getVar('sbindir'), d.getVar('prefix') + '/')} \
+    -DCMAKE_INSTALL_LIBEXECDIR:PATH=${@os.path.relpath(d.getVar('libexecdir'), d.getVar('prefix') + '/')} \
+    -DCMAKE_INSTALL_SYSCONFDIR:PATH=${sysconfdir} \
+    -DCMAKE_INSTALL_SHAREDSTATEDIR:PATH=${@os.path.relpath(d.getVar('sharedstatedir'), d.  getVar('prefix') + '/')} \
+    -DCMAKE_INSTALL_LOCALSTATEDIR:PATH=${localstatedir} \
+    -DCMAKE_INSTALL_LIBDIR:PATH=${@os.path.relpath(d.getVar('libdir'), d.getVar('prefix') + '/')} \
+    -DCMAKE_INSTALL_INCLUDEDIR:PATH=${@os.path.relpath(d.getVar('includedir'), d.getVar('prefix') + '/')} \
+    -DCMAKE_INSTALL_DATAROOTDIR:PATH=${@os.path.relpath(d.getVar('datadir'), d.getVar('prefix') + '/')} \
+    -DPYTHON_EXECUTABLE:PATH=${PYTHON} \
+    -DPython_EXECUTABLE:PATH=${PYTHON} \
+    -DPython3_EXECUTABLE:PATH=${PYTHON} \
+    -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \
+    -DCMAKE_INSTALL_SO_NO_EXE=0 \
+    -DCMAKE_TOOLCHAIN_FILE:FILEPATH=${WORKDIR}/toolchain.cmake \
+    -DCMAKE_NO_SYSTEM_FROM_IMPORTED=1 \
+    -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON \
+    -DFETCHCONTENT_FULLY_DISCONNECTED=ON \
+    -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=ON \
+"
+
 cmake_do_configure() {
 	if [ "${OECMAKE_BUILDPATH}" ]; then
 		bbnote "cmake.bbclass no longer uses OECMAKE_BUILDPATH.  The default behaviour is now out-of-tree builds with B=WORKDIR/build."
@@ -178,25 +203,7 @@
 	  ${OECMAKE_GENERATOR_ARGS} \
 	  $oecmake_sitefile \
 	  ${OECMAKE_SOURCEPATH} \
-	  -DCMAKE_INSTALL_PREFIX:PATH=${prefix} \
-	  -DCMAKE_INSTALL_BINDIR:PATH=${@os.path.relpath(d.getVar('bindir'), d.getVar('prefix') + '/')} \
-	  -DCMAKE_INSTALL_SBINDIR:PATH=${@os.path.relpath(d.getVar('sbindir'), d.getVar('prefix') + '/')} \
-	  -DCMAKE_INSTALL_LIBEXECDIR:PATH=${@os.path.relpath(d.getVar('libexecdir'), d.getVar('prefix') + '/')} \
-	  -DCMAKE_INSTALL_SYSCONFDIR:PATH=${sysconfdir} \
-	  -DCMAKE_INSTALL_SHAREDSTATEDIR:PATH=${@os.path.relpath(d.getVar('sharedstatedir'), d.  getVar('prefix') + '/')} \
-	  -DCMAKE_INSTALL_LOCALSTATEDIR:PATH=${localstatedir} \
-	  -DCMAKE_INSTALL_LIBDIR:PATH=${@os.path.relpath(d.getVar('libdir'), d.getVar('prefix') + '/')} \
-	  -DCMAKE_INSTALL_INCLUDEDIR:PATH=${@os.path.relpath(d.getVar('includedir'), d.getVar('prefix') + '/')} \
-	  -DCMAKE_INSTALL_DATAROOTDIR:PATH=${@os.path.relpath(d.getVar('datadir'), d.getVar('prefix') + '/')} \
-	  -DPYTHON_EXECUTABLE:PATH=${PYTHON} \
-	  -DPython_EXECUTABLE:PATH=${PYTHON} \
-	  -DPython3_EXECUTABLE:PATH=${PYTHON} \
-	  -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \
-	  -DCMAKE_INSTALL_SO_NO_EXE=0 \
-	  -DCMAKE_TOOLCHAIN_FILE=${WORKDIR}/toolchain.cmake \
-	  -DCMAKE_NO_SYSTEM_FROM_IMPORTED=1 \
-	  -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON \
-	  -DFETCHCONTENT_FULLY_DISCONNECTED=ON \
+	  ${OECMAKE_ARGS} \
 	  ${EXTRA_OECMAKE} \
 	  -Wno-dev
 }
diff --git a/poky/meta/classes-recipe/cml1.bbclass b/poky/meta/classes-recipe/cml1.bbclass
index d83c636..c4e3c9f 100644
--- a/poky/meta/classes-recipe/cml1.bbclass
+++ b/poky/meta/classes-recipe/cml1.bbclass
@@ -58,7 +58,7 @@
     # ensure that environment variables are overwritten with this tasks 'd' values
     d.appendVar("OE_TERMINAL_EXPORTS", " PKG_CONFIG_DIR PKG_CONFIG_PATH PKG_CONFIG_LIBDIR PKG_CONFIG_SYSROOT_DIR")
 
-    oe_terminal("sh -c \"make %s; if [ \\$? -ne 0 ]; then echo 'Command failed.'; printf 'Press any key to continue... '; read r; fi\"" % d.getVar('KCONFIG_CONFIG_COMMAND'),
+    oe_terminal("sh -c 'make %s; if [ \\$? -ne 0 ]; then echo \"Command failed.\"; printf \"Press any key to continue... \"; read r; fi'" % d.getVar('KCONFIG_CONFIG_COMMAND'),
                 d.getVar('PN') + ' Configuration', d)
 
     # FIXME this check can be removed when the minimum bitbake version has been bumped
diff --git a/poky/meta/classes-recipe/devupstream.bbclass b/poky/meta/classes-recipe/devupstream.bbclass
index 1529cc8..d941763 100644
--- a/poky/meta/classes-recipe/devupstream.bbclass
+++ b/poky/meta/classes-recipe/devupstream.bbclass
@@ -46,7 +46,7 @@
     pv = d.getVar("PV")
     proto_marker = "+" + uri.scheme
     if proto_marker not in pv and not d.getVar("PV:class-devupstream"):
-        d.setVar("PV", pv + proto_marker + "${SRCPV}")
+        d.setVar("PV", pv + proto_marker)
 
     if variant == "native":
         pn = d.getVar("PN")
diff --git a/poky/meta/classes-recipe/gi-docgen.bbclass b/poky/meta/classes-recipe/gi-docgen.bbclass
index b4d7b17..b178d1c 100644
--- a/poky/meta/classes-recipe/gi-docgen.bbclass
+++ b/poky/meta/classes-recipe/gi-docgen.bbclass
@@ -8,9 +8,10 @@
 # seems to be a successor to gtk-doc:
 # https://gitlab.gnome.org/GNOME/gi-docgen
 
-# This variable is set to True if api-documentation and
-# gobject-introspection-data are in DISTRO_FEATURES, False otherwise.
-GIDOCGEN_ENABLED ?= "${@bb.utils.contains('DISTRO_FEATURES', 'api-documentation gobject-introspection-data', 'True', 'False', d)}"
+# True if api-documentation and gobject-introspection-data are in DISTRO_FEATURES,
+# and qemu-user is in MACHINE_FEATURES, False otherwise.
+GIDOCGEN_ENABLED ?= "${@bb.utils.contains('DISTRO_FEATURES', 'api-documentation gobject-introspection-data', \
+                      bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', 'True', 'False', d), 'False', d)}"
 
 # When building native recipes, disable gi-docgen, as it is not necessary,
 # pulls in additional dependencies, and makes build times longer
diff --git a/poky/meta/classes-recipe/goarch.bbclass b/poky/meta/classes-recipe/goarch.bbclass
index 61ead30..e3555e1 100644
--- a/poky/meta/classes-recipe/goarch.bbclass
+++ b/poky/meta/classes-recipe/goarch.bbclass
@@ -90,6 +90,8 @@
         return 'ppc64'
     elif a == 'riscv64':
         return 'riscv64'
+    elif a == 'loongarch64':
+        return 'loong64'
     else:
         raise bb.parse.SkipRecipe("Unsupported CPU architecture: %s" % a)
 
diff --git a/poky/meta/classes-recipe/image-combined-dbg.bbclass b/poky/meta/classes-recipe/image-combined-dbg.bbclass
index dcf1968..7293137 100644
--- a/poky/meta/classes-recipe/image-combined-dbg.bbclass
+++ b/poky/meta/classes-recipe/image-combined-dbg.bbclass
@@ -4,7 +4,7 @@
 # SPDX-License-Identifier: MIT
 #
 
-IMAGE_PREPROCESS_COMMAND:append = " combine_dbg_image; "
+IMAGE_PREPROCESS_COMMAND:append = " combine_dbg_image"
 
 combine_dbg_image () {
         if [ "${IMAGE_GEN_DEBUGFS}" = "1" -a -e ${IMAGE_ROOTFS}-dbg ]; then
diff --git a/poky/meta/classes-recipe/image.bbclass b/poky/meta/classes-recipe/image.bbclass
index 21b220a..4f00162 100644
--- a/poky/meta/classes-recipe/image.bbclass
+++ b/poky/meta/classes-recipe/image.bbclass
@@ -25,7 +25,7 @@
 
 TOOLCHAIN_TARGET_TASK += "${PACKAGE_INSTALL}"
 TOOLCHAIN_TARGET_TASK_ATTEMPTONLY += "${PACKAGE_INSTALL_ATTEMPTONLY}"
-POPULATE_SDK_POST_TARGET_COMMAND += "rootfs_sysroot_relativelinks; "
+POPULATE_SDK_POST_TARGET_COMMAND += "rootfs_sysroot_relativelinks"
 
 LICENSE ?= "MIT"
 PACKAGES = ""
@@ -120,8 +120,7 @@
 python () {
     variables = rootfs_command_variables(d)
     for var in variables:
-        if d.getVar(var, False):
-            d.setVarFlag(var, 'func', '1')
+        d.setVarFlag(var, 'vardeps', d.getVar(var))
 }
 
 def rootfs_variables(d):
@@ -657,8 +656,8 @@
     create_merged_usr_symlinks ${SDK_OUTPUT}${SDKTARGETSYSROOT}
 }
 
-ROOTFS_PREPROCESS_COMMAND += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'create_merged_usr_symlinks_rootfs; ', '',d)}"
-POPULATE_SDK_PRE_TARGET_COMMAND += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'create_merged_usr_symlinks_sdk; ', '',d)}"
+ROOTFS_PREPROCESS_COMMAND += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'create_merged_usr_symlinks_rootfs', '',d)}"
+POPULATE_SDK_PRE_TARGET_COMMAND += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'create_merged_usr_symlinks_sdk', '',d)}"
 
 reproducible_final_image_task () {
     if [ "$REPRODUCIBLE_TIMESTAMP_ROOTFS" = "" ]; then
@@ -678,6 +677,6 @@
     fi
 }
 
-IMAGE_PREPROCESS_COMMAND:append = " ${@ 'systemd_preset_all;' if bb.utils.contains('DISTRO_FEATURES', 'systemd', True, False, d) and not bb.utils.contains('IMAGE_FEATURES', 'stateless-rootfs', True, False, d) else ''} reproducible_final_image_task; "
+IMAGE_PREPROCESS_COMMAND:append = " ${@ 'systemd_preset_all' if bb.utils.contains('DISTRO_FEATURES', 'systemd', True, False, d) and not bb.utils.contains('IMAGE_FEATURES', 'stateless-rootfs', True, False, d) else ''} reproducible_final_image_task "
 
 CVE_PRODUCT = ""
diff --git a/poky/meta/classes-recipe/image_types.bbclass b/poky/meta/classes-recipe/image_types.bbclass
index fdee835..4aed64e 100644
--- a/poky/meta/classes-recipe/image_types.bbclass
+++ b/poky/meta/classes-recipe/image_types.bbclass
@@ -131,6 +131,15 @@
 IMAGE_CMD:erofs-lz4 = "mkfs.erofs -zlz4 ${EXTRA_IMAGECMD} ${IMGDEPLOYDIR}/${IMAGE_NAME}.erofs-lz4 ${IMAGE_ROOTFS}"
 IMAGE_CMD:erofs-lz4hc = "mkfs.erofs -zlz4hc ${EXTRA_IMAGECMD} ${IMGDEPLOYDIR}/${IMAGE_NAME}.erofs-lz4hc ${IMAGE_ROOTFS}"
 
+# Note that vfat can't handle all types of files that a real linux file system
+# can (e.g. device files, symlinks, etc.) and therefore it not suitable for all
+# use cases
+oe_mkvfatfs () {
+    mkfs.vfat $@ -C ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.vfat ${ROOTFS_SIZE}
+    mcopy -i "${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.vfat" -vsmpQ ${IMAGE_ROOTFS}/* ::/
+}
+
+IMAGE_CMD:vfat = "oe_mkvfatfs ${EXTRA_IMAGECMD}"
 
 IMAGE_CMD_TAR ?= "tar"
 # ignore return code 1 "file changed as we read it" as other tasks(e.g. do_image_wic) may be hardlinking rootfs
@@ -266,6 +275,10 @@
 EXTRA_IMAGECMD:btrfs ?= "-n 4096 --shrink"
 EXTRA_IMAGECMD:f2fs ?= ""
 
+# If a specific FAT size is needed, set it here (e.g. "-F 32"/"-F 16"/"-F 12")
+# otherwise mkfs.vfat will automatically pick one.
+EXTRA_IMAGECMD:vfat ?= ""
+
 do_image_cpio[depends] += "cpio-native:do_populate_sysroot"
 do_image_jffs2[depends] += "mtd-utils-native:do_populate_sysroot"
 do_image_cramfs[depends] += "util-linux-native:do_populate_sysroot"
@@ -285,6 +298,7 @@
 do_image_erofs[depends] += "erofs-utils-native:do_populate_sysroot"
 do_image_erofs_lz4[depends] += "erofs-utils-native:do_populate_sysroot"
 do_image_erofs_lz4hc[depends] += "erofs-utils-native:do_populate_sysroot"
+do_image_vfat[depends] += "dosfstools-native:do_populate_sysroot mtools-native:do_populate_sysroot"
 
 # This variable is available to request which values are suitable for IMAGE_FSTYPES
 IMAGE_TYPES = " \
@@ -294,6 +308,7 @@
     ext3 ext3.gz \
     ext4 ext4.gz \
     btrfs \
+    vfat \
     squashfs squashfs-xz squashfs-lzo squashfs-lz4 squashfs-zst \
     ubi ubifs multiubi \
     tar tar.gz tar.bz2 tar.xz tar.lz4 tar.zst \
diff --git a/poky/meta/classes-recipe/kernel.bbclass b/poky/meta/classes-recipe/kernel.bbclass
index bb5995b..2ec9ea2 100644
--- a/poky/meta/classes-recipe/kernel.bbclass
+++ b/poky/meta/classes-recipe/kernel.bbclass
@@ -454,8 +454,8 @@
 	unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE
 	if (grep -q -i -e '^CONFIG_MODULES=y$' .config); then
 		oe_runmake DEPMOD=echo MODLIB=${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION} INSTALL_FW_PATH=${D}${nonarch_base_libdir}/firmware modules_install
-		rm "${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/build"
-		rm "${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/source"
+		rm -f "${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/build"
+		rm -f "${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/source"
 		# Remove empty module directories to prevent QA issues
 		find "${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel" -type d -empty -delete
 	else
@@ -760,7 +760,7 @@
 python do_strip() {
     import shutil
 
-    strip = d.getVar('STRIP')
+    strip = d.getVar('KERNEL_STRIP')
     extra_sections = d.getVar('KERNEL_IMAGE_STRIP_EXTRA_SECTIONS')
     kernel_image = d.getVar('B') + "/" + d.getVar('KERNEL_OUTPUT_DIR') + "/vmlinux"
 
diff --git a/poky/meta/classes-recipe/license_image.bbclass b/poky/meta/classes-recipe/license_image.bbclass
index 8560c27..fc859c7 100644
--- a/poky/meta/classes-recipe/license_image.bbclass
+++ b/poky/meta/classes-recipe/license_image.bbclass
@@ -272,7 +272,7 @@
             dep_files.append(os.path.basename(f))
     return dep_files
 
-ROOTFS_POSTPROCESS_COMMAND:prepend = "write_package_manifest; license_create_manifest; "
+ROOTFS_POSTPROCESS_COMMAND:prepend = "write_package_manifest license_create_manifest "
 do_rootfs[recrdeptask] += "do_populate_lic"
 
 python do_populate_lic_deploy() {
diff --git a/poky/meta/classes-recipe/meson.bbclass b/poky/meta/classes-recipe/meson.bbclass
index 7f5e9b1..d08a83d 100644
--- a/poky/meta/classes-recipe/meson.bbclass
+++ b/poky/meta/classes-recipe/meson.bbclass
@@ -20,6 +20,9 @@
 # Where the meson.build build configuration is
 MESON_SOURCEPATH = "${S}"
 
+# The target to build in do_compile. If unset the default targets are built.
+MESON_TARGET ?= ""
+
 def noprefix(var, d):
     return d.getVar(var).replace(d.getVar('prefix') + '/', '', 1)
 
@@ -58,7 +61,7 @@
     return "rust = %s" % repr(cmd)
 
 addtask write_config before do_configure
-do_write_config[vardeps] += "CC CXX LD AR NM STRIP READELF CFLAGS CXXFLAGS LDFLAGS RUSTC RUSTFLAGS"
+do_write_config[vardeps] += "CC CXX AR NM STRIP READELF OBJCOPY CFLAGS CXXFLAGS LDFLAGS RUSTC RUSTFLAGS EXEWRAPPER_ENABLED"
 do_write_config() {
     # This needs to be Py to split the args into single-element lists
     cat >${WORKDIR}/meson.cross <<EOF
@@ -170,7 +173,7 @@
 
 do_compile[progress] = "outof:^\[(\d+)/(\d+)\]\s+"
 meson_do_compile() {
-    meson compile -v ${PARALLEL_MAKE}
+    meson compile -v ${PARALLEL_MAKE} ${MESON_TARGET}
 }
 
 meson_do_install() {
diff --git a/poky/meta/classes-recipe/overlayfs-etc.bbclass b/poky/meta/classes-recipe/overlayfs-etc.bbclass
index f834310..0c7834d 100644
--- a/poky/meta/classes-recipe/overlayfs-etc.bbclass
+++ b/poky/meta/classes-recipe/overlayfs-etc.bbclass
@@ -31,7 +31,7 @@
 # Regardless which mode you choose, update and migration strategy of configuration files under /etc
 # overlay is out of scope of this class
 
-ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("IMAGE_FEATURES", "overlayfs-etc", "create_overlayfs_etc_preinit;", "", d)}'
+ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("IMAGE_FEATURES", "overlayfs-etc", "create_overlayfs_etc_preinit", "", d)}'
 IMAGE_FEATURES_CONFLICTS_overlayfs-etc = "${@ 'package-management' if bb.utils.to_boolean(d.getVar('OVERLAYFS_ETC_USE_ORIG_INIT_NAME'), True) else ''}"
 
 OVERLAYFS_ETC_MOUNT_POINT ??= ""
diff --git a/poky/meta/classes-recipe/populate_sdk_base.bbclass b/poky/meta/classes-recipe/populate_sdk_base.bbclass
index b23ea26..dfd4bb1 100644
--- a/poky/meta/classes-recipe/populate_sdk_base.bbclass
+++ b/poky/meta/classes-recipe/populate_sdk_base.bbclass
@@ -152,12 +152,12 @@
         output.write(format_pkg_list(pkgs, 'ver'))
 }
 
-POPULATE_SDK_POST_TARGET_COMMAND:append = " write_sdk_test_data ; "
-POPULATE_SDK_POST_TARGET_COMMAND:append:task-populate-sdk  = " write_target_sdk_manifest; sdk_prune_dirs; "
-POPULATE_SDK_POST_HOST_COMMAND:append:task-populate-sdk = " write_host_sdk_manifest; "
+POPULATE_SDK_POST_TARGET_COMMAND:append = " write_sdk_test_data"
+POPULATE_SDK_POST_TARGET_COMMAND:append:task-populate-sdk  = " write_target_sdk_manifest sdk_prune_dirs"
+POPULATE_SDK_POST_HOST_COMMAND:append:task-populate-sdk = " write_host_sdk_manifest"
 
-SDK_PACKAGING_COMMAND = "${@'${SDK_PACKAGING_FUNC};' if '${SDK_PACKAGING_FUNC}' else ''}"
-SDK_POSTPROCESS_COMMAND = " create_sdk_files; check_sdk_sysroots; archive_sdk; ${SDK_PACKAGING_COMMAND} "
+SDK_PACKAGING_COMMAND = "${@'${SDK_PACKAGING_FUNC}' if '${SDK_PACKAGING_FUNC}' else ''}"
+SDK_POSTPROCESS_COMMAND = "create_sdk_files check_sdk_sysroots archive_sdk ${SDK_PACKAGING_COMMAND}"
 
 def populate_sdk_common(d):
     from oe.sdk import populate_sdk
@@ -372,8 +372,7 @@
 python () {
     variables = sdk_command_variables(d)
     for var in variables:
-        if d.getVar(var, False):
-            d.setVarFlag(var, 'func', '1')
+        d.setVarFlag(var, 'vardeps', d.getVar(var))
 }
 
 do_populate_sdk[file-checksums] += "${TOOLCHAIN_SHAR_REL_TMPL}:True \
diff --git a/poky/meta/classes-recipe/populate_sdk_ext.bbclass b/poky/meta/classes-recipe/populate_sdk_ext.bbclass
index fe656ed..028d0c1 100644
--- a/poky/meta/classes-recipe/populate_sdk_ext.bbclass
+++ b/poky/meta/classes-recipe/populate_sdk_ext.bbclass
@@ -120,7 +120,7 @@
                 f.write("%s %s %s\n" % (info[1], info[2], info[3]))
 }
 
-SDK_POSTPROCESS_COMMAND:append:task-populate-sdk-ext = " write_target_sdk_ext_manifest; write_host_sdk_ext_manifest; "    
+SDK_POSTPROCESS_COMMAND:append:task-populate-sdk-ext = " write_target_sdk_ext_manifest write_host_sdk_ext_manifest"    
 
 SDK_TITLE:task-populate-sdk-ext = "${@d.getVar('DISTRO_NAME') or d.getVar('DISTRO')} Extensible SDK"
 
@@ -743,7 +743,7 @@
 
 SDK_POST_INSTALL_COMMAND:task-populate-sdk-ext = "${sdk_ext_postinst}"
 
-SDK_POSTPROCESS_COMMAND:prepend:task-populate-sdk-ext = "copy_buildsystem; install_tools; "
+SDK_POSTPROCESS_COMMAND:prepend:task-populate-sdk-ext = "copy_buildsystem install_tools "
 
 SDK_INSTALL_TARGETS = ""
 fakeroot python do_populate_sdk_ext() {
diff --git a/poky/meta/classes-recipe/rootfs-postcommands.bbclass b/poky/meta/classes-recipe/rootfs-postcommands.bbclass
index 4492c9c..06388b7 100644
--- a/poky/meta/classes-recipe/rootfs-postcommands.bbclass
+++ b/poky/meta/classes-recipe/rootfs-postcommands.bbclass
@@ -5,25 +5,25 @@
 #
 
 # Zap the root password if debug-tweaks and empty-root-password features are not enabled
-ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains_any("IMAGE_FEATURES", [ 'debug-tweaks', 'empty-root-password' ], "", "zap_empty_root_password; ",d)}'
+ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains_any("IMAGE_FEATURES", [ 'debug-tweaks', 'empty-root-password' ], "", "zap_empty_root_password ",d)}'
 
 # Allow dropbear/openssh to accept logins from accounts with an empty password string if debug-tweaks or allow-empty-password is enabled
-ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains_any("IMAGE_FEATURES", [ 'debug-tweaks', 'allow-empty-password' ], "ssh_allow_empty_password; ", "",d)}'
+ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains_any("IMAGE_FEATURES", [ 'debug-tweaks', 'allow-empty-password' ], "ssh_allow_empty_password ", "",d)}'
 
 # Allow dropbear/openssh to accept root logins if debug-tweaks or allow-root-login is enabled
-ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains_any("IMAGE_FEATURES", [ 'debug-tweaks', 'allow-root-login' ], "ssh_allow_root_login; ", "",d)}'
+ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains_any("IMAGE_FEATURES", [ 'debug-tweaks', 'allow-root-login' ], "ssh_allow_root_login ", "",d)}'
 
 # Autologin the root user on the serial console, if empty-root-password and serial-autologin-root are active
-ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("IMAGE_FEATURES", [ 'empty-root-password', 'serial-autologin-root' ], "serial_autologin_root; ", "",d)}'
+ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("IMAGE_FEATURES", [ 'empty-root-password', 'serial-autologin-root' ], "serial_autologin_root ", "",d)}'
 
 # Enable postinst logging if debug-tweaks or post-install-logging is enabled
-ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains_any("IMAGE_FEATURES", [ 'debug-tweaks', 'post-install-logging' ], "postinst_enable_logging; ", "",d)}'
+ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains_any("IMAGE_FEATURES", [ 'debug-tweaks', 'post-install-logging' ], "postinst_enable_logging ", "",d)}'
 
 # Create /etc/timestamp during image construction to give a reasonably sane default time setting
-ROOTFS_POSTPROCESS_COMMAND += "rootfs_update_timestamp; "
+ROOTFS_POSTPROCESS_COMMAND += "rootfs_update_timestamp "
 
 # Tweak files in /etc if read-only-rootfs is enabled
-ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("IMAGE_FEATURES", "read-only-rootfs", "read_only_rootfs_hook; ", "",d)}'
+ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("IMAGE_FEATURES", "read-only-rootfs", "read_only_rootfs_hook ", "",d)}'
 
 # We also need to do the same for the kernel boot parameters,
 # otherwise kernel or initramfs end up mounting the rootfs read/write
@@ -34,20 +34,20 @@
 APPEND:append = '${@bb.utils.contains("IMAGE_FEATURES", "read-only-rootfs", " ro", "", d)}'
 
 # Generates test data file with data store variables expanded in json format
-ROOTFS_POSTPROCESS_COMMAND += "write_image_test_data; "
+ROOTFS_POSTPROCESS_COMMAND += "write_image_test_data "
 
 # Write manifest
 IMAGE_MANIFEST = "${IMGDEPLOYDIR}/${IMAGE_NAME}.manifest"
-ROOTFS_POSTUNINSTALL_COMMAND =+ "write_image_manifest ; "
+ROOTFS_POSTUNINSTALL_COMMAND =+ "write_image_manifest"
 # Set default postinst log file
 POSTINST_LOGFILE ?= "${localstatedir}/log/postinstall.log"
 # Set default target for systemd images
 SYSTEMD_DEFAULT_TARGET ?= '${@bb.utils.contains_any("IMAGE_FEATURES", [ "x11-base", "weston" ], "graphical.target", "multi-user.target", d)}'
-ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("DISTRO_FEATURES", "systemd", "set_systemd_default_target; systemd_sysusers_check;", "", d)}'
+ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("DISTRO_FEATURES", "systemd", "set_systemd_default_target systemd_sysusers_check", "", d)}'
 
-ROOTFS_POSTPROCESS_COMMAND += 'empty_var_volatile;'
+ROOTFS_POSTPROCESS_COMMAND += 'empty_var_volatile'
 
-ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("DISTRO_FEATURES", "overlayfs", "overlayfs_qa_check; overlayfs_postprocess;", "", d)}'
+ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("DISTRO_FEATURES", "overlayfs", "overlayfs_qa_check overlayfs_postprocess", "", d)}'
 
 inherit image-artifact-names
 
@@ -63,10 +63,10 @@
 # systemd_sysusers_create and set_user_group. Using :append is not
 # enough for that, set_user_group is added that way and would end
 # up running after us.
-SORT_PASSWD_POSTPROCESS_COMMAND ??= " tidy_shadowutils_files; "
+SORT_PASSWD_POSTPROCESS_COMMAND ??= "tidy_shadowutils_files"
 python () {
-    d.appendVar('ROOTFS_POSTPROCESS_COMMAND', '${SORT_PASSWD_POSTPROCESS_COMMAND}')
-    d.appendVar('ROOTFS_POSTPROCESS_COMMAND', 'rootfs_reproducible;')
+    d.appendVar('ROOTFS_POSTPROCESS_COMMAND', ' ${SORT_PASSWD_POSTPROCESS_COMMAND}')
+    d.appendVar('ROOTFS_POSTPROCESS_COMMAND', ' rootfs_reproducible')
 }
 
 # Resolve the ID as described in the sysusers.d(5) manual: ID can be a numeric
diff --git a/poky/meta/classes-recipe/rootfsdebugfiles.bbclass b/poky/meta/classes-recipe/rootfsdebugfiles.bbclass
index cbcf876..4c2fc1d 100644
--- a/poky/meta/classes-recipe/rootfsdebugfiles.bbclass
+++ b/poky/meta/classes-recipe/rootfsdebugfiles.bbclass
@@ -34,7 +34,7 @@
 ROOTFS_DEBUG_FILES ?= ""
 ROOTFS_DEBUG_FILES[doc] = "Lists additional files or directories to be installed with 'cp -a' in the format 'source1 target1;source2 target2;...'"
 
-ROOTFS_POSTPROCESS_COMMAND += "rootfs_debug_files;"
+ROOTFS_POSTPROCESS_COMMAND += "rootfs_debug_files"
 rootfs_debug_files () {
    #!/bin/sh -e
    echo "${ROOTFS_DEBUG_FILES}" | sed -e 's/;/\n/g' | while read source target mode; do
diff --git a/poky/meta/classes-recipe/rust-target-config.bbclass b/poky/meta/classes-recipe/rust-target-config.bbclass
index 21a56ed..926b063 100644
--- a/poky/meta/classes-recipe/rust-target-config.bbclass
+++ b/poky/meta/classes-recipe/rust-target-config.bbclass
@@ -21,16 +21,18 @@
 
     if 'vfpv4' in feat:
         f.append("+vfp4")
-    if 'vfpv3' in feat:
+    elif 'vfpv3' in feat:
         f.append("+vfp3")
-    if 'vfpv3d16' in feat:
-        f.append("+d16")
-
-    if 'vfpv2' in feat or 'vfp' in feat:
+    elif 'vfpv3d16' in feat:
+        f.append("+vfp3")
+        f.append("-d32")
+    elif 'vfpv2' in feat or 'vfp' in feat:
         f.append("+vfp2")
 
     if 'neon' in feat:
         f.append("+neon")
+    elif target_is_armv7(d):
+        f.append("-neon")
 
     if 'mips32' in feat:
         f.append("+mips32")
@@ -294,6 +296,8 @@
     trans['i586'] = "i586"
     trans['mips64'] = "mips64"
     trans['mips64el'] = "mips64"
+    trans['powerpc64le'] = "ppc64le"
+    trans['powerpc64'] = "ppc64"
     trans['riscv64'] = "generic-rv64"
     trans['riscv32'] = "generic-rv32"
     trans['loongarch64'] = "la464"
diff --git a/poky/meta/classes/buildhistory.bbclass b/poky/meta/classes/buildhistory.bbclass
index 395f594..fd53e92 100644
--- a/poky/meta/classes/buildhistory.bbclass
+++ b/poky/meta/classes/buildhistory.bbclass
@@ -691,28 +691,28 @@
 
 # By using ROOTFS_POSTUNINSTALL_COMMAND we get in after uninstallation of
 # unneeded packages but before the removal of packaging files
-ROOTFS_POSTUNINSTALL_COMMAND += "buildhistory_list_installed_image ;"
-ROOTFS_POSTUNINSTALL_COMMAND += "buildhistory_get_image_installed ;"
-ROOTFS_POSTUNINSTALL_COMMAND[vardepvalueexclude] .= "| buildhistory_list_installed_image ;| buildhistory_get_image_installed ;"
+ROOTFS_POSTUNINSTALL_COMMAND += "buildhistory_list_installed_image"
+ROOTFS_POSTUNINSTALL_COMMAND += "buildhistory_get_image_installed"
+ROOTFS_POSTUNINSTALL_COMMAND[vardepvalueexclude] .= "| buildhistory_list_installed_image| buildhistory_get_image_installed"
 ROOTFS_POSTUNINSTALL_COMMAND[vardepsexclude] += "buildhistory_list_installed_image buildhistory_get_image_installed"
 
-IMAGE_POSTPROCESS_COMMAND += "buildhistory_get_imageinfo ;"
-IMAGE_POSTPROCESS_COMMAND[vardepvalueexclude] .= "| buildhistory_get_imageinfo ;"
+IMAGE_POSTPROCESS_COMMAND += "buildhistory_get_imageinfo"
+IMAGE_POSTPROCESS_COMMAND[vardepvalueexclude] .= "| buildhistory_get_imageinfo"
 IMAGE_POSTPROCESS_COMMAND[vardepsexclude] += "buildhistory_get_imageinfo"
 
 # We want these to be the last run so that we get called after complementary package installation
-POPULATE_SDK_POST_TARGET_COMMAND:append = " buildhistory_list_installed_sdk_target;"
-POPULATE_SDK_POST_TARGET_COMMAND:append = " buildhistory_get_sdk_installed_target;"
-POPULATE_SDK_POST_TARGET_COMMAND[vardepvalueexclude] .= "| buildhistory_list_installed_sdk_target;| buildhistory_get_sdk_installed_target;"
+POPULATE_SDK_POST_TARGET_COMMAND:append = " buildhistory_list_installed_sdk_target"
+POPULATE_SDK_POST_TARGET_COMMAND:append = " buildhistory_get_sdk_installed_target"
+POPULATE_SDK_POST_TARGET_COMMAND[vardepvalueexclude] .= "| buildhistory_list_installed_sdk_target| buildhistory_get_sdk_installed_target"
 POPULATE_SDK_POST_TARGET_COMMAND[vardepsexclude] += "buildhistory_list_installed_sdk_target buildhistory_get_sdk_installed_target"
 
-POPULATE_SDK_POST_HOST_COMMAND:append = " buildhistory_list_installed_sdk_host;"
-POPULATE_SDK_POST_HOST_COMMAND:append = " buildhistory_get_sdk_installed_host;"
-POPULATE_SDK_POST_HOST_COMMAND[vardepvalueexclude] .= "| buildhistory_list_installed_sdk_host;| buildhistory_get_sdk_installed_host;"
+POPULATE_SDK_POST_HOST_COMMAND:append = " buildhistory_list_installed_sdk_host"
+POPULATE_SDK_POST_HOST_COMMAND:append = " buildhistory_get_sdk_installed_host"
+POPULATE_SDK_POST_HOST_COMMAND[vardepvalueexclude] .= "| buildhistory_list_installed_sdk_host| buildhistory_get_sdk_installed_host"
 POPULATE_SDK_POST_HOST_COMMAND[vardepsexclude] += "buildhistory_list_installed_sdk_host buildhistory_get_sdk_installed_host"
 
-SDK_POSTPROCESS_COMMAND:append = " buildhistory_get_sdkinfo ; buildhistory_get_extra_sdkinfo; "
-SDK_POSTPROCESS_COMMAND[vardepvalueexclude] .= "| buildhistory_get_sdkinfo ; buildhistory_get_extra_sdkinfo; "
+SDK_POSTPROCESS_COMMAND:append = " buildhistory_get_sdkinfo buildhistory_get_extra_sdkinfo"
+SDK_POSTPROCESS_COMMAND[vardepvalueexclude] .= "| buildhistory_get_sdkinfo buildhistory_get_extra_sdkinfo"
 SDK_POSTPROCESS_COMMAND[vardepsexclude] += "buildhistory_get_sdkinfo buildhistory_get_extra_sdkinfo"
 
 python buildhistory_write_sigs() {
diff --git a/poky/meta/classes/ccache.bbclass b/poky/meta/classes/ccache.bbclass
index 34becb6..262db66 100644
--- a/poky/meta/classes/ccache.bbclass
+++ b/poky/meta/classes/ccache.bbclass
@@ -28,6 +28,11 @@
 # be shared between different builds.
 CCACHE_TOP_DIR ?= "${TMPDIR}/ccache"
 
+# ccache-native and cmake-native have a circular dependency
+# that affects other native recipes, but not all.
+# Allows to use ccache in specified native recipes.
+CCACHE_NATIVE_RECIPES_ALLOWED ?= ""
+
 # ccahe removes CCACHE_BASEDIR from file path, so that hashes will be the same
 # in different builds.
 export CCACHE_BASEDIR ?= "${TMPDIR}"
@@ -54,9 +59,9 @@
     Enable ccache for the recipe
     """
     pn = d.getVar('PN')
-    # quilt-native doesn't need ccache since no c files
-    if not (bb.data.inherits_class("native", d) or
-            bb.utils.to_boolean(d.getVar('CCACHE_DISABLE'))):
+    if (pn in d.getVar('CCACHE_NATIVE_RECIPES_ALLOWED') or
+        not (bb.data.inherits_class("native", d) or
+        bb.utils.to_boolean(d.getVar('CCACHE_DISABLE')))):
         d.appendVar('DEPENDS', ' ccache-native')
         d.setVar('CCACHE', 'ccache ')
 }
diff --git a/poky/meta/classes/create-spdx-2.2.bbclass b/poky/meta/classes/create-spdx-2.2.bbclass
index 844b674..aed1a94 100644
--- a/poky/meta/classes/create-spdx-2.2.bbclass
+++ b/poky/meta/classes/create-spdx-2.2.bbclass
@@ -930,12 +930,12 @@
 do_rootfs[recrdeptask] += "do_create_spdx do_create_runtime_spdx"
 do_rootfs[cleandirs] += "${SPDXIMAGEWORK}"
 
-ROOTFS_POSTUNINSTALL_COMMAND =+ "image_combine_spdx ; "
+ROOTFS_POSTUNINSTALL_COMMAND =+ "image_combine_spdx"
 
 do_populate_sdk[recrdeptask] += "do_create_spdx do_create_runtime_spdx"
 do_populate_sdk[cleandirs] += "${SPDXSDKWORK}"
-POPULATE_SDK_POST_HOST_COMMAND:append:task-populate-sdk = " sdk_host_combine_spdx; "
-POPULATE_SDK_POST_TARGET_COMMAND:append:task-populate-sdk = " sdk_target_combine_spdx; "
+POPULATE_SDK_POST_HOST_COMMAND:append:task-populate-sdk = " sdk_host_combine_spdx"
+POPULATE_SDK_POST_TARGET_COMMAND:append:task-populate-sdk = " sdk_target_combine_spdx"
 
 python image_combine_spdx() {
     import os
diff --git a/poky/meta/classes/cve-check.bbclass b/poky/meta/classes/cve-check.bbclass
index c1f1ea0..55ae298 100644
--- a/poky/meta/classes/cve-check.bbclass
+++ b/poky/meta/classes/cve-check.bbclass
@@ -286,7 +286,7 @@
         bb.plain("Image CVE JSON report stored in: %s" % manifest_name)
 }
 
-ROOTFS_POSTPROCESS_COMMAND:prepend = "${@'cve_check_write_rootfs_manifest; ' if d.getVar('CVE_CHECK_CREATE_MANIFEST') == '1' else ''}"
+ROOTFS_POSTPROCESS_COMMAND:prepend = "${@'cve_check_write_rootfs_manifest ' if d.getVar('CVE_CHECK_CREATE_MANIFEST') == '1' else ''}"
 do_rootfs[recrdeptask] += "${@'do_cve_check' if d.getVar('CVE_CHECK_CREATE_MANIFEST') == '1' else ''}"
 do_populate_sdk[recrdeptask] += "${@'do_cve_check' if d.getVar('CVE_CHECK_CREATE_MANIFEST') == '1' else ''}"
 
diff --git a/poky/meta/classes/externalsrc.bbclass b/poky/meta/classes/externalsrc.bbclass
index aedd78a..cba80bb 100644
--- a/poky/meta/classes/externalsrc.bbclass
+++ b/poky/meta/classes/externalsrc.bbclass
@@ -63,6 +63,7 @@
         else:
             d.setVar('B', '${WORKDIR}/${BPN}-${PV}')
 
+        bb.fetch.get_hashvalue(d)
         local_srcuri = []
         fetch = bb.fetch2.Fetch((d.getVar('SRC_URI') or '').split(), d)
         for url in fetch.urls:
@@ -73,8 +74,6 @@
 
         d.setVar('SRC_URI', ' '.join(local_srcuri))
 
-        # Dummy value because the default function can't be called with blank SRC_URI
-        d.setVar('SRCPV', '999')
         # sstate is never going to work for external source trees, disable it
         d.setVar('SSTATE_SKIP_CREATION', '1')
 
@@ -126,6 +125,9 @@
         d.setVarFlag('do_compile', 'file-checksums', '${@srctree_hash_files(d)}')
         d.setVarFlag('do_configure', 'file-checksums', '${@srctree_configure_hash_files(d)}')
 
+        d.appendVarFlag('do_compile', 'prefuncs', ' fetcher_hashes_dummyfunc')
+        d.appendVarFlag('do_configure', 'prefuncs', ' fetcher_hashes_dummyfunc')
+
         # We don't want the workdir to go away
         d.appendVar('RM_WORK_EXCLUDE', ' ' + d.getVar('PN'))
 
diff --git a/poky/meta/classes/extrausers.bbclass b/poky/meta/classes/extrausers.bbclass
index 94576b8..c825c06 100644
--- a/poky/meta/classes/extrausers.bbclass
+++ b/poky/meta/classes/extrausers.bbclass
@@ -23,7 +23,7 @@
 PACKAGE_INSTALL:append = " ${@['', 'base-passwd shadow'][bool(d.getVar('EXTRA_USERS_PARAMS'))]}"
 
 # Image level user / group settings
-ROOTFS_POSTPROCESS_COMMAND:append = " set_user_group;"
+ROOTFS_POSTPROCESS_COMMAND:append = " set_user_group"
 
 # Image level user / group settings
 set_user_group () {
diff --git a/poky/meta/classes/image-buildinfo.bbclass b/poky/meta/classes/image-buildinfo.bbclass
index 206cc9d..b83ce65 100644
--- a/poky/meta/classes/image-buildinfo.bbclass
+++ b/poky/meta/classes/image-buildinfo.bbclass
@@ -76,6 +76,6 @@
     bb.build.exec_func("buildinfo", d)
 }
 
-IMAGE_PREPROCESS_COMMAND += "buildinfo_image;"
-POPULATE_SDK_PRE_TARGET_COMMAND += "buildinfo_sdk;"
+IMAGE_PREPROCESS_COMMAND += "buildinfo_image"
+POPULATE_SDK_PRE_TARGET_COMMAND += "buildinfo_sdk"
 
diff --git a/poky/meta/classes/own-mirrors.bbclass b/poky/meta/classes/own-mirrors.bbclass
index 62258e4..36c7f8e 100644
--- a/poky/meta/classes/own-mirrors.bbclass
+++ b/poky/meta/classes/own-mirrors.bbclass
@@ -18,4 +18,5 @@
 npm://.*/?.*    ${SOURCE_MIRROR_URL} \
 s3://.*/.*      ${SOURCE_MIRROR_URL} \
 crate://.*/.*   ${SOURCE_MIRROR_URL} \
+gs://.*/.*      ${SOURCE_MIRROR_URL} \
 "
diff --git a/poky/meta/conf/bitbake.conf b/poky/meta/conf/bitbake.conf
index 599bbc4..0bcc821 100644
--- a/poky/meta/conf/bitbake.conf
+++ b/poky/meta/conf/bitbake.conf
@@ -516,7 +516,7 @@
 
 # Tools needed to run builds with OE-Core
 HOSTTOOLS += " \
-    [ ar as awk basename bash bzip2 cat chgrp chmod chown chrpath cmp comm cp cpio \
+    [ ar as awk basename bash bunzip2 bzip2 cat chgrp chmod chown chrpath cmp comm cp cpio \
     cpp cut date dd diff diffstat dirname du echo egrep env expand expr false \
     fgrep file find flock g++ gawk gcc getconf getopt git grep gunzip gzip \
     head hostname iconv id install ld ldd ln ls lz4c make md5sum mkdir mkfifo mknod \
@@ -735,10 +735,7 @@
 SRCDATE = "${DATE}"
 SRCREV ??= "INVALID"
 AUTOREV = "${@bb.fetch2.get_autorev(d)}"
-AUTOREV[vardepvalue] = "${SRCPV}"
-# Set Dynamically in base.bbclass
-# SRCPV = "${@bb.fetch2.get_srcrev(d)}"
-SRCPV[vardepvalue] = "${SRCPV}"
+SRCPV = ""
 
 SRC_URI = ""
 
@@ -964,7 +961,7 @@
     sstate-lockfile-shared prefuncs postfuncs export_func deptask rdeptask \
     recrdeptask nodeprrecs stamp-extra-info sstate-outputdirs filename lineno \
     progress mcdepends number_threads"
-BB_HASH_CODEPARSER_VALS = "LOGFIFO=/ T=/ WORKDIR=/ DATE=1234 TIME=1234 PV=0.0-1 PN=no-pn METADATA_REVISION=1234 SRC_URI= SRCPV=1234"
+BB_HASH_CODEPARSER_VALS = "LOGFIFO=/ T=/ WORKDIR=/ DATE=1234 TIME=1234 PV=0.0-1 PN=no-pn METADATA_REVISION=1234 SRC_URI="
 
 MLPREFIX ??= ""
 MULTILIB_VARIANTS ??= ""
diff --git a/poky/meta/conf/distro/include/cve-extra-exclusions.inc b/poky/meta/conf/distro/include/cve-extra-exclusions.inc
index 9d4422b..fcef6a1 100644
--- a/poky/meta/conf/distro/include/cve-extra-exclusions.inc
+++ b/poky/meta/conf/distro/include/cve-extra-exclusions.inc
@@ -53,60 +53,17 @@
 CVE_STATUS_DB[status] = "upstream-wontfix: Since Oracle relicensed bdb, the open source community is slowly but surely \
 replacing bdb with supported and open source friendly alternatives. As a result this CVE is unlikely to ever be fixed."
 
-#
-# Kernel CVEs, e.g. linux-yocto*
+# Kernel CVEs that are generic but can't be added to the kernel's hand-maintained cve-exclusion.inc
+# or machine-maintained cve-exclusion_VERSION.inc files, such as issues that describe TCP/IP design
+# flaws or processor-specific exploits that can't be mitigated.
 #
 # For OE-Core our policy is to stay as close to the kernel stable releases as we can. This should
 # ensure the bulk of the major kernel CVEs are fixed and we don't dive into each individual issue
 # as the stable maintainers are much more able to do that.
-#
-# Rather than just ignore all kernel CVEs, list the ones we ignore on this basis here, allowing new
-# issues to be visible. If anyone wishes to clean up CPE entries with NIST for these, we'd
-# welcome than and then entries can likely be removed from here.
-#
-
-CVE_STATUS_GROUPS += "CVE_STATUS_KERNEL_2010 CVE_STATUS_KERNEL_2017 CVE_STATUS_KERNEL_2018 CVE_STATUS_KERNEL_2020 \
-                      CVE_STATUS_KERNEL_2021 CVE_STATUS_KERNEL_2022"
-
-# 1999-2010
-CVE_STATUS_KERNEL_2010 = "CVE-1999-0524 CVE-1999-0656 CVE-2006-2932 CVE-2007-2764 CVE-2007-4998 CVE-2008-2544 \
-                          CVE-2008-4609 CVE-2010-0298 CVE-2010-4563"
-CVE_STATUS_KERNEL_2010[status] = "ignored"
-
-# 2011-2017
-CVE_STATUS_KERNEL_2017 = "CVE-2011-0640 CVE-2014-2648 CVE-2014-8171 CVE-2016-0774 CVE-2016-3695 CVE-2016-3699 \
-                          CVE-2017-1000255 CVE-2017-1000377 CVE-2017-5897 CVE-2017-6264"
-CVE_STATUS_KERNEL_2017[status] = "ignored"
-
-# 2018
-CVE_STATUS_KERNEL_2018 = "CVE-2018-1000026 CVE-2018-10840 CVE-2018-10876 CVE-2018-10882 CVE-2018-10901 CVE-2018-10902 \
-                           CVE-2018-14625 CVE-2018-16880 CVE-2018-16884 CVE-2018-5873"
-CVE_STATUS_KERNEL_2018[status] = "ignored"
-
-# 2020
-CVE_STATUS_KERNEL_2020 = "CVE-2020-10732 CVE-2020-10742 CVE-2020-16119 CVE-2020-1749 CVE-2020-25672 CVE-2020-27820 CVE-2020-35501 CVE-2020-8834"
-CVE_STATUS_KERNEL_2020[status] = "ignored"
-
-# 2021
-CVE_STATUS_KERNEL_2021 = "CVE-2021-20194 CVE-2021-20226 CVE-2021-20265 CVE-2021-3564 CVE-2021-3743 CVE-2021-3847 CVE-2021-4002 \
-                          CVE-2021-4090 CVE-2021-4095 CVE-2021-4197 CVE-2021-4202 CVE-2021-44879 CVE-2021-45402"
-CVE_STATUS_KERNEL_2021[status] = "ignored"
-
-# 2022
-CVE_STATUS_KERNEL_2022 = "CVE-2022-0185 CVE-2022-0264 CVE-2022-0286 CVE-2022-0330 CVE-2022-0382 CVE-2022-0433 CVE-2022-0435 \
-                          CVE-2022-0492 CVE-2022-0494 CVE-2022-0500 CVE-2022-0516 CVE-2022-0617 CVE-2022-0742 CVE-2022-0854 \
-                          CVE-2022-0995 CVE-2022-0998 CVE-2022-1011 CVE-2022-1015 CVE-2022-1048 CVE-2022-1055 CVE-2022-1195 \
-                          CVE-2022-1353 CVE-2022-24122 CVE-2022-24448 CVE-2022-24958 CVE-2022-24959 CVE-2022-25258 CVE-2022-25265 \
-                          CVE-2022-25375 CVE-2022-26490 CVE-2022-26878 CVE-2022-26966 CVE-2022-27223 CVE-2022-27666 CVE-2022-27950 \
-                          CVE-2022-28356 CVE-2022-28388 CVE-2022-28389 CVE-2022-28390 CVE-2022-28796 CVE-2022-28893 CVE-2022-29156 \
-                          CVE-2022-29582 CVE-2022-29968"
-CVE_STATUS_KERNEL_2022[status] = "ignored"
-
-
-# https://nvd.nist.gov/vuln/detail/CVE-2022-3563
-# https://nvd.nist.gov/vuln/detail/CVE-2022-3637
-CVE_STATUS[CVE-2022-3563] = "cpe-incorrect: This issue do not affect the kernel, patchs listed on CVE pages links to https://git.kernel.org/pub/scm/bluetooth/bluez.git"
-CVE_STATUS[CVE-2022-3637] = "cpe-incorrect: This issue do not affect the kernel, patchs listed on CVE pages links to https://git.kernel.org/pub/scm/bluetooth/bluez.git"
+CVE_STATUS[CVE-1999-0524] = "ignored: issue is that ICMP exists, can be filewalled if required"
+CVE_STATUS[CVE-2008-4609] = "ignored: describes design flaws in TCP"
+CVE_STATUS[CVE-2010-4563] = "ignored: low impact, only enables detection of hosts which are sniffing network traffic"
+CVE_STATUS[CVE-2011-0640] = "ignored: requires physical access and any mitigation would mean USB is impractical to use"
 
 # qemu:qemu-native:qemu-system-native https://nvd.nist.gov/vuln/detail/CVE-2021-20255
 CVE_STATUS[CVE-2021-20255] = "upstream-wontfix: \
diff --git a/poky/meta/conf/distro/include/maintainers.inc b/poky/meta/conf/distro/include/maintainers.inc
index 202e573..3619588 100644
--- a/poky/meta/conf/distro/include/maintainers.inc
+++ b/poky/meta/conf/distro/include/maintainers.inc
@@ -88,6 +88,7 @@
 RECIPE_MAINTAINER:pn-ca-certificates = "Alexander Kanavin <alex.kanavin@gmail.com>"
 RECIPE_MAINTAINER:pn-cairo = "Anuj Mittal <anuj.mittal@intel.com>"
 RECIPE_MAINTAINER:pn-cargo = "Randy MacLeod <Randy.MacLeod@windriver.com>"
+RECIPE_MAINTAINER:pn-cargo-c-native = "Frederic Martinsons <frederic.martinsons@gmail.com>"
 RECIPE_MAINTAINER:pn-cantarell-fonts = "Alexander Kanavin <alex.kanavin@gmail.com>"
 RECIPE_MAINTAINER:pn-ccache = "Robert Yang <liezhi.yang@windriver.com>"
 RECIPE_MAINTAINER:pn-cdrtools-native = "Yi Zhao <yi.zhao@windriver.com>"
@@ -596,7 +597,7 @@
 RECIPE_MAINTAINER:pn-pulseaudio = "Unassigned <unassigned@yoctoproject.org>"
 RECIPE_MAINTAINER:pn-pulseaudio-client-conf-sato = "Unassigned <unassigned@yoctoproject.org>"
 RECIPE_MAINTAINER:pn-puzzles = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER:pn-python3 = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-python3 = "Trevor Gamblin <tgamblin@baylibre.com>"
 RECIPE_MAINTAINER:pn-python3-alabaster = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-asn1crypto = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-atomicwrites = "Tim Orling <tim.orling@konsulko.com>"
@@ -610,10 +611,10 @@
 RECIPE_MAINTAINER:pn-python3-chardet = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-cryptography = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-cryptography-vectors = "Tim Orling <tim.orling@konsulko.com>"
-RECIPE_MAINTAINER:pn-python3-cython = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-python3-cython = "Trevor Gamblin <tgamblin@baylibre.com>"
 RECIPE_MAINTAINER:pn-python3-dbus = "Zang Ruochen <zangruochen@loongson.cn>"
-RECIPE_MAINTAINER:pn-python3-dbusmock = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER:pn-python3-docutils = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-python3-dbusmock = "Trevor Gamblin <tgamblin@baylibre.com>"
+RECIPE_MAINTAINER:pn-python3-docutils = "Trevor Gamblin <tgamblin@baylibre.com>"
 RECIPE_MAINTAINER:pn-python3-dtc = "Trevor Gamblin <tgamblin@baylibre.com>"
 RECIPE_MAINTAINER:pn-python3-dtschema = "Bruce Ashfield <bruce.ashfield@gmail.com>"
 RECIPE_MAINTAINER:pn-python3-dtschema-wrapper = "Bruce Ashfield <bruce.ashfield@gmail.com>"
@@ -621,10 +622,10 @@
 RECIPE_MAINTAINER:pn-python3-pycryptodome = "Joshua Watt <JPEWhacker@gmail.com>"
 RECIPE_MAINTAINER:pn-python3-pycryptodomex = "Joshua Watt <JPEWhacker@gmail.com>"
 RECIPE_MAINTAINER:pn-python3-pyrsistent = "Bruce Ashfield <bruce.ashfield@gmail.com>"
-RECIPE_MAINTAINER:pn-python3-extras = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-python3-extras = "Trevor Gamblin <tgamblin@baylibre.com>"
 RECIPE_MAINTAINER:pn-python3-flit-core = "Tim Orling <tim.orling@konsulko.com>"
-RECIPE_MAINTAINER:pn-python3-git = "Unassigned <unassigned@yoctoproject.org>"
-RECIPE_MAINTAINER:pn-python3-gitdb = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-python3-git = "Trevor Gamblin <tgamblin@baylibre.com>"
+RECIPE_MAINTAINER:pn-python3-gitdb = "Trevor Gamblin <tgamblin@baylibre.com>"
 RECIPE_MAINTAINER:pn-python3-hatchling = "Ross Burton <ross.burton@arm.com>"
 RECIPE_MAINTAINER:pn-python3-hatch-fancy-pypi-readme = "Ross Burton <ross.burton@arm.com>"
 RECIPE_MAINTAINER:pn-python3-hatch-vcs = "Ross Burton <ross.burton@arm.com>"
@@ -633,7 +634,7 @@
 RECIPE_MAINTAINER:pn-python3-imagesize = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-importlib-metadata = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-iniconfig = "Tim Orling <tim.orling@konsulko.com>"
-RECIPE_MAINTAINER:pn-python3-iniparse = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-python3-iniparse = "Trevor Gamblin <tgamblin@baylibre.com>"
 RECIPE_MAINTAINER:pn-python3-iso8601 = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-installer = "Ross Burton <ross.burton@arm.com>"
 RECIPE_MAINTAINER:pn-python3-jinja2 = "Richard Purdie <richard.purdie@linuxfoundation.org>"
@@ -642,12 +643,12 @@
 RECIPE_MAINTAINER:pn-python3-libarchive-c = "Joshua Watt <JPEWhacker@gmail.com>"
 RECIPE_MAINTAINER:pn-python3-lxml = "Khem Raj <raj.khem@gmail.com>"
 RECIPE_MAINTAINER:pn-python3-magic = "Joshua Watt <JPEWhacker@gmail.com>"
-RECIPE_MAINTAINER:pn-python3-mako = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-python3-mako = "Trevor Gamblin <tgamblin@baylibre.com>"
 RECIPE_MAINTAINER:pn-python3-markdown = "Alexander Kanavin <alex.kanavin@gmail.com>"
 RECIPE_MAINTAINER:pn-python3-markupsafe = "Richard Purdie <richard.purdie@linuxfoundation.org>"
 RECIPE_MAINTAINER:pn-python3-more-itertools = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-ndg-httpsclient = "Tim Orling <tim.orling@konsulko.com>"
-RECIPE_MAINTAINER:pn-python3-numpy = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-python3-numpy = "Trevor Gamblin <tgamblin@baylibre.com>"
 RECIPE_MAINTAINER:pn-python3-packaging = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-pathlib2 = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-pathspec = "Ross Burton <ross.burton@arm.com>"
@@ -666,7 +667,7 @@
 RECIPE_MAINTAINER:pn-python3-pygments = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-pygobject = "Zang Ruochen <zangruochen@loongson.cn>"
 RECIPE_MAINTAINER:pn-python3-pyopenssl = "Tim Orling <tim.orling@konsulko.com>"
-RECIPE_MAINTAINER:pn-python3-pyparsing = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER:pn-python3-pyparsing = "Trevor Gamblin <tgamblin@baylibre.com>"
 RECIPE_MAINTAINER:pn-python3-pyproject-hooks = "Ross Burton <ross.burton@arm.com>"
 RECIPE_MAINTAINER:pn-python3-pysocks = "Tim Orling <tim.orling@konsulko.com>"
 RECIPE_MAINTAINER:pn-python3-pytest = "Tim Orling <tim.orling@konsulko.com>"
diff --git a/poky/meta/conf/distro/include/ptest-packagelists.inc b/poky/meta/conf/distro/include/ptest-packagelists.inc
index bbbef5b..9160103 100644
--- a/poky/meta/conf/distro/include/ptest-packagelists.inc
+++ b/poky/meta/conf/distro/include/ptest-packagelists.inc
@@ -96,6 +96,7 @@
     glib-2.0 \
     gnutls \
     gstreamer1.0 \
+    less \
     libevent \
     libgcrypt \
     libmodule-build-perl \
diff --git a/poky/meta/conf/distro/include/tcmode-default.inc b/poky/meta/conf/distro/include/tcmode-default.inc
index 1c4a22a..69280fd 100644
--- a/poky/meta/conf/distro/include/tcmode-default.inc
+++ b/poky/meta/conf/distro/include/tcmode-default.inc
@@ -20,9 +20,9 @@
 SDKGCCVERSION ?= "${GCCVERSION}"
 BINUVERSION ?= "2.41%"
 GDBVERSION ?= "13.%"
-GLIBCVERSION ?= "2.37"
+GLIBCVERSION ?= "2.38%"
 LINUXLIBCVERSION ?= "6.4%"
-QEMUVERSION ?= "8.0%"
+QEMUVERSION ?= "8.1%"
 GOVERSION ?= "1.20%"
 LLVMVERSION ?= "16.%"
 RUSTVERSION ?= "1.70%"
diff --git a/poky/meta/conf/distro/include/yocto-uninative.inc b/poky/meta/conf/distro/include/yocto-uninative.inc
index b3bd779..eaa3e9b 100644
--- a/poky/meta/conf/distro/include/yocto-uninative.inc
+++ b/poky/meta/conf/distro/include/yocto-uninative.inc
@@ -6,10 +6,10 @@
 # to the distro running on the build machine.
 #
 
-UNINATIVE_MAXGLIBCVERSION = "2.37"
-UNINATIVE_VERSION = "4.1"
+UNINATIVE_MAXGLIBCVERSION = "2.38"
+UNINATIVE_VERSION = "4.3"
 
 UNINATIVE_URL ?= "http://downloads.yoctoproject.org/releases/uninative/${UNINATIVE_VERSION}/"
-UNINATIVE_CHECKSUM[aarch64] ?= "b6ff9171aa7d3828bc81197822e804725908856bbd488bf412121cc0deddcb60"
-UNINATIVE_CHECKSUM[i686] ?= "6354fd2e09af1f111bad5e34ce7af4f9ad7cd266188af7eeceaeb982afd5354b"
-UNINATIVE_CHECKSUM[x86_64] ?= "f83eca543170adfd2432b135ca655922a4303622d73cc4b13e92b973cdf49e3a"
+UNINATIVE_CHECKSUM[aarch64] ?= "8df05f4a41455018b4303b2e0ea4eac5c960b5a13713f6dbb33dfdb3e32753ec"
+UNINATIVE_CHECKSUM[i686] ?= "bea76b4a97c9ba0077c0dd1295f519cd599dbf71f0ca1c964471c4cdb043addd"
+UNINATIVE_CHECKSUM[x86_64] ?= "1c35f09a75c4096749bbe1e009df4e3968cde151424062cf4aa3ed89db22b030"
diff --git a/poky/meta/conf/documentation.conf b/poky/meta/conf/documentation.conf
index 66b8e2f..23a9c0f 100644
--- a/poky/meta/conf/documentation.conf
+++ b/poky/meta/conf/documentation.conf
@@ -106,6 +106,7 @@
 #C
 
 CACHE[doc]  = "The directory holding the cache of the metadata."
+CCACHE_NATIVE_RECIPES_ALLOWED[doc] = "A list of native recipes to use Ccache, this variable is useful to bypass a circular dependency between ccache-native and cmake-native that inhibits to use Ccache in other native recipes."
 CFLAGS[doc] = "Flags passed to the C compiler for the target system. This variable evaluates to the same as TARGET_CFLAGS."
 CLASSOVERRIDE[doc] = "An internal variable specifying the special class override that should currently apply (e.g. "class-target", "class-native", and so forth)."
 CLEANBROKEN[doc] = "Specifies if 'make clean' does not work for a recipe (and therefore the build system should not try to use it during do_configure)"
@@ -393,7 +394,6 @@
 SRC_URI[doc] = "The list of source files - local or remote. This variable tells the OpenEmbedded build system what bits to pull in for the build and how to pull them in."
 SRC_URI_OVERRIDES_PACKAGE_ARCH[doc] = "By default, the OpenEmbedded build system automatically detects whether SRC_URI contains files that are machine-specific. If so, the build system automatically changes PACKAGE_ARCH. Setting this variable to '0' disables this behavior."
 SRCDATE[doc] = "The date of the source code used to build the package. This variable applies only if the source was fetched from a Source Code Manager (SCM)."
-SRCPV[doc] = "Returns the version string of the current package. This string is used to help define the value of PV."
 SRCREV[doc] = "The revision of the source code used to build the package. This variable applies to Subversion, Git, Mercurial and Bazaar only."
 SSTATE_DIR[doc] = "The directory for the shared state cache."
 SSTATE_MIRRORS[doc] = "Configures the OpenEmbedded build system to search other mirror locations for prebuilt cache data objects before building out the data. You can specify a filesystem directory or a remote URL such as HTTP or FTP."
diff --git a/poky/meta/conf/layer.conf b/poky/meta/conf/layer.conf
index 2cc7ed8..9b94bbd 100644
--- a/poky/meta/conf/layer.conf
+++ b/poky/meta/conf/layer.conf
@@ -7,12 +7,12 @@
 BBFILE_PATTERN_core = "^${LAYERDIR}/"
 BBFILE_PRIORITY_core = "5"
 
-LAYERSERIES_CORENAMES = "mickledore"
+LAYERSERIES_CORENAMES = "nanbield mickledore"
 
 # This should only be incremented on significant changes that will
 # cause compatibility issues with other layers
 LAYERVERSION_core = "15"
-LAYERSERIES_COMPAT_core = "mickledore"
+LAYERSERIES_COMPAT_core = "nanbield"
 
 BBLAYERS_LAYERINDEX_NAME_core = "openembedded-core"
 
diff --git a/poky/meta/conf/machine/include/arm/arch-armv8-4a.inc b/poky/meta/conf/machine/include/arm/arch-armv8-4a.inc
index 29feddb..b61d50d 100644
--- a/poky/meta/conf/machine/include/arm/arch-armv8-4a.inc
+++ b/poky/meta/conf/machine/include/arm/arch-armv8-4a.inc
@@ -6,14 +6,19 @@
 MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8-4a', 'armv8-4a:', '', d)}"
 
 require conf/machine/include/arm/arch-armv8a.inc
+require conf/machine/include/arm/feature-arm-sve.inc
 
 # Little Endian base configs
-AVAILTUNES += "armv8-4a armv8-4a-crypto"
+AVAILTUNES += "armv8-4a armv8-4a-crypto armv8-4a-crypto-sve"
 ARMPKGARCH:tune-armv8-4a                    ?= "armv8-4a"
 ARMPKGARCH:tune-armv8-4a-crypto             ?= "armv8-4a"
+ARMPKGARCH:tune-armv8-4a-crypto-sve         ?= "armv8-4a"
 TUNE_FEATURES:tune-armv8-4a                  = "aarch64 armv8-4a"
 TUNE_FEATURES:tune-armv8-4a-crypto           = "${TUNE_FEATURES:tune-armv8-4a} crypto"
+TUNE_FEATURES:tune-armv8-4a-crypto-sve       = "${TUNE_FEATURES:tune-armv8-4a-crypto} sve"
 PACKAGE_EXTRA_ARCHS:tune-armv8-4a            = "${PACKAGE_EXTRA_ARCHS:tune-armv8a} armv8-4a"
 PACKAGE_EXTRA_ARCHS:tune-armv8-4a-crypto     = "${PACKAGE_EXTRA_ARCHS:tune-armv8-4a} armv8-4a-crypto"
+PACKAGE_EXTRA_ARCHS:tune-armv8-4a-crypto-sve = "${PACKAGE_EXTRA_ARCHS:tune-armv8-4a-crypto} armv8-4a-crypto-sve"
 BASE_LIB:tune-armv8-4a                       = "lib64"
 BASE_LIB:tune-armv8-4a-crypto                = "lib64"
+BASE_LIB:tune-armv8-4a-crypto-sve            = "lib64"
diff --git a/poky/meta/conf/machine/include/arm/arch-armv8-5a.inc b/poky/meta/conf/machine/include/arm/arch-armv8-5a.inc
index a1bcb7f..176bc90 100644
--- a/poky/meta/conf/machine/include/arm/arch-armv8-5a.inc
+++ b/poky/meta/conf/machine/include/arm/arch-armv8-5a.inc
@@ -6,14 +6,19 @@
 MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8-5a', 'armv8-5a:', '', d)}"
 
 require conf/machine/include/arm/arch-armv8a.inc
+require conf/machine/include/arm/feature-arm-sve.inc
 
 # Little Endian base configs
-AVAILTUNES += "armv8-5a armv8-5a-crypto"
+AVAILTUNES += "armv8-5a armv8-5a-crypto armv8-5a-crypto-sve"
 ARMPKGARCH:tune-armv8-5a                    ?= "armv8-5a"
 ARMPKGARCH:tune-armv8-5a-crypto             ?= "armv8-5a"
+ARMPKGARCH:tune-armv8-5a-crypto-sve         ?= "armv8-5a"
 TUNE_FEATURES:tune-armv8-5a                  = "aarch64 armv8-5a"
 TUNE_FEATURES:tune-armv8-5a-crypto           = "${TUNE_FEATURES:tune-armv8-5a} crypto"
+TUNE_FEATURES:tune-armv8-5a-crypto-sve       = "${TUNE_FEATURES:tune-armv8-5a-crypto} sve"
 PACKAGE_EXTRA_ARCHS:tune-armv8-5a            = "${PACKAGE_EXTRA_ARCHS:tune-armv8a} armv8-5a"
 PACKAGE_EXTRA_ARCHS:tune-armv8-5a-crypto     = "${PACKAGE_EXTRA_ARCHS:tune-armv8-5a} armv8-5a-crypto"
+PACKAGE_EXTRA_ARCHS:tune-armv8-5a-crypto-sve = "${PACKAGE_EXTRA_ARCHS:tune-armv8-5a-crypto} armv8-5a-crypto-sve"
 BASE_LIB:tune-armv8-5a                       = "lib64"
 BASE_LIB:tune-armv8-5a-crypto                = "lib64"
+BASE_LIB:tune-armv8-5a-crypto-sve            = "lib64"
diff --git a/poky/meta/conf/machine/include/arm/arch-armv9a.inc b/poky/meta/conf/machine/include/arm/arch-armv9a.inc
index c38d6cf..6945dea 100644
--- a/poky/meta/conf/machine/include/arm/arch-armv9a.inc
+++ b/poky/meta/conf/machine/include/arm/arch-armv9a.inc
@@ -7,22 +7,27 @@
 require conf/machine/include/arm/arch-arm64.inc
 require conf/machine/include/arm/feature-arm-crc.inc
 require conf/machine/include/arm/feature-arm-crypto.inc
+require conf/machine/include/arm/feature-arm-sve.inc
 
 # Little Endian base configs
-AVAILTUNES += "armv9a armv9a-crc armv9a-crc-crypto armv9a-crypto"
+AVAILTUNES += "armv9a armv9a-crc armv9a-crc-crypto armv9a-crc-crypto-sve armv9a-crypto"
 ARMPKGARCH:tune-armv9a                    ?= "armv9a"
 ARMPKGARCH:tune-armv9a-crc                ?= "armv9a"
 ARMPKGARCH:tune-armv9a-crypto             ?= "armv9a"
 ARMPKGARCH:tune-armv9a-crc-crypto         ?= "armv9a"
+ARMPKGARCH:tune-armv9a-crc-crypto-sve     ?= "armv9a"
 TUNE_FEATURES:tune-armv9a                  = "aarch64 armv9a"
 TUNE_FEATURES:tune-armv9a-crc              = "${TUNE_FEATURES:tune-armv9a} crc"
 TUNE_FEATURES:tune-armv9a-crypto           = "${TUNE_FEATURES:tune-armv9a} crypto"
 TUNE_FEATURES:tune-armv9a-crc-crypto       = "${TUNE_FEATURES:tune-armv9a-crc} crypto"
+TUNE_FEATURES:tune-armv9a-crc-crypto-sve   = "${TUNE_FEATURES:tune-armv9a-crc-crypto} sve"
 PACKAGE_EXTRA_ARCHS:tune-armv9a            = "aarch64 armv9a"
 PACKAGE_EXTRA_ARCHS:tune-armv9a-crc        = "${PACKAGE_EXTRA_ARCHS:tune-armv9a} armv9a-crc"
 PACKAGE_EXTRA_ARCHS:tune-armv9a-crypto     = "${PACKAGE_EXTRA_ARCHS:tune-armv9a} armv9a-crypto"
 PACKAGE_EXTRA_ARCHS:tune-armv9a-crc-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv9a-crc} armv9a-crypto armv9a-crc-crypto"
+PACKAGE_EXTRA_ARCHS:tune-armv9a-crc-crypto-sve = "${PACKAGE_EXTRA_ARCHS:tune-armv9a-crc-crypto} armv9a-crc-crypto-sve"
 BASE_LIB:tune-armv9a                       = "lib64"
 BASE_LIB:tune-armv9a-crc                   = "lib64"
 BASE_LIB:tune-armv9a-crypto                = "lib64"
 BASE_LIB:tune-armv9a-crc-crypto            = "lib64"
+BASE_LIB:tune-armv9a-crc-crypto-sve        = "lib64"
diff --git a/poky/meta/conf/machine/include/arm/feature-arm-sve.inc b/poky/meta/conf/machine/include/arm/feature-arm-sve.inc
new file mode 100644
index 0000000..279bf8c
--- /dev/null
+++ b/poky/meta/conf/machine/include/arm/feature-arm-sve.inc
@@ -0,0 +1,5 @@
+# Scalable Vector Extension (SVE) for:
+# armv8.2-a, armv8.3-a, armv8.4-a, armv8.5-a, armv8.6-a, armv8-r, armv9a
+
+TUNEVALID[sve] = "Enable SVE instructions for ARMv8 and ARMv9"
+TUNE_CCARGS_MARCH_OPTS .= "${@bb.utils.contains('TUNE_FEATURES', 'sve', '+sve', '', d)}"
diff --git a/poky/meta/conf/machine/include/loongarch/qemuloongarch.inc b/poky/meta/conf/machine/include/loongarch/qemuloongarch.inc
index 77245ff..30f5605 100644
--- a/poky/meta/conf/machine/include/loongarch/qemuloongarch.inc
+++ b/poky/meta/conf/machine/include/loongarch/qemuloongarch.inc
@@ -29,7 +29,7 @@
 QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no"
 QB_NETWORK_DEVICE = "-device virtio-net-device,netdev=net0,mac=@MAC@"
 QB_ROOTFS_OPT = "-drive id=disk0,file=@ROOTFS@,if=none,format=raw -device virtio-blk-device,drive=disk0"
-QB_SERIAL_OPT = "-device virtio-serial-device -chardev null,id=virtcon -device virtconsole,chardev=virtcon"
-QB_TCPSERIAL_OPT = " -device virtio-serial-device -chardev socket,id=virtcon,port=@PORT@,host=127.0.0.1 -device virtconsole,chardev=virtcon"
+QB_SERIAL_OPT = "-device virtio-serial-pci -chardev null,id=virtcon -device virtconsole,chardev=virtcon"
+QB_TCPSERIAL_OPT = " -device virtio-serial-pci -chardev socket,id=virtcon,port=@PORT@,host=127.0.0.1 -device virtconsole,chardev=virtcon"
 # Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy
 QB_OPT_APPEND = " -object rng-random,filename=/dev/urandom,id=rng0 -device virtio-rng-device,rng=rng0"
diff --git a/poky/meta/conf/machine/include/mips/arch-mips.inc b/poky/meta/conf/machine/include/mips/arch-mips.inc
index e48ddd2..e39cdca 100644
--- a/poky/meta/conf/machine/include/mips/arch-mips.inc
+++ b/poky/meta/conf/machine/include/mips/arch-mips.inc
@@ -26,6 +26,8 @@
 TUNEVALID[n64] = "MIPS64 n64 ABI"
 TUNECONFLICTS[n64] = "o32 n32"
 TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'n64', ' -mabi=64', '', d)}"
+LD64ARG = "${@bb.utils.contains('TUNE_FEATURES', 'bigendian', '-m elf64btsmip', '-m elf64ltsmip', d)}"
+TUNE_LDARGS += "${@bb.utils.contains('TUNE_FEATURES', 'n64', '${LD64ARG}', '', d)}"
 
 # Floating point
 TUNEVALID[fpu-hard] = "Use hardware FPU"
diff --git a/poky/meta/conf/machine/include/mips/tune-mips64r2.inc b/poky/meta/conf/machine/include/mips/tune-mips64r2.inc
index c644f40..e9ca420 100644
--- a/poky/meta/conf/machine/include/mips/tune-mips64r2.inc
+++ b/poky/meta/conf/machine/include/mips/tune-mips64r2.inc
@@ -12,11 +12,13 @@
 BASE_LIB:tune-mips64r2 = "lib64"
 MIPSPKGSFX_VARIANT:tune-mips64r2 = "mips64r2"
 PACKAGE_EXTRA_ARCHS:tune-mips64r2 = "mips64 mips64r2"
+QEMU_EXTRAOPTIONS_mips64r2 = " -cpu MIPS64R2-generic"
 
 TUNE_FEATURES:tune-mips64r2el = "${TUNE_FEATURES:tune-mips64el} mips64r2"
 BASE_LIB:tune-mips64r2el = "lib64"
 MIPSPKGSFX_VARIANT:tune-mips64r2el = "mips64r2el"
 PACKAGE_EXTRA_ARCHS:tune-mips64r2el = "mips64el mips64r2el"
+QEMU_EXTRAOPTIONS_mips64r2el = " -cpu MIPS64R2-generic"
 
 # MIPS 64r2 Soft Float
 AVAILTUNES += "mips64r2-nf mips64r2el-nf"
@@ -25,11 +27,13 @@
 BASE_LIB:tune-mips64r2-nf = "lib64"
 MIPSPKGSFX_VARIANT:tune-mips64r2-nf = "${TUNE_ARCH}"
 PACKAGE_EXTRA_ARCHS:tune-mips64r2-nf = "mips64-nf mips64r2-nf"
+QEMU_EXTRAOPTIONS_mips64r2-nf = " -cpu MIPS64R2-generic"
 
 TUNE_FEATURES:tune-mips64r2el-nf = "${TUNE_FEATURES:tune-mips64el-nf} mips64r2"
 BASE_LIB:tune-mips64r2el-nf = "lib64"
 MIPSPKGSFX_VARIANT:tune-mips64r2el-nf = "${TUNE_ARCH}"
 PACKAGE_EXTRA_ARCHS:tune-mips64r2el-nf = "mips64el-nf mips64r2el-nf"
+QEMU_EXTRAOPTIONS_mips64r2el-nf = " -cpu MIPS64R2-generic"
 
 # MIPS 64r2 n32
 AVAILTUNES += "mips64r2-n32 mips64r2el-n32"
@@ -38,11 +42,13 @@
 BASE_LIB:tune-mips64r2-n32 = "lib32"
 MIPSPKGSFX_VARIANT:tune-mips64r2-n32 = "${TUNE_ARCH}"
 PACKAGE_EXTRA_ARCHS:tune-mips64r2-n32 = "mips64-n32 mips64r2-n32"
+QEMU_EXTRAOPTIONS_mips64r2-n32 = " -cpu MIPS64R2-generic"
 
 TUNE_FEATURES:tune-mips64r2el-n32 = "${TUNE_FEATURES:tune-mips64el-n32} mips64r2"
 BASE_LIB:tune-mips64r2el-n32 = "lib32"
 MIPSPKGSFX_VARIANT:tune-mips64r2el-n32 = "${TUNE_ARCH}"
 PACKAGE_EXTRA_ARCHS:tune-mips64r2el-n32 = "mips64el-n32 mips64r2el-n32"
+QEMU_EXTRAOPTIONS_mips64r2el-n32 = " -cpu MIPS64R2-generic"
 
 # MIPS 64r2 n32 and Soft Float
 AVAILTUNES += "mips64r2-nf-n32 mips64r2el-nf-n32"
@@ -51,11 +57,13 @@
 BASE_LIB:tune-mips64r2-nf-n32 = "lib32"
 MIPSPKGSFX_VARIANT:tune-mips64r2-nf-n32 = "${TUNE_ARCH}"
 PACKAGE_EXTRA_ARCHS:tune-mips64r2-nf-n32 = "mips64-nf-n32 mips64r2-nf-n32"
+QEMU_EXTRAOPTIONS_mips64r2-nf-n32 = " -cpu MIPS64R2-generic"
 
 TUNE_FEATURES:tune-mips64r2el-nf-n32 = "${TUNE_FEATURES:tune-mips64el-nf-n32} mips64r2"
 BASE_LIB:tune-mips64r2el-nf-n32 = "lib32"
 MIPSPKGSFX_VARIANT:tune-mips64r2el-nf-n32 = "${TUNE_ARCH}"
 PACKAGE_EXTRA_ARCHS:tune-mips64r2el-nf-n32 = "mips64el-nf-n32 mips64r2el-nf-n32"
+QEMU_EXTRAOPTIONS_mips64r2el-nf-32 = " -cpu MIPS64R2-generic"
 
 # MIPS 64r2 o32
 AVAILTUNES += "mips64r2-o32 mips64r2el-o32"
@@ -64,11 +72,13 @@
 BASE_LIB:tune-mips64r2-o32 = "lib"
 MIPSPKGSFX_VARIANT:tune-mips64r2-o32 = "${TUNE_ARCH}"
 PACKAGE_EXTRA_ARCHS:tune-mips64r2-o32 = "mips mips64-o32 mips64r2-o32"
+QEMU_EXTRAOPTIONS_mips64r2-o32 = " -cpu MIPS64R2-generic"
 
 TUNE_FEATURES:tune-mips64r2el-o32 = "${TUNE_FEATURES:tune-mips64el-o32} mips64r2"
 BASE_LIB:tune-mips64r2el-o32 = "lib"
 MIPSPKGSFX_VARIANT:tune-mips64r2el-o32 = "${TUNE_ARCH}"
 PACKAGE_EXTRA_ARCHS:tune-mips64r2el-o32 = "mipsel mips64el-o32 mips64r2el-o32"
+QEMU_EXTRAOPTIONS_mips64r2el-o32 = " -cpu MIPS64R2-generic"
 
 # MIPS 64r2 o32 and Soft Float
 AVAILTUNES += "mips64r2-nf-o32 mips64r2el-nf-o32"
@@ -77,8 +87,10 @@
 BASE_LIB:tune-mips64r2-nf-o32 = "lib"
 MIPSPKGSFX_VARIANT:tune-mips64r2-nf-o32 = "${TUNE_ARCH}"
 PACKAGE_EXTRA_ARCHS:tune-mips64r2-nf-o32 = "mips-nf mips64r2-nf-o32"
+QEMU_EXTRAOPTIONS_mips64r2-nf-o32 = " -cpu MIPS64R2-generic"
 
 TUNE_FEATURES:tune-mips64r2el-nf-o32 = "${TUNE_FEATURES:tune-mips64el-nf-o32} mips64r2"
 BASE_LIB:tune-mips64r2el-nf-o32 = "lib"
 MIPSPKGSFX_VARIANT:tune-mips64r2el-nf-o32 = "${TUNE_ARCH}"
 PACKAGE_EXTRA_ARCHS:tune-mips64r2el-nf-o32 = "mipsel-nf mips64r2el-nf-o32"
+QEMU_EXTRAOPTIONS_mips64r2el-nf-o32 = " -cpu MIPS64R2-generic"
diff --git a/poky/meta/conf/machine/include/x86/x86-base.inc b/poky/meta/conf/machine/include/x86/x86-base.inc
index c3cc0db..050c20a 100644
--- a/poky/meta/conf/machine/include/x86/x86-base.inc
+++ b/poky/meta/conf/machine/include/x86/x86-base.inc
@@ -18,7 +18,7 @@
 # kernel-related variables
 #
 PREFERRED_PROVIDER_virtual/kernel ??= "linux-yocto"
-PREFERRED_VERSION_linux-yocto ??= "6.1%"
+PREFERRED_VERSION_linux-yocto ??= "6.4%"
 
 #
 # XSERVER subcomponents, used to build the XSERVER variable
diff --git a/poky/meta/conf/machine/qemuarmv5.conf b/poky/meta/conf/machine/qemuarmv5.conf
index ef1b4ec..deb4869 100644
--- a/poky/meta/conf/machine/qemuarmv5.conf
+++ b/poky/meta/conf/machine/qemuarmv5.conf
@@ -16,5 +16,5 @@
 QB_OPT_APPEND = "-device qemu-xhci -device usb-tablet -device usb-kbd"
 QB_DTB = "${@oe.utils.version_less_or_equal('PREFERRED_VERSION_linux-yocto', '4.7', '', 'zImage-versatile-pb.dtb', d)}"
 
-PREFERRED_VERSION_linux-yocto ??= "6.1%"
+PREFERRED_VERSION_linux-yocto ??= "6.4%"
 KMACHINE:qemuarmv5 = "arm-versatile-926ejs"
diff --git a/poky/meta/files/ext-sdk-prepare.py b/poky/meta/files/ext-sdk-prepare.py
index d191e5e..89b0403 100644
--- a/poky/meta/files/ext-sdk-prepare.py
+++ b/poky/meta/files/ext-sdk-prepare.py
@@ -71,7 +71,7 @@
 
         ret = run_command_interruptible('BB_SETSCENE_ENFORCE=1 bitbake --quiet %s' % ' '.join(sdk_targets))
         if not ret:
-            ret = run_command_interruptible('bitbake --quiet build-sysroots')
+            ret = run_command_interruptible('bitbake --quiet build-sysroots -c build_native_sysroot && bitbake --quiet build-sysroots -c build_target_sysroot')
         lastlog = get_last_consolelog()
         if lastlog:
             with open(lastlog, 'r') as f:
diff --git a/poky/meta/lib/oe/cve_check.py b/poky/meta/lib/oe/cve_check.py
index 5bf3caa..3979d52 100644
--- a/poky/meta/lib/oe/cve_check.py
+++ b/poky/meta/lib/oe/cve_check.py
@@ -156,7 +156,7 @@
         else:
             vendor = "*"
 
-        cpe_id = 'cpe:2.3:a:{}:{}:{}:*:*:*:*:*:*:*'.format(vendor, product, version)
+        cpe_id = 'cpe:2.3:*:{}:{}:{}:*:*:*:*:*:*:*'.format(vendor, product, version)
         cpe_ids.append(cpe_id)
 
     return cpe_ids
diff --git a/poky/meta/lib/oe/package_manager/__init__.py b/poky/meta/lib/oe/package_manager/__init__.py
index 0c31319..6774cdb 100644
--- a/poky/meta/lib/oe/package_manager/__init__.py
+++ b/poky/meta/lib/oe/package_manager/__init__.py
@@ -470,7 +470,10 @@
     # Detect bitbake -b usage
     nodeps = d.getVar("BB_LIMITEDDEPS") or False
     if nodeps or not filterbydependencies:
-        oe.path.symlink(deploydir, subrepo_dir, True)
+        for arch in d.getVar("ALL_MULTILIB_PACKAGE_ARCHS").split() + d.getVar("ALL_MULTILIB_PACKAGE_ARCHS").replace("-", "_").split():
+            target = os.path.join(deploydir + "/" + arch)
+            if os.path.exists(target):
+                oe.path.symlink(target, subrepo_dir + "/" + arch, True)
         return
 
     start = None
diff --git a/poky/meta/lib/oe/patch.py b/poky/meta/lib/oe/patch.py
index 5990896..ff9afc9 100644
--- a/poky/meta/lib/oe/patch.py
+++ b/poky/meta/lib/oe/patch.py
@@ -547,7 +547,10 @@
         reporoot = (runcmd("git rev-parse --show-toplevel".split(), self.dir) or '').strip()
         if not reporoot:
             raise Exception("Cannot get repository root for directory %s" % self.dir)
-        hooks_dir = os.path.join(reporoot, '.git', 'hooks')
+        gitdir = (runcmd("git rev-parse --absolute-git-dir".split(), self.dir) or '').strip()
+        if not gitdir:
+            raise Exception("Cannot get gitdir for directory %s" % self.dir)
+        hooks_dir = os.path.join(gitdir, 'hooks')
         hooks_dir_backup = hooks_dir + '.devtool-orig'
         if os.path.lexists(hooks_dir_backup):
             raise Exception("Git hooks backup directory already exists: %s" % hooks_dir_backup)
diff --git a/poky/meta/lib/oe/recipeutils.py b/poky/meta/lib/oe/recipeutils.py
index 5a902c2..3336db8 100644
--- a/poky/meta/lib/oe/recipeutils.py
+++ b/poky/meta/lib/oe/recipeutils.py
@@ -24,7 +24,7 @@
 from bb.utils import vercmp_string
 
 # Help us to find places to insert values
-recipe_progression = ['SUMMARY', 'DESCRIPTION', 'HOMEPAGE', 'BUGTRACKER', 'SECTION', 'LICENSE', 'LICENSE_FLAGS', 'LIC_FILES_CHKSUM', 'PROVIDES', 'DEPENDS', 'PR', 'PV', 'SRCREV', 'SRCPV', 'SRC_URI', 'S', 'do_fetch()', 'do_unpack()', 'do_patch()', 'EXTRA_OECONF', 'EXTRA_OECMAKE', 'EXTRA_OESCONS', 'do_configure()', 'EXTRA_OEMAKE', 'do_compile()', 'do_install()', 'do_populate_sysroot()', 'INITSCRIPT', 'USERADD', 'GROUPADD', 'PACKAGES', 'FILES', 'RDEPENDS', 'RRECOMMENDS', 'RSUGGESTS', 'RPROVIDES', 'RREPLACES', 'RCONFLICTS', 'ALLOW_EMPTY', 'populate_packages()', 'do_package()', 'do_deploy()', 'BBCLASSEXTEND']
+recipe_progression = ['SUMMARY', 'DESCRIPTION', 'HOMEPAGE', 'BUGTRACKER', 'SECTION', 'LICENSE', 'LICENSE_FLAGS', 'LIC_FILES_CHKSUM', 'PROVIDES', 'DEPENDS', 'PR', 'PV', 'SRCREV', 'SRC_URI', 'S', 'do_fetch()', 'do_unpack()', 'do_patch()', 'EXTRA_OECONF', 'EXTRA_OECMAKE', 'EXTRA_OESCONS', 'do_configure()', 'EXTRA_OEMAKE', 'do_compile()', 'do_install()', 'do_populate_sysroot()', 'INITSCRIPT', 'USERADD', 'GROUPADD', 'PACKAGES', 'FILES', 'RDEPENDS', 'RRECOMMENDS', 'RSUGGESTS', 'RPROVIDES', 'RREPLACES', 'RCONFLICTS', 'ALLOW_EMPTY', 'populate_packages()', 'do_package()', 'do_deploy()', 'BBCLASSEXTEND']
 # Variables that sometimes are a bit long but shouldn't be wrapped
 nowrap_vars = ['SUMMARY', 'HOMEPAGE', 'BUGTRACKER', r'SRC_URI\[(.+\.)?md5sum\]', r'SRC_URI\[(.+\.)?sha256sum\]']
 list_vars = ['SRC_URI', 'LIC_FILES_CHKSUM']
@@ -421,8 +421,6 @@
             # Ensure we handle class-target if we're dealing with one of the variants
             variants.append('target')
             for variant in variants:
-                if variant.startswith("devupstream"):
-                    localdata.setVar('SRCPV', 'git')
                 localdata.setVar('CLASSOVERRIDE', 'class-%s' % variant)
                 fetch_urls(localdata)
 
@@ -947,10 +945,9 @@
         path = path.replace(dirpath, '${%s}' % dirvars[dirpath])
     return path
 
-def get_recipe_pv_without_srcpv(pv, uri_type):
+def get_recipe_pv_with_pfx_sfx(pv, uri_type):
     """
-    Get PV without SRCPV common in SCM's for now only
-    support git.
+    Get PV separating prefix and suffix components.
 
     Returns tuple with pv, prefix and suffix.
     """
@@ -958,7 +955,7 @@
     sfx = ''
 
     if uri_type == 'git':
-        git_regex = re.compile(r"(?P<pfx>v?)(?P<ver>.*?)(?P<sfx>\+[^\+]*(git)?r?(AUTOINC\+))(?P<rev>.*)")
+        git_regex = re.compile(r"(?P<pfx>v?)(?P<ver>.*?)(?P<sfx>\+[^\+]*(git)?r?(AUTOINC\+)?)(?P<rev>.*)")
         m = git_regex.match(pv)
 
         if m:
@@ -1010,7 +1007,7 @@
     src_uri = src_uris.split()[0]
     uri_type, _, _, _, _, _ =  decodeurl(src_uri)
 
-    (pv, pfx, sfx) = get_recipe_pv_without_srcpv(rd.getVar('PV'), uri_type)
+    (pv, pfx, sfx) = get_recipe_pv_with_pfx_sfx(rd.getVar('PV'), uri_type)
     ru['current_version'] = pv
 
     manual_upstream_version = rd.getVar("RECIPE_UPSTREAM_VERSION")
diff --git a/poky/meta/lib/oe/utils.py b/poky/meta/lib/oe/utils.py
index 69ca898..1658f35 100644
--- a/poky/meta/lib/oe/utils.py
+++ b/poky/meta/lib/oe/utils.py
@@ -258,11 +258,11 @@
     if cmds is None:
         return
 
-    for cmd in cmds.strip().split(';'):
-        cmd = cmd.strip()
-        if cmd != '':
-            bb.note("Executing %s ..." % cmd)
-            bb.build.exec_func(cmd, d)
+    cmds = cmds.replace(";", " ")
+
+    for cmd in cmds.split():
+        bb.note("Executing %s ..." % cmd)
+        bb.build.exec_func(cmd, d)
 
 # For each item in items, call the function 'target' with item as the first 
 # argument, extraargs as the other arguments and handle any exceptions in the
diff --git a/poky/meta/lib/oeqa/runtime/cases/rust.py b/poky/meta/lib/oeqa/runtime/cases/rust.py
index 9bf0312..123c942 100644
--- a/poky/meta/lib/oeqa/runtime/cases/rust.py
+++ b/poky/meta/lib/oeqa/runtime/cases/rust.py
@@ -24,7 +24,8 @@
         cls.tc.target.run('rm -r %s' % dirs)
 
     @OETestDepends(['ssh.SSHTest.test_ssh'])
-    @OEHasPackage(['rust'])
+    @OEHasPackage('rust')
+    @OEHasPackage('openssh-scp')
     def test_rust_compile(self):
         status, output = self.target.run('rustc /tmp/test.rs -o /tmp/test')
         msg = 'rust compile failed, output: %s' % output
@@ -35,7 +36,8 @@
         self.assertEqual(status, 0, msg=msg)
 
     @OETestDepends(['ssh.SSHTest.test_ssh'])
-    @OEHasPackage(['cargo'])
+    @OEHasPackage('cargo')
+    @OEHasPackage('openssh-scp')
     def test_cargo_compile(self):
         status, output = self.target.run('cargo new /tmp/hello')
         msg = 'cargo new failed, output: %s' % output
@@ -48,3 +50,15 @@
         status, output = self.target.run('cargo run --manifest-path=/tmp/hello/Cargo.toml')
         msg = 'running compiled file failed, output: %s' % output
         self.assertEqual(status, 0, msg=msg)
+
+class RustCLibExampleTest(OERuntimeTestCase):
+    @OETestDepends(['ssh.SSHTest.test_ssh'])
+    @OEHasPackage('rust-c-lib-example-bin')
+    def test_rust_c_lib_example(self):
+        cmd = "rust-c-lib-example-bin test"
+        status, output = self.target.run(cmd)
+        msg = 'Exit status was not 0. Output: %s' % output
+        self.assertEqual(status, 0, msg=msg)
+
+        msg = 'Incorrect output: %s' % output
+        self.assertEqual(output, "Hello world in rust from C!", msg=msg)
diff --git a/poky/meta/lib/oeqa/selftest/cases/devtool.py b/poky/meta/lib/oeqa/selftest/cases/devtool.py
index 14a80d5..a2b77e5 100644
--- a/poky/meta/lib/oeqa/selftest/cases/devtool.py
+++ b/poky/meta/lib/oeqa/selftest/cases/devtool.py
@@ -433,7 +433,7 @@
         checkvars['LICENSE'] = 'GPL-2.0-only'
         checkvars['LIC_FILES_CHKSUM'] = 'file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263'
         checkvars['S'] = '${WORKDIR}/git'
-        checkvars['PV'] = '0.1+git${SRCPV}'
+        checkvars['PV'] = '0.1+git'
         checkvars['SRC_URI'] = 'git://git.yoctoproject.org/git/dbus-wait;protocol=https;branch=master'
         checkvars['SRCREV'] = srcrev
         checkvars['DEPENDS'] = set(['dbus'])
@@ -572,7 +572,7 @@
         self.assertIn('_git.bb', recipefile, 'Recipe file incorrectly named')
         checkvars = {}
         checkvars['S'] = '${WORKDIR}/git'
-        checkvars['PV'] = '1.0+git${SRCPV}'
+        checkvars['PV'] = '1.0+git'
         checkvars['SRC_URI'] = url_branch
         checkvars['SRCREV'] = '${AUTOREV}'
         self._test_recipe_contents(recipefile, checkvars, [])
@@ -591,7 +591,7 @@
         self.assertIn('_git.bb', recipefile, 'Recipe file incorrectly named')
         checkvars = {}
         checkvars['S'] = '${WORKDIR}/git'
-        checkvars['PV'] = '1.5+git${SRCPV}'
+        checkvars['PV'] = '1.5+git'
         checkvars['SRC_URI'] = url_branch
         checkvars['SRCREV'] = checkrev
         self._test_recipe_contents(recipefile, checkvars, [])
diff --git a/poky/meta/lib/oeqa/selftest/cases/fetch.py b/poky/meta/lib/oeqa/selftest/cases/fetch.py
index c910702..4409917 100644
--- a/poky/meta/lib/oeqa/selftest/cases/fetch.py
+++ b/poky/meta/lib/oeqa/selftest/cases/fetch.py
@@ -103,7 +103,7 @@
 
             r = """
             LICENSE="CLOSED"
-            SRC_URI="git://example.com/repo;branch=master"
+            SRC_URI="git://example.com/repo;branch=master;rev=ffffffffffffffffffffffffffffffffffffffff"
             """
             f = self.write_recipe(textwrap.dedent(r), tempdir)
             d = tinfoil.parse_recipe_file(f)
diff --git a/poky/meta/lib/oeqa/selftest/cases/gitarchivetests.py b/poky/meta/lib/oeqa/selftest/cases/gitarchivetests.py
new file mode 100644
index 0000000..7138208
--- /dev/null
+++ b/poky/meta/lib/oeqa/selftest/cases/gitarchivetests.py
@@ -0,0 +1,136 @@
+#
+# Copyright OpenEmbedded Contributors
+#
+# SPDX-License-Identifier: MIT
+#
+
+import os
+import sys
+basepath = os.path.abspath(os.path.dirname(__file__) + '/../../../../../')
+lib_path = basepath + '/scripts/lib'
+sys.path = sys.path + [lib_path]
+import oeqa.utils.gitarchive as ga
+from oeqa.utils.git import GitError
+import tempfile
+import shutil
+import scriptutils
+import logging
+from oeqa.selftest.case import OESelftestTestCase
+
+logger = scriptutils.logger_create('resulttool')
+
+def create_fake_repository(commit, tag_list=[], add_remote=True):
+    """ Create a testing git directory
+
+    Initialize a simple git repository with one initial commit, and as many
+    tags on this commit as listed in tag_list
+    Returns both git directory path and gitarchive git object
+    If commit is true, fake data will be commited, otherwise it will stay in staging area
+    If commit is true and tag_lsit is non empty, all tags in tag_list will be
+    created on the initial commit
+    Fake remote will also be added to make git ls-remote work
+    """
+    fake_data_file = "fake_data.txt"
+    tempdir = tempfile.mkdtemp(prefix='fake_results.')
+    repo = ga.init_git_repo(tempdir, False, False, logger)
+    if add_remote:
+        repo.run_cmd(["remote", "add", "origin", "."])
+    with open(os.path.join(tempdir, fake_data_file), "w") as fake_data:
+        fake_data.write("Fake data")
+    if commit:
+        repo.run_cmd(["add", fake_data_file])
+        repo.run_cmd(["commit", "-m", "\"Add fake data\""])
+        for tag in tag_list:
+            repo.run_cmd(["tag", tag])
+    
+    return tempdir, repo
+
+def delete_fake_repository(path):
+    shutil.rmtree(path)
+
+def tag_exists(git_obj, target_tag):
+    for tag in git_obj.run_cmd(["tag"]).splitlines():
+        if target_tag == tag:
+            return True
+    return False
+
+class GitArchiveTests(OESelftestTestCase):
+    TEST_BRANCH="main"
+    TEST_COMMIT="0f7d5df"
+    TEST_COMMIT_COUNT="42"
+
+    @classmethod
+    def setUpClass(cls):
+        super().setUpClass()
+        cls.log = logging.getLogger('gitarchivetests')
+        cls.log.setLevel(logging.DEBUG)
+
+    def test_create_first_test_tag(self):
+        path, git_obj = create_fake_repository(False)
+        keywords = {'commit': self.TEST_COMMIT, 'branch': self.TEST_BRANCH, "commit_count": self.TEST_COMMIT_COUNT}
+        target_tag = f"{self.TEST_BRANCH}/{self.TEST_COMMIT_COUNT}-g{self.TEST_COMMIT}/0"
+
+        ga.gitarchive(path, path, True, False,
+                              "Results of {branch}:{commit}", "branch: {branch}\ncommit: {commit}", "{branch}",
+                              False, "{branch}/{commit_count}-g{commit}/{tag_number}",
+                              'Test run #{tag_number} of {branch}:{commit}', '',
+                              [], [], False, keywords, logger)
+        self.assertTrue(tag_exists(git_obj, target_tag), msg=f"Tag {target_tag} has not been created")
+        delete_fake_repository(path)
+
+    def test_create_second_test_tag(self):
+        first_tag = f"{self.TEST_BRANCH}/{self.TEST_COMMIT_COUNT}-g{self.TEST_COMMIT}/0"
+        second_tag = f"{self.TEST_BRANCH}/{self.TEST_COMMIT_COUNT}-g{self.TEST_COMMIT}/1"
+        keywords = {'commit': self.TEST_COMMIT, 'branch': self.TEST_BRANCH, "commit_count": self.TEST_COMMIT_COUNT}
+
+        path, git_obj = create_fake_repository(True, [first_tag])
+        ga.gitarchive(path, path, True, False,
+                              "Results of {branch}:{commit}", "branch: {branch}\ncommit: {commit}", "{branch}",
+                              False, "{branch}/{commit_count}-g{commit}/{tag_number}",
+                              'Test run #{tag_number} of {branch}:{commit}', '',
+                              [], [], False, keywords, logger)
+        self.assertTrue(tag_exists(git_obj, second_tag), msg=f"Second tag {second_tag} has not been created")
+        delete_fake_repository(path)
+
+    def test_get_revs_on_branch(self):
+        fake_tags_list=["main/10-g0f7d5df/0", "main/10-g0f7d5df/1", "foo/20-g2468f5d/0"]
+        tag_name = "{branch}/{commit_number}-g{commit}/{tag_number}"
+
+        path, git_obj = create_fake_repository(True, fake_tags_list)
+        revs = ga.get_test_revs(logger, git_obj, tag_name, branch="main")
+        self.assertEqual(len(revs), 1)
+        self.assertEqual(revs[0].commit, "0f7d5df")
+        self.assertEqual(len(revs[0].tags), 2)
+        self.assertEqual(revs[0].tags, ['main/10-g0f7d5df/0', 'main/10-g0f7d5df/1'])
+        delete_fake_repository(path)
+
+    def test_get_tags_without_valid_remote(self):
+        url = 'git://git.yoctoproject.org/poky'
+        path, git_obj = create_fake_repository(False, None, False)
+
+        tags = ga.get_tags(git_obj, self.log, pattern="yocto-*", url=url)
+        """Test for some well established tags (released tags)"""
+        self.assertIn("yocto-4.0", tags)
+        self.assertIn("yocto-4.1", tags)
+        self.assertIn("yocto-4.2", tags)
+        delete_fake_repository(path)
+
+    def test_get_tags_with_only_local_tag(self):
+        fake_tags_list=["main/10-g0f7d5df/0", "main/10-g0f7d5df/1", "foo/20-g2468f5d/0"]
+        path, git_obj = create_fake_repository(True, fake_tags_list, False)
+
+        """No remote is configured and no url is passed: get_tags must fall
+        back to local tags
+        """
+        tags = ga.get_tags(git_obj, self.log)
+        self.assertCountEqual(tags, fake_tags_list)
+        delete_fake_repository(path)
+
+    def test_get_tags_without_valid_remote_and_wrong_url(self):
+        url = 'git://git.foo.org/bar'
+        path, git_obj = create_fake_repository(False, None, False)
+
+        """Test for some well established tags (released tags)"""
+        with self.assertRaises(GitError):
+            tags = ga.get_tags(git_obj, self.log, pattern="yocto-*", url=url)
+        delete_fake_repository(path)
diff --git a/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py b/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py
index a5e069d..dc88c22 100644
--- a/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py
+++ b/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py
@@ -199,7 +199,7 @@
         image = 'core-image-minimal'
 
         all_image_types = set(get_bb_var("IMAGE_TYPES", image).split())
-        skip_image_types = set(('container', 'elf', 'f2fs', 'tar.zst', 'wic.zst', 'squashfs-lzo'))
+        skip_image_types = set(('container', 'elf', 'f2fs', 'tar.zst', 'wic.zst', 'squashfs-lzo', 'vfat'))
         img_types = all_image_types - skip_image_types
 
         config = """
diff --git a/poky/meta/lib/oeqa/selftest/cases/meta_ide.py b/poky/meta/lib/oeqa/selftest/cases/meta_ide.py
index bae9835..59270fb 100644
--- a/poky/meta/lib/oeqa/selftest/cases/meta_ide.py
+++ b/poky/meta/lib/oeqa/selftest/cases/meta_ide.py
@@ -18,7 +18,8 @@
     def setUpClass(cls):
         super(MetaIDE, cls).setUpClass()
         bitbake('meta-ide-support')
-        bitbake('build-sysroots')
+        bitbake('build-sysroots -c build_native_sysroot')
+        bitbake('build-sysroots -c build_target_sysroot')
         bb_vars = get_bb_vars(['MULTIMACH_TARGET_SYS', 'DEPLOY_DIR_IMAGE', 'COREBASE'])
         cls.environment_script = 'environment-setup-%s' % bb_vars['MULTIMACH_TARGET_SYS']
         cls.deploydir = bb_vars['DEPLOY_DIR_IMAGE']
@@ -55,5 +56,5 @@
 
     def test_meta_ide_can_run_sdk_tests(self):
         bitbake('-c populate_sysroot gtk+3')
-        bitbake('build-sysroots')
+        bitbake('build-sysroots -c build_target_sysroot')
         bitbake('-c testsdk meta-ide-support')
diff --git a/poky/meta/lib/oeqa/selftest/cases/recipetool.py b/poky/meta/lib/oeqa/selftest/cases/recipetool.py
index a5c0f71..48661be 100644
--- a/poky/meta/lib/oeqa/selftest/cases/recipetool.py
+++ b/poky/meta/lib/oeqa/selftest/cases/recipetool.py
@@ -368,7 +368,7 @@
         checkvars['LICENSE'] = 'LGPL-2.1-only'
         checkvars['LIC_FILES_CHKSUM'] = 'file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34'
         checkvars['S'] = '${WORKDIR}/git'
-        checkvars['PV'] = '1.11+git${SRCPV}'
+        checkvars['PV'] = '1.11+git'
         checkvars['SRC_URI'] = srcuri + ';branch=master'
         checkvars['DEPENDS'] = set(['libcheck', 'libjpeg-turbo', 'libpng', 'libx11', 'libxext', 'pango'])
         inherits = ['autotools', 'pkgconfig']
diff --git a/poky/meta/lib/oeqa/selftest/cases/sstatetests.py b/poky/meta/lib/oeqa/selftest/cases/sstatetests.py
index 3fa3038..bdad908 100644
--- a/poky/meta/lib/oeqa/selftest/cases/sstatetests.py
+++ b/poky/meta/lib/oeqa/selftest/cases/sstatetests.py
@@ -188,7 +188,6 @@
 class SStateTests(SStateBase):
     def test_autorev_sstate_works(self):
         # Test that a git repository which changes is correctly handled by SRCREV = ${AUTOREV}
-        # when PV does not contain SRCPV
 
         tempdir = tempfile.mkdtemp(prefix='sstate_autorev')
         tempdldir = tempfile.mkdtemp(prefix='sstate_autorev_dldir')
diff --git a/poky/meta/lib/oeqa/selftest/cases/wic.py b/poky/meta/lib/oeqa/selftest/cases/wic.py
index a3c6deb..aa61349 100644
--- a/poky/meta/lib/oeqa/selftest/cases/wic.py
+++ b/poky/meta/lib/oeqa/selftest/cases/wic.py
@@ -731,6 +731,23 @@
         size = os.path.getsize(wicout[0])
         self.assertTrue(size > extraspace)
 
+    def test_no_table(self):
+        """Test --no-table wks option."""
+        wks_file = 'temp.wks'
+
+        # Absolute argument.
+        with open(wks_file, 'w') as wks:
+            wks.write("part testspace --no-table --fixed-size 16k --offset 4080k")
+        runCmd("wic create %s --image-name core-image-minimal -o %s" % (wks_file, self.resultdir))
+
+        wicout = glob(os.path.join(self.resultdir, "*.*"))
+
+        self.assertEqual(1, len(wicout))
+        size = os.path.getsize(wicout[0])
+        self.assertEqual(size, 4 * 1024 * 1024)
+
+        os.remove(wks_file)
+
 class Wic2(WicTestCase):
 
     def test_bmap_short(self):
diff --git a/poky/meta/lib/oeqa/selftest/context.py b/poky/meta/lib/oeqa/selftest/context.py
index f2a5ba7..bd03e76 100644
--- a/poky/meta/lib/oeqa/selftest/context.py
+++ b/poky/meta/lib/oeqa/selftest/context.py
@@ -226,14 +226,14 @@
         machines = []
 
         bbpath = self.tc_kwargs['init']['td']['BBPATH'].split(':')
-    
+
         for path in bbpath:
             found_machines = glob.glob(os.path.join(path, 'conf', 'machine', '*.conf'))
             if found_machines:
                 for i in found_machines:
                     # eg: '/home/<user>/poky/meta-intel/conf/machine/intel-core2-32.conf'
                     machines.append(os.path.splitext(os.path.basename(i))[0])
-    
+
         return machines
 
     def _get_cases_paths(self, bbpath):
@@ -306,7 +306,7 @@
                 os.chdir(builddir)
 
             if not "meta-selftest" in self.tc.td["BBLAYERS"]:
-                self.tc.logger.warning("meta-selftest layer not found in BBLAYERS, adding it")
+                self.tc.logger.info("meta-selftest layer not found in BBLAYERS, adding it")
                 meta_selftestdir = os.path.join(
                     self.tc.td["BBLAYERS_FETCH_DIR"], 'meta-selftest')
                 if os.path.isdir(meta_selftestdir):
diff --git a/poky/meta/lib/oeqa/utils/gitarchive.py b/poky/meta/lib/oeqa/utils/gitarchive.py
index 6e8040e..64448f4 100644
--- a/poky/meta/lib/oeqa/utils/gitarchive.py
+++ b/poky/meta/lib/oeqa/utils/gitarchive.py
@@ -100,9 +100,44 @@
         if os.path.exists(tmp_index):
             os.unlink(tmp_index)
 
+def get_tags(repo, log, pattern=None, url=None):
+    """ Fetch remote tags from current repository
+
+    A pattern can be provided to filter returned tags list
+    An URL can be provided if local repository has no valid remote configured
+    """
+
+    base_cmd = ['ls-remote', '--refs', '--tags', '-q']
+    cmd = base_cmd.copy()
+
+    # First try to fetch tags from repository configured remote
+    cmd.append('origin')
+    if pattern:
+        cmd.append(pattern)
+    try:
+        tags_refs = repo.run_cmd(cmd)
+        tags = ["".join(d.split()[1].split('/', 2)[2:]) for d in tags_refs.splitlines()]
+    except GitError as e:
+        # If it fails, retry with repository url if one is provided
+        if url:
+            log.info("No remote repository configured, use provided url")
+            cmd = base_cmd.copy()
+            cmd.append(url)
+            if pattern:
+                cmd.append(pattern)
+            tags_refs = repo.run_cmd(cmd)
+            tags = ["".join(d.split()[1].split('/', 2)[2:]) for d in tags_refs.splitlines()]
+        else:
+            log.info("Read local tags only, some remote tags may be missed")
+            cmd = ["tag"]
+            if pattern:
+                cmd += ["-l", pattern]
+            tags = repo.run_cmd(cmd).splitlines()
+
+    return tags
 
 def expand_tag_strings(repo, name_pattern, msg_subj_pattern, msg_body_pattern,
-                       keywords):
+                       url, log, keywords):
     """Generate tag name and message, with support for running id number"""
     keyws = keywords.copy()
     # Tag number is handled specially: if not defined, we autoincrement it
@@ -116,7 +151,7 @@
         tag_re = tag_re.format(tag_number='(?P<tag_number>[0-9]{1,5})')
 
         keyws['tag_number'] = 0
-        for existing_tag in repo.run_cmd('tag').splitlines():
+        for existing_tag in get_tags(repo, log, url=url):
             match = re.match(tag_re, existing_tag)
 
             if match and int(match.group('tag_number')) >= keyws['tag_number']:
@@ -143,7 +178,8 @@
     if not no_tag and tagname:
         tag_name, tag_msg = expand_tag_strings(data_repo, tagname,
                                                tag_msg_subject,
-                                               tag_msg_body, keywords)
+                                               tag_msg_body,
+                                               push, log, keywords)
 
     # Commit data
     commit = git_commit_data(data_repo, data_dir, branch_name,
@@ -181,7 +217,7 @@
 
     # Get a list of all matching tags
     tag_pattern = tag_name.format(**str_fields)
-    tags = repo.run_cmd(['tag', '-l', tag_pattern]).splitlines()
+    tags = get_tags(repo, log, pattern=tag_pattern)
     log.debug("Found %d tags matching pattern '%s'", len(tags), tag_pattern)
 
     # Parse undefined fields from tag names
diff --git a/poky/meta/recipes-bsp/efivar/efivar_38.bb b/poky/meta/recipes-bsp/efivar/efivar_38.bb
index 411e951..d88eb3f 100644
--- a/poky/meta/recipes-bsp/efivar/efivar_38.bb
+++ b/poky/meta/recipes-bsp/efivar/efivar_38.bb
@@ -11,7 +11,7 @@
            file://0001-docs-do-not-build-efisecdb-manpage.patch \
            "
 SRCREV = "90e88b221e8bc60dc50f3246051369b8f580c0d0"
-PV .= "+39+git${SRCPV}"
+PV .= "+39+git"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-bsp/gnu-efi/gnu-efi/no-werror.patch b/poky/meta/recipes-bsp/gnu-efi/gnu-efi/no-werror.patch
new file mode 100644
index 0000000..db2bcf7
--- /dev/null
+++ b/poky/meta/recipes-bsp/gnu-efi/gnu-efi/no-werror.patch
@@ -0,0 +1,19 @@
+Do not treat warnings as errors
+
+There are additional warnings found with musl which are
+treated as errors and fails the build, we have more combinations
+then upstream supports to handle
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Inappropriate [OE specific]
+--- a/Make.defaults
++++ b/Make.defaults
+@@ -187,7 +187,7 @@ CFLAGS  += $(ARCH3264) -g -O2 -Wall -Wex
+            -funsigned-char -fshort-wchar -fno-strict-aliasing \
+            -ffreestanding -fno-stack-protector
+ else
+-CFLAGS  += $(ARCH3264) -g -O2 -Wall -Wextra -Wno-pointer-sign -Werror \
++CFLAGS  += $(ARCH3264) -g -O2 -Wall -Wextra -Wno-pointer-sign \
+            -funsigned-char -fshort-wchar -fno-strict-aliasing \
+ 	   -ffreestanding -fno-stack-protector -fno-stack-check \
+            -fno-stack-check \
diff --git a/poky/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.17.bb b/poky/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.17.bb
index d37d638..43b7cc7 100644
--- a/poky/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.17.bb
+++ b/poky/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.17.bb
@@ -17,8 +17,8 @@
            file://gnu-efi-3.0.9-fix-clang-build.patch \
            file://0001-riscv64-adjust-type-definitions.patch \
            file://0001-riscv64-ignore-unknown-relocs.patch \
+           file://no-werror.patch \
            "
-
 SRC_URI[sha256sum] = "7807e903349343a7a142ebb934703a2872235e89688cf586c032b0a1087bcaf4"
 
 COMPATIBLE_HOST = "(x86_64.*|i.86.*|aarch64.*|arm.*|riscv64.*)-linux"
diff --git a/poky/meta/recipes-connectivity/avahi/avahi_0.8.bb b/poky/meta/recipes-connectivity/avahi/avahi_0.8.bb
index 7b0f490..4c830cc 100644
--- a/poky/meta/recipes-connectivity/avahi/avahi_0.8.bb
+++ b/poky/meta/recipes-connectivity/avahi/avahi_0.8.bb
@@ -25,6 +25,7 @@
            file://0001-Fix-opening-etc-resolv.conf-error.patch \
            file://handle-hup.patch \
            file://local-ping.patch \
+           file://invalid-service.patch \
            "
 
 GITHUB_BASE_URI = "https://github.com/lathiat/avahi/releases/"
diff --git a/poky/meta/recipes-connectivity/avahi/files/invalid-service.patch b/poky/meta/recipes-connectivity/avahi/files/invalid-service.patch
new file mode 100644
index 0000000..8f188af
--- /dev/null
+++ b/poky/meta/recipes-connectivity/avahi/files/invalid-service.patch
@@ -0,0 +1,29 @@
+From 46490e95151d415cd22f02565e530eb5efcef680 Mon Sep 17 00:00:00 2001
+From: Asger Hautop Drewsen <asger@princh.com>
+Date: Mon, 9 Aug 2021 14:25:08 +0200
+Subject: [PATCH] Fix avahi-browse: Invalid service type
+
+Invalid service types will stop the browse from completing, or
+in simple terms "my washing machine stops me from printing".
+
+Upstream-Status: Submitted [https://github.com/lathiat/avahi/pull/472]
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+---
+ avahi-core/browse-service.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/avahi-core/browse-service.c b/avahi-core/browse-service.c
+index 63e0275a..ac3d2ecb 100644
+--- a/avahi-core/browse-service.c
++++ b/avahi-core/browse-service.c
+@@ -103,7 +103,9 @@ AvahiSServiceBrowser *avahi_s_service_browser_prepare(
+     AVAHI_CHECK_VALIDITY_RETURN_NULL(server, AVAHI_PROTO_VALID(protocol), AVAHI_ERR_INVALID_PROTOCOL);
+     AVAHI_CHECK_VALIDITY_RETURN_NULL(server, !domain || avahi_is_valid_domain_name(domain), AVAHI_ERR_INVALID_DOMAIN_NAME);
+     AVAHI_CHECK_VALIDITY_RETURN_NULL(server, AVAHI_FLAGS_VALID(flags, AVAHI_LOOKUP_USE_WIDE_AREA|AVAHI_LOOKUP_USE_MULTICAST), AVAHI_ERR_INVALID_FLAGS);
+-    AVAHI_CHECK_VALIDITY_RETURN_NULL(server, avahi_is_valid_service_type_generic(service_type), AVAHI_ERR_INVALID_SERVICE_TYPE);
++
++    if (!avahi_is_valid_service_type_generic(service_type))
++        service_type = "_invalid._tcp";
+ 
+     if (!domain)
+         domain = server->domain_name;
diff --git a/poky/meta/recipes-connectivity/bind/bind_9.18.17.bb b/poky/meta/recipes-connectivity/bind/bind_9.18.18.bb
similarity index 97%
rename from poky/meta/recipes-connectivity/bind/bind_9.18.17.bb
rename to poky/meta/recipes-connectivity/bind/bind_9.18.18.bb
index 9e7973e..e74e685 100644
--- a/poky/meta/recipes-connectivity/bind/bind_9.18.17.bb
+++ b/poky/meta/recipes-connectivity/bind/bind_9.18.18.bb
@@ -20,7 +20,7 @@
            file://0001-avoid-start-failure-with-bind-user.patch \
            "
 
-SRC_URI[sha256sum] = "bde1c5017b81d1d79c69eb8f537f2e5032fd3623acdd5ee830d4f74bc2483458"
+SRC_URI[sha256sum] = "d735cdc127a6c5709bde475b5bf16fa2133f36fdba202f7c3c37d134e5192160"
 
 UPSTREAM_CHECK_URI = "https://ftp.isc.org/isc/bind9/"
 # follow the ESV versions divisible by 2
diff --git a/poky/meta/recipes-connectivity/bluez5/bluez5.inc b/poky/meta/recipes-connectivity/bluez5/bluez5.inc
index d2ee2b4..e10158a 100644
--- a/poky/meta/recipes-connectivity/bluez5/bluez5.inc
+++ b/poky/meta/recipes-connectivity/bluez5/bluez5.inc
@@ -55,7 +55,6 @@
            file://0001-tests-add-a-target-for-building-tests-without-runnin.patch \
            file://0001-test-gatt-Fix-hung-issue.patch \
            file://0004-src-shared-util.c-include-linux-limits.h.patch \
-           file://fix-check-ell-path.patch \
            "
 S = "${WORKDIR}/bluez-${PV}"
 
diff --git a/poky/meta/recipes-connectivity/bluez5/bluez5/fix-check-ell-path.patch b/poky/meta/recipes-connectivity/bluez5/bluez5/fix-check-ell-path.patch
deleted file mode 100644
index 7afa639..0000000
--- a/poky/meta/recipes-connectivity/bluez5/bluez5/fix-check-ell-path.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-Upstream-Status: Submitted [https://marc.info/?l=linux-bluetooth&m=168818474411163&w=2]
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
-
-From linux-bluetooth  Sat Jul 01 04:12:52 2023
-From: Rudi Heitbaum <rudi () heitbaum ! com>
-Date: Sat, 01 Jul 2023 04:12:52 +0000
-To: linux-bluetooth
-Subject: [PATCH] configure: Fix check ell path for cross compiling
-Message-Id: <20230701041252.139338-1-rudi () heitbaum ! com>
-X-MARC-Message: https://marc.info/?l=linux-bluetooth&m=168818474411163
-
-Use of AC_CHECK_FILE prevents cross compilation.
-Instead use test to support cross compiling.
-
-Signed-off-by: Rudi Heitbaum <rudi@heitbaum.com>
----
- configure.ac | 7 ++++---
- 1 file changed, 4 insertions(+), 3 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index eff297960..bc7edfcd3 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -298,9 +298,10 @@ if (test "${enable_external_ell}" = "yes"); then
- 	AC_SUBST(ELL_LIBS)
- fi
- if (test "${enable_external_ell}" != "yes"); then
--	AC_CHECK_FILE(${srcdir}/ell/ell.h, dummy=yes,
--			AC_CHECK_FILE(${srcdir}/../ell/ell/ell.h, dummy=yes,
--				AC_MSG_ERROR(ELL source is required or use --enable-external-ell)))
-+	if (test ! -f ${srcdir}/ell/ell.h) &&
-+			(test ! -f ${srcdir}/../ell/ell/ell.h); then
-+				AC_MSG_ERROR(ELL source is required or use --enable-external-ell)
-+	fi
- fi
- AM_CONDITIONAL(EXTERNAL_ELL, test "${enable_external_ell}" = "yes" ||
- 				(test "${enable_btpclient}" != "yes" &&
--- 
-2.34.1
diff --git a/poky/meta/recipes-connectivity/bluez5/bluez5_5.68.bb b/poky/meta/recipes-connectivity/bluez5/bluez5_5.69.bb
similarity index 94%
rename from poky/meta/recipes-connectivity/bluez5/bluez5_5.68.bb
rename to poky/meta/recipes-connectivity/bluez5/bluez5_5.69.bb
index 7c7ad75..4673000 100644
--- a/poky/meta/recipes-connectivity/bluez5/bluez5_5.68.bb
+++ b/poky/meta/recipes-connectivity/bluez5/bluez5_5.69.bb
@@ -1,6 +1,6 @@
 require bluez5.inc
 
-SRC_URI[sha256sum] = "fc505e6445cb579a55cacee6821fe70d633921522043d322b696de0a175ff933"
+SRC_URI[sha256sum] = "bc5a35ddc7c72d0d3999a0d7b2175c8b7d57ab670774f8b5b4900ff38a2627fc"
 
 CVE_STATUS[CVE-2020-24490] = "cpe-incorrect: This issue has kernel fixes rather than bluez fixes"
 
diff --git a/poky/meta/recipes-connectivity/connman/connman-conf/main.conf b/poky/meta/recipes-connectivity/connman/connman-conf/main.conf
index a394e8f..3c9dd39 100644
--- a/poky/meta/recipes-connectivity/connman/connman-conf/main.conf
+++ b/poky/meta/recipes-connectivity/connman/connman-conf/main.conf
@@ -1,2 +1,2 @@
 [General]
-NetworkInterfaceBlacklist = eth0
+NetworkInterfaceBlacklist = eth,en
diff --git a/poky/meta/recipes-connectivity/connman/connman/0001-gdhcp-Verify-and-sanitize-packet-length-first.patch b/poky/meta/recipes-connectivity/connman/connman/0001-gdhcp-Verify-and-sanitize-packet-length-first.patch
deleted file mode 100644
index 8e2f47a..0000000
--- a/poky/meta/recipes-connectivity/connman/connman/0001-gdhcp-Verify-and-sanitize-packet-length-first.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From 99e2c16ea1cced34a5dc450d76287a1c3e762138 Mon Sep 17 00:00:00 2001
-From: Daniel Wagner <wagi@monom.org>
-Date: Tue, 11 Apr 2023 08:12:56 +0200
-Subject: [PATCH] gdhcp: Verify and sanitize packet length first
-
-Avoid overwriting the read packet length after the initial test. Thus
-move all the length checks which depends on the total length first
-and do not use the total lenght from the IP packet afterwards.
-
-Fixes CVE-2023-28488
-
-Reported by Polina Smirnova <moe.hwr@gmail.com>
-
-CVE: CVE-2023-28488
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@arm.com>
-
----
- gdhcp/client.c | 16 +++++++++-------
- 1 file changed, 9 insertions(+), 7 deletions(-)
-
-diff --git a/gdhcp/client.c b/gdhcp/client.c
-index 7efa7e45..82017692 100644
---- a/gdhcp/client.c
-+++ b/gdhcp/client.c
-@@ -1319,9 +1319,9 @@ static bool sanity_check(struct ip_udp_dhcp_packet *packet, int bytes)
- static int dhcp_recv_l2_packet(struct dhcp_packet *dhcp_pkt, int fd,
- 				struct sockaddr_in *dst_addr)
- {
--	int bytes;
- 	struct ip_udp_dhcp_packet packet;
- 	uint16_t check;
-+	int bytes, tot_len;
- 
- 	memset(&packet, 0, sizeof(packet));
- 
-@@ -1329,15 +1329,17 @@ static int dhcp_recv_l2_packet(struct dhcp_packet *dhcp_pkt, int fd,
- 	if (bytes < 0)
- 		return -1;
- 
--	if (bytes < (int) (sizeof(packet.ip) + sizeof(packet.udp)))
--		return -1;
--
--	if (bytes < ntohs(packet.ip.tot_len))
-+	tot_len = ntohs(packet.ip.tot_len);
-+	if (bytes > tot_len) {
-+		/* ignore any extra garbage bytes */
-+		bytes = tot_len;
-+	} else if (bytes < tot_len) {
- 		/* packet is bigger than sizeof(packet), we did partial read */
- 		return -1;
-+	}
- 
--	/* ignore any extra garbage bytes */
--	bytes = ntohs(packet.ip.tot_len);
-+	if (bytes < (int) (sizeof(packet.ip) + sizeof(packet.udp)))
-+		return -1;
- 
- 	if (!sanity_check(&packet, bytes))
- 		return -1;
--- 
-2.34.1
-
diff --git a/poky/meta/recipes-connectivity/connman/connman/0001-vpn-Adding-support-for-latest-pppd-2.5.0-release.patch b/poky/meta/recipes-connectivity/connman/connman/0001-vpn-Adding-support-for-latest-pppd-2.5.0-release.patch
index 83343fd..9e5ac8d 100644
--- a/poky/meta/recipes-connectivity/connman/connman/0001-vpn-Adding-support-for-latest-pppd-2.5.0-release.patch
+++ b/poky/meta/recipes-connectivity/connman/connman/0001-vpn-Adding-support-for-latest-pppd-2.5.0-release.patch
@@ -1,4 +1,4 @@
-From 5f373f373f5baccc282dce257b7b16c8bb4a82c4 Mon Sep 17 00:00:00 2001
+From af55a6a414d32c12f9ef3cab778385a361e1ad6d Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Eivind=20N=C3=A6ss?= <eivnaes@yahoo.com>
 Date: Sat, 25 Mar 2023 20:51:52 +0000
 Subject: [PATCH] vpn: Adding support for latest pppd 2.5.0 release
@@ -11,82 +11,12 @@
 
 Upstream-Status: Backport [https://git.kernel.org/pub/scm/network/connman/connman.git/commit/?id=a48864a2e5d2a725dfc6eef567108bc13b43857f]
 Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+
 ---
- configure.ac            |  42 ++++++++-----
  scripts/libppp-compat.h | 127 ++++++++++++++++++++++++++++++++++++++++
- scripts/libppp-plugin.c |  15 +++--
- 3 files changed, 161 insertions(+), 23 deletions(-)
+ 1 file changed, 127 insertions(+)
  create mode 100644 scripts/libppp-compat.h
 
-diff --git a/configure.ac b/configure.ac
-index a573cef..f34bb38 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -135,14 +135,6 @@ AC_ARG_ENABLE(l2tp,
- 	AC_HELP_STRING([--enable-l2tp], [enable l2tp support]),
- 			[enable_l2tp=${enableval}], [enable_l2tp="no"])
- if (test "${enable_l2tp}" != "no"); then
--	if (test -z "${path_pppd}"); then
--		AC_PATH_PROG(PPPD, [pppd], [/usr/sbin/pppd], $PATH:/sbin:/usr/sbin)
--	else
--		PPPD="${path_pppd}"
--		AC_SUBST(PPPD)
--	fi
--	AC_CHECK_HEADERS(pppd/pppd.h, dummy=yes,
--			AC_MSG_ERROR(ppp header files are required))
- 	if (test -z "${path_l2tp}"); then
- 		AC_PATH_PROG(L2TP, [xl2tpd], [/usr/sbin/xl2tpd], $PATH:/sbin:/usr/sbin)
- 	else
-@@ -160,6 +152,18 @@ AC_ARG_ENABLE(pptp,
- 	AC_HELP_STRING([--enable-pptp], [enable pptp support]),
- 			[enable_pptp=${enableval}], [enable_pptp="no"])
- if (test "${enable_pptp}" != "no"); then
-+	if (test -z "${path_pptp}"); then
-+		AC_PATH_PROG(PPTP, [pptp], [/usr/sbin/pptp], $PATH:/sbin:/usr/sbin)
-+	else
-+		PPTP="${path_pptp}"
-+		AC_SUBST(PPTP)
-+	fi
-+fi
-+AM_CONDITIONAL(PPTP, test "${enable_pptp}" != "no")
-+AM_CONDITIONAL(PPTP_BUILTIN, test "${enable_pptp}" = "builtin")
-+
-+if (test "${enable_pptp}" != "no" || test "${enable_l2tp}" != "no"); then
-+
- 	if (test -z "${path_pppd}"); then
- 		AC_PATH_PROG(PPPD, [pppd], [/usr/sbin/pppd], $PATH:/sbin:/usr/sbin)
- 	else
-@@ -168,15 +172,23 @@ if (test "${enable_pptp}" != "no"); then
- 	fi
- 	AC_CHECK_HEADERS(pppd/pppd.h, dummy=yes,
- 			AC_MSG_ERROR(ppp header files are required))
--	if (test -z "${path_pptp}"); then
--		AC_PATH_PROG(PPTP, [pptp], [/usr/sbin/pptp], $PATH:/sbin:/usr/sbin)
--	else
--		PPTP="${path_pptp}"
--		AC_SUBST(PPTP)
-+	AC_CHECK_HEADERS([pppd/chap.h pppd/chap-new.h pppd/chap_ms.h])
-+
-+	PKG_CHECK_EXISTS([pppd],
-+	    [AS_VAR_SET([pppd_pkgconfig_support],[yes])])
-+
-+	PPPD_VERSION=2.4.9
-+	if test x"$pppd_pkgconfig_support" = xyes; then
-+	    PPPD_VERSION=`$PKG_CONFIG --modversion pppd`
- 	fi
-+
-+	AC_DEFINE_UNQUOTED([PPP_VERSION(x,y,z)],
-+	    [((x & 0xFF) << 16 | (y & 0xFF) << 8 | (z & 0xFF) << 0)],
-+	    [Macro to help determine the particular version of pppd])
-+	PPP_VERSION=$(echo $PPPD_VERSION | sed -e "s/\./\,/g")
-+	AC_DEFINE_UNQUOTED(WITH_PPP_VERSION, PPP_VERSION($PPP_VERSION),
-+	    [The real version of pppd represented as an int])
- fi
--AM_CONDITIONAL(PPTP, test "${enable_pptp}" != "no")
--AM_CONDITIONAL(PPTP_BUILTIN, test "${enable_pptp}" = "builtin")
- 
- AC_CHECK_HEADERS(resolv.h, dummy=yes,
- 	AC_MSG_ERROR(resolver header files are required))
 diff --git a/scripts/libppp-compat.h b/scripts/libppp-compat.h
 new file mode 100644
 index 0000000..eee1d09
@@ -220,55 +150,3 @@
 +
 +#endif /* #if WITH_PPP_VERSION < PPP_VERSION(2,5,0) */
 +#endif /* #if__LIBPPP_COMPAT_H__ */
-diff --git a/scripts/libppp-plugin.c b/scripts/libppp-plugin.c
-index 0dd8b47..61641b5 100644
---- a/scripts/libppp-plugin.c
-+++ b/scripts/libppp-plugin.c
-@@ -29,14 +29,13 @@
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <fcntl.h>
--#include <pppd/pppd.h>
--#include <pppd/fsm.h>
--#include <pppd/ipcp.h>
- #include <netinet/in.h>
- #include <arpa/inet.h>
- 
- #include <dbus/dbus.h>
- 
-+#include "libppp-compat.h"
-+
- #define INET_ADDRES_LEN (INET_ADDRSTRLEN + 5)
- #define INET_DNS_LEN	(2*INET_ADDRSTRLEN + 9)
- 
-@@ -47,7 +46,7 @@ static char *path;
- static DBusConnection *connection;
- static int prev_phase;
- 
--char pppd_version[] = VERSION;
-+char pppd_version[] = PPPD_VERSION;
- 
- int plugin_init(void);
- 
-@@ -170,7 +169,7 @@ static void ppp_up(void *data, int arg)
- 			DBUS_TYPE_STRING_AS_STRING DBUS_TYPE_STRING_AS_STRING
- 			DBUS_DICT_ENTRY_END_CHAR_AS_STRING, &dict);
- 
--	append(&dict, "INTERNAL_IFNAME", ifname);
-+	append(&dict, "INTERNAL_IFNAME", ppp_ifname());
- 
- 	inet_ntop(AF_INET, &ipcp_gotoptions[0].ouraddr, buf, INET_ADDRSTRLEN);
- 	append(&dict, "INTERNAL_IP4_ADDRESS", buf);
-@@ -309,9 +308,9 @@ int plugin_init(void)
- 	chap_check_hook = ppp_have_secret;
- 	pap_check_hook = ppp_have_secret;
- 
--	add_notifier(&ip_up_notifier, ppp_up, NULL);
--	add_notifier(&phasechange, ppp_phase_change, NULL);
--	add_notifier(&exitnotify, ppp_exit, connection);
-+	ppp_add_notify(NF_IP_UP, ppp_up, NULL);
-+	ppp_add_notify(NF_PHASE_CHANGE, ppp_phase_change, NULL);
-+	ppp_add_notify(NF_EXIT, ppp_exit, connection);
- 
- 	return 0;
- }
diff --git a/poky/meta/recipes-connectivity/connman/connman/0002-resolve-musl-does-not-implement-res_ninit.patch b/poky/meta/recipes-connectivity/connman/connman/0002-resolve-musl-does-not-implement-res_ninit.patch
index 9dca21a..aefdd3a 100644
--- a/poky/meta/recipes-connectivity/connman/connman/0002-resolve-musl-does-not-implement-res_ninit.patch
+++ b/poky/meta/recipes-connectivity/connman/connman/0002-resolve-musl-does-not-implement-res_ninit.patch
@@ -18,14 +18,6 @@
 index 954e7cf..2a9bc51 100644
 --- a/gweb/gresolv.c
 +++ b/gweb/gresolv.c
-@@ -36,6 +36,7 @@
- #include <arpa/inet.h>
- #include <arpa/nameser.h>
- #include <net/if.h>
-+#include <ctype.h>
- 
- #include "gresolv.h"
- 
 @@ -878,8 +879,6 @@ GResolv *g_resolv_new(int index)
  	resolv->index = index;
  	resolv->nameserver_list = NULL;
diff --git a/poky/meta/recipes-connectivity/connman/connman/CVE-2022-32292.patch b/poky/meta/recipes-connectivity/connman/connman/CVE-2022-32292.patch
deleted file mode 100644
index 182c5ca..0000000
--- a/poky/meta/recipes-connectivity/connman/connman/CVE-2022-32292.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From d1a5ede5d255bde8ef707f8441b997563b9312bd Mon Sep 17 00:00:00 2001
-From: Nathan Crandall <ncrandall@tesla.com>
-Date: Tue, 12 Jul 2022 08:56:34 +0200
-Subject: gweb: Fix OOB write in received_data()
-
-There is a mismatch of handling binary vs. C-string data with memchr
-and strlen, resulting in pos, count, and bytes_read to become out of
-sync and result in a heap overflow.  Instead, do not treat the buffer
-as an ASCII C-string. We calculate the count based on the return value
-of memchr, instead of strlen.
-
-Fixes: CVE-2022-32292
-
-CVE: CVE-2022-32292
-
-Upstream-Status: Backport [https://git.kernel.org/pub/scm/network/connman/connman.git/commit/?id=d1a5ede5d255bde8ef707f8441b997563b9312bd]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- gweb/gweb.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/gweb/gweb.c b/gweb/gweb.c
-index 12fcb1d8..13c6c5f2 100644
---- a/gweb/gweb.c
-+++ b/gweb/gweb.c
-@@ -918,7 +918,7 @@ static gboolean received_data(GIOChannel *channel, GIOCondition cond,
- 		}
- 
- 		*pos = '\0';
--		count = strlen((char *) ptr);
-+		count = pos - ptr;
- 		if (count > 0 && ptr[count - 1] == '\r') {
- 			ptr[--count] = '\0';
- 			bytes_read--;
--- 
-cgit 
-
diff --git a/poky/meta/recipes-connectivity/connman/connman/CVE-2022-32293_p1.patch b/poky/meta/recipes-connectivity/connman/connman/CVE-2022-32293_p1.patch
deleted file mode 100644
index b280203..0000000
--- a/poky/meta/recipes-connectivity/connman/connman/CVE-2022-32293_p1.patch
+++ /dev/null
@@ -1,141 +0,0 @@
-From 72343929836de80727a27d6744c869dff045757c Mon Sep 17 00:00:00 2001
-From: Daniel Wagner <wagi@monom.org>
-Date: Tue, 5 Jul 2022 08:32:12 +0200
-Subject: wispr: Add reference counter to portal context
-
-Track the connman_wispr_portal_context live time via a
-refcounter. This only adds the infrastructure to do proper reference
-counting.
-
-Fixes: CVE-2022-32293
-CVE: CVE-2022-32293
-Upstream-Status: Backport [https://git.kernel.org/pub/scm/network/connman/connman.git/commit/?id=416bfaff988882c553c672e5bfc2d4f648d29e8a]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/wispr.c | 52 ++++++++++++++++++++++++++++++++++++++++++----------
- 1 file changed, 42 insertions(+), 10 deletions(-)
-
-diff --git a/src/wispr.c b/src/wispr.c
-index a07896ca..bde7e63b 100644
---- a/src/wispr.c
-+++ b/src/wispr.c
-@@ -56,6 +56,7 @@ struct wispr_route {
- };
- 
- struct connman_wispr_portal_context {
-+	int refcount;
- 	struct connman_service *service;
- 	enum connman_ipconfig_type type;
- 	struct connman_wispr_portal *wispr_portal;
-@@ -97,6 +98,11 @@ static char *online_check_ipv4_url = NULL;
- static char *online_check_ipv6_url = NULL;
- static bool enable_online_to_ready_transition = false;
- 
-+#define wispr_portal_context_ref(wp_context) \
-+	wispr_portal_context_ref_debug(wp_context, __FILE__, __LINE__, __func__)
-+#define wispr_portal_context_unref(wp_context) \
-+	wispr_portal_context_unref_debug(wp_context, __FILE__, __LINE__, __func__)
-+
- static void connman_wispr_message_init(struct connman_wispr_message *msg)
- {
- 	DBG("");
-@@ -162,9 +168,6 @@ static void free_connman_wispr_portal_context(
- {
- 	DBG("context %p", wp_context);
- 
--	if (!wp_context)
--		return;
--
- 	if (wp_context->wispr_portal) {
- 		if (wp_context->wispr_portal->ipv4_context == wp_context)
- 			wp_context->wispr_portal->ipv4_context = NULL;
-@@ -201,9 +204,38 @@ static void free_connman_wispr_portal_context(
- 	g_free(wp_context);
- }
- 
-+static struct connman_wispr_portal_context *
-+wispr_portal_context_ref_debug(struct connman_wispr_portal_context *wp_context,
-+			const char *file, int line, const char *caller)
-+{
-+	DBG("%p ref %d by %s:%d:%s()", wp_context,
-+		wp_context->refcount + 1, file, line, caller);
-+
-+	__sync_fetch_and_add(&wp_context->refcount, 1);
-+
-+	return wp_context;
-+}
-+
-+static void wispr_portal_context_unref_debug(
-+		struct connman_wispr_portal_context *wp_context,
-+		const char *file, int line, const char *caller)
-+{
-+	if (!wp_context)
-+		return;
-+
-+	DBG("%p ref %d by %s:%d:%s()", wp_context,
-+		wp_context->refcount - 1, file, line, caller);
-+
-+	if (__sync_fetch_and_sub(&wp_context->refcount, 1) != 1)
-+		return;
-+
-+	free_connman_wispr_portal_context(wp_context);
-+}
-+
- static struct connman_wispr_portal_context *create_wispr_portal_context(void)
- {
--	return g_try_new0(struct connman_wispr_portal_context, 1);
-+	return wispr_portal_context_ref(
-+		g_new0(struct connman_wispr_portal_context, 1));
- }
- 
- static void free_connman_wispr_portal(gpointer data)
-@@ -215,8 +247,8 @@ static void free_connman_wispr_portal(gpointer data)
- 	if (!wispr_portal)
- 		return;
- 
--	free_connman_wispr_portal_context(wispr_portal->ipv4_context);
--	free_connman_wispr_portal_context(wispr_portal->ipv6_context);
-+	wispr_portal_context_unref(wispr_portal->ipv4_context);
-+	wispr_portal_context_unref(wispr_portal->ipv6_context);
- 
- 	g_free(wispr_portal);
- }
-@@ -452,7 +484,7 @@ static void portal_manage_status(GWebResult *result,
- 		connman_info("Client-Timezone: %s", str);
- 
- 	if (!enable_online_to_ready_transition)
--		free_connman_wispr_portal_context(wp_context);
-+		wispr_portal_context_unref(wp_context);
- 
- 	__connman_service_ipconfig_indicate_state(service,
- 					CONNMAN_SERVICE_STATE_ONLINE, type);
-@@ -616,7 +648,7 @@ static void wispr_portal_request_wispr_login(struct connman_service *service,
- 				return;
- 		}
- 
--		free_connman_wispr_portal_context(wp_context);
-+		wispr_portal_context_unref(wp_context);
- 		return;
- 	}
- 
-@@ -952,7 +984,7 @@ static int wispr_portal_detect(struct connman_wispr_portal_context *wp_context)
- 
- 		if (wp_context->token == 0) {
- 			err = -EINVAL;
--			free_connman_wispr_portal_context(wp_context);
-+			wispr_portal_context_unref(wp_context);
- 		}
- 	} else if (wp_context->timeout == 0) {
- 		wp_context->timeout = g_idle_add(no_proxy_callback, wp_context);
-@@ -1001,7 +1033,7 @@ int __connman_wispr_start(struct connman_service *service,
- 
- 	/* If there is already an existing context, we wipe it */
- 	if (wp_context)
--		free_connman_wispr_portal_context(wp_context);
-+		wispr_portal_context_unref(wp_context);
- 
- 	wp_context = create_wispr_portal_context();
- 	if (!wp_context)
--- 
-cgit 
-
diff --git a/poky/meta/recipes-connectivity/connman/connman/CVE-2022-32293_p2.patch b/poky/meta/recipes-connectivity/connman/connman/CVE-2022-32293_p2.patch
deleted file mode 100644
index 56f8fc8..0000000
--- a/poky/meta/recipes-connectivity/connman/connman/CVE-2022-32293_p2.patch
+++ /dev/null
@@ -1,174 +0,0 @@
-From 416bfaff988882c553c672e5bfc2d4f648d29e8a Mon Sep 17 00:00:00 2001
-From: Daniel Wagner <wagi@monom.org>
-Date: Tue, 5 Jul 2022 09:11:09 +0200
-Subject: wispr: Update portal context references
-
-Maintain proper portal context references to avoid UAF.
-
-Fixes: CVE-2022-32293
-CVE: CVE-2022-32293
-Upstream-Status: Backport [https://git.kernel.org/pub/scm/network/connman/connman.git/commit/?id=72343929836de80727a27d6744c869dff045757c]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/wispr.c | 34 ++++++++++++++++++++++------------
- 1 file changed, 22 insertions(+), 12 deletions(-)
-
-diff --git a/src/wispr.c b/src/wispr.c
-index bde7e63b..84bed33f 100644
---- a/src/wispr.c
-+++ b/src/wispr.c
-@@ -105,8 +105,6 @@ static bool enable_online_to_ready_transition = false;
- 
- static void connman_wispr_message_init(struct connman_wispr_message *msg)
- {
--	DBG("");
--
- 	msg->has_error = false;
- 	msg->current_element = NULL;
- 
-@@ -166,8 +164,6 @@ static void free_wispr_routes(struct connman_wispr_portal_context *wp_context)
- static void free_connman_wispr_portal_context(
- 		struct connman_wispr_portal_context *wp_context)
- {
--	DBG("context %p", wp_context);
--
- 	if (wp_context->wispr_portal) {
- 		if (wp_context->wispr_portal->ipv4_context == wp_context)
- 			wp_context->wispr_portal->ipv4_context = NULL;
-@@ -483,9 +479,6 @@ static void portal_manage_status(GWebResult *result,
- 				&str))
- 		connman_info("Client-Timezone: %s", str);
- 
--	if (!enable_online_to_ready_transition)
--		wispr_portal_context_unref(wp_context);
--
- 	__connman_service_ipconfig_indicate_state(service,
- 					CONNMAN_SERVICE_STATE_ONLINE, type);
- 
-@@ -546,14 +539,17 @@ static void wispr_portal_request_portal(
- {
- 	DBG("");
- 
-+	wispr_portal_context_ref(wp_context);
- 	wp_context->request_id = g_web_request_get(wp_context->web,
- 					wp_context->status_url,
- 					wispr_portal_web_result,
- 					wispr_route_request,
- 					wp_context);
- 
--	if (wp_context->request_id == 0)
-+	if (wp_context->request_id == 0) {
- 		wispr_portal_error(wp_context);
-+		wispr_portal_context_unref(wp_context);
-+	}
- }
- 
- static bool wispr_input(const guint8 **data, gsize *length,
-@@ -618,13 +614,15 @@ static void wispr_portal_browser_reply_cb(struct connman_service *service,
- 		return;
- 
- 	if (!authentication_done) {
--		wispr_portal_error(wp_context);
- 		free_wispr_routes(wp_context);
-+		wispr_portal_error(wp_context);
-+		wispr_portal_context_unref(wp_context);
- 		return;
- 	}
- 
- 	/* Restarting the test */
- 	__connman_service_wispr_start(service, wp_context->type);
-+	wispr_portal_context_unref(wp_context);
- }
- 
- static void wispr_portal_request_wispr_login(struct connman_service *service,
-@@ -700,11 +698,13 @@ static bool wispr_manage_message(GWebResult *result,
- 
- 		wp_context->wispr_result = CONNMAN_WISPR_RESULT_LOGIN;
- 
-+		wispr_portal_context_ref(wp_context);
- 		if (__connman_agent_request_login_input(wp_context->service,
- 					wispr_portal_request_wispr_login,
--					wp_context) != -EINPROGRESS)
-+					wp_context) != -EINPROGRESS) {
- 			wispr_portal_error(wp_context);
--		else
-+			wispr_portal_context_unref(wp_context);
-+		} else
- 			return true;
- 
- 		break;
-@@ -753,6 +753,7 @@ static bool wispr_portal_web_result(GWebResult *result, gpointer user_data)
- 		if (length > 0) {
- 			g_web_parser_feed_data(wp_context->wispr_parser,
- 								chunk, length);
-+			wispr_portal_context_unref(wp_context);
- 			return true;
- 		}
- 
-@@ -770,6 +771,7 @@ static bool wispr_portal_web_result(GWebResult *result, gpointer user_data)
- 
- 	switch (status) {
- 	case 000:
-+		wispr_portal_context_ref(wp_context);
- 		__connman_agent_request_browser(wp_context->service,
- 				wispr_portal_browser_reply_cb,
- 				wp_context->status_url, wp_context);
-@@ -781,11 +783,14 @@ static bool wispr_portal_web_result(GWebResult *result, gpointer user_data)
- 		if (g_web_result_get_header(result, "X-ConnMan-Status",
- 						&str)) {
- 			portal_manage_status(result, wp_context);
-+			wispr_portal_context_unref(wp_context);
- 			return false;
--		} else
-+		} else {
-+			wispr_portal_context_ref(wp_context);
- 			__connman_agent_request_browser(wp_context->service,
- 					wispr_portal_browser_reply_cb,
- 					wp_context->redirect_url, wp_context);
-+		}
- 
- 		break;
- 	case 300:
-@@ -798,6 +803,7 @@ static bool wispr_portal_web_result(GWebResult *result, gpointer user_data)
- 			!g_web_result_get_header(result, "Location",
- 							&redirect)) {
- 
-+			wispr_portal_context_ref(wp_context);
- 			__connman_agent_request_browser(wp_context->service,
- 					wispr_portal_browser_reply_cb,
- 					wp_context->status_url, wp_context);
-@@ -808,6 +814,7 @@ static bool wispr_portal_web_result(GWebResult *result, gpointer user_data)
- 
- 		wp_context->redirect_url = g_strdup(redirect);
- 
-+		wispr_portal_context_ref(wp_context);
- 		wp_context->request_id = g_web_request_get(wp_context->web,
- 				redirect, wispr_portal_web_result,
- 				wispr_route_request, wp_context);
-@@ -820,6 +827,7 @@ static bool wispr_portal_web_result(GWebResult *result, gpointer user_data)
- 
- 		break;
- 	case 505:
-+		wispr_portal_context_ref(wp_context);
- 		__connman_agent_request_browser(wp_context->service,
- 				wispr_portal_browser_reply_cb,
- 				wp_context->status_url, wp_context);
-@@ -832,6 +840,7 @@ static bool wispr_portal_web_result(GWebResult *result, gpointer user_data)
- 	wp_context->request_id = 0;
- done:
- 	wp_context->wispr_msg.message_type = -1;
-+	wispr_portal_context_unref(wp_context);
- 	return false;
- }
- 
-@@ -890,6 +899,7 @@ static void proxy_callback(const char *proxy, void *user_data)
- 					xml_wispr_parser_callback, wp_context);
- 
- 	wispr_portal_request_portal(wp_context);
-+	wispr_portal_context_unref(wp_context);
- }
- 
- static gboolean no_proxy_callback(gpointer user_data)
--- 
-cgit 
-
diff --git a/poky/meta/recipes-connectivity/connman/connman_1.41.bb b/poky/meta/recipes-connectivity/connman/connman_1.42.bb
similarity index 66%
rename from poky/meta/recipes-connectivity/connman/connman_1.41.bb
rename to poky/meta/recipes-connectivity/connman/connman_1.42.bb
index d8ac1f5..c2fcd61 100644
--- a/poky/meta/recipes-connectivity/connman/connman_1.41.bb
+++ b/poky/meta/recipes-connectivity/connman/connman_1.42.bb
@@ -5,16 +5,12 @@
            file://0001-connman.service-stop-systemd-resolved-when-we-use-co.patch \
            file://connman \
            file://no-version-scripts.patch \
-           file://CVE-2022-32293_p1.patch \
-           file://CVE-2022-32293_p2.patch \
-           file://CVE-2022-32292.patch \
-           file://0001-gdhcp-Verify-and-sanitize-packet-length-first.patch \
            file://0001-vpn-Adding-support-for-latest-pppd-2.5.0-release.patch \
            "
 
 SRC_URI:append:libc-musl = " file://0002-resolve-musl-does-not-implement-res_ninit.patch"
 
-SRC_URI[sha256sum] = "79fb40f4fdd5530c45aa8e592fb16ba23d3674f3a98cf10b89a6576f198de589"
+SRC_URI[sha256sum] = "a3e6bae46fc081ef2e9dae3caa4f7649de892c3de622c20283ac0ca81423c2aa"
 
 RRECOMMENDS:${PN} = "connman-conf"
 RCONFLICTS:${PN} = "networkmanager"
diff --git a/poky/meta/recipes-connectivity/dhcpcd/dhcpcd_10.0.1.bb b/poky/meta/recipes-connectivity/dhcpcd/dhcpcd_10.0.2.bb
similarity index 93%
rename from poky/meta/recipes-connectivity/dhcpcd/dhcpcd_10.0.1.bb
rename to poky/meta/recipes-connectivity/dhcpcd/dhcpcd_10.0.2.bb
index de007a6..0966edd 100644
--- a/poky/meta/recipes-connectivity/dhcpcd/dhcpcd_10.0.1.bb
+++ b/poky/meta/recipes-connectivity/dhcpcd/dhcpcd_10.0.2.bb
@@ -15,9 +15,10 @@
            file://dhcpcd.service \
            file://dhcpcd@.service \
            file://0001-dhcpcd.8-Fix-conflict-error-when-enable-multilib.patch \
+           file://0001-privsep-fix-strlcpy-overflow-in-psp_ifname-239.patch \
            "
 
-SRCREV = "5d9bf80c26b4b7dc9d8aa175d96d5a24e75b4d48"
+SRCREV = "d2fbde99cf2d0072016af9dfe6a77032a5a9fc30"
 S = "${WORKDIR}/git"
 
 inherit pkgconfig autotools-brokensep systemd useradd
diff --git a/poky/meta/recipes-connectivity/dhcpcd/files/0001-privsep-fix-strlcpy-overflow-in-psp_ifname-239.patch b/poky/meta/recipes-connectivity/dhcpcd/files/0001-privsep-fix-strlcpy-overflow-in-psp_ifname-239.patch
new file mode 100644
index 0000000..d4fb173
--- /dev/null
+++ b/poky/meta/recipes-connectivity/dhcpcd/files/0001-privsep-fix-strlcpy-overflow-in-psp_ifname-239.patch
@@ -0,0 +1,33 @@
+From 1bd8fc7d4b34f752a32709d277a897e5ad202d97 Mon Sep 17 00:00:00 2001
+From: Tobias Heider <tobhe@users.noreply.github.com>
+Date: Tue, 15 Aug 2023 18:06:48 +0200
+Subject: [PATCH] privsep: fix strlcpy overflow in psp_ifname (#239)
+
+When running our Ubuntu tests with libc6 and strlcpy overflow checks
+enabled we found that the wrong size is passed to strlcpy resulting
+in a crash because of an overflow.
+
+Upstream-Status: Backport
+[https://github.com/NetworkConfiguration/dhcpcd/commit/1bd8fc7d4b34f752a32709d277a897e5ad202d97]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ src/privsep.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/privsep.c b/src/privsep.c
+index b11c0351..cfe54742 100644
+--- a/src/privsep.c
++++ b/src/privsep.c
+@@ -1200,7 +1200,7 @@ ps_newprocess(struct dhcpcd_ctx *ctx, struct ps_id *psid)
+ #endif
+ 
+ 	if (!(ctx->options & DHCPCD_MANAGER))
+-		strlcpy(psp->psp_ifname, ctx->ifv[0], sizeof(psp->psp_name));
++		strlcpy(psp->psp_ifname, ctx->ifv[0], sizeof(psp->psp_ifname));
+ 	TAILQ_INSERT_TAIL(&ctx->ps_processes, psp, next);
+ 	return psp;
+ }
+-- 
+2.25.1
+
diff --git a/poky/meta/recipes-connectivity/inetutils/inetutils/0001-CVE-2023-40303-ftpd-rcp-rlogin-rsh-rshd-uucpd-fix-ch.patch b/poky/meta/recipes-connectivity/inetutils/inetutils/0001-CVE-2023-40303-ftpd-rcp-rlogin-rsh-rshd-uucpd-fix-ch.patch
new file mode 100644
index 0000000..70bd988
--- /dev/null
+++ b/poky/meta/recipes-connectivity/inetutils/inetutils/0001-CVE-2023-40303-ftpd-rcp-rlogin-rsh-rshd-uucpd-fix-ch.patch
@@ -0,0 +1,279 @@
+From 703418fe9d2e3b1e8d594df5788d8001a8116265 Mon Sep 17 00:00:00 2001
+From: Jeffrey Bencteux <jeffbencteux@gmail.com>
+Date: Fri, 30 Jun 2023 19:02:45 +0200
+Subject: [PATCH] CVE-2023-40303: ftpd,rcp,rlogin,rsh,rshd,uucpd: fix: check
+ set*id() return values
+
+Several setuid(), setgid(), seteuid() and setguid() return values
+were not checked in ftpd/rcp/rlogin/rsh/rshd/uucpd code potentially
+leading to potential security issues.
+
+CVE: CVE-2023-40303
+Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/inetutils.git/commit/?id=e4e65c03f4c11292a3e40ef72ca3f194c8bffdd6]
+Signed-off-by: Jeffrey Bencteux <jeffbencteux@gmail.com>
+Signed-off-by: Simon Josefsson <simon@josefsson.org>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ ftpd/ftpd.c  | 10 +++++++---
+ src/rcp.c    | 39 +++++++++++++++++++++++++++++++++------
+ src/rlogin.c | 11 +++++++++--
+ src/rsh.c    | 25 +++++++++++++++++++++----
+ src/rshd.c   | 20 +++++++++++++++++---
+ src/uucpd.c  | 15 +++++++++++++--
+ 6 files changed, 100 insertions(+), 20 deletions(-)
+
+diff --git a/ftpd/ftpd.c b/ftpd/ftpd.c
+index 92b2cca5..28dd523f 100644
+--- a/ftpd/ftpd.c
++++ b/ftpd/ftpd.c
+@@ -862,7 +862,9 @@ end_login (struct credentials *pcred)
+   char *remotehost = pcred->remotehost;
+   int atype = pcred->auth_type;
+ 
+-  seteuid ((uid_t) 0);
++  if (seteuid ((uid_t) 0) == -1)
++    _exit (EXIT_FAILURE);
++
+   if (pcred->logged_in)
+     {
+       logwtmp_keep_open (ttyline, "", "");
+@@ -1151,7 +1153,8 @@ getdatasock (const char *mode)
+ 
+   if (data >= 0)
+     return fdopen (data, mode);
+-  seteuid ((uid_t) 0);
++  if (seteuid ((uid_t) 0) == -1)
++    _exit (EXIT_FAILURE);
+   s = socket (ctrl_addr.ss_family, SOCK_STREAM, 0);
+   if (s < 0)
+     goto bad;
+@@ -1978,7 +1981,8 @@ passive (int epsv, int af)
+   else	/* !AF_INET6 */
+     ((struct sockaddr_in *) &pasv_addr)->sin_port = 0;
+ 
+-  seteuid ((uid_t) 0);
++  if (seteuid ((uid_t) 0) == -1)
++    _exit (EXIT_FAILURE);
+   if (bind (pdata, (struct sockaddr *) &pasv_addr, pasv_addrlen) < 0)
+     {
+       if (seteuid ((uid_t) cred.uid))
+diff --git a/src/rcp.c b/src/rcp.c
+index 75adb253..cdcf8500 100644
+--- a/src/rcp.c
++++ b/src/rcp.c
+@@ -345,14 +345,23 @@ main (int argc, char *argv[])
+   if (from_option)
+     {				/* Follow "protocol", send data. */
+       response ();
+-      setuid (userid);
++
++      if (setuid (userid) == -1)
++      {
++        error (EXIT_FAILURE, 0, "Could not drop privileges (setuid() failed)");
++      }
++
+       source (argc, argv);
+       exit (errs);
+     }
+ 
+   if (to_option)
+     {				/* Receive data. */
+-      setuid (userid);
++      if (setuid (userid) == -1)
++      {
++        error (EXIT_FAILURE, 0, "Could not drop privileges (setuid() failed)");
++      }
++
+       sink (argc, argv);
+       exit (errs);
+     }
+@@ -537,7 +546,11 @@ toremote (char *targ, int argc, char *argv[])
+ 	      if (response () < 0)
+ 		exit (EXIT_FAILURE);
+ 	      free (bp);
+-	      setuid (userid);
++
++	      if (setuid (userid) == -1)
++              {
++                error (EXIT_FAILURE, 0, "Could not drop privileges (setuid() failed)");
++              }
+ 	    }
+ 	  source (1, argv + i);
+ 	  close (rem);
+@@ -630,7 +643,12 @@ tolocal (int argc, char *argv[])
+ 	  ++errs;
+ 	  continue;
+ 	}
+-      seteuid (userid);
++
++      if (seteuid (userid) == -1)
++      {
++        error (EXIT_FAILURE, 0, "Could not drop privileges (seteuid() failed)");
++      }
++
+ #if defined IP_TOS && defined IPPROTO_IP && defined IPTOS_THROUGHPUT
+       sslen = sizeof (ss);
+       (void) getpeername (rem, (struct sockaddr *) &ss, &sslen);
+@@ -643,7 +661,12 @@ tolocal (int argc, char *argv[])
+ #endif
+       vect[0] = target;
+       sink (1, vect);
+-      seteuid (effuid);
++
++      if (seteuid (effuid) == -1)
++      {
++        error (EXIT_FAILURE, 0, "Could not drop privileges (seteuid() failed)");
++      }
++
+       close (rem);
+       rem = -1;
+ #ifdef SHISHI
+@@ -1441,7 +1464,11 @@ susystem (char *s, int userid)
+       return (127);
+ 
+     case 0:
+-      setuid (userid);
++      if (setuid (userid) == -1)
++      {
++        error (EXIT_FAILURE, 0, "Could not drop privileges (setuid() failed)");
++      }
++
+       execl (PATH_BSHELL, "sh", "-c", s, NULL);
+       _exit (127);
+     }
+diff --git a/src/rlogin.c b/src/rlogin.c
+index aa6426fb..c543de0c 100644
+--- a/src/rlogin.c
++++ b/src/rlogin.c
+@@ -647,8 +647,15 @@ try_connect:
+   /* Now change to the real user ID.  We have to be set-user-ID root
+      to get the privileged port that rcmd () uses.  We now want, however,
+      to run as the real user who invoked us.  */
+-  seteuid (uid);
+-  setuid (uid);
++  if (seteuid (uid) == -1)
++  {
++    error (EXIT_FAILURE, 0, "Could not drop privileges (seteuid() failed)");
++  }
++
++  if (setuid (uid) == -1)
++  {
++    error (EXIT_FAILURE, 0, "Could not drop privileges (setuid() failed)");
++  }
+ 
+   doit (&osmask);	/* The old mask will activate SIGURG and SIGUSR1!  */
+ 
+diff --git a/src/rsh.c b/src/rsh.c
+index 2d622ca4..6f60667d 100644
+--- a/src/rsh.c
++++ b/src/rsh.c
+@@ -276,8 +276,17 @@ main (int argc, char **argv)
+     {
+       if (asrsh)
+ 	*argv = (char *) "rlogin";
+-      seteuid (getuid ());
+-      setuid (getuid ());
++
++      if (seteuid (getuid ()) == -1)
++      {
++        error (EXIT_FAILURE, errno, "seteuid() failed");
++      }
++
++      if (setuid (getuid ()) == -1)
++      {
++        error (EXIT_FAILURE, errno, "setuid() failed");
++      }
++
+       execv (PATH_RLOGIN, argv);
+       error (EXIT_FAILURE, errno, "cannot execute %s", PATH_RLOGIN);
+     }
+@@ -541,8 +550,16 @@ try_connect:
+ 	error (0, errno, "setsockopt DEBUG (ignored)");
+     }
+ 
+-  seteuid (uid);
+-  setuid (uid);
++  if (seteuid (uid) == -1)
++  {
++    error (EXIT_FAILURE, errno, "seteuid() failed");
++  }
++
++  if (setuid (uid) == -1)
++  {
++    error (EXIT_FAILURE, errno, "setuid() failed");
++  }
++
+ #ifdef HAVE_SIGACTION
+   sigemptyset (&sigs);
+   sigaddset (&sigs, SIGINT);
+diff --git a/src/rshd.c b/src/rshd.c
+index d1c0d0cd..707790e7 100644
+--- a/src/rshd.c
++++ b/src/rshd.c
+@@ -1847,8 +1847,18 @@ doit (int sockfd, struct sockaddr *fromp, socklen_t fromlen)
+     pwd->pw_shell = PATH_BSHELL;
+ 
+   /* Set the gid, then uid to become the user specified by "locuser" */
+-  setegid ((gid_t) pwd->pw_gid);
+-  setgid ((gid_t) pwd->pw_gid);
++  if (setegid ((gid_t) pwd->pw_gid) == -1)
++  {
++    rshd_error ("Cannot drop privileges (setegid() failed)\n");
++    exit (EXIT_FAILURE);
++  }
++
++  if (setgid ((gid_t) pwd->pw_gid) == -1)
++  {
++    rshd_error ("Cannot drop privileges (setgid() failed)\n");
++    exit (EXIT_FAILURE);
++  }
++
+ #ifdef HAVE_INITGROUPS
+   initgroups (pwd->pw_name, pwd->pw_gid);	/* BSD groups */
+ #endif
+@@ -1870,7 +1880,11 @@ doit (int sockfd, struct sockaddr *fromp, socklen_t fromlen)
+     }
+ #endif /* WITH_PAM */
+ 
+-  setuid ((uid_t) pwd->pw_uid);
++  if (setuid ((uid_t) pwd->pw_uid) == -1)
++  {
++    rshd_error ("Cannot drop privileges (setuid() failed)\n");
++    exit (EXIT_FAILURE);
++  }
+ 
+   /* We'll execute the client's command in the home directory
+    * of locuser. Note, that the chdir must be executed after
+diff --git a/src/uucpd.c b/src/uucpd.c
+index 107589e1..29cfce35 100644
+--- a/src/uucpd.c
++++ b/src/uucpd.c
+@@ -252,7 +252,12 @@ doit (struct sockaddr *sap, socklen_t salen)
+   snprintf (Username, sizeof (Username), "USER=%s", user);
+   snprintf (Logname, sizeof (Logname), "LOGNAME=%s", user);
+   dologin (pw, sap, salen);
+-  setgid (pw->pw_gid);
++
++  if (setgid (pw->pw_gid) == -1)
++  {
++    fprintf (stderr, "setgid() failed");
++    return;
++  }
+ #ifdef HAVE_INITGROUPS
+   initgroups (pw->pw_name, pw->pw_gid);
+ #endif
+@@ -261,7 +266,13 @@ doit (struct sockaddr *sap, socklen_t salen)
+       fprintf (stderr, "Login incorrect.");
+       return;
+     }
+-  setuid (pw->pw_uid);
++
++  if (setuid (pw->pw_uid) == -1)
++  {
++    fprintf (stderr, "setuid() failed");
++    return;
++  }
++
+   execl (uucico_location, "uucico", NULL);
+   perror ("uucico server: execl");
+ }
diff --git a/poky/meta/recipes-connectivity/inetutils/inetutils/0002-CVE-2023-40303-Indent-changes-in-previous-commit.patch b/poky/meta/recipes-connectivity/inetutils/inetutils/0002-CVE-2023-40303-Indent-changes-in-previous-commit.patch
new file mode 100644
index 0000000..1b972aa
--- /dev/null
+++ b/poky/meta/recipes-connectivity/inetutils/inetutils/0002-CVE-2023-40303-Indent-changes-in-previous-commit.patch
@@ -0,0 +1,253 @@
+From 70fe022f9dac760eaece0228cad17e3d29a57fb8 Mon Sep 17 00:00:00 2001
+From: Simon Josefsson <simon@josefsson.org>
+Date: Mon, 31 Jul 2023 13:59:05 +0200
+Subject: [PATCH] CVE-2023-40303: Indent changes in previous commit.
+
+CVE: CVE-2023-40303
+Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/inetutils.git/commit/?id=9122999252c7e21eb7774de11d539748e7bdf46d]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/rcp.c    | 42 ++++++++++++++++++++++++------------------
+ src/rlogin.c | 12 ++++++------
+ src/rsh.c    | 24 ++++++++++++------------
+ src/rshd.c   | 24 ++++++++++++------------
+ src/uucpd.c  | 16 ++++++++--------
+ 5 files changed, 62 insertions(+), 56 deletions(-)
+
+diff --git a/src/rcp.c b/src/rcp.c
+index cdcf8500..652f22e6 100644
+--- a/src/rcp.c
++++ b/src/rcp.c
+@@ -347,9 +347,10 @@ main (int argc, char *argv[])
+       response ();
+ 
+       if (setuid (userid) == -1)
+-      {
+-        error (EXIT_FAILURE, 0, "Could not drop privileges (setuid() failed)");
+-      }
++	{
++	  error (EXIT_FAILURE, 0,
++		 "Could not drop privileges (setuid() failed)");
++	}
+ 
+       source (argc, argv);
+       exit (errs);
+@@ -358,9 +359,10 @@ main (int argc, char *argv[])
+   if (to_option)
+     {				/* Receive data. */
+       if (setuid (userid) == -1)
+-      {
+-        error (EXIT_FAILURE, 0, "Could not drop privileges (setuid() failed)");
+-      }
++	{
++	  error (EXIT_FAILURE, 0,
++		 "Could not drop privileges (setuid() failed)");
++	}
+ 
+       sink (argc, argv);
+       exit (errs);
+@@ -548,9 +550,10 @@ toremote (char *targ, int argc, char *argv[])
+ 	      free (bp);
+ 
+ 	      if (setuid (userid) == -1)
+-              {
+-                error (EXIT_FAILURE, 0, "Could not drop privileges (setuid() failed)");
+-              }
++		{
++		  error (EXIT_FAILURE, 0,
++			 "Could not drop privileges (setuid() failed)");
++		}
+ 	    }
+ 	  source (1, argv + i);
+ 	  close (rem);
+@@ -645,9 +648,10 @@ tolocal (int argc, char *argv[])
+ 	}
+ 
+       if (seteuid (userid) == -1)
+-      {
+-        error (EXIT_FAILURE, 0, "Could not drop privileges (seteuid() failed)");
+-      }
++	{
++	  error (EXIT_FAILURE, 0,
++		 "Could not drop privileges (seteuid() failed)");
++	}
+ 
+ #if defined IP_TOS && defined IPPROTO_IP && defined IPTOS_THROUGHPUT
+       sslen = sizeof (ss);
+@@ -663,9 +667,10 @@ tolocal (int argc, char *argv[])
+       sink (1, vect);
+ 
+       if (seteuid (effuid) == -1)
+-      {
+-        error (EXIT_FAILURE, 0, "Could not drop privileges (seteuid() failed)");
+-      }
++	{
++	  error (EXIT_FAILURE, 0,
++		 "Could not drop privileges (seteuid() failed)");
++	}
+ 
+       close (rem);
+       rem = -1;
+@@ -1465,9 +1470,10 @@ susystem (char *s, int userid)
+ 
+     case 0:
+       if (setuid (userid) == -1)
+-      {
+-        error (EXIT_FAILURE, 0, "Could not drop privileges (setuid() failed)");
+-      }
++	{
++	  error (EXIT_FAILURE, 0,
++		 "Could not drop privileges (setuid() failed)");
++	}
+ 
+       execl (PATH_BSHELL, "sh", "-c", s, NULL);
+       _exit (127);
+diff --git a/src/rlogin.c b/src/rlogin.c
+index c543de0c..4360202f 100644
+--- a/src/rlogin.c
++++ b/src/rlogin.c
+@@ -648,14 +648,14 @@ try_connect:
+      to get the privileged port that rcmd () uses.  We now want, however,
+      to run as the real user who invoked us.  */
+   if (seteuid (uid) == -1)
+-  {
+-    error (EXIT_FAILURE, 0, "Could not drop privileges (seteuid() failed)");
+-  }
++    {
++      error (EXIT_FAILURE, 0, "Could not drop privileges (seteuid() failed)");
++    }
+ 
+   if (setuid (uid) == -1)
+-  {
+-    error (EXIT_FAILURE, 0, "Could not drop privileges (setuid() failed)");
+-  }
++    {
++      error (EXIT_FAILURE, 0, "Could not drop privileges (setuid() failed)");
++    }
+ 
+   doit (&osmask);	/* The old mask will activate SIGURG and SIGUSR1!  */
+ 
+diff --git a/src/rsh.c b/src/rsh.c
+index 6f60667d..179b47cd 100644
+--- a/src/rsh.c
++++ b/src/rsh.c
+@@ -278,14 +278,14 @@ main (int argc, char **argv)
+ 	*argv = (char *) "rlogin";
+ 
+       if (seteuid (getuid ()) == -1)
+-      {
+-        error (EXIT_FAILURE, errno, "seteuid() failed");
+-      }
++	{
++	  error (EXIT_FAILURE, errno, "seteuid() failed");
++	}
+ 
+       if (setuid (getuid ()) == -1)
+-      {
+-        error (EXIT_FAILURE, errno, "setuid() failed");
+-      }
++	{
++	  error (EXIT_FAILURE, errno, "setuid() failed");
++	}
+ 
+       execv (PATH_RLOGIN, argv);
+       error (EXIT_FAILURE, errno, "cannot execute %s", PATH_RLOGIN);
+@@ -551,14 +551,14 @@ try_connect:
+     }
+ 
+   if (seteuid (uid) == -1)
+-  {
+-    error (EXIT_FAILURE, errno, "seteuid() failed");
+-  }
++    {
++      error (EXIT_FAILURE, errno, "seteuid() failed");
++    }
+ 
+   if (setuid (uid) == -1)
+-  {
+-    error (EXIT_FAILURE, errno, "setuid() failed");
+-  }
++    {
++      error (EXIT_FAILURE, errno, "setuid() failed");
++    }
+ 
+ #ifdef HAVE_SIGACTION
+   sigemptyset (&sigs);
+diff --git a/src/rshd.c b/src/rshd.c
+index 707790e7..3a153a18 100644
+--- a/src/rshd.c
++++ b/src/rshd.c
+@@ -1848,16 +1848,16 @@ doit (int sockfd, struct sockaddr *fromp, socklen_t fromlen)
+ 
+   /* Set the gid, then uid to become the user specified by "locuser" */
+   if (setegid ((gid_t) pwd->pw_gid) == -1)
+-  {
+-    rshd_error ("Cannot drop privileges (setegid() failed)\n");
+-    exit (EXIT_FAILURE);
+-  }
++    {
++      rshd_error ("Cannot drop privileges (setegid() failed)\n");
++      exit (EXIT_FAILURE);
++    }
+ 
+   if (setgid ((gid_t) pwd->pw_gid) == -1)
+-  {
+-    rshd_error ("Cannot drop privileges (setgid() failed)\n");
+-    exit (EXIT_FAILURE);
+-  }
++    {
++      rshd_error ("Cannot drop privileges (setgid() failed)\n");
++      exit (EXIT_FAILURE);
++    }
+ 
+ #ifdef HAVE_INITGROUPS
+   initgroups (pwd->pw_name, pwd->pw_gid);	/* BSD groups */
+@@ -1881,10 +1881,10 @@ doit (int sockfd, struct sockaddr *fromp, socklen_t fromlen)
+ #endif /* WITH_PAM */
+ 
+   if (setuid ((uid_t) pwd->pw_uid) == -1)
+-  {
+-    rshd_error ("Cannot drop privileges (setuid() failed)\n");
+-    exit (EXIT_FAILURE);
+-  }
++    {
++      rshd_error ("Cannot drop privileges (setuid() failed)\n");
++      exit (EXIT_FAILURE);
++    }
+ 
+   /* We'll execute the client's command in the home directory
+    * of locuser. Note, that the chdir must be executed after
+diff --git a/src/uucpd.c b/src/uucpd.c
+index 29cfce35..fde7b9c9 100644
+--- a/src/uucpd.c
++++ b/src/uucpd.c
+@@ -254,10 +254,10 @@ doit (struct sockaddr *sap, socklen_t salen)
+   dologin (pw, sap, salen);
+ 
+   if (setgid (pw->pw_gid) == -1)
+-  {
+-    fprintf (stderr, "setgid() failed");
+-    return;
+-  }
++    {
++      fprintf (stderr, "setgid() failed");
++      return;
++    }
+ #ifdef HAVE_INITGROUPS
+   initgroups (pw->pw_name, pw->pw_gid);
+ #endif
+@@ -268,10 +268,10 @@ doit (struct sockaddr *sap, socklen_t salen)
+     }
+ 
+   if (setuid (pw->pw_uid) == -1)
+-  {
+-    fprintf (stderr, "setuid() failed");
+-    return;
+-  }
++    {
++      fprintf (stderr, "setuid() failed");
++      return;
++    }
+ 
+   execl (uucico_location, "uucico", NULL);
+   perror ("uucico server: execl");
diff --git a/poky/meta/recipes-connectivity/inetutils/inetutils/fix-disable-ipv6.patch b/poky/meta/recipes-connectivity/inetutils/inetutils/fix-disable-ipv6.patch
deleted file mode 100644
index 603d2ba..0000000
--- a/poky/meta/recipes-connectivity/inetutils/inetutils/fix-disable-ipv6.patch
+++ /dev/null
@@ -1,85 +0,0 @@
-From c7c27ba763c613f83c1561e56448b49315c271c5 Mon Sep 17 00:00:00 2001
-From: Jackie Huang <jackie.huang@windriver.com>
-Date: Wed, 6 Mar 2019 09:36:11 -0500
-Subject: [PATCH] Upstream:
- http://www.mail-archive.com/bug-inetutils@gnu.org/msg02103.html
-
-Upstream-Status: Pending
-
-Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
-
----
- ping/ping_common.h | 20 ++++++++++++++++++++
- 1 file changed, 20 insertions(+)
-
-diff --git a/ping/ping_common.h b/ping/ping_common.h
-index 65e3e60..3e84db0 100644
---- a/ping/ping_common.h
-+++ b/ping/ping_common.h
-@@ -18,10 +18,14 @@
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see `http://www.gnu.org/licenses/'. */
- 
-+#include <config.h>
-+
- #include <netinet/in_systm.h>
- #include <netinet/in.h>
- #include <netinet/ip.h>
-+#ifdef HAVE_IPV6
- #include <netinet/icmp6.h>
-+#endif
- #include <icmp.h>
- #include <error.h>
- #include <progname.h>
-@@ -63,7 +67,12 @@ struct ping_stat
-    want to follow the traditional behaviour of ping.  */
- #define DEFAULT_PING_COUNT 0
- 
-+#ifdef HAVE_IPV6
- #define PING_HEADER_LEN (USE_IPV6 ? sizeof (struct icmp6_hdr) : ICMP_MINLEN)
-+#else
-+#define PING_HEADER_LEN (ICMP_MINLEN)
-+#endif
-+
- #define PING_TIMING(s)  ((s) >= sizeof (struct timeval))
- #define PING_DATALEN    (64 - PING_HEADER_LEN)  /* default data length */
- 
-@@ -78,13 +87,20 @@ struct ping_stat
- 
- #define PING_MIN_USER_INTERVAL (200000/PING_PRECISION)
- 
-+#ifdef HAVE_IPV6
- /* FIXME: Adjust IPv6 case for options and their consumption.  */
- #define _PING_BUFLEN(p, u) ((u)? ((p)->ping_datalen + sizeof (struct icmp6_hdr)) : \
- 				   (MAXIPLEN + (p)->ping_datalen + ICMP_TSLEN))
- 
-+#else
-+#define _PING_BUFLEN(p, u) (MAXIPLEN + (p)->ping_datalen + ICMP_TSLEN)
-+#endif
-+
-+#ifdef HAVE_IPV6
- typedef int (*ping_efp6) (int code, void *closure, struct sockaddr_in6 * dest,
- 			  struct sockaddr_in6 * from, struct icmp6_hdr * icmp,
- 			  int datalen);
-+#endif
- 
- typedef int (*ping_efp) (int code,
- 			 void *closure,
-@@ -93,13 +109,17 @@ typedef int (*ping_efp) (int code,
- 			 struct ip * ip, icmphdr_t * icmp, int datalen);
- 
- union event {
-+#ifdef HAVE_IPV6
-   ping_efp6 handler6;
-+#endif
-   ping_efp handler;
- };
- 
- union ping_address {
-   struct sockaddr_in ping_sockaddr;
-+#ifdef HAVE_IPV6
-   struct sockaddr_in6 ping_sockaddr6;
-+#endif
- };
- 
- typedef struct ping_data PING;
diff --git a/poky/meta/recipes-connectivity/inetutils/inetutils/inetutils-1.8-0001-printf-parse-pull-in-features.h-for-__GLIBC__.patch b/poky/meta/recipes-connectivity/inetutils/inetutils/inetutils-1.8-0001-printf-parse-pull-in-features.h-for-__GLIBC__.patch
deleted file mode 100644
index 2974bd4..0000000
--- a/poky/meta/recipes-connectivity/inetutils/inetutils/inetutils-1.8-0001-printf-parse-pull-in-features.h-for-__GLIBC__.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From f7f785c21306010b2367572250b2822df5bc7728 Mon Sep 17 00:00:00 2001
-From: Mike Frysinger <vapier at gentoo.org>
-Date: Thu, 18 Nov 2010 16:59:14 -0500
-Subject: [PATCH] printf-parse: pull in features.h for __GLIBC__
-
-Upstream-Status: Pending
-
-Signed-off-by: Mike Frysinger <vapier at gentoo.org>
-
----
- lib/printf-parse.h | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/lib/printf-parse.h b/lib/printf-parse.h
-index e7d0f82..d7b4534 100644
---- a/lib/printf-parse.h
-+++ b/lib/printf-parse.h
-@@ -28,6 +28,9 @@
- 
- #include "printf-args.h"
- 
-+#ifdef HAVE_FEATURES_H
-+# include <features.h>	/* for __GLIBC__ */
-+#endif
- 
- /* Flags */
- #define FLAG_GROUP       1      /* ' flag */
diff --git a/poky/meta/recipes-connectivity/inetutils/inetutils/inetutils-1.8-0003-wchar.patch b/poky/meta/recipes-connectivity/inetutils/inetutils/inetutils-1.8-0003-wchar.patch
deleted file mode 100644
index 1ef7e21..0000000
--- a/poky/meta/recipes-connectivity/inetutils/inetutils/inetutils-1.8-0003-wchar.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 9089c6eafbf5903174dce87b68476e35db80beb9 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <martin.jansa@gmail.com>
-Date: Wed, 6 Mar 2019 09:36:11 -0500
-Subject: [PATCH] inetutils: Import version 1.9.4
-
-Upstream-Status: Pending
-
----
- lib/wchar.in.h | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/lib/wchar.in.h b/lib/wchar.in.h
-index cdda680..043866a 100644
---- a/lib/wchar.in.h
-+++ b/lib/wchar.in.h
-@@ -77,6 +77,9 @@
- /* The include_next requires a split double-inclusion guard.  */
- #if @HAVE_WCHAR_H@
- # @INCLUDE_NEXT@ @NEXT_WCHAR_H@
-+#else
-+# include <stddef.h>
-+# define MB_CUR_MAX 1
- #endif
- 
- #undef _GL_ALREADY_INCLUDING_WCHAR_H
diff --git a/poky/meta/recipes-connectivity/inetutils/inetutils/inetutils-1.9-PATH_PROCNET_DEV.patch b/poky/meta/recipes-connectivity/inetutils/inetutils/inetutils-1.9-PATH_PROCNET_DEV.patch
deleted file mode 100644
index 460ddf9..0000000
--- a/poky/meta/recipes-connectivity/inetutils/inetutils/inetutils-1.9-PATH_PROCNET_DEV.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 101130f422dd5c01a1459645d7b2a5b8d19720ab Mon Sep 17 00:00:00 2001
-From: Martin Jansa <martin.jansa@gmail.com>
-Date: Wed, 6 Mar 2019 09:36:11 -0500
-Subject: [PATCH] inetutils: define PATH_PROCNET_DEV if not already defined
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-this prevents the following compilation error :
-system/linux.c:401:15: error: 'PATH_PROCNET_DEV' undeclared (first use in this function)
-
-this patch comes from :
- http://repository.timesys.com/buildsources/i/inetutils/inetutils-1.9/
-
-Upstream-Status: Inappropriate [not author]
-
-Signed-of-by: Eric Bénard <eric@eukrea.com>
-
----
- ifconfig/system/linux.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/ifconfig/system/linux.c b/ifconfig/system/linux.c
-index e453b46..4268ca9 100644
---- a/ifconfig/system/linux.c
-+++ b/ifconfig/system/linux.c
-@@ -53,6 +53,10 @@
- #include "../ifconfig.h"
- 
- 
-+#ifndef PATH_PROCNET_DEV
-+  #define PATH_PROCNET_DEV "/proc/net/dev"
-+#endif
-+
- /* ARPHRD stuff.  */
- 
- static void
diff --git a/poky/meta/recipes-connectivity/inetutils/inetutils/inetutils-only-check-pam_appl.h-when-pam-enabled.patch b/poky/meta/recipes-connectivity/inetutils/inetutils/inetutils-only-check-pam_appl.h-when-pam-enabled.patch
deleted file mode 100644
index 2343c03..0000000
--- a/poky/meta/recipes-connectivity/inetutils/inetutils/inetutils-only-check-pam_appl.h-when-pam-enabled.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From cc66e842e037fba9f06761f942abe5c4856492b8 Mon Sep 17 00:00:00 2001
-From: Kai Kang <kai.kang@windriver.com>
-Date: Wed, 6 Mar 2019 09:36:11 -0500
-Subject: [PATCH] inetutils: Import version 1.9.4
-
-Only check security/pam_appl.h which is provided by package libpam when pam is
-enabled.
-
-Upstream-Status: Pending
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
-
----
- configure.ac | 15 ++++++++++++++-
- 1 file changed, 14 insertions(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 5e16c3a..18510a8 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -182,6 +182,19 @@ AC_SUBST(LIBUTIL)
- 
- # See if we have libpam.a.  Investigate PAM versus Linux-PAM.
- if test "$with_pam" = yes ; then
-+  AC_CHECK_HEADERS([security/pam_appl.h], [], [], [
-+#include <sys/types.h>
-+#ifdef HAVE_NETINET_IN_SYSTM_H
-+# include <netinet/in_systm.h>
-+#endif
-+#include <netinet/in.h>
-+#ifdef HAVE_NETINET_IP_H
-+# include <netinet/ip.h>
-+#endif
-+#ifdef HAVE_SYS_PARAM_H
-+# include <sys/param.h>
-+#endif
-+])
-   AC_CHECK_LIB(dl, dlopen, LIBDL=-ldl)
-   AC_CHECK_LIB(pam, pam_authenticate, LIBPAM=-lpam)
-   if test "$ac_cv_lib_pam_pam_authenticate" = yes ; then
-@@ -617,7 +630,7 @@ AC_HEADER_DIRENT
- AC_CHECK_HEADERS([arpa/nameser.h arpa/tftp.h fcntl.h features.h \
- 		  glob.h memory.h netinet/ether.h netinet/in_systm.h \
- 		  netinet/ip.h netinet/ip_icmp.h netinet/ip_var.h \
--		  security/pam_appl.h shadow.h \
-+		  shadow.h \
- 		  stropts.h sys/tty.h \
- 		  sys/utsname.h sys/ptyvar.h sys/msgbuf.h sys/filio.h \
- 		  sys/ioctl_compat.h sys/cdefs.h sys/stream.h sys/mkdev.h \
diff --git a/poky/meta/recipes-connectivity/inetutils/inetutils_2.4.bb b/poky/meta/recipes-connectivity/inetutils/inetutils_2.4.bb
index bcc3a02..957f1fe 100644
--- a/poky/meta/recipes-connectivity/inetutils/inetutils_2.4.bb
+++ b/poky/meta/recipes-connectivity/inetutils/inetutils_2.4.bb
@@ -13,23 +13,19 @@
 
 SRC_URI[sha256sum] = "1789d6b1b1a57dfe2a7ab7b533ee9f5dfd9cbf5b59bb1bb3c2612ed08d0f68b2"
 SRC_URI = "${GNU_MIRROR}/inetutils/inetutils-${PV}.tar.xz \
-           file://inetutils-1.8-0001-printf-parse-pull-in-features.h-for-__GLIBC__.patch \
-           file://inetutils-1.8-0003-wchar.patch \
-           file://rexec.xinetd.inetutils  \
+           file://rexec.xinetd.inetutils \
            file://rlogin.xinetd.inetutils \
            file://rsh.xinetd.inetutils \
            file://telnet.xinetd.inetutils \
            file://tftpd.xinetd.inetutils \
-           file://inetutils-1.9-PATH_PROCNET_DEV.patch \
-           file://inetutils-only-check-pam_appl.h-when-pam-enabled.patch \
-"
+           file://0001-CVE-2023-40303-ftpd-rcp-rlogin-rsh-rshd-uucpd-fix-ch.patch \
+           file://0002-CVE-2023-40303-Indent-changes-in-previous-commit.patch \
+           "
 
 inherit autotools gettext update-alternatives texinfo
 
 acpaths = "-I ./m4"
 
-SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', '', 'file://fix-disable-ipv6.patch', d)}"
-
 PACKAGECONFIG ??= "ftp uucpd \
                    ${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} \
                    ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6 ping6', '', d)} \
@@ -41,21 +37,33 @@
 PACKAGECONFIG[ping6] = "--enable-ping6,--disable-ping6,"
 
 EXTRA_OECONF = "--with-ncurses-include-dir=${STAGING_INCDIR} \
-        inetutils_cv_path_login=${base_bindir}/login \
         --with-libreadline-prefix=${STAGING_LIBDIR} \
         --enable-rpath=no \
-"
+        --with-path-login=${base_bindir}/login \
+        --with-path-cp=${base_bindir}/cp \
+        --with-path-uucico=${libexecdir}/uuico \
+        --with-path-procnet-dev=/proc/net/dev \
+        "
+
+EXTRA_OECONF:append:libc-musl = " --with-path-utmpx=/dev/null/utmpx --with-path-wtmpx=/dev/null/wtmpx"
 
 # These are horrible for security, disable them
 EXTRA_OECONF:append = " --disable-rsh --disable-rshd --disable-rcp \
         --disable-rlogin --disable-rlogind --disable-rexec --disable-rexecd"
 
+# The configure script guesses many paths in cross builds, check for this happening
+do_configure_cross_check() {
+    if grep "may be incorrect because of cross-compilation" ${B}/config.log; then
+        bberror Default path values used, these must be set explicitly
+    fi
+}
+do_configure[postfuncs] += "do_configure_cross_check"
+
+# The --with-path options are not actually options, so this check needs to be silenced
+ERROR_QA:remove = "unknown-configure-option"
+
 do_configure:prepend () {
     export HELP2MAN='true'
-    cp ${STAGING_DATADIR_NATIVE}/gettext/config.rpath ${S}/build-aux/config.rpath
-    install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}
-    install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}
-    rm -f ${S}/glob/configure*
 }
 
 do_install:append () {
diff --git a/poky/meta/recipes-connectivity/kea/files/0001-kea-fix-reproducible-build-failure.patch b/poky/meta/recipes-connectivity/kea/files/0001-kea-fix-reproducible-build-failure.patch
new file mode 100644
index 0000000..8a5bd00
--- /dev/null
+++ b/poky/meta/recipes-connectivity/kea/files/0001-kea-fix-reproducible-build-failure.patch
@@ -0,0 +1,62 @@
+From f9bcfed5a1d44d9211c5f6eba403a9898c8c9057 Mon Sep 17 00:00:00 2001
+From: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
+Date: Tue, 8 Aug 2023 19:03:13 +0100
+Subject: [PATCH] kea: fix reproducible build failure
+
+New version of Kea has started using path of build-dir instead of
+src-dir which results in reproducible builds failure.
+Use src-dir as is used in v2.2.0
+
+Upstream-Status: Pending
+https://gitlab.isc.org/isc-projects/kea/-/issues/3007
+
+Upstream has confirmed the patch will not be accepted but discussions
+with upstream is still going on, we might have a proper solution later.
+
+Signed-off-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
+---
+ src/bin/admin/kea-admin.in | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/src/bin/admin/kea-admin.in b/src/bin/admin/kea-admin.in
+index 034a0ee..8ab11ab 100644
+--- a/src/bin/admin/kea-admin.in
++++ b/src/bin/admin/kea-admin.in
+@@ -51,14 +51,14 @@ dump_qry=""
+ if test -f "@datarootdir@/@PACKAGE_NAME@/scripts/admin-utils.sh"; then
+     . "@datarootdir@/@PACKAGE_NAME@/scripts/admin-utils.sh"
+ else
+-    . "@abs_top_builddir@/src/bin/admin/admin-utils.sh"
++    . "@abs_top_srcdir@/src/bin/admin/admin-utils.sh"
+ fi
+ 
+ # Find the installed kea-lfc if available. Fallback to sources otherwise.
+ if test -x "@sbindir@/kea-lfc"; then
+     kea_lfc="@sbindir@/kea-lfc"
+ else
+-    kea_lfc="@abs_top_builddir@/src/bin/lfc/kea-lfc"
++    kea_lfc="@abs_top_srcdir@/src/bin/lfc/kea-lfc"
+ fi
+ 
+ # Prints out usage version.
+@@ -355,7 +355,7 @@ mysql_upgrade() {
+     # Check if there are any files in it
+     num_files=$(find "${upgrade_scripts_dir}" -name 'upgrade*.sh' -type f | wc -l)
+     if [ "$num_files" -eq 0 ]; then
+-        upgrade_scripts_dir=@abs_top_builddir@/src/share/database/scripts/mysql
++        upgrade_scripts_dir=@abs_top_srcdir@/src/share/database/scripts/mysql
+ 
+         # Check if the scripts directory exists at all.
+         if [ ! -d ${upgrade_scripts_dir} ]; then
+@@ -405,7 +405,7 @@ pgsql_upgrade() {
+     # Check if there are any files in it
+     num_files=$(find "${upgrade_scripts_dir}" -name 'upgrade*.sh' -type f | wc -l)
+     if [ "$num_files" -eq 0 ]; then
+-        upgrade_scripts_dir=@abs_top_builddir@/src/share/database/scripts/pgsql
++        upgrade_scripts_dir=@abs_top_srcdir@/src/share/database/scripts/pgsql
+ 
+         # Check if the scripts directory exists at all.
+         if [ ! -d ${upgrade_scripts_dir} ]; then
+-- 
+2.39.2
+
diff --git a/poky/meta/recipes-connectivity/kea/kea_2.2.0.bb b/poky/meta/recipes-connectivity/kea/kea_2.4.0.bb
similarity index 92%
rename from poky/meta/recipes-connectivity/kea/kea_2.2.0.bb
rename to poky/meta/recipes-connectivity/kea/kea_2.4.0.bb
index 2c2e5a7..3164687 100644
--- a/poky/meta/recipes-connectivity/kea/kea_2.2.0.bb
+++ b/poky/meta/recipes-connectivity/kea/kea_2.4.0.bb
@@ -3,7 +3,7 @@
 HOMEPAGE = "http://kea.isc.org"
 SECTION = "connectivity"
 LICENSE = "MPL-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=97ce14bdd2733f5b84ab5e29380d057d"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ea061fa0188838072c4248c1318ec131"
 
 DEPENDS = "boost log4cplus openssl"
 
@@ -17,8 +17,9 @@
            file://fix-multilib-conflict.patch \
            file://fix_pid_keactrl.patch \
            file://0001-src-lib-log-logger_unittest_support.cc-do-not-write-.patch \
+           file://0001-kea-fix-reproducible-build-failure.patch \
            "
-SRC_URI[sha256sum] = "da7d90ca62a772602dac6e77e507319038422895ad68eeb142f1487d67d531d2"
+SRC_URI[sha256sum] = "3a33cd08dc3319ff544e6bbf2c0429042106f4051ebe115dc1bb2625c95003f7"
 
 inherit autotools systemd update-rc.d upstream-version-is-even
 
diff --git a/poky/meta/recipes-connectivity/neard/neard_0.18.bb b/poky/meta/recipes-connectivity/neard/neard_0.19.bb
similarity index 96%
rename from poky/meta/recipes-connectivity/neard/neard_0.18.bb
rename to poky/meta/recipes-connectivity/neard/neard_0.19.bb
index 362a761..a98f436 100644
--- a/poky/meta/recipes-connectivity/neard/neard_0.18.bb
+++ b/poky/meta/recipes-connectivity/neard/neard_0.19.bb
@@ -15,7 +15,7 @@
            file://0001-Add-header-dependency-to-nciattach.o.patch \
           "
 
-SRCREV = "c781008d3786e03173f0a0f5dfcc0545c787d7fc"
+SRCREV = "a1dc8a75cba999728e154a0f811ab9dd50c809f7"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.6.3.bb b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.6.3.bb
index e703395..35cf6af 100644
--- a/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.6.3.bb
+++ b/poky/meta/recipes-connectivity/nfs-utils/nfs-utils_2.6.3.bb
@@ -84,6 +84,7 @@
 			   ${sysconfdir}/nfsmount.conf"
 
 FILES:${PN}-client = "${sbindir}/*statd \
+		      ${libdir}/libnfsidmap.so.* \
 		      ${sbindir}/rpc.idmapd ${sbindir}/sm-notify \
 		      ${sbindir}/showmount ${sbindir}/nfsstat \
 		      ${localstatedir}/lib/nfs \
diff --git a/poky/meta/recipes-connectivity/openssh/openssh/0001-openssh-regress-Makefile-print-logs-if-test-fails.patch b/poky/meta/recipes-connectivity/openssh/openssh/0001-openssh-regress-Makefile-print-logs-if-test-fails.patch
new file mode 100644
index 0000000..baa68dc
--- /dev/null
+++ b/poky/meta/recipes-connectivity/openssh/openssh/0001-openssh-regress-Makefile-print-logs-if-test-fails.patch
@@ -0,0 +1,34 @@
+From 554f7baed050f89ffc2a7192d3071e8c5420f6d3 Mon Sep 17 00:00:00 2001
+From: Mikko Rapeli <mikko.rapeli@linaro.org>
+Date: Fri, 25 Aug 2023 10:35:28 +0000
+Subject: [PATCH] openssh regress/Makefile: print logs if test fails
+
+Some tests are failing in CI runs and reproduction has failed. Print
+the captured sshd and ssh client logs if test fails. This should
+help to fix the root causes.
+
+Reference: https://bugzilla.yoctoproject.org/show_bug.cgi?id=15178
+
+Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
+---
+ regress/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Upstream-Status: Submitted [https://github.com/openssh/openssh-portable/pull/437]
+
+diff --git a/regress/Makefile b/regress/Makefile
+index d80bf59..a972dff 100644
+--- a/regress/Makefile
++++ b/regress/Makefile
+@@ -229,7 +229,7 @@ t-exec:	${LTESTS:=.sh}
+ 		done; \
+ 		if [ "x$${skip}" = "xno" ]; then \
+ 			echo "run test $${TEST}" ... 1>&2; \
+-			(env SUDO="${SUDO}" TEST_ENV=${TEST_ENV} ${TEST_SHELL} ${.CURDIR}/test-exec.sh ${.OBJDIR} ${.CURDIR}/$${TEST}) || exit $$?; \
++			(env SUDO="${SUDO}" TEST_ENV=${TEST_ENV} ${TEST_SHELL} ${.CURDIR}/test-exec.sh ${.OBJDIR} ${.CURDIR}/$${TEST}) || (echo return value: $$?; echo capturing logs; cat *.log; exit 1); \
+ 		else \
+ 			echo skip test $${TEST} 1>&2; \
+ 		fi; \
+-- 
+2.34.1
+
diff --git a/poky/meta/recipes-connectivity/openssh/openssh/7280401bdd77ca54be6867a154cc01e0d72612e0.patch b/poky/meta/recipes-connectivity/openssh/openssh/7280401bdd77ca54be6867a154cc01e0d72612e0.patch
deleted file mode 100644
index 4c8aa08..0000000
--- a/poky/meta/recipes-connectivity/openssh/openssh/7280401bdd77ca54be6867a154cc01e0d72612e0.patch
+++ /dev/null
@@ -1,994 +0,0 @@
-From 7280401bdd77ca54be6867a154cc01e0d72612e0 Mon Sep 17 00:00:00 2001
-From: Damien Miller <djm@mindrot.org>
-Date: Fri, 24 Mar 2023 13:56:25 +1100
-Subject: [PATCH] remove support for old libcrypto
-
-OpenSSH now requires LibreSSL 3.1.0 or greater or
-OpenSSL 1.1.1 or greater
-
-with/ok dtucker@
-
-Upstream-Status: Backport [https://github.com/openssh/openssh-portable/commit/7280401bdd77ca54be6867a154cc01e0d72612e0]
-Comment: Hunks are refreshed.
-Signed-off-by: Riyaz Khan <Riyaz.Khan@kpit.com>
-
----
- .github/workflows/c-cpp.yml          |   7 -
- INSTALL                              |   8 +-
- cipher-aes.c                         |   2 +-
- configure.ac                         |  96 ++---
- openbsd-compat/libressl-api-compat.c | 556 +--------------------------
- openbsd-compat/openssl-compat.h      | 151 +-------
- 6 files changed, 40 insertions(+), 780 deletions(-)
-
-diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml
-index 3d9aa22dba5..d299a32468d 100644
---- a/.github/workflows/c-cpp.yml
-+++ b/.github/workflows/c-cpp.yml
-@@ -47,9 +47,6 @@ jobs:
-           - { target: ubuntu-20.04, config: tcmalloc }
-           - { target: ubuntu-20.04, config: musl }
-           - { target: ubuntu-latest, config: libressl-master }
--          - { target: ubuntu-latest, config: libressl-2.2.9 }
--          - { target: ubuntu-latest, config: libressl-2.8.3 }
--          - { target: ubuntu-latest, config: libressl-3.0.2 }
-           - { target: ubuntu-latest, config: libressl-3.2.6 }
-           - { target: ubuntu-latest, config: libressl-3.3.6 }
-           - { target: ubuntu-latest, config: libressl-3.4.3 }
-@@ -58,10 +55,6 @@ jobs:
-           - { target: ubuntu-latest, config: libressl-3.7.0 }
-           - { target: ubuntu-latest, config: openssl-master }
-           - { target: ubuntu-latest, config: openssl-noec }
--          - { target: ubuntu-latest, config: openssl-1.0.1 }
--          - { target: ubuntu-latest, config: openssl-1.0.1u }
--          - { target: ubuntu-latest, config: openssl-1.0.2u }
--          - { target: ubuntu-latest, config: openssl-1.1.0h }
-           - { target: ubuntu-latest, config: openssl-1.1.1 }
-           - { target: ubuntu-latest, config: openssl-1.1.1k }
-           - { target: ubuntu-latest, config: openssl-1.1.1n }
-diff --git a/INSTALL b/INSTALL
-index 68b15e13190..f99d1e2a809 100644
---- a/INSTALL
-+++ b/INSTALL
-@@ -21,12 +21,8 @@ https://zlib.net/
- 
- libcrypto from either of LibreSSL or OpenSSL.  Building without libcrypto
- is supported but severely restricts the available ciphers and algorithms.
-- - LibreSSL (https://www.libressl.org/)
-- - OpenSSL (https://www.openssl.org) with any of the following versions:
--   - 1.0.x >= 1.0.1 or 1.1.0 >= 1.1.0g or any 1.1.1
--
--Note that due to a bug in EVP_CipherInit OpenSSL 1.1 versions prior to
--1.1.0g can't be used.
-+ - LibreSSL (https://www.libressl.org/) 3.1.0 or greater
-+ - OpenSSL (https://www.openssl.org) 1.1.1 or greater
- 
- LibreSSL/OpenSSL should be compiled as a position-independent library
- (i.e. -fPIC, eg by configuring OpenSSL as "./config [options] -fPIC"
-diff --git a/cipher-aes.c b/cipher-aes.c
-index 8b101727284..87c763353d8 100644
---- a/cipher-aes.c
-+++ b/cipher-aes.c
-@@ -69,7 +69,7 @@ ssh_rijndael_init(EVP_CIPHER_CTX *ctx, const u_char *key, const u_char *iv,
- 
- static int
- ssh_rijndael_cbc(EVP_CIPHER_CTX *ctx, u_char *dest, const u_char *src,
--    LIBCRYPTO_EVP_INL_TYPE len)
-+    size_t len)
- {
- 	struct ssh_rijndael_ctx *c;
- 	u_char buf[RIJNDAEL_BLOCKSIZE];
-diff --git a/configure.ac b/configure.ac
-index 22fee70f604..1c0ccdf19c5 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -2802,42 +2802,40 @@ if test "x$openssl" = "xyes" ; then
- 	#include <openssl/crypto.h>
- 	#define DATA "conftest.ssllibver"
- 		]], [[
--		FILE *fd;
--		int rc;
-+		FILE *f;
- 
--		fd = fopen(DATA,"w");
--		if(fd == NULL)
-+		if ((f = fopen(DATA, "w")) == NULL)
- 			exit(1);
--#ifndef OPENSSL_VERSION
--# define OPENSSL_VERSION SSLEAY_VERSION
--#endif
--#ifndef HAVE_OPENSSL_VERSION
--# define OpenSSL_version	SSLeay_version
--#endif
--#ifndef HAVE_OPENSSL_VERSION_NUM
--# define OpenSSL_version_num	SSLeay
--#endif
--		if ((rc = fprintf(fd, "%08lx (%s)\n",
-+		if (fprintf(f, "%08lx (%s)",
- 		    (unsigned long)OpenSSL_version_num(),
--		    OpenSSL_version(OPENSSL_VERSION))) < 0)
-+		    OpenSSL_version(OPENSSL_VERSION)) < 0)
-+			exit(1);
-+#ifdef LIBRESSL_VERSION_NUMBER
-+		if (fprintf(f, " libressl-%08lx", LIBRESSL_VERSION_NUMBER) < 0)
-+			exit(1);
-+#endif
-+		if (fputc('\n', f) == EOF || fclose(f) == EOF)
- 			exit(1);
--
- 		exit(0);
- 		]])],
- 		[
--			ssl_library_ver=`cat conftest.ssllibver`
-+			sslver=`cat conftest.ssllibver`
-+			ssl_showver=`echo "$sslver" | sed 's/ libressl-.*//'`
- 			# Check version is supported.
--			case "$ssl_library_ver" in
--			10000*|0*)
--				AC_MSG_ERROR([OpenSSL >= 1.0.1 required (have "$ssl_library_ver")])
--		                ;;
--			100*)   ;; # 1.0.x
--			101000[[0123456]]*)
--				# https://github.com/openssl/openssl/pull/4613
--				AC_MSG_ERROR([OpenSSL 1.1.x versions prior to 1.1.0g have a bug that breaks their use with OpenSSH (have "$ssl_library_ver")])
-+			case "$sslver" in
-+			100*|10100*) # 1.0.x, 1.1.0x
-+				AC_MSG_ERROR([OpenSSL >= 1.1.1 required (have "$ssl_showver")])
- 				;;
- 			101*)   ;; # 1.1.x
--			200*)   ;; # LibreSSL
-+			200*)   # LibreSSL
-+				lver=`echo "$sslver" | sed 's/.*libressl-//'`
-+				case "$lver" in
-+				2*|300*) # 2.x, 3.0.0
-+					AC_MSG_ERROR([LibreSSL >= 3.1.0 required (have "$ssl_showver")])
-+					;;
-+				*) ;;	# Assume all other versions are good.
-+				esac
-+				;;
- 			300*)
- 				# OpenSSL 3; we use the 1.1x API
- 				CPPFLAGS="$CPPFLAGS -DOPENSSL_API_COMPAT=0x10100000L"
-@@ -2847,10 +2845,10 @@ if test "x$openssl" = "xyes" ; then
- 				CPPFLAGS="$CPPFLAGS -DOPENSSL_API_COMPAT=0x10100000L"
- 				;;
- 		        *)
--				AC_MSG_ERROR([Unknown/unsupported OpenSSL version ("$ssl_library_ver")])
-+				AC_MSG_ERROR([Unknown/unsupported OpenSSL version ("$ssl_showver")])
- 		                ;;
- 			esac
--			AC_MSG_RESULT([$ssl_library_ver])
-+			AC_MSG_RESULT([$ssl_showver])
- 		],
- 		[
- 			AC_MSG_RESULT([not found])
-@@ -2863,7 +2861,7 @@ if test "x$openssl" = "xyes" ; then
- 
- 	case "$host" in
- 	x86_64-*)
--		case "$ssl_library_ver" in
-+		case "$sslver" in
- 		3000004*)
- 			AC_MSG_ERROR([OpenSSL 3.0.4 has a potential RCE in its RSA implementation (CVE-2022-2274)])
- 			;;
-@@ -2879,9 +2877,6 @@ if test "x$openssl" = "xyes" ; then
- 	#include <openssl/opensslv.h>
- 	#include <openssl/crypto.h>
- 		]], [[
--#ifndef HAVE_OPENSSL_VERSION_NUM
--# define OpenSSL_version_num	SSLeay
--#endif
- 		exit(OpenSSL_version_num() == OPENSSL_VERSION_NUMBER ? 0 : 1);
- 		]])],
- 		[
-@@ -2955,44 +2950,13 @@ if test "x$openssl" = "xyes" ; then
- 	    )
- 	)
- 
--	# LibreSSL/OpenSSL 1.1x API
-+	# LibreSSL/OpenSSL API differences
- 	AC_CHECK_FUNCS([ \
--		OPENSSL_init_crypto \
--		DH_get0_key \
--		DH_get0_pqg \
--		DH_set0_key \
--		DH_set_length \
--		DH_set0_pqg \
--		DSA_get0_key \
--		DSA_get0_pqg \
--		DSA_set0_key \
--		DSA_set0_pqg \
--		DSA_SIG_get0 \
--		DSA_SIG_set0 \
--		ECDSA_SIG_get0 \
--		ECDSA_SIG_set0 \
- 		EVP_CIPHER_CTX_iv \
- 		EVP_CIPHER_CTX_iv_noconst \
- 		EVP_CIPHER_CTX_get_iv \
- 		EVP_CIPHER_CTX_get_updated_iv \
- 		EVP_CIPHER_CTX_set_iv \
--		RSA_get0_crt_params \
--		RSA_get0_factors \
--		RSA_get0_key \
--		RSA_set0_crt_params \
--		RSA_set0_factors \
--		RSA_set0_key \
--		RSA_meth_free \
--		RSA_meth_dup \
--		RSA_meth_set1_name \
--		RSA_meth_get_finish \
--		RSA_meth_set_priv_enc \
--		RSA_meth_set_priv_dec \
--		RSA_meth_set_finish \
--		EVP_PKEY_get0_RSA \
--		EVP_MD_CTX_new \
--		EVP_MD_CTX_free \
--		EVP_chacha20 \
- 	])
- 
- 	if test "x$openssl_engine" = "xyes" ; then
-@@ -3050,8 +3014,8 @@ if test "x$openssl" = "xyes" ; then
- 		]
- 	)
- 
--	# Check for SHA256, SHA384 and SHA512 support in OpenSSL
--	AC_CHECK_FUNCS([EVP_sha256 EVP_sha384 EVP_sha512])
-+	# Check for various EVP support in OpenSSL
-+	AC_CHECK_FUNCS([EVP_sha256 EVP_sha384 EVP_sha512 EVP_chacha20])
- 
- 	# Check complete ECC support in OpenSSL
- 	AC_MSG_CHECKING([whether OpenSSL has NID_X9_62_prime256v1])
-diff --git a/openbsd-compat/libressl-api-compat.c b/openbsd-compat/libressl-api-compat.c
-index 498180dc894..59be17397c5 100644
---- a/openbsd-compat/libressl-api-compat.c
-+++ b/openbsd-compat/libressl-api-compat.c
-@@ -1,129 +1,5 @@
--/* $OpenBSD: dsa_lib.c,v 1.29 2018/04/14 07:09:21 tb Exp $ */
--/* $OpenBSD: rsa_lib.c,v 1.37 2018/04/14 07:09:21 tb Exp $ */
--/* $OpenBSD: evp_lib.c,v 1.17 2018/09/12 06:35:38 djm Exp $ */
--/* $OpenBSD: dh_lib.c,v 1.32 2018/05/02 15:48:38 tb Exp $ */
--/* $OpenBSD: p_lib.c,v 1.24 2018/05/30 15:40:50 tb Exp $ */
--/* $OpenBSD: digest.c,v 1.30 2018/04/14 07:09:21 tb Exp $ */
--/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
-- * All rights reserved.
-- *
-- * This package is an SSL implementation written
-- * by Eric Young (eay@cryptsoft.com).
-- * The implementation was written so as to conform with Netscapes SSL.
-- *
-- * This library is free for commercial and non-commercial use as long as
-- * the following conditions are aheared to.  The following conditions
-- * apply to all code found in this distribution, be it the RC4, RSA,
-- * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
-- * included with this distribution is covered by the same copyright terms
-- * except that the holder is Tim Hudson (tjh@cryptsoft.com).
-- *
-- * Copyright remains Eric Young's, and as such any Copyright notices in
-- * the code are not to be removed.
-- * If this package is used in a product, Eric Young should be given attribution
-- * as the author of the parts of the library used.
-- * This can be in the form of a textual message at program startup or
-- * in documentation (online or textual) provided with the package.
-- *
-- * Redistribution and use in source and binary forms, with or without
-- * modification, are permitted provided that the following conditions
-- * are met:
-- * 1. Redistributions of source code must retain the copyright
-- *    notice, this list of conditions and the following disclaimer.
-- * 2. Redistributions in binary form must reproduce the above copyright
-- *    notice, this list of conditions and the following disclaimer in the
-- *    documentation and/or other materials provided with the distribution.
-- * 3. All advertising materials mentioning features or use of this software
-- *    must display the following acknowledgement:
-- *    "This product includes cryptographic software written by
-- *     Eric Young (eay@cryptsoft.com)"
-- *    The word 'cryptographic' can be left out if the rouines from the library
-- *    being used are not cryptographic related :-).
-- * 4. If you include any Windows specific code (or a derivative thereof) from
-- *    the apps directory (application code) you must include an acknowledgement:
-- *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
-- *
-- * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
-- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
-- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-- * SUCH DAMAGE.
-- *
-- * The licence and distribution terms for any publically available version or
-- * derivative of this code cannot be changed.  i.e. this code cannot simply be
-- * copied and put under another distribution licence
-- * [including the GNU Public Licence.]
-- */
--
--/* $OpenBSD: dsa_asn1.c,v 1.22 2018/06/14 17:03:19 jsing Exp $ */
--/* $OpenBSD: ecs_asn1.c,v 1.9 2018/03/17 15:24:44 tb Exp $ */
--/* $OpenBSD: digest.c,v 1.30 2018/04/14 07:09:21 tb Exp $ */
--/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
-- * project 2000.
-- */
--/* ====================================================================
-- * Copyright (c) 2000-2005 The OpenSSL Project.  All rights reserved.
-- *
-- * Redistribution and use in source and binary forms, with or without
-- * modification, are permitted provided that the following conditions
-- * are met:
-- *
-- * 1. Redistributions of source code must retain the above copyright
-- *    notice, this list of conditions and the following disclaimer.
-- *
-- * 2. Redistributions in binary form must reproduce the above copyright
-- *    notice, this list of conditions and the following disclaimer in
-- *    the documentation and/or other materials provided with the
-- *    distribution.
-- *
-- * 3. All advertising materials mentioning features or use of this
-- *    software must display the following acknowledgment:
-- *    "This product includes software developed by the OpenSSL Project
-- *    for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
-- *
-- * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
-- *    endorse or promote products derived from this software without
-- *    prior written permission. For written permission, please contact
-- *    licensing@OpenSSL.org.
-- *
-- * 5. Products derived from this software may not be called "OpenSSL"
-- *    nor may "OpenSSL" appear in their names without prior written
-- *    permission of the OpenSSL Project.
-- *
-- * 6. Redistributions of any form whatsoever must retain the following
-- *    acknowledgment:
-- *    "This product includes software developed by the OpenSSL Project
-- *    for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
-- *
-- * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
-- * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
-- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
-- * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
-- * OF THE POSSIBILITY OF SUCH DAMAGE.
-- * ====================================================================
-- *
-- * This product includes cryptographic software written by Eric Young
-- * (eay@cryptsoft.com).  This product includes software written by Tim
-- * Hudson (tjh@cryptsoft.com).
-- *
-- */
--
--/*	$OpenBSD: rsa_meth.c,v 1.2 2018/09/12 06:35:38 djm Exp $	*/
- /*
-- * Copyright (c) 2018 Theo Buehler <tb@openbsd.org>
-+ * Copyright (c) 2018 Damien Miller <djm@mindrot.org>
-  *
-  * Permission to use, copy, modify, and distribute this software for any
-  * purpose with or without fee is hereby granted, provided that the above
-@@ -147,192 +23,7 @@
- #include <stdlib.h>
- #include <string.h>
- 
--#include <openssl/err.h>
--#include <openssl/bn.h>
--#include <openssl/dsa.h>
--#include <openssl/rsa.h>
- #include <openssl/evp.h>
--#ifdef OPENSSL_HAS_ECC
--#include <openssl/ecdsa.h>
--#endif
--#include <openssl/dh.h>
--
--#ifndef HAVE_DSA_GET0_PQG
--void
--DSA_get0_pqg(const DSA *d, const BIGNUM **p, const BIGNUM **q, const BIGNUM **g)
--{
--	if (p != NULL)
--		*p = d->p;
--	if (q != NULL)
--		*q = d->q;
--	if (g != NULL)
--		*g = d->g;
--}
--#endif /* HAVE_DSA_GET0_PQG */
--
--#ifndef HAVE_DSA_SET0_PQG
--int
--DSA_set0_pqg(DSA *d, BIGNUM *p, BIGNUM *q, BIGNUM *g)
--{
--	if ((d->p == NULL && p == NULL) || (d->q == NULL && q == NULL) ||
--	    (d->g == NULL && g == NULL))
--		return 0;
--
--	if (p != NULL) {
--		BN_free(d->p);
--		d->p = p;
--	}
--	if (q != NULL) {
--		BN_free(d->q);
--		d->q = q;
--	}
--	if (g != NULL) {
--		BN_free(d->g);
--		d->g = g;
--	}
--
--	return 1;
--}
--#endif /* HAVE_DSA_SET0_PQG */
--
--#ifndef HAVE_DSA_GET0_KEY
--void
--DSA_get0_key(const DSA *d, const BIGNUM **pub_key, const BIGNUM **priv_key)
--{
--	if (pub_key != NULL)
--		*pub_key = d->pub_key;
--	if (priv_key != NULL)
--		*priv_key = d->priv_key;
--}
--#endif /* HAVE_DSA_GET0_KEY */
--
--#ifndef HAVE_DSA_SET0_KEY
--int
--DSA_set0_key(DSA *d, BIGNUM *pub_key, BIGNUM *priv_key)
--{
--	if (d->pub_key == NULL && pub_key == NULL)
--		return 0;
--
--	if (pub_key != NULL) {
--		BN_free(d->pub_key);
--		d->pub_key = pub_key;
--	}
--	if (priv_key != NULL) {
--		BN_free(d->priv_key);
--		d->priv_key = priv_key;
--	}
--
--	return 1;
--}
--#endif /* HAVE_DSA_SET0_KEY */
--
--#ifndef HAVE_RSA_GET0_KEY
--void
--RSA_get0_key(const RSA *r, const BIGNUM **n, const BIGNUM **e, const BIGNUM **d)
--{
--	if (n != NULL)
--		*n = r->n;
--	if (e != NULL)
--		*e = r->e;
--	if (d != NULL)
--		*d = r->d;
--}
--#endif /* HAVE_RSA_GET0_KEY */
--
--#ifndef HAVE_RSA_SET0_KEY
--int
--RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d)
--{
--	if ((r->n == NULL && n == NULL) || (r->e == NULL && e == NULL))
--		return 0;
--
--	if (n != NULL) {
--		BN_free(r->n);
--		r->n = n;
--	}
--	if (e != NULL) {
--		BN_free(r->e);
--		r->e = e;
--	}
--	if (d != NULL) {
--		BN_free(r->d);
--		r->d = d;
--	}
--
--	return 1;
--}
--#endif /* HAVE_RSA_SET0_KEY */
--
--#ifndef HAVE_RSA_GET0_CRT_PARAMS
--void
--RSA_get0_crt_params(const RSA *r, const BIGNUM **dmp1, const BIGNUM **dmq1,
--    const BIGNUM **iqmp)
--{
--	if (dmp1 != NULL)
--		*dmp1 = r->dmp1;
--	if (dmq1 != NULL)
--		*dmq1 = r->dmq1;
--	if (iqmp != NULL)
--		*iqmp = r->iqmp;
--}
--#endif /* HAVE_RSA_GET0_CRT_PARAMS */
--
--#ifndef HAVE_RSA_SET0_CRT_PARAMS
--int
--RSA_set0_crt_params(RSA *r, BIGNUM *dmp1, BIGNUM *dmq1, BIGNUM *iqmp)
--{
--	if ((r->dmp1 == NULL && dmp1 == NULL) ||
--	    (r->dmq1 == NULL && dmq1 == NULL) ||
--	    (r->iqmp == NULL && iqmp == NULL))
--		return 0;
--
--	if (dmp1 != NULL) {
--		BN_free(r->dmp1);
--		r->dmp1 = dmp1;
--	}
--	if (dmq1 != NULL) {
--		BN_free(r->dmq1);
--		r->dmq1 = dmq1;
--	}
--	if (iqmp != NULL) {
--		BN_free(r->iqmp);
--		r->iqmp = iqmp;
--	}
--
--	return 1;
--}
--#endif /* HAVE_RSA_SET0_CRT_PARAMS */
--
--#ifndef HAVE_RSA_GET0_FACTORS
--void
--RSA_get0_factors(const RSA *r, const BIGNUM **p, const BIGNUM **q)
--{
--	if (p != NULL)
--		*p = r->p;
--	if (q != NULL)
--		*q = r->q;
--}
--#endif /* HAVE_RSA_GET0_FACTORS */
--
--#ifndef HAVE_RSA_SET0_FACTORS
--int
--RSA_set0_factors(RSA *r, BIGNUM *p, BIGNUM *q)
--{
--	if ((r->p == NULL && p == NULL) || (r->q == NULL && q == NULL))
--		return 0;
--
--	if (p != NULL) {
--		BN_free(r->p);
--		r->p = p;
--	}
--	if (q != NULL) {
--		BN_free(r->q);
--		r->q = q;
--	}
--
--	return 1;
--}
--#endif /* HAVE_RSA_SET0_FACTORS */
- 
- #ifndef HAVE_EVP_CIPHER_CTX_GET_IV
- int
-@@ -392,249 +83,4 @@ EVP_CIPHER_CTX_set_iv(EVP_CIPHER_CTX *ctx, const unsigned char *iv, size_t len)
- }
- #endif /* HAVE_EVP_CIPHER_CTX_SET_IV */
- 
--#ifndef HAVE_DSA_SIG_GET0
--void
--DSA_SIG_get0(const DSA_SIG *sig, const BIGNUM **pr, const BIGNUM **ps)
--{
--	if (pr != NULL)
--		*pr = sig->r;
--	if (ps != NULL)
--		*ps = sig->s;
--}
--#endif /* HAVE_DSA_SIG_GET0 */
--
--#ifndef HAVE_DSA_SIG_SET0
--int
--DSA_SIG_set0(DSA_SIG *sig, BIGNUM *r, BIGNUM *s)
--{
--	if (r == NULL || s == NULL)
--		return 0;
--
--	BN_clear_free(sig->r);
--	sig->r = r;
--	BN_clear_free(sig->s);
--	sig->s = s;
--
--	return 1;
--}
--#endif /* HAVE_DSA_SIG_SET0 */
--
--#ifdef OPENSSL_HAS_ECC
--#ifndef HAVE_ECDSA_SIG_GET0
--void
--ECDSA_SIG_get0(const ECDSA_SIG *sig, const BIGNUM **pr, const BIGNUM **ps)
--{
--	if (pr != NULL)
--		*pr = sig->r;
--	if (ps != NULL)
--		*ps = sig->s;
--}
--#endif /* HAVE_ECDSA_SIG_GET0 */
--
--#ifndef HAVE_ECDSA_SIG_SET0
--int
--ECDSA_SIG_set0(ECDSA_SIG *sig, BIGNUM *r, BIGNUM *s)
--{
--	if (r == NULL || s == NULL)
--		return 0;
--
--	BN_clear_free(sig->r);
--	BN_clear_free(sig->s);
--	sig->r = r;
--	sig->s = s;
--	return 1;
--}
--#endif /* HAVE_ECDSA_SIG_SET0 */
--#endif /* OPENSSL_HAS_ECC */
--
--#ifndef HAVE_DH_GET0_PQG
--void
--DH_get0_pqg(const DH *dh, const BIGNUM **p, const BIGNUM **q, const BIGNUM **g)
--{
--	if (p != NULL)
--		*p = dh->p;
--	if (q != NULL)
--		*q = dh->q;
--	if (g != NULL)
--		*g = dh->g;
--}
--#endif /* HAVE_DH_GET0_PQG */
--
--#ifndef HAVE_DH_SET0_PQG
--int
--DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g)
--{
--	if ((dh->p == NULL && p == NULL) || (dh->g == NULL && g == NULL))
--		return 0;
--
--	if (p != NULL) {
--		BN_free(dh->p);
--		dh->p = p;
--	}
--	if (q != NULL) {
--		BN_free(dh->q);
--		dh->q = q;
--	}
--	if (g != NULL) {
--		BN_free(dh->g);
--		dh->g = g;
--	}
--
--	return 1;
--}
--#endif /* HAVE_DH_SET0_PQG */
--
--#ifndef HAVE_DH_GET0_KEY
--void
--DH_get0_key(const DH *dh, const BIGNUM **pub_key, const BIGNUM **priv_key)
--{
--	if (pub_key != NULL)
--		*pub_key = dh->pub_key;
--	if (priv_key != NULL)
--		*priv_key = dh->priv_key;
--}
--#endif /* HAVE_DH_GET0_KEY */
--
--#ifndef HAVE_DH_SET0_KEY
--int
--DH_set0_key(DH *dh, BIGNUM *pub_key, BIGNUM *priv_key)
--{
--	if (pub_key != NULL) {
--		BN_free(dh->pub_key);
--		dh->pub_key = pub_key;
--	}
--	if (priv_key != NULL) {
--		BN_free(dh->priv_key);
--		dh->priv_key = priv_key;
--	}
--
--	return 1;
--}
--#endif /* HAVE_DH_SET0_KEY */
--
--#ifndef HAVE_DH_SET_LENGTH
--int
--DH_set_length(DH *dh, long length)
--{
--	if (length < 0 || length > INT_MAX)
--		return 0;
--
--	dh->length = length;
--	return 1;
--}
--#endif /* HAVE_DH_SET_LENGTH */
--
--#ifndef HAVE_RSA_METH_FREE
--void
--RSA_meth_free(RSA_METHOD *meth)
--{
--	if (meth != NULL) {
--		free((char *)meth->name);
--		free(meth);
--	}
--}
--#endif /* HAVE_RSA_METH_FREE */
--
--#ifndef HAVE_RSA_METH_DUP
--RSA_METHOD *
--RSA_meth_dup(const RSA_METHOD *meth)
--{
--	RSA_METHOD *copy;
--
--	if ((copy = calloc(1, sizeof(*copy))) == NULL)
--		return NULL;
--	memcpy(copy, meth, sizeof(*copy));
--	if ((copy->name = strdup(meth->name)) == NULL) {
--		free(copy);
--		return NULL;
--	}
--
--	return copy;
--}
--#endif /* HAVE_RSA_METH_DUP */
--
--#ifndef HAVE_RSA_METH_SET1_NAME
--int
--RSA_meth_set1_name(RSA_METHOD *meth, const char *name)
--{
--	char *copy;
--
--	if ((copy = strdup(name)) == NULL)
--		return 0;
--	free((char *)meth->name);
--	meth->name = copy;
--	return 1;
--}
--#endif /* HAVE_RSA_METH_SET1_NAME */
--
--#ifndef HAVE_RSA_METH_GET_FINISH
--int
--(*RSA_meth_get_finish(const RSA_METHOD *meth))(RSA *rsa)
--{
--	return meth->finish;
--}
--#endif /* HAVE_RSA_METH_GET_FINISH */
--
--#ifndef HAVE_RSA_METH_SET_PRIV_ENC
--int
--RSA_meth_set_priv_enc(RSA_METHOD *meth, int (*priv_enc)(int flen,
--    const unsigned char *from, unsigned char *to, RSA *rsa, int padding))
--{
--	meth->rsa_priv_enc = priv_enc;
--	return 1;
--}
--#endif /* HAVE_RSA_METH_SET_PRIV_ENC */
--
--#ifndef HAVE_RSA_METH_SET_PRIV_DEC
--int
--RSA_meth_set_priv_dec(RSA_METHOD *meth, int (*priv_dec)(int flen,
--    const unsigned char *from, unsigned char *to, RSA *rsa, int padding))
--{
--	meth->rsa_priv_dec = priv_dec;
--	return 1;
--}
--#endif /* HAVE_RSA_METH_SET_PRIV_DEC */
--
--#ifndef HAVE_RSA_METH_SET_FINISH
--int
--RSA_meth_set_finish(RSA_METHOD *meth, int (*finish)(RSA *rsa))
--{
--	meth->finish = finish;
--	return 1;
--}
--#endif /* HAVE_RSA_METH_SET_FINISH */
--
--#ifndef HAVE_EVP_PKEY_GET0_RSA
--RSA *
--EVP_PKEY_get0_RSA(EVP_PKEY *pkey)
--{
--	if (pkey->type != EVP_PKEY_RSA) {
--		/* EVPerror(EVP_R_EXPECTING_AN_RSA_KEY); */
--		return NULL;
--	}
--	return pkey->pkey.rsa;
--}
--#endif /* HAVE_EVP_PKEY_GET0_RSA */
--
--#ifndef HAVE_EVP_MD_CTX_NEW
--EVP_MD_CTX *
--EVP_MD_CTX_new(void)
--{
--	return calloc(1, sizeof(EVP_MD_CTX));
--}
--#endif /* HAVE_EVP_MD_CTX_NEW */
--
--#ifndef HAVE_EVP_MD_CTX_FREE
--void
--EVP_MD_CTX_free(EVP_MD_CTX *ctx)
--{
--	if (ctx == NULL)
--		return;
--
--	EVP_MD_CTX_cleanup(ctx);
--
--	free(ctx);
--}
--#endif /* HAVE_EVP_MD_CTX_FREE */
--
- #endif /* WITH_OPENSSL */
-diff --git a/openbsd-compat/openssl-compat.h b/openbsd-compat/openssl-compat.h
-index 61a69dd56eb..d0dd2c3450d 100644
---- a/openbsd-compat/openssl-compat.h
-+++ b/openbsd-compat/openssl-compat.h
-@@ -33,26 +33,13 @@
- int ssh_compatible_openssl(long, long);
- void ssh_libcrypto_init(void);
- 
--#if (OPENSSL_VERSION_NUMBER < 0x1000100fL)
--# error OpenSSL 1.0.1 or greater is required
-+#if (OPENSSL_VERSION_NUMBER < 0x10100000L)
-+# error OpenSSL 1.1.0 or greater is required
- #endif
--
--#ifndef OPENSSL_VERSION
--# define OPENSSL_VERSION	SSLEAY_VERSION
--#endif
--
--#ifndef HAVE_OPENSSL_VERSION
--# define OpenSSL_version(x)	SSLeay_version(x)
--#endif
--
--#ifndef HAVE_OPENSSL_VERSION_NUM
--# define OpenSSL_version_num	SSLeay
--#endif
--
--#if OPENSSL_VERSION_NUMBER < 0x10000001L
--# define LIBCRYPTO_EVP_INL_TYPE unsigned int
--#else
--# define LIBCRYPTO_EVP_INL_TYPE size_t
-+#ifdef LIBRESSL_VERSION_NUMBER
-+# if LIBRESSL_VERSION_NUMBER < 0x3010000fL
-+#  error LibreSSL 3.1.0 or greater is required
-+# endif
- #endif
- 
- #ifndef OPENSSL_RSA_MAX_MODULUS_BITS
-@@ -68,25 +55,6 @@ void ssh_libcrypto_init(void);
- # endif
- #endif
- 
--/* LibreSSL/OpenSSL 1.1x API compat */
--#ifndef HAVE_DSA_GET0_PQG
--void DSA_get0_pqg(const DSA *d, const BIGNUM **p, const BIGNUM **q,
--    const BIGNUM **g);
--#endif /* HAVE_DSA_GET0_PQG */
--
--#ifndef HAVE_DSA_SET0_PQG
--int DSA_set0_pqg(DSA *d, BIGNUM *p, BIGNUM *q, BIGNUM *g);
--#endif /* HAVE_DSA_SET0_PQG */
--
--#ifndef HAVE_DSA_GET0_KEY
--void DSA_get0_key(const DSA *d, const BIGNUM **pub_key,
--    const BIGNUM **priv_key);
--#endif /* HAVE_DSA_GET0_KEY */
--
--#ifndef HAVE_DSA_SET0_KEY
--int DSA_set0_key(DSA *d, BIGNUM *pub_key, BIGNUM *priv_key);
--#endif /* HAVE_DSA_SET0_KEY */
--
- #ifndef HAVE_EVP_CIPHER_CTX_GET_IV
- # ifdef HAVE_EVP_CIPHER_CTX_GET_UPDATED_IV
- #  define EVP_CIPHER_CTX_get_iv EVP_CIPHER_CTX_get_updated_iv
-@@ -101,112 +69,5 @@ int EVP_CIPHER_CTX_set_iv(EVP_CIPHER_CTX *ctx,
-     const unsigned char *iv, size_t len);
- #endif /* HAVE_EVP_CIPHER_CTX_SET_IV */
- 
--#ifndef HAVE_RSA_GET0_KEY
--void RSA_get0_key(const RSA *r, const BIGNUM **n, const BIGNUM **e,
--    const BIGNUM **d);
--#endif /* HAVE_RSA_GET0_KEY */
--
--#ifndef HAVE_RSA_SET0_KEY
--int RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d);
--#endif /* HAVE_RSA_SET0_KEY */
--
--#ifndef HAVE_RSA_GET0_CRT_PARAMS
--void RSA_get0_crt_params(const RSA *r, const BIGNUM **dmp1, const BIGNUM **dmq1,
--    const BIGNUM **iqmp);
--#endif /* HAVE_RSA_GET0_CRT_PARAMS */
--
--#ifndef HAVE_RSA_SET0_CRT_PARAMS
--int RSA_set0_crt_params(RSA *r, BIGNUM *dmp1, BIGNUM *dmq1, BIGNUM *iqmp);
--#endif /* HAVE_RSA_SET0_CRT_PARAMS */
--
--#ifndef HAVE_RSA_GET0_FACTORS
--void RSA_get0_factors(const RSA *r, const BIGNUM **p, const BIGNUM **q);
--#endif /* HAVE_RSA_GET0_FACTORS */
--
--#ifndef HAVE_RSA_SET0_FACTORS
--int RSA_set0_factors(RSA *r, BIGNUM *p, BIGNUM *q);
--#endif /* HAVE_RSA_SET0_FACTORS */
--
--#ifndef DSA_SIG_GET0
--void DSA_SIG_get0(const DSA_SIG *sig, const BIGNUM **pr, const BIGNUM **ps);
--#endif /* DSA_SIG_GET0 */
--
--#ifndef DSA_SIG_SET0
--int DSA_SIG_set0(DSA_SIG *sig, BIGNUM *r, BIGNUM *s);
--#endif /* DSA_SIG_SET0 */
--
--#ifdef OPENSSL_HAS_ECC
--#ifndef HAVE_ECDSA_SIG_GET0
--void ECDSA_SIG_get0(const ECDSA_SIG *sig, const BIGNUM **pr, const BIGNUM **ps);
--#endif /* HAVE_ECDSA_SIG_GET0 */
--
--#ifndef HAVE_ECDSA_SIG_SET0
--int ECDSA_SIG_set0(ECDSA_SIG *sig, BIGNUM *r, BIGNUM *s);
--#endif /* HAVE_ECDSA_SIG_SET0 */
--#endif /* OPENSSL_HAS_ECC */
--
--#ifndef HAVE_DH_GET0_PQG
--void DH_get0_pqg(const DH *dh, const BIGNUM **p, const BIGNUM **q,
--    const BIGNUM **g);
--#endif /* HAVE_DH_GET0_PQG */
--
--#ifndef HAVE_DH_SET0_PQG
--int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g);
--#endif /* HAVE_DH_SET0_PQG */
--
--#ifndef HAVE_DH_GET0_KEY
--void DH_get0_key(const DH *dh, const BIGNUM **pub_key, const BIGNUM **priv_key);
--#endif /* HAVE_DH_GET0_KEY */
--
--#ifndef HAVE_DH_SET0_KEY
--int DH_set0_key(DH *dh, BIGNUM *pub_key, BIGNUM *priv_key);
--#endif /* HAVE_DH_SET0_KEY */
--
--#ifndef HAVE_DH_SET_LENGTH
--int DH_set_length(DH *dh, long length);
--#endif /* HAVE_DH_SET_LENGTH */
--
--#ifndef HAVE_RSA_METH_FREE
--void RSA_meth_free(RSA_METHOD *meth);
--#endif /* HAVE_RSA_METH_FREE */
--
--#ifndef HAVE_RSA_METH_DUP
--RSA_METHOD *RSA_meth_dup(const RSA_METHOD *meth);
--#endif /* HAVE_RSA_METH_DUP */
--
--#ifndef HAVE_RSA_METH_SET1_NAME
--int RSA_meth_set1_name(RSA_METHOD *meth, const char *name);
--#endif /* HAVE_RSA_METH_SET1_NAME */
--
--#ifndef HAVE_RSA_METH_GET_FINISH
--int (*RSA_meth_get_finish(const RSA_METHOD *meth))(RSA *rsa);
--#endif /* HAVE_RSA_METH_GET_FINISH */
--
--#ifndef HAVE_RSA_METH_SET_PRIV_ENC
--int RSA_meth_set_priv_enc(RSA_METHOD *meth, int (*priv_enc)(int flen,
--    const unsigned char *from, unsigned char *to, RSA *rsa, int padding));
--#endif /* HAVE_RSA_METH_SET_PRIV_ENC */
--
--#ifndef HAVE_RSA_METH_SET_PRIV_DEC
--int RSA_meth_set_priv_dec(RSA_METHOD *meth, int (*priv_dec)(int flen,
--    const unsigned char *from, unsigned char *to, RSA *rsa, int padding));
--#endif /* HAVE_RSA_METH_SET_PRIV_DEC */
--
--#ifndef HAVE_RSA_METH_SET_FINISH
--int RSA_meth_set_finish(RSA_METHOD *meth, int (*finish)(RSA *rsa));
--#endif /* HAVE_RSA_METH_SET_FINISH */
--
--#ifndef HAVE_EVP_PKEY_GET0_RSA
--RSA *EVP_PKEY_get0_RSA(EVP_PKEY *pkey);
--#endif /* HAVE_EVP_PKEY_GET0_RSA */
--
--#ifndef HAVE_EVP_MD_CTX_new
--EVP_MD_CTX *EVP_MD_CTX_new(void);
--#endif /* HAVE_EVP_MD_CTX_new */
--
--#ifndef HAVE_EVP_MD_CTX_free
--void EVP_MD_CTX_free(EVP_MD_CTX *ctx);
--#endif /* HAVE_EVP_MD_CTX_free */
--
- #endif /* WITH_OPENSSL */
- #endif /* _OPENSSL_COMPAT_H */
diff --git a/poky/meta/recipes-connectivity/openssh/openssh_9.3p2.bb b/poky/meta/recipes-connectivity/openssh/openssh_9.4p1.bb
similarity index 97%
rename from poky/meta/recipes-connectivity/openssh/openssh_9.3p2.bb
rename to poky/meta/recipes-connectivity/openssh/openssh_9.4p1.bb
index 5fb2dcc..2c85780 100644
--- a/poky/meta/recipes-connectivity/openssh/openssh_9.3p2.bb
+++ b/poky/meta/recipes-connectivity/openssh/openssh_9.4p1.bb
@@ -24,9 +24,9 @@
            file://fix-potential-signed-overflow-in-pointer-arithmatic.patch \
            file://sshd_check_keys \
            file://add-test-support-for-busybox.patch \
-           file://7280401bdd77ca54be6867a154cc01e0d72612e0.patch \
+           file://0001-openssh-regress-Makefile-print-logs-if-test-fails.patch \
            "
-SRC_URI[sha256sum] = "200ebe147f6cb3f101fd0cdf9e02442af7ddca298dffd9f456878e7ccac676e8"
+SRC_URI[sha256sum] = "3608fd9088db2163ceb3e600c85ab79d0de3d221e59192ea1923e23263866a85"
 
 CVE_STATUS[CVE-2007-2768] = "not-applicable-config: This CVE is specific to OpenSSH with the pam opie which we don't build/use here."
 
diff --git a/poky/meta/recipes-connectivity/openssl/openssl_3.1.1.bb b/poky/meta/recipes-connectivity/openssl/openssl_3.1.2.bb
similarity index 97%
rename from poky/meta/recipes-connectivity/openssl/openssl_3.1.1.bb
rename to poky/meta/recipes-connectivity/openssl/openssl_3.1.2.bb
index c2a7173..3f77c21 100644
--- a/poky/meta/recipes-connectivity/openssl/openssl_3.1.1.bb
+++ b/poky/meta/recipes-connectivity/openssl/openssl_3.1.2.bb
@@ -18,9 +18,9 @@
            file://environment.d-openssl.sh \
            "
 
-SRC_URI[sha256sum] = "b3aa61334233b852b63ddb048df181177c2c659eb9d4376008118f9c08d07674"
+SRC_URI[sha256sum] = "a0ce69b8b97ea6a35b96875235aa453b966ba3cba8af2de23657d8b6767d6539"
 
-inherit lib_package multilib_header multilib_script ptest perlnative
+inherit lib_package multilib_header multilib_script ptest perlnative manpages
 MULTILIB_SCRIPTS = "${PN}-bin:${bindir}/c_rehash"
 
 PACKAGECONFIG ?= ""
@@ -30,6 +30,7 @@
 PACKAGECONFIG[cryptodev-linux] = "enable-devcryptoeng,disable-devcryptoeng,cryptodev-linux,,cryptodev-module"
 PACKAGECONFIG[no-tls1] = "no-tls1"
 PACKAGECONFIG[no-tls1_1] = "no-tls1_1"
+PACKAGECONFIG[manpages] = ""
 
 B = "${WORKDIR}/build"
 do_configure[cleandirs] = "${B}"
@@ -145,7 +146,7 @@
 }
 
 do_install () {
-	oe_runmake DESTDIR="${D}" MANDIR="${mandir}" MANSUFFIX=ssl install
+	oe_runmake DESTDIR="${D}" MANDIR="${mandir}" MANSUFFIX=ssl install_sw install_ssldirs ${@bb.utils.contains('PACKAGECONFIG', 'manpages', 'install_docs', '', d)}
 
 	oe_multilib_header openssl/opensslconf.h
 	oe_multilib_header openssl/configuration.h
diff --git a/poky/meta/recipes-core/busybox/busybox.inc b/poky/meta/recipes-core/busybox/busybox.inc
index 582d879..f5d7c3f 100644
--- a/poky/meta/recipes-core/busybox/busybox.inc
+++ b/poky/meta/recipes-core/busybox/busybox.inc
@@ -56,7 +56,7 @@
 inherit cml1 systemd update-rc.d ptest
 
 # busybox's unzip test case needs zip command, which busybox itself does not provide
-RDEPENDS:${PN}-ptest = "zip coreutils"
+RDEPENDS:${PN}-ptest = "zip"
 
 # internal helper
 def busybox_cfg(feature, tokens, cnf, rem):
diff --git a/poky/meta/recipes-core/busybox/busybox/start-stop-false.patch b/poky/meta/recipes-core/busybox/busybox/start-stop-false.patch
new file mode 100644
index 0000000..3aef683
--- /dev/null
+++ b/poky/meta/recipes-core/busybox/busybox/start-stop-false.patch
@@ -0,0 +1,35 @@
+It's known that the final start-stop-daemon test fails if /bin/false is
+actually a busybox symlink.  Instead of failing, check if false is
+busybox and adapt the expected output to match.
+
+Upstream-Status: Submitted [http://lists.busybox.net/pipermail/busybox/2023-August/090416.html]
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+diff --git a/testsuite/start-stop-daemon.tests b/testsuite/start-stop-daemon.tests
+index 0757b1288..aa6e9cc41 100755
+--- a/testsuite/start-stop-daemon.tests
++++ b/testsuite/start-stop-daemon.tests
+@@ -27,10 +27,18 @@ testing "start-stop-daemon without -x and -a" \
+ # but at least it checks that pathname to exec() is correct
+ #
+ # NB: this fails if /bin/false is a busybox symlink:
+-# busybox looks at argv[0] and says "qwerty: applet not found"
+-testing "start-stop-daemon with both -x and -a" \
+-	'start-stop-daemon -S -x /bin/false -a qwerty false 2>&1; echo $?' \
+-	"1\n" \
+-	"" ""
++# busybox looks at argv[0] and says "qwerty: applet not found", so
++# skip the test if false is busybox.
++case $(readlink /bin/false) in
++    *busybox*)
++        echo "SKIPPED: start-stop-daemon with both -x and -a (need non-busybox false)"
++        ;;
++    *)
++		testing "start-stop-daemon with both -x and -a" \
++			'start-stop-daemon -S -x /bin/false -a qwerty false 2>&1; echo $?' \
++			"1\n" \
++			"" ""
++        ;;
++esac
+ 
+ exit $FAILCOUNT
diff --git a/poky/meta/recipes-core/busybox/busybox_1.36.1.bb b/poky/meta/recipes-core/busybox/busybox_1.36.1.bb
index 968dce6..06eb9eb 100644
--- a/poky/meta/recipes-core/busybox/busybox_1.36.1.bb
+++ b/poky/meta/recipes-core/busybox/busybox_1.36.1.bb
@@ -49,6 +49,7 @@
            file://0001-sysctl-ignore-EIO-of-stable_secret-below-proc-sys-ne.patch \
            file://0001-libbb-sockaddr2str-ensure-only-printable-characters-.patch \
            file://0002-nslookup-sanitize-all-printed-strings-with-printable.patch \
+           file://start-stop-false.patch \
            "
 SRC_URI:append:libc-musl = " file://musl.cfg "
 # TODO http://lists.busybox.net/pipermail/busybox/2023-January/090078.html
diff --git a/poky/meta/recipes-core/dbus-wait/dbus-wait_git.bb b/poky/meta/recipes-core/dbus-wait/dbus-wait_git.bb
index bc846de..09ba515 100644
--- a/poky/meta/recipes-core/dbus-wait/dbus-wait_git.bb
+++ b/poky/meta/recipes-core/dbus-wait/dbus-wait_git.bb
@@ -8,7 +8,7 @@
 DEPENDS = "dbus"
 
 SRCREV = "6cc6077a36fe2648a5f993fe7c16c9632f946517"
-PV = "0.1+git${SRCPV}"
+PV = "0.1+git"
 PR = "r2"
 
 SRC_URI = "git://git.yoctoproject.org/${BPN};branch=master;protocol=https"
diff --git a/poky/meta/recipes-core/dbus/dbus_1.14.8.bb b/poky/meta/recipes-core/dbus/dbus_1.14.8.bb
index b6c245d..2dcbadd 100644
--- a/poky/meta/recipes-core/dbus/dbus_1.14.8.bb
+++ b/poky/meta/recipes-core/dbus/dbus_1.14.8.bb
@@ -184,4 +184,4 @@
 }
 BBCLASSEXTEND = "native nativesdk"
 
-CVE_PRODUCT += "d-bus_project:d-bus"
+CVE_PRODUCT += "d-bus_project:d-bus freedesktop:dbus freedesktop:libdbus"
diff --git a/poky/meta/recipes-core/dropbear/dropbear/CVE-2023-36328.patch b/poky/meta/recipes-core/dropbear/dropbear/CVE-2023-36328.patch
new file mode 100644
index 0000000..ec50d69
--- /dev/null
+++ b/poky/meta/recipes-core/dropbear/dropbear/CVE-2023-36328.patch
@@ -0,0 +1,144 @@
+From beba892bc0d4e4ded4d667ab1d2a94f4d75109a9 Mon Sep 17 00:00:00 2001
+From: czurnieden <czurnieden@gmx.de>
+Date: Fri, 8 Sep 2023 10:07:32 +0000
+Subject: [PATCH] Fix possible integer overflow
+
+CVE: CVE-2023-36328
+
+Upstream-Status: Backport [https://github.com/libtom/libtommath/commit/beba892bc0d4e4ded4d667ab1d2a94f4d75109a9]
+
+Signed-off-by: Yogita Urade <yogita.urade@windriver.com>
+---
+ libtommath/bn_mp_2expt.c                | 4 ++++
+ libtommath/bn_mp_grow.c                 | 4 ++++
+ libtommath/bn_mp_init_size.c            | 5 +++++
+ libtommath/bn_mp_mul_2d.c               | 4 ++++
+ libtommath/bn_s_mp_mul_digs.c           | 4 ++++
+ libtommath/bn_s_mp_mul_digs_fast.c      | 4 ++++
+ libtommath/bn_s_mp_mul_high_digs.c      | 4 ++++
+ libtommath/bn_s_mp_mul_high_digs_fast.c | 4 ++++
+ 8 files changed, 33 insertions(+)
+
+diff --git a/libtommath/bn_mp_2expt.c b/libtommath/bn_mp_2expt.c
+index 0ae3df1..ca6fbc3 100644
+--- a/libtommath/bn_mp_2expt.c
++++ b/libtommath/bn_mp_2expt.c
+@@ -12,6 +12,10 @@ mp_err mp_2expt(mp_int *a, int b)
+ {
+    mp_err    err;
+
++   if (b < 0) {
++      return MP_VAL;
++   }
++
+    /* zero a as per default */
+    mp_zero(a);
+
+diff --git a/libtommath/bn_mp_grow.c b/libtommath/bn_mp_grow.c
+index 9e904c5..2b16826 100644
+--- a/libtommath/bn_mp_grow.c
++++ b/libtommath/bn_mp_grow.c
+@@ -9,6 +9,10 @@ mp_err mp_grow(mp_int *a, int size)
+    int     i;
+    mp_digit *tmp;
+
++   if (size < 0) {
++      return MP_VAL;
++   }
++
+    /* if the alloc size is smaller alloc more ram */
+    if (a->alloc < size) {
+       /* reallocate the array a->dp
+diff --git a/libtommath/bn_mp_init_size.c b/libtommath/bn_mp_init_size.c
+index d622687..5fefa96 100644
+--- a/libtommath/bn_mp_init_size.c
++++ b/libtommath/bn_mp_init_size.c
+@@ -6,6 +6,11 @@
+ /* init an mp_init for a given size */
+ mp_err mp_init_size(mp_int *a, int size)
+ {
++
++   if (size < 0) {
++      return MP_VAL;
++   }
++
+    size = MP_MAX(MP_MIN_PREC, size);
+
+    /* alloc mem */
+diff --git a/libtommath/bn_mp_mul_2d.c b/libtommath/bn_mp_mul_2d.c
+index 87354de..2744163 100644
+--- a/libtommath/bn_mp_mul_2d.c
++++ b/libtommath/bn_mp_mul_2d.c
+@@ -9,6 +9,10 @@ mp_err mp_mul_2d(const mp_int *a, int b, mp_int *c)
+    mp_digit d;
+    mp_err   err;
+
++   if (b < 0) {
++      return MP_VAL;
++   }
++
+    /* copy */
+    if (a != c) {
+       if ((err = mp_copy(a, c)) != MP_OKAY) {
+diff --git a/libtommath/bn_s_mp_mul_digs.c b/libtommath/bn_s_mp_mul_digs.c
+index 64509d4..2d2f5b0 100644
+--- a/libtommath/bn_s_mp_mul_digs.c
++++ b/libtommath/bn_s_mp_mul_digs.c
+@@ -16,6 +16,10 @@ mp_err s_mp_mul_digs(const mp_int *a, const mp_int *b, mp_int *c, int digs)
+    mp_word r;
+    mp_digit tmpx, *tmpt, *tmpy;
+
++   if (digs < 0) {
++      return MP_VAL;
++   }
++
+    /* can we use the fast multiplier? */
+    if ((digs < MP_WARRAY) &&
+        (MP_MIN(a->used, b->used) < MP_MAXFAST)) {
+diff --git a/libtommath/bn_s_mp_mul_digs_fast.c b/libtommath/bn_s_mp_mul_digs_fast.c
+index b2a287b..d6dd3cc 100644
+--- a/libtommath/bn_s_mp_mul_digs_fast.c
++++ b/libtommath/bn_s_mp_mul_digs_fast.c
+@@ -26,6 +26,10 @@ mp_err s_mp_mul_digs_fast(const mp_int *a, const mp_int *b, mp_int *c, int digs)
+    mp_digit W[MP_WARRAY];
+    mp_word  _W;
+
++   if (digs < 0) {
++      return MP_VAL;
++   }
++
+    /* grow the destination as required */
+    if (c->alloc < digs) {
+       if ((err = mp_grow(c, digs)) != MP_OKAY) {
+diff --git a/libtommath/bn_s_mp_mul_high_digs.c b/libtommath/bn_s_mp_mul_high_digs.c
+index 2bb2a50..c9dd355 100644
+--- a/libtommath/bn_s_mp_mul_high_digs.c
++++ b/libtommath/bn_s_mp_mul_high_digs.c
+@@ -15,6 +15,10 @@ mp_err s_mp_mul_high_digs(const mp_int *a, const mp_int *b, mp_int *c, int digs)
+    mp_word  r;
+    mp_digit tmpx, *tmpt, *tmpy;
+
++   if (digs < 0) {
++      return MP_VAL;
++   }
++
+    /* can we use the fast multiplier? */
+    if (MP_HAS(S_MP_MUL_HIGH_DIGS_FAST)
+        && ((a->used + b->used + 1) < MP_WARRAY)
+diff --git a/libtommath/bn_s_mp_mul_high_digs_fast.c b/libtommath/bn_s_mp_mul_high_digs_fast.c
+index a2c4fb6..afe3e4b 100644
+--- a/libtommath/bn_s_mp_mul_high_digs_fast.c
++++ b/libtommath/bn_s_mp_mul_high_digs_fast.c
+@@ -19,6 +19,10 @@ mp_err s_mp_mul_high_digs_fast(const mp_int *a, const mp_int *b, mp_int *c, int
+    mp_digit W[MP_WARRAY];
+    mp_word  _W;
+
++   if (digs < 0) {
++      return MP_VAL;
++   }
++
+    /* grow the destination as required */
+    pa = a->used + b->used;
+    if (c->alloc < pa) {
+--
+2.35.5
diff --git a/poky/meta/recipes-core/dropbear/dropbear_2022.83.bb b/poky/meta/recipes-core/dropbear/dropbear_2022.83.bb
index 0c7a8f4..12ac732 100644
--- a/poky/meta/recipes-core/dropbear/dropbear_2022.83.bb
+++ b/poky/meta/recipes-core/dropbear/dropbear_2022.83.bb
@@ -21,6 +21,7 @@
            file://dropbear.default \
            ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
            ${@bb.utils.contains('PACKAGECONFIG', 'disable-weak-ciphers', 'file://dropbear-disable-weak-ciphers.patch', '', d)} \
+           file://CVE-2023-36328.patch \
            "
 
 SRC_URI[sha256sum] = "bc5a121ffbc94b5171ad5ebe01be42746d50aa797c9549a4639894a16749443b"
diff --git a/poky/meta/recipes-core/ell/ell_0.57.bb b/poky/meta/recipes-core/ell/ell_0.58.bb
similarity index 89%
rename from poky/meta/recipes-core/ell/ell_0.57.bb
rename to poky/meta/recipes-core/ell/ell_0.58.bb
index 09a0831..04e8566 100644
--- a/poky/meta/recipes-core/ell/ell_0.57.bb
+++ b/poky/meta/recipes-core/ell/ell_0.58.bb
@@ -15,7 +15,7 @@
 inherit autotools pkgconfig
 
 SRC_URI = "https://mirrors.edge.kernel.org/pub/linux/libs/${BPN}/${BPN}-${PV}.tar.xz"
-SRC_URI[sha256sum] = "7603928ee584b758ca27c67e4dc513049a09b038d7d28459a9440f8443c91018"
+SRC_URI[sha256sum] = "531a980589c8954ff12a3110b4d958fa75a74c88ddcc3e2ace4317e76a7c1e9b"
 
 do_configure:prepend () {
     mkdir -p ${S}/build-aux
diff --git a/poky/meta/recipes-core/gettext/gettext-0.21.1/autoconf-2.73.patch b/poky/meta/recipes-core/gettext/gettext-0.21.1/autoconf-2.73.patch
deleted file mode 100644
index ae5b249..0000000
--- a/poky/meta/recipes-core/gettext/gettext-0.21.1/autoconf-2.73.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-The gnulib largefile macro needs updating to work with autoconf 2.73. Rather
-than the full code:
-
-https://git.savannah.gnu.org/cgit/gnulib.git/commit/m4/largefile.m4?id=f91f633858cf132e50924224c50d6264a92caabb
-
-Just tweak the exiting code to work with 2.73. The next gettext upgrade should
-update to new gnulib
-
-Upstream-Status: Inappropriate
-Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-
-Index: gettext-0.21.1/gettext-runtime/gnulib-m4/largefile.m4
-===================================================================
---- gettext-0.21.1.orig/gettext-runtime/gnulib-m4/largefile.m4
-+++ gettext-0.21.1/gettext-runtime/gnulib-m4/largefile.m4
-@@ -26,7 +26,7 @@ AC_DEFUN([gl_SET_LARGEFILE_SOURCE],
- # with _TIME_BITS.  Also, work around a problem in autoconf <= 2.69:
- # AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5,
- # or configures them incorrectly in some cases.
--m4_version_prereq([2.70], [], [
-+m4_version_prereq([2.73], [], [
- 
- # _AC_SYS_LARGEFILE_TEST_INCLUDES
- # -------------------------------
-Index: gettext-0.21.1/gettext-tools/gnulib-m4/largefile.m4
-===================================================================
---- gettext-0.21.1.orig/gettext-tools/gnulib-m4/largefile.m4
-+++ gettext-0.21.1/gettext-tools/gnulib-m4/largefile.m4
-@@ -26,7 +26,7 @@ AC_DEFUN([gl_SET_LARGEFILE_SOURCE],
- # with _TIME_BITS.  Also, work around a problem in autoconf <= 2.69:
- # AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5,
- # or configures them incorrectly in some cases.
--m4_version_prereq([2.70], [], [
-+m4_version_prereq([2.73], [], [
- 
- # _AC_SYS_LARGEFILE_TEST_INCLUDES
- # -------------------------------
-Index: gettext-0.21.1/libtextstyle/gnulib-m4/largefile.m4
-===================================================================
---- gettext-0.21.1.orig/libtextstyle/gnulib-m4/largefile.m4
-+++ gettext-0.21.1/libtextstyle/gnulib-m4/largefile.m4
-@@ -26,7 +26,7 @@ AC_DEFUN([gl_SET_LARGEFILE_SOURCE],
- # with _TIME_BITS.  Also, work around a problem in autoconf <= 2.69:
- # AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5,
- # or configures them incorrectly in some cases.
--m4_version_prereq([2.70], [], [
-+m4_version_prereq([2.73], [], [
- 
- # _AC_SYS_LARGEFILE_TEST_INCLUDES
- # -------------------------------
diff --git a/poky/meta/recipes-core/gettext/gettext-minimal-native_0.21.1.bb b/poky/meta/recipes-core/gettext/gettext-minimal-native_0.22.bb
similarity index 100%
rename from poky/meta/recipes-core/gettext/gettext-minimal-native_0.21.1.bb
rename to poky/meta/recipes-core/gettext/gettext-minimal-native_0.22.bb
diff --git a/poky/meta/recipes-core/gettext/gettext-minimal-0.21.1/COPYING b/poky/meta/recipes-core/gettext/gettext-minimal/COPYING
similarity index 100%
rename from poky/meta/recipes-core/gettext/gettext-minimal-0.21.1/COPYING
rename to poky/meta/recipes-core/gettext/gettext-minimal/COPYING
diff --git a/poky/meta/recipes-core/gettext/gettext-sources.inc b/poky/meta/recipes-core/gettext/gettext-sources.inc
index da2860f..b4fb647 100644
--- a/poky/meta/recipes-core/gettext/gettext-sources.inc
+++ b/poky/meta/recipes-core/gettext/gettext-sources.inc
@@ -1,4 +1,4 @@
 HOMEPAGE = "http://www.gnu.org/software/gettext/gettext.html"
 SRC_URI = "${GNU_MIRROR}/gettext/gettext-${PV}.tar.gz \
            "
-SRC_URI[sha256sum] = "e8c3650e1d8cee875c4f355642382c1df83058bd5a11ee8555c0cf276d646d45"
+SRC_URI[sha256sum] = "49f089be11b490170bbf09ed2f51e5f5177f55be4cc66504a5861820e0fb06ab"
diff --git a/poky/meta/recipes-core/gettext/gettext-0.21.1/0001-init-env.in-do-not-add-C-CXX-parameters.patch b/poky/meta/recipes-core/gettext/gettext/0001-init-env.in-do-not-add-C-CXX-parameters.patch
similarity index 100%
rename from poky/meta/recipes-core/gettext/gettext-0.21.1/0001-init-env.in-do-not-add-C-CXX-parameters.patch
rename to poky/meta/recipes-core/gettext/gettext/0001-init-env.in-do-not-add-C-CXX-parameters.patch
diff --git a/poky/meta/recipes-core/gettext/gettext-0.21.1/0001-tests-autopoint-3-unset-MAKEFLAGS.patch b/poky/meta/recipes-core/gettext/gettext/0001-tests-autopoint-3-unset-MAKEFLAGS.patch
similarity index 100%
rename from poky/meta/recipes-core/gettext/gettext-0.21.1/0001-tests-autopoint-3-unset-MAKEFLAGS.patch
rename to poky/meta/recipes-core/gettext/gettext/0001-tests-autopoint-3-unset-MAKEFLAGS.patch
diff --git a/poky/meta/recipes-core/gettext/gettext-0.21.1/parallel.patch b/poky/meta/recipes-core/gettext/gettext/parallel.patch
similarity index 100%
rename from poky/meta/recipes-core/gettext/gettext-0.21.1/parallel.patch
rename to poky/meta/recipes-core/gettext/gettext/parallel.patch
diff --git a/poky/meta/recipes-core/gettext/gettext-0.21.1/run-ptest b/poky/meta/recipes-core/gettext/gettext/run-ptest
similarity index 100%
rename from poky/meta/recipes-core/gettext/gettext-0.21.1/run-ptest
rename to poky/meta/recipes-core/gettext/gettext/run-ptest
diff --git a/poky/meta/recipes-core/gettext/gettext-0.21.1/serial-tests-config.patch b/poky/meta/recipes-core/gettext/gettext/serial-tests-config.patch
similarity index 100%
rename from poky/meta/recipes-core/gettext/gettext-0.21.1/serial-tests-config.patch
rename to poky/meta/recipes-core/gettext/gettext/serial-tests-config.patch
diff --git a/poky/meta/recipes-core/gettext/gettext-0.21.1/use-pkgconfig.patch b/poky/meta/recipes-core/gettext/gettext/use-pkgconfig.patch
similarity index 100%
rename from poky/meta/recipes-core/gettext/gettext-0.21.1/use-pkgconfig.patch
rename to poky/meta/recipes-core/gettext/gettext/use-pkgconfig.patch
diff --git a/poky/meta/recipes-core/gettext/gettext_0.21.1.bb b/poky/meta/recipes-core/gettext/gettext_0.22.bb
similarity index 99%
rename from poky/meta/recipes-core/gettext/gettext_0.21.1.bb
rename to poky/meta/recipes-core/gettext/gettext_0.22.bb
index a3eb3bb..71e8452 100644
--- a/poky/meta/recipes-core/gettext/gettext_0.21.1.bb
+++ b/poky/meta/recipes-core/gettext/gettext_0.22.bb
@@ -30,7 +30,6 @@
            file://serial-tests-config.patch \
            file://0001-tests-autopoint-3-unset-MAKEFLAGS.patch \
            file://0001-init-env.in-do-not-add-C-CXX-parameters.patch \
-           file://autoconf-2.73.patch \
            "
 
 inherit autotools texinfo pkgconfig ptest
@@ -201,6 +200,8 @@
     glibc-charmap-euc-kr \
     glibc-gconv-euc-jp \
     glibc-charmap-euc-jp \
+    glibc-gconv-gb18030 \
+    glibc-charmap-gb18030 \
     locale-base-de-de \
     locale-base-fr-fr \
 "
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-glibc b/poky/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-glibc
index c4648f5..3049e51 100644
--- a/poky/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-glibc
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-glibc
@@ -3,3 +3,4 @@
 have_c99_snprintf = true
 have_unix98_printf = true
 va_val_copy = true
+have_strlcpy = true
diff --git a/poky/meta/recipes-core/glib-2.0/glib.inc b/poky/meta/recipes-core/glib-2.0/glib.inc
index 843b6bd..878dd10 100644
--- a/poky/meta/recipes-core/glib-2.0/glib.inc
+++ b/poky/meta/recipes-core/glib-2.0/glib.inc
@@ -40,8 +40,7 @@
                    ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}"
 PACKAGECONFIG[libmount] = "-Dlibmount=enabled,-Dlibmount=disabled,util-linux"
 PACKAGECONFIG[manpages] = "-Dman=true, -Dman=false, libxslt-native xmlto-native"
-# libelf is auto-detected without a configuration option
-PACKAGECONFIG[libelf] = ",,elfutils"
+PACKAGECONFIG[libelf] = "-Dlibelf=enabled,-Dlibelf=disabled,elfutils"
 PACKAGECONFIG[tests] = "-Dinstalled_tests=true,-Dinstalled_tests=false,"
 PACKAGECONFIG[selinux] = "-Dselinux=enabled,-Dselinux=disabled,libselinux"
 
diff --git a/poky/meta/recipes-core/glib-networking/glib-networking/0001-tls-tests-disable-PKCS-11-tests-if-not-available.patch b/poky/meta/recipes-core/glib-networking/glib-networking/0001-tls-tests-disable-PKCS-11-tests-if-not-available.patch
new file mode 100644
index 0000000..7b00358
--- /dev/null
+++ b/poky/meta/recipes-core/glib-networking/glib-networking/0001-tls-tests-disable-PKCS-11-tests-if-not-available.patch
@@ -0,0 +1,113 @@
+From 04728a5b73e870b4695c5e7ba42fa41c00471944 Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@arm.com>
+Date: Fri, 12 May 2023 20:19:35 +0100
+Subject: [PATCH] tls/tests: disable PKCS#11 tests if not available
+
+GnuTLS can be built without PKCS#11, which means the symbols
+gnutls_pkcs11_init and gnutls_pkcs11_add_provider are not part of the
+library.
+
+If these symbols don't exist in GnuTLS then we can't add a mock pkcs#11
+provider for testing, and several tests which need the mock provider
+will fail.
+
+Solve this by checking for the symbols at build time and disabling the
+provider and tests which need it.
+
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+---
+ meson.build             |  4 ++++
+ tls/tests/certificate.c | 11 +++++++----
+ tls/tests/connection.c  |  4 +++-
+ 3 files changed, 14 insertions(+), 5 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 0fa9027..d2a023a 100644
+--- a/meson.build
++++ b/meson.build
+@@ -84,6 +84,10 @@ gnutls_dep = dependency('gnutls', version: '>= 3.7.4', required: get_option('gnu
+ 
+ if gnutls_dep.found()
+   backends += ['gnutls']
++  # test-specific, maybe move to tls/tests
++  if cc.has_function('gnutls_pkcs11_init', prefix: '#include <gnutls/pkcs11.h>', dependencies: gnutls_dep)
++    config_h.set10('HAVE_GNUTLS_PKCS11', true)
++  endif
+ endif
+ 
+ # *** Checks for OpenSSL    ***
+diff --git a/tls/tests/certificate.c b/tls/tests/certificate.c
+index e820ba1..dd2412b 100644
+--- a/tls/tests/certificate.c
++++ b/tls/tests/certificate.c
+@@ -24,6 +24,7 @@
+  * Author: Stef Walter <stefw@collabora.co.uk>
+  */
+ 
++#include "config.h"
+ #include "certificate.h"
+ 
+ #include <gio/gio.h>
+@@ -911,7 +912,7 @@ int
+ main (int   argc,
+       char *argv[])
+ {
+-#ifdef BACKEND_IS_GNUTLS
++#if defined(BACKEND_IS_GNUTLS) && HAVE_GNUTLS_PKCS11
+   char *module_path;
+ #endif
+ 
+@@ -921,7 +922,7 @@ main (int   argc,
+   g_setenv ("GIO_USE_TLS", BACKEND, TRUE);
+   g_assert_cmpint (g_ascii_strcasecmp (G_OBJECT_TYPE_NAME (g_tls_backend_get_default ()), "GTlsBackend" BACKEND), ==, 0);
+ 
+-#ifdef BACKEND_IS_GNUTLS
++#if defined(BACKEND_IS_GNUTLS) && HAVE_GNUTLS_PKCS11
+   module_path = g_test_build_filename (G_TEST_BUILT, "mock-pkcs11.so", NULL);
+   g_assert_true (g_file_test (module_path, G_FILE_TEST_EXISTS));
+ 
+@@ -942,12 +943,14 @@ main (int   argc,
+               setup_certificate, test_create_certificate_with_issuer, teardown_certificate);
+   g_test_add ("/tls/" BACKEND "/certificate/create-with-garbage-input", TestCertificate, NULL,
+               setup_certificate, test_create_certificate_with_garbage_input, teardown_certificate);
+-  g_test_add ("/tls/" BACKEND "/certificate/pkcs11", TestCertificate, NULL,
+-              setup_certificate, test_create_certificate_pkcs11, teardown_certificate);
+   g_test_add ("/tls/" BACKEND "/certificate/private-key", TestCertificate, NULL,
+               setup_certificate, test_private_key, teardown_certificate);
++#if HAVE_GNUTLS_PKCS11
++  g_test_add ("/tls/" BACKEND "/certificate/pkcs11", TestCertificate, NULL,
++              setup_certificate, test_create_certificate_pkcs11, teardown_certificate);
+   g_test_add ("/tls/" BACKEND "/certificate/private-key-pkcs11", TestCertificate, NULL,
+               setup_certificate, test_private_key_pkcs11, teardown_certificate);
++#endif
+ 
+   g_test_add_func ("/tls/" BACKEND "/certificate/create-chain", test_create_certificate_chain);
+   g_test_add_func ("/tls/" BACKEND "/certificate/create-no-chain", test_create_certificate_no_chain);
+diff --git a/tls/tests/connection.c b/tls/tests/connection.c
+index 17efe1b..62a7fbb 100644
+--- a/tls/tests/connection.c
++++ b/tls/tests/connection.c
+@@ -3376,7 +3376,7 @@ main (int   argc,
+ 
+   g_assert_true (g_ascii_strcasecmp (G_OBJECT_TYPE_NAME (g_tls_backend_get_default ()), "GTlsBackend" BACKEND) == 0);
+ 
+-#ifdef BACKEND_IS_GNUTLS
++#if defined(BACKEND_IS_GNUTLS) && HAVE_GNUTLS_PKCS11
+   module_path = g_test_build_filename (G_TEST_BUILT, "mock-pkcs11.so", NULL);
+   g_assert_true (g_file_test (module_path, G_FILE_TEST_EXISTS));
+ 
+@@ -3438,8 +3438,10 @@ main (int   argc,
+               setup_connection, test_client_auth_request_fail, teardown_connection);
+   g_test_add ("/tls/" BACKEND "/connection/client-auth-request-none", TestConnection, NULL,
+               setup_connection, test_client_auth_request_none, teardown_connection);
++#if HAVE_GNUTLS_PKCS11
+   g_test_add ("/tls/" BACKEND "/connection/client-auth-pkcs11", TestConnection, NULL,
+               setup_connection, test_client_auth_pkcs11_connection, teardown_connection);
++#endif
+   g_test_add ("/tls/" BACKEND "/connection/no-database", TestConnection, NULL,
+               setup_connection, test_connection_no_database, teardown_connection);
+   g_test_add ("/tls/" BACKEND "/connection/failed", TestConnection, NULL,
+-- 
+2.34.1
+
diff --git a/poky/meta/recipes-core/glib-networking/glib-networking_2.76.1.bb b/poky/meta/recipes-core/glib-networking/glib-networking_2.76.1.bb
index 8e7290c..3687123 100644
--- a/poky/meta/recipes-core/glib-networking/glib-networking_2.76.1.bb
+++ b/poky/meta/recipes-core/glib-networking/glib-networking_2.76.1.bb
@@ -16,7 +16,9 @@
 
 SRC_URI[archive.sha256sum] = "5c698a9994dde51efdfb1026a56698a221d6250e89dc50ebcddda7b81480a42b"
 
-PACKAGECONFIG ??= "openssl environment ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}"
+# Upstream note that for the openssl backend, half the tests where this backend don't return
+# the expected error code or don't work as expected so default to gnutls
+PACKAGECONFIG ??= "gnutls environment ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}"
 
 PACKAGECONFIG[gnutls] = "-Dgnutls=enabled,-Dgnutls=disabled,gnutls"
 PACKAGECONFIG[openssl] = "-Dopenssl=enabled,-Dopenssl=disabled,openssl"
@@ -30,6 +32,7 @@
 
 SRC_URI += "file://run-ptest"
 SRC_URI += "file://eagain.patch"
+SRC_URI += "file://0001-tls-tests-disable-PKCS-11-tests-if-not-available.patch"
 
 FILES:${PN} += "\
                 ${libdir}/gio/modules/libgio*.so \
diff --git a/poky/meta/recipes-core/glibc/cross-localedef-native_2.37.bb b/poky/meta/recipes-core/glibc/cross-localedef-native_2.38.bb
similarity index 100%
rename from poky/meta/recipes-core/glibc/cross-localedef-native_2.37.bb
rename to poky/meta/recipes-core/glibc/cross-localedef-native_2.38.bb
diff --git a/poky/meta/recipes-core/glibc/glibc-common.inc b/poky/meta/recipes-core/glibc/glibc-common.inc
index b93b55f..be33c29 100644
--- a/poky/meta/recipes-core/glibc/glibc-common.inc
+++ b/poky/meta/recipes-core/glibc/glibc-common.inc
@@ -22,5 +22,4 @@
 #
 COMPATIBLE_HOST:libc-musl:class-target = "null"
 
-PV = "2.37"
-PR = "r1"
+PV = "2.38"
diff --git a/poky/meta/recipes-core/glibc/glibc-locale_2.37.bb b/poky/meta/recipes-core/glibc/glibc-locale_2.38.bb
similarity index 100%
rename from poky/meta/recipes-core/glibc/glibc-locale_2.37.bb
rename to poky/meta/recipes-core/glibc/glibc-locale_2.38.bb
diff --git a/poky/meta/recipes-core/glibc/glibc-mtrace_2.37.bb b/poky/meta/recipes-core/glibc/glibc-mtrace_2.38.bb
similarity index 100%
rename from poky/meta/recipes-core/glibc/glibc-mtrace_2.37.bb
rename to poky/meta/recipes-core/glibc/glibc-mtrace_2.38.bb
diff --git a/poky/meta/recipes-core/glibc/glibc-package.inc b/poky/meta/recipes-core/glibc/glibc-package.inc
index 7f9e750..1d4e4c5 100644
--- a/poky/meta/recipes-core/glibc/glibc-package.inc
+++ b/poky/meta/recipes-core/glibc/glibc-package.inc
@@ -87,7 +87,7 @@
 		rmdir --ignore-fail-on-non-empty ${D}${libexecdir}
 	fi
 
-	oe_multilib_header bits/syscall.h bits/long-double.h bits/floatn.h bits/endianness.h bits/struct_rwlock.h
+	oe_multilib_header bits/syscall.h bits/long-double.h bits/floatn.h bits/endianness.h bits/struct_rwlock.h bits/math-vector.h
 
 	if [ -f ${D}${bindir}/mtrace ]; then
 		sed -i -e '1s,#!.*perl,#! ${USRBINPATH}/env perl,' -e '2s,exec.*perl,exec ${USRBINPATH}/env perl,' ${D}${bindir}/mtrace
diff --git a/poky/meta/recipes-core/glibc/glibc-scripts_2.37.bb b/poky/meta/recipes-core/glibc/glibc-scripts_2.38.bb
similarity index 100%
rename from poky/meta/recipes-core/glibc/glibc-scripts_2.37.bb
rename to poky/meta/recipes-core/glibc/glibc-scripts_2.38.bb
diff --git a/poky/meta/recipes-core/glibc/glibc-tests_2.37.bb b/poky/meta/recipes-core/glibc/glibc-tests_2.38.bb
similarity index 98%
rename from poky/meta/recipes-core/glibc/glibc-tests_2.37.bb
rename to poky/meta/recipes-core/glibc/glibc-tests_2.38.bb
index 9352a05..95eb774d 100644
--- a/poky/meta/recipes-core/glibc/glibc-tests_2.37.bb
+++ b/poky/meta/recipes-core/glibc/glibc-tests_2.38.bb
@@ -27,7 +27,7 @@
 # Remove any leftovers from original glibc recipe
 RPROVIDES:${PN} = "${PN}"
 RRECOMMENDS:${PN} = ""
-RDEPENDS:${PN} = " glibc sed bash"
+RDEPENDS:${PN} = "glibc libgcc sed bash"
 RDEPENDS:${PN}-ptest = "${PN}"
 DEPENDS += "sed"
 
diff --git a/poky/meta/recipes-core/glibc/glibc-testsuite_2.37.bb b/poky/meta/recipes-core/glibc/glibc-testsuite_2.38.bb
similarity index 100%
rename from poky/meta/recipes-core/glibc/glibc-testsuite_2.37.bb
rename to poky/meta/recipes-core/glibc/glibc-testsuite_2.38.bb
diff --git a/poky/meta/recipes-core/glibc/glibc-version.inc b/poky/meta/recipes-core/glibc/glibc-version.inc
index 37bb9fd..a907444 100644
--- a/poky/meta/recipes-core/glibc/glibc-version.inc
+++ b/poky/meta/recipes-core/glibc/glibc-version.inc
@@ -1,7 +1,7 @@
-SRCBRANCH ?= "release/2.37/master"
-PV = "2.37"
-SRCREV_glibc ?= "d8e1a7590d375159fb5aac07ad8111ab4699e994" 
-SRCREV_localedef ?= "794da69788cbf9bf57b59a852f9f11307663fa87"
+SRCBRANCH ?= "release/2.38/master"
+PV = "2.38+git"
+SRCREV_glibc ?= "1aed90c9c8f8be9f68b58e96b6e4cd0fc08eb2b1"
+SRCREV_localedef ?= "e0eca29583b9e0f62645c4316ced93cf4e4e26e1"
 
 GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git;protocol=https"
 
diff --git a/poky/meta/recipes-core/glibc/glibc/0001-localedef-Add-hardlink-resolver-from-util-linux.patch b/poky/meta/recipes-core/glibc/glibc/0001-localedef-Add-hardlink-resolver-from-util-linux.patch
index 0e2bbbc..eb3da94 100644
--- a/poky/meta/recipes-core/glibc/glibc/0001-localedef-Add-hardlink-resolver-from-util-linux.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0001-localedef-Add-hardlink-resolver-from-util-linux.patch
@@ -1,4 +1,4 @@
-From 604a78e86ca374278fc5f3ce11b0abe1ff096b7e Mon Sep 17 00:00:00 2001
+From 7c06ca59b47ce06f785b9fce7b9e9d675d5b6e10 Mon Sep 17 00:00:00 2001
 From: Jason Wessel <jason.wessel@windriver.com>
 Date: Sat, 7 Dec 2019 09:59:22 -0800
 Subject: [PATCH] localedef: Add hardlink resolver from util-linux
diff --git a/poky/meta/recipes-core/glibc/glibc/0002-localedef-fix-ups-hardlink-to-make-it-compile.patch b/poky/meta/recipes-core/glibc/glibc/0002-localedef-fix-ups-hardlink-to-make-it-compile.patch
index 0fd8a0d..2dc4634 100644
--- a/poky/meta/recipes-core/glibc/glibc/0002-localedef-fix-ups-hardlink-to-make-it-compile.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0002-localedef-fix-ups-hardlink-to-make-it-compile.patch
@@ -1,4 +1,4 @@
-From 85d14ae38fb9e7b46bb4b8f5f041e39a605ed81e Mon Sep 17 00:00:00 2001
+From 9ff5200eb16e9c89ca8da89d7e07975d082a13b0 Mon Sep 17 00:00:00 2001
 From: Jason Wessel <jason.wessel@windriver.com>
 Date: Sat, 7 Dec 2019 10:01:37 -0800
 Subject: [PATCH] localedef: fix-ups hardlink to make it compile
diff --git a/poky/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch b/poky/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch
index c6f1455..f2602d0 100644
--- a/poky/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0003-nativesdk-glibc-Look-for-host-system-ld.so.cache-as-.patch
@@ -1,4 +1,4 @@
-From d1b745b6e4c6a755cceb92329227efce1547d5fc Mon Sep 17 00:00:00 2001
+From 0d996c5600603a67f0265e870511cdd18dbaa8a6 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 18 Mar 2015 01:48:24 +0000
 Subject: [PATCH] nativesdk-glibc: Look for host system ld.so.cache as well
@@ -30,10 +30,10 @@
  1 file changed, 8 insertions(+), 8 deletions(-)
 
 diff --git a/elf/dl-load.c b/elf/dl-load.c
-index fcb39a78d4..cde9fc2358 100644
+index 9a87fda9c9..0a6fa9b8f0 100644
 --- a/elf/dl-load.c
 +++ b/elf/dl-load.c
-@@ -2109,6 +2109,14 @@ _dl_map_object (struct link_map *loader, const char *name,
+@@ -2102,6 +2102,14 @@ _dl_map_object (struct link_map *loader, const char *name,
              }
          }
  
@@ -48,7 +48,7 @@
  #ifdef USE_LDCONFIG
        if (fd == -1
  	  && (__glibc_likely ((mode & __RTLD_SECURE) == 0)
-@@ -2167,14 +2175,6 @@ _dl_map_object (struct link_map *loader, const char *name,
+@@ -2160,14 +2168,6 @@ _dl_map_object (struct link_map *loader, const char *name,
  	}
  #endif
  
diff --git a/poky/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch b/poky/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch
index 8256a56..9743123 100644
--- a/poky/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0004-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch
@@ -1,4 +1,4 @@
-From 3789e9ae4c208b2d97169a95cf3b1767e73b3856 Mon Sep 17 00:00:00 2001
+From c3492719b2deaf3339eefb1ab30f4337e592ed80 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 18 Mar 2015 01:50:00 +0000
 Subject: [PATCH] nativesdk-glibc: Fix buffer overrun with a relocated SDK
@@ -21,10 +21,10 @@
  1 file changed, 12 insertions(+)
 
 diff --git a/elf/dl-load.c b/elf/dl-load.c
-index cde9fc2358..e514bdcc21 100644
+index 0a6fa9b8f0..3a23dc618c 100644
 --- a/elf/dl-load.c
 +++ b/elf/dl-load.c
-@@ -1809,7 +1809,19 @@ open_path (const char *name, size_t namelen, int mode,
+@@ -1802,7 +1802,19 @@ open_path (const char *name, size_t namelen, int mode,
         given on the command line when rtld is run directly.  */
      return -1;
  
diff --git a/poky/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch b/poky/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch
index 2899c0b..086e0c6 100644
--- a/poky/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0005-nativesdk-glibc-Raise-the-size-of-arrays-containing-.patch
@@ -1,4 +1,4 @@
-From 66e971a785aae80ba838a2604c679db70cbb8b3b Mon Sep 17 00:00:00 2001
+From e874dacbfdb06520240887e9077c58006ee33f87 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 18 Mar 2015 01:51:38 +0000
 Subject: [PATCH] nativesdk-glibc: Raise the size of arrays containing dl paths
@@ -26,7 +26,7 @@
  8 files changed, 15 insertions(+), 10 deletions(-)
 
 diff --git a/elf/dl-cache.c b/elf/dl-cache.c
-index 07c054b11a..0fa36548b0 100644
+index 804bf23222..d99501c389 100644
 --- a/elf/dl-cache.c
 +++ b/elf/dl-cache.c
 @@ -352,6 +352,10 @@ search_cache (const char *string_table, uint32_t string_table_size,
@@ -41,7 +41,7 @@
  _dl_cache_libcmp (const char *p1, const char *p2)
  {
 diff --git a/elf/dl-load.c b/elf/dl-load.c
-index e514bdcc21..c43747a3a8 100644
+index 3a23dc618c..563e703096 100644
 --- a/elf/dl-load.c
 +++ b/elf/dl-load.c
 @@ -117,8 +117,8 @@ enum { ncapstr = 1, max_capstrlen = 0 };
@@ -56,7 +56,7 @@
    SYSTEM_DIRS_LEN
  };
 diff --git a/elf/dl-usage.c b/elf/dl-usage.c
-index 53535c1583..3ba7d9d200 100644
+index 98f0b0d027..ab4f76e1fe 100644
 --- a/elf/dl-usage.c
 +++ b/elf/dl-usage.c
 @@ -25,6 +25,8 @@
@@ -77,7 +77,7 @@
    --library-path PATH   use given PATH instead of content of the environment\n\
                          variable LD_LIBRARY_PATH\n\
    --glibc-hwcaps-prepend LIST\n\
-@@ -207,7 +209,7 @@ setting environment variables (which would be inherited by subprocesses).\n\
+@@ -203,7 +205,7 @@ setting environment variables (which would be inherited by subprocesses).\n\
  \n\
  This program interpreter self-identifies as: " RTLD "\n\
  ",
@@ -98,7 +98,7 @@
 +const char __invoke_dynamic_linker__[4096] __attribute__ ((section (".interp")))
    = RUNTIME_LINKER;
 diff --git a/elf/ldconfig.c b/elf/ldconfig.c
-index 166dccb528..8dda23c92c 100644
+index d26eef1fb4..e5af6e5c01 100644
 --- a/elf/ldconfig.c
 +++ b/elf/ldconfig.c
 @@ -150,6 +150,8 @@ static struct argp argp =
@@ -111,7 +111,7 @@
  static error_t
  parse_opt (int key, char *arg, struct argp_state *state)
 diff --git a/elf/rtld.c b/elf/rtld.c
-index b8467f37cf..be7bd08bc3 100644
+index a91e2a4471..56d816d4d9 100644
 --- a/elf/rtld.c
 +++ b/elf/rtld.c
 @@ -190,6 +190,7 @@ dso_name_valid_for_suid (const char *p)
@@ -123,7 +123,7 @@
  static void
  audit_list_init (struct audit_list *list)
 diff --git a/iconv/gconv_conf.c b/iconv/gconv_conf.c
-index 21165a558a..3dd67b0ea2 100644
+index ee9e97e1bd..01a99382d0 100644
 --- a/iconv/gconv_conf.c
 +++ b/iconv/gconv_conf.c
 @@ -35,7 +35,7 @@
diff --git a/poky/meta/recipes-core/glibc/glibc/0006-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch b/poky/meta/recipes-core/glibc/glibc/0006-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch
index b0e3dbf..421afdc 100644
--- a/poky/meta/recipes-core/glibc/glibc/0006-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0006-nativesdk-glibc-Allow-64-bit-atomics-for-x86.patch
@@ -1,4 +1,4 @@
-From a9795b9aadcbc04ad0404badf722acb83ef0ab7b Mon Sep 17 00:00:00 2001
+From 76eaf7340a7f9063ab1ad2d7c6c0e205f22f544c Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Thu, 31 Dec 2015 14:35:35 -0800
 Subject: [PATCH] nativesdk-glibc: Allow 64 bit atomics for x86
diff --git a/poky/meta/recipes-core/glibc/glibc/0007-nativesdk-glibc-Make-relocatable-install-for-locales.patch b/poky/meta/recipes-core/glibc/glibc/0007-nativesdk-glibc-Make-relocatable-install-for-locales.patch
index 2dac1f1..64243b1 100644
--- a/poky/meta/recipes-core/glibc/glibc/0007-nativesdk-glibc-Make-relocatable-install-for-locales.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0007-nativesdk-glibc-Make-relocatable-install-for-locales.patch
@@ -1,4 +1,4 @@
-From 68e5df9a7750d7db2323824b1342483e9ecdddd4 Mon Sep 17 00:00:00 2001
+From ef8bb46455d602cb00caf59b2044a9a23b240cc2 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Fri, 3 Aug 2018 09:55:12 -0700
 Subject: [PATCH] nativesdk-glibc: Make relocatable install for locales
@@ -41,7 +41,7 @@
    else
      /* We really have to load some data.  First see whether the name is
 diff --git a/locale/loadarchive.c b/locale/loadarchive.c
-index 454bbc7eda..f904158182 100644
+index 5b857d5d24..e642912e2a 100644
 --- a/locale/loadarchive.c
 +++ b/locale/loadarchive.c
 @@ -42,7 +42,7 @@
@@ -54,7 +54,7 @@
  /* Size of initial mapping window, optimal if large enough to
     cover the header plus the initial locale.  */
 diff --git a/locale/localeinfo.h b/locale/localeinfo.h
-index 66cad7a83b..b7b856f77f 100644
+index 8bbf281427..7a930079a5 100644
 --- a/locale/localeinfo.h
 +++ b/locale/localeinfo.h
 @@ -347,7 +347,7 @@ _nl_lookup_word (locale_t l, int category, int item)
diff --git a/poky/meta/recipes-core/glibc/glibc/0008-nativesdk-glibc-Fall-back-to-faccessat-on-faccess2-r.patch b/poky/meta/recipes-core/glibc/glibc/0008-nativesdk-glibc-Fall-back-to-faccessat-on-faccess2-r.patch
index 7a8fe34..38dca83 100644
--- a/poky/meta/recipes-core/glibc/glibc/0008-nativesdk-glibc-Fall-back-to-faccessat-on-faccess2-r.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0008-nativesdk-glibc-Fall-back-to-faccessat-on-faccess2-r.patch
@@ -1,4 +1,4 @@
-From 18fc01c620311d9744a38d9a4a75dbe07b5d9225 Mon Sep 17 00:00:00 2001
+From 7f05e35c675a6d1af2144b4cfbabab250de43f38 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Sat, 6 Mar 2021 14:48:56 -0800
 Subject: [PATCH] nativesdk-glibc: Fall back to faccessat on faccess2 returns
diff --git a/poky/meta/recipes-core/glibc/glibc/0009-yes-within-the-path-sets-wrong-config-variables.patch b/poky/meta/recipes-core/glibc/glibc/0009-yes-within-the-path-sets-wrong-config-variables.patch
index cf3b35f..61fdcb0 100644
--- a/poky/meta/recipes-core/glibc/glibc/0009-yes-within-the-path-sets-wrong-config-variables.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0009-yes-within-the-path-sets-wrong-config-variables.patch
@@ -1,4 +1,4 @@
-From c7419991ebca369d727cc2f4489fed91fd5bb83f Mon Sep 17 00:00:00 2001
+From 70e721856c3ebf6ae0ea84b828396bd2af090acf Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 18 Mar 2015 00:31:06 +0000
 Subject: [PATCH] 'yes' within the path sets wrong config variables
@@ -29,10 +29,10 @@
  12 files changed, 28 insertions(+), 28 deletions(-)
 
 diff --git a/sysdeps/aarch64/configure b/sysdeps/aarch64/configure
-index 2130f6b8f8..7b7e3bbcf1 100644
+index ca57edce47..5e91fab023 100644
 --- a/sysdeps/aarch64/configure
 +++ b/sysdeps/aarch64/configure
-@@ -152,12 +152,12 @@ else
+@@ -165,12 +165,12 @@ else $as_nop
    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  /* end confdefs.h.  */
  #ifdef __AARCH64EB__
@@ -42,13 +42,13 @@
  
  _ACEOF
  if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
--  $EGREP "yes" >/dev/null 2>&1; then :
-+  $EGREP "is_aarch64_be" >/dev/null 2>&1; then :
+-  $EGREP "yes" >/dev/null 2>&1
++  $EGREP "is_aarch64_be" >/dev/null 2>&1
+ then :
    libc_cv_aarch64_be=yes
- else
-   libc_cv_aarch64_be=no
+ else $as_nop
 diff --git a/sysdeps/aarch64/configure.ac b/sysdeps/aarch64/configure.ac
-index 85c6f76508..8ecd15d273 100644
+index 27874eceb4..8a708f2ef4 100644
 --- a/sysdeps/aarch64/configure.ac
 +++ b/sysdeps/aarch64/configure.ac
 @@ -13,8 +13,8 @@ AC_DEFINE(SUPPORT_STATIC_PIE)
@@ -63,10 +63,10 @@
    ], libc_cv_aarch64_be=yes, libc_cv_aarch64_be=no)])
  if test $libc_cv_aarch64_be = yes; then
 diff --git a/sysdeps/arm/configure b/sysdeps/arm/configure
-index 5b0237e521..969fc9fe95 100644
+index 35e2918922..94d7fbe8bb 100644
 --- a/sysdeps/arm/configure
 +++ b/sysdeps/arm/configure
-@@ -148,12 +148,12 @@ else
+@@ -161,12 +161,12 @@ else $as_nop
    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  /* end confdefs.h.  */
  #ifdef __ARM_PCS_VFP
@@ -76,11 +76,11 @@
  
  _ACEOF
  if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
--  $EGREP "yes" >/dev/null 2>&1; then :
-+  $EGREP "use_arm_pcs_vfp" >/dev/null 2>&1; then :
+-  $EGREP "yes" >/dev/null 2>&1
++  $EGREP "use_arm_pcs_vfp" >/dev/null 2>&1
+ then :
    libc_cv_arm_pcs_vfp=yes
- else
-   libc_cv_arm_pcs_vfp=no
+ else $as_nop
 diff --git a/sysdeps/arm/configure.ac b/sysdeps/arm/configure.ac
 index 5172e30bbe..f06dedd7c5 100644
 --- a/sysdeps/arm/configure.ac
@@ -97,10 +97,10 @@
    ], libc_cv_arm_pcs_vfp=yes, libc_cv_arm_pcs_vfp=no)])
  if test $libc_cv_arm_pcs_vfp = yes; then
 diff --git a/sysdeps/mips/configure b/sysdeps/mips/configure
-index 3f4d9e9759..888453c70b 100644
+index 1e8c6711e6..ae52ccd929 100644
 --- a/sysdeps/mips/configure
 +++ b/sysdeps/mips/configure
-@@ -145,11 +145,11 @@ else
+@@ -158,11 +158,11 @@ else $as_nop
  /* end confdefs.h.  */
  dnl
  #ifdef __mips_nan2008
@@ -109,11 +109,11 @@
  #endif
  _ACEOF
  if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
--  $EGREP "yes" >/dev/null 2>&1; then :
-+  $EGREP "use_mips_nan2008" >/dev/null 2>&1; then :
+-  $EGREP "yes" >/dev/null 2>&1
++  $EGREP "use_mips_nan2008" >/dev/null 2>&1
+ then :
    libc_cv_mips_nan2008=yes
- else
-   libc_cv_mips_nan2008=no
+ else $as_nop
 diff --git a/sysdeps/mips/configure.ac b/sysdeps/mips/configure.ac
 index d3cd780d78..250223d206 100644
 --- a/sysdeps/mips/configure.ac
@@ -131,10 +131,10 @@
  if test x$libc_cv_mips_nan2008 = xyes; then
    AC_DEFINE(HAVE_MIPS_NAN2008)
 diff --git a/sysdeps/nios2/configure b/sysdeps/nios2/configure
-index b3cd28349e..f47e5a5adc 100644
+index 2fb230cbaa..1959d0a444 100644
 --- a/sysdeps/nios2/configure
 +++ b/sysdeps/nios2/configure
-@@ -142,12 +142,12 @@ else
+@@ -155,12 +155,12 @@ else $as_nop
    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  /* end confdefs.h.  */
  #ifdef __nios2_big_endian__
@@ -144,11 +144,11 @@
  
  _ACEOF
  if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
--  $EGREP "yes" >/dev/null 2>&1; then :
-+  $EGREP "is_nios2_be" >/dev/null 2>&1; then :
+-  $EGREP "yes" >/dev/null 2>&1
++  $EGREP "is_nios2_be" >/dev/null 2>&1
+ then :
    libc_cv_nios2_be=yes
- else
-   libc_cv_nios2_be=no
+ else $as_nop
 diff --git a/sysdeps/nios2/configure.ac b/sysdeps/nios2/configure.ac
 index f738e9a7ed..4085851cbc 100644
 --- a/sysdeps/nios2/configure.ac
@@ -165,10 +165,10 @@
    ], libc_cv_nios2_be=yes, libc_cv_nios2_be=no)])
  if test $libc_cv_nios2_be = yes; then
 diff --git a/sysdeps/unix/sysv/linux/mips/configure b/sysdeps/unix/sysv/linux/mips/configure
-index f25f2a3a65..1b7483e6c6 100644
+index a060901de4..0ac7019438 100644
 --- a/sysdeps/unix/sysv/linux/mips/configure
 +++ b/sysdeps/unix/sysv/linux/mips/configure
-@@ -414,11 +414,11 @@ else
+@@ -441,11 +441,11 @@ else $as_nop
  /* end confdefs.h.  */
  dnl
  #ifdef __mips_nan2008
@@ -177,11 +177,11 @@
  #endif
  _ACEOF
  if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
--  $EGREP "yes" >/dev/null 2>&1; then :
-+  $EGREP "use_mips_nan2008" >/dev/null 2>&1; then :
+-  $EGREP "yes" >/dev/null 2>&1
++  $EGREP "use_mips_nan2008" >/dev/null 2>&1
+ then :
    libc_cv_mips_nan2008=yes
- else
-   libc_cv_mips_nan2008=no
+ else $as_nop
 diff --git a/sysdeps/unix/sysv/linux/mips/configure.ac b/sysdeps/unix/sysv/linux/mips/configure.ac
 index 049a0f4bdf..005526d4e8 100644
 --- a/sysdeps/unix/sysv/linux/mips/configure.ac
@@ -199,10 +199,10 @@
  
  libc_mips_nan=
 diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure b/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure
-index ae7f254da4..874519000b 100644
+index cf1b70c745..0dccf6cd76 100644
 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure
 +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure
-@@ -155,12 +155,12 @@ else
+@@ -168,12 +168,12 @@ else $as_nop
    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  /* end confdefs.h.  */
  #if _CALL_ELF == 2
@@ -212,12 +212,12 @@
  
  _ACEOF
  if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
--  $EGREP "yes" >/dev/null 2>&1; then :
-+  $EGREP "use_ppc_elfv2_abi" >/dev/null 2>&1; then :
+-  $EGREP "yes" >/dev/null 2>&1
++  $EGREP "use_ppc_elfv2_abi" >/dev/null 2>&1
+ then :
    libc_cv_ppc64_elfv2_abi=yes
- else
-   libc_cv_ppc64_elfv2_abi=no
-@@ -188,12 +188,12 @@ else
+ else $as_nop
+@@ -203,12 +203,12 @@ else $as_nop
    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
  /* end confdefs.h.  */
  #ifdef _CALL_ELF
@@ -227,11 +227,11 @@
  
  _ACEOF
  if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
--  $EGREP "yes" >/dev/null 2>&1; then :
-+  $EGREP "is_def_call_elf" >/dev/null 2>&1; then :
+-  $EGREP "yes" >/dev/null 2>&1
++  $EGREP "is_def_call_elf" >/dev/null 2>&1
+ then :
    libc_cv_ppc64_def_call_elf=yes
- else
-   libc_cv_ppc64_def_call_elf=no
+ else $as_nop
 diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac b/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac
 index f9cba6e15d..b21f72f1e4 100644
 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/configure.ac
diff --git a/poky/meta/recipes-core/glibc/glibc/0010-eglibc-Cross-building-and-testing-instructions.patch b/poky/meta/recipes-core/glibc/glibc/0010-eglibc-Cross-building-and-testing-instructions.patch
index df6a659..ffbe138 100644
--- a/poky/meta/recipes-core/glibc/glibc/0010-eglibc-Cross-building-and-testing-instructions.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0010-eglibc-Cross-building-and-testing-instructions.patch
@@ -1,4 +1,4 @@
-From b5535340fb24bdae121286a79d759ecb3a464afd Mon Sep 17 00:00:00 2001
+From 9625e90bdf35774c71f1e566e73d435e38c04171 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 18 Mar 2015 00:42:58 +0000
 Subject: [PATCH] eglibc: Cross building and testing instructions
diff --git a/poky/meta/recipes-core/glibc/glibc/0011-eglibc-Help-bootstrap-cross-toolchain.patch b/poky/meta/recipes-core/glibc/glibc/0011-eglibc-Help-bootstrap-cross-toolchain.patch
index 57828dd..88017bd 100644
--- a/poky/meta/recipes-core/glibc/glibc/0011-eglibc-Help-bootstrap-cross-toolchain.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0011-eglibc-Help-bootstrap-cross-toolchain.patch
@@ -1,4 +1,4 @@
-From 1aa07d35422f4628437a515a256fdf230192891f Mon Sep 17 00:00:00 2001
+From cf2126b2d6e073137a3a7d9bcc261e0a760a82da Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 18 Mar 2015 00:49:28 +0000
 Subject: [PATCH] eglibc: Help bootstrap cross toolchain
@@ -29,7 +29,7 @@
  create mode 100644 include/stubs-bootstrap.h
 
 diff --git a/Makefile b/Makefile
-index 224c792185..6da151f5db 100644
+index c6d4817a9e..b4b0e23560 100644
 --- a/Makefile
 +++ b/Makefile
 @@ -79,9 +79,18 @@ subdir-dirs = include
diff --git a/poky/meta/recipes-core/glibc/glibc/0012-eglibc-Resolve-__fpscr_values-on-SH4.patch b/poky/meta/recipes-core/glibc/glibc/0012-eglibc-Resolve-__fpscr_values-on-SH4.patch
index b2e30a6..fee020c 100644
--- a/poky/meta/recipes-core/glibc/glibc/0012-eglibc-Resolve-__fpscr_values-on-SH4.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0012-eglibc-Resolve-__fpscr_values-on-SH4.patch
@@ -1,4 +1,4 @@
-From 47db0543da748fa7c355599b90b5016032e9deed Mon Sep 17 00:00:00 2001
+From 61948c02226acea68d34313cc6286ee1ab44a98c Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 18 Mar 2015 00:55:53 +0000
 Subject: [PATCH] eglibc: Resolve __fpscr_values on SH4
@@ -21,7 +21,7 @@
  2 files changed, 12 insertions(+)
 
 diff --git a/sysdeps/unix/sysv/linux/sh/Versions b/sysdeps/unix/sysv/linux/sh/Versions
-index 9c734ff755..974e33b4b1 100644
+index 3ad702e165..931985b5d6 100644
 --- a/sysdeps/unix/sysv/linux/sh/Versions
 +++ b/sysdeps/unix/sysv/linux/sh/Versions
 @@ -3,6 +3,7 @@ libc {
diff --git a/poky/meta/recipes-core/glibc/glibc/0013-eglibc-Forward-port-cross-locale-generation-support.patch b/poky/meta/recipes-core/glibc/glibc/0013-eglibc-Forward-port-cross-locale-generation-support.patch
index 46df874..60bcab0 100644
--- a/poky/meta/recipes-core/glibc/glibc/0013-eglibc-Forward-port-cross-locale-generation-support.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0013-eglibc-Forward-port-cross-locale-generation-support.patch
@@ -1,4 +1,4 @@
-From fc0f96b182cd32037326545625356c88feb5c27a Mon Sep 17 00:00:00 2001
+From befa58c48a8ba664e7bbdfcf22e2a15efa2e0d17 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 18 Mar 2015 01:33:49 +0000
 Subject: [PATCH] eglibc: Forward port cross locale generation support
@@ -89,7 +89,7 @@
 +    [LC_ALL] = sizeof ("LC_ALL") - 1
 +  };
 diff --git a/locale/localeinfo.h b/locale/localeinfo.h
-index b7b856f77f..5e87ff336d 100644
+index 7a930079a5..05d7848d29 100644
 --- a/locale/localeinfo.h
 +++ b/locale/localeinfo.h
 @@ -246,7 +246,7 @@ __libc_tsd_define (extern, locale_t, LOCALE)
@@ -519,7 +519,7 @@
 +
  #endif /* locfile.h */
 diff --git a/locale/setlocale.c b/locale/setlocale.c
-index dd73fa4248..da3e17774e 100644
+index 6a902faa50..17413f0a9c 100644
 --- a/locale/setlocale.c
 +++ b/locale/setlocale.c
 @@ -63,35 +63,6 @@ static char *const _nl_current_used[] =
diff --git a/poky/meta/recipes-core/glibc/glibc/0014-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch b/poky/meta/recipes-core/glibc/glibc/0014-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch
index 3bf4fa4..3e7d5b7 100644
--- a/poky/meta/recipes-core/glibc/glibc/0014-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0014-localedef-add-to-archive-uses-a-hard-coded-locale-pa.patch
@@ -1,4 +1,4 @@
-From 8e38bf52f1b71700a491cd1bd5ac5cf1ec7d097b Mon Sep 17 00:00:00 2001
+From 653b0631f80f17abe01957c06ef8a8d5d189b789 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Fri, 3 Aug 2018 09:42:06 -0700
 Subject: [PATCH] localedef --add-to-archive uses a hard-coded locale path
@@ -18,7 +18,7 @@
  1 file changed, 25 insertions(+), 10 deletions(-)
 
 diff --git a/locale/programs/locarchive.c b/locale/programs/locarchive.c
-index 87d2d9b1b2..36f5852949 100644
+index 71fd9f34fa..cd3eb90ad5 100644
 --- a/locale/programs/locarchive.c
 +++ b/locale/programs/locarchive.c
 @@ -339,12 +339,24 @@ enlarge_archive (struct locarhandle *ah, const struct locarhead *head)
diff --git a/poky/meta/recipes-core/glibc/glibc/0015-powerpc-Do-not-ask-compiler-for-finding-arch.patch b/poky/meta/recipes-core/glibc/glibc/0015-powerpc-Do-not-ask-compiler-for-finding-arch.patch
index af7140e..ff49a71 100644
--- a/poky/meta/recipes-core/glibc/glibc/0015-powerpc-Do-not-ask-compiler-for-finding-arch.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0015-powerpc-Do-not-ask-compiler-for-finding-arch.patch
@@ -1,4 +1,4 @@
-From 666905d40b483b28ffa2a5fa7170a40475ff1003 Mon Sep 17 00:00:00 2001
+From fae5ee7d7b9dca2f25684a99f7046042d870235f Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Fri, 7 Aug 2020 14:31:16 -0700
 Subject: [PATCH] powerpc: Do not ask compiler for finding arch
@@ -15,7 +15,7 @@
  2 files changed, 2 insertions(+), 8 deletions(-)
 
 diff --git a/sysdeps/powerpc/preconfigure b/sysdeps/powerpc/preconfigure
-index dfe8e20399..bbff040f0f 100644
+index 4de94089a3..428ad7b162 100644
 --- a/sysdeps/powerpc/preconfigure
 +++ b/sysdeps/powerpc/preconfigure
 @@ -29,10 +29,7 @@ esac
diff --git a/poky/meta/recipes-core/glibc/glibc/0016-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch b/poky/meta/recipes-core/glibc/glibc/0016-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch
index 90a6cc2..b7b4046 100644
--- a/poky/meta/recipes-core/glibc/glibc/0016-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0016-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch
@@ -1,4 +1,4 @@
-From 80dbf6f21c12b1c60bfab9a64798d4f1ea242efb Mon Sep 17 00:00:00 2001
+From 91a7848698ce6c96c646f3a170714ee71eab6884 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Fri, 15 May 2020 17:05:45 -0700
 Subject: [PATCH] wordsize.h: Unify the header between arm and aarch64
@@ -11,10 +11,10 @@
 
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
 ---
- sysdeps/aarch64/bits/wordsize.h          | 8 ++++++--
- sysdeps/{aarch64 => arm}/bits/wordsize.h | 8 ++++++--
- 2 files changed, 12 insertions(+), 4 deletions(-)
- copy sysdeps/{aarch64 => arm}/bits/wordsize.h (85%)
+ sysdeps/aarch64/bits/wordsize.h | 8 ++++++--
+ sysdeps/arm/bits/wordsize.h     | 1 +
+ 2 files changed, 7 insertions(+), 2 deletions(-)
+ create mode 120000 sysdeps/arm/bits/wordsize.h
 
 diff --git a/sysdeps/aarch64/bits/wordsize.h b/sysdeps/aarch64/bits/wordsize.h
 index 04d4be9519..63876a7830 100644
@@ -39,29 +39,11 @@
  #endif
  
  #define __WORDSIZE_TIME64_COMPAT32	0
-diff --git a/sysdeps/aarch64/bits/wordsize.h b/sysdeps/arm/bits/wordsize.h
-similarity index 85%
-copy from sysdeps/aarch64/bits/wordsize.h
-copy to sysdeps/arm/bits/wordsize.h
-index 04d4be9519..63876a7830 100644
---- a/sysdeps/aarch64/bits/wordsize.h
+diff --git a/sysdeps/arm/bits/wordsize.h b/sysdeps/arm/bits/wordsize.h
+new file mode 120000
+index 0000000000..4c4a788ec2
+--- /dev/null
 +++ b/sysdeps/arm/bits/wordsize.h
-@@ -17,12 +17,16 @@
-    License along with the GNU C Library; if not, see
-    <https://www.gnu.org/licenses/>.  */
- 
--#ifdef __LP64__
-+#if defined (__aarch64__) && defined (__LP64__)
- # define __WORDSIZE			64
--#else
-+#elif defined (__aarch64__)
- # define __WORDSIZE			32
- # define __WORDSIZE32_SIZE_ULONG	1
- # define __WORDSIZE32_PTRDIFF_LONG	1
-+#else
-+# define __WORDSIZE			32
-+# define __WORDSIZE32_SIZE_ULONG	0
-+# define __WORDSIZE32_PTRDIFF_LONG	0
- #endif
- 
- #define __WORDSIZE_TIME64_COMPAT32	0
+@@ -0,0 +1 @@
++../../aarch64/bits/wordsize.h
+\ No newline at end of file
diff --git a/poky/meta/recipes-core/glibc/glibc/0017-Replace-echo-with-printf-builtin-in-nscd-init-script.patch b/poky/meta/recipes-core/glibc/glibc/0017-Replace-echo-with-printf-builtin-in-nscd-init-script.patch
index 2e5c60a..f2ed821 100644
--- a/poky/meta/recipes-core/glibc/glibc/0017-Replace-echo-with-printf-builtin-in-nscd-init-script.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0017-Replace-echo-with-printf-builtin-in-nscd-init-script.patch
@@ -1,4 +1,4 @@
-From 561f67dda72ba806120e3ffadd8b85dcf02a90a6 Mon Sep 17 00:00:00 2001
+From 63611cfd3b25f3656db168aee41a5850ac769dfc Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Thu, 31 Dec 2015 14:33:02 -0800
 Subject: [PATCH] Replace echo with printf builtin in nscd init script
diff --git a/poky/meta/recipes-core/glibc/glibc/0018-sysdeps-gnu-configure.ac-Set-libc_cv_rootsbindir-onl.patch b/poky/meta/recipes-core/glibc/glibc/0018-sysdeps-gnu-configure.ac-Set-libc_cv_rootsbindir-onl.patch
index 33585ee..12a4606 100644
--- a/poky/meta/recipes-core/glibc/glibc/0018-sysdeps-gnu-configure.ac-Set-libc_cv_rootsbindir-onl.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0018-sysdeps-gnu-configure.ac-Set-libc_cv_rootsbindir-onl.patch
@@ -1,4 +1,4 @@
-From 5b408839318b81cc2713956c87f19eddb009f677 Mon Sep 17 00:00:00 2001
+From 912ccb5001ffa5355caff09354558e89e9aa937b Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 18 Mar 2015 00:27:10 +0000
 Subject: [PATCH] sysdeps/gnu/configure.ac: Set libc_cv_rootsbindir only if its
@@ -15,10 +15,10 @@
  2 files changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/sysdeps/gnu/configure b/sysdeps/gnu/configure
-index c15d1087e8..d30d6e37ae 100644
+index 18c9d7945a..ef22cc845d 100644
 --- a/sysdeps/gnu/configure
 +++ b/sysdeps/gnu/configure
-@@ -32,6 +32,6 @@ case "$prefix" in
+@@ -32,7 +32,7 @@ case "$prefix" in
    else
      libc_cv_localstatedir=$localstatedir
     fi
@@ -26,6 +26,7 @@
 +  libc_cv_rootsbindir=${libc_cv_rootsbindir:=/sbin}
    ;;
  esac
+ 
 diff --git a/sysdeps/gnu/configure.ac b/sysdeps/gnu/configure.ac
 index 634fe4de2a..492112e0fd 100644
 --- a/sysdeps/gnu/configure.ac
diff --git a/poky/meta/recipes-core/glibc/glibc/0019-timezone-Make-shell-interpreter-overridable-in-tzsel.patch b/poky/meta/recipes-core/glibc/glibc/0019-timezone-Make-shell-interpreter-overridable-in-tzsel.patch
index f6e0cec..359b1c3 100644
--- a/poky/meta/recipes-core/glibc/glibc/0019-timezone-Make-shell-interpreter-overridable-in-tzsel.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0019-timezone-Make-shell-interpreter-overridable-in-tzsel.patch
@@ -1,4 +1,4 @@
-From 27d3ec9df3157966819e4369e571769ed9e8604c Mon Sep 17 00:00:00 2001
+From 1d518ac57b00a3335f80f10f899c1bc24a0ddbf5 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Thu, 9 Dec 2021 15:14:42 -0800
 Subject: [PATCH] timezone: Make shell interpreter overridable in tzselect.ksh
@@ -14,7 +14,7 @@
  2 files changed, 10 insertions(+)
 
 diff --git a/Makeconfig b/Makeconfig
-index 2fda4af5f7..87777942f3 100644
+index 77d7fd14df..e253046861 100644
 --- a/Makeconfig
 +++ b/Makeconfig
 @@ -309,6 +309,15 @@ ifndef sysincludedir
diff --git a/poky/meta/recipes-core/glibc/glibc/0020-tzselect.ksh-Use-bin-sh-default-shell-interpreter.patch b/poky/meta/recipes-core/glibc/glibc/0020-tzselect.ksh-Use-bin-sh-default-shell-interpreter.patch
index ee50a81..9a1bfdd 100644
--- a/poky/meta/recipes-core/glibc/glibc/0020-tzselect.ksh-Use-bin-sh-default-shell-interpreter.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0020-tzselect.ksh-Use-bin-sh-default-shell-interpreter.patch
@@ -1,4 +1,4 @@
-From d8c8500b619231c23ef6a151821555786c0d2966 Mon Sep 17 00:00:00 2001
+From 7274541782927394852712ba0c8dfd67bd9b8b5b Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
 Date: Wed, 15 Dec 2021 21:47:53 -0800
 Subject: [PATCH] tzselect.ksh: Use /bin/sh default shell interpreter
diff --git a/poky/meta/recipes-core/glibc/glibc/0021-fix-create-thread-failed-in-unprivileged-process-BZ-.patch b/poky/meta/recipes-core/glibc/glibc/0021-fix-create-thread-failed-in-unprivileged-process-BZ-.patch
index 4838643..3b567cc 100644
--- a/poky/meta/recipes-core/glibc/glibc/0021-fix-create-thread-failed-in-unprivileged-process-BZ-.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0021-fix-create-thread-failed-in-unprivileged-process-BZ-.patch
@@ -1,4 +1,4 @@
-From 30d209d26918e48e34f34658923c42f269d27ee1 Mon Sep 17 00:00:00 2001
+From 4a1bff4c1e34ad9b596a7ba44ab61f4c9d00097b Mon Sep 17 00:00:00 2001
 From: Hongxu Jia <hongxu.jia@windriver.com>
 Date: Sun, 29 Aug 2021 20:49:16 +0800
 Subject: [PATCH] fix create thread failed in unprivileged process [BZ #28287]
@@ -72,13 +72,13 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/sysdeps/unix/sysv/linux/clone-internal.c b/sysdeps/unix/sysv/linux/clone-internal.c
-index a8611772a2..c75b063370 100644
+index 790739cfce..8d24d04917 100644
 --- a/sysdeps/unix/sysv/linux/clone-internal.c
 +++ b/sysdeps/unix/sysv/linux/clone-internal.c
-@@ -52,7 +52,7 @@ __clone_internal (struct clone_args *cl_args,
-   /* Try clone3 first.  */
+@@ -106,7 +106,7 @@ __clone_internal (struct clone_args *cl_args,
+ #ifdef HAVE_CLONE3_WRAPPER
    int saved_errno = errno;
-   ret = __clone3 (cl_args, sizeof (*cl_args), func, arg);
+   int ret = __clone3_internal (cl_args, func, arg);
 -  if (ret != -1 || errno != ENOSYS)
 +  if (ret != -1 || (errno != ENOSYS && errno != EPERM))
      return ret;
diff --git a/poky/meta/recipes-core/glibc/glibc/0022-Avoid-hardcoded-build-time-paths-in-the-output-binar.patch b/poky/meta/recipes-core/glibc/glibc/0022-Avoid-hardcoded-build-time-paths-in-the-output-binar.patch
index 789d36c..55c81f3 100644
--- a/poky/meta/recipes-core/glibc/glibc/0022-Avoid-hardcoded-build-time-paths-in-the-output-binar.patch
+++ b/poky/meta/recipes-core/glibc/glibc/0022-Avoid-hardcoded-build-time-paths-in-the-output-binar.patch
@@ -1,4 +1,4 @@
-From b672a35f7d9e25baa83f3fd854a51bc1ad49756a Mon Sep 17 00:00:00 2001
+From e61792fc978f9b8a9c790be468fbf97828ac8ae9 Mon Sep 17 00:00:00 2001
 From: Richard Purdie <richard.purdie@linuxfoundation.org>
 Date: Sun, 24 Jul 2022 07:07:29 -0700
 Subject: [PATCH] Avoid hardcoded build time paths in the output binaries
@@ -14,10 +14,10 @@
  1 file changed, 3 insertions(+), 3 deletions(-)
 
 diff --git a/support/Makefile b/support/Makefile
-index b29b7eb505..ae42e6e7e9 100644
+index 917a858bd1..17a747c8c7 100644
 --- a/support/Makefile
 +++ b/support/Makefile
-@@ -219,9 +219,9 @@ libsupport-inhibit-o += .o
+@@ -227,9 +227,9 @@ libsupport-inhibit-o += .o
  endif
  
  CFLAGS-support_paths.c = \
diff --git a/poky/meta/recipes-core/glibc/glibc/0023-aarch64-configure-Pass-mcpu-along-with-march-to-dete.patch b/poky/meta/recipes-core/glibc/glibc/0023-aarch64-configure-Pass-mcpu-along-with-march-to-dete.patch
new file mode 100644
index 0000000..7be9fc9
--- /dev/null
+++ b/poky/meta/recipes-core/glibc/glibc/0023-aarch64-configure-Pass-mcpu-along-with-march-to-dete.patch
@@ -0,0 +1,56 @@
+From d836f008a96aa9b2e88c7b394bfc110542e57176 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 4 Aug 2023 09:34:50 -0700
+Subject: [PATCH] aarch64/configure: Pass -mcpu along with -march to detect sve
+ support
+
+SVE support logic in configure is rightly passing -march=<arch>+sve to
+compiler to override whatever user might have passed via environment,
+however GCC does not do as intended when -mcpu is part of environment
+compiler flags, then it overrides the -march computed from -mcpu and
+igonores other -march values so this test fails for lot of aarch64
+machines which pass -mcpu that does not support sve. This is seemingly a
+bug in GCC [1], until that is fixed we preempt -mcpu along with -march
+in the configure test itself. It does not change functionality and yet
+lets us through the GCC inconsistency.
+
+[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110901
+
+Upstream-Status: Inappropriate [Workaround for a GCC issue]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ sysdeps/aarch64/configure    | 2 +-
+ sysdeps/aarch64/configure.ac | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/sysdeps/aarch64/configure b/sysdeps/aarch64/configure
+index 5e91fab023..39dddc66d4 100644
+--- a/sysdeps/aarch64/configure
++++ b/sysdeps/aarch64/configure
+@@ -327,7 +327,7 @@ else $as_nop
+   cat > conftest.s <<\EOF
+         ptrue p0.b
+ EOF
+-if { ac_try='${CC-cc} -c -march=armv8.2-a+sve conftest.s 1>&5'
++if { ac_try='${CC-cc} -c -mcpu=generic+sve -march=armv8.2-a+sve conftest.s 1>&5'
+   { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+   (eval $ac_try) 2>&5
+   ac_status=$?
+diff --git a/sysdeps/aarch64/configure.ac b/sysdeps/aarch64/configure.ac
+index 8a708f2ef4..b6a146d2be 100644
+--- a/sysdeps/aarch64/configure.ac
++++ b/sysdeps/aarch64/configure.ac
+@@ -92,7 +92,7 @@ AC_CACHE_CHECK([for SVE support in assembler], [libc_cv_aarch64_sve_asm], [dnl
+ cat > conftest.s <<\EOF
+         ptrue p0.b
+ EOF
+-if AC_TRY_COMMAND(${CC-cc} -c -march=armv8.2-a+sve conftest.s 1>&AS_MESSAGE_LOG_FD); then
++if AC_TRY_COMMAND(${CC-cc} -c -mcpu=generic+sve -march=armv8.2-a+sve conftest.s 1>&AS_MESSAGE_LOG_FD); then
+   libc_cv_aarch64_sve_asm=yes
+ else
+   libc_cv_aarch64_sve_asm=no
+-- 
+2.41.0
+
diff --git a/poky/meta/recipes-core/glibc/glibc_2.37.bb b/poky/meta/recipes-core/glibc/glibc_2.38.bb
similarity index 97%
rename from poky/meta/recipes-core/glibc/glibc_2.37.bb
rename to poky/meta/recipes-core/glibc/glibc_2.38.bb
index 851aa61..32ccb88 100644
--- a/poky/meta/recipes-core/glibc/glibc_2.37.bb
+++ b/poky/meta/recipes-core/glibc/glibc_2.38.bb
@@ -50,6 +50,7 @@
            file://0020-tzselect.ksh-Use-bin-sh-default-shell-interpreter.patch \
            file://0021-fix-create-thread-failed-in-unprivileged-process-BZ-.patch \
            file://0022-Avoid-hardcoded-build-time-paths-in-the-output-binar.patch \
+           file://0023-aarch64-configure-Pass-mcpu-along-with-march-to-dete.patch \
 "
 S = "${WORKDIR}/git"
 B = "${WORKDIR}/build-${TARGET_SYS}"
@@ -70,12 +71,12 @@
                 --enable-clocale=gnu \
                 --with-headers=${STAGING_INCDIR} \
                 --without-selinux \
-                --enable-tunables \
                 --enable-bind-now \
                 --enable-stack-protector=strong \
                 --disable-crypt \
                 --with-default-link \
                 --disable-werror \
+                --enable-fortify-source \
                 ${@bb.utils.contains_any('SELECTED_OPTIMIZATION', '-O0 -Og', '--disable-werror', '', d)} \
                 ${GLIBCPIE} \
                 ${GLIBC_EXTRA_OECONF}"
@@ -86,6 +87,7 @@
 EXTRA_OECONF:append:x86-64 = " --enable-cet"
 
 PACKAGECONFIG ??= "nscd memory-tagging"
+
 PACKAGECONFIG[nscd] = "--enable-nscd,--disable-nscd"
 PACKAGECONFIG[memory-tagging] = "--enable-memory-tagging,--disable-memory-tagging"
 
diff --git a/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb b/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb
index b078b19..0394afc 100644
--- a/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb
+++ b/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb
@@ -26,7 +26,7 @@
 
 REQUIRED_DISTRO_FEATURES += "xattr"
 
-SRCREV ?= "02d38e9ce479262d848c4f873ee1e57141eb7eea"
+SRCREV ?= "71faadedb96a15a0748552b00dec032649adb71f"
 SRC_URI = "git://git.yoctoproject.org/poky;branch=master \
            file://Yocto_Build_Appliance.vmx \
            file://Yocto_Build_Appliance.vmxf \
@@ -117,7 +117,7 @@
 	ln -rs ${IMAGE_ROOTFS}/lib ${IMAGE_ROOTFS}/lib64
 }
 
-IMAGE_PREPROCESS_COMMAND += "do_populate_poky_src; do_tweak_image; "
+IMAGE_PREPROCESS_COMMAND += "do_populate_poky_src do_tweak_image"
 # For pip usage above
 do_image[network] = "1"
 
diff --git a/poky/meta/recipes-core/images/core-image-ptest.bb b/poky/meta/recipes-core/images/core-image-ptest.bb
index 74cf933..b81ab7b 100644
--- a/poky/meta/recipes-core/images/core-image-ptest.bb
+++ b/poky/meta/recipes-core/images/core-image-ptest.bb
@@ -5,6 +5,7 @@
 require conf/distro/include/ptest-packagelists.inc
 
 DESCRIPTION += "Also including the ${MCNAME} ptest package."
+SUMMARY ?= "${MCNAME} ptest image."
 HOMEPAGE = "https://www.yoctoproject.org/"
 
 PTESTS = "${PTESTS_SLOW} ${PTESTS_FAST}"
diff --git a/poky/meta/recipes-core/images/core-image-tiny-initramfs.bb b/poky/meta/recipes-core/images/core-image-tiny-initramfs.bb
index 96b56a2..8af25f1 100644
--- a/poky/meta/recipes-core/images/core-image-tiny-initramfs.bb
+++ b/poky/meta/recipes-core/images/core-image-tiny-initramfs.bb
@@ -40,6 +40,6 @@
     init.write(newinit)
 }
 
-IMAGE_PREPROCESS_COMMAND += "tinyinitrd;"
+IMAGE_PREPROCESS_COMMAND += "tinyinitrd"
 
 QB_KERNEL_CMDLINE_APPEND += "debugshell=3 init=/bin/busybox sh init"
diff --git a/poky/meta/recipes-core/kbd/kbd_2.6.1.bb b/poky/meta/recipes-core/kbd/kbd_2.6.2.bb
similarity index 94%
rename from poky/meta/recipes-core/kbd/kbd_2.6.1.bb
rename to poky/meta/recipes-core/kbd/kbd_2.6.2.bb
index 112039b..abd039f 100644
--- a/poky/meta/recipes-core/kbd/kbd_2.6.1.bb
+++ b/poky/meta/recipes-core/kbd/kbd_2.6.2.bb
@@ -16,7 +16,7 @@
 SRC_URI = "${KERNELORG_MIRROR}/linux/utils/${BPN}/${BP}.tar.xz \
            "
 
-SRC_URI[sha256sum] = "2eb6c6c972be9589bab733275bf020beb5f644d5f9439737920e701af6cf3485"
+SRC_URI[sha256sum] = "33e3bb3c3f55933b10f053b14b5f69a2e24c28543e9ec7690246fe47628dd94f"
 
 EXTRA_OECONF = "--disable-tests"
 PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} \
diff --git a/poky/meta/recipes-core/libcgroup/libcgroup/0001-api-Use-GNU-strerror_r-when-available.patch b/poky/meta/recipes-core/libcgroup/libcgroup/0001-api-Use-GNU-strerror_r-when-available.patch
deleted file mode 100644
index 96321d2..0000000
--- a/poky/meta/recipes-core/libcgroup/libcgroup/0001-api-Use-GNU-strerror_r-when-available.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From d190c0c548b3219b75e4c399aa89186e77bbe270 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 23 Aug 2022 20:03:09 -0700
-Subject: [PATCH] api: Use GNU strerror_r when available
-
-GNU strerror_r is only available in glibc, musl impelents the XSI
-version which is slightly different, therefore check if GNU version is
-available before using it, otherwise use the XSI compliant version.
-
-Upstream-Status: Submitted [https://github.com/libcgroup/libcgroup/pull/236]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- configure.ac | 5 +++++
- src/api.c    | 8 ++++++--
- 2 files changed, 11 insertions(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index b68c655..831866d 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -183,6 +183,11 @@ AC_FUNC_REALLOC
- AC_FUNC_STAT
- AC_CHECK_FUNCS([getmntent hasmntopt memset mkdir rmdir strdup])
- 
-+orig_CFLAGS="$CFLAGS"
-+CFLAGS="$CFLAGS -D_GNU_SOURCE"
-+AC_FUNC_STRERROR_R
-+CFLAGS="$orig_CFLAGS"
-+
- AC_SEARCH_LIBS(
- 	[fts_open],
- 	[fts],
-diff --git a/src/api.c b/src/api.c
-index 5c6de11..06aa1d6 100644
---- a/src/api.c
-+++ b/src/api.c
-@@ -4571,9 +4571,13 @@ const char *cgroup_strerror(int code)
- {
- 	int idx = code % ECGROUPNOTCOMPILED;
- 
--	if (code == ECGOTHER)
-+	if (code == ECGOTHER) {
-+#ifdef STRERROR_R_CHAR_P
- 		return strerror_r(cgroup_get_last_errno(), errtext, MAXLEN);
--
-+#else
-+		return strerror_r(cgroup_get_last_errno(), errtext, sizeof (errtext)) ? "unknown error" : errtext;
-+#endif
-+	}
- 	if (idx >= sizeof(cgroup_strerror_codes)/sizeof(cgroup_strerror_codes[0]))
- 		return "Invalid error code";
- 
--- 
-2.37.2
-
diff --git a/poky/meta/recipes-core/libcgroup/libcgroup_3.0.0.bb b/poky/meta/recipes-core/libcgroup/libcgroup_3.1.0.bb
similarity index 78%
rename from poky/meta/recipes-core/libcgroup/libcgroup_3.0.0.bb
rename to poky/meta/recipes-core/libcgroup/libcgroup_3.1.0.bb
index 457b965..4b4f19e 100644
--- a/poky/meta/recipes-core/libcgroup/libcgroup_3.0.0.bb
+++ b/poky/meta/recipes-core/libcgroup/libcgroup_3.1.0.bb
@@ -12,15 +12,15 @@
 DEPENDS = "bison-native flex-native"
 DEPENDS:append:libc-musl = " fts"
 
-SRC_URI = "${GITHUB_BASE_URI}/download/v3.0/${BP}.tar.gz \
-           file://0001-api-Use-GNU-strerror_r-when-available.patch \
+SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/${BP}.tar.gz \
 "
 UPSTREAM_CHECK_URI = "https://github.com/libcgroup/libcgroup/tags"
 
-SRC_URI[sha256sum] = "8d284d896fca1c981b55850e92acd3ad9648a69227c028dda7ae3402af878edd"
+SRC_URI[sha256sum] = "976ec4b1e03c0498308cfd28f1b256b40858f636abc8d1f9db24f0a7ea9e1258"
 
-PACKAGECONFIG = "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}"
+PACKAGECONFIG = "${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd', d)}"
 PACKAGECONFIG[pam] = "--enable-pam-module-dir=${base_libdir}/security --enable-pam=yes,--enable-pam=no,libpam"
+PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd"
 
 PACKAGES =+ "cgroups-pam-plugin"
 FILES:cgroups-pam-plugin = "${base_libdir}/security/pam_cgroup.so*"
diff --git a/poky/meta/recipes-core/libxml/libxml2_2.11.4.bb b/poky/meta/recipes-core/libxml/libxml2_2.11.5.bb
similarity index 97%
rename from poky/meta/recipes-core/libxml/libxml2_2.11.4.bb
rename to poky/meta/recipes-core/libxml/libxml2_2.11.5.bb
index cbf2050..4cf6dd0 100644
--- a/poky/meta/recipes-core/libxml/libxml2_2.11.4.bb
+++ b/poky/meta/recipes-core/libxml/libxml2_2.11.5.bb
@@ -18,7 +18,7 @@
            file://install-tests.patch \
            "
 
-SRC_URI[archive.sha256sum] = "737e1d7f8ab3f139729ca13a2494fd17bf30ddb4b7a427cf336252cab57f57f7"
+SRC_URI[archive.sha256sum] = "3727b078c360ec69fa869de14bd6f75d7ee8d36987b071e6928d4720a28df3a6"
 SRC_URI[testtar.sha256sum] = "c6b2d42ee50b8b236e711a97d68e6c4b5c8d83e69a2be4722379f08702ea7273"
 
 BINCONFIG = "${bindir}/xml2-config"
diff --git a/poky/meta/recipes-core/meta/build-sysroots.bb b/poky/meta/recipes-core/meta/build-sysroots.bb
index ad22a75..db05c11 100644
--- a/poky/meta/recipes-core/meta/build-sysroots.bb
+++ b/poky/meta/recipes-core/meta/build-sysroots.bb
@@ -1,5 +1,6 @@
-INHIBIT_DEFAULT_DEPS = "1"
 LICENSE = "MIT"
+SUMMARY = "Build old style sysroot based on everything in the components directory that matches the current MACHINE"
+INHIBIT_DEFAULT_DEPS = "1"
 
 STANDALONE_SYSROOT = "${STAGING_DIR}/${MACHINE}"
 STANDALONE_SYSROOT_NATIVE = "${STAGING_DIR}/${BUILD_ARCH}"
@@ -16,6 +17,18 @@
 deltask compile
 deltask install
 deltask populate_sysroot
+deltask create_spdx
+deltask collect_spdx_deps
+deltask create_runtime_spdx
+deltask recipe_qa
+
+do_build_warn () {
+    bbwarn "Native or target sysroot population needs to be explicitly selected; please use
+bitbake -c build_native_sysroot build-sysroots
+bitbake -c build_target_sysroot build-sysroots
+or both."
+}
+addtask do_build_warn before do_build
 
 python do_build_native_sysroot () {
     targetsysroot = d.getVar("STANDALONE_SYSROOT")
@@ -26,7 +39,7 @@
 }
 do_build_native_sysroot[cleandirs] = "${STANDALONE_SYSROOT_NATIVE}"
 do_build_native_sysroot[nostamp] = "1"
-addtask do_build_native_sysroot before do_build
+addtask do_build_native_sysroot
 
 python do_build_target_sysroot () {
     targetsysroot = d.getVar("STANDALONE_SYSROOT")
@@ -37,6 +50,6 @@
 }
 do_build_target_sysroot[cleandirs] = "${STANDALONE_SYSROOT}"
 do_build_target_sysroot[nostamp] = "1"
-addtask do_build_target_sysroot before do_build
+addtask do_build_target_sysroot
 
 do_clean[cleandirs] += "${STANDALONE_SYSROOT} ${STANDALONE_SYSROOT_NATIVE}"
diff --git a/poky/meta/recipes-core/meta/buildtools-tarball.bb b/poky/meta/recipes-core/meta/buildtools-tarball.bb
index 70d740b..6b67948 100644
--- a/poky/meta/recipes-core/meta/buildtools-tarball.bb
+++ b/poky/meta/recipes-core/meta/buildtools-tarball.bb
@@ -30,6 +30,7 @@
     nativesdk-mtools \
     nativesdk-zstd \
     nativesdk-lz4 \
+    nativesdk-libacl \
     "
 
 MULTIMACH_TARGET_SYS = "${SDK_ARCH}-nativesdk${SDK_VENDOR}-${SDK_OS}"
diff --git a/poky/meta/recipes-core/musl/gcompat_git.bb b/poky/meta/recipes-core/musl/gcompat_git.bb
index 11f3c58..ba802e3 100644
--- a/poky/meta/recipes-core/musl/gcompat_git.bb
+++ b/poky/meta/recipes-core/musl/gcompat_git.bb
@@ -13,7 +13,7 @@
 SRC_URI:append:powerpc = "\
            file://0001-make-Static-PIE-does-not-work-on-musl-ppc.patch \
            "
-PV = "1.0.0+1.1+git${SRCPV}"
+PV = "1.0.0+1.1+git"
 SRCREV = "c6921a1aa454bb87671f9bd1ecfe47d80d1620aa"
 
 S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-core/musl/libc-test_git.bb b/poky/meta/recipes-core/musl/libc-test_git.bb
index 6d64592..e63abe8 100644
--- a/poky/meta/recipes-core/musl/libc-test_git.bb
+++ b/poky/meta/recipes-core/musl/libc-test_git.bb
@@ -15,7 +15,7 @@
     file://run-ptest \
 "
 
-PV = "0+git${SRCPV}"
+PV = "0+git"
 
 S = "${WORKDIR}/git"
 
@@ -34,6 +34,7 @@
 
 RDEPENDS:${PN}-ptest = " \
      ${PN} \
+     musl-staticdev \
      sed \
 "
 
diff --git a/poky/meta/recipes-core/musl/musl-locales_git.bb b/poky/meta/recipes-core/musl/musl-locales_git.bb
index 6ffac4f..1373c60 100644
--- a/poky/meta/recipes-core/musl/musl-locales_git.bb
+++ b/poky/meta/recipes-core/musl/musl-locales_git.bb
@@ -9,7 +9,7 @@
 
 SRC_URI = "git://git.adelielinux.org/adelie/musl-locales;protocol=https;branch=main"
 
-PV = "1.0+git${SRCPV}"
+PV = "1.0+git"
 SRCREV = "5663f5bfd30bf9e1e0ba3fc5fe2da6725969f30e"
 
 S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-core/musl/musl_git.bb b/poky/meta/recipes-core/musl/musl_git.bb
index 297c558..4a4fe97 100644
--- a/poky/meta/recipes-core/musl/musl_git.bb
+++ b/poky/meta/recipes-core/musl/musl_git.bb
@@ -8,7 +8,7 @@
 
 BASEVER = "1.2.4"
 
-PV = "${BASEVER}+git${SRCPV}"
+PV = "${BASEVER}+git"
 
 # mirror is at git://github.com/kraj/musl.git
 
diff --git a/poky/meta/recipes-core/newlib/newlib.inc b/poky/meta/recipes-core/newlib/newlib.inc
index 5351a9f..da753f1 100644
--- a/poky/meta/recipes-core/newlib/newlib.inc
+++ b/poky/meta/recipes-core/newlib/newlib.inc
@@ -15,7 +15,7 @@
 		"
 
 BASEVER = "4.3.0"
-PV = "${BASEVER}+git${SRCPV}"
+PV = "${BASEVER}+git"
 SRC_URI = "git://sourceware.org/git/newlib-cygwin.git;protocol=https;branch=main"
 SRCREV="9e09d6ed83cce4777a5950412647ccc603040409"
 
diff --git a/poky/meta/recipes-core/psplash/psplash_git.bb b/poky/meta/recipes-core/psplash/psplash_git.bb
index 78960e1..17704a0 100644
--- a/poky/meta/recipes-core/psplash/psplash_git.bb
+++ b/poky/meta/recipes-core/psplash/psplash_git.bb
@@ -7,7 +7,7 @@
 DEPENDS = "gdk-pixbuf-native"
 
 SRCREV = "44afb7506d43cca15582b4c5b90ba5580344d75d"
-PV = "0.1+git${SRCPV}"
+PV = "0.1+git"
 
 SRC_URI = "git://git.yoctoproject.org/${BPN};branch=master;protocol=https \
            file://psplash-init \
diff --git a/poky/meta/recipes-core/systemd/systemd-boot_254.bb b/poky/meta/recipes-core/systemd/systemd-boot_254.bb
index 5d69cf8..4ee25ee 100644
--- a/poky/meta/recipes-core/systemd/systemd-boot_254.bb
+++ b/poky/meta/recipes-core/systemd/systemd-boot_254.bb
@@ -13,20 +13,21 @@
 EFI_LD = "bfd"
 LDFLAGS:append = " -fuse-ld=${EFI_LD}"
 
-do_write_config[vardeps] += "CC OBJCOPY EFI_LD"
+do_write_config[vardeps] += "EFI_LD"
 do_write_config:append() {
     cat >${WORKDIR}/meson-${PN}.cross <<EOF
 [binaries]
-c = ${@meson_array('CC', d)}
-objcopy = ${@meson_array('OBJCOPY', d)}
 c_ld = ${@meson_array('EFI_LD', d)}
 EOF
 }
 
+MESON_CROSS_FILE:append = " --cross-file ${WORKDIR}/meson-${PN}.cross"
+
+MESON_TARGET = "systemd-boot"
+
 EXTRA_OEMESON += "-Defi=true \
                   -Dbootloader=true \
                   -Dman=false \
-                  --cross-file ${WORKDIR}/meson-${PN}.cross \
                   "
 
 # install to the image as boot*.efi if its the EFI_PROVIDER,
@@ -46,16 +47,11 @@
 
 RDEPENDS:${PN} += "virtual-systemd-bootconf"
 
-# Imported from the old gummiboot recipe
-TUNE_CCARGS:remove = "-mfpmath=sse"
+CFLAGS:append:libc-musl = " -D__DEFINED_wchar_t"
 
 COMPATIBLE_HOST = "(aarch64.*|arm.*|x86_64.*|i.86.*)-linux"
 COMPATIBLE_HOST:x86-x32 = "null"
 
-do_compile() {
-	ninja systemd-boot
-}
-
 do_install() {
 	install -d ${D}${EFI_FILES_PATH}
 	install ${B}/src/boot/efi/systemd-boot*.efi ${D}${EFI_FILES_PATH}/${SYSTEMD_BOOT_IMAGE}
diff --git a/poky/meta/recipes-core/systemd/systemd_254.bb b/poky/meta/recipes-core/systemd/systemd_254.bb
index f48f8c0..8d5cf13 100644
--- a/poky/meta/recipes-core/systemd/systemd_254.bb
+++ b/poky/meta/recipes-core/systemd/systemd_254.bb
@@ -146,7 +146,7 @@
 PACKAGECONFIG[default-compression-xz] = "-Dxz=true -Ddefault-compression=xz,,xz"
 PACKAGECONFIG[default-compression-zstd] = "-Dzstd=true -Ddefault-compression=zstd,,zstd"
 PACKAGECONFIG[dbus] = "-Ddbus=true,-Ddbus=false,dbus"
-PACKAGECONFIG[efi] = "-Defi=true -Dbootloader=true,-Defi=false -Dbootloader=false,python3-pyelftools"
+PACKAGECONFIG[efi] = "-Defi=true -Dbootloader=true,-Defi=false -Dbootloader=false,python3-pyelftools-native"
 PACKAGECONFIG[elfutils] = "-Delfutils=true,-Delfutils=false,elfutils"
 PACKAGECONFIG[firstboot] = "-Dfirstboot=true,-Dfirstboot=false"
 PACKAGECONFIG[repart] = "-Drepart=true,-Drepart=false"
diff --git a/poky/meta/recipes-core/udev/eudev/0001-Export-dummies-for.patch b/poky/meta/recipes-core/udev/eudev/0001-Export-dummies-for.patch
new file mode 100644
index 0000000..21fbf0f
--- /dev/null
+++ b/poky/meta/recipes-core/udev/eudev/0001-Export-dummies-for.patch
@@ -0,0 +1,82 @@
+From 45634cc0f09ea354be7efce2ae3d3fa8ffc181ec Mon Sep 17 00:00:00 2001
+From: Boian Bonev <bbonev@ipacct.com>
+Date: Fri, 11 Aug 2023 23:14:02 +0000
+Subject: [PATCH] Export dummies for
+
+ - udev_device_has_current_tag
+ - udev_device_get_current_tags_list_entry
+
+since the current eudev device database does not support the concept of
+current tags
+
+Upstream-Status: Submitted [https://github.com/eudev-project/eudev/pull/253]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ src/libudev/libudev-device.c | 11 +++++++++++
+ src/libudev/libudev.h        |  2 ++
+ src/libudev/libudev.sym      |  6 ++++++
+ 3 files changed, 19 insertions(+)
+
+diff --git a/src/libudev/libudev-device.c b/src/libudev/libudev-device.c
+index ac67ce8..7d7a662 100644
+--- a/src/libudev/libudev-device.c
++++ b/src/libudev/libudev-device.c
+@@ -1819,6 +1819,12 @@ _public_ struct udev_list_entry *udev_device_get_tags_list_entry(struct udev_dev
+         return udev_list_get_entry(&udev_device->tags_list);
+ }
+ 
++_public_ struct udev_list_entry *udev_device_get_current_tags_list_entry(struct udev_device *udev_device)
++{
++        // TODO: eudev database does not support current tags
++        return udev_device_get_tags_list_entry(udev_device);
++}
++
+ /**
+  * udev_device_has_tag:
+  * @udev_device: udev device
+@@ -1842,6 +1848,11 @@ _public_ int udev_device_has_tag(struct udev_device *udev_device, const char *ta
+         return false;
+ }
+ 
++_public_ int udev_device_has_current_tag(struct udev_device *udev_device, const char *tag) {
++        // TODO: eudev database does not support current tags
++        return udev_device_has_tag(udev_device, tag);
++}
++
+ #define ENVP_SIZE                        128
+ #define MONITOR_BUF_SIZE                4096
+ static int update_envp_monitor_buf(struct udev_device *udev_device)
+diff --git a/src/libudev/libudev.h b/src/libudev/libudev.h
+index 8491d2b..0202964 100644
+--- a/src/libudev/libudev.h
++++ b/src/libudev/libudev.h
+@@ -100,6 +100,7 @@ int udev_device_get_is_initialized(struct udev_device *udev_device);
+ struct udev_list_entry *udev_device_get_devlinks_list_entry(struct udev_device *udev_device);
+ struct udev_list_entry *udev_device_get_properties_list_entry(struct udev_device *udev_device);
+ struct udev_list_entry *udev_device_get_tags_list_entry(struct udev_device *udev_device);
++struct udev_list_entry *udev_device_get_current_tags_list_entry(struct udev_device *udev_device);
+ struct udev_list_entry *udev_device_get_sysattr_list_entry(struct udev_device *udev_device);
+ const char *udev_device_get_property_value(struct udev_device *udev_device, const char *key);
+ const char *udev_device_get_driver(struct udev_device *udev_device);
+@@ -110,6 +111,7 @@ unsigned long long int udev_device_get_usec_since_initialized(struct udev_device
+ const char *udev_device_get_sysattr_value(struct udev_device *udev_device, const char *sysattr);
+ int udev_device_set_sysattr_value(struct udev_device *udev_device, const char *sysattr, char *value);
+ int udev_device_has_tag(struct udev_device *udev_device, const char *tag);
++int udev_device_has_current_tag(struct udev_device *udev_device, const char *tag);
+ 
+ /*
+  * udev_monitor
+diff --git a/src/libudev/libudev.sym b/src/libudev/libudev.sym
+index 76726fc..d56c2ae 100644
+--- a/src/libudev/libudev.sym
++++ b/src/libudev/libudev.sym
+@@ -118,3 +118,9 @@ global:
+         udev_queue_flush;
+         udev_queue_get_fd;
+ } LIBUDEV_199;
++
++LIBUDEV_247 {
++global:
++        udev_device_has_current_tag;
++        udev_device_get_current_tags_list_entry;
++} LIBUDEV_215;
diff --git a/poky/meta/recipes-core/udev/eudev/0002-Bump-udev-version-to-251.patch b/poky/meta/recipes-core/udev/eudev/0002-Bump-udev-version-to-251.patch
new file mode 100644
index 0000000..520cc38
--- /dev/null
+++ b/poky/meta/recipes-core/udev/eudev/0002-Bump-udev-version-to-251.patch
@@ -0,0 +1,23 @@
+From 7a66d4fe8aac8c8697c3cecb0c189e22524fbc98 Mon Sep 17 00:00:00 2001
+From: Boian Bonev <bbonev@ipacct.com>
+Date: Fri, 11 Aug 2023 22:08:27 +0000
+Subject: [PATCH] Bump udev version to 251
+
+Upstream-Status: Submitted [https://github.com/eudev-project/eudev/pull/253]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 3e31b0e..069fdfb 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1,6 +1,6 @@
+ AC_PREREQ([2.68])
+ AC_INIT([eudev],[3.2.12],[https://github.com/gentoo/eudev/issues])
+-AC_SUBST(UDEV_VERSION, 243)
++AC_SUBST(UDEV_VERSION, 251)
+ AC_CONFIG_SRCDIR([src/udev/udevd.c])
+ 
+ AC_USE_SYSTEM_EXTENSIONS
diff --git a/poky/meta/recipes-core/udev/eudev_3.2.12.bb b/poky/meta/recipes-core/udev/eudev_3.2.12.bb
index 572ccec..e19c6c0 100644
--- a/poky/meta/recipes-core/udev/eudev_3.2.12.bb
+++ b/poky/meta/recipes-core/udev/eudev_3.2.12.bb
@@ -12,7 +12,9 @@
 SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/${BP}.tar.gz \
            file://init \
            file://local.rules \
-"
+           file://0001-Export-dummies-for.patch \
+           file://0002-Bump-udev-version-to-251.patch \
+           "
 
 SRC_URI[sha256sum] = "ccdd64ec3c381d3c3ed0e99d2e70d1f62988c7763de89ca7bdffafa5eacb9ad8"
 
diff --git a/poky/meta/recipes-core/zlib/zlib_1.2.13.bb b/poky/meta/recipes-core/zlib/zlib_1.3.bb
similarity index 93%
rename from poky/meta/recipes-core/zlib/zlib_1.2.13.bb
rename to poky/meta/recipes-core/zlib/zlib_1.3.bb
index ec977a3..c8fd855 100644
--- a/poky/meta/recipes-core/zlib/zlib_1.2.13.bb
+++ b/poky/meta/recipes-core/zlib/zlib_1.3.bb
@@ -13,7 +13,7 @@
            "
 UPSTREAM_CHECK_URI = "http://zlib.net/"
 
-SRC_URI[sha256sum] = "b3a24de97a8fdbc835b9833169501030b8977031bcb54b3b3ac13740f846ab30"
+SRC_URI[sha256sum] = "ff0ba4c292013dbc27530b3a81e1f9a813cd39de01ca5e0f8bf355702efa593e"
 
 # When a new release is made the previous release is moved to fossils/, so add this
 # to PREMIRRORS so it is also searched automatically.
diff --git a/poky/meta/recipes-devtools/binutils/binutils-cross-testsuite_2.41.bb b/poky/meta/recipes-devtools/binutils/binutils-cross-testsuite_2.41.bb
index 1448078..630815c 100644
--- a/poky/meta/recipes-devtools/binutils/binutils-cross-testsuite_2.41.bb
+++ b/poky/meta/recipes-devtools/binutils/binutils-cross-testsuite_2.41.bb
@@ -47,6 +47,8 @@
         content.append(d.expand('set CC "${TARGET_PREFIX}gcc --sysroot=${STAGING_DIR_TARGET} ${TUNE_CCARGS}"'))
         content.append(d.expand('set CXX "${TARGET_PREFIX}g++ --sysroot=${STAGING_DIR_TARGET} ${TUNE_CCARGS}"'))
         content.append(d.expand('set CFLAGS_FOR_TARGET "--sysroot=${STAGING_DIR_TARGET} ${TUNE_CCARGS}"'))
+        content.append(d.expand('set LD "${TARGET_PREFIX}ld ${TUNE_LDARGS}"'))
+        content.append(d.expand('set LDFLAGS_FOR_TARGET "${TUNE_LDARGS}"'))
 
         if suite == "ld" and d.getVar("TUNE_ARCH") == "mips64":
             # oe patches binutils to have the default mips64 abi as 64bit, but
diff --git a/poky/meta/recipes-devtools/binutils/binutils_2.41.bb b/poky/meta/recipes-devtools/binutils/binutils_2.41.bb
index 4ce1b4b..2cce40f 100644
--- a/poky/meta/recipes-devtools/binutils/binutils_2.41.bb
+++ b/poky/meta/recipes-devtools/binutils/binutils_2.41.bb
@@ -1,7 +1,8 @@
 require binutils.inc
 require binutils-${PV}.inc
 
-DEPENDS += "zlib"
+# perl-native for pod2man for man page generation
+DEPENDS += "zlib perl-native"
 
 EXTRA_OECONF += "--with-sysroot=/ \
                 --enable-install-libbfd \
diff --git a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_6.3.1.bb b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_6.3.3.bb
similarity index 97%
rename from poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_6.3.1.bb
rename to poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_6.3.3.bb
index 0bdf48d..e7a64e8 100644
--- a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_6.3.1.bb
+++ b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_6.3.3.bb
@@ -18,7 +18,7 @@
 SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git;branch=master;protocol=https \
            file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \
            "
-SRCREV = "9d2c8c364a6b8df4b1a47ad384cd75fd4ba53e12"
+SRCREV = "bb0ca35245858f17a6ced97aade1dd8d70f9c9d7"
 S = "${WORKDIR}/git"
 
 PACKAGECONFIG ??= " \
diff --git a/poky/meta/recipes-devtools/cmake/cmake-native_3.26.4.bb b/poky/meta/recipes-devtools/cmake/cmake-native_3.27.4.bb
similarity index 93%
rename from poky/meta/recipes-devtools/cmake/cmake-native_3.26.4.bb
rename to poky/meta/recipes-devtools/cmake/cmake-native_3.27.4.bb
index 2177aa8..546d117 100644
--- a/poky/meta/recipes-devtools/cmake/cmake-native_3.26.4.bb
+++ b/poky/meta/recipes-devtools/cmake/cmake-native_3.27.4.bb
@@ -5,7 +5,6 @@
 
 SRC_URI += "file://OEToolchainConfig.cmake \
             file://environment.d-cmake.sh \
-            file://0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch \
             file://0005-Disable-use-of-ext2fs-ext2_fs.h-by-cmake-s-internal-.patch \
             file://0001-CMakeLists.txt-disable-USE_NGHTTP2.patch \
             "
@@ -17,7 +16,7 @@
     file://Utilities/cmexpat/COPYING;md5=9e2ce3b3c4c0f2670883a23bbd7c37a9 \
     file://Utilities/cmlibrhash/COPYING;md5=a8c2a557a5c53b1c12cddbee98c099af \
     file://Utilities/cmlibuv/LICENSE;md5=ad93ca1fffe931537fcf64f6fcce084d \
-    file://Utilities/cmcurl/COPYING;md5=190c514872597083303371684954f238 \
+    file://Utilities/cmcurl/COPYING;md5=db8448a1e43eb2125f7740fc397db1f6 \
 "
 
 B = "${WORKDIR}/build"
@@ -28,6 +27,7 @@
     -DBUILD_CursesDialog=1 \
     -DCMAKE_USE_SYSTEM_LIBRARIES=1 \
     -DCMAKE_USE_SYSTEM_LIBRARY_JSONCPP=0 \
+    -DCMAKE_USE_SYSTEM_LIBRARY_CPPDAP=0 \
     -DCMAKE_USE_SYSTEM_LIBRARY_LIBARCHIVE=0 \
     -DCMAKE_USE_SYSTEM_LIBRARY_LIBUV=0 \
     -DCMAKE_USE_SYSTEM_LIBRARY_LIBRHASH=0 \
diff --git a/poky/meta/recipes-devtools/cmake/cmake.inc b/poky/meta/recipes-devtools/cmake/cmake.inc
index f57a77c..430f13f 100644
--- a/poky/meta/recipes-devtools/cmake/cmake.inc
+++ b/poky/meta/recipes-devtools/cmake/cmake.inc
@@ -19,7 +19,7 @@
 SRC_URI = "https://cmake.org/files/v${CMAKE_MAJOR_VERSION}/cmake-${PV}.tar.gz \
 "
 
-SRC_URI[sha256sum] = "313b6880c291bd4fe31c0aa51d6e62659282a521e695f30d5cc0d25abbd5c208"
+SRC_URI[sha256sum] = "0a905ca8635ca81aa152e123bdde7e54cbe764fdd9a70d62af44cad8b92967af"
 
 UPSTREAM_CHECK_REGEX = "cmake-(?P<pver>\d+(\.\d+)+)\.tar"
 
diff --git a/poky/meta/recipes-devtools/cmake/cmake/0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch b/poky/meta/recipes-devtools/cmake/cmake/0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch
deleted file mode 100644
index d13c367..0000000
--- a/poky/meta/recipes-devtools/cmake/cmake/0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 5acfcb2aba1a5641d390558fdf288373f5e39cb5 Mon Sep 17 00:00:00 2001
-From: Cody P Schafer <dev@codyps.com>
-Date: Thu, 27 Apr 2017 11:35:05 -0400
-Subject: [PATCH] CMakeDetermineSystem: use oe environment vars to load default
- toolchain file in sdk
-
-Passing the toolchain by:
-
- - shell aliases does not work if cmake is called by a script
- - unconditionally by a wrapper script causes cmake to believe it is
-   configuring things when it is not (for example, `cmake --build` breaks).
-
-The OE_CMAKE_TOOLCHAIN_FILE variable is only used as a default if no
-toolchain is explicitly specified.
-
-Setting the CMAKE_TOOLCHAIN_FILE cmake variable is marked as cached
-because '-D' options are cache entries themselves.
-
-Upstream-Status: Inappropriate [oe-core specific]
-Signed-off-by: Cody P Schafer <dev@codyps.com>
-Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
-
----
- Modules/CMakeDetermineSystem.cmake | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/Modules/CMakeDetermineSystem.cmake b/Modules/CMakeDetermineSystem.cmake
-index 2c2c2ac3..fae4f97f 100644
---- a/Modules/CMakeDetermineSystem.cmake
-+++ b/Modules/CMakeDetermineSystem.cmake
-@@ -112,6 +112,13 @@ else()
-   endif()
- endif()
- 
-+if(NOT DEFINED CMAKE_TOOLCHAIN_FILE)
-+  if(DEFINED ENV{OE_CMAKE_TOOLCHAIN_FILE})
-+    set(CMAKE_TOOLCHAIN_FILE "$ENV{OE_CMAKE_TOOLCHAIN_FILE}" CACHE FILEPATH "toolchain file")
-+    message(STATUS "Toolchain file defaulted to '${CMAKE_TOOLCHAIN_FILE}'")
-+  endif()
-+endif()
-+
- # if a toolchain file is used, the user wants to cross compile.
- # in this case read the toolchain file and keep the CMAKE_HOST_SYSTEM_*
- # variables around so they can be used in CMakeLists.txt.
diff --git a/poky/meta/recipes-devtools/cmake/cmake/environment.d-cmake.sh b/poky/meta/recipes-devtools/cmake/cmake/environment.d-cmake.sh
index 7bdb19f..c94b6bb 100644
--- a/poky/meta/recipes-devtools/cmake/cmake/environment.d-cmake.sh
+++ b/poky/meta/recipes-devtools/cmake/cmake/environment.d-cmake.sh
@@ -1,2 +1,2 @@
-export OE_CMAKE_TOOLCHAIN_FILE="$OECORE_NATIVE_SYSROOT/usr/share/cmake/OEToolchainConfig.cmake"
+export CMAKE_TOOLCHAIN_FILE="$OECORE_NATIVE_SYSROOT/usr/share/cmake/OEToolchainConfig.cmake"
 export OE_CMAKE_FIND_LIBRARY_CUSTOM_LIB_SUFFIX="`echo $OECORE_BASELIB | sed -e s/lib//`"
diff --git a/poky/meta/recipes-devtools/cmake/cmake_3.26.4.bb b/poky/meta/recipes-devtools/cmake/cmake_3.27.4.bb
similarity index 96%
rename from poky/meta/recipes-devtools/cmake/cmake_3.26.4.bb
rename to poky/meta/recipes-devtools/cmake/cmake_3.27.4.bb
index bb7ed83..6a9a326 100644
--- a/poky/meta/recipes-devtools/cmake/cmake_3.26.4.bb
+++ b/poky/meta/recipes-devtools/cmake/cmake_3.27.4.bb
@@ -9,7 +9,6 @@
     file://SDKToolchainConfig.cmake.template \
     file://cmake-setup.py \
     file://environment.d-cmake.sh \
-    file://0001-CMakeDetermineSystem-use-oe-environment-vars-to-load.patch \
 "
 
 LICENSE:append = " & BSD-1-Clause & MIT"
@@ -38,11 +37,13 @@
     -DCMAKE_DOC_DIR=${docdir_stripped}/cmake-${CMAKE_MAJOR_VERSION} \
     -DCMAKE_USE_SYSTEM_LIBRARIES=1 \
     -DCMAKE_USE_SYSTEM_LIBRARY_JSONCPP=0 \
+    -DCMAKE_USE_SYSTEM_LIBRARY_CPPDAP=0 \
     -DCMAKE_USE_SYSTEM_LIBRARY_LIBUV=0 \
     -DCMAKE_USE_SYSTEM_LIBRARY_LIBRHASH=0 \
     -DKWSYS_CHAR_IS_SIGNED=1 \
     -DBUILD_CursesDialog=0 \
     -DKWSYS_LFS_WORKS=1 \
+    -DCMake_ENABLE_DEBUGGER=0 \
 "
 
 do_install:append:class-nativesdk() {
diff --git a/poky/meta/recipes-devtools/dpkg/dpkg/0002-Adapt-to-linux-wrs-kernel-version-which-has-characte.patch b/poky/meta/recipes-devtools/dpkg/dpkg/0002-Adapt-to-linux-wrs-kernel-version-which-has-characte.patch
index 9fe0ca7..ef5f7c3 100644
--- a/poky/meta/recipes-devtools/dpkg/dpkg/0002-Adapt-to-linux-wrs-kernel-version-which-has-characte.patch
+++ b/poky/meta/recipes-devtools/dpkg/dpkg/0002-Adapt-to-linux-wrs-kernel-version-which-has-characte.patch
@@ -13,14 +13,14 @@
  1 file changed, 2 insertions(+), 4 deletions(-)
 
 diff --git a/lib/dpkg/parsehelp.c b/lib/dpkg/parsehelp.c
-index 453077fd9..f42ea2882 100644
+index 63a36f55c..81901bd5a 100644
 --- a/lib/dpkg/parsehelp.c
 +++ b/lib/dpkg/parsehelp.c
-@@ -243,14 +243,12 @@ parseversion(struct dpkg_version *rversion, const char *string,
+@@ -275,14 +275,12 @@ parseversion(struct dpkg_version *rversion, const char *string,
    ptr = rversion->version;
    if (!*ptr)
      return dpkg_put_error(err, _("version number is empty"));
--  if (*ptr && !c_isdigit(*ptr++))
+-  if (!c_isdigit(*ptr++))
 -    return dpkg_put_warn(err, _("version number does not start with digit"));
    for (; *ptr; ptr++) {
 -    if (!c_isdigit(*ptr) && !c_isalpha(*ptr) && strchr(".-+~:", *ptr) == NULL)
@@ -32,7 +32,6 @@
 +    if (!c_isdigit(*ptr) && !c_isalpha(*ptr) && strchr(".-+~_", *ptr) == NULL)
        return dpkg_put_warn(err, _("invalid character in revision number"));
    }
- 
 
 -- 
 2.11.0
diff --git a/poky/meta/recipes-devtools/dpkg/dpkg_1.21.22.bb b/poky/meta/recipes-devtools/dpkg/dpkg_1.22.0.bb
similarity index 92%
rename from poky/meta/recipes-devtools/dpkg/dpkg_1.21.22.bb
rename to poky/meta/recipes-devtools/dpkg/dpkg_1.22.0.bb
index 04bcc93..7eaae9f 100644
--- a/poky/meta/recipes-devtools/dpkg/dpkg_1.21.22.bb
+++ b/poky/meta/recipes-devtools/dpkg/dpkg_1.22.0.bb
@@ -1,7 +1,7 @@
 require dpkg.inc
 LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
 
-SRC_URI = "git://salsa.debian.org/dpkg-team/dpkg.git;protocol=https;branch=1.21.x \
+SRC_URI = "git://salsa.debian.org/dpkg-team/dpkg.git;protocol=https;branch=main \
            file://noman.patch \
            file://remove-tar-no-timestamp.patch \
            file://arch_pm.patch \
@@ -18,6 +18,6 @@
 
 SRC_URI:append:class-native = " file://0001-build.c-ignore-return-of-1-from-tar-cf.patch"
 
-SRCREV = "48482e4f16467e05a08aa3b3b8048e08f0024609"
+SRCREV = "744487c98a622b9b38c22c6ca330315af4a30a11"
 
 S = "${WORKDIR}/git"
diff --git a/poky/meta/recipes-devtools/file/file_5.44.bb b/poky/meta/recipes-devtools/file/file_5.45.bb
similarity index 94%
rename from poky/meta/recipes-devtools/file/file_5.44.bb
rename to poky/meta/recipes-devtools/file/file_5.45.bb
index 3ce2664..8477668 100644
--- a/poky/meta/recipes-devtools/file/file_5.44.bb
+++ b/poky/meta/recipes-devtools/file/file_5.45.bb
@@ -11,9 +11,11 @@
 DEPENDS = "file-replacement-native"
 DEPENDS:class-native = "bzip2-replacement-native"
 
-SRC_URI = "git://github.com/file/file.git;branch=master;protocol=https"
+SRC_URI = "git://github.com/file/file.git;branch=master;protocol=https \
+           file://print_c.patch \
+          "
 
-SRCREV = "b92eed41b1bc0739c5c5d70c444e0c574429321b"
+SRCREV = "4cbd5c8f0851201d203755b76cb66ba991ffd8be"
 S = "${WORKDIR}/git"
 
 inherit autotools update-alternatives
diff --git a/poky/meta/recipes-devtools/file/files/print_c.patch b/poky/meta/recipes-devtools/file/files/print_c.patch
new file mode 100644
index 0000000..760813f
--- /dev/null
+++ b/poky/meta/recipes-devtools/file/files/print_c.patch
@@ -0,0 +1,27 @@
+From e329257b8e22362b62e6c930447ef6feadd63f32 Mon Sep 17 00:00:00 2001
+From: Joe Slater <joe.slater@windriver.com>
+Date: Mon, 7 Aug 2023 22:37:19 +0000
+Subject: [PATCH] print.c: initialize timezone data for localtime_r()
+
+The man page for localtime() points out that while it acts
+like tzset() has been called, localtime_r() might not.  We
+have a local version of localtime_r() that avoids this, but
+we do not compile it.
+
+Upstream-Status: Submitted [file@astron.com]
+
+Signed-off-by: Joe Slater <joe.slater@windriver.com>
+---
+ src/print.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- git.orig/src/print.c
++++ git/src/print.c
+@@ -289,6 +289,7 @@ file_fmtdatetime(char *buf, size_t bsize
+ 		goto out;
+ 
+ 	if (flags & FILE_T_LOCAL) {
++		tzset();
+ 		tm = localtime_r(&t, &tmz);
+ 	} else {
+ 		tm = gmtime_r(&t, &tmz);
diff --git a/poky/meta/recipes-devtools/gcc/gcc-13.2.inc b/poky/meta/recipes-devtools/gcc/gcc-13.2.inc
index 7329562..7f97ecc 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-13.2.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-13.2.inc
@@ -64,6 +64,7 @@
            file://0022-libatomic-Do-not-enforce-march-on-aarch64.patch \
            file://0023-Fix-install-path-of-linux64.h.patch \
            file://0024-Avoid-hardcoded-build-paths-into-ppc-libgcc.patch \
+           file://0025-gcc-testsuite-mips.patch \
 "
 SRC_URI[sha256sum] = "e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da"
 
diff --git a/poky/meta/recipes-devtools/gcc/gcc-runtime.inc b/poky/meta/recipes-devtools/gcc/gcc-runtime.inc
index bccc8a5..64b6168 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-runtime.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-runtime.inc
@@ -132,7 +132,7 @@
 		ln -s ../${TARGET_SYS}/ext ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR_MULTILIB_ORIGINAL}-${TARGET_OS}/ext
 	fi
 
-	if [ "${TARGET_ARCH}" == "x86_64" -a "${MULTILIB_VARIANTS}" != "" ];then
+	if [ "${TARGET_ARCH}" = "x86_64" -a "${MULTILIB_VARIANTS}" != "" ];then
 		ln -sf ../${X86ARCH32}${TARGET_VENDOR}-${TARGET_OS} ${D}${includedir}/c++/${BINV}/${TARGET_ARCH}${TARGET_VENDOR}-${TARGET_OS}/32
 	fi
 
diff --git a/poky/meta/recipes-devtools/gcc/gcc-sanitizers.inc b/poky/meta/recipes-devtools/gcc/gcc-sanitizers.inc
index 9016f7f..524ebd4 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-sanitizers.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-sanitizers.inc
@@ -78,8 +78,8 @@
 do_package_write_deb[depends] += "virtual/${MLPREFIX}${TARGET_PREFIX}compilerlibs:do_packagedata"
 do_package_write_rpm[depends] += "virtual/${MLPREFIX}${TARGET_PREFIX}compilerlibs:do_packagedata"
 
-# Only x86, powerpc, sparc, s390, arm, and aarch64 are supported
-COMPATIBLE_HOST = '(x86_64|i.86|powerpc|sparc|s390|arm|aarch64).*-linux'
+# Only x86, powerpc, sparc, s390, arm, aarch64 and loongarch64 are supported
+COMPATIBLE_HOST = '(x86_64|i.86|powerpc|sparc|s390|arm|aarch64|loongarch64).*-linux'
 # musl is currently broken entirely
 COMPATIBLE_HOST:libc-musl = 'null'
 
diff --git a/poky/meta/recipes-devtools/gcc/gcc-testsuite.inc b/poky/meta/recipes-devtools/gcc/gcc-testsuite.inc
index 64f60c7..f16d471 100644
--- a/poky/meta/recipes-devtools/gcc/gcc-testsuite.inc
+++ b/poky/meta/recipes-devtools/gcc/gcc-testsuite.inc
@@ -51,10 +51,14 @@
         # enable all valid instructions, since the test suite itself does not
         # limit itself to the target cpu options.
         #   - valid for x86*, powerpc, arm, arm64
-        if qemu_binary.lstrip("qemu-") in ["x86_64", "i386", "arm", "aarch64"]:
+        if qemu_binary.endswith(("x86_64", "i386", "arm", "aarch64")):
             args += ["-cpu", "max"]
-        elif qemu_binary.lstrip("qemu-") in ["ppc"]:
-            args += d.getVar("QEMU_EXTRAOPTIONS_%s" % d.getVar('PACKAGE_ARCH')).split()
+        elif qemu_binary.endswith(("ppc", "mips", "mips64")):
+            extra = d.getVar("QEMU_EXTRAOPTIONS_%s" % d.getVar('PACKAGE_ARCH'))
+            if extra:
+                args += extra.split()
+        # For mips64 we could set a maximal CPU (e.g. Loongson-3A4000) however they either have MSA
+        # or Loongson-MMI vector extensions, not both and qemu lacks complete support for MMI
         sysroot = d.getVar("RECIPE_SYSROOT")
         args += ["-L", sysroot]
         # lib paths are static here instead of using $libdir since this is used by a -cross recipe
diff --git a/poky/meta/recipes-devtools/gcc/gcc/0003-64-bit-multilib-hack.patch b/poky/meta/recipes-devtools/gcc/gcc/0003-64-bit-multilib-hack.patch
index 3b3eec2..69e7fa0 100644
--- a/poky/meta/recipes-devtools/gcc/gcc/0003-64-bit-multilib-hack.patch
+++ b/poky/meta/recipes-devtools/gcc/gcc/0003-64-bit-multilib-hack.patch
@@ -28,6 +28,7 @@
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
 Signed-off-by: Elvis Dowson <elvis.dowson@gmail.com>
 Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
+Signed-off-by: Zang Ruochen <zangruochen@loongson.cn>
 ---
  gcc/config/aarch64/t-aarch64-linux |  8 ++++----
  gcc/config/arc/t-multilib-linux    |  4 ++--
@@ -35,7 +36,8 @@
  gcc/config/mips/t-linux64          | 28 ++--------------------------
  gcc/config/riscv/t-linux           |  4 ++--
  gcc/config/rs6000/t-linux64        |  5 ++---
- 6 files changed, 14 insertions(+), 41 deletions(-)
+ gcc/config/loongarch/t-linux       | 34 ++++++++++++++++++----------------
+ 7 files changed, 32 insertions(+), 57 deletions(-)
 
 diff --git a/gcc/config/aarch64/t-aarch64-linux b/gcc/config/aarch64/t-aarch64-linux
 index 57bf4100fcd..aaef5da8059 100644
@@ -147,3 +149,53 @@
  
  rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.cc
  	$(COMPILE) $<
+diff --git a/gcc/config/loongarch/t-linux b/gcc/config/loongarch/t-linux
+index e40da1792..0c7ec9f8a 100644
+--- a/gcc/config/loongarch/t-linux
++++ b/gcc/config/loongarch/t-linux
+@@ -18,7 +18,9 @@
+
+ # Multilib
+ MULTILIB_OPTIONS = mabi=lp64d/mabi=lp64f/mabi=lp64s
+-MULTILIB_DIRNAMES = base/lp64d base/lp64f base/lp64s
++#MULTILIB_DIRNAMES = base/lp64d base/lp64f base/lp64s
++MULTILIB_DIRNAMES = . . .
++MULTILIB_OSDIRNAMES = ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir))
+
+ # The GCC driver always gets all abi-related options on the command line.
+ # (see loongarch-driver.c:driver_get_normalized_m_opts)
+@@ -36,18 +38,18 @@ else
+ endif
+
+ # Don't define MULTILIB_OSDIRNAMES if multilib is disabled.
+-ifeq ($(filter LA_DISABLE_MULTILIB,$(tm_defines)),)
+-
+-    MULTILIB_OSDIRNAMES = \
+-      mabi.lp64d=../lib64$\
+-      $(call if_multiarch,:loongarch64-linux-gnu)
+-
+-    MULTILIB_OSDIRNAMES += \
+-      mabi.lp64f=../lib64/f32$\
+-      $(call if_multiarch,:loongarch64-linux-gnuf32)
+-
+-    MULTILIB_OSDIRNAMES += \
+-      mabi.lp64s=../lib64/sf$\
+-      $(call if_multiarch,:loongarch64-linux-gnusf)
+-
+-endif
++#ifeq ($(filter LA_DISABLE_MULTILIB,$(tm_defines)),)
++#
++#    MULTILIB_OSDIRNAMES = \
++#      mabi.lp64d=../lib64$\
++#      $(call if_multiarch,:loongarch64-linux-gnu)
++#
++#    MULTILIB_OSDIRNAMES += \
++#      mabi.lp64f=../lib64/f32$\
++#      $(call if_multiarch,:loongarch64-linux-gnuf32)
++#
++#    MULTILIB_OSDIRNAMES += \
++#      mabi.lp64s=../lib64/sf$\
++#      $(call if_multiarch,:loongarch64-linux-gnusf)
++#
++#endif
+
diff --git a/poky/meta/recipes-devtools/gcc/gcc/0025-gcc-testsuite-mips.patch b/poky/meta/recipes-devtools/gcc/gcc/0025-gcc-testsuite-mips.patch
new file mode 100644
index 0000000..49eaece
--- /dev/null
+++ b/poky/meta/recipes-devtools/gcc/gcc/0025-gcc-testsuite-mips.patch
@@ -0,0 +1,225 @@
+gcc testsuite tweaks for mips/OE
+
+Disable loongson-mmi runtine, qemu doesn't appear to fully support them even if some
+of the instruction decoding is there.
+
+Also disable MSA mips runtime extensions. For some reason qemu appears to accept the test
+code when it shouldn't. Our selected MIPS cpu for QEMU doesn't support them.
+
+MIPS is unusual in the gcc testsuite as it uses EFFECTIVE_TARGETS and loops
+multiple times through the vector testsuite. In the case of the two above, we can
+compile/link them but not run them. Even with the runtime disabled, if the code
+marks it as a runtime test, it will elevate itself to that. Setting the default
+target to compile therefore isn't enough.
+
+Therefore add code to downgrade runtime tests to link tests if the hardware
+support isn't there to run them. This avoids thousands of test failures. To do
+this we have to hook downgrade code into the main test runner.
+
+Enable that downgrading for other cases where hardware to run vector extensions is
+unavailable to remove test failures on other architectures too.
+
+Also, for gcc.target tests, add checks on wheter loongson or msa code can
+be run before trying that, allowing downgrading of tests there to work too.
+
+Upstream-Status: Pending
+[Parts of the patch may be able to be split off and acceptable to upstream with
+discussion. Need to investigate why qemu-user passes the 'bad' instructions']
+
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+
+Index: gcc-13.2.0/gcc/testsuite/lib/target-supports.exp
+===================================================================
+--- gcc-13.2.0.orig/gcc/testsuite/lib/target-supports.exp
++++ gcc-13.2.0/gcc/testsuite/lib/target-supports.exp
+@@ -2155,14 +2155,7 @@ proc check_mips_loongson_mmi_hw_availabl
+ 	if { !([istarget mips*-*-*]) } {
+ 	    expr 0
+ 	} else {
+-	    check_runtime_nocache mips_loongson_mmi_hw_available {
+-	      #include <loongson-mmiintrin.h>
+-	      int main()
+-	      {
+-		asm volatile ("paddw $f2,$f4,$f6");
+-		return 0;
+-	      }
+-	    } "-mloongson-mmi"
++	    expr 0
+ 	}
+     }]
+ }
+@@ -2176,29 +2169,7 @@ proc check_mips_msa_hw_available { } {
+     if { !([istarget mips*-*-*]) } {
+       expr 0
+     } else {
+-      check_runtime_nocache mips_msa_hw_available {
+-	#if !defined(__mips_msa)
+-	#error "MSA NOT AVAIL"
+-	#else
+-	#if !(((__mips == 64) || (__mips == 32)) && (__mips_isa_rev >= 2))
+-	#error "MSA NOT AVAIL FOR ISA REV < 2"
+-	#endif
+-	#if !defined(__mips_hard_float)
+-	#error "MSA HARD_FLOAT REQUIRED"
+-	#endif
+-	#if __mips_fpr != 64
+-	#error "MSA 64-bit FPR REQUIRED"
+-	#endif
+-	#include <msa.h>
+-
+-	int main()
+-	{
+-	  v8i16 v = __builtin_msa_ldi_h (0);
+-	  v[0] = 0;
+-	  return v[0];
+-	}
+-	#endif
+-      } "-mmsa"
++      expr 0
+     }
+   }]
+ }
+@@ -9187,6 +9158,7 @@ proc is-effective-target-keyword { arg }
+ 
+ proc et-dg-runtest { runtest testcases flags default-extra-flags } {
+     global dg-do-what-default
++    global do-what-limit
+     global EFFECTIVE_TARGETS
+     global et_index
+ 
+@@ -9194,6 +9166,7 @@ proc et-dg-runtest { runtest testcases f
+ 	foreach target $EFFECTIVE_TARGETS {
+ 	    set target_flags $flags
+ 	    set dg-do-what-default compile
++            set do-what-limit link
+ 	    set et_index [lsearch -exact $EFFECTIVE_TARGETS $target]
+ 	    if { [info procs add_options_for_${target}] != [list] } {
+ 		set target_flags [add_options_for_${target} "$flags"]
+@@ -9201,8 +9174,10 @@ proc et-dg-runtest { runtest testcases f
+ 	    if { [info procs check_effective_target_${target}_runtime]
+ 		 != [list] && [check_effective_target_${target}_runtime] } {
+ 		set dg-do-what-default run
++		set do-what-limit run
+ 	    }
+ 	    $runtest $testcases $target_flags ${default-extra-flags}
++	    unset do-what-limit
+ 	}
+     } else {
+ 	set et_index 0
+@@ -10789,6 +10764,7 @@ proc check_effective_target_sigsetjmp {}
+ proc check_vect_support_and_set_flags { } {
+     global DEFAULT_VECTCFLAGS
+     global dg-do-what-default
++    global do-what-limit
+     global EFFECTIVE_TARGETS
+ 
+     if  [istarget powerpc-*paired*]  {
+@@ -10797,6 +10773,7 @@ proc check_vect_support_and_set_flags {
+             set dg-do-what-default run
+         } else {
+             set dg-do-what-default compile
++            set do-what-limit link
+         }
+     } elseif [istarget powerpc*-*-*] {
+         # Skip targets not supporting -maltivec.
+@@ -10821,6 +10798,7 @@ proc check_vect_support_and_set_flags {
+                 lappend DEFAULT_VECTCFLAGS "-mcpu=970"
+             }
+             set dg-do-what-default compile
++            set do-what-limit link
+         }
+     } elseif { [istarget i?86-*-*] || [istarget x86_64-*-*] } {
+         lappend DEFAULT_VECTCFLAGS "-msse2"
+@@ -10828,6 +10806,7 @@ proc check_vect_support_and_set_flags {
+             set dg-do-what-default run
+         } else {
+             set dg-do-what-default compile
++            set do-what-limit link
+         }
+     } elseif { [istarget mips*-*-*]
+ 	       && [check_effective_target_nomips16] } {
+@@ -10847,6 +10826,7 @@ proc check_vect_support_and_set_flags {
+             set dg-do-what-default run
+         } else {
+             set dg-do-what-default compile
++            set do-what-limit link
+         }
+     } elseif [istarget alpha*-*-*] {
+         # Alpha's vectorization capabilities are extremely limited.
+@@ -10860,6 +10840,7 @@ proc check_vect_support_and_set_flags {
+             set dg-do-what-default run
+         } else {
+             set dg-do-what-default compile
++            set do-what-limit link
+         }
+     } elseif [istarget ia64-*-*] {
+         set dg-do-what-default run
+@@ -10873,6 +10854,7 @@ proc check_vect_support_and_set_flags {
+             set dg-do-what-default run
+         } else {
+             set dg-do-what-default compile
++            set do-what-limit link
+         }
+     } elseif [istarget aarch64*-*-*] {
+         set dg-do-what-default run
+@@ -10897,6 +10879,7 @@ proc check_vect_support_and_set_flags {
+         } else {
+ 	    lappend DEFAULT_VECTCFLAGS "-march=z14" "-mzarch"
+             set dg-do-what-default compile
++            set do-what-limit link
+         }
+     } elseif [istarget amdgcn-*-*] {
+         set dg-do-what-default run
+Index: gcc-13.2.0/gcc/testsuite/gcc.target/mips/mips.exp
+===================================================================
+--- gcc-13.2.0.orig/gcc/testsuite/gcc.target/mips/mips.exp
++++ gcc-13.2.0/gcc/testsuite/gcc.target/mips/mips.exp
+@@ -709,7 +709,23 @@ proc mips_first_unsupported_option { ups
+     global mips_option_tests
+     upvar $upstatus status
+ 
++    if { [mips_have_test_option_p status "-mmsa"] } {
++        verbose -log "Found -mmsa"
++	if { ![check_mips_msa_hw_available] } {
++	    verbose -log "No MSA avail"
++	    return "-mmsa"
++	}
++    }
++    if { [mips_have_test_option_p status "-mloongson-mmi"] } {
++        verbose -log "Found -mloonson-mmi"
++        if { ![check_mips_loongson_mmi_hw_available] } {
++	    verbose -log "No MMI avail"
++   	    return "-mloonson-mmi"
++	}
++    }
++
+     foreach { option code } [array get mips_option_tests] {
++
+ 	if { [mips_have_test_option_p status $option] } {
+ 	    regsub -all "\n" $code "\\n\\\n" asm
+ 	    # Use check_runtime from target-supports.exp, which caches
+Index: gcc-13.2.0/gcc/testsuite/lib/gcc-dg.exp
+===================================================================
+--- gcc-13.2.0.orig/gcc/testsuite/lib/gcc-dg.exp
++++ gcc-13.2.0/gcc/testsuite/lib/gcc-dg.exp
+@@ -240,9 +240,20 @@ proc schedule-cleanups { opts } {
+ 
+ proc gcc-dg-test-1 { target_compile prog do_what extra_tool_flags } {
+     # Set up the compiler flags, based on what we're going to do.
++    global do-what-limit
+ 
+     set options [list]
+ 
++    if [info exists do-what-limit] then {
++        # Demote run tests to $do-what-limit if set
++	switch $do_what {
++	    run {
++    	        set do_what $do-what-limit
++  		set dg-do-what $do-what-limit
++	    }
++        }
++    }
++
+     switch $do_what {
+ 	"preprocess" {
+ 	    set compile_type "preprocess"
diff --git a/poky/meta/recipes-devtools/git/git_2.41.0.bb b/poky/meta/recipes-devtools/git/git_2.42.0.bb
similarity index 98%
rename from poky/meta/recipes-devtools/git/git_2.41.0.bb
rename to poky/meta/recipes-devtools/git/git_2.42.0.bb
index b84be24..c417b11 100644
--- a/poky/meta/recipes-devtools/git/git_2.41.0.bb
+++ b/poky/meta/recipes-devtools/git/git_2.42.0.bb
@@ -160,4 +160,4 @@
                  "
 EXTRA_OEMAKE += "NO_GETTEXT=1"
 
-SRC_URI[tarball.sha256sum] = "c4a6a3dd1827895a80cbd824e14d94811796ae54037549e0da93f7b84cb45b9f"
+SRC_URI[tarball.sha256sum] = "34aedd54210d7216a55d642bbb4cfb22695b7610719a106bf0ddef4c82a8beed"
diff --git a/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb b/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb
index 0807047..2a0e6f8 100644
--- a/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb
+++ b/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb
@@ -10,7 +10,7 @@
 INHIBIT_DEFAULT_DEPS = "1"
 
 SRCREV = "63acb96f92473ceb5e21d873d7c0aee266b3d6d3"
-PV = "20230216+git${SRCPV}"
+PV = "20230216+git"
 
 SRC_URI = "git://git.savannah.gnu.org/git/config.git;protocol=https;branch=master \
            file://gnu-configize.in"
diff --git a/poky/meta/recipes-devtools/libedit/libedit_20221030-3.1.bb b/poky/meta/recipes-devtools/libedit/libedit_20230828-3.1.bb
similarity index 87%
rename from poky/meta/recipes-devtools/libedit/libedit_20221030-3.1.bb
rename to poky/meta/recipes-devtools/libedit/libedit_20230828-3.1.bb
index 9195258..1684b57 100644
--- a/poky/meta/recipes-devtools/libedit/libedit_20221030-3.1.bb
+++ b/poky/meta/recipes-devtools/libedit/libedit_20230828-3.1.bb
@@ -13,7 +13,7 @@
 SRC_URI = "http://www.thrysoee.dk/editline/${BP}.tar.gz \
            file://stdc-predef.patch \
           "
-SRC_URI[sha256sum] = "f0925a5adf4b1bf116ee19766b7daa766917aec198747943b1c4edf67a4be2bb"
+SRC_URI[sha256sum] = "4ee8182b6e569290e7d1f44f0f78dac8716b35f656b76528f699c69c98814dad"
 
 BBCLASSEXTEND = "native nativesdk"
 
diff --git a/poky/meta/recipes-devtools/librepo/librepo/0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch b/poky/meta/recipes-devtools/librepo/librepo/0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch
index d61d8fb..a0a4d49 100644
--- a/poky/meta/recipes-devtools/librepo/librepo/0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch
+++ b/poky/meta/recipes-devtools/librepo/librepo/0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch
@@ -12,16 +12,19 @@
  1 file changed, 2 insertions(+), 1 deletion(-)
 
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index a45d5c4..40249e6 100644
+index cd975a8..713cc87 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -32,7 +32,8 @@ PKG_CHECK_MODULES(GLIB2 glib-2.0 REQUIRED)
- PKG_SEARCH_MODULE(LIBCRYPTO REQUIRED libcrypto openssl)
- PKG_CHECK_MODULES(LIBXML2 libxml-2.0 REQUIRED)
+@@ -35,7 +35,8 @@ PKG_CHECK_MODULES(LIBXML2 libxml-2.0 REQUIRED)
  FIND_PACKAGE(CURL 7.52.0 REQUIRED)
--FIND_PACKAGE(Gpgme REQUIRED)
-+PKG_CHECK_MODULES(GPGME gpgme REQUIRED)
-+set(GPGME_VANILLA_LIBRARIES ${GPGME_LIBRARIES})
  
- 
- IF (WITH_ZCHUNK)
+ IF (USE_GPGME)
+-    FIND_PACKAGE(Gpgme REQUIRED)
++    PKG_CHECK_MODULES(GPGME gpgme REQUIRED)
++    set(GPGME_VANILLA_LIBRARIES ${GPGME_LIBRARIES})
+ ELSE (USE_GPGME)
+     PKG_CHECK_MODULES(RPM REQUIRED rpm>=4.18.0)
+ ENDIF (USE_GPGME)
+-- 
+2.34.1
+
diff --git a/poky/meta/recipes-devtools/librepo/librepo_1.15.1.bb b/poky/meta/recipes-devtools/librepo/librepo_1.16.0.bb
similarity index 94%
rename from poky/meta/recipes-devtools/librepo/librepo_1.15.1.bb
rename to poky/meta/recipes-devtools/librepo/librepo_1.16.0.bb
index 2c8d6fc..4710a6b 100644
--- a/poky/meta/recipes-devtools/librepo/librepo_1.15.1.bb
+++ b/poky/meta/recipes-devtools/librepo/librepo_1.16.0.bb
@@ -10,7 +10,7 @@
            file://0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch \
            "
 
-SRCREV = "5f4de4a4e85845d4184fbd30c03ff8a8ec7df4af"
+SRCREV = "7c9af219abd49f8961542b7622fc82cfdaa572e3"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-devtools/meson/meson_1.1.1.bb b/poky/meta/recipes-devtools/meson/meson_1.1.1.bb
index 500e137..dd97f93 100644
--- a/poky/meta/recipes-devtools/meson/meson_1.1.1.bb
+++ b/poky/meta/recipes-devtools/meson/meson_1.1.1.bb
@@ -30,7 +30,7 @@
 	# Upstream is discussing ways to solve the issue properly, until then let's
 	# just not install the problematic files.
 	# More info: http://benno.id.au/blog/2013/01/15/python-determinism
-	rm ${D}${libdir}/python*/site-packages/mesonbuild/dependencies/__pycache__/mpi.cpython*
+	rm -f ${D}${libdir}/python*/site-packages/mesonbuild/dependencies/__pycache__/mpi.cpython*
 }
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-devtools/mmc/mmc-utils_git.bb b/poky/meta/recipes-devtools/mmc/mmc-utils_git.bb
index 373ada2..879c179 100644
--- a/poky/meta/recipes-devtools/mmc/mmc-utils_git.bb
+++ b/poky/meta/recipes-devtools/mmc/mmc-utils_git.bb
@@ -7,7 +7,7 @@
 SRCBRANCH ?= "master"
 SRCREV = "958227890690290ee766aaad1b92f3413f67048c"
 
-PV = "0.1+git${SRCPV}"
+PV = "0.1+git"
 
 SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc-utils.git;branch=${SRCBRANCH};protocol=https"
 UPSTREAM_CHECK_COMMITS = "1"
diff --git a/poky/meta/recipes-devtools/perl-cross/files/0001-Makefile-check-the-file-if-patched-or-not.patch b/poky/meta/recipes-devtools/perl-cross/files/0001-Makefile-check-the-file-if-patched-or-not.patch
index 8c8f3b7..4e9153e 100644
--- a/poky/meta/recipes-devtools/perl-cross/files/0001-Makefile-check-the-file-if-patched-or-not.patch
+++ b/poky/meta/recipes-devtools/perl-cross/files/0001-Makefile-check-the-file-if-patched-or-not.patch
@@ -1,4 +1,4 @@
-From 24a3e0c48f9ebe473b5f1078663e275c27d0537f Mon Sep 17 00:00:00 2001
+From 3eb33dce6e3c93e1b3efcc9649f871100adada30 Mon Sep 17 00:00:00 2001
 From: Mingli Yu <mingli.yu@windriver.com>
 Date: Fri, 2 Jul 2021 09:08:21 +0000
 Subject: [PATCH] Makefile: check the file if patched or not
@@ -9,23 +9,21 @@
 Upstream-Status: Inappropriate (OE-specific)
 
 Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
+
 ---
  Makefile | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/Makefile b/Makefile
-index f4a26f5..7bc748e 100644
+index c6d6042..d137976 100644
 --- a/Makefile
 +++ b/Makefile
-@@ -61,7 +61,7 @@ miniperlmain$O: $(CROSSPATCHED)
+@@ -67,7 +67,7 @@ miniperlmain$O: $(CROSSPATCHED)
  # Original versions are not saved anymore; patch generally takes care of this,
  # and if that fails, reaching for the source tarball is the safest option.
  $(CROSSPATCHED): %.applied: %.patch
--	patch -p1 -i $< && touch $@
-+	test ! -f $@ && (patch -p1 -i $< && touch $@) || echo "$@ exist"
+-	$(cpatch) -p1 -i $< && touch $@
++	test ! -f $@ && ($(cpatch) -p1 -i $< && touch $@) || echo "$@ exist"
  
  # ---[ common ]-----------------------------------------------------------------
  
--- 
-2.29.2
-
diff --git a/poky/meta/recipes-devtools/perl-cross/files/0001-cnf-configure_pfmt.sh-add-32-bit-integer-format-defi.patch b/poky/meta/recipes-devtools/perl-cross/files/0001-cnf-configure_pfmt.sh-add-32-bit-integer-format-defi.patch
new file mode 100644
index 0000000..4de4a5b
--- /dev/null
+++ b/poky/meta/recipes-devtools/perl-cross/files/0001-cnf-configure_pfmt.sh-add-32-bit-integer-format-defi.patch
@@ -0,0 +1,28 @@
+From 920abf3dc39c851a655b719622c76a6f0dc9981d Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Tue, 5 Sep 2023 19:47:33 +0200
+Subject: [PATCH] cnf/configure_pfmt.sh: add 32 bit integer format definitions
+
+These started to matter in perl 5.38 where they are used to print
+line numbers.
+
+Upstream-Status: Submitted [https://github.com/arsv/perl-cross/pull/143]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ cnf/configure_pfmt.sh | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/cnf/configure_pfmt.sh b/cnf/configure_pfmt.sh
+index 8f93da1..7bb4b6f 100644
+--- a/cnf/configure_pfmt.sh
++++ b/cnf/configure_pfmt.sh
+@@ -52,3 +52,9 @@ else
+ 	define uvxformat '"lx"'
+ 	define uvXUformat '"lX"'
+ fi
++
++define i32dformat 'PRId32'
++define u32uformat 'PRIu32'
++define u32oformat 'PRIo32'
++define u32xformat 'PRIx32'
++define u32XUformat 'PRIX32'
diff --git a/poky/meta/recipes-devtools/perl-cross/perlcross_1.4.1.bb b/poky/meta/recipes-devtools/perl-cross/perlcross_1.5.bb
similarity index 86%
rename from poky/meta/recipes-devtools/perl-cross/perlcross_1.4.1.bb
rename to poky/meta/recipes-devtools/perl-cross/perlcross_1.5.bb
index 6bf056c..7ca4977 100644
--- a/poky/meta/recipes-devtools/perl-cross/perlcross_1.4.1.bb
+++ b/poky/meta/recipes-devtools/perl-cross/perlcross_1.5.bb
@@ -15,10 +15,11 @@
            file://0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch \
            file://determinism.patch \
            file://0001-Makefile-check-the-file-if-patched-or-not.patch \
+           file://0001-cnf-configure_pfmt.sh-add-32-bit-integer-format-defi.patch \
            "
 GITHUB_BASE_URI = "https://github.com/arsv/perl-cross/releases/"
 
-SRC_URI[perl-cross.sha256sum] = "3e14bb4f28c83586c668c5f9f6b4e57b138b4ec2fae0271086e29d4e352670ca"
+SRC_URI[perl-cross.sha256sum] = "d744a390939e2ebb9a12f6725b4d9c19255a141d90031eff90ea183fdfcbf211"
 
 S = "${WORKDIR}/perl-cross-${PV}"
 
diff --git a/poky/meta/recipes-devtools/perl/files/CVE-2023-31484.patch b/poky/meta/recipes-devtools/perl/files/CVE-2023-31484.patch
deleted file mode 100644
index 9a9117c..0000000
--- a/poky/meta/recipes-devtools/perl/files/CVE-2023-31484.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From a625ec2cc3a0b6116c1f8b831d3480deb621c245 Mon Sep 17 00:00:00 2001
-From: Stig Palmquist <git@stig.io>
-Date: Tue, 28 Feb 2023 11:54:06 +0100
-Subject: [PATCH] Add verify_SSL=>1 to HTTP::Tiny to verify https server
- identity
-
-CVE: CVE-2023-31484
-
-Upstream-Status: Backport [https://github.com/andk/cpanpm/commit/9c98370287f4e709924aee7c58ef21c85289a7f0]
-
-Signed-off-by: Soumya <soumya.sambu@windriver.com>
----
- cpan/CPAN/lib/CPAN/HTTP/Client.pm | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/cpan/CPAN/lib/CPAN/HTTP/Client.pm b/cpan/CPAN/lib/CPAN/HTTP/Client.pm
-index 4fc792c..a616fee 100644
---- a/cpan/CPAN/lib/CPAN/HTTP/Client.pm
-+++ b/cpan/CPAN/lib/CPAN/HTTP/Client.pm
-@@ -32,6 +32,7 @@ sub mirror {
-
-     my $want_proxy = $self->_want_proxy($uri);
-     my $http = HTTP::Tiny->new(
-+        verify_SSL => 1,
-         $want_proxy ? (proxy => $self->{proxy}) : ()
-     );
-
---
-2.40.0
diff --git a/poky/meta/recipes-devtools/perl/files/CVE-2023-31486-0001.patch b/poky/meta/recipes-devtools/perl/files/CVE-2023-31486-0001.patch
deleted file mode 100644
index 0531e1f..0000000
--- a/poky/meta/recipes-devtools/perl/files/CVE-2023-31486-0001.patch
+++ /dev/null
@@ -1,217 +0,0 @@
-From 77f557ef84698efeb6eed04e4a9704eaf85b741d
-From: Stig Palmquist <git@stig.io>
-Date: Mon Jun 5 16:46:22 2023 +0200
-Subject: [PATCH] Change verify_SSL default to 1, add ENV var to enable
- insecure default
-
-- Changes the `verify_SSL` default parameter from `0` to `1`
-
-  Based on patch by Dominic Hargreaves:
-  https://salsa.debian.org/perl-team/interpreter/perl/-/commit/1490431e40e22052f75a0b3449f1f53cbd27ba92
-
-  CVE: CVE-2023-31486
-
-- Add check for `$ENV{PERL_HTTP_TINY_SSL_INSECURE_BY_DEFAULT}` that
-  enables the previous insecure default behaviour if set to `1`.
-
-  This provides a workaround for users who encounter problems with the
-  new `verify_SSL` default.
-
-  Example to disable certificate checks:
-  ```
-    $ PERL_HTTP_TINY_SSL_INSECURE_BY_DEFAULT=1 ./script.pl
-  ```
-
-- Updates to documentation:
-  - Describe changing the verify_SSL value
-  - Describe the escape-hatch environment variable
-  - Remove rationale for not enabling verify_SSL
-  - Add missing certificate search paths
-  - Replace "SSL" with "TLS/SSL" where appropriate
-  - Use "machine-in-the-middle" instead of "man-in-the-middle"
-
-Upstream-Status: Backport [https://github.com/chansen/p5-http-tiny/commit/77f557ef84698efeb6eed04e4a9704eaf85b741d]
-
-Signed-off-by: Soumya <soumya.sambu@windriver.com>
----
- cpan/HTTP-Tiny/lib/HTTP/Tiny.pm | 86 ++++++++++++++++++++++-----------
- 1 file changed, 57 insertions(+), 29 deletions(-)
-
-diff --git a/cpan/HTTP-Tiny/lib/HTTP/Tiny.pm b/cpan/HTTP-Tiny/lib/HTTP/Tiny.pm
-index 83ca06d..ebc34a1 100644
---- a/cpan/HTTP-Tiny/lib/HTTP/Tiny.pm
-+++ b/cpan/HTTP-Tiny/lib/HTTP/Tiny.pm
-@@ -40,10 +40,14 @@ sub _croak { require Carp; Carp::croak(@_) }
- #pod * C<timeout> — Request timeout in seconds (default is 60) If a socket open,
- #pod   read or write takes longer than the timeout, the request response status code
- #pod   will be 599.
--#pod * C<verify_SSL> — A boolean that indicates whether to validate the SSL
--#pod   certificate of an C<https> — connection (default is false)
-+#pod * C<verify_SSL> — A boolean that indicates whether to validate the TLS/SSL
-+#pod   certificate of an C<https> — connection (default is true). Changed from false
-+#pod   to true in version 0.083.
- #pod * C<SSL_options> — A hashref of C<SSL_*> — options to pass through to
- #pod   L<IO::Socket::SSL>
-+#pod * C<$ENV{PERL_HTTP_TINY_SSL_INSECURE_BY_DEFAULT}> - Changes the default
-+#pod   certificate verification behavior to not check server identity if set to 1.
-+#pod   Only effective if C<verify_SSL> is not set. Added in version 0.083.
- #pod
- #pod An accessor/mutator method exists for each attribute.
- #pod
-@@ -111,11 +115,17 @@ sub timeout {
- sub new {
-     my($class, %args) = @_;
-
-+    # Support lower case verify_ssl argument, but only if verify_SSL is not
-+    # true.
-+    if ( exists $args{verify_ssl} ) {
-+        $args{verify_SSL}  ||= $args{verify_ssl};
-+    }
-+
-     my $self = {
-         max_redirect => 5,
-         timeout      => defined $args{timeout} ? $args{timeout} : 60,
-         keep_alive   => 1,
--        verify_SSL   => $args{verify_SSL} || $args{verify_ssl} || 0, # no verification by default
-+        verify_SSL   => defined $args{verify_SSL} ? $args{verify_SSL} : _verify_SSL_default(),
-         no_proxy     => $ENV{no_proxy},
-     };
-
-@@ -134,6 +144,13 @@ sub new {
-     return $self;
- }
-
-+sub _verify_SSL_default {
-+    my ($self) = @_;
-+    # Check if insecure default certificate verification behaviour has been
-+    # changed by the user by setting PERL_HTTP_TINY_SSL_INSECURE_BY_DEFAULT=1
-+    return (($ENV{PERL_HTTP_TINY_INSECURE_BY_DEFAULT} || '') eq '1') ? 0 : 1;
-+}
-+
- sub _set_proxies {
-     my ($self) = @_;
-
-@@ -1055,7 +1072,7 @@ sub new {
-         timeout          => 60,
-         max_line_size    => 16384,
-         max_header_lines => 64,
--        verify_SSL       => 0,
-+        verify_SSL       => HTTP::Tiny::_verify_SSL_default(),
-         SSL_options      => {},
-         %args
-     }, $class;
-@@ -2043,11 +2060,11 @@ proxy
- timeout
- verify_SSL
-
--=head1 SSL SUPPORT
-+=head1 TLS/SSL SUPPORT
-
- Direct C<https> connections are supported only if L<IO::Socket::SSL> 1.56 or
- greater and L<Net::SSLeay> 1.49 or greater are installed. An error will occur
--if new enough versions of these modules are not installed or if the SSL
-+if new enough versions of these modules are not installed or if the TLS
- encryption fails. You can also use C<HTTP::Tiny::can_ssl()> utility function
- that returns boolean to see if the required modules are installed.
-
-@@ -2055,7 +2072,7 @@ An C<https> connection may be made via an C<http> proxy that supports the CONNEC
- command (i.e. RFC 2817).  You may not proxy C<https> via a proxy that itself
- requires C<https> to communicate.
-
--SSL provides two distinct capabilities:
-+TLS/SSL provides two distinct capabilities:
-
- =over 4
-
-@@ -2069,24 +2086,17 @@ Verification of server identity
-
- =back
-
--B<By default, HTTP::Tiny does not verify server identity>.
--
--Server identity verification is controversial and potentially tricky because it
--depends on a (usually paid) third-party Certificate Authority (CA) trust model
--to validate a certificate as legitimate.  This discriminates against servers
--with self-signed certificates or certificates signed by free, community-driven
--CA's such as L<CAcert.org|http://cacert.org>.
-+B<By default, HTTP::Tiny verifies server identity>.
-
--By default, HTTP::Tiny does not make any assumptions about your trust model,
--threat level or risk tolerance.  It just aims to give you an encrypted channel
--when you need one.
-+This was changed in version 0.083 due to security concerns. The previous default
-+behavior can be enabled by setting C<$ENV{PERL_HTTP_TINY_SSL_INSECURE_BY_DEFAULT}>
-+to 1.
-
--Setting the C<verify_SSL> attribute to a true value will make HTTP::Tiny verify
--that an SSL connection has a valid SSL certificate corresponding to the host
--name of the connection and that the SSL certificate has been verified by a CA.
--Assuming you trust the CA, this will protect against a L<man-in-the-middle
--attack|http://en.wikipedia.org/wiki/Man-in-the-middle_attack>.  If you are
--concerned about security, you should enable this option.
-+Verification is done by checking that that the TLS/SSL connection has a valid
-+certificate corresponding to the host name of the connection and that the
-+certificate has been verified by a CA. Assuming you trust the CA, this will
-+protect against L<machine-in-the-middle
-+attacks|http://en.wikipedia.org/wiki/Machine-in-the-middle_attack>.
-
- Certificate verification requires a file containing trusted CA certificates.
-
-@@ -2094,9 +2104,7 @@ If the environment variable C<SSL_CERT_FILE> is present, HTTP::Tiny
- will try to find a CA certificate file in that location.
-
- If the L<Mozilla::CA> module is installed, HTTP::Tiny will use the CA file
--included with it as a source of trusted CA's.  (This means you trust Mozilla,
--the author of Mozilla::CA, the CPAN mirror where you got Mozilla::CA, the
--toolchain used to install it, and your operating system security, right?)
-+included with it as a source of trusted CA's.
-
- If that module is not available, then HTTP::Tiny will search several
- system-specific default locations for a CA certificate file:
-@@ -2115,13 +2123,33 @@ system-specific default locations for a CA certificate file:
-
- /etc/ssl/ca-bundle.pem
-
-+=item *
-+
-+/etc/openssl/certs/ca-certificates.crt
-+
-+=item *
-+
-+/etc/ssl/cert.pem
-+
-+=item *
-+
-+/usr/local/share/certs/ca-root-nss.crt
-+
-+=item *
-+
-+/etc/pki/tls/cacert.pem
-+
-+=item *
-+
-+/etc/certs/ca-certificates.crt
-+
- =back
-
- An error will be occur if C<verify_SSL> is true and no CA certificate file
- is available.
-
--If you desire complete control over SSL connections, the C<SSL_options> attribute
--lets you provide a hash reference that will be passed through to
-+If you desire complete control over TLS/SSL connections, the C<SSL_options>
-+attribute lets you provide a hash reference that will be passed through to
- C<IO::Socket::SSL::start_SSL()>, overriding any options set by HTTP::Tiny. For
- example, to provide your own trusted CA file:
-
-@@ -2131,7 +2159,7 @@ example, to provide your own trusted CA file:
-
- The C<SSL_options> attribute could also be used for such things as providing a
- client certificate for authentication to a server or controlling the choice of
--cipher used for the SSL connection. See L<IO::Socket::SSL> documentation for
-+cipher used for the TLS/SSL connection. See L<IO::Socket::SSL> documentation for
- details.
-
- =head1 PROXY SUPPORT
---
-2.40.0
diff --git a/poky/meta/recipes-devtools/perl/files/CVE-2023-31486-0002.patch b/poky/meta/recipes-devtools/perl/files/CVE-2023-31486-0002.patch
deleted file mode 100644
index 45452be..0000000
--- a/poky/meta/recipes-devtools/perl/files/CVE-2023-31486-0002.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From a22785783b17cbaa28afaee4a024d81a1903701d
-From: Stig Palmquist <git@stig.io>
-Date: Sun Jun 18 11:36:05 2023 +0200
-Subject: [PATCH] Fix incorrect env var name for verify_SSL default
-
-The variable to override the verify_SSL default differed slightly in the
-documentation from what was checked for in the code.
-
-This commit makes the code use `PERL_HTTP_TINY_SSL_INSECURE_BY_DEFAULT`
-as documented, instead of `PERL_HTTP_TINY_INSECURE_BY_DEFAULT` which was
-missing `SSL_`
-
-CVE: CVE-2023-31486
-
-Upstream-Status: Backport [https://github.com/chansen/p5-http-tiny/commit/a22785783b17cbaa28afaee4a024d81a1903701d]
-
-Signed-off-by: Soumya <soumya.sambu@windriver.com>
----
- cpan/HTTP-Tiny/lib/HTTP/Tiny.pm | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/cpan/HTTP-Tiny/lib/HTTP/Tiny.pm b/cpan/HTTP-Tiny/lib/HTTP/Tiny.pm
-index ebc34a1..65ac8ff 100644
---- a/cpan/HTTP-Tiny/lib/HTTP/Tiny.pm
-+++ b/cpan/HTTP-Tiny/lib/HTTP/Tiny.pm
-@@ -148,7 +148,7 @@ sub _verify_SSL_default {
-     my ($self) = @_;
-     # Check if insecure default certificate verification behaviour has been
-     # changed by the user by setting PERL_HTTP_TINY_SSL_INSECURE_BY_DEFAULT=1
--    return (($ENV{PERL_HTTP_TINY_INSECURE_BY_DEFAULT} || '') eq '1') ? 0 : 1;
-+    return (($ENV{PERL_HTTP_TINY_SSL_INSECURE_BY_DEFAULT} || '') eq '1') ? 0 : 1;
- }
-
- sub _set_proxies {
---
-2.40.0
diff --git a/poky/meta/recipes-devtools/perl/files/perl-configpm-switch.patch b/poky/meta/recipes-devtools/perl/files/perl-configpm-switch.patch
index 7ca7c7d..0be1d5a 100644
--- a/poky/meta/recipes-devtools/perl/files/perl-configpm-switch.patch
+++ b/poky/meta/recipes-devtools/perl/files/perl-configpm-switch.patch
@@ -1,4 +1,4 @@
-From e789c1a0c9de5928a3b49f5b9d81b63636f5c7bb Mon Sep 17 00:00:00 2001
+From c25d460a2f00e9af25087d40447fe1a81c89710c Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Sun, 27 May 2007 21:04:11 +0000
 Subject: [PATCH] perl: 5.8.7 -> 5.8.8 (from OE)
@@ -20,38 +20,38 @@
  1 file changed, 16 insertions(+), 2 deletions(-)
 
 diff --git a/configpm b/configpm
-index 94a4778..99b20c9 100755
+index 07219d8..01a23fa 100755
 --- a/configpm
 +++ b/configpm
-@@ -687,7 +687,7 @@ sub FETCH {
-     my($self, $key) = @_;
- 
-     # check for cached value (which may be undef so we use exists not defined)
--    return exists $self->{$key} ? $self->{$key} : $self->fetch_string($key);
-+    return $self->fetch_string($key);
- }
- 
+@@ -718,7 +718,7 @@ $config_txt .= uncomment <<'ENDOFEND';
+ #        my($self, $key) = @_;
+ #
+ #        # check for cached value (which may be undef so we use exists not defined)
+-#        return exists $self->{$key} ? $self->{$key} : $self->fetch_string($key);
++#        return $self->fetch_string($key);
+ #    }
+ #
  ENDOFEND
-@@ -845,7 +845,21 @@ $config_txt .= sprintf <<'ENDOFTIE', $fast_config;
- sub DESTROY { }
- 
- sub AUTOLOAD {
--    require 'Config_heavy.pl';
-+    my $cfgfile = 'Config_heavy.pl';
-+    if (defined $ENV{PERLCONFIGTARGET} and $ENV{PERLCONFIGTARGET} eq "yes")
-+    {
-+        $cfgfile = 'Config_heavy-target.pl';
-+    }
-+    if (defined $ENV{PERL_ARCHLIB})
-+    {
-+        push @INC, $ENV{PERL_ARCHLIB};
-+        require $cfgfile;
-+        pop @INC;
-+    }
-+    else
-+    {
-+        require $cfgfile;
-+    }
-     goto \&launcher unless $Config::AUTOLOAD =~ /launcher$/;
-     die "&Config::AUTOLOAD failed on $Config::AUTOLOAD";
- }
+@@ -876,7 +876,21 @@ $config_txt .= sprintf uncomment <<'ENDOFTIE', $fast_config;
+ #    sub DESTROY { }
+ #
+ #    sub AUTOLOAD {
+-#        require 'Config_heavy.pl';
++#        my $cfgfile = 'Config_heavy.pl';
++#        if (defined $ENV{PERLCONFIGTARGET} and $ENV{PERLCONFIGTARGET} eq "yes")
++#        {
++#            $cfgfile = 'Config_heavy-target.pl';
++#        }
++#        if (defined $ENV{PERL_ARCHLIB})
++#        {
++#            push @INC, $ENV{PERL_ARCHLIB};
++#            require $cfgfile;
++#            pop @INC;
++#        }
++#        else
++#        {
++#            require $cfgfile;
++#        }
+ #        goto \&launcher unless $Config::AUTOLOAD =~ /launcher$/;
+ #        die "&Config::AUTOLOAD failed on $Config::AUTOLOAD";
+ #    }
diff --git a/poky/meta/recipes-devtools/perl/perl_5.36.1.bb b/poky/meta/recipes-devtools/perl/perl_5.38.0.bb
similarity index 96%
rename from poky/meta/recipes-devtools/perl/perl_5.36.1.bb
rename to poky/meta/recipes-devtools/perl/perl_5.38.0.bb
index 87768cc..2103a39 100644
--- a/poky/meta/recipes-devtools/perl/perl_5.36.1.bb
+++ b/poky/meta/recipes-devtools/perl/perl_5.38.0.bb
@@ -17,9 +17,6 @@
            file://0002-Constant-Fix-up-shebang.patch \
            file://determinism.patch \
            file://0001-cpan-Sys-Syslog-Makefile.PL-Fix-_PATH_LOG-for-determ.patch \
-           file://CVE-2023-31484.patch \
-           file://CVE-2023-31486-0001.patch \
-           file://CVE-2023-31486-0002.patch \
            "
 SRC_URI:append:class-native = " \
            file://perl-configpm-switch.patch \
@@ -28,7 +25,7 @@
            file://encodefix.patch \
 "
 
-SRC_URI[perl.sha256sum] = "68203665d8ece02988fc77dc92fccbb297a83a4bb4b8d07558442f978da54cc1"
+SRC_URI[perl.sha256sum] = "213ef58089d2f2c972ea353517dc60ec3656f050dcc027666e118b508423e517"
 
 B = "${WORKDIR}/perl-${PV}-build"
 
@@ -158,9 +155,10 @@
     # This is used to substitute target configuration when running native perl via perl-configpm-switch.patch
     ln -s Config_heavy.pl ${D}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config_heavy-target.pl
 
-    # This contains host-specific information used for building miniperl (a helper executable built with host compiler)
-    # and therefore isn't reproducible. I believe the file isn't actually needed on target.
-    rm ${D}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/CORE/xconfig.h
+    # xconfig.h contains references to build host architecture, and yet is included from various other places.
+    # To make it reproducible let's make it a copy of config.h patch that is specific to the target architecture.
+    # It is believed that the original header is the product of building miniperl (a helper executable built with host compiler).
+    cp ${D}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/CORE/config.h ${D}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/CORE/xconfig.h
 }
 
 do_install:append:class-nativesdk() {
@@ -205,6 +203,7 @@
             ${PKGD}${bindir}/pod2usage.perl \
             ${PKGD}${bindir}/podchecker.perl \
             ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/CORE/config.h \
+            ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/CORE/xconfig.h \
             ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/CORE/perl.h \
             ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/CORE/pp.h \
             ${PKGD}${libdir}/perl5/${PV}/Config.pm \
diff --git a/poky/meta/recipes-devtools/pkgconf/pkgconf_1.9.5.bb b/poky/meta/recipes-devtools/pkgconf/pkgconf_2.0.2.bb
similarity index 96%
rename from poky/meta/recipes-devtools/pkgconf/pkgconf_1.9.5.bb
rename to poky/meta/recipes-devtools/pkgconf/pkgconf_2.0.2.bb
index ab1d1c8..c6badb1 100644
--- a/poky/meta/recipes-devtools/pkgconf/pkgconf_1.9.5.bb
+++ b/poky/meta/recipes-devtools/pkgconf/pkgconf_2.0.2.bb
@@ -20,7 +20,7 @@
     file://pkg-config-native.in \
     file://pkg-config-esdk.in \
 "
-SRC_URI[sha256sum] = "1ac1656debb27497563036f7bffc281490f83f9b8457c0d60bcfb638fb6b6171"
+SRC_URI[sha256sum] = "ea5a25ef8f251eb5377ec0e21c75fb61894433cfbdbf0b2559ba33e4c2664401"
 
 inherit autotools
 
diff --git a/poky/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb b/poky/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb
index 68f624c..16e6c5b 100644
--- a/poky/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb
+++ b/poky/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb
@@ -9,7 +9,7 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
 
 SRCREV = "d97db4fae4c1cd099b506970b285dc2afd818ea2"
-PV = "0.29.2+git${SRCPV}"
+PV = "0.29.2+git"
 
 SRC_URI = "git://gitlab.freedesktop.org/pkg-config/pkg-config.git;branch=master;protocol=https \
            file://pkg-config-esdk.in \
diff --git a/poky/meta/recipes-devtools/pseudo/files/glibc238.patch b/poky/meta/recipes-devtools/pseudo/files/glibc238.patch
new file mode 100644
index 0000000..76ca8c1
--- /dev/null
+++ b/poky/meta/recipes-devtools/pseudo/files/glibc238.patch
@@ -0,0 +1,72 @@
+glibc 2.38 would include  __isoc23_strtol and similar symbols. This is trggerd by
+_GNU_SOURCE but we have to set that for other definitions. Therefore play with defines
+to turn this off within pseudo_wrappers.c. Elsewhere we can switch to _DEFAULT_SOURCE
+rather than _GNU_SOURCE.
+
+Upstream-Status: Pending
+
+Index: git/pseudo_wrappers.c
+===================================================================
+--- git.orig/pseudo_wrappers.c
++++ git/pseudo_wrappers.c
+@@ -6,6 +6,15 @@
+  * SPDX-License-Identifier: LGPL-2.1-only
+  *
+  */
++/* glibc 2.38 would include  __isoc23_strtol and similar symbols. This is trggerd by
++ * _GNU_SOURCE but we have to set that for other definitions. Therefore play with defines
++ * to turn this off.
++ */
++#include <features.h>
++#undef __GLIBC_USE_ISOC2X
++#undef __GLIBC_USE_C2X_STRTOL
++#define __GLIBC_USE_C2X_STRTOL 0
++
+ #include <assert.h>
+ #include <stdlib.h>
+ #include <limits.h>
+Index: git/pseudo_util.c
+===================================================================
+--- git.orig/pseudo_util.c
++++ git/pseudo_util.c
+@@ -8,6 +8,14 @@
+  */
+ /* we need access to RTLD_NEXT for a horrible workaround */
+ #define _GNU_SOURCE
++/* glibc 2.38 would include  __isoc23_strtol and similar symbols. This is trggerd by
++ * _GNU_SOURCE but we have to set that for other definitions. Therefore play with defines
++ * to turn this off.
++ */
++#include <features.h>
++#undef __GLIBC_USE_ISOC2X
++#undef __GLIBC_USE_C2X_STRTOL
++#define __GLIBC_USE_C2X_STRTOL 0
+ 
+ #include <ctype.h>
+ #include <errno.h>
+Index: git/pseudolog.c
+===================================================================
+--- git.orig/pseudolog.c
++++ git/pseudolog.c
+@@ -8,7 +8,7 @@
+  */
+ /* We need _XOPEN_SOURCE for strptime(), but if we define that,
+  * we then don't get S_IFSOCK... _GNU_SOURCE turns on everything. */
+-#define _GNU_SOURCE
++#define _DEFAULT_SOURCE
+ 
+ #include <ctype.h>
+ #include <limits.h>
+Index: git/pseudo_client.c
+===================================================================
+--- git.orig/pseudo_client.c
++++ git/pseudo_client.c
+@@ -6,7 +6,7 @@
+  * SPDX-License-Identifier: LGPL-2.1-only
+  *
+  */
+-#define _GNU_SOURCE
++#define _DEFAULT_SOURCE
+ 
+ #include <stdio.h>
+ #include <signal.h>
diff --git a/poky/meta/recipes-devtools/pseudo/pseudo_git.bb b/poky/meta/recipes-devtools/pseudo/pseudo_git.bb
index c3c4bb0..4a894eb 100644
--- a/poky/meta/recipes-devtools/pseudo/pseudo_git.bb
+++ b/poky/meta/recipes-devtools/pseudo/pseudo_git.bb
@@ -2,6 +2,7 @@
 
 SRC_URI = "git://git.yoctoproject.org/pseudo;branch=master;protocol=https \
            file://0001-configure-Prune-PIE-flags.patch \
+           file://glibc238.patch \
            file://fallback-passwd \
            file://fallback-group \
            "
@@ -15,7 +16,7 @@
 
 SRCREV = "ec6151a2b057109b3f798f151a36690af582e166"
 S = "${WORKDIR}/git"
-PV = "1.9.0+git${SRCPV}"
+PV = "1.9.0+git"
 
 # largefile and 64bit time_t support adds these macros via compiler flags globally
 # remove them for pseudo since pseudo intercepts some of the functions which will be
diff --git a/poky/meta/recipes-devtools/python/python3-build_0.10.0.bb b/poky/meta/recipes-devtools/python/python3-build_1.0.3.bb
similarity index 89%
rename from poky/meta/recipes-devtools/python/python3-build_0.10.0.bb
rename to poky/meta/recipes-devtools/python/python3-build_1.0.3.bb
index b446fa3..2d8faef 100644
--- a/poky/meta/recipes-devtools/python/python3-build_0.10.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-build_1.0.3.bb
@@ -3,7 +3,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=310439af287b0fb4780b2ad6907c256c"
 
-SRC_URI[sha256sum] = "d5b71264afdb5951d6704482aac78de887c80691c52b88a9ad195983ca2c9269"
+SRC_URI[sha256sum] = "538aab1b64f9828977f84bc63ae570b060a8ed1be419e7870b8b4fc5e6ea553b"
 
 inherit pypi python_flit_core
 
diff --git a/poky/meta/recipes-devtools/python/python3-dbusmock_0.29.0.bb b/poky/meta/recipes-devtools/python/python3-dbusmock_0.29.1.bb
similarity index 87%
rename from poky/meta/recipes-devtools/python/python3-dbusmock_0.29.0.bb
rename to poky/meta/recipes-devtools/python/python3-dbusmock_0.29.1.bb
index 64e0ae8..09bae0e 100644
--- a/poky/meta/recipes-devtools/python/python3-dbusmock_0.29.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-dbusmock_0.29.1.bb
@@ -4,7 +4,7 @@
 LICENSE = "GPL-3.0-only"
 LIC_FILES_CHKSUM = "file://COPYING;md5=e6a600fd5e1d9cbde2d983680233ad02"
 
-SRC_URI[sha256sum] = "3efdb3d800386b65e8854d8ee4538764241382b4e664423ad7d959c9008dd408"
+SRC_URI[sha256sum] = "b03590057c236d352c38973f4b71ae2c97b3a1cb1dc6f03278ce4072a3716a74"
 
 PYPI_PACKAGE = "python-dbusmock"
 
diff --git a/poky/meta/recipes-devtools/python/python3-dtc_1.6.1.bb b/poky/meta/recipes-devtools/python/python3-dtc_1.7.0.bb
similarity index 91%
rename from poky/meta/recipes-devtools/python/python3-dtc_1.6.1.bb
rename to poky/meta/recipes-devtools/python/python3-dtc_1.7.0.bb
index a868bd0..85e48d4 100644
--- a/poky/meta/recipes-devtools/python/python3-dtc_1.6.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-dtc_1.7.0.bb
@@ -14,9 +14,8 @@
 
 LIC_FILES_CHKSUM = "file://pylibfdt/libfdt.i;beginline=1;endline=6;md5=afda088c974174a29108c8d80b5dce90"
 
-SRCREV = "c001fc01a43e7a06447c06ea3d50bd60641322b8"
+SRCREV = "039a99414e778332d8f9c04cbd3072e1dcc62798"
 
-PV = "1.6.1+git${SRCPV}"
 S = "${WORKDIR}/git"
 
 PYPA_WHEEL = "${S}/dist/libfdt-1.6.2*.whl"
diff --git a/poky/meta/recipes-devtools/python/python3-editables_0.4.bb b/poky/meta/recipes-devtools/python/python3-editables_0.5.bb
similarity index 79%
rename from poky/meta/recipes-devtools/python/python3-editables_0.4.bb
rename to poky/meta/recipes-devtools/python/python3-editables_0.5.bb
index c531869..f326118 100644
--- a/poky/meta/recipes-devtools/python/python3-editables_0.4.bb
+++ b/poky/meta/recipes-devtools/python/python3-editables_0.5.bb
@@ -4,7 +4,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=41bc1be47b7bb8240db3ef928c7cb0bf"
 
-SRC_URI[sha256sum] = "dc322c42e7ccaf19600874035a4573898d88aadd07e177c239298135b75da772"
+SRC_URI[sha256sum] = "309627d9b5c4adc0e668d8c6fa7bac1ba7c8c5d415c2d27f60f081f8e80d1de2"
 
 inherit pypi python_setuptools_build_meta
 
diff --git a/poky/meta/recipes-devtools/python/python3-git_3.1.32.bb b/poky/meta/recipes-devtools/python/python3-git_3.1.34.bb
similarity index 92%
rename from poky/meta/recipes-devtools/python/python3-git_3.1.32.bb
rename to poky/meta/recipes-devtools/python/python3-git_3.1.34.bb
index f217577..308c787 100644
--- a/poky/meta/recipes-devtools/python/python3-git_3.1.32.bb
+++ b/poky/meta/recipes-devtools/python/python3-git_3.1.34.bb
@@ -12,7 +12,7 @@
 
 inherit pypi python_setuptools_build_meta
 
-SRC_URI[sha256sum] = "8d9b8cb1e80b9735e8717c9362079d3ce4c6e5ddeebedd0361b228c3a67a62f6"
+SRC_URI[sha256sum] = "85f7d365d1f6bf677ae51039c1ef67ca59091c7ebd5a3509aa399d4eda02d6dd"
 
 DEPENDS += " ${PYTHON_PN}-gitdb"
 
diff --git a/poky/meta/recipes-devtools/python/python3-hypothesis_6.82.0.bb b/poky/meta/recipes-devtools/python/python3-hypothesis_6.84.0.bb
similarity index 91%
rename from poky/meta/recipes-devtools/python/python3-hypothesis_6.82.0.bb
rename to poky/meta/recipes-devtools/python/python3-hypothesis_6.84.0.bb
index 0aeeae1..8e3f6c0 100644
--- a/poky/meta/recipes-devtools/python/python3-hypothesis_6.82.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-hypothesis_6.84.0.bb
@@ -13,7 +13,7 @@
     file://test_rle.py \
     "
 
-SRC_URI[sha256sum] = "ffece8e40a34329e7112f7408f2c45fe587761978fdbc6f4f91bf0d683a7d4d9"
+SRC_URI[sha256sum] = "446ecc9665a23fc67a6d32bafbe4233d77fef10eb90d4ede8ab1e76474a63215"
 
 RDEPENDS:${PN} += " \
     python3-attrs \
diff --git a/poky/meta/recipes-devtools/python/python3-markdown_3.4.3.bb b/poky/meta/recipes-devtools/python/python3-markdown_3.4.4.bb
similarity index 81%
rename from poky/meta/recipes-devtools/python/python3-markdown_3.4.3.bb
rename to poky/meta/recipes-devtools/python/python3-markdown_3.4.4.bb
index 1624e15..6a7e6f7 100644
--- a/poky/meta/recipes-devtools/python/python3-markdown_3.4.3.bb
+++ b/poky/meta/recipes-devtools/python/python3-markdown_3.4.4.bb
@@ -6,7 +6,7 @@
 inherit pypi python_setuptools_build_meta
 
 PYPI_PACKAGE = "Markdown"
-SRC_URI[sha256sum] = "8bf101198e004dc93e84a12a7395e31aac6a9c9942848ae1d99b9d72cf9b3520"
+SRC_URI[sha256sum] = "225c6123522495d4119a90b3a3ba31a1e87a70369e03f14799ea9c0d7183a3d6"
 
 BBCLASSEXTEND = "native nativesdk"
 
diff --git a/poky/meta/recipes-devtools/python/python3-more-itertools_10.0.0.bb b/poky/meta/recipes-devtools/python/python3-more-itertools_10.1.0.bb
similarity index 87%
rename from poky/meta/recipes-devtools/python/python3-more-itertools_10.0.0.bb
rename to poky/meta/recipes-devtools/python/python3-more-itertools_10.1.0.bb
index e07d4b7..be2a73c 100644
--- a/poky/meta/recipes-devtools/python/python3-more-itertools_10.0.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-more-itertools_10.1.0.bb
@@ -3,7 +3,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=3396ea30f9d21389d7857719816f83b5"
 
-SRC_URI[sha256sum] = "cd65437d7c4b615ab81c0640c0480bc29a550ea032891977681efd28344d51e1"
+SRC_URI[sha256sum] = "626c369fa0eb37bac0291bce8259b332fd59ac792fa5497b59837309cd5b114a"
 
 inherit pypi python_flit_core ptest
 
diff --git a/poky/meta/recipes-devtools/python/python3-numpy/disable_blas.patch b/poky/meta/recipes-devtools/python/python3-numpy/disable_blas.patch
new file mode 100644
index 0000000..09d65e8
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-numpy/disable_blas.patch
@@ -0,0 +1,37 @@
+We've seen reproducibility failures where it appears an extra -O3 compiler flag ends
+up in the multiarray library compilation. This can only really have come through
+extra_info since it only affects just this library. Rather than try and track
+down exactly where this came from in a rabbit warren of code, just disable
+this since we don't have any of the dependencies.
+
+Upstream-Status: Inappropriate [OE specific config hack]
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+
+Index: numpy-1.25.2/numpy/core/setup.py
+===================================================================
+--- numpy-1.25.2.orig/numpy/core/setup.py
++++ numpy-1.25.2/numpy/core/setup.py
+@@ -755,22 +755,7 @@ def configuration(parent_package='',top_
+             join('src', 'common', 'npy_cpu_features.c'),
+             ]
+ 
+-    if os.environ.get('NPY_USE_BLAS_ILP64', "0") != "0":
+-        blas_info = get_info('blas_ilp64_opt', 2)
+-    else:
+-        blas_info = get_info('blas_opt', 0)
+-
+-    have_blas = blas_info and ('HAVE_CBLAS', None) in blas_info.get('define_macros', [])
+-
+-    if have_blas:
+-        extra_info = blas_info
+-        # These files are also in MANIFEST.in so that they are always in
+-        # the source distribution independently of HAVE_CBLAS.
+-        common_src.extend([join('src', 'common', 'cblasfuncs.c'),
+-                           join('src', 'common', 'python_xerbla.c'),
+-                          ])
+-    else:
+-        extra_info = {}
++    extra_info = {}
+ 
+     #######################################################################
+     #             _multiarray_umath module - multiarray part              #
diff --git a/poky/meta/recipes-devtools/python/python3-numpy_1.25.1.bb b/poky/meta/recipes-devtools/python/python3-numpy_1.25.2.bb
similarity index 95%
rename from poky/meta/recipes-devtools/python/python3-numpy_1.25.1.bb
rename to poky/meta/recipes-devtools/python/python3-numpy_1.25.2.bb
index 3632ab7..4793b23 100644
--- a/poky/meta/recipes-devtools/python/python3-numpy_1.25.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-numpy_1.25.2.bb
@@ -10,9 +10,10 @@
 SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/${SRCNAME}-${PV}.tar.gz \
            file://0001-Don-t-search-usr-and-so-on-for-libraries-by-default-.patch \
            file://0001-numpy-core-Define-RISCV-32-support.patch \
+           file://disable_blas.patch \
            file://run-ptest \
            "
-SRC_URI[sha256sum] = "9a3a9f3a61480cc086117b426a8bd86869c213fc4072e606f01c4e4b66eb92bf"
+SRC_URI[sha256sum] = "fd608e19c8d7c55021dffd43bfe5492fab8cc105cc8986f813f8c3c048b38760"
 
 GITHUB_BASE_URI = "https://github.com/numpy/numpy/releases"
 UPSTREAM_CHECK_REGEX = "releases/tag/v?(?P<pver>\d+(\.\d+)+)$"
diff --git a/poky/meta/recipes-devtools/python/python3-pathspec_0.11.1.bb b/poky/meta/recipes-devtools/python/python3-pathspec_0.11.2.bb
similarity index 80%
rename from poky/meta/recipes-devtools/python/python3-pathspec_0.11.1.bb
rename to poky/meta/recipes-devtools/python/python3-pathspec_0.11.2.bb
index 79f03da..37b9e27 100644
--- a/poky/meta/recipes-devtools/python/python3-pathspec_0.11.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-pathspec_0.11.2.bb
@@ -4,7 +4,7 @@
 LICENSE = "MPL-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=815ca599c9df247a0c7f619bab123dad"
 
-SRC_URI[sha256sum] = "2798de800fa92780e33acca925945e9a19a133b715067cf165b8866c15a31687"
+SRC_URI[sha256sum] = "e0d8d0ac2f12da61956eb2306b69f9469b42f4deb0f3cb6ed47b9cce9996ced3"
 
 inherit pypi setuptools3
 
diff --git a/poky/meta/recipes-devtools/python/python3-pip_23.2.bb b/poky/meta/recipes-devtools/python/python3-pip_23.2.1.bb
similarity index 97%
rename from poky/meta/recipes-devtools/python/python3-pip_23.2.bb
rename to poky/meta/recipes-devtools/python/python3-pip_23.2.1.bb
index 1ddec7d..c92e2db 100644
--- a/poky/meta/recipes-devtools/python/python3-pip_23.2.bb
+++ b/poky/meta/recipes-devtools/python/python3-pip_23.2.1.bb
@@ -33,7 +33,7 @@
 
 SRC_URI += "file://no_shebang_mangling.patch"
 
-SRC_URI[sha256sum] = "a160a170f3331d9ca1a0247eb1cd79c758879f1f81158f9cd05bbb5df80bea5c"
+SRC_URI[sha256sum] = "fb0bd5435b3200c602b5bf61d2d43c2f13c02e29c1707567ae7fbc514eb9faf2"
 
 do_install:append() {
     rm -f ${D}/${bindir}/pip
diff --git a/poky/meta/recipes-devtools/python/python3-pluggy_1.2.0.bb b/poky/meta/recipes-devtools/python/python3-pluggy_1.3.0.bb
similarity index 88%
rename from poky/meta/recipes-devtools/python/python3-pluggy_1.2.0.bb
rename to poky/meta/recipes-devtools/python/python3-pluggy_1.3.0.bb
index 3322bb5..c149cbb 100644
--- a/poky/meta/recipes-devtools/python/python3-pluggy_1.2.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-pluggy_1.3.0.bb
@@ -3,7 +3,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=1c8206d16fd5cc02fa9b0bb98955e5c2"
 
-SRC_URI[sha256sum] = "d12f0c4b579b15f5e054301bb226ee85eeeba08ffec228092f8defbaa3a4c4b3"
+SRC_URI[sha256sum] = "cf61ae8f126ac6f7c451172cf30e3e43d3ca77615509771b3a984a0730651e12"
 
 DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
 RDEPENDS:${PN} += "${PYTHON_PN}-importlib-metadata \
diff --git a/poky/meta/recipes-devtools/python/python3-poetry-core_1.6.1.bb b/poky/meta/recipes-devtools/python/python3-poetry-core_1.7.0.bb
similarity index 89%
rename from poky/meta/recipes-devtools/python/python3-poetry-core_1.6.1.bb
rename to poky/meta/recipes-devtools/python/python3-poetry-core_1.7.0.bb
index 536bc64..40b6355 100644
--- a/poky/meta/recipes-devtools/python/python3-poetry-core_1.6.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-poetry-core_1.7.0.bb
@@ -16,10 +16,9 @@
     file://src/poetry/core/_vendor/packaging/LICENSE.BSD;md5=7bef9bf4a8e4263634d0597e7ba100b8 \
     file://src/poetry/core/_vendor/pyrsistent/LICENSE.mit;md5=b695eb9c6e7a6fb1b1bc2d193c42776e \
     file://src/poetry/core/_vendor/tomli/LICENSE;md5=aaaaf0879d17df0110d1aa8c8c9f46f5 \
-    file://src/poetry/core/_vendor/typing_extensions.LICENSE;md5=f16b323917992e0f8a6f0071bc9913e2 \
 "
 
-SRC_URI[sha256sum] = "0f9b0de39665f36d6594657e7d57b6f463cc10f30c28e6d1c3b9ff54c26c9ac3"
+SRC_URI[sha256sum] = "8f679b83bd9c820082637beca1204124d5d2a786e4818da47ec8acefd0353b74"
 
 inherit python_poetry_core pypi
 PYPI_ARCHIVE_NAME = "poetry_core-${PV}.${PYPI_PACKAGE_EXT}"
diff --git a/poky/meta/recipes-devtools/python/python3-pygments_2.15.1.bb b/poky/meta/recipes-devtools/python/python3-pygments_2.16.1.bb
similarity index 83%
rename from poky/meta/recipes-devtools/python/python3-pygments_2.15.1.bb
rename to poky/meta/recipes-devtools/python/python3-pygments_2.16.1.bb
index e0e4771..240d01d 100644
--- a/poky/meta/recipes-devtools/python/python3-pygments_2.15.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-pygments_2.16.1.bb
@@ -5,7 +5,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=36a13c90514e2899f1eba7f41c3ee592"
 
 inherit python_setuptools_build_meta
-SRC_URI[sha256sum] = "8ace4d3c1dd481894b2005f560ead0f9f19ee64fe983366be1a21e171d12775c"
+SRC_URI[sha256sum] = "1daff0494820c69bc8941e407aa20f577374ee88364ee10a98fdbe0aece96e29"
 
 DEPENDS += "\
             ${PYTHON_PN} \
diff --git a/poky/meta/recipes-devtools/python/python3-pygobject_3.44.1.bb b/poky/meta/recipes-devtools/python/python3-pygobject_3.44.1.bb
index 6f7d9a0..797a7ce 100644
--- a/poky/meta/recipes-devtools/python/python3-pygobject_3.44.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-pygobject_3.44.1.bb
@@ -8,9 +8,12 @@
 GNOMEBASEBUILDCLASS = "meson"
 GIR_MESON_OPTION = ""
 
-inherit gnomebase setuptools3-base gobject-introspection upstream-version-is-even features_check
+inherit gnomebase setuptools3-base gobject-introspection upstream-version-is-even
 
-REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
+python() {
+    if d.getVar('CLASSOVERRIDE') == "class-target" and not bb.utils.to_boolean(d.getVar("GI_DATA_ENABLED")):
+        raise bb.parse.SkipRecipe("GI not available")
+}
 
 DEPENDS += "python3 glib-2.0"
 
diff --git a/poky/meta/recipes-devtools/python/python3-pyparsing_3.1.0.bb b/poky/meta/recipes-devtools/python/python3-pyparsing_3.1.1.bb
similarity index 90%
rename from poky/meta/recipes-devtools/python/python3-pyparsing_3.1.0.bb
rename to poky/meta/recipes-devtools/python/python3-pyparsing_3.1.1.bb
index e5c6d5f..5f791cf 100644
--- a/poky/meta/recipes-devtools/python/python3-pyparsing_3.1.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-pyparsing_3.1.1.bb
@@ -10,7 +10,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=657a566233888513e1f07ba13e2f47f1"
 
-SRC_URI[sha256sum] = "edb662d6fe322d6e990b1594b5feaeadf806803359e3d4d42f11e295e588f0ea"
+SRC_URI[sha256sum] = "ede28a1a32462f5a9705e07aea48001a08f7cf81a021585011deba701581a0db"
 
 UPSTREAM_CHECK_REGEX = "pyparsing-(?P<pver>.*)\.tar"
 
diff --git a/poky/meta/recipes-devtools/python/python3-pytest_7.4.0.bb b/poky/meta/recipes-devtools/python/python3-pytest_7.4.1.bb
similarity index 92%
rename from poky/meta/recipes-devtools/python/python3-pytest_7.4.0.bb
rename to poky/meta/recipes-devtools/python/python3-pytest_7.4.1.bb
index 323dfeb..e9ded98 100644
--- a/poky/meta/recipes-devtools/python/python3-pytest_7.4.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-pytest_7.4.1.bb
@@ -5,7 +5,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=bd27e41b6550fe0fc45356d1d81ee37c"
 
-SRC_URI[sha256sum] = "b4bf8c45bd59934ed84001ad51e11b4ee40d40a1229d2c79f9c592b0a3f6bd8a"
+SRC_URI[sha256sum] = "2f2301e797521b23e4d2585a0a3d7b5e50fdddaaf7e7d6773ea26ddb17c213ab"
 
 DEPENDS += "python3-setuptools-scm-native"
 
diff --git a/poky/meta/recipes-devtools/python/python3-setuptools/0001-conditionally-do-not-fetch-code-by-easy_install.patch b/poky/meta/recipes-devtools/python/python3-setuptools/0001-conditionally-do-not-fetch-code-by-easy_install.patch
index 1e5ab49..84a9492 100644
--- a/poky/meta/recipes-devtools/python/python3-setuptools/0001-conditionally-do-not-fetch-code-by-easy_install.patch
+++ b/poky/meta/recipes-devtools/python/python3-setuptools/0001-conditionally-do-not-fetch-code-by-easy_install.patch
@@ -1,4 +1,4 @@
-From 5e603da9c01ccb828a03ea3e82d15599971f794f Mon Sep 17 00:00:00 2001
+From c90cc4a07ce6d2b7128e37d811d0c6bbc4b905a6 Mon Sep 17 00:00:00 2001
 From: Hongxu Jia <hongxu.jia@windriver.com>
 Date: Tue, 17 Jul 2018 10:13:38 +0800
 Subject: [PATCH] conditionally do not fetch code by easy_install
@@ -9,15 +9,16 @@
 Upstream-Status: Inappropriate [oe specific]
 
 Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
 ---
  setuptools/command/easy_install.py | 5 +++++
  1 file changed, 5 insertions(+)
 
 diff --git a/setuptools/command/easy_install.py b/setuptools/command/easy_install.py
-index 0b8d1159..93308060 100644
+index 8ba4f09..8ea40c5 100644
 --- a/setuptools/command/easy_install.py
 +++ b/setuptools/command/easy_install.py
-@@ -644,6 +644,11 @@ class easy_install(Command):
+@@ -676,6 +676,11 @@ class easy_install(Command):
              os.path.exists(tmpdir) and _rmtree(tmpdir)
  
      def easy_install(self, spec, deps=False):
@@ -29,6 +30,3 @@
          with self._tmpdir() as tmpdir:
              if not isinstance(spec, Requirement):
                  if URL_SCHEME(spec):
--- 
-2.41.0
-
diff --git a/poky/meta/recipes-devtools/python/python3-setuptools_68.0.0.bb b/poky/meta/recipes-devtools/python/python3-setuptools_68.1.2.bb
similarity index 94%
rename from poky/meta/recipes-devtools/python/python3-setuptools_68.0.0.bb
rename to poky/meta/recipes-devtools/python/python3-setuptools_68.1.2.bb
index 4ac789d..a1e84b6 100644
--- a/poky/meta/recipes-devtools/python/python3-setuptools_68.0.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-setuptools_68.1.2.bb
@@ -11,7 +11,7 @@
 SRC_URI += " \
             file://0001-_distutils-sysconfig.py-make-it-possible-to-substite.patch"
 
-SRC_URI[sha256sum] = "baf1fdb41c6da4cd2eae722e135500da913332ab3f2f5c7d33af9b492acb5235"
+SRC_URI[sha256sum] = "3d4dfa6d95f1b101d695a6160a7626e15583af71a5f52176efa5d39a054d475d"
 
 DEPENDS += "${PYTHON_PN}"
 
diff --git a/poky/meta/recipes-devtools/python/python3-sphinx-rtd-theme_1.2.2.bb b/poky/meta/recipes-devtools/python/python3-sphinx-rtd-theme_1.3.0.bb
similarity index 88%
rename from poky/meta/recipes-devtools/python/python3-sphinx-rtd-theme_1.2.2.bb
rename to poky/meta/recipes-devtools/python/python3-sphinx-rtd-theme_1.3.0.bb
index 0fac83a..83bf705 100644
--- a/poky/meta/recipes-devtools/python/python3-sphinx-rtd-theme_1.2.2.bb
+++ b/poky/meta/recipes-devtools/python/python3-sphinx-rtd-theme_1.3.0.bb
@@ -13,7 +13,7 @@
 
 PYPI_PACKAGE = "sphinx_rtd_theme"
 
-SRC_URI[sha256sum] = "01c5c5a72e2d025bd23d1f06c59a4831b06e6ce6c01fdd5ebfe9986c0a880fc7"
+SRC_URI[sha256sum] = "590b030c7abb9cf038ec053b95e5380b5c70d61591eb0b552063fbe7c41f0931"
 UPSTREAM_CHECK_REGEX ?= "/sphinx-rtd-theme/(?P<pver>(\d+[\.\-_]*)+)/"
 
 inherit setuptools3 pypi
diff --git a/poky/meta/recipes-devtools/python/python3-sphinx_7.1.1.bb b/poky/meta/recipes-devtools/python/python3-sphinx_7.2.5.bb
similarity index 86%
rename from poky/meta/recipes-devtools/python/python3-sphinx_7.1.1.bb
rename to poky/meta/recipes-devtools/python/python3-sphinx_7.2.5.bb
index fa616cd..f55cc5a 100644
--- a/poky/meta/recipes-devtools/python/python3-sphinx_7.1.1.bb
+++ b/poky/meta/recipes-devtools/python/python3-sphinx_7.2.5.bb
@@ -4,9 +4,10 @@
 LICENSE = "BSD-2-Clause & MIT"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=5eb6ac1b115a1ed24a12d9f15b633993"
 
-SRC_URI[sha256sum] = "59b8e391f0768a96cd233e8300fe7f0a8dc2f64f83dc2a54336a9a84f428ff4e"
+SRC_URI[sha256sum] = "1a9290001b75c497fd087e92b0334f1bbfa1a1ae7fddc084990c4b7bd1130b88"
 
 inherit python_flit_core pypi
+UPSTREAM_CHECK_REGEX = "/Sphinx/(?P<pver>(\d+[\.\-_]*)+)/"
 
 do_install:append () {
 	# The cache format of "{None, 'en', 'ja'}" doesn't seem to be consistent (dict ordering?)
diff --git a/poky/meta/recipes-devtools/python/python3-trove-classifiers_2023.7.6.bb b/poky/meta/recipes-devtools/python/python3-trove-classifiers_2023.8.7.bb
similarity index 86%
rename from poky/meta/recipes-devtools/python/python3-trove-classifiers_2023.7.6.bb
rename to poky/meta/recipes-devtools/python/python3-trove-classifiers_2023.8.7.bb
index 7879dc2..9aed0d6 100644
--- a/poky/meta/recipes-devtools/python/python3-trove-classifiers_2023.7.6.bb
+++ b/poky/meta/recipes-devtools/python/python3-trove-classifiers_2023.8.7.bb
@@ -3,7 +3,7 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
 
-SRC_URI[sha256sum] = "8a8e168b51d20fed607043831d37632bb50919d1c80a64e0f1393744691a8b22"
+SRC_URI[sha256sum] = "c9f2a0a85d545e5362e967e4f069f56fddfd91215e22ffa48c66fb283521319a"
 
 inherit pypi python_setuptools_build_meta ptest
 
diff --git a/poky/meta/recipes-devtools/python/python3-wheel_0.41.0.bb b/poky/meta/recipes-devtools/python/python3-wheel_0.41.2.bb
similarity index 85%
rename from poky/meta/recipes-devtools/python/python3-wheel_0.41.0.bb
rename to poky/meta/recipes-devtools/python/python3-wheel_0.41.2.bb
index 2d87425..d11c6a8 100644
--- a/poky/meta/recipes-devtools/python/python3-wheel_0.41.0.bb
+++ b/poky/meta/recipes-devtools/python/python3-wheel_0.41.2.bb
@@ -4,7 +4,7 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7ffb0db04527cfe380e4f2726bd05ebf"
 
-SRC_URI[sha256sum] = "55a0f0a5a84869bce5ba775abfd9c462e3a6b1b7b7ec69d72c0b83d673a5114d"
+SRC_URI[sha256sum] = "0c5ac5ff2afb79ac23ab82bab027a0be7b5dbcf2e54dc50efe4bf507de1f7985"
 
 inherit python_flit_core pypi
 
diff --git a/poky/meta/recipes-devtools/python/python3/run-ptest b/poky/meta/recipes-devtools/python/python3/run-ptest
index efa8455..d1c26c1 100644
--- a/poky/meta/recipes-devtools/python/python3/run-ptest
+++ b/poky/meta/recipes-devtools/python/python3/run-ptest
@@ -1,3 +1,3 @@
 #!/bin/sh
-
-{ SETUPTOOLS_USE_DISTUTILS=nonlocal python3 -m test -v -j 4 || echo "FAIL: python3" ; } | sed -u -e '/\.\.\. ok/ s/^/PASS: /g' -r -e '/\.\.\. (ERROR|FAIL)/ s/^/FAIL: /g' -e '/\.\.\. skipped/ s/^/SKIP: /g' -e 's/ \.\.\. ok//g' -e 's/ \.\.\. ERROR//g' -e 's/ \.\.\. FAIL//g' -e 's/ \.\.\. skipped//g'
+SKIPPED_TESTS=
+{ SETUPTOOLS_USE_DISTUTILS=nonlocal python3 -m test $SKIPPED_TESTS -v -j 4 || echo "FAIL: python3" ; } | sed -u -e '/\.\.\. ok/ s/^/PASS: /g' -r -e '/\.\.\. (ERROR|FAIL)/ s/^/FAIL: /g' -e '/\.\.\. skipped/ s/^/SKIP: /g' -e 's/ \.\.\. ok//g' -e 's/ \.\.\. ERROR//g' -e 's/ \.\.\. FAIL//g' -e 's/ \.\.\. skipped//g'
diff --git a/poky/meta/recipes-devtools/python/python3_3.11.4.bb b/poky/meta/recipes-devtools/python/python3_3.11.5.bb
similarity index 94%
rename from poky/meta/recipes-devtools/python/python3_3.11.4.bb
rename to poky/meta/recipes-devtools/python/python3_3.11.5.bb
index b3534ad..f5d9731 100644
--- a/poky/meta/recipes-devtools/python/python3_3.11.4.bb
+++ b/poky/meta/recipes-devtools/python/python3_3.11.5.bb
@@ -39,7 +39,7 @@
            file://12-distutils-prefix-is-inside-staging-area.patch \
            file://0001-Don-t-search-system-for-headers-libraries.patch \
            "
-SRC_URI[sha256sum] = "2f0e409df2ab57aa9fc4cbddfb976af44e4e55bf6f619eee6bc5c2297264a7f6"
+SRC_URI[sha256sum] = "85cd12e9cf1d6d5a45f17f7afe1cebe7ee628d3282281c492e86adf636defa3f"
 
 # exclude pre-releases for both python 2.x and 3.x
 UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P<pver>\d+(\.\d+)+).tar"
@@ -53,7 +53,7 @@
 CVE_STATUS[CVE-2022-26488] = "not-applicable-platform: Issue only applies on Windows"
 # The module will be removed in the future and flaws documented.
 CVE_STATUS[CVE-2015-20107] = "upstream-wontfix: The mailcap module is insecure by design, so this can't be fixed in a meaningful way"
-# CVE_STATUS[CVE-2023-36632] = "disputed: Not an issue, in fact expected behaviour"
+CVE_STATUS[CVE-2023-36632] = "disputed: Not an issue, in fact expected behaviour"
 
 PYTHON_MAJMIN = "3.11"
 
@@ -91,6 +91,13 @@
                 ac_cv_file__dev_ptc=no \
                 ac_cv_working_tzset=yes \
 "
+# set thread stack size to 2MB on musl for interpreter and stdlib C extensions
+# so it does not run into stack limits due to musl's small thread stack
+# This is only needed to build interpreter and not the subsequent modules
+# Thats why CFLAGS_NODIST is modified instead of CFLAGS
+CACHED_CONFIGUREVARS:append:libc-musl = "\
+    CFLAGS_NODIST='${CFLAGS} -DTHREAD_STACK_SIZE=0x200000' \
+"
 
 # PGO currently causes builds to not be reproducible so disable by default, see YOCTO #13407
 PACKAGECONFIG ??= "editline gdbm ${@bb.utils.filter('DISTRO_FEATURES', 'lto', d)}"
@@ -217,6 +224,10 @@
     create_wrapper ${D}${bindir}/python${PYTHON_MAJMIN} TERMINFO_DIRS='${sysconfdir}/terminfo:/etc/terminfo:/usr/share/terminfo:/usr/share/misc/terminfo:/lib/terminfo' PYTHONNOUSERSITE='1'
 }
 
+do_install_ptest:append:class-target:libc-musl () {
+    sed -i -e 's|SKIPPED_TESTS=|SKIPPED_TESTS="-x test__locale -x test_c_locale_coercion -x test_locale -x test_os test_re -x test__xxsubinterpreters -x test_threading"|' ${D}${PTEST_PATH}/run-ptest
+}
+
 SYSROOT_PREPROCESS_FUNCS:append:class-target = " provide_target_config_script"
 SYSROOT_PREPROCESS_FUNCS:append:class-nativesdk = " provide_target_config_script"
 
@@ -424,8 +435,9 @@
 # See https://bugs.python.org/issue18748 and https://bugs.python.org/issue37395
 RDEPENDS:libpython3:append:libc-glibc = " libgcc"
 RDEPENDS:${PN}-ctypes:append:libc-glibc = " ${MLPREFIX}ldconfig"
-RDEPENDS:${PN}-ptest = "${PN}-modules ${PN}-tests ${PN}-dev ${PN}-cgitb ${PN}-zipapp unzip bzip2 libgcc tzdata coreutils sed gcc g++ binutils"
-RDEPENDS:${PN}-ptest:append:libc-glibc = " locale-base-fr-fr locale-base-en-us locale-base-tr-tr locale-base-de-de"
+RDEPENDS:${PN}-ptest = "${PN}-modules ${PN}-tests ${PN}-dev ${PN}-cgitb ${PN}-zipapp unzip bzip2 libgcc tzdata coreutils sed gcc g++ binutils \
+                        locale-base-fr-fr locale-base-en-us locale-base-de-de"
+RDEPENDS:${PN}-ptest:append:libc-glibc = " locale-base-tr-tr"
 RDEPENDS:${PN}-tkinter += "${@bb.utils.contains('PACKAGECONFIG', 'tk', '${MLPREFIX}tk ${MLPREFIX}tk-lib', '', d)}"
 RDEPENDS:${PN}-idle += "${@bb.utils.contains('PACKAGECONFIG', 'tk', '${PN}-tkinter ${MLPREFIX}tcl', '', d)}"
 DEV_PKG_DEPENDENCY = ""
diff --git a/poky/meta/recipes-devtools/qemu/qemu-native_8.0.3.bb b/poky/meta/recipes-devtools/qemu/qemu-native_8.1.0.bb
similarity index 100%
rename from poky/meta/recipes-devtools/qemu/qemu-native_8.0.3.bb
rename to poky/meta/recipes-devtools/qemu/qemu-native_8.1.0.bb
diff --git a/poky/meta/recipes-devtools/qemu/qemu-system-native_8.0.3.bb b/poky/meta/recipes-devtools/qemu/qemu-system-native_8.1.0.bb
similarity index 95%
rename from poky/meta/recipes-devtools/qemu/qemu-system-native_8.0.3.bb
rename to poky/meta/recipes-devtools/qemu/qemu-system-native_8.1.0.bb
index 04c7c2a..558a416 100644
--- a/poky/meta/recipes-devtools/qemu/qemu-system-native_8.0.3.bb
+++ b/poky/meta/recipes-devtools/qemu/qemu-system-native_8.1.0.bb
@@ -11,7 +11,7 @@
 
 EXTRA_OECONF:append = " --target-list=${@get_qemu_system_target_list(d)}"
 
-PACKAGECONFIG ??= "fdt alsa kvm pie slirp \
+PACKAGECONFIG ??= "fdt alsa kvm pie slirp png \
     ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'virglrenderer epoxy', '', d)} \
 "
 
diff --git a/poky/meta/recipes-devtools/qemu/qemu.inc b/poky/meta/recipes-devtools/qemu/qemu.inc
index 64bade8..15b963d 100644
--- a/poky/meta/recipes-devtools/qemu/qemu.inc
+++ b/poky/meta/recipes-devtools/qemu/qemu.inc
@@ -9,7 +9,9 @@
 RDEPENDS:${PN}-ptest = "bash"
 
 require qemu-targets.inc
-inherit pkgconfig ptest update-rc.d systemd
+# https://gitlab.com/qemu-project/qemu/-/commit/81e2b198a8cb4ee5fdf108bd438f44b193ee3a36 means
+# we need a full python3-native setup
+inherit pkgconfig ptest update-rc.d systemd python3native
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \
                     file://COPYING.LIB;endline=24;md5=8c5efda6cf1e1b03dcfd0e6c0d271c7f"
@@ -27,13 +29,17 @@
            file://0009-Define-MAP_SYNC-and-MAP_SHARED_VALIDATE-on-needed-li.patch \
            file://0010-hw-pvrdma-Protect-against-buggy-or-malicious-guest-d.patch \
            file://0002-linux-user-Replace-use-of-lfs64-related-functions-an.patch \
-           file://0001-tracetool-use-relative-paths-for-line-preprocessor-d.patch \
+           file://0001-softmmu-Assert-data-in-bounds-in-iotlb_to_section.patch \
+           file://0001-softmmu-Use-async_run_on_cpu-in-tcg_commit.patch \
+           file://fixedmeson.patch \
+           file://fixmips.patch \
            file://qemu-guest-agent.init \
            file://qemu-guest-agent.udev \
            "
 UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar"
 
-SRC_URI[sha256sum] = "ecf4d32cbef9d397bfc8cc50e4d1e92a1b30253bf32e8ee73c7a8dcf9a232b09"
+
+SRC_URI[sha256sum] = "710c101198e334d4762eef65f649bc43fa8a5dd75303554b8acfec3eb25f0e55"
 
 SRC_URI:append:class-target = " file://cross.patch"
 SRC_URI:append:class-nativesdk = " file://cross.patch"
@@ -104,9 +110,8 @@
     --disable-werror \
     --extra-cflags='${CFLAGS}' \
     --extra-ldflags='${LDFLAGS}' \
-    --with-git=/bin/false \
-    --with-git-submodules=ignore \
-    --meson=meson \
+    --disable-download \
+    --disable-docs \
     ${PACKAGECONFIG_CONFARGS} \
     "
 
@@ -144,6 +149,10 @@
 		install -m 0644 ${S}/contrib/systemd/qemu-guest-agent.service ${D}${systemd_unitdir}/system
 		sed -i -e 's,-/usr/bin/,-${bindir}/,g' ${D}${systemd_unitdir}/system/qemu-guest-agent.service
 	fi
+	# ELF binary /usr/share/qemu/s390-netboot.img has relocations in .text
+	rm ${D}${datadir}/qemu/s390-netboot.img -f
+	# ELF binary /usr/share/qemu/s390-ccw.img has relocations in .text [textrel]
+	rm ${D}${datadir}/qemu/s390-ccw.img -f
 }
 
 # The following fragment will create a wrapper for qemu-mips user emulation
@@ -195,11 +204,12 @@
 # spice will be in meta-networking layer
 PACKAGECONFIG[spice] = "--enable-spice,--disable-spice,spice"
 # usbredir will be in meta-networking layer
+PACKAGECONFIG[dbus-display] = "--enable-dbus-display,--disable-dbus-display,glib-2.0-native,dbus"
 PACKAGECONFIG[usb-redir] = "--enable-usb-redir,--disable-usb-redir,usbredir"
 PACKAGECONFIG[snappy] = "--enable-snappy,--disable-snappy,snappy"
 PACKAGECONFIG[glusterfs] = "--enable-glusterfs,--disable-glusterfs,glusterfs"
 PACKAGECONFIG[xkbcommon] = "--enable-xkbcommon,--disable-xkbcommon,libxkbcommon"
-PACKAGECONFIG[libudev] = "--enable-libudev,--disable-libudev,eudev"
+PACKAGECONFIG[libudev] = "--enable-libudev,--disable-libudev,udev"
 PACKAGECONFIG[attr] = "--enable-attr,--disable-attr,attr,"
 PACKAGECONFIG[rbd] = "--enable-rbd,--disable-rbd,ceph,ceph"
 PACKAGECONFIG[vhost] = "--enable-vhost-net,--disable-vhost-net,,"
@@ -215,20 +225,24 @@
 PACKAGECONFIG[capstone] = "--enable-capstone,--disable-capstone"
 PACKAGECONFIG[rdma] = "--enable-rdma,--disable-rdma"
 PACKAGECONFIG[vde] = "--enable-vde,--disable-vde"
+PACKAGECONFIG[fuse] = "--enable-fuse --enable-fuse-lseek,--disable-fuse --disable-fuse-lseek,fuse3"
 PACKAGECONFIG[slirp] = "--enable-slirp,--disable-slirp,libslirp"
 PACKAGECONFIG[brlapi] = "--enable-brlapi,--disable-brlapi"
 PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack,"
 PACKAGECONFIG[debuginfo] = "--enable-libdw,--disable-libdw,elfutils"
 
-INSANE_SKIP:${PN} = "arch"
+INSANE_SKIP:${PN}-common = "arch"
 
 FILES:${PN} += "${datadir}/icons"
 
 # For user who want to install all arch packages
-PACKAGES =+ "${PN}-system-all ${PN}-user-all"
+PACKAGES =+ "${PN}-common"
+RDEPENDS:${PN} += "${PN}-common"
 
-ALLOW_EMPTY:${PN}-system-all = "1"
-ALLOW_EMPTY:${PN}-user-all = "1"
+ALLOW_EMPTY:${PN} = "1"
+FILES:${PN} = ""
+
+FILES:${PN}-common = "${bindir}/* ${includedir}/* ${libexecdir}/* ${datadir}/* ${localstatedir}"
 
 PACKAGES_DYNAMIC += "^${PN}-user-.*  ^${PN}-system-.*"
 
@@ -236,15 +250,13 @@
 
 python split_qemu_packages () {
     archdir = d.expand('${bindir}/')
-    syspackages = do_split_packages(d, archdir, r'^qemu-system-(.*)$', '${PN}-system-%s', 'QEMU full system emulation binaries(%s)' , prepend=True)
-    if syspackages:
-        d.setVar('RDEPENDS:' + d.getVar('PN') + '-system-all', ' '.join(syspackages))
+    subpackages = do_split_packages(d, archdir, r'^qemu-system-(.*)$', '${PN}-system-%s', 'QEMU full system emulation binaries(%s)' , prepend=True, extra_depends='${PN}-common')
 
-    userpackages = do_split_packages(d, archdir, r'^qemu-((?!system|edid|ga|img|io|nbd|pr-helper|storage-daemon).*)$', '${PN}-user-%s', 'QEMU full user emulation binaries(%s)' , prepend=True)
-    if userpackages:
-        d.setVar('RDEPENDS:' + d.getVar('PN') + '-user-all', ' '.join(userpackages))
+    subpackages += do_split_packages(d, archdir, r'^qemu-((?!system|edid|ga|img|io|nbd|pr-helper|storage-daemon).*)$', '${PN}-user-%s', 'QEMU full user emulation binaries(%s)' , prepend=True, extra_depends='${PN}-common')
+    if subpackages:
+        d.appendVar('RDEPENDS:' + d.getVar('PN'), ' ' + ' '.join(subpackages))
     mipspackage = d.getVar('PN') + "-user-mips"
-    if mipspackage in ' '.join(userpackages):
+    if mipspackage in ' '.join(subpackages):
         d.appendVar('RDEPENDS:' + mipspackage, ' ' + d.getVar("MLPREFIX") + 'bash')
 }
 
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0001-CVE-2023-40360-hw-nvme-fix-null-pointer-access-in-di.patch b/poky/meta/recipes-devtools/qemu/qemu/0001-CVE-2023-40360-hw-nvme-fix-null-pointer-access-in-di.patch
new file mode 100644
index 0000000..731b028
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/0001-CVE-2023-40360-hw-nvme-fix-null-pointer-access-in-di.patch
@@ -0,0 +1,39 @@
+From 83dd3da9fac872fac9739b9dcb96232c93675824 Mon Sep 17 00:00:00 2001
+From: Klaus Jensen <k.jensen@samsung.com>
+Date: Tue, 8 Aug 2023 17:16:13 +0200
+Subject: [PATCH] CVE-2023-40360 hw/nvme: fix null pointer access in directive
+ receive
+
+nvme_directive_receive() does not check if an endurance group has been
+configured (set) prior to testing if flexible data placement is enabled
+or not.
+
+Fix this.
+
+CVE: CVE-2023-40360
+Upstream-Status: Backport [https://gitlab.com/birkelund/qemu/-/commit/6c8f8456cb0b239812dee5211881426496da7b98]
+Cc: qemu-stable@nongnu.org
+Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1815
+Fixes: 73064edfb864 ("hw/nvme: flexible data placement emulation")
+Reviewed-by: Jesper Wendel Devantier <j.devantier@samsung.com>
+Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
+---
+ hw/nvme/ctrl.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/hw/nvme/ctrl.c b/hw/nvme/ctrl.c
+index 2097fb131..36a2846c3 100644
+--- a/hw/nvme/ctrl.c
++++ b/hw/nvme/ctrl.c
+@@ -6862,7 +6862,7 @@ static uint16_t nvme_directive_receive(NvmeCtrl *n, NvmeRequest *req)
+     case NVME_DIRECTIVE_IDENTIFY:
+         switch (doper) {
+         case NVME_DIRECTIVE_RETURN_PARAMS:
+-            if (ns->endgrp->fdp.enabled) {
++            if (ns->endgrp && ns->endgrp->fdp.enabled) {
+                 id.supported |= 1 << NVME_DIRECTIVE_DATA_PLACEMENT;
+                 id.enabled |= 1 << NVME_DIRECTIVE_DATA_PLACEMENT;
+                 id.persistent |= 1 << NVME_DIRECTIVE_DATA_PLACEMENT;
+-- 
+2.42.0
+
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0001-softmmu-Assert-data-in-bounds-in-iotlb_to_section.patch b/poky/meta/recipes-devtools/qemu/qemu/0001-softmmu-Assert-data-in-bounds-in-iotlb_to_section.patch
new file mode 100644
index 0000000..7380e16
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/0001-softmmu-Assert-data-in-bounds-in-iotlb_to_section.patch
@@ -0,0 +1,42 @@
+From 86e4f93d827d3c1efd00cd8a906e38a2c0f2b5bc Mon Sep 17 00:00:00 2001
+From: Richard Henderson <richard.henderson@linaro.org>
+Date: Fri, 25 Aug 2023 14:06:58 -0700
+Subject: [PATCH] softmmu: Assert data in bounds in iotlb_to_section
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Acked-by: Alex Bennée <alex.bennee@linaro.org>
+Suggested-by: Alex Bennée <alex.bennee@linaro.org>
+Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
+
+Upstream-Status: Backport [https://gitlab.com/qemu-project/qemu/-/commit/86e4f93d827d3c1efd00cd8a906e38a2c0f2b5bc]
+---
+ softmmu/physmem.c | 10 ++++++++--
+ 1 file changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/softmmu/physmem.c b/softmmu/physmem.c
+index 3df73542e1..7597dc1c39 100644
+--- a/softmmu/physmem.c
++++ b/softmmu/physmem.c
+@@ -2413,9 +2413,15 @@ MemoryRegionSection *iotlb_to_section(CPUState *cpu,
+     int asidx = cpu_asidx_from_attrs(cpu, attrs);
+     CPUAddressSpace *cpuas = &cpu->cpu_ases[asidx];
+     AddressSpaceDispatch *d = qatomic_rcu_read(&cpuas->memory_dispatch);
+-    MemoryRegionSection *sections = d->map.sections;
++    int section_index = index & ~TARGET_PAGE_MASK;
++    MemoryRegionSection *ret;
++
++    assert(section_index < d->map.sections_nb);
++    ret = d->map.sections + section_index;
++    assert(ret->mr);
++    assert(ret->mr->ops);
+ 
+-    return &sections[index & ~TARGET_PAGE_MASK];
++    return ret;
+ }
+ 
+ static void io_mem_init(void)
+-- 
+2.34.1
+
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0001-softmmu-Use-async_run_on_cpu-in-tcg_commit.patch b/poky/meta/recipes-devtools/qemu/qemu/0001-softmmu-Use-async_run_on_cpu-in-tcg_commit.patch
new file mode 100644
index 0000000..8289b45
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/0001-softmmu-Use-async_run_on_cpu-in-tcg_commit.patch
@@ -0,0 +1,157 @@
+From 0d58c660689f6da1e3feff8a997014003d928b3b Mon Sep 17 00:00:00 2001
+From: Richard Henderson <richard.henderson@linaro.org>
+Date: Fri, 25 Aug 2023 16:13:17 -0700
+Subject: [PATCH] softmmu: Use async_run_on_cpu in tcg_commit
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+After system startup, run the update to memory_dispatch
+and the tlb_flush on the cpu.  This eliminates a race,
+wherein a running cpu sees the memory_dispatch change
+but has not yet seen the tlb_flush.
+
+Since the update now happens on the cpu, we need not use
+qatomic_rcu_read to protect the read of memory_dispatch.
+
+Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1826
+Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1834
+Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1846
+Tested-by: Alex Bennée <alex.bennee@linaro.org>
+Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
+Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
+
+Upstream-Status: Backport [0d58c660689f6da1e3feff8a997014003d928b3b]
+---
+ accel/tcg/cpu-exec-common.c | 30 ----------------------------
+ include/exec/cpu-common.h   |  1 -
+ softmmu/physmem.c           | 40 +++++++++++++++++++++++++++----------
+ 3 files changed, 29 insertions(+), 42 deletions(-)
+
+Index: qemu-8.1.0/accel/tcg/cpu-exec-common.c
+===================================================================
+--- qemu-8.1.0.orig/accel/tcg/cpu-exec-common.c
++++ qemu-8.1.0/accel/tcg/cpu-exec-common.c
+@@ -33,36 +33,6 @@ void cpu_loop_exit_noexc(CPUState *cpu)
+     cpu_loop_exit(cpu);
+ }
+ 
+-#if defined(CONFIG_SOFTMMU)
+-void cpu_reloading_memory_map(void)
+-{
+-    if (qemu_in_vcpu_thread() && current_cpu->running) {
+-        /* The guest can in theory prolong the RCU critical section as long
+-         * as it feels like. The major problem with this is that because it
+-         * can do multiple reconfigurations of the memory map within the
+-         * critical section, we could potentially accumulate an unbounded
+-         * collection of memory data structures awaiting reclamation.
+-         *
+-         * Because the only thing we're currently protecting with RCU is the
+-         * memory data structures, it's sufficient to break the critical section
+-         * in this callback, which we know will get called every time the
+-         * memory map is rearranged.
+-         *
+-         * (If we add anything else in the system that uses RCU to protect
+-         * its data structures, we will need to implement some other mechanism
+-         * to force TCG CPUs to exit the critical section, at which point this
+-         * part of this callback might become unnecessary.)
+-         *
+-         * This pair matches cpu_exec's rcu_read_lock()/rcu_read_unlock(), which
+-         * only protects cpu->as->dispatch. Since we know our caller is about
+-         * to reload it, it's safe to split the critical section.
+-         */
+-        rcu_read_unlock();
+-        rcu_read_lock();
+-    }
+-}
+-#endif
+-
+ void cpu_loop_exit(CPUState *cpu)
+ {
+     /* Undo the setting in cpu_tb_exec.  */
+Index: qemu-8.1.0/include/exec/cpu-common.h
+===================================================================
+--- qemu-8.1.0.orig/include/exec/cpu-common.h
++++ qemu-8.1.0/include/exec/cpu-common.h
+@@ -133,7 +133,6 @@ static inline void cpu_physical_memory_w
+ {
+     cpu_physical_memory_rw(addr, (void *)buf, len, true);
+ }
+-void cpu_reloading_memory_map(void);
+ void *cpu_physical_memory_map(hwaddr addr,
+                               hwaddr *plen,
+                               bool is_write);
+Index: qemu-8.1.0/softmmu/physmem.c
+===================================================================
+--- qemu-8.1.0.orig/softmmu/physmem.c
++++ qemu-8.1.0/softmmu/physmem.c
+@@ -680,8 +680,7 @@ address_space_translate_for_iotlb(CPUSta
+     IOMMUTLBEntry iotlb;
+     int iommu_idx;
+     hwaddr addr = orig_addr;
+-    AddressSpaceDispatch *d =
+-        qatomic_rcu_read(&cpu->cpu_ases[asidx].memory_dispatch);
++    AddressSpaceDispatch *d = cpu->cpu_ases[asidx].memory_dispatch;
+ 
+     for (;;) {
+         section = address_space_translate_internal(d, addr, &addr, plen, false);
+@@ -2412,7 +2411,7 @@ MemoryRegionSection *iotlb_to_section(CP
+ {
+     int asidx = cpu_asidx_from_attrs(cpu, attrs);
+     CPUAddressSpace *cpuas = &cpu->cpu_ases[asidx];
+-    AddressSpaceDispatch *d = qatomic_rcu_read(&cpuas->memory_dispatch);
++    AddressSpaceDispatch *d = cpuas->memory_dispatch;
+     int section_index = index & ~TARGET_PAGE_MASK;
+     MemoryRegionSection *ret;
+ 
+@@ -2487,23 +2486,42 @@ static void tcg_log_global_after_sync(Me
+     }
+ }
+ 
++static void tcg_commit_cpu(CPUState *cpu, run_on_cpu_data data)
++{
++    CPUAddressSpace *cpuas = data.host_ptr;
++
++    cpuas->memory_dispatch = address_space_to_dispatch(cpuas->as);
++    tlb_flush(cpu);
++}
++
+ static void tcg_commit(MemoryListener *listener)
+ {
+     CPUAddressSpace *cpuas;
+-    AddressSpaceDispatch *d;
++    CPUState *cpu;
+ 
+     assert(tcg_enabled());
+     /* since each CPU stores ram addresses in its TLB cache, we must
+        reset the modified entries */
+     cpuas = container_of(listener, CPUAddressSpace, tcg_as_listener);
+-    cpu_reloading_memory_map();
+-    /* The CPU and TLB are protected by the iothread lock.
+-     * We reload the dispatch pointer now because cpu_reloading_memory_map()
+-     * may have split the RCU critical section.
++    cpu = cpuas->cpu;
++
++    /*
++     * Defer changes to as->memory_dispatch until the cpu is quiescent.
++     * Otherwise we race between (1) other cpu threads and (2) ongoing
++     * i/o for the current cpu thread, with data cached by mmu_lookup().
++     *
++     * In addition, queueing the work function will kick the cpu back to
++     * the main loop, which will end the RCU critical section and reclaim
++     * the memory data structures.
++     *
++     * That said, the listener is also called during realize, before
++     * all of the tcg machinery for run-on is initialized: thus halt_cond.
+      */
+-    d = address_space_to_dispatch(cpuas->as);
+-    qatomic_rcu_set(&cpuas->memory_dispatch, d);
+-    tlb_flush(cpuas->cpu);
++    if (cpu->halt_cond) {
++        async_run_on_cpu(cpu, tcg_commit_cpu, RUN_ON_CPU_HOST_PTR(cpuas));
++    } else {
++        tcg_commit_cpu(cpu, RUN_ON_CPU_HOST_PTR(cpuas));
++    }
+ }
+ 
+ static void memory_map_init(void)
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0001-tracetool-use-relative-paths-for-line-preprocessor-d.patch b/poky/meta/recipes-devtools/qemu/qemu/0001-tracetool-use-relative-paths-for-line-preprocessor-d.patch
deleted file mode 100644
index 049b9a5..0000000
--- a/poky/meta/recipes-devtools/qemu/qemu/0001-tracetool-use-relative-paths-for-line-preprocessor-d.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-From 348ea441db84a211d4fca7ef5544b5cd06a8a872 Mon Sep 17 00:00:00 2001
-From: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
-Date: Tue, 4 Apr 2023 15:26:07 +0200
-Subject: [PATCH] tracetool: use relative paths for '#line' preprocessor
- directives
-
-The event filename is an absolute path. Convert it to a relative path when
-writing '#line' directives, to preserve reproducibility of the generated
-output when different base paths are used.
-
-Upstream-Status: Accepted [https://gitlab.com/qemu-project/qemu/-/commit/9d672e290475001fcecdcc9dc79ad088ff89d17f]
-
----
- scripts/tracetool/backend/ftrace.py | 4 +++-
- scripts/tracetool/backend/log.py    | 4 +++-
- scripts/tracetool/backend/syslog.py | 4 +++-
- 3 files changed, 9 insertions(+), 3 deletions(-)
-
-Index: qemu-8.0.0/scripts/tracetool/backend/ftrace.py
-===================================================================
---- qemu-8.0.0.orig/scripts/tracetool/backend/ftrace.py
-+++ qemu-8.0.0/scripts/tracetool/backend/ftrace.py
-@@ -12,6 +12,8 @@ __maintainer__ = "Stefan Hajnoczi"
- __email__      = "stefanha@redhat.com"
- 
- 
-+import os.path
-+
- from tracetool import out
- 
- 
-@@ -45,7 +47,7 @@ def generate_h(event, group):
-         args=event.args,
-         event_id="TRACE_" + event.name.upper(),
-         event_lineno=event.lineno,
--        event_filename=event.filename,
-+        event_filename=os.path.relpath(event.filename),
-         fmt=event.fmt.rstrip("\n"),
-         argnames=argnames)
- 
-Index: qemu-8.0.0/scripts/tracetool/backend/log.py
-===================================================================
---- qemu-8.0.0.orig/scripts/tracetool/backend/log.py
-+++ qemu-8.0.0/scripts/tracetool/backend/log.py
-@@ -12,6 +12,8 @@ __maintainer__ = "Stefan Hajnoczi"
- __email__      = "stefanha@redhat.com"
- 
- 
-+import os.path
-+
- from tracetool import out
- 
- 
-@@ -53,7 +55,7 @@ def generate_h(event, group):
-         '    }',
-         cond=cond,
-         event_lineno=event.lineno,
--        event_filename=event.filename,
-+        event_filename=os.path.relpath(event.filename),
-         name=event.name,
-         fmt=event.fmt.rstrip("\n"),
-         argnames=argnames)
-Index: qemu-8.0.0/scripts/tracetool/backend/syslog.py
-===================================================================
---- qemu-8.0.0.orig/scripts/tracetool/backend/syslog.py
-+++ qemu-8.0.0/scripts/tracetool/backend/syslog.py
-@@ -12,6 +12,8 @@ __maintainer__ = "Stefan Hajnoczi"
- __email__      = "stefanha@redhat.com"
- 
- 
-+import os.path
-+
- from tracetool import out
- 
- 
-@@ -41,7 +43,7 @@ def generate_h(event, group):
-         '    }',
-         cond=cond,
-         event_lineno=event.lineno,
--        event_filename=event.filename,
-+        event_filename=os.path.relpath(event.filename),
-         name=event.name,
-         fmt=event.fmt.rstrip("\n"),
-         argnames=argnames)
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0004-configure-Add-pkg-config-handling-for-libgcrypt.patch b/poky/meta/recipes-devtools/qemu/qemu/0004-configure-Add-pkg-config-handling-for-libgcrypt.patch
index 02f2214..f981a64 100644
--- a/poky/meta/recipes-devtools/qemu/qemu/0004-configure-Add-pkg-config-handling-for-libgcrypt.patch
+++ b/poky/meta/recipes-devtools/qemu/qemu/0004-configure-Add-pkg-config-handling-for-libgcrypt.patch
@@ -14,16 +14,16 @@
  meson.build | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-Index: qemu-8.0.0/meson.build
+Index: qemu-8.1.0/meson.build
 ===================================================================
---- qemu-8.0.0.orig/meson.build
-+++ qemu-8.0.0/meson.build
-@@ -1213,7 +1213,7 @@ endif
+--- qemu-8.1.0.orig/meson.build
++++ qemu-8.1.0/meson.build
+@@ -1481,7 +1481,7 @@ endif
  if not gnutls_crypto.found()
    if (not get_option('gcrypt').auto() or have_system) and not get_option('nettle').enabled()
      gcrypt = dependency('libgcrypt', version: '>=1.8',
 -                        method: 'config-tool',
 +                        method: 'pkg-config',
-                         required: get_option('gcrypt'),
-                         kwargs: static_kwargs)
+                         required: get_option('gcrypt'))
      # Debian has removed -lgpg-error from libgcrypt-config
+     # as it "spreads unnecessary dependencies" which in
diff --git a/poky/meta/recipes-devtools/qemu/qemu/fixedmeson.patch b/poky/meta/recipes-devtools/qemu/qemu/fixedmeson.patch
new file mode 100644
index 0000000..0cbaea0
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/fixedmeson.patch
@@ -0,0 +1,20 @@
+Upstream-Status: Inappropriate [workaround, would need a real fix for upstream]
+
+Index: qemu-8.1.0/configure
+===================================================================
+--- qemu-8.1.0.orig/configure
++++ qemu-8.1.0/configure
+@@ -1032,12 +1032,7 @@ then
+     exit 1
+ fi
+ 
+-# At this point, we expect Meson to be installed and available.
+-# We expect mkvenv or pip to have created pyvenv/bin/meson for us.
+-# We ignore PATH completely here: we want to use the venv's Meson
+-# *exclusively*.
+-
+-meson="$(cd pyvenv/bin; pwd)/meson"
++meson=`which meson`
+ 
+ # Conditionally ensure Sphinx is installed.
+ 
diff --git a/poky/meta/recipes-devtools/qemu/qemu/fixmips.patch b/poky/meta/recipes-devtools/qemu/qemu/fixmips.patch
new file mode 100644
index 0000000..01546d1
--- /dev/null
+++ b/poky/meta/recipes-devtools/qemu/qemu/fixmips.patch
@@ -0,0 +1,18 @@
+Patch to fix mips boot hangs where virtio appears broken. Patch under discussion upstream. 
+Regression is introduced by other fixes to 8.1.0 to get x86 boots working.
+
+Upstream-Status: Pending [https://lore.kernel.org/qemu-devel/6c956b90-5a13-db96-9c02-9834a512fe6f@linaro.org/]
+
+Index: qemu-8.1.0/softmmu/physmem.c
+===================================================================
+--- qemu-8.1.0.orig/softmmu/physmem.c
++++ qemu-8.1.0/softmmu/physmem.c
+@@ -2517,7 +2517,7 @@ static void tcg_commit(MemoryListener *l
+      * That said, the listener is also called during realize, before
+      * all of the tcg machinery for run-on is initialized: thus halt_cond.
+      */
+-    if (cpu->halt_cond) {
++    if (cpu->halt_cond && !qemu_cpu_is_self(cpu)) {
+         async_run_on_cpu(cpu, tcg_commit_cpu, RUN_ON_CPU_HOST_PTR(cpuas));
+     } else {
+         tcg_commit_cpu(cpu, RUN_ON_CPU_HOST_PTR(cpuas));
diff --git a/poky/meta/recipes-devtools/qemu/qemu_8.0.3.bb b/poky/meta/recipes-devtools/qemu/qemu_8.1.0.bb
similarity index 89%
rename from poky/meta/recipes-devtools/qemu/qemu_8.0.3.bb
rename to poky/meta/recipes-devtools/qemu/qemu_8.1.0.bb
index 42e1339..84ee0bc 100644
--- a/poky/meta/recipes-devtools/qemu/qemu_8.0.3.bb
+++ b/poky/meta/recipes-devtools/qemu/qemu_8.1.0.bb
@@ -8,7 +8,7 @@
 
 CFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', '-DEGL_NO_X11=1', d)}"
 
-RDEPENDS:${PN}:class-target += "bash"
+RDEPENDS:${PN}-common:class-target += "bash"
 
 EXTRA_OECONF:append:class-target = " --target-list=${@get_qemu_target_list(d)}"
 EXTRA_OECONF:append:class-target:mipsarcho32 = "${@bb.utils.contains('BBEXTENDCURR', 'multilib', ' --disable-capstone', '', d)}"
@@ -16,7 +16,7 @@
 
 PACKAGECONFIG ??= " \
     fdt sdl kvm pie slirp \
-    ${@bb.utils.filter('DISTRO_FEATURES', 'alsa xen', d)} \
+    ${@bb.utils.filter('DISTRO_FEATURES', 'alsa pulseaudio xen', d)} \
     ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'virglrenderer epoxy', '', d)} \
     ${@bb.utils.filter('DISTRO_FEATURES', 'seccomp', d)} \
 "
diff --git a/poky/meta/recipes-devtools/repo/repo_2.35.bb b/poky/meta/recipes-devtools/repo/repo_2.36.1.bb
similarity index 94%
rename from poky/meta/recipes-devtools/repo/repo_2.35.bb
rename to poky/meta/recipes-devtools/repo/repo_2.36.1.bb
index d34c3db..a3b4343 100644
--- a/poky/meta/recipes-devtools/repo/repo_2.35.bb
+++ b/poky/meta/recipes-devtools/repo/repo_2.36.1.bb
@@ -12,7 +12,7 @@
 SRC_URI = "git://gerrit.googlesource.com/git-repo.git;protocol=https;branch=main \
            file://0001-python3-shebang.patch \
            "
-SRCREV = "c657844efe40b97700c3654989bdbe3a33e409d7"
+SRCREV = "1e9f7b9e9ef473305d10a26a48138bc6ad38ccf6"
 
 MIRRORS += "git://gerrit.googlesource.com/git-repo.git git://github.com/GerritCodeReview/git-repo.git"
 
diff --git a/poky/meta/recipes-devtools/rust/cargo-c-crates.inc b/poky/meta/recipes-devtools/rust/cargo-c-crates.inc
new file mode 100644
index 0000000..fc546c7
--- /dev/null
+++ b/poky/meta/recipes-devtools/rust/cargo-c-crates.inc
@@ -0,0 +1,453 @@
+SRC_URI += " \
+    crate://crates.io/adler/1.0.2 \
+    crate://crates.io/aho-corasick/1.0.3 \
+    crate://crates.io/anstream/0.3.2 \
+    crate://crates.io/anstyle/1.0.1 \
+    crate://crates.io/anstyle-parse/0.2.1 \
+    crate://crates.io/anstyle-query/1.0.0 \
+    crate://crates.io/anstyle-wincon/1.0.2 \
+    crate://crates.io/anyhow/1.0.72 \
+    crate://crates.io/arrayvec/0.5.2 \
+    crate://crates.io/atty/0.2.14 \
+    crate://crates.io/autocfg/1.1.0 \
+    crate://crates.io/base16ct/0.2.0 \
+    crate://crates.io/base64/0.13.1 \
+    crate://crates.io/base64ct/1.6.0 \
+    crate://crates.io/bitflags/1.3.2 \
+    crate://crates.io/bitflags/2.3.3 \
+    crate://crates.io/bitmaps/2.1.0 \
+    crate://crates.io/block-buffer/0.10.4 \
+    crate://crates.io/bstr/1.6.0 \
+    crate://crates.io/bumpalo/3.13.0 \
+    crate://crates.io/bytes/1.4.0 \
+    crate://crates.io/bytesize/1.2.0 \
+    crate://crates.io/cargo/0.69.1 \
+    crate://crates.io/cargo-platform/0.1.3 \
+    crate://crates.io/cargo-util/0.2.4 \
+    crate://crates.io/cbindgen/0.24.5 \
+    crate://crates.io/cc/1.0.82 \
+    crate://crates.io/cfg-if/1.0.0 \
+    crate://crates.io/clap/3.2.25 \
+    crate://crates.io/clap/4.3.21 \
+    crate://crates.io/clap_builder/4.3.21 \
+    crate://crates.io/clap_derive/4.3.12 \
+    crate://crates.io/clap_lex/0.2.4 \
+    crate://crates.io/clap_lex/0.5.0 \
+    crate://crates.io/colorchoice/1.0.0 \
+    crate://crates.io/combine/4.6.6 \
+    crate://crates.io/const-oid/0.9.5 \
+    crate://crates.io/core-foundation/0.9.3 \
+    crate://crates.io/core-foundation-sys/0.8.4 \
+    crate://crates.io/cpufeatures/0.2.9 \
+    crate://crates.io/crates-io/0.35.1 \
+    crate://crates.io/crc32fast/1.3.2 \
+    crate://crates.io/crypto-bigint/0.5.2 \
+    crate://crates.io/crypto-common/0.1.6 \
+    crate://crates.io/ct-codecs/1.1.1 \
+    crate://crates.io/curl/0.4.44 \
+    crate://crates.io/curl-sys/0.4.65+curl-8.2.1 \
+    crate://crates.io/der/0.7.8 \
+    crate://crates.io/deranged/0.3.7 \
+    crate://crates.io/digest/0.10.7 \
+    crate://crates.io/ecdsa/0.16.8 \
+    crate://crates.io/ed25519-compact/2.0.4 \
+    crate://crates.io/either/1.9.0 \
+    crate://crates.io/elliptic-curve/0.13.5 \
+    crate://crates.io/env_logger/0.10.0 \
+    crate://crates.io/equivalent/1.0.1 \
+    crate://crates.io/errno/0.3.2 \
+    crate://crates.io/errno-dragonfly/0.1.2 \
+    crate://crates.io/fastrand/2.0.0 \
+    crate://crates.io/ff/0.13.0 \
+    crate://crates.io/fiat-crypto/0.1.20 \
+    crate://crates.io/filetime/0.2.22 \
+    crate://crates.io/flate2/1.0.26 \
+    crate://crates.io/fnv/1.0.7 \
+    crate://crates.io/foreign-types/0.3.2 \
+    crate://crates.io/foreign-types-shared/0.1.1 \
+    crate://crates.io/form_urlencoded/1.2.0 \
+    crate://crates.io/fwdansi/1.1.0 \
+    crate://crates.io/generic-array/0.14.7 \
+    crate://crates.io/getrandom/0.2.10 \
+    crate://crates.io/git2/0.16.0 \
+    crate://crates.io/git2-curl/0.17.0 \
+    crate://crates.io/glob/0.3.1 \
+    crate://crates.io/globset/0.4.13 \
+    crate://crates.io/group/0.13.0 \
+    crate://crates.io/hashbrown/0.12.3 \
+    crate://crates.io/hashbrown/0.14.0 \
+    crate://crates.io/heck/0.4.1 \
+    crate://crates.io/hermit-abi/0.1.19 \
+    crate://crates.io/hermit-abi/0.3.2 \
+    crate://crates.io/hex/0.4.3 \
+    crate://crates.io/hkdf/0.12.3 \
+    crate://crates.io/hmac/0.12.1 \
+    crate://crates.io/home/0.5.5 \
+    crate://crates.io/http-auth/0.1.8 \
+    crate://crates.io/humantime/2.1.0 \
+    crate://crates.io/idna/0.4.0 \
+    crate://crates.io/ignore/0.4.20 \
+    crate://crates.io/im-rc/15.1.0 \
+    crate://crates.io/indexmap/1.9.3 \
+    crate://crates.io/indexmap/2.0.0 \
+    crate://crates.io/is-terminal/0.4.9 \
+    crate://crates.io/itertools/0.10.5 \
+    crate://crates.io/itoa/1.0.9 \
+    crate://crates.io/jobserver/0.1.26 \
+    crate://crates.io/js-sys/0.3.64 \
+    crate://crates.io/kstring/2.0.0 \
+    crate://crates.io/lazy_static/1.4.0 \
+    crate://crates.io/lazycell/1.3.0 \
+    crate://crates.io/libc/0.2.147 \
+    crate://crates.io/libgit2-sys/0.14.1+1.5.0 \
+    crate://crates.io/libnghttp2-sys/0.1.8+1.55.1 \
+    crate://crates.io/libssh2-sys/0.2.23 \
+    crate://crates.io/libz-sys/1.1.12 \
+    crate://crates.io/linux-raw-sys/0.4.5 \
+    crate://crates.io/log/0.4.19 \
+    crate://crates.io/memchr/2.5.0 \
+    crate://crates.io/miniz_oxide/0.7.1 \
+    crate://crates.io/miow/0.5.0 \
+    crate://crates.io/num-traits/0.2.16 \
+    crate://crates.io/once_cell/1.18.0 \
+    crate://crates.io/opener/0.5.2 \
+    crate://crates.io/openssl/0.10.56 \
+    crate://crates.io/openssl-macros/0.1.1 \
+    crate://crates.io/openssl-probe/0.1.5 \
+    crate://crates.io/openssl-src/111.27.0+1.1.1v \
+    crate://crates.io/openssl-sys/0.9.91 \
+    crate://crates.io/ordered-float/2.10.0 \
+    crate://crates.io/orion/0.17.5 \
+    crate://crates.io/os_info/3.7.0 \
+    crate://crates.io/os_str_bytes/6.5.1 \
+    crate://crates.io/p384/0.13.0 \
+    crate://crates.io/pasetors/0.6.7 \
+    crate://crates.io/pathdiff/0.2.1 \
+    crate://crates.io/pem-rfc7468/0.7.0 \
+    crate://crates.io/percent-encoding/2.3.0 \
+    crate://crates.io/pkcs8/0.10.2 \
+    crate://crates.io/pkg-config/0.3.27 \
+    crate://crates.io/primeorder/0.13.2 \
+    crate://crates.io/proc-macro2/1.0.66 \
+    crate://crates.io/quote/1.0.32 \
+    crate://crates.io/rand_core/0.6.4 \
+    crate://crates.io/rand_xoshiro/0.6.0 \
+    crate://crates.io/redox_syscall/0.3.5 \
+    crate://crates.io/regex/1.9.3 \
+    crate://crates.io/regex-automata/0.3.6 \
+    crate://crates.io/regex-syntax/0.7.4 \
+    crate://crates.io/rfc6979/0.4.0 \
+    crate://crates.io/rustc-workspace-hack/1.0.0 \
+    crate://crates.io/rustfix/0.6.1 \
+    crate://crates.io/rustix/0.38.8 \
+    crate://crates.io/ryu/1.0.15 \
+    crate://crates.io/same-file/1.0.6 \
+    crate://crates.io/schannel/0.1.22 \
+    crate://crates.io/sec1/0.7.3 \
+    crate://crates.io/semver/1.0.18 \
+    crate://crates.io/serde/1.0.183 \
+    crate://crates.io/serde-value/0.7.0 \
+    crate://crates.io/serde_derive/1.0.183 \
+    crate://crates.io/serde_ignored/0.1.9 \
+    crate://crates.io/serde_json/1.0.104 \
+    crate://crates.io/serde_spanned/0.6.3 \
+    crate://crates.io/sha1/0.10.5 \
+    crate://crates.io/sha2/0.10.7 \
+    crate://crates.io/shell-escape/0.1.5 \
+    crate://crates.io/signature/2.1.0 \
+    crate://crates.io/sized-chunks/0.6.5 \
+    crate://crates.io/socket2/0.4.9 \
+    crate://crates.io/spki/0.7.2 \
+    crate://crates.io/static_assertions/1.1.0 \
+    crate://crates.io/strip-ansi-escapes/0.1.1 \
+    crate://crates.io/strsim/0.10.0 \
+    crate://crates.io/subtle/2.5.0 \
+    crate://crates.io/syn/1.0.109 \
+    crate://crates.io/syn/2.0.28 \
+    crate://crates.io/tar/0.4.40 \
+    crate://crates.io/tempfile/3.7.1 \
+    crate://crates.io/termcolor/1.2.0 \
+    crate://crates.io/textwrap/0.16.0 \
+    crate://crates.io/thread_local/1.1.7 \
+    crate://crates.io/time/0.3.25 \
+    crate://crates.io/time-core/0.1.1 \
+    crate://crates.io/time-macros/0.2.11 \
+    crate://crates.io/tinyvec/1.6.0 \
+    crate://crates.io/tinyvec_macros/0.1.1 \
+    crate://crates.io/toml/0.5.11 \
+    crate://crates.io/toml/0.7.6 \
+    crate://crates.io/toml_datetime/0.5.1 \
+    crate://crates.io/toml_datetime/0.6.3 \
+    crate://crates.io/toml_edit/0.15.0 \
+    crate://crates.io/toml_edit/0.19.14 \
+    crate://crates.io/typenum/1.16.0 \
+    crate://crates.io/unicode-bidi/0.3.13 \
+    crate://crates.io/unicode-ident/1.0.11 \
+    crate://crates.io/unicode-normalization/0.1.22 \
+    crate://crates.io/unicode-width/0.1.10 \
+    crate://crates.io/unicode-xid/0.2.4 \
+    crate://crates.io/url/2.4.0 \
+    crate://crates.io/utf8parse/0.2.1 \
+    crate://crates.io/vcpkg/0.2.15 \
+    crate://crates.io/version_check/0.9.4 \
+    crate://crates.io/vte/0.10.1 \
+    crate://crates.io/vte_generate_state_changes/0.1.1 \
+    crate://crates.io/walkdir/2.3.3 \
+    crate://crates.io/wasi/0.11.0+wasi-snapshot-preview1 \
+    crate://crates.io/wasm-bindgen/0.2.87 \
+    crate://crates.io/wasm-bindgen-backend/0.2.87 \
+    crate://crates.io/wasm-bindgen-macro/0.2.87 \
+    crate://crates.io/wasm-bindgen-macro-support/0.2.87 \
+    crate://crates.io/wasm-bindgen-shared/0.2.87 \
+    crate://crates.io/winapi/0.3.9 \
+    crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \
+    crate://crates.io/winapi-util/0.1.5 \
+    crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \
+    crate://crates.io/windows-sys/0.42.0 \
+    crate://crates.io/windows-sys/0.45.0 \
+    crate://crates.io/windows-sys/0.48.0 \
+    crate://crates.io/windows-targets/0.42.2 \
+    crate://crates.io/windows-targets/0.48.1 \
+    crate://crates.io/windows_aarch64_gnullvm/0.42.2 \
+    crate://crates.io/windows_aarch64_gnullvm/0.48.0 \
+    crate://crates.io/windows_aarch64_msvc/0.42.2 \
+    crate://crates.io/windows_aarch64_msvc/0.48.0 \
+    crate://crates.io/windows_i686_gnu/0.42.2 \
+    crate://crates.io/windows_i686_gnu/0.48.0 \
+    crate://crates.io/windows_i686_msvc/0.42.2 \
+    crate://crates.io/windows_i686_msvc/0.48.0 \
+    crate://crates.io/windows_x86_64_gnu/0.42.2 \
+    crate://crates.io/windows_x86_64_gnu/0.48.0 \
+    crate://crates.io/windows_x86_64_gnullvm/0.42.2 \
+    crate://crates.io/windows_x86_64_gnullvm/0.48.0 \
+    crate://crates.io/windows_x86_64_msvc/0.42.2 \
+    crate://crates.io/windows_x86_64_msvc/0.48.0 \
+    crate://crates.io/winnow/0.5.7 \
+    crate://crates.io/zeroize/1.6.0 \
+"
+
+SRC_URI[adler-1.0.2.sha256sum] = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
+SRC_URI[aho-corasick-1.0.3.sha256sum] = "86b8f9420f797f2d9e935edf629310eb938a0d839f984e25327f3c7eed22300c"
+SRC_URI[anstream-0.3.2.sha256sum] = "0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163"
+SRC_URI[anstyle-1.0.1.sha256sum] = "3a30da5c5f2d5e72842e00bcb57657162cdabef0931f40e2deb9b4140440cecd"
+SRC_URI[anstyle-parse-0.2.1.sha256sum] = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333"
+SRC_URI[anstyle-query-1.0.0.sha256sum] = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b"
+SRC_URI[anstyle-wincon-1.0.2.sha256sum] = "c677ab05e09154296dd37acecd46420c17b9713e8366facafa8fc0885167cf4c"
+SRC_URI[anyhow-1.0.72.sha256sum] = "3b13c32d80ecc7ab747b80c3784bce54ee8a7a0cc4fbda9bf4cda2cf6fe90854"
+SRC_URI[arrayvec-0.5.2.sha256sum] = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b"
+SRC_URI[atty-0.2.14.sha256sum] = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
+SRC_URI[autocfg-1.1.0.sha256sum] = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+SRC_URI[base16ct-0.2.0.sha256sum] = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf"
+SRC_URI[base64-0.13.1.sha256sum] = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
+SRC_URI[base64ct-1.6.0.sha256sum] = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b"
+SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+SRC_URI[bitflags-2.3.3.sha256sum] = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42"
+SRC_URI[bitmaps-2.1.0.sha256sum] = "031043d04099746d8db04daf1fa424b2bc8bd69d92b25962dcde24da39ab64a2"
+SRC_URI[block-buffer-0.10.4.sha256sum] = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
+SRC_URI[bstr-1.6.0.sha256sum] = "6798148dccfbff0fae41c7574d2fa8f1ef3492fba0face179de5d8d447d67b05"
+SRC_URI[bumpalo-3.13.0.sha256sum] = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1"
+SRC_URI[bytes-1.4.0.sha256sum] = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
+SRC_URI[bytesize-1.2.0.sha256sum] = "38fcc2979eff34a4b84e1cf9a1e3da42a7d44b3b690a40cdcb23e3d556cfb2e5"
+SRC_URI[cargo-0.69.1.sha256sum] = "2ecf1ab9246253733b30352b5194b4c3a7038a1c7729e1a18b3ba00e479c4d54"
+SRC_URI[cargo-platform-0.1.3.sha256sum] = "2cfa25e60aea747ec7e1124f238816749faa93759c6ff5b31f1ccdda137f4479"
+SRC_URI[cargo-util-0.2.4.sha256sum] = "a5e2320a2b1242f9181a3347ae0884bb497e1853d299da99780fa1e96f9abe23"
+SRC_URI[cbindgen-0.24.5.sha256sum] = "4b922faaf31122819ec80c4047cc684c6979a087366c069611e33649bf98e18d"
+SRC_URI[cc-1.0.82.sha256sum] = "305fe645edc1442a0fa8b6726ba61d422798d37a52e12eaecf4b022ebbb88f01"
+SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+SRC_URI[clap-3.2.25.sha256sum] = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123"
+SRC_URI[clap-4.3.21.sha256sum] = "c27cdf28c0f604ba3f512b0c9a409f8de8513e4816705deb0498b627e7c3a3fd"
+SRC_URI[clap_builder-4.3.21.sha256sum] = "08a9f1ab5e9f01a9b81f202e8562eb9a10de70abf9eaeac1be465c28b75aa4aa"
+SRC_URI[clap_derive-4.3.12.sha256sum] = "54a9bb5758fc5dfe728d1019941681eccaf0cf8a4189b692a0ee2f2ecf90a050"
+SRC_URI[clap_lex-0.2.4.sha256sum] = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5"
+SRC_URI[clap_lex-0.5.0.sha256sum] = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b"
+SRC_URI[colorchoice-1.0.0.sha256sum] = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
+SRC_URI[combine-4.6.6.sha256sum] = "35ed6e9d84f0b51a7f52daf1c7d71dd136fd7a3f41a8462b8cdb8c78d920fad4"
+SRC_URI[const-oid-0.9.5.sha256sum] = "28c122c3980598d243d63d9a704629a2d748d101f278052ff068be5a4423ab6f"
+SRC_URI[core-foundation-0.9.3.sha256sum] = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146"
+SRC_URI[core-foundation-sys-0.8.4.sha256sum] = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
+SRC_URI[cpufeatures-0.2.9.sha256sum] = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1"
+SRC_URI[crates-io-0.35.1.sha256sum] = "e2dfb6077da60207264ab2eb0e3734f02e0a0c50c347b32c728e42c6fbbf7e2e"
+SRC_URI[crc32fast-1.3.2.sha256sum] = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
+SRC_URI[crypto-bigint-0.5.2.sha256sum] = "cf4c2f4e1afd912bc40bfd6fed5d9dc1f288e0ba01bfcc835cc5bc3eb13efe15"
+SRC_URI[crypto-common-0.1.6.sha256sum] = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
+SRC_URI[ct-codecs-1.1.1.sha256sum] = "f3b7eb4404b8195a9abb6356f4ac07d8ba267045c8d6d220ac4dc992e6cc75df"
+SRC_URI[curl-0.4.44.sha256sum] = "509bd11746c7ac09ebd19f0b17782eae80aadee26237658a6b4808afb5c11a22"
+SRC_URI[curl-sys-0.4.65+curl-8.2.1.sha256sum] = "961ba061c9ef2fe34bbd12b807152d96f0badd2bebe7b90ce6c8c8b7572a0986"
+SRC_URI[der-0.7.8.sha256sum] = "fffa369a668c8af7dbf8b5e56c9f744fbd399949ed171606040001947de40b1c"
+SRC_URI[deranged-0.3.7.sha256sum] = "7684a49fb1af197853ef7b2ee694bc1f5b4179556f1e5710e1760c5db6f5e929"
+SRC_URI[digest-0.10.7.sha256sum] = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
+SRC_URI[ecdsa-0.16.8.sha256sum] = "a4b1e0c257a9e9f25f90ff76d7a68360ed497ee519c8e428d1825ef0000799d4"
+SRC_URI[ed25519-compact-2.0.4.sha256sum] = "6a3d382e8464107391c8706b4c14b087808ecb909f6c15c34114bc42e53a9e4c"
+SRC_URI[either-1.9.0.sha256sum] = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
+SRC_URI[elliptic-curve-0.13.5.sha256sum] = "968405c8fdc9b3bf4df0a6638858cc0b52462836ab6b1c87377785dd09cf1c0b"
+SRC_URI[env_logger-0.10.0.sha256sum] = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0"
+SRC_URI[equivalent-1.0.1.sha256sum] = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
+SRC_URI[errno-0.3.2.sha256sum] = "6b30f669a7961ef1631673d2766cc92f52d64f7ef354d4fe0ddfd30ed52f0f4f"
+SRC_URI[errno-dragonfly-0.1.2.sha256sum] = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
+SRC_URI[fastrand-2.0.0.sha256sum] = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764"
+SRC_URI[ff-0.13.0.sha256sum] = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449"
+SRC_URI[fiat-crypto-0.1.20.sha256sum] = "e825f6987101665dea6ec934c09ec6d721de7bc1bf92248e1d5810c8cd636b77"
+SRC_URI[filetime-0.2.22.sha256sum] = "d4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0"
+SRC_URI[flate2-1.0.26.sha256sum] = "3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743"
+SRC_URI[fnv-1.0.7.sha256sum] = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
+SRC_URI[foreign-types-0.3.2.sha256sum] = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
+SRC_URI[foreign-types-shared-0.1.1.sha256sum] = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
+SRC_URI[form_urlencoded-1.2.0.sha256sum] = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652"
+SRC_URI[fwdansi-1.1.0.sha256sum] = "08c1f5787fe85505d1f7777268db5103d80a7a374d2316a7ce262e57baf8f208"
+SRC_URI[generic-array-0.14.7.sha256sum] = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
+SRC_URI[getrandom-0.2.10.sha256sum] = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
+SRC_URI[git2-0.16.0.sha256sum] = "be36bc9e0546df253c0cc41fd0af34f5e92845ad8509462ec76672fac6997f5b"
+SRC_URI[git2-curl-0.17.0.sha256sum] = "7577f4e6341ba7c90d883511130a45b956c274ba5f4d205d9f9da990f654cd33"
+SRC_URI[glob-0.3.1.sha256sum] = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
+SRC_URI[globset-0.4.13.sha256sum] = "759c97c1e17c55525b57192c06a267cda0ac5210b222d6b82189a2338fa1c13d"
+SRC_URI[group-0.13.0.sha256sum] = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63"
+SRC_URI[hashbrown-0.12.3.sha256sum] = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
+SRC_URI[hashbrown-0.14.0.sha256sum] = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a"
+SRC_URI[heck-0.4.1.sha256sum] = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
+SRC_URI[hermit-abi-0.1.19.sha256sum] = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
+SRC_URI[hermit-abi-0.3.2.sha256sum] = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b"
+SRC_URI[hex-0.4.3.sha256sum] = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
+SRC_URI[hkdf-0.12.3.sha256sum] = "791a029f6b9fc27657f6f188ec6e5e43f6911f6f878e0dc5501396e09809d437"
+SRC_URI[hmac-0.12.1.sha256sum] = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e"
+SRC_URI[home-0.5.5.sha256sum] = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb"
+SRC_URI[http-auth-0.1.8.sha256sum] = "5430cacd7a1f9a02fbeb350dfc81a0e5ed42d81f3398cb0ba184017f85bdcfbc"
+SRC_URI[humantime-2.1.0.sha256sum] = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
+SRC_URI[idna-0.4.0.sha256sum] = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c"
+SRC_URI[ignore-0.4.20.sha256sum] = "dbe7873dab538a9a44ad79ede1faf5f30d49f9a5c883ddbab48bce81b64b7492"
+SRC_URI[im-rc-15.1.0.sha256sum] = "af1955a75fa080c677d3972822ec4bad316169ab1cfc6c257a942c2265dbe5fe"
+SRC_URI[indexmap-1.9.3.sha256sum] = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
+SRC_URI[indexmap-2.0.0.sha256sum] = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d"
+SRC_URI[is-terminal-0.4.9.sha256sum] = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
+SRC_URI[itertools-0.10.5.sha256sum] = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
+SRC_URI[itoa-1.0.9.sha256sum] = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
+SRC_URI[jobserver-0.1.26.sha256sum] = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2"
+SRC_URI[js-sys-0.3.64.sha256sum] = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a"
+SRC_URI[kstring-2.0.0.sha256sum] = "ec3066350882a1cd6d950d055997f379ac37fd39f81cd4d8ed186032eb3c5747"
+SRC_URI[lazy_static-1.4.0.sha256sum] = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
+SRC_URI[lazycell-1.3.0.sha256sum] = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
+SRC_URI[libc-0.2.147.sha256sum] = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
+SRC_URI[libgit2-sys-0.14.1+1.5.0.sha256sum] = "4a07fb2692bc3593bda59de45a502bb3071659f2c515e28c71e728306b038e17"
+SRC_URI[libnghttp2-sys-0.1.8+1.55.1.sha256sum] = "4fae956c192dadcdb5dace96db71fa0b827333cce7c7b38dc71446f024d8a340"
+SRC_URI[libssh2-sys-0.2.23.sha256sum] = "b094a36eb4b8b8c8a7b4b8ae43b2944502be3e59cd87687595cf6b0a71b3f4ca"
+SRC_URI[libz-sys-1.1.12.sha256sum] = "d97137b25e321a73eef1418d1d5d2eda4d77e12813f8e6dead84bc52c5870a7b"
+SRC_URI[linux-raw-sys-0.4.5.sha256sum] = "57bcfdad1b858c2db7c38303a6d2ad4dfaf5eb53dfeb0910128b2c26d6158503"
+SRC_URI[log-0.4.19.sha256sum] = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4"
+SRC_URI[memchr-2.5.0.sha256sum] = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
+SRC_URI[miniz_oxide-0.7.1.sha256sum] = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
+SRC_URI[miow-0.5.0.sha256sum] = "52ffbca2f655e33c08be35d87278e5b18b89550a37dbd598c20db92f6a471123"
+SRC_URI[num-traits-0.2.16.sha256sum] = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2"
+SRC_URI[once_cell-1.18.0.sha256sum] = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
+SRC_URI[opener-0.5.2.sha256sum] = "293c15678e37254c15bd2f092314abb4e51d7fdde05c2021279c12631b54f005"
+SRC_URI[openssl-0.10.56.sha256sum] = "729b745ad4a5575dd06a3e1af1414bd330ee561c01b3899eb584baeaa8def17e"
+SRC_URI[openssl-macros-0.1.1.sha256sum] = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
+SRC_URI[openssl-probe-0.1.5.sha256sum] = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
+SRC_URI[openssl-src-111.27.0+1.1.1v.sha256sum] = "06e8f197c82d7511c5b014030c9b1efeda40d7d5f99d23b4ceed3524a5e63f02"
+SRC_URI[openssl-sys-0.9.91.sha256sum] = "866b5f16f90776b9bb8dc1e1802ac6f0513de3a7a7465867bfbc563dc737faac"
+SRC_URI[ordered-float-2.10.0.sha256sum] = "7940cf2ca942593318d07fcf2596cdca60a85c9e7fab408a5e21a4f9dcd40d87"
+SRC_URI[orion-0.17.5.sha256sum] = "b11468cc6afd61a126fe3f91cc4cc8a0dbe7917d0a4b5e8357ba91cc47444462"
+SRC_URI[os_info-3.7.0.sha256sum] = "006e42d5b888366f1880eda20371fedde764ed2213dc8496f49622fa0c99cd5e"
+SRC_URI[os_str_bytes-6.5.1.sha256sum] = "4d5d9eb14b174ee9aa2ef96dc2b94637a2d4b6e7cb873c7e171f0c20c6cf3eac"
+SRC_URI[p384-0.13.0.sha256sum] = "70786f51bcc69f6a4c0360e063a4cac5419ef7c5cd5b3c99ad70f3be5ba79209"
+SRC_URI[pasetors-0.6.7.sha256sum] = "ba765699a309908d55950919a3445e9491453e89b2587b1b2abe4143a48894c0"
+SRC_URI[pathdiff-0.2.1.sha256sum] = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd"
+SRC_URI[pem-rfc7468-0.7.0.sha256sum] = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412"
+SRC_URI[percent-encoding-2.3.0.sha256sum] = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
+SRC_URI[pkcs8-0.10.2.sha256sum] = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7"
+SRC_URI[pkg-config-0.3.27.sha256sum] = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
+SRC_URI[primeorder-0.13.2.sha256sum] = "3c2fcef82c0ec6eefcc179b978446c399b3cdf73c392c35604e399eee6df1ee3"
+SRC_URI[proc-macro2-1.0.66.sha256sum] = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9"
+SRC_URI[quote-1.0.32.sha256sum] = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965"
+SRC_URI[rand_core-0.6.4.sha256sum] = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
+SRC_URI[rand_xoshiro-0.6.0.sha256sum] = "6f97cdb2a36ed4183de61b2f824cc45c9f1037f28afe0a322e9fff4c108b5aaa"
+SRC_URI[redox_syscall-0.3.5.sha256sum] = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
+SRC_URI[regex-1.9.3.sha256sum] = "81bc1d4caf89fac26a70747fe603c130093b53c773888797a6329091246d651a"
+SRC_URI[regex-automata-0.3.6.sha256sum] = "fed1ceff11a1dddaee50c9dc8e4938bd106e9d89ae372f192311e7da498e3b69"
+SRC_URI[regex-syntax-0.7.4.sha256sum] = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2"
+SRC_URI[rfc6979-0.4.0.sha256sum] = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2"
+SRC_URI[rustc-workspace-hack-1.0.0.sha256sum] = "fc71d2faa173b74b232dedc235e3ee1696581bb132fc116fa3626d6151a1a8fb"
+SRC_URI[rustfix-0.6.1.sha256sum] = "ecd2853d9e26988467753bd9912c3a126f642d05d229a4b53f5752ee36c56481"
+SRC_URI[rustix-0.38.8.sha256sum] = "19ed4fa021d81c8392ce04db050a3da9a60299050b7ae1cf482d862b54a7218f"
+SRC_URI[ryu-1.0.15.sha256sum] = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
+SRC_URI[same-file-1.0.6.sha256sum] = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
+SRC_URI[schannel-0.1.22.sha256sum] = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88"
+SRC_URI[sec1-0.7.3.sha256sum] = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc"
+SRC_URI[semver-1.0.18.sha256sum] = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918"
+SRC_URI[serde-1.0.183.sha256sum] = "32ac8da02677876d532745a130fc9d8e6edfa81a269b107c5b00829b91d8eb3c"
+SRC_URI[serde-value-0.7.0.sha256sum] = "f3a1a3341211875ef120e117ea7fd5228530ae7e7036a779fdc9117be6b3282c"
+SRC_URI[serde_derive-1.0.183.sha256sum] = "aafe972d60b0b9bee71a91b92fee2d4fb3c9d7e8f6b179aa99f27203d99a4816"
+SRC_URI[serde_ignored-0.1.9.sha256sum] = "80c31d5c53fd39f208e770f5a20a0bb214dee2a8d0d8adba18e19ad95a482ca5"
+SRC_URI[serde_json-1.0.104.sha256sum] = "076066c5f1078eac5b722a31827a8832fe108bed65dfa75e233c89f8206e976c"
+SRC_URI[serde_spanned-0.6.3.sha256sum] = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186"
+SRC_URI[sha1-0.10.5.sha256sum] = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3"
+SRC_URI[sha2-0.10.7.sha256sum] = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8"
+SRC_URI[shell-escape-0.1.5.sha256sum] = "45bb67a18fa91266cc7807181f62f9178a6873bfad7dc788c42e6430db40184f"
+SRC_URI[signature-2.1.0.sha256sum] = "5e1788eed21689f9cf370582dfc467ef36ed9c707f073528ddafa8d83e3b8500"
+SRC_URI[sized-chunks-0.6.5.sha256sum] = "16d69225bde7a69b235da73377861095455d298f2b970996eec25ddbb42b3d1e"
+SRC_URI[socket2-0.4.9.sha256sum] = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662"
+SRC_URI[spki-0.7.2.sha256sum] = "9d1e996ef02c474957d681f1b05213dfb0abab947b446a62d37770b23500184a"
+SRC_URI[static_assertions-1.1.0.sha256sum] = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
+SRC_URI[strip-ansi-escapes-0.1.1.sha256sum] = "011cbb39cf7c1f62871aea3cc46e5817b0937b49e9447370c93cacbe93a766d8"
+SRC_URI[strsim-0.10.0.sha256sum] = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
+SRC_URI[subtle-2.5.0.sha256sum] = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc"
+SRC_URI[syn-1.0.109.sha256sum] = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
+SRC_URI[syn-2.0.28.sha256sum] = "04361975b3f5e348b2189d8dc55bc942f278b2d482a6a0365de5bdd62d351567"
+SRC_URI[tar-0.4.40.sha256sum] = "b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb"
+SRC_URI[tempfile-3.7.1.sha256sum] = "dc02fddf48964c42031a0b3fe0428320ecf3a73c401040fc0096f97794310651"
+SRC_URI[termcolor-1.2.0.sha256sum] = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6"
+SRC_URI[textwrap-0.16.0.sha256sum] = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d"
+SRC_URI[thread_local-1.1.7.sha256sum] = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152"
+SRC_URI[time-0.3.25.sha256sum] = "b0fdd63d58b18d663fbdf70e049f00a22c8e42be082203be7f26589213cd75ea"
+SRC_URI[time-core-0.1.1.sha256sum] = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb"
+SRC_URI[time-macros-0.2.11.sha256sum] = "eb71511c991639bb078fd5bf97757e03914361c48100d52878b8e52b46fb92cd"
+SRC_URI[tinyvec-1.6.0.sha256sum] = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
+SRC_URI[tinyvec_macros-0.1.1.sha256sum] = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
+SRC_URI[toml-0.5.11.sha256sum] = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234"
+SRC_URI[toml-0.7.6.sha256sum] = "c17e963a819c331dcacd7ab957d80bc2b9a9c1e71c804826d2f283dd65306542"
+SRC_URI[toml_datetime-0.5.1.sha256sum] = "4553f467ac8e3d374bc9a177a26801e5d0f9b211aa1673fb137a403afd1c9cf5"
+SRC_URI[toml_datetime-0.6.3.sha256sum] = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b"
+SRC_URI[toml_edit-0.15.0.sha256sum] = "b1541ba70885967e662f69d31ab3aeca7b1aaecfcd58679590b893e9239c3646"
+SRC_URI[toml_edit-0.19.14.sha256sum] = "f8123f27e969974a3dfba720fdb560be359f57b44302d280ba72e76a74480e8a"
+SRC_URI[typenum-1.16.0.sha256sum] = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
+SRC_URI[unicode-bidi-0.3.13.sha256sum] = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
+SRC_URI[unicode-ident-1.0.11.sha256sum] = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c"
+SRC_URI[unicode-normalization-0.1.22.sha256sum] = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
+SRC_URI[unicode-width-0.1.10.sha256sum] = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
+SRC_URI[unicode-xid-0.2.4.sha256sum] = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
+SRC_URI[url-2.4.0.sha256sum] = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb"
+SRC_URI[utf8parse-0.2.1.sha256sum] = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
+SRC_URI[vcpkg-0.2.15.sha256sum] = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
+SRC_URI[version_check-0.9.4.sha256sum] = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
+SRC_URI[vte-0.10.1.sha256sum] = "6cbce692ab4ca2f1f3047fcf732430249c0e971bfdd2b234cf2c47ad93af5983"
+SRC_URI[vte_generate_state_changes-0.1.1.sha256sum] = "d257817081c7dffcdbab24b9e62d2def62e2ff7d00b1c20062551e6cccc145ff"
+SRC_URI[walkdir-2.3.3.sha256sum] = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698"
+SRC_URI[wasi-0.11.0+wasi-snapshot-preview1.sha256sum] = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
+SRC_URI[wasm-bindgen-0.2.87.sha256sum] = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342"
+SRC_URI[wasm-bindgen-backend-0.2.87.sha256sum] = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd"
+SRC_URI[wasm-bindgen-macro-0.2.87.sha256sum] = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d"
+SRC_URI[wasm-bindgen-macro-support-0.2.87.sha256sum] = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
+SRC_URI[wasm-bindgen-shared-0.2.87.sha256sum] = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
+SRC_URI[winapi-0.3.9.sha256sum] = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+SRC_URI[winapi-i686-pc-windows-gnu-0.4.0.sha256sum] = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+SRC_URI[winapi-util-0.1.5.sha256sum] = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
+SRC_URI[winapi-x86_64-pc-windows-gnu-0.4.0.sha256sum] = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+SRC_URI[windows-sys-0.42.0.sha256sum] = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
+SRC_URI[windows-sys-0.45.0.sha256sum] = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
+SRC_URI[windows-sys-0.48.0.sha256sum] = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
+SRC_URI[windows-targets-0.42.2.sha256sum] = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
+SRC_URI[windows-targets-0.48.1.sha256sum] = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f"
+SRC_URI[windows_aarch64_gnullvm-0.42.2.sha256sum] = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
+SRC_URI[windows_aarch64_gnullvm-0.48.0.sha256sum] = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
+SRC_URI[windows_aarch64_msvc-0.42.2.sha256sum] = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
+SRC_URI[windows_aarch64_msvc-0.48.0.sha256sum] = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
+SRC_URI[windows_i686_gnu-0.42.2.sha256sum] = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
+SRC_URI[windows_i686_gnu-0.48.0.sha256sum] = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
+SRC_URI[windows_i686_msvc-0.42.2.sha256sum] = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
+SRC_URI[windows_i686_msvc-0.48.0.sha256sum] = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
+SRC_URI[windows_x86_64_gnu-0.42.2.sha256sum] = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
+SRC_URI[windows_x86_64_gnu-0.48.0.sha256sum] = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
+SRC_URI[windows_x86_64_gnullvm-0.42.2.sha256sum] = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
+SRC_URI[windows_x86_64_gnullvm-0.48.0.sha256sum] = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
+SRC_URI[windows_x86_64_msvc-0.42.2.sha256sum] = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
+SRC_URI[windows_x86_64_msvc-0.48.0.sha256sum] = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
+SRC_URI[winnow-0.5.7.sha256sum] = "19f495880723d0999eb3500a9064d8dbcf836460b24c17df80ea7b5794053aac"
+SRC_URI[zeroize-1.6.0.sha256sum] = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9"
diff --git a/poky/meta/recipes-devtools/rust/cargo-c-native_0.9.18.bb b/poky/meta/recipes-devtools/rust/cargo-c-native_0.9.18.bb
new file mode 100644
index 0000000..4f34f50
--- /dev/null
+++ b/poky/meta/recipes-devtools/rust/cargo-c-native_0.9.18.bb
@@ -0,0 +1,23 @@
+SUMMARY = "cargo applet to build and install C-ABI compatible dynamic and static libraries."
+HOMEPAGE = "https://crates.io/crates/cargo-c"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = " \
+    file://LICENSE;md5=384ed0e2e0b2dac094e51fbf93fdcbe0 \
+"
+
+PR = "r1"
+
+SRC_URI = " \
+	git://github.com/lu-zero/cargo-c.git;branch=master;protocol=https \
+	file://0001-Add-Cargo.lock-file.patch \
+"
+
+SRCREV = "4eaf39ebbbc9ab8f092adf487d5b53435511d619"
+S = "${WORKDIR}/git"
+
+inherit cargo cargo-update-recipe-crates pkgconfig native
+
+DEPENDS = "openssl curl"
+
+require ${BPN}-crates.inc
+
diff --git a/poky/meta/recipes-devtools/rust/cargo-c/0001-Add-Cargo.lock-file.patch b/poky/meta/recipes-devtools/rust/cargo-c/0001-Add-Cargo.lock-file.patch
new file mode 100644
index 0000000..11a6d9e
--- /dev/null
+++ b/poky/meta/recipes-devtools/rust/cargo-c/0001-Add-Cargo.lock-file.patch
@@ -0,0 +1,2180 @@
+From bc958b58eb31151ce76e409ce654bf6131d693b3 Mon Sep 17 00:00:00 2001
+From: Frederic Martinsons <frederic.martinsons@gmail.com>
+Date: Fri, 11 Aug 2023 06:28:56 +0200
+Subject: [PATCH] Add Cargo.lock file
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Frederic Martinsons <frederic.martinsons@gmail.com>
+---
+ .gitignore |    1 -
+ Cargo.lock | 2148 ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 2148 insertions(+), 1 deletion(-)
+ create mode 100644 Cargo.lock
+
+diff --git a/.gitignore b/.gitignore
+index b52f82c..437f557 100644
+--- a/.gitignore
++++ b/.gitignore
+@@ -1,5 +1,4 @@
+ /target
+ **/*.rs.bk
+-Cargo.lock
+ /example-project/target/
+ /example-project/usage-from-c/run_tests
+diff --git a/Cargo.lock b/Cargo.lock
+new file mode 100644
+index 0000000..2225b04
+--- /dev/null
++++ b/Cargo.lock
+@@ -0,0 +1,2148 @@
++# This file is automatically @generated by Cargo.
++# It is not intended for manual editing.
++version = 3
++
++[[package]]
++name = "adler"
++version = "1.0.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
++
++[[package]]
++name = "aho-corasick"
++version = "1.0.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "86b8f9420f797f2d9e935edf629310eb938a0d839f984e25327f3c7eed22300c"
++dependencies = [
++ "memchr",
++]
++
++[[package]]
++name = "anstream"
++version = "0.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163"
++dependencies = [
++ "anstyle",
++ "anstyle-parse",
++ "anstyle-query",
++ "anstyle-wincon",
++ "colorchoice",
++ "is-terminal",
++ "utf8parse",
++]
++
++[[package]]
++name = "anstyle"
++version = "1.0.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3a30da5c5f2d5e72842e00bcb57657162cdabef0931f40e2deb9b4140440cecd"
++
++[[package]]
++name = "anstyle-parse"
++version = "0.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333"
++dependencies = [
++ "utf8parse",
++]
++
++[[package]]
++name = "anstyle-query"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b"
++dependencies = [
++ "windows-sys 0.48.0",
++]
++
++[[package]]
++name = "anstyle-wincon"
++version = "1.0.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c677ab05e09154296dd37acecd46420c17b9713e8366facafa8fc0885167cf4c"
++dependencies = [
++ "anstyle",
++ "windows-sys 0.48.0",
++]
++
++[[package]]
++name = "anyhow"
++version = "1.0.72"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3b13c32d80ecc7ab747b80c3784bce54ee8a7a0cc4fbda9bf4cda2cf6fe90854"
++
++[[package]]
++name = "arrayvec"
++version = "0.5.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b"
++
++[[package]]
++name = "atty"
++version = "0.2.14"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
++dependencies = [
++ "hermit-abi 0.1.19",
++ "libc",
++ "winapi",
++]
++
++[[package]]
++name = "autocfg"
++version = "1.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
++
++[[package]]
++name = "base16ct"
++version = "0.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf"
++
++[[package]]
++name = "base64"
++version = "0.13.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
++
++[[package]]
++name = "base64ct"
++version = "1.6.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b"
++
++[[package]]
++name = "bitflags"
++version = "1.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
++
++[[package]]
++name = "bitflags"
++version = "2.3.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42"
++
++[[package]]
++name = "bitmaps"
++version = "2.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "031043d04099746d8db04daf1fa424b2bc8bd69d92b25962dcde24da39ab64a2"
++dependencies = [
++ "typenum",
++]
++
++[[package]]
++name = "block-buffer"
++version = "0.10.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
++dependencies = [
++ "generic-array",
++]
++
++[[package]]
++name = "bstr"
++version = "1.6.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6798148dccfbff0fae41c7574d2fa8f1ef3492fba0face179de5d8d447d67b05"
++dependencies = [
++ "memchr",
++ "regex-automata",
++ "serde",
++]
++
++[[package]]
++name = "bumpalo"
++version = "3.13.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1"
++
++[[package]]
++name = "bytes"
++version = "1.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
++
++[[package]]
++name = "bytesize"
++version = "1.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "38fcc2979eff34a4b84e1cf9a1e3da42a7d44b3b690a40cdcb23e3d556cfb2e5"
++
++[[package]]
++name = "cargo"
++version = "0.69.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2ecf1ab9246253733b30352b5194b4c3a7038a1c7729e1a18b3ba00e479c4d54"
++dependencies = [
++ "anyhow",
++ "base64",
++ "bytesize",
++ "cargo-platform",
++ "cargo-util",
++ "clap 4.3.21",
++ "crates-io",
++ "curl",
++ "curl-sys",
++ "env_logger",
++ "filetime",
++ "flate2",
++ "fwdansi",
++ "git2",
++ "git2-curl",
++ "glob",
++ "hex",
++ "hmac",
++ "home",
++ "http-auth",
++ "humantime",
++ "ignore",
++ "im-rc",
++ "indexmap 1.9.3",
++ "is-terminal",
++ "itertools",
++ "jobserver",
++ "lazy_static",
++ "lazycell",
++ "libc",
++ "libgit2-sys",
++ "log",
++ "memchr",
++ "opener",
++ "openssl",
++ "os_info",
++ "pasetors",
++ "pathdiff",
++ "percent-encoding",
++ "rustc-workspace-hack",
++ "rustfix",
++ "semver",
++ "serde",
++ "serde-value",
++ "serde_ignored",
++ "serde_json",
++ "sha1",
++ "shell-escape",
++ "strip-ansi-escapes",
++ "tar",
++ "tempfile",
++ "termcolor",
++ "time",
++ "toml_edit 0.15.0",
++ "unicode-width",
++ "unicode-xid",
++ "url",
++ "walkdir",
++ "winapi",
++]
++
++[[package]]
++name = "cargo-c"
++version = "0.9.18+cargo-0.69"
++dependencies = [
++ "anyhow",
++ "cargo",
++ "cargo-util",
++ "cbindgen",
++ "cc",
++ "clap 4.3.21",
++ "glob",
++ "itertools",
++ "log",
++ "regex",
++ "semver",
++ "serde",
++ "serde_derive",
++ "serde_json",
++ "toml 0.7.6",
++]
++
++[[package]]
++name = "cargo-platform"
++version = "0.1.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2cfa25e60aea747ec7e1124f238816749faa93759c6ff5b31f1ccdda137f4479"
++dependencies = [
++ "serde",
++]
++
++[[package]]
++name = "cargo-util"
++version = "0.2.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a5e2320a2b1242f9181a3347ae0884bb497e1853d299da99780fa1e96f9abe23"
++dependencies = [
++ "anyhow",
++ "core-foundation",
++ "filetime",
++ "hex",
++ "jobserver",
++ "libc",
++ "log",
++ "miow",
++ "same-file",
++ "sha2",
++ "shell-escape",
++ "tempfile",
++ "walkdir",
++ "windows-sys 0.45.0",
++]
++
++[[package]]
++name = "cbindgen"
++version = "0.24.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4b922faaf31122819ec80c4047cc684c6979a087366c069611e33649bf98e18d"
++dependencies = [
++ "clap 3.2.25",
++ "heck",
++ "indexmap 1.9.3",
++ "log",
++ "proc-macro2",
++ "quote",
++ "serde",
++ "serde_json",
++ "syn 1.0.109",
++ "tempfile",
++ "toml 0.5.11",
++]
++
++[[package]]
++name = "cc"
++version = "1.0.82"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "305fe645edc1442a0fa8b6726ba61d422798d37a52e12eaecf4b022ebbb88f01"
++dependencies = [
++ "jobserver",
++ "libc",
++]
++
++[[package]]
++name = "cfg-if"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
++
++[[package]]
++name = "clap"
++version = "3.2.25"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123"
++dependencies = [
++ "atty",
++ "bitflags 1.3.2",
++ "clap_lex 0.2.4",
++ "indexmap 1.9.3",
++ "strsim",
++ "termcolor",
++ "textwrap",
++]
++
++[[package]]
++name = "clap"
++version = "4.3.21"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c27cdf28c0f604ba3f512b0c9a409f8de8513e4816705deb0498b627e7c3a3fd"
++dependencies = [
++ "clap_builder",
++ "clap_derive",
++ "once_cell",
++]
++
++[[package]]
++name = "clap_builder"
++version = "4.3.21"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "08a9f1ab5e9f01a9b81f202e8562eb9a10de70abf9eaeac1be465c28b75aa4aa"
++dependencies = [
++ "anstream",
++ "anstyle",
++ "clap_lex 0.5.0",
++ "once_cell",
++ "strsim",
++]
++
++[[package]]
++name = "clap_derive"
++version = "4.3.12"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "54a9bb5758fc5dfe728d1019941681eccaf0cf8a4189b692a0ee2f2ecf90a050"
++dependencies = [
++ "heck",
++ "proc-macro2",
++ "quote",
++ "syn 2.0.28",
++]
++
++[[package]]
++name = "clap_lex"
++version = "0.2.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5"
++dependencies = [
++ "os_str_bytes",
++]
++
++[[package]]
++name = "clap_lex"
++version = "0.5.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b"
++
++[[package]]
++name = "colorchoice"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
++
++[[package]]
++name = "combine"
++version = "4.6.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "35ed6e9d84f0b51a7f52daf1c7d71dd136fd7a3f41a8462b8cdb8c78d920fad4"
++dependencies = [
++ "bytes",
++ "memchr",
++]
++
++[[package]]
++name = "const-oid"
++version = "0.9.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "28c122c3980598d243d63d9a704629a2d748d101f278052ff068be5a4423ab6f"
++
++[[package]]
++name = "core-foundation"
++version = "0.9.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146"
++dependencies = [
++ "core-foundation-sys",
++ "libc",
++]
++
++[[package]]
++name = "core-foundation-sys"
++version = "0.8.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
++
++[[package]]
++name = "cpufeatures"
++version = "0.2.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1"
++dependencies = [
++ "libc",
++]
++
++[[package]]
++name = "crates-io"
++version = "0.35.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e2dfb6077da60207264ab2eb0e3734f02e0a0c50c347b32c728e42c6fbbf7e2e"
++dependencies = [
++ "anyhow",
++ "curl",
++ "percent-encoding",
++ "serde",
++ "serde_json",
++ "url",
++]
++
++[[package]]
++name = "crc32fast"
++version = "1.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
++dependencies = [
++ "cfg-if",
++]
++
++[[package]]
++name = "crypto-bigint"
++version = "0.5.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cf4c2f4e1afd912bc40bfd6fed5d9dc1f288e0ba01bfcc835cc5bc3eb13efe15"
++dependencies = [
++ "generic-array",
++ "rand_core",
++ "subtle",
++ "zeroize",
++]
++
++[[package]]
++name = "crypto-common"
++version = "0.1.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
++dependencies = [
++ "generic-array",
++ "typenum",
++]
++
++[[package]]
++name = "ct-codecs"
++version = "1.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f3b7eb4404b8195a9abb6356f4ac07d8ba267045c8d6d220ac4dc992e6cc75df"
++
++[[package]]
++name = "curl"
++version = "0.4.44"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "509bd11746c7ac09ebd19f0b17782eae80aadee26237658a6b4808afb5c11a22"
++dependencies = [
++ "curl-sys",
++ "libc",
++ "openssl-probe",
++ "openssl-sys",
++ "schannel",
++ "socket2",
++ "winapi",
++]
++
++[[package]]
++name = "curl-sys"
++version = "0.4.65+curl-8.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "961ba061c9ef2fe34bbd12b807152d96f0badd2bebe7b90ce6c8c8b7572a0986"
++dependencies = [
++ "cc",
++ "libc",
++ "libnghttp2-sys",
++ "libz-sys",
++ "openssl-sys",
++ "pkg-config",
++ "vcpkg",
++ "winapi",
++]
++
++[[package]]
++name = "der"
++version = "0.7.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "fffa369a668c8af7dbf8b5e56c9f744fbd399949ed171606040001947de40b1c"
++dependencies = [
++ "const-oid",
++ "pem-rfc7468",
++ "zeroize",
++]
++
++[[package]]
++name = "deranged"
++version = "0.3.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7684a49fb1af197853ef7b2ee694bc1f5b4179556f1e5710e1760c5db6f5e929"
++
++[[package]]
++name = "digest"
++version = "0.10.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
++dependencies = [
++ "block-buffer",
++ "const-oid",
++ "crypto-common",
++ "subtle",
++]
++
++[[package]]
++name = "ecdsa"
++version = "0.16.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a4b1e0c257a9e9f25f90ff76d7a68360ed497ee519c8e428d1825ef0000799d4"
++dependencies = [
++ "der",
++ "digest",
++ "elliptic-curve",
++ "rfc6979",
++ "signature",
++ "spki",
++]
++
++[[package]]
++name = "ed25519-compact"
++version = "2.0.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6a3d382e8464107391c8706b4c14b087808ecb909f6c15c34114bc42e53a9e4c"
++dependencies = [
++ "getrandom",
++]
++
++[[package]]
++name = "either"
++version = "1.9.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
++
++[[package]]
++name = "elliptic-curve"
++version = "0.13.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "968405c8fdc9b3bf4df0a6638858cc0b52462836ab6b1c87377785dd09cf1c0b"
++dependencies = [
++ "base16ct",
++ "crypto-bigint",
++ "digest",
++ "ff",
++ "generic-array",
++ "group",
++ "hkdf",
++ "pem-rfc7468",
++ "pkcs8",
++ "rand_core",
++ "sec1",
++ "subtle",
++ "zeroize",
++]
++
++[[package]]
++name = "env_logger"
++version = "0.10.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0"
++dependencies = [
++ "humantime",
++ "is-terminal",
++ "log",
++ "regex",
++ "termcolor",
++]
++
++[[package]]
++name = "equivalent"
++version = "1.0.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
++
++[[package]]
++name = "errno"
++version = "0.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6b30f669a7961ef1631673d2766cc92f52d64f7ef354d4fe0ddfd30ed52f0f4f"
++dependencies = [
++ "errno-dragonfly",
++ "libc",
++ "windows-sys 0.48.0",
++]
++
++[[package]]
++name = "errno-dragonfly"
++version = "0.1.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
++dependencies = [
++ "cc",
++ "libc",
++]
++
++[[package]]
++name = "fastrand"
++version = "2.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764"
++
++[[package]]
++name = "ff"
++version = "0.13.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449"
++dependencies = [
++ "rand_core",
++ "subtle",
++]
++
++[[package]]
++name = "fiat-crypto"
++version = "0.1.20"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e825f6987101665dea6ec934c09ec6d721de7bc1bf92248e1d5810c8cd636b77"
++
++[[package]]
++name = "filetime"
++version = "0.2.22"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0"
++dependencies = [
++ "cfg-if",
++ "libc",
++ "redox_syscall",
++ "windows-sys 0.48.0",
++]
++
++[[package]]
++name = "flate2"
++version = "1.0.26"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743"
++dependencies = [
++ "crc32fast",
++ "libz-sys",
++ "miniz_oxide",
++]
++
++[[package]]
++name = "fnv"
++version = "1.0.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
++
++[[package]]
++name = "foreign-types"
++version = "0.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
++dependencies = [
++ "foreign-types-shared",
++]
++
++[[package]]
++name = "foreign-types-shared"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
++
++[[package]]
++name = "form_urlencoded"
++version = "1.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652"
++dependencies = [
++ "percent-encoding",
++]
++
++[[package]]
++name = "fwdansi"
++version = "1.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "08c1f5787fe85505d1f7777268db5103d80a7a374d2316a7ce262e57baf8f208"
++dependencies = [
++ "memchr",
++ "termcolor",
++]
++
++[[package]]
++name = "generic-array"
++version = "0.14.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
++dependencies = [
++ "typenum",
++ "version_check",
++ "zeroize",
++]
++
++[[package]]
++name = "getrandom"
++version = "0.2.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
++dependencies = [
++ "cfg-if",
++ "js-sys",
++ "libc",
++ "wasi",
++ "wasm-bindgen",
++]
++
++[[package]]
++name = "git2"
++version = "0.16.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "be36bc9e0546df253c0cc41fd0af34f5e92845ad8509462ec76672fac6997f5b"
++dependencies = [
++ "bitflags 1.3.2",
++ "libc",
++ "libgit2-sys",
++ "log",
++ "openssl-probe",
++ "openssl-sys",
++ "url",
++]
++
++[[package]]
++name = "git2-curl"
++version = "0.17.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7577f4e6341ba7c90d883511130a45b956c274ba5f4d205d9f9da990f654cd33"
++dependencies = [
++ "curl",
++ "git2",
++ "log",
++ "url",
++]
++
++[[package]]
++name = "glob"
++version = "0.3.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
++
++[[package]]
++name = "globset"
++version = "0.4.13"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "759c97c1e17c55525b57192c06a267cda0ac5210b222d6b82189a2338fa1c13d"
++dependencies = [
++ "aho-corasick",
++ "bstr",
++ "fnv",
++ "log",
++ "regex",
++]
++
++[[package]]
++name = "group"
++version = "0.13.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63"
++dependencies = [
++ "ff",
++ "rand_core",
++ "subtle",
++]
++
++[[package]]
++name = "hashbrown"
++version = "0.12.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
++
++[[package]]
++name = "hashbrown"
++version = "0.14.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a"
++
++[[package]]
++name = "heck"
++version = "0.4.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
++
++[[package]]
++name = "hermit-abi"
++version = "0.1.19"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
++dependencies = [
++ "libc",
++]
++
++[[package]]
++name = "hermit-abi"
++version = "0.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b"
++
++[[package]]
++name = "hex"
++version = "0.4.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
++
++[[package]]
++name = "hkdf"
++version = "0.12.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "791a029f6b9fc27657f6f188ec6e5e43f6911f6f878e0dc5501396e09809d437"
++dependencies = [
++ "hmac",
++]
++
++[[package]]
++name = "hmac"
++version = "0.12.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e"
++dependencies = [
++ "digest",
++]
++
++[[package]]
++name = "home"
++version = "0.5.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb"
++dependencies = [
++ "windows-sys 0.48.0",
++]
++
++[[package]]
++name = "http-auth"
++version = "0.1.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5430cacd7a1f9a02fbeb350dfc81a0e5ed42d81f3398cb0ba184017f85bdcfbc"
++dependencies = [
++ "memchr",
++]
++
++[[package]]
++name = "humantime"
++version = "2.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
++
++[[package]]
++name = "idna"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c"
++dependencies = [
++ "unicode-bidi",
++ "unicode-normalization",
++]
++
++[[package]]
++name = "ignore"
++version = "0.4.20"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dbe7873dab538a9a44ad79ede1faf5f30d49f9a5c883ddbab48bce81b64b7492"
++dependencies = [
++ "globset",
++ "lazy_static",
++ "log",
++ "memchr",
++ "regex",
++ "same-file",
++ "thread_local",
++ "walkdir",
++ "winapi-util",
++]
++
++[[package]]
++name = "im-rc"
++version = "15.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "af1955a75fa080c677d3972822ec4bad316169ab1cfc6c257a942c2265dbe5fe"
++dependencies = [
++ "bitmaps",
++ "rand_core",
++ "rand_xoshiro",
++ "sized-chunks",
++ "typenum",
++ "version_check",
++]
++
++[[package]]
++name = "indexmap"
++version = "1.9.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
++dependencies = [
++ "autocfg",
++ "hashbrown 0.12.3",
++]
++
++[[package]]
++name = "indexmap"
++version = "2.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d"
++dependencies = [
++ "equivalent",
++ "hashbrown 0.14.0",
++]
++
++[[package]]
++name = "is-terminal"
++version = "0.4.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
++dependencies = [
++ "hermit-abi 0.3.2",
++ "rustix",
++ "windows-sys 0.48.0",
++]
++
++[[package]]
++name = "itertools"
++version = "0.10.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
++dependencies = [
++ "either",
++]
++
++[[package]]
++name = "itoa"
++version = "1.0.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
++
++[[package]]
++name = "jobserver"
++version = "0.1.26"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2"
++dependencies = [
++ "libc",
++]
++
++[[package]]
++name = "js-sys"
++version = "0.3.64"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a"
++dependencies = [
++ "wasm-bindgen",
++]
++
++[[package]]
++name = "kstring"
++version = "2.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ec3066350882a1cd6d950d055997f379ac37fd39f81cd4d8ed186032eb3c5747"
++dependencies = [
++ "static_assertions",
++]
++
++[[package]]
++name = "lazy_static"
++version = "1.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
++
++[[package]]
++name = "lazycell"
++version = "1.3.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
++
++[[package]]
++name = "libc"
++version = "0.2.147"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
++
++[[package]]
++name = "libgit2-sys"
++version = "0.14.1+1.5.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4a07fb2692bc3593bda59de45a502bb3071659f2c515e28c71e728306b038e17"
++dependencies = [
++ "cc",
++ "libc",
++ "libssh2-sys",
++ "libz-sys",
++ "openssl-sys",
++ "pkg-config",
++]
++
++[[package]]
++name = "libnghttp2-sys"
++version = "0.1.8+1.55.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4fae956c192dadcdb5dace96db71fa0b827333cce7c7b38dc71446f024d8a340"
++dependencies = [
++ "cc",
++ "libc",
++]
++
++[[package]]
++name = "libssh2-sys"
++version = "0.2.23"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b094a36eb4b8b8c8a7b4b8ae43b2944502be3e59cd87687595cf6b0a71b3f4ca"
++dependencies = [
++ "cc",
++ "libc",
++ "libz-sys",
++ "openssl-sys",
++ "pkg-config",
++ "vcpkg",
++]
++
++[[package]]
++name = "libz-sys"
++version = "1.1.12"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d97137b25e321a73eef1418d1d5d2eda4d77e12813f8e6dead84bc52c5870a7b"
++dependencies = [
++ "cc",
++ "libc",
++ "pkg-config",
++ "vcpkg",
++]
++
++[[package]]
++name = "linux-raw-sys"
++version = "0.4.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "57bcfdad1b858c2db7c38303a6d2ad4dfaf5eb53dfeb0910128b2c26d6158503"
++
++[[package]]
++name = "log"
++version = "0.4.19"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4"
++
++[[package]]
++name = "memchr"
++version = "2.5.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
++
++[[package]]
++name = "miniz_oxide"
++version = "0.7.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
++dependencies = [
++ "adler",
++]
++
++[[package]]
++name = "miow"
++version = "0.5.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "52ffbca2f655e33c08be35d87278e5b18b89550a37dbd598c20db92f6a471123"
++dependencies = [
++ "windows-sys 0.42.0",
++]
++
++[[package]]
++name = "num-traits"
++version = "0.2.16"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2"
++dependencies = [
++ "autocfg",
++]
++
++[[package]]
++name = "once_cell"
++version = "1.18.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
++
++[[package]]
++name = "opener"
++version = "0.5.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "293c15678e37254c15bd2f092314abb4e51d7fdde05c2021279c12631b54f005"
++dependencies = [
++ "bstr",
++ "winapi",
++]
++
++[[package]]
++name = "openssl"
++version = "0.10.56"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "729b745ad4a5575dd06a3e1af1414bd330ee561c01b3899eb584baeaa8def17e"
++dependencies = [
++ "bitflags 1.3.2",
++ "cfg-if",
++ "foreign-types",
++ "libc",
++ "once_cell",
++ "openssl-macros",
++ "openssl-sys",
++]
++
++[[package]]
++name = "openssl-macros"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn 2.0.28",
++]
++
++[[package]]
++name = "openssl-probe"
++version = "0.1.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
++
++[[package]]
++name = "openssl-src"
++version = "111.27.0+1.1.1v"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "06e8f197c82d7511c5b014030c9b1efeda40d7d5f99d23b4ceed3524a5e63f02"
++dependencies = [
++ "cc",
++]
++
++[[package]]
++name = "openssl-sys"
++version = "0.9.91"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "866b5f16f90776b9bb8dc1e1802ac6f0513de3a7a7465867bfbc563dc737faac"
++dependencies = [
++ "cc",
++ "libc",
++ "openssl-src",
++ "pkg-config",
++ "vcpkg",
++]
++
++[[package]]
++name = "ordered-float"
++version = "2.10.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7940cf2ca942593318d07fcf2596cdca60a85c9e7fab408a5e21a4f9dcd40d87"
++dependencies = [
++ "num-traits",
++]
++
++[[package]]
++name = "orion"
++version = "0.17.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b11468cc6afd61a126fe3f91cc4cc8a0dbe7917d0a4b5e8357ba91cc47444462"
++dependencies = [
++ "fiat-crypto",
++ "subtle",
++ "zeroize",
++]
++
++[[package]]
++name = "os_info"
++version = "3.7.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "006e42d5b888366f1880eda20371fedde764ed2213dc8496f49622fa0c99cd5e"
++dependencies = [
++ "log",
++ "serde",
++ "winapi",
++]
++
++[[package]]
++name = "os_str_bytes"
++version = "6.5.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4d5d9eb14b174ee9aa2ef96dc2b94637a2d4b6e7cb873c7e171f0c20c6cf3eac"
++
++[[package]]
++name = "p384"
++version = "0.13.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "70786f51bcc69f6a4c0360e063a4cac5419ef7c5cd5b3c99ad70f3be5ba79209"
++dependencies = [
++ "ecdsa",
++ "elliptic-curve",
++ "primeorder",
++ "sha2",
++]
++
++[[package]]
++name = "pasetors"
++version = "0.6.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ba765699a309908d55950919a3445e9491453e89b2587b1b2abe4143a48894c0"
++dependencies = [
++ "ct-codecs",
++ "ed25519-compact",
++ "getrandom",
++ "orion",
++ "p384",
++ "rand_core",
++ "regex",
++ "serde",
++ "serde_json",
++ "sha2",
++ "subtle",
++ "time",
++ "zeroize",
++]
++
++[[package]]
++name = "pathdiff"
++version = "0.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd"
++
++[[package]]
++name = "pem-rfc7468"
++version = "0.7.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412"
++dependencies = [
++ "base64ct",
++]
++
++[[package]]
++name = "percent-encoding"
++version = "2.3.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
++
++[[package]]
++name = "pkcs8"
++version = "0.10.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7"
++dependencies = [
++ "der",
++ "spki",
++]
++
++[[package]]
++name = "pkg-config"
++version = "0.3.27"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
++
++[[package]]
++name = "primeorder"
++version = "0.13.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3c2fcef82c0ec6eefcc179b978446c399b3cdf73c392c35604e399eee6df1ee3"
++dependencies = [
++ "elliptic-curve",
++]
++
++[[package]]
++name = "proc-macro2"
++version = "1.0.66"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9"
++dependencies = [
++ "unicode-ident",
++]
++
++[[package]]
++name = "quote"
++version = "1.0.32"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965"
++dependencies = [
++ "proc-macro2",
++]
++
++[[package]]
++name = "rand_core"
++version = "0.6.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
++dependencies = [
++ "getrandom",
++]
++
++[[package]]
++name = "rand_xoshiro"
++version = "0.6.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6f97cdb2a36ed4183de61b2f824cc45c9f1037f28afe0a322e9fff4c108b5aaa"
++dependencies = [
++ "rand_core",
++]
++
++[[package]]
++name = "redox_syscall"
++version = "0.3.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
++dependencies = [
++ "bitflags 1.3.2",
++]
++
++[[package]]
++name = "regex"
++version = "1.9.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "81bc1d4caf89fac26a70747fe603c130093b53c773888797a6329091246d651a"
++dependencies = [
++ "aho-corasick",
++ "memchr",
++ "regex-automata",
++ "regex-syntax",
++]
++
++[[package]]
++name = "regex-automata"
++version = "0.3.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "fed1ceff11a1dddaee50c9dc8e4938bd106e9d89ae372f192311e7da498e3b69"
++dependencies = [
++ "aho-corasick",
++ "memchr",
++ "regex-syntax",
++]
++
++[[package]]
++name = "regex-syntax"
++version = "0.7.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2"
++
++[[package]]
++name = "rfc6979"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2"
++dependencies = [
++ "hmac",
++ "subtle",
++]
++
++[[package]]
++name = "rustc-workspace-hack"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "fc71d2faa173b74b232dedc235e3ee1696581bb132fc116fa3626d6151a1a8fb"
++
++[[package]]
++name = "rustfix"
++version = "0.6.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ecd2853d9e26988467753bd9912c3a126f642d05d229a4b53f5752ee36c56481"
++dependencies = [
++ "anyhow",
++ "log",
++ "serde",
++ "serde_json",
++]
++
++[[package]]
++name = "rustix"
++version = "0.38.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "19ed4fa021d81c8392ce04db050a3da9a60299050b7ae1cf482d862b54a7218f"
++dependencies = [
++ "bitflags 2.3.3",
++ "errno",
++ "libc",
++ "linux-raw-sys",
++ "windows-sys 0.48.0",
++]
++
++[[package]]
++name = "ryu"
++version = "1.0.15"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
++
++[[package]]
++name = "same-file"
++version = "1.0.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
++dependencies = [
++ "winapi-util",
++]
++
++[[package]]
++name = "schannel"
++version = "0.1.22"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88"
++dependencies = [
++ "windows-sys 0.48.0",
++]
++
++[[package]]
++name = "sec1"
++version = "0.7.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc"
++dependencies = [
++ "base16ct",
++ "der",
++ "generic-array",
++ "pkcs8",
++ "subtle",
++ "zeroize",
++]
++
++[[package]]
++name = "semver"
++version = "1.0.18"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918"
++dependencies = [
++ "serde",
++]
++
++[[package]]
++name = "serde"
++version = "1.0.183"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "32ac8da02677876d532745a130fc9d8e6edfa81a269b107c5b00829b91d8eb3c"
++dependencies = [
++ "serde_derive",
++]
++
++[[package]]
++name = "serde-value"
++version = "0.7.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f3a1a3341211875ef120e117ea7fd5228530ae7e7036a779fdc9117be6b3282c"
++dependencies = [
++ "ordered-float",
++ "serde",
++]
++
++[[package]]
++name = "serde_derive"
++version = "1.0.183"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "aafe972d60b0b9bee71a91b92fee2d4fb3c9d7e8f6b179aa99f27203d99a4816"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn 2.0.28",
++]
++
++[[package]]
++name = "serde_ignored"
++version = "0.1.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "80c31d5c53fd39f208e770f5a20a0bb214dee2a8d0d8adba18e19ad95a482ca5"
++dependencies = [
++ "serde",
++]
++
++[[package]]
++name = "serde_json"
++version = "1.0.104"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "076066c5f1078eac5b722a31827a8832fe108bed65dfa75e233c89f8206e976c"
++dependencies = [
++ "itoa",
++ "ryu",
++ "serde",
++]
++
++[[package]]
++name = "serde_spanned"
++version = "0.6.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186"
++dependencies = [
++ "serde",
++]
++
++[[package]]
++name = "sha1"
++version = "0.10.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3"
++dependencies = [
++ "cfg-if",
++ "cpufeatures",
++ "digest",
++]
++
++[[package]]
++name = "sha2"
++version = "0.10.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8"
++dependencies = [
++ "cfg-if",
++ "cpufeatures",
++ "digest",
++]
++
++[[package]]
++name = "shell-escape"
++version = "0.1.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "45bb67a18fa91266cc7807181f62f9178a6873bfad7dc788c42e6430db40184f"
++
++[[package]]
++name = "signature"
++version = "2.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5e1788eed21689f9cf370582dfc467ef36ed9c707f073528ddafa8d83e3b8500"
++dependencies = [
++ "digest",
++ "rand_core",
++]
++
++[[package]]
++name = "sized-chunks"
++version = "0.6.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "16d69225bde7a69b235da73377861095455d298f2b970996eec25ddbb42b3d1e"
++dependencies = [
++ "bitmaps",
++ "typenum",
++]
++
++[[package]]
++name = "socket2"
++version = "0.4.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662"
++dependencies = [
++ "libc",
++ "winapi",
++]
++
++[[package]]
++name = "spki"
++version = "0.7.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9d1e996ef02c474957d681f1b05213dfb0abab947b446a62d37770b23500184a"
++dependencies = [
++ "base64ct",
++ "der",
++]
++
++[[package]]
++name = "static_assertions"
++version = "1.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
++
++[[package]]
++name = "strip-ansi-escapes"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "011cbb39cf7c1f62871aea3cc46e5817b0937b49e9447370c93cacbe93a766d8"
++dependencies = [
++ "vte",
++]
++
++[[package]]
++name = "strsim"
++version = "0.10.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
++
++[[package]]
++name = "subtle"
++version = "2.5.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc"
++
++[[package]]
++name = "syn"
++version = "1.0.109"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "unicode-ident",
++]
++
++[[package]]
++name = "syn"
++version = "2.0.28"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "04361975b3f5e348b2189d8dc55bc942f278b2d482a6a0365de5bdd62d351567"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "unicode-ident",
++]
++
++[[package]]
++name = "tar"
++version = "0.4.40"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb"
++dependencies = [
++ "filetime",
++ "libc",
++]
++
++[[package]]
++name = "tempfile"
++version = "3.7.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dc02fddf48964c42031a0b3fe0428320ecf3a73c401040fc0096f97794310651"
++dependencies = [
++ "cfg-if",
++ "fastrand",
++ "redox_syscall",
++ "rustix",
++ "windows-sys 0.48.0",
++]
++
++[[package]]
++name = "termcolor"
++version = "1.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6"
++dependencies = [
++ "winapi-util",
++]
++
++[[package]]
++name = "textwrap"
++version = "0.16.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d"
++
++[[package]]
++name = "thread_local"
++version = "1.1.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152"
++dependencies = [
++ "cfg-if",
++ "once_cell",
++]
++
++[[package]]
++name = "time"
++version = "0.3.25"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b0fdd63d58b18d663fbdf70e049f00a22c8e42be082203be7f26589213cd75ea"
++dependencies = [
++ "deranged",
++ "itoa",
++ "serde",
++ "time-core",
++ "time-macros",
++]
++
++[[package]]
++name = "time-core"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb"
++
++[[package]]
++name = "time-macros"
++version = "0.2.11"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "eb71511c991639bb078fd5bf97757e03914361c48100d52878b8e52b46fb92cd"
++dependencies = [
++ "time-core",
++]
++
++[[package]]
++name = "tinyvec"
++version = "1.6.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
++dependencies = [
++ "tinyvec_macros",
++]
++
++[[package]]
++name = "tinyvec_macros"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
++
++[[package]]
++name = "toml"
++version = "0.5.11"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234"
++dependencies = [
++ "serde",
++]
++
++[[package]]
++name = "toml"
++version = "0.7.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c17e963a819c331dcacd7ab957d80bc2b9a9c1e71c804826d2f283dd65306542"
++dependencies = [
++ "serde",
++ "serde_spanned",
++ "toml_datetime 0.6.3",
++ "toml_edit 0.19.14",
++]
++
++[[package]]
++name = "toml_datetime"
++version = "0.5.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4553f467ac8e3d374bc9a177a26801e5d0f9b211aa1673fb137a403afd1c9cf5"
++dependencies = [
++ "serde",
++]
++
++[[package]]
++name = "toml_datetime"
++version = "0.6.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b"
++dependencies = [
++ "serde",
++]
++
++[[package]]
++name = "toml_edit"
++version = "0.15.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b1541ba70885967e662f69d31ab3aeca7b1aaecfcd58679590b893e9239c3646"
++dependencies = [
++ "combine",
++ "indexmap 1.9.3",
++ "itertools",
++ "kstring",
++ "serde",
++ "toml_datetime 0.5.1",
++]
++
++[[package]]
++name = "toml_edit"
++version = "0.19.14"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f8123f27e969974a3dfba720fdb560be359f57b44302d280ba72e76a74480e8a"
++dependencies = [
++ "indexmap 2.0.0",
++ "serde",
++ "serde_spanned",
++ "toml_datetime 0.6.3",
++ "winnow",
++]
++
++[[package]]
++name = "typenum"
++version = "1.16.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
++
++[[package]]
++name = "unicode-bidi"
++version = "0.3.13"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
++
++[[package]]
++name = "unicode-ident"
++version = "1.0.11"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c"
++
++[[package]]
++name = "unicode-normalization"
++version = "0.1.22"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
++dependencies = [
++ "tinyvec",
++]
++
++[[package]]
++name = "unicode-width"
++version = "0.1.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
++
++[[package]]
++name = "unicode-xid"
++version = "0.2.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
++
++[[package]]
++name = "url"
++version = "2.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb"
++dependencies = [
++ "form_urlencoded",
++ "idna",
++ "percent-encoding",
++]
++
++[[package]]
++name = "utf8parse"
++version = "0.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
++
++[[package]]
++name = "vcpkg"
++version = "0.2.15"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
++
++[[package]]
++name = "version_check"
++version = "0.9.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
++
++[[package]]
++name = "vte"
++version = "0.10.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6cbce692ab4ca2f1f3047fcf732430249c0e971bfdd2b234cf2c47ad93af5983"
++dependencies = [
++ "arrayvec",
++ "utf8parse",
++ "vte_generate_state_changes",
++]
++
++[[package]]
++name = "vte_generate_state_changes"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d257817081c7dffcdbab24b9e62d2def62e2ff7d00b1c20062551e6cccc145ff"
++dependencies = [
++ "proc-macro2",
++ "quote",
++]
++
++[[package]]
++name = "walkdir"
++version = "2.3.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698"
++dependencies = [
++ "same-file",
++ "winapi-util",
++]
++
++[[package]]
++name = "wasi"
++version = "0.11.0+wasi-snapshot-preview1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
++
++[[package]]
++name = "wasm-bindgen"
++version = "0.2.87"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342"
++dependencies = [
++ "cfg-if",
++ "wasm-bindgen-macro",
++]
++
++[[package]]
++name = "wasm-bindgen-backend"
++version = "0.2.87"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd"
++dependencies = [
++ "bumpalo",
++ "log",
++ "once_cell",
++ "proc-macro2",
++ "quote",
++ "syn 2.0.28",
++ "wasm-bindgen-shared",
++]
++
++[[package]]
++name = "wasm-bindgen-macro"
++version = "0.2.87"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d"
++dependencies = [
++ "quote",
++ "wasm-bindgen-macro-support",
++]
++
++[[package]]
++name = "wasm-bindgen-macro-support"
++version = "0.2.87"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn 2.0.28",
++ "wasm-bindgen-backend",
++ "wasm-bindgen-shared",
++]
++
++[[package]]
++name = "wasm-bindgen-shared"
++version = "0.2.87"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
++
++[[package]]
++name = "winapi"
++version = "0.3.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
++dependencies = [
++ "winapi-i686-pc-windows-gnu",
++ "winapi-x86_64-pc-windows-gnu",
++]
++
++[[package]]
++name = "winapi-i686-pc-windows-gnu"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
++
++[[package]]
++name = "winapi-util"
++version = "0.1.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
++dependencies = [
++ "winapi",
++]
++
++[[package]]
++name = "winapi-x86_64-pc-windows-gnu"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
++
++[[package]]
++name = "windows-sys"
++version = "0.42.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
++dependencies = [
++ "windows_aarch64_gnullvm 0.42.2",
++ "windows_aarch64_msvc 0.42.2",
++ "windows_i686_gnu 0.42.2",
++ "windows_i686_msvc 0.42.2",
++ "windows_x86_64_gnu 0.42.2",
++ "windows_x86_64_gnullvm 0.42.2",
++ "windows_x86_64_msvc 0.42.2",
++]
++
++[[package]]
++name = "windows-sys"
++version = "0.45.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
++dependencies = [
++ "windows-targets 0.42.2",
++]
++
++[[package]]
++name = "windows-sys"
++version = "0.48.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
++dependencies = [
++ "windows-targets 0.48.1",
++]
++
++[[package]]
++name = "windows-targets"
++version = "0.42.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
++dependencies = [
++ "windows_aarch64_gnullvm 0.42.2",
++ "windows_aarch64_msvc 0.42.2",
++ "windows_i686_gnu 0.42.2",
++ "windows_i686_msvc 0.42.2",
++ "windows_x86_64_gnu 0.42.2",
++ "windows_x86_64_gnullvm 0.42.2",
++ "windows_x86_64_msvc 0.42.2",
++]
++
++[[package]]
++name = "windows-targets"
++version = "0.48.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f"
++dependencies = [
++ "windows_aarch64_gnullvm 0.48.0",
++ "windows_aarch64_msvc 0.48.0",
++ "windows_i686_gnu 0.48.0",
++ "windows_i686_msvc 0.48.0",
++ "windows_x86_64_gnu 0.48.0",
++ "windows_x86_64_gnullvm 0.48.0",
++ "windows_x86_64_msvc 0.48.0",
++]
++
++[[package]]
++name = "windows_aarch64_gnullvm"
++version = "0.42.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
++
++[[package]]
++name = "windows_aarch64_gnullvm"
++version = "0.48.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
++
++[[package]]
++name = "windows_aarch64_msvc"
++version = "0.42.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
++
++[[package]]
++name = "windows_aarch64_msvc"
++version = "0.48.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
++
++[[package]]
++name = "windows_i686_gnu"
++version = "0.42.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
++
++[[package]]
++name = "windows_i686_gnu"
++version = "0.48.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
++
++[[package]]
++name = "windows_i686_msvc"
++version = "0.42.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
++
++[[package]]
++name = "windows_i686_msvc"
++version = "0.48.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
++
++[[package]]
++name = "windows_x86_64_gnu"
++version = "0.42.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
++
++[[package]]
++name = "windows_x86_64_gnu"
++version = "0.48.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
++
++[[package]]
++name = "windows_x86_64_gnullvm"
++version = "0.42.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
++
++[[package]]
++name = "windows_x86_64_gnullvm"
++version = "0.48.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
++
++[[package]]
++name = "windows_x86_64_msvc"
++version = "0.42.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
++
++[[package]]
++name = "windows_x86_64_msvc"
++version = "0.48.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
++
++[[package]]
++name = "winnow"
++version = "0.5.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "19f495880723d0999eb3500a9064d8dbcf836460b24c17df80ea7b5794053aac"
++dependencies = [
++ "memchr",
++]
++
++[[package]]
++name = "zeroize"
++version = "1.6.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9"
+--
+2.34.1
+
diff --git a/poky/meta/recipes-devtools/systemd-bootchart/systemd-bootchart/0001-comparison_fn_t-is-glibc-specific-use-raw-signature-.patch b/poky/meta/recipes-devtools/systemd-bootchart/systemd-bootchart/0001-comparison_fn_t-is-glibc-specific-use-raw-signature-.patch
index 12eecc9..8129000 100644
--- a/poky/meta/recipes-devtools/systemd-bootchart/systemd-bootchart/0001-comparison_fn_t-is-glibc-specific-use-raw-signature-.patch
+++ b/poky/meta/recipes-devtools/systemd-bootchart/systemd-bootchart/0001-comparison_fn_t-is-glibc-specific-use-raw-signature-.patch
@@ -12,7 +12,7 @@
 Based on work by: Khem Raj <raj.khem@gmail.com>
 
 Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com>
-Upstream-Status: Submitted [https://github.com/systemd/systemd-bootchart/pull/47]
+Upstream-Status: Denied [https://github.com/systemd/systemd-bootchart/pull/47]
 ---
 
  src/util.h | 2 +-
diff --git a/poky/meta/recipes-devtools/systemd-bootchart/systemd-bootchart/0002-musl-does-not-provide-printf-h.patch b/poky/meta/recipes-devtools/systemd-bootchart/systemd-bootchart/0002-musl-does-not-provide-printf-h.patch
index 8be3bed..2fac76a 100644
--- a/poky/meta/recipes-devtools/systemd-bootchart/systemd-bootchart/0002-musl-does-not-provide-printf-h.patch
+++ b/poky/meta/recipes-devtools/systemd-bootchart/systemd-bootchart/0002-musl-does-not-provide-printf-h.patch
@@ -10,7 +10,7 @@
 Includes work by: Khem Raj <raj.khem@gmail.com>
 
 Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com>
-Upstream-Status: Submitted [https://github.com/systemd/systemd-bootchart/pull/47]
+Upstream-Status: Denied [https://github.com/systemd/systemd-bootchart/pull/47]
 ---
 
  Makefile.am               |   4 +
diff --git a/poky/meta/recipes-devtools/systemd-bootchart/systemd-bootchart/0003-musl-does-not-provide-canonicalize_file_name.patch b/poky/meta/recipes-devtools/systemd-bootchart/systemd-bootchart/0003-musl-does-not-provide-canonicalize_file_name.patch
index c2c276e..fbe9c93 100644
--- a/poky/meta/recipes-devtools/systemd-bootchart/systemd-bootchart/0003-musl-does-not-provide-canonicalize_file_name.patch
+++ b/poky/meta/recipes-devtools/systemd-bootchart/systemd-bootchart/0003-musl-does-not-provide-canonicalize_file_name.patch
@@ -9,7 +9,7 @@
 Based on work by: Khem Raj <raj.khem@gmail.com>
 
 Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com>
-Upstream-Status: Submitted [https://github.com/systemd/systemd-bootchart/pull/47]
+Upstream-Status: Denied [https://github.com/systemd/systemd-bootchart/pull/47]
 ---
 
  src/path-util.c | 2 +-
diff --git a/poky/meta/recipes-devtools/tcf-agent/tcf-agent_git.bb b/poky/meta/recipes-devtools/tcf-agent/tcf-agent_git.bb
index 7d151d4..59b9d7d 100644
--- a/poky/meta/recipes-devtools/tcf-agent/tcf-agent_git.bb
+++ b/poky/meta/recipes-devtools/tcf-agent/tcf-agent_git.bb
@@ -7,7 +7,7 @@
 LIC_FILES_CHKSUM = "file://edl-v10.html;md5=522a390a83dc186513f0500543ad3679"
 
 SRCREV = "1f11747e83ebf4f53e8d17f430136f92ec378709"
-PV = "1.8.0+git${SRCPV}"
+PV = "1.8.0+git"
 
 UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))"
 SRC_URI = "git://git.eclipse.org/r/tcf/org.eclipse.tcf.agent.git;protocol=https;branch=master \
@@ -49,6 +49,7 @@
 CFLAGS:append:powerpc64le = " ${LCL_STOP_SERVICES}"
 CFLAGS:append:riscv64 = " ${LCL_STOP_SERVICES}"
 CFLAGS:append:riscv32 = " ${LCL_STOP_SERVICES}"
+CFLAGS:append:loongarch64 = " ${LCL_STOP_SERVICES}"
 
 do_install() {
 	oe_runmake install INSTALLROOT=${D}
diff --git a/poky/meta/recipes-devtools/tcltk/tcl/run-ptest b/poky/meta/recipes-devtools/tcltk/tcl/run-ptest
index a62b703..5b91277 100644
--- a/poky/meta/recipes-devtools/tcltk/tcl/run-ptest
+++ b/poky/meta/recipes-devtools/tcltk/tcl/run-ptest
@@ -3,9 +3,9 @@
 # clock.test needs a timezone to be set
 export TZ="Europe/London"
 export TCL_LIBRARY=library
-
+SKIPPED_TESTS=
 for i in `ls tests/*.test | awk -F/ '{print $2}'`; do
-    ./tcltest tests/all.tcl -file $i >$i.log 2>&1
+    ./tcltest tests/all.tcl -file $i -skip "$SKIPPED_TESTS" >$i.log 2>&1
     grep -q -F -e "Files with failing tests:" -e "Test files exiting with errors:" $i.log
     if [ $? -eq 0 ]; then
         echo "FAIL: $i"
diff --git a/poky/meta/recipes-devtools/tcltk/tcl_8.6.13.bb b/poky/meta/recipes-devtools/tcltk/tcl_8.6.13.bb
index 91fc813..b33a78e 100644
--- a/poky/meta/recipes-devtools/tcltk/tcl_8.6.13.bb
+++ b/poky/meta/recipes-devtools/tcltk/tcl_8.6.13.bb
@@ -41,6 +41,12 @@
 AUTOTOOLS_SCRIPT_PATH = "${S}/unix"
 EXTRA_OECONF = "--enable-threads --disable-rpath --enable-man-suffix"
 
+# Prevent installing copy of tzdata based on tzdata installation on the build host
+# It doesn't install tzdata if one of the following files exist on the host:
+# /usr/share/zoneinfo/UTC /usr/share/zoneinfo/GMT /usr/share/lib/zoneinfo/UTC /usr/share/lib/zoneinfo/GMT /usr/lib/zoneinfo/UTC /usr/lib/zoneinfo/GMT
+# otherwise "/usr/lib/tcl8.6/tzdata" is included in tcl package
+EXTRA_OECONF += "--with-tzdata=no"
+
 do_install() {
 	autotools_do_install
 	oe_runmake 'DESTDIR=${D}' install-private-headers
@@ -80,6 +86,11 @@
 	cp -r ${S}/tests ${D}${PTEST_PATH}
 }
 
+do_install_ptest:append:libc-musl () {
+	# Assumes locales other than provided by musl-locales
+	sed -i -e 's|SKIPPED_TESTS=|SKIPPED_TESTS="unixInit-3*"|' ${D}${PTEST_PATH}/run-ptest
+}
+
 # Fix some paths that might be used by Tcl extensions
 BINCONFIG_GLOB = "*Config.sh"
 
diff --git a/poky/meta/recipes-devtools/xmlto/xmlto_0.0.28.bb b/poky/meta/recipes-devtools/xmlto/xmlto_0.0.28.bb
index 5e3fac7..d5a0e69 100644
--- a/poky/meta/recipes-devtools/xmlto/xmlto_0.0.28.bb
+++ b/poky/meta/recipes-devtools/xmlto/xmlto_0.0.28.bb
@@ -11,7 +11,7 @@
 SRC_URI = "git://pagure.io/xmlto.git;protocol=https;branch=master"
 S = "${WORKDIR}/git"
 
-PV .= "+0.0.29+git${SRCPV}"
+PV .= "+0.0.29+git"
 
 inherit autotools
 
diff --git a/poky/meta/recipes-extended/baremetal-example/baremetal-helloworld_git.bb b/poky/meta/recipes-extended/baremetal-example/baremetal-helloworld_git.bb
index c5d3e04..fde75ec 100644
--- a/poky/meta/recipes-extended/baremetal-example/baremetal-helloworld_git.bb
+++ b/poky/meta/recipes-extended/baremetal-example/baremetal-helloworld_git.bb
@@ -5,7 +5,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=39346640a23c701e4f459e05f56f4449"
 
 SRCREV = "fc7c43d138185028b6ac14c83f6492fce26eca95"
-PV = "0.1+git${SRCPV}"
+PV = "0.1+git"
 
 SRC_URI = "git://github.com/ahcbb6/baremetal-helloqemu.git;protocol=https;branch=master"
 UPSTREAM_VERSION_UNKNOWN="1"
diff --git a/poky/meta/recipes-extended/ghostscript/ghostscript/configure.ac-add-option-to-explicitly-disable-neon.patch b/poky/meta/recipes-extended/ghostscript/ghostscript/configure.ac-add-option-to-explicitly-disable-neon.patch
new file mode 100644
index 0000000..7873396
--- /dev/null
+++ b/poky/meta/recipes-extended/ghostscript/ghostscript/configure.ac-add-option-to-explicitly-disable-neon.patch
@@ -0,0 +1,99 @@
+From fd37229a17822c5ad21a369f670b8a6f6cc6b95b Mon Sep 17 00:00:00 2001
+From: Benjamin Bara <benjamin.bara@skidata.com>
+Date: Mon, 4 Sep 2023 12:16:39 +0200
+Subject: [PATCH] configure.ac: add option to explicitly disable neon
+
+Uncomment an already existing possibility to explicitly disable neon and
+use it on both implemented neon checks.
+
+Upstream-Status: Submitted [https://bugs.ghostscript.com/show_bug.cgi?id=707097]
+
+Signed-off-by: Benjamin Bara <benjamin.bara@skidata.com>
+---
+ configure.ac | 52 +++++++++++++++++++++++++++++-----------------------
+ 1 file changed, 29 insertions(+), 23 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 09d881dd1..62718e15e 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -749,6 +749,33 @@ SUBCONFIG_OPTS="--build=$build --host=$host"
+ #  SUBCONFIG_OPTS="$SUBCONFIG_OPTS --host=$host_alias"
+ #fi
+ 
++dnl --------------------------------------------------
++dnl Check for NEON support
++dnl --------------------------------------------------
++save_cflags=$CFLAGS
++AC_MSG_CHECKING([neon support])
++CFLAGS="$save_cflags $OPT_CFLAGS -mfpu=neon -mcpu=cortex-a53"
++HAVE_NEON=""
++AC_LINK_IFELSE(
++  [AC_LANG_PROGRAM([#include "arm_neon.h"], [
++  int32x4_t round = vdupq_n_s32(10);
++  return(0);
++  ])],
++  [HAVE_NEON="-DHAVE_NEON"], [HAVE_NEON=""])
++
++AC_ARG_ENABLE([neon], AS_HELP_STRING([--disable-neon],
++       [Do not use neon instrinsics]), [
++             if test "x$enable_neon" = xno; then
++                HAVE_NEON=""
++             fi])
++
++if test "x$HAVE_NEON" != x; then
++  AC_MSG_RESULT(yes)
++else
++  AC_MSG_RESULT(no)
++fi
++CFLAGS=$save_cflags
++
+ dnl --------------------------------------------------
+ dnl Check for libraries
+ dnl --------------------------------------------------
+@@ -971,11 +998,12 @@ if test x$with_tesseract != xno; then
+          [TESS_NEON="-mfpu=neon -mcpu=cortex-a53 -D__ARM_NEON__"],
+          [TESS_NEON=""])
+ 
+-        if test "x$TESS_NEON" != x; then
++        if test "x$TESS_NEON" != x && test "x$enable_neon" != xno; then
+           AC_MSG_RESULT(yes)
+           TESS_CXXFLAGS="$TESS_CXXFLAGS -DHAVE_NEON"
+         else
+           AC_MSG_RESULT(no)
++          TESS_NEON=""
+         fi
+ 
+         CXXFLAGS="$save_cxxflags"
+@@ -2387,28 +2415,6 @@ if test x$WITH_CAL != x0; then
+     AC_MSG_RESULT(no)
+   fi
+ 
+-  AC_MSG_CHECKING([neon support])
+-  CFLAGS="$save_cflags $OPT_CFLAGS -mfpu=neon -mcpu=cortex-a53"
+-  HAVE_NEON=""
+-  AC_LINK_IFELSE(
+-    [AC_LANG_PROGRAM([#include "arm_neon.h"], [
+-    int32x4_t round = vdupq_n_s32(10);
+-    return(0);
+-    ])],
+-    [HAVE_NEON="-DHAVE_NEON"], [HAVE_NEON=""])
+-
+-  #AC_ARG_ENABLE([neon], AS_HELP_STRING([--disable-neon],
+-  #       [Do not use neon instrinsics]), [
+-  #             if test "x$enable_neon" = xno; then
+-  #                HAVE_NEON=""
+-  #             fi])
+-
+-  if test "x$HAVE_NEON" != x; then
+-    AC_MSG_RESULT(yes)
+-  else
+-    AC_MSG_RESULT(no)
+-  fi
+-
+   #AC_SUBST(HAVE_SSE4_2)
+   #AC_SUBST(HAVE_NEON)
+   CFLAGS=$save_cflags
+-- 
+2.34.1
+
diff --git a/poky/meta/recipes-extended/ghostscript/ghostscript_10.01.2.bb b/poky/meta/recipes-extended/ghostscript/ghostscript_10.01.2.bb
index 0ddf708..434170e 100644
--- a/poky/meta/recipes-extended/ghostscript/ghostscript_10.01.2.bb
+++ b/poky/meta/recipes-extended/ghostscript/ghostscript_10.01.2.bb
@@ -26,6 +26,7 @@
            file://ghostscript-9.16-Werror-return-type.patch \
            file://avoid-host-contamination.patch \
            file://0001-Bug-706897-Copy-pcx-buffer-overrun-fix-from-devices-.patch \
+           file://configure.ac-add-option-to-explicitly-disable-neon.patch \
 "
 
 SRC_URI[sha256sum] = "a4cd61a07fec161bee35da0211a5e5cde8ff8a0aaf942fc0176715e499d21661"
@@ -45,6 +46,9 @@
 
 EXTRA_OECONF:append:mipsarcho32 = " --with-large_color_index=0"
 
+EXTRA_OECONF:append:armv7a = "${@bb.utils.contains('TUNE_FEATURES','neon','',' --disable-neon',d)}"
+EXTRA_OECONF:append:armv7ve = "${@bb.utils.contains('TUNE_FEATURES','neon','',' --disable-neon',d)}"
+
 # Uses autoconf but not automake, can't do out-of-tree
 inherit autotools-brokensep pkgconfig
 
diff --git a/poky/meta/recipes-extended/groff/files/0001-Fix-code-style-issues.patch b/poky/meta/recipes-extended/groff/files/0001-Fix-code-style-issues.patch
deleted file mode 100644
index 221490d..0000000
--- a/poky/meta/recipes-extended/groff/files/0001-Fix-code-style-issues.patch
+++ /dev/null
@@ -1,536 +0,0 @@
-From 99313d5c0ff35da6627e7dc985612f990ca64637 Mon Sep 17 00:00:00 2001
-From: "G. Branden Robinson" <g.branden.robinson@gmail.com>
-Date: Mon, 16 Aug 2021 12:37:22 +1000
-Subject: [PATCH] Fix code style issues.
-
-* src/preproc/grn/hgraph.cpp:
-* src/preproc/grn/hpoint.cpp:
-* src/preproc/grn/main.cpp:
-* src/preproc/grn/hdb.cpp: Drop use of `register` storage class.
-
-* src/preproc/grn/hgraph.cpp (len, HGPrintElt, picurve):
-* src/preproc/grn/hdb.cpp (DBRead): Wrap long lines.
-
-* src/preproc/grn/hgraph.cpp: Rename function from `Paramaterize` to
-  `Parameterize`.
-
-  (HGCurve): Update call site.
-
-* src/preproc/grn/main.cpp (add_file): Drop redundant cast in
-  `realloc()` call.
-
-  (conv, interpret): Use standard English in diagnostic messages.
-
-Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/groff.git/commit/?id=eead5f5cf1dedc6d180bdb34914d7157d39e270c]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/preproc/grn/hdb.cpp    |  20 +++---
- src/preproc/grn/hgraph.cpp | 131 +++++++++++++++++++------------------
- src/preproc/grn/hpoint.cpp |   2 +-
- src/preproc/grn/main.cpp   |  38 +++++------
- 4 files changed, 100 insertions(+), 91 deletions(-)
-
-diff --git a/src/preproc/grn/hdb.cpp b/src/preproc/grn/hdb.cpp
-index c61e099..2b4011b 100644
---- a/src/preproc/grn/hdb.cpp
-+++ b/src/preproc/grn/hdb.cpp
-@@ -35,7 +35,7 @@ extern POINT *PTInit();
- extern POINT *PTMakePoint(double x, double y, POINT ** pplist);
- 
- 
--int DBGetType(register char *s);
-+int DBGetType(char *s);
- 
- 
- /*
-@@ -61,7 +61,7 @@ DBCreateElt(int type,
- 	    char *text,
- 	    ELT **db)
- {
--  register ELT *temp;
-+  ELT *temp = 0;
- 
-   temp = (ELT *) malloc(sizeof(ELT));
-   temp->nextelt = *db;
-@@ -80,11 +80,11 @@ DBCreateElt(int type,
-  * pointer to that database.
-  */
- ELT *
--DBRead(register FILE *file)
-+DBRead(FILE *file)
- {
--  register int i;
--  register int done;		/* flag for input exhausted */
--  register double nx;		/* x holder so x is not set before orienting */
-+  int i;
-+  int done;		/* flag for input exhausted */
-+  double nx;		/* x holder so x is not set before orienting */
-   int type;			/* element type */
-   ELT *elist;			/* pointer to the file's elements */
-   POINT *plist;			/* pointer for reading in points */
-@@ -112,7 +112,9 @@ DBRead(register FILE *file)
-     /* if (fscanf(file,"%" MAXSTRING_S "s\n", string) == EOF) */
-     /* I changed the scanf format because the element */
-     /* can have two words (e.g. CURVE SPLINE)         */
--    if (fscanf(file, "\n%" MAXSTRING_S "[^\n]%*[^\n]\n", string) == EOF) {
-+    if (fscanf(file, "\n%"
-+		      MAXSTRING_S
-+		     "[^\n]%*[^\n]\n", string) == EOF) {
-       error("'%1', error in file format", gremlinfile);
-       return (elist);
-     }
-@@ -209,7 +211,7 @@ DBRead(register FILE *file)
-  * New file format has literal names for element types.
-  */
- int
--DBGetType(register char *s)
-+DBGetType(char *s)
- {
-   if (isdigit(s[0]) || (s[0] == '-'))	/* old element format or EOF */
-     return (atoi(s));
-@@ -298,7 +300,7 @@ xscanf(FILE *f,
-        double *xp,
-        double *yp)
- {
--  register int c, i, j, m, frac;
-+  int c, i, j, m, frac;
-   int iscale = 1, jscale = 1;	/* x = i/scale, y=j/jscale */
- 
-   while ((c = getc(f)) == ' ');
-diff --git a/src/preproc/grn/hgraph.cpp b/src/preproc/grn/hgraph.cpp
-index dbc0086..ad051ea 100644
---- a/src/preproc/grn/hgraph.cpp
-+++ b/src/preproc/grn/hgraph.cpp
-@@ -14,7 +14,8 @@
- #define PointsPerInterval 64
- #define pi		3.14159265358979324
- #define twopi		(2.0 * pi)
--#define len(a, b)	groff_hypot((double)(b.x-a.x), (double)(b.y-a.y))
-+#define len(a, b)	groff_hypot((double)(b.x-a.x), \
-+			            (double)(b.y-a.y))
- 
- 
- extern int dotshifter;		/* for the length of dotted curves */
-@@ -48,7 +49,7 @@ extern double adj4;
- extern int res;
- 
- void HGSetFont(int font, int size);
--void HGPutText(int justify, POINT pnt, register char *string);
-+void HGPutText(int justify, POINT pnt, char *string);
- void HGSetBrush(int mode);
- void tmove2(int px, int py);
- void doarc(POINT cp, POINT sp, int angle);
-@@ -58,10 +59,10 @@ void drawwig(POINT * ptr, int type);
- void HGtline(int x1, int y1);
- void deltax(double x);
- void deltay(double y);
--void HGArc(register int cx, register int cy, int px, int py, int angle);
--void picurve(register int *x, register int *y, int npts);
-+void HGArc(int cx, int cy, int px, int py, int angle);
-+void picurve(int *x, int *y, int npts);
- void HGCurve(int *x, int *y, int numpoints);
--void Paramaterize(int x[], int y[], double h[], int n);
-+void Parameterize(int x[], int y[], double h[], int n);
- void PeriodicSpline(double h[], int z[],
- 		    double dz[], double d2z[], double d3z[],
- 		    int npoints);
-@@ -83,10 +84,10 @@ void
- HGPrintElt(ELT *element,
- 	   int /* baseline */)
- {
--  register POINT *p1;
--  register POINT *p2;
--  register int length;
--  register int graylevel;
-+  POINT *p1;
-+  POINT *p2;
-+  int length;
-+  int graylevel;
- 
-   if (!DBNullelt(element) && !Nullpoint((p1 = element->ptlist))) {
-     /* p1 always has first point */
-@@ -168,7 +169,8 @@ HGPrintElt(ELT *element,
- 
- 	  if (polyfill == FILL || polyfill == BOTH) {
- 	    /* do the interior */
--	    char command = (polyfill == BOTH && element->brushf) ? 'p' : 'P';
-+	    char command = (polyfill == BOTH && element->brushf)
-+			   ? 'p' : 'P';
- 
- 	    /* include outline, if there is one and */
- 	    /* the -p flag was set                  */
-@@ -278,7 +280,7 @@ HGPrintElt(ELT *element,
- void
- HGPutText(int justify,
- 	  POINT pnt,
--	  register char *string)
-+	  char *string)
- {
-   int savelasty = lasty;	/* vertical motion for text is to be */
- 				/* ignored.  Save current y here     */
-@@ -387,7 +389,7 @@ HGSetFont(int font,
- void
- HGSetBrush(int mode)
- {
--  register int printed = 0;
-+  int printed = 0;
- 
-   if (linmod != style[--mode]) {
-     /* Groff doesn't understand \Ds, so we take it out */
-@@ -417,7 +419,7 @@ HGSetBrush(int mode)
- void
- deltax(double x)
- {
--  register int ix = (int) (x * troffscale);
-+  int ix = (int) (x * troffscale);
- 
-   printf(" %du", ix - lastx);
-   lastx = ix;
-@@ -437,7 +439,7 @@ deltax(double x)
- void
- deltay(double y)
- {
--  register int iy = (int) (y * troffscale);
-+  int iy = (int) (y * troffscale);
- 
-   printf(" %du", iy - lastyline);
-   lastyline = iy;
-@@ -457,8 +459,8 @@ void
- tmove2(int px,
-        int py)
- {
--  register int dx;
--  register int dy;
-+  int dx;
-+  int dy;
- 
-   if ((dy = py - lasty)) {
-     printf("\\v'%du'", dy);
-@@ -483,10 +485,10 @@ tmove2(int px,
- void
- tmove(POINT * ptr)
- {
--  register int ix = (int) (ptr->x * troffscale);
--  register int iy = (int) (ptr->y * troffscale);
--  register int dx;
--  register int dy;
-+  int ix = (int) (ptr->x * troffscale);
-+  int iy = (int) (ptr->y * troffscale);
-+  int dx;
-+  int dy;
- 
-   if ((dy = iy - lasty)) {
-     printf(".sp %du\n", dy);
-@@ -547,7 +549,7 @@ void
- drawwig(POINT * ptr,
- 	int type)
- {
--  register int npts;			/* point list index */
-+  int npts;			/* point list index */
-   int x[MAXPOINTS], y[MAXPOINTS];	/* point list */
- 
-   for (npts = 1; !Nullpoint(ptr); ptr = PTNextPoint(ptr), npts++) {
-@@ -574,20 +576,20 @@ drawwig(POINT * ptr,
-  *----------------------------------------------------------------------------*/
- 
- void
--HGArc(register int cx,
--      register int cy,
-+HGArc(int cx,
-+      int cy,
-       int px,
-       int py,
-       int angle)
- {
-   double xs, ys, resolution, fullcircle;
-   int m;
--  register int mask;
--  register int extent;
--  register int nx;
--  register int ny;
--  register int length;
--  register double epsilon;
-+  int mask;
-+  int extent;
-+  int nx;
-+  int ny;
-+  int length;
-+  double epsilon;
- 
-   xs = px - cx;
-   ys = py - cy;
-@@ -633,15 +635,15 @@ HGArc(register int cx,
-  *----------------------------------------------------------------------------*/
- 
- void
--picurve(register int *x,
--	register int *y,
-+picurve(int *x,
-+	int *y,
- 	int npts)
- {
--  register int nseg;		/* effective resolution for each curve */
--  register int xp;		/* current point (and temporary) */
--  register int yp;
--  int pxp, pyp;			/* previous point (to make lines from) */
--  int i;			/* inner curve segment traverser */
-+  int nseg;		/* effective resolution for each curve */
-+  int xp;		/* current point (and temporary) */
-+  int yp;
-+  int pxp, pyp;		/* previous point (to make lines from) */
-+  int i;		/* inner curve segment traverser */
-   int length = 0;
-   double w;			/* position factor */
-   double t1, t2, t3;		/* calculation temps */
-@@ -671,7 +673,8 @@ picurve(register int *x,
- 				/* 'nseg' is the number of line    */
- 				/* segments that will be drawn for */
- 				/* each curve segment.             */
--    nseg = (int) ((double) (nseg + (int) groff_hypot((double) xp, (double) yp)) /
-+    nseg = (int) ((double) (nseg + (int) groff_hypot((double) xp,
-+						     (double) yp)) /
- 		  res * PointsPerInterval);
- 
-     for (i = 1; i < nseg; i++) {
-@@ -710,10 +713,10 @@ HGCurve(int *x,
-   double h[MAXPOINTS], dx[MAXPOINTS], dy[MAXPOINTS];
-   double d2x[MAXPOINTS], d2y[MAXPOINTS], d3x[MAXPOINTS], d3y[MAXPOINTS];
-   double t, t2, t3;
--  register int j;
--  register int k;
--  register int nx;
--  register int ny;
-+  int j;
-+  int k;
-+  int nx;
-+  int ny;
-   int lx, ly;
-   int length = 0;
- 
-@@ -725,7 +728,7 @@ HGCurve(int *x,
-    * Solve for derivatives of the curve at each point separately for x and y
-    * (parametric).
-    */
--  Paramaterize(x, y, h, numpoints);
-+  Parameterize(x, y, h, numpoints);
- 
-   /* closed curve */
-   if ((x[1] == x[numpoints]) && (y[1] == y[numpoints])) {
-@@ -771,15 +774,15 @@ HGCurve(int *x,
-  *----------------------------------------------------------------------------*/
- 
- void
--Paramaterize(int x[],
-+Parameterize(int x[],
- 	     int y[],
- 	     double h[],
- 	     int n)
- {
--  register int dx;
--  register int dy;
--  register int i;
--  register int j;
-+  int dx;
-+  int dy;
-+  int i;
-+  int j;
-   double u[MAXPOINTS];
- 
-   for (i = 1; i <= n; ++i) {
-@@ -937,9 +940,9 @@ NaturalEndSpline(double h[],	/* parameterization */
-  *----------------------------------------------------------------------------*/
- 
- void
--change(register int x,
--       register int y,
--       register int vis)
-+change(int x,
-+       int y,
-+       int vis)
- {
-   static int length = 0;
- 
-@@ -967,17 +970,17 @@ void
- HGtline(int x_1,
- 	int y_1)
- {
--  register int x_0 = lastx;
--  register int y_0 = lasty;
--  register int dx;
--  register int dy;
--  register int oldcoord;
--  register int res1;
--  register int visible;
--  register int res2;
--  register int xinc;
--  register int yinc;
--  register int dotcounter;
-+  int x_0 = lastx;
-+  int y_0 = lasty;
-+  int dx;
-+  int dy;
-+  int oldcoord;
-+  int res1;
-+  int visible;
-+  int res2;
-+  int xinc;
-+  int yinc;
-+  int dotcounter;
- 
-   if (linmod == SOLID) {
-     line(x_1, y_1);
-@@ -1045,4 +1048,8 @@ HGtline(int x_1,
-     change(x_1, y_1, 0);
- }
- 
--/* EOF */
-+// Local Variables:
-+// fill-column: 72
-+// mode: C++
-+// End:
-+// vim: set cindent noexpandtab shiftwidth=2 textwidth=72:
-diff --git a/src/preproc/grn/hpoint.cpp b/src/preproc/grn/hpoint.cpp
-index b581cb0..77bfc9d 100644
---- a/src/preproc/grn/hpoint.cpp
-+++ b/src/preproc/grn/hpoint.cpp
-@@ -32,7 +32,7 @@ PTMakePoint(double x,
- 	    double y,
- 	    POINT **pplist)
- {
--  register POINT *pt;
-+  POINT *pt;
- 
-   if (Nullpoint(pt = *pplist)) {	/* empty list */
-     *pplist = (POINT *) malloc(sizeof(POINT));
-diff --git a/src/preproc/grn/main.cpp b/src/preproc/grn/main.cpp
-index 833fd60..d1887b6 100644
---- a/src/preproc/grn/main.cpp
-+++ b/src/preproc/grn/main.cpp
-@@ -88,7 +88,7 @@ extern "C" const char *Version_string;
- 
- extern void HGPrintElt(ELT *element, int baseline);
- extern ELT *DBInit();
--extern ELT *DBRead(register FILE *file);
-+extern ELT *DBRead(FILE *file);
- extern POINT *PTInit();
- extern POINT *PTMakePoint(double x, double y, POINT **pplist);
- 
-@@ -231,9 +231,9 @@ int compatibility_flag = FALSE;	/* TRUE if in compatibility mode */
- 
- void getres();
- int doinput(FILE *fp);
--void conv(register FILE *fp, int baseline);
-+void conv(FILE *fp, int baseline);
- void savestate();
--int has_polygon(register ELT *elist);
-+int has_polygon(ELT *elist);
- void interpret(char *line);
- 
- 
-@@ -256,7 +256,7 @@ add_file(char **file,
- {
-   if (*count >= *cur_size) {
-     *cur_size += FILE_SIZE_INCR;
--    file = (char **) realloc((char **) file, *cur_size * sizeof(char *));
-+    file = (char **) realloc(file, *cur_size * sizeof(char *));
-     if (file == NULL) {
-       fatal("unable to extend file array");
-     }
-@@ -283,9 +283,9 @@ main(int argc,
- {
-   setlocale(LC_NUMERIC, "C");
-   program_name = argv[0];
--  register FILE *fp;
--  register int k;
--  register char c;
-+  FILE *fp;
-+  int k;
-+  char c;
-   int gfil = 0;
-   char **file = NULL;
-   int file_cur_size = INIT_FILE_SIZE;
-@@ -466,7 +466,7 @@ doinput(FILE *fp)
- void
- initpic()
- {
--  register int i;
-+  int i;
- 
-   for (i = 0; i < STYLES; i++) {	/* line thickness defaults */
-     thick[i] = defthick[i];
-@@ -511,12 +511,12 @@ initpic()
-  *----------------------------------------------------------------------------*/
- 
- void
--conv(register FILE *fp,
-+conv(FILE *fp,
-      int baseline)
- {
--  register FILE *gfp = NULL;	/* input file pointer */
--  register int done = 0;	/* flag to remember if finished */
--  register ELT *e;		/* current element pointer */
-+  FILE *gfp = NULL;		/* input file pointer */
-+  int done = 0;		/* flag to remember if finished */
-+  ELT *e;			/* current element pointer */
-   ELT *PICTURE;			/* whole picture data base pointer */
-   double temp;			/* temporary calculating area */
-   /* POINT ptr; */		/* coordinates of a point to pass to 'mov' */
-@@ -543,7 +543,7 @@ conv(register FILE *fp,
- 
-       if (!gremlinfile[0]) {
- 	if (!setdefault)
--	  error("at line %1: no picture filename.\n", baseline);
-+	  error("no picture file name at line %1", baseline);
- 	return;
-       }
-       char *path;
-@@ -577,7 +577,7 @@ conv(register FILE *fp,
-       }				/* here, troffscale is the */
- 				/* picture's scaling factor */
-       if (pointscale) {
--	register int i;		/* do pointscaling here, when */
-+	int i;			/* do pointscaling here, when */
- 				/* scale is known, before output */
- 	for (i = 0; i < SIZES; i++)
- 	  tsize[i] = (int) (troffscale * (double) tsize[i] + 0.5);
-@@ -700,7 +700,7 @@ conv(register FILE *fp,
- void
- savestate()
- {
--  register int i;
-+  int i;
- 
-   for (i = 0; i < STYLES; i++)	/* line thickness defaults */
-     defthick[i] = thick[i];
-@@ -761,8 +761,8 @@ interpret(char *line)
- {
-   char str1[MAXINLINE];
-   char str2[MAXINLINE];
--  register char *chr;
--  register int i;
-+  char *chr;
-+  int i;
-   double par;
- 
-   str2[0] = '\0';
-@@ -811,7 +811,7 @@ interpret(char *line)
- 
-     if (str2[0] < '0') {
-   nofont:
--      error("no fontname specified in line %1", linenum);
-+      error("no font name specified in line %1", linenum);
-       break;
-     }
-     if (str1[1] == 't')
-@@ -935,7 +935,7 @@ interpret(char *line)
-  */
- 
- int
--has_polygon(register ELT *elist)
-+has_polygon(ELT *elist)
- {
-   while (!DBNullelt(elist)) {
-     if (elist->type == POLYGON)
--- 
-2.39.0
-
diff --git a/poky/meta/recipes-extended/groff/files/0001-Include-config.h.patch b/poky/meta/recipes-extended/groff/files/0001-Include-config.h.patch
deleted file mode 100644
index 99f590b..0000000
--- a/poky/meta/recipes-extended/groff/files/0001-Include-config.h.patch
+++ /dev/null
@@ -1,212 +0,0 @@
-From 6cfa9f8126c1d6ec26f120d273e714fb19108873 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 4 Aug 2019 16:32:41 -0700
-Subject: [PATCH] Include config.h
-
-This helps avoid the include conflicts where <stdlib.h> is including
-<math.h> and since -I./lib is used and a local math.h wrapper is
-residing in there, the build breaks since stdlib.h really wants the
-standard system math.h to be included, this ensures that right macros
-are predefined and included before stdlib.h is included
-
-fixes
-In file included from src/libs/libgroff/assert.cpp:20:
-In file included from TOPDIR/build/tmp/work/aarch64-yoe-linux-musl/groff/1.22.4-r0/recipe-sysroot/usr/include/c++/v1/stdlib.h:100:
-./lib/math.h:38:3: error: "Please include config.h first."
- #error "Please include config.h first."
-  ^
-./lib/math.h:40:1: error: unknown type name '_GL_INLINE_HEADER_BEGIN'
-
-We delete eqn.cpp and qen.hpp in do_configure
-to ensure they're regenerated and deterministic.
-
-Issue is fixed upstream with similar patches:
-https://git.savannah.gnu.org/cgit/groff.git/commit/?id=979f3f4266151c7681a68a40d2c4913842a7271d
-https://git.savannah.gnu.org/cgit/groff.git/commit/?id=fe121eeacd53c96105f23209b2c205f436f97359
-
-Upstream-Status: Backport [see links above]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/libs/libgroff/assert.cpp  |   4 +
- src/libs/libgroff/curtime.cpp |   4 +
- src/libs/libgroff/device.cpp  |   4 +
- src/libs/libgroff/error.cpp   |   4 +
- src/libs/libgroff/fatal.cpp   |   4 +
- src/libs/libgroff/string.cpp  |   4 +
- src/libs/libgroff/strsave.cpp |   4 +
- src/preproc/eqn/eqn.cpp       | 450 ++++++++++++++++++----------------
- src/preproc/eqn/eqn.hpp       |  12 +-
- src/preproc/eqn/eqn.ypp       |   4 +
- src/preproc/eqn/other.cpp     |   4 +
- src/preproc/eqn/text.cpp      |   4 +
- src/preproc/pic/object.cpp    |   4 +
- 13 files changed, 285 insertions(+), 221 deletions(-)
-
-diff --git a/src/libs/libgroff/assert.cpp b/src/libs/libgroff/assert.cpp
-index aceed05..97780d6 100644
---- a/src/libs/libgroff/assert.cpp
-+++ b/src/libs/libgroff/assert.cpp
-@@ -16,6 +16,10 @@ for more details.
- You should have received a copy of the GNU General Public License
- along with this program.  If not, see <http://www.gnu.org/licenses/>. */
- 
-+#if HAVE_CONFIG_H
-+# include <config.h>
-+#endif
-+
- #include <stdio.h>
- #include <stdlib.h>
- #include "assert.h"
-diff --git a/src/libs/libgroff/curtime.cpp b/src/libs/libgroff/curtime.cpp
-index 72fe067..9ddba08 100644
---- a/src/libs/libgroff/curtime.cpp
-+++ b/src/libs/libgroff/curtime.cpp
-@@ -15,6 +15,10 @@ for more details.
- The GNU General Public License version 2 (GPL2) is available in the
- internet at <http://www.gnu.org/licenses/gpl-2.0.txt>. */
- 
-+#if HAVE_CONFIG_H
-+# include <config.h>
-+#endif
-+
- #include <errno.h>
- #include <limits.h>
- #include <stdlib.h>
-diff --git a/src/libs/libgroff/device.cpp b/src/libs/libgroff/device.cpp
-index 0d28b85..c211f85 100644
---- a/src/libs/libgroff/device.cpp
-+++ b/src/libs/libgroff/device.cpp
-@@ -17,6 +17,10 @@ for more details.
- You should have received a copy of the GNU General Public License
- along with this program.  If not, see <http://www.gnu.org/licenses/>. */
- 
-+#if HAVE_CONFIG_H
-+# include <config.h>
-+#endif
-+
- #include <stdlib.h>
- #include "device.h"
- #include "defs.h"
-diff --git a/src/libs/libgroff/error.cpp b/src/libs/libgroff/error.cpp
-index 9a18803..7b63d3d 100644
---- a/src/libs/libgroff/error.cpp
-+++ b/src/libs/libgroff/error.cpp
-@@ -17,6 +17,10 @@ for more details.
- You should have received a copy of the GNU General Public License
- along with this program.  If not, see <http://www.gnu.org/licenses/>. */
- 
-+#if HAVE_CONFIG_H
-+# include <config.h>
-+#endif
-+
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
-diff --git a/src/libs/libgroff/fatal.cpp b/src/libs/libgroff/fatal.cpp
-index c0dcb35..fd6003e 100644
---- a/src/libs/libgroff/fatal.cpp
-+++ b/src/libs/libgroff/fatal.cpp
-@@ -16,6 +16,10 @@ for more details.
- You should have received a copy of the GNU General Public License
- along with this program.  If not, see <http://www.gnu.org/licenses/>. */
- 
-+#if HAVE_CONFIG_H
-+# include <config.h>
-+#endif
-+
- #include <stdlib.h>
- 
- #define FATAL_ERROR_EXIT_CODE 3
-diff --git a/src/libs/libgroff/string.cpp b/src/libs/libgroff/string.cpp
-index 46c015c..449f3a6 100644
---- a/src/libs/libgroff/string.cpp
-+++ b/src/libs/libgroff/string.cpp
-@@ -17,6 +17,10 @@ for more details.
- You should have received a copy of the GNU General Public License
- along with this program.  If not, see <http://www.gnu.org/licenses/>. */
- 
-+#if HAVE_CONFIG_H
-+# include <config.h>
-+#endif
-+
- #include <stdlib.h>
- 
- #include "lib.h"
-diff --git a/src/libs/libgroff/strsave.cpp b/src/libs/libgroff/strsave.cpp
-index f95c05e..d875045 100644
---- a/src/libs/libgroff/strsave.cpp
-+++ b/src/libs/libgroff/strsave.cpp
-@@ -17,6 +17,10 @@ for more details.
- You should have received a copy of the GNU General Public License
- along with this program.  If not, see <http://www.gnu.org/licenses/>. */
- 
-+#if HAVE_CONFIG_H
-+# include <config.h>
-+#endif
-+
- #include <string.h>
- #include <stdlib.h>
- 
-diff --git a/src/preproc/eqn/eqn.ypp b/src/preproc/eqn/eqn.ypp
-index fb318c3..b7b647e 100644
---- a/src/preproc/eqn/eqn.ypp
-+++ b/src/preproc/eqn/eqn.ypp
-@@ -16,6 +16,10 @@ for more details.
- You should have received a copy of the GNU General Public License
- along with this program.  If not, see <http://www.gnu.org/licenses/>. */
- %{
-+#if HAVE_CONFIG_H
-+# include <config.h>
-+#endif
-+
- #include <stdio.h>
- #include <string.h>
- #include <stdlib.h>
-diff --git a/src/preproc/eqn/other.cpp b/src/preproc/eqn/other.cpp
-index 8db993f..38db396 100644
---- a/src/preproc/eqn/other.cpp
-+++ b/src/preproc/eqn/other.cpp
-@@ -17,6 +17,10 @@ for more details.
- You should have received a copy of the GNU General Public License
- along with this program.  If not, see <http://www.gnu.org/licenses/>. */
- 
-+#if HAVE_CONFIG_H
-+# include <config.h>
-+#endif
-+
- #include <stdlib.h>
- 
- #include "eqn.h"
-diff --git a/src/preproc/eqn/text.cpp b/src/preproc/eqn/text.cpp
-index f3d06f9..3b244d5 100644
---- a/src/preproc/eqn/text.cpp
-+++ b/src/preproc/eqn/text.cpp
-@@ -17,6 +17,10 @@ for more details.
- You should have received a copy of the GNU General Public License
- along with this program.  If not, see <http://www.gnu.org/licenses/>. */
- 
-+#if HAVE_CONFIG_H
-+# include <config.h>
-+#endif
-+
- #include <ctype.h>
- #include <stdlib.h>
- #include "eqn.h"
-diff --git a/src/preproc/pic/object.cpp b/src/preproc/pic/object.cpp
-index d8ba610..f26a831 100644
---- a/src/preproc/pic/object.cpp
-+++ b/src/preproc/pic/object.cpp
-@@ -17,6 +17,10 @@ for more details.
- You should have received a copy of the GNU General Public License
- along with this program.  If not, see <http://www.gnu.org/licenses/>. */
- 
-+#if HAVE_CONFIG_H
-+# include <config.h>
-+#endif
-+
- #include <stdlib.h>
- 
- #include "pic.h"
--- 
-2.22.0
-
diff --git a/poky/meta/recipes-extended/groff/files/0001-Make-manpages-mulitlib-identical.patch b/poky/meta/recipes-extended/groff/files/0001-Make-manpages-mulitlib-identical.patch
index c3cfc7c..6dc84c9 100644
--- a/poky/meta/recipes-extended/groff/files/0001-Make-manpages-mulitlib-identical.patch
+++ b/poky/meta/recipes-extended/groff/files/0001-Make-manpages-mulitlib-identical.patch
@@ -1,27 +1,25 @@
-From e738f9185ba90f2083c846ade3551234bb5a7cbc Mon Sep 17 00:00:00 2001
+From aa1f37f1e0ff0dc0eeb199b52959e0deb275721e Mon Sep 17 00:00:00 2001
 From: Jeremy Puhlman <jpuhlman@mvista.com>
 Date: Sat, 7 Mar 2020 00:59:13 +0000
 Subject: [PATCH] Make manpages mulitlib identical
 
 Upstream-Status: Submitted [by email to g.branden.robinson@gmail.com]
 Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com>
+
 ---
  Makefile.am | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/Makefile.am b/Makefile.am
-index d18c49b..6175fe9 100644
+index f7ab410..7e1f3fb 100644
 --- a/Makefile.am
 +++ b/Makefile.am
-@@ -917,7 +917,7 @@ SUFFIXES += .man
- 	     -e "s|[@]MDATE[@]|`$(PERL) $(top_srcdir)/mdate.pl $<`|g" \
- 	     -e "s|[@]OLDFONTDIR[@]|`echo $(oldfontdir) | sed -f $(makevarescape)`|g" \
+@@ -891,7 +891,7 @@ SUFFIXES += .man
+ 	     -e "s|[@]PAGE[@]|\\\\%$(PAGE)|g" \
  	     -e "s|[@]PDFDOCDIR[@]|`echo $(pdfdocdir) | sed -f $(makevarescape)`|g" \
+ 	     -e "s|[@]PSPRINT[@]|`echo $(PSPRINT) | sed -f $(makevarescape)`|g" \
 -	     -e "s|[@]SYSTEMMACRODIR[@]|`echo $(systemtmacdir) | sed -f $(makevarescape)`|g" \
 +	     -e "s|[@]SYSTEMMACRODIR[@]|`echo $(systemtmacdir) | sed -e 's,$(libdir),$(prefix)/lib*,' | sed -f $(makevarescape)`|g" \
- 	     -e "s|[@]TMAC_AN_PREFIX[@]|$(tmac_an_prefix)|g" \
- 	     -e "s|[@]TMAC_M_PREFIX[@]|$(tmac_m_prefix)|g" \
- 	     -e "s|[@]TMAC_MDIR[@]|$(tmacdir)/mm|g" \
--- 
-2.23.0
-
+ 	     -e "s|[@]TMAC_AN_PREFIX[@]|\\\\%$(tmac_an_prefix)|g" \
+ 	     -e "s|[@]TMAC_M_PREFIX[@]|\\\\%$(tmac_m_prefix)|g" \
+ 	     -e "s|[@]TMAC_MDIR[@]|`echo $(tmacdir) | sed -f $(makevarescape)`/mm|g" \
diff --git a/poky/meta/recipes-extended/groff/files/0001-replace-perl-w-with-use-warnings.patch b/poky/meta/recipes-extended/groff/files/0001-replace-perl-w-with-use-warnings.patch
deleted file mode 100644
index b028fa2..0000000
--- a/poky/meta/recipes-extended/groff/files/0001-replace-perl-w-with-use-warnings.patch
+++ /dev/null
@@ -1,106 +0,0 @@
-From 6821a23e6cf34df37c351b45be413a8da9115f9f Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Sat, 11 May 2019 17:03:03 +0800
-Subject: [PATCH 1/2] replace "perl -w" with "use warnings"
-
-The shebang's max length is usually 128 as defined in
-/usr/include/linux/binfmts.h:
-  #define BINPRM_BUF_SIZE 128
-
-There would be errors when @PERL@ is longer than 128, use
-'/usr/bin/env perl' can fix the problem, but '/usr/bin/env perl -w'
-doesn't work:
-
-/usr/bin/env: perl -w: No such file or directory
-
-So replace "perl -w" with "use warnings" to make it work.
-
-Upstream-Status: Submitted [by email to g.branden.robinson@gmail.com]
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
-
-Rebase to 1.22.4.
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- font/devpdf/util/BuildFoundries.pl | 3 ++-
- src/devices/gropdf/gropdf.pl       | 3 ++-
- src/devices/gropdf/pdfmom.pl       | 3 ++-
- src/utils/afmtodit/afmtodit.pl     | 3 ++-
- 4 files changed, 8 insertions(+), 4 deletions(-)
-
-diff --git a/font/devpdf/util/BuildFoundries.pl b/font/devpdf/util/BuildFoundries.pl
-index f8af826..9584e28 100644
---- a/font/devpdf/util/BuildFoundries.pl
-+++ b/font/devpdf/util/BuildFoundries.pl
-@@ -1,4 +1,4 @@
--#!/usr/bin/perl -w
-+#!/usr/bin/perl
- #
- #   BuildFoundries   : Given a Foundry file generate groff and download files
- #   Deri James       : Monday 07 Feb 2011
-@@ -22,6 +22,7 @@
- # along with this program.  If not, see <http://www.gnu.org/licenses/>.
- 
- use strict;
-+use warnings;
- 
- (my $progname = $0) =~s @.*/@@;
- my $where=shift||'';
-diff --git a/src/devices/gropdf/gropdf.pl b/src/devices/gropdf/gropdf.pl
-index 2ec52d0..ce5a06f 100644
---- a/src/devices/gropdf/gropdf.pl
-+++ b/src/devices/gropdf/gropdf.pl
-@@ -1,4 +1,4 @@
--#!@PERL@ -w
-+#!@PERL@
- #
- #	gropdf		: PDF post processor for groff
- #
-@@ -21,6 +21,7 @@
- # along with this program. If not, see <http://www.gnu.org/licenses/>.
- 
- use strict;
-+use warnings;
- use Getopt::Long qw(:config bundling);
- 
- use constant
-diff --git a/src/devices/gropdf/pdfmom.pl b/src/devices/gropdf/pdfmom.pl
-index c9b08b2..61124f3 100644
---- a/src/devices/gropdf/pdfmom.pl
-+++ b/src/devices/gropdf/pdfmom.pl
-@@ -1,4 +1,4 @@
--#!@PERL@ -w
-+#!@PERL@
- #
- #	pdfmom		: Frontend to run groff -mom to produce PDFs
- #	Deri James	: Friday 16 Mar 2012
-@@ -23,6 +23,7 @@
- # along with this program.  If not, see <http://www.gnu.org/licenses/>.
- 
- use strict;
-+use warnings;
- use File::Temp qw/tempfile/;
- my @cmd;
- my $dev='pdf';
-diff --git a/src/utils/afmtodit/afmtodit.pl b/src/utils/afmtodit/afmtodit.pl
-index 954c58e..81a6c97 100644
---- a/src/utils/afmtodit/afmtodit.pl
-+++ b/src/utils/afmtodit/afmtodit.pl
-@@ -1,4 +1,4 @@
--#! /usr/bin/perl -w
-+#! /usr/bin/perl
- # -*- Perl -*-
- # Copyright (C) 1989-2018 Free Software Foundation, Inc.
- #      Written by James Clark (jjc@jclark.com)
-@@ -19,6 +19,7 @@
- # along with this program.  If not, see <http://www.gnu.org/licenses/>.
- 
- use strict;
-+use warnings;
- 
- @afmtodit.tables@
- 
--- 
-2.7.4
-
diff --git a/poky/meta/recipes-extended/groff/files/0001-support-musl.patch b/poky/meta/recipes-extended/groff/files/0001-support-musl.patch
deleted file mode 100644
index a837b11..0000000
--- a/poky/meta/recipes-extended/groff/files/0001-support-musl.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 695965c27be74acb5968f19d51af86065c4b71a9 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Mon, 13 May 2019 09:48:14 +0800
-Subject: [PATCH] support musl
-
-...
-|./lib/math.h:2877:1: error: 'int signbit(float)' conflicts with a previous declaration
-| _GL_MATH_CXX_REAL_FLOATING_DECL_2 (signbit)
-| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-|In file included from recipe-sysroot/usr/include/c++/8.3.0/math.h:36,
-|                 from ./lib/math.h:27,
-|                 from ./src/include/driver.h:27,
-|                 from src/devices/grodvi/dvi.cpp:20:
-|recipe-sysroot/usr/include/c++/8.3.0/cmath:661:3: note: previous declaration 'constexpr bool std::signbit(float)'
-|   signbit(float __x)
-|   ^~~~~~~
-...
-
-Upstream-Status: Backport [http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=commit;h=453ff940449bbbde9ec00f0bbf82a359c5598fc7]
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- gnulib_m4/signbit.m4 | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/gnulib_m4/signbit.m4 b/gnulib_m4/signbit.m4
-index 9e7884d..8b9c70c 100644
---- a/gnulib_m4/signbit.m4
-+++ b/gnulib_m4/signbit.m4
-@@ -31,6 +31,8 @@ AC_DEFUN([gl_SIGNBIT],
-         [case "$host_os" in
-                           # Guess yes on glibc systems.
-            *-gnu* | gnu*) gl_cv_func_signbit="guessing yes" ;;
-+                          # Guess yes on musl systems.
-+           *-musl*)       gl_cv_func_signbit="guessing yes" ;;
-                           # Guess yes on native Windows.
-            mingw*)        gl_cv_func_signbit="guessing yes" ;;
-                           # If we don't know, assume the worst.
--- 
-2.7.4
-
diff --git a/poky/meta/recipes-extended/groff/files/groff-not-search-fonts-on-build-host.patch b/poky/meta/recipes-extended/groff/files/groff-not-search-fonts-on-build-host.patch
index c80a2a5..2399257 100644
--- a/poky/meta/recipes-extended/groff/files/groff-not-search-fonts-on-build-host.patch
+++ b/poky/meta/recipes-extended/groff/files/groff-not-search-fonts-on-build-host.patch
@@ -1,7 +1,7 @@
-From 75761ae7adc88412de4379d1cf5484b055cd5f18 Mon Sep 17 00:00:00 2001
+From eb16276c3e2e34aa2e57f6a0e68554657b90cd28 Mon Sep 17 00:00:00 2001
 From: Hongxu Jia <hongxu.jia@windriver.com>
 Date: Sat, 11 May 2019 17:06:29 +0800
-Subject: [PATCH 2/2] groff searchs fonts which are provided by ghostscript on
+Subject: [PATCH] groff searchs fonts which are provided by ghostscript on
  build host. It causes non-determinism issue. So not search font dirs on host.
 
 Upstream-Status: Inappropriate [cross build specific]
@@ -10,23 +10,30 @@
 
 Rebase to 1.22.4
 Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
 ---
- font/devpdf/Foundry.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
+ font/devpdf/Foundry.in | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/font/devpdf/Foundry.in b/font/devpdf/Foundry.in
-index 93e9b66..235b23b 100644
+index e5aba65..5441734 100644
 --- a/font/devpdf/Foundry.in
 +++ b/font/devpdf/Foundry.in
-@@ -65,7 +65,7 @@ ZD|Y||||Dingbats!d050000l.pfb
- #======================================================================
+@@ -20,7 +20,7 @@
  
- #Foundry|Name|Searchpath
--foundry|U|(gs):@urwfontsdir@ :/usr/share/fonts/type1/gsfonts :/opt/local/share/fonts/urw-fonts # the URW fonts delivered with ghostscript (may be different)
-+foundry|U|(gs) # the URW fonts delivered with ghostscript (may be different)
- #Define Flags for afmtodit
+ #=======================================================================
+ #Foundry|Name|Search path
+-foundry||@urwfontsdir@:(gs):/usr/share/fonts/type1/gsfonts:/usr/share/fonts/default/Type1:/usr/share/fonts/default/Type1/adobestd35:/usr/share/fonts/type1/urw-base35:/opt/local/share/fonts/urw-fonts:/usr/local/share/fonts/ghostscript
++foundry||(gs)
  
- r=-i 0 -m
--- 
-2.7.4
-
+ # Enable the font description files for grops (generated from Adobe
+ # foundry font files) to be used with gropdf.  afmtodit must not be
+@@ -72,7 +72,7 @@ EURO|N||||*../devps/freeeuro.pfa
+ # URW fonts are typically shipped with Ghostscript, but can be replaced.
+ 
+ #Foundry|Name|Search path
+-foundry|U|@urwfontsdir@:/usr/share/fonts/type1/gsfonts:/usr/share/fonts/default/Type1:/usr/share/fonts/default/Type1/adobestd35:/usr/share/fonts/type1/urw-base35:/opt/local/share/fonts/urw-fonts:/usr/local/share/fonts/ghostscript:(gs)
++foundry|U|(gs)
+ 
+ # Define flags for afmtodit.
+ 
diff --git a/poky/meta/recipes-extended/groff/groff_1.22.4.bb b/poky/meta/recipes-extended/groff/groff_1.23.0.bb
similarity index 76%
rename from poky/meta/recipes-extended/groff/groff_1.22.4.bb
rename to poky/meta/recipes-extended/groff/groff_1.23.0.bb
index 244c0e1..1dcd0bb 100644
--- a/poky/meta/recipes-extended/groff/groff_1.22.4.bb
+++ b/poky/meta/recipes-extended/groff/groff_1.23.0.bb
@@ -8,29 +8,21 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
 
 SRC_URI = "${GNU_MIRROR}/groff/groff-${PV}.tar.gz \
-	file://0001-replace-perl-w-with-use-warnings.patch \
-	file://groff-not-search-fonts-on-build-host.patch \
-	file://0001-support-musl.patch \
-	file://0001-Include-config.h.patch \
-	file://0001-Make-manpages-mulitlib-identical.patch \
-	file://0001-Fix-code-style-issues.patch \
-"
+           file://groff-not-search-fonts-on-build-host.patch \
+           file://0001-Make-manpages-mulitlib-identical.patch \
+           "
 
-SRC_URI[md5sum] = "08fb04335e2f5e73f23ea4c3adbf0c5f"
-SRC_URI[sha256sum] = "e78e7b4cb7dec310849004fa88847c44701e8d133b5d4c13057d876c1bad0293"
+SRC_URI[sha256sum] = "6b9757f592b7518b4902eb6af7e54570bdccba37a871fddb2d30ae3863511c13"
 
-# Remove at the next upgrade
-PR = "r1"
-
-DEPENDS = "bison-native"
+DEPENDS = "bison-native groff-native"
 RDEPENDS:${PN} += "perl sed"
 
 inherit autotools-brokensep texinfo multilib_script pkgconfig
 
-MULTILIB_SCRIPTS = "${PN}:${bindir}/gpinyin ${PN}:${bindir}/groffer ${PN}:${bindir}/grog"
+MULTILIB_SCRIPTS = "${PN}:${bindir}/gpinyin ${PN}:${bindir}/grog"
 
-EXTRA_OECONF = "--without-x --without-doc"
-PARALLEL_MAKE = ""
+EXTRA_OECONF = "--without-x --with-urw-fonts-dir=/completely/bogus/dir/"
+EXTRA_OEMAKE:class-target = "GROFFBIN=groff GROFF_BIN_PATH=${STAGING_BINDIR_NATIVE}"
 
 CACHED_CONFIGUREVARS += "ac_cv_path_PERL='/usr/bin/env perl' ac_cv_path_BASH_PROG='no' PAGE=A4"
 
@@ -67,6 +59,9 @@
 	# not ship /usr/bin/grap2graph and its releated man files
 	rm -rf ${D}${bindir}/grap2graph
 	rm -rf ${D}${mandir}/man1/grap2graph*
+
+        # strip hosttool path out of generated files
+        sed -i -e 's:${HOSTTOOLS_DIR}/::g' ${D}${docdir}/${BP}/examples/hdtbl/*.roff
 }
 
 do_install:append:class-native() {
diff --git a/poky/meta/recipes-extended/less/files/run-ptest b/poky/meta/recipes-extended/less/files/run-ptest
new file mode 100644
index 0000000..42a2869
--- /dev/null
+++ b/poky/meta/recipes-extended/less/files/run-ptest
@@ -0,0 +1,3 @@
+#! /bin/sh
+
+./runtest -l /usr/bin/less -t lesstest -O d lt/*
diff --git a/poky/meta/recipes-extended/less/less_633.bb b/poky/meta/recipes-extended/less/less_643.bb
similarity index 66%
rename from poky/meta/recipes-extended/less/less_633.bb
rename to poky/meta/recipes-extended/less/less_643.bb
index 2defb5c..67834bd 100644
--- a/poky/meta/recipes-extended/less/less_633.bb
+++ b/poky/meta/recipes-extended/less/less_643.bb
@@ -25,17 +25,37 @@
                     "
 DEPENDS = "ncurses"
 
-SRC_URI = "http://www.greenwoodsoftware.com/${BPN}/${BPN}-${PV}.tar.gz"
+SRC_URI = "http://www.greenwoodsoftware.com/${BPN}/${BPN}-${PV}.tar.gz \
+           file://run-ptest \
+           "
 
-SRC_URI[sha256sum] = "2f201d64b828b88af36dfe6cfdba3e0819ece2e446ebe6224813209aaefed04f"
+SRC_URI[sha256sum] = "2911b5432c836fa084c8a2e68f6cd6312372c026a58faaa98862731c8b6052e8"
 
 UPSTREAM_CHECK_URI = "http://www.greenwoodsoftware.com/less/download.html"
 
+inherit autotools ptest update-alternatives
+
+EXTRA_OEMAKE += " LESSTEST=1"
+
 inherit autotools update-alternatives
 
+do_compile_ptest () {
+        cd ${S}/lesstest
+        oe_runmake
+}
+
 do_install () {
         oe_runmake 'bindir=${D}${bindir}' 'mandir=${D}${mandir}' install
 }
 
+do_install_ptest () {
+        cp ${S}/lesstest/lesstest ${D}${PTEST_PATH}
+        cp ${S}/lesstest/runtest ${D}${PTEST_PATH}
+        cp ${S}/lesstest/lt_screen ${D}${PTEST_PATH}
+        cp -r ${S}/lesstest/lt ${D}${PTEST_PATH}
+}
+
+RDEPENDS:${PN}-ptest:append = " perl-module-getopt-std perl-module-cwd locale-base-en-us"
+
 ALTERNATIVE:${PN} = "less"
 ALTERNATIVE_PRIORITY = "100"
diff --git a/poky/meta/recipes-extended/libarchive/libarchive_3.6.2.bb b/poky/meta/recipes-extended/libarchive/libarchive_3.7.1.bb
similarity index 96%
rename from poky/meta/recipes-extended/libarchive/libarchive_3.6.2.bb
rename to poky/meta/recipes-extended/libarchive/libarchive_3.7.1.bb
index 4169a01..e40c3e7 100644
--- a/poky/meta/recipes-extended/libarchive/libarchive_3.6.2.bb
+++ b/poky/meta/recipes-extended/libarchive/libarchive_3.7.1.bb
@@ -32,7 +32,7 @@
 SRC_URI += "file://configurehack.patch"
 UPSTREAM_CHECK_URI = "http://libarchive.org/"
 
-SRC_URI[sha256sum] = "ba6d02f15ba04aba9c23fd5f236bb234eab9d5209e95d1c4df85c44d5f19b9b3"
+SRC_URI[sha256sum] = "5d24e40819768f74daf846b99837fc53a3a9dcdf3ce1c2003fe0596db850f0f0"
 
 CVE_STATUS[CVE-2023-30571] = "upstream-wontfix: upstream has documented that reported function is not thread-safe"
 
diff --git a/poky/meta/recipes-extended/mc/files/0001-mc-replace-perl-w-with-use-warnings.patch b/poky/meta/recipes-extended/mc/files/0001-mc-replace-perl-w-with-use-warnings.patch
deleted file mode 100644
index 5ede82d..0000000
--- a/poky/meta/recipes-extended/mc/files/0001-mc-replace-perl-w-with-use-warnings.patch
+++ /dev/null
@@ -1,127 +0,0 @@
-From 62c86b69106d0d702167ba1b963ea1c201cce5af Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Thu, 6 Apr 2017 02:24:28 -0700
-Subject: [PATCH] mc: replace "perl -w" with "use warnings"
-
-The shebang's max length is usually 128 as defined in
-/usr/include/linux/binfmts.h:
-  #define BINPRM_BUF_SIZE 128
-
-There would be errors when @PERL@ is longer than 128, use
-'/usr/bin/env perl' can fix the problem, but '/usr/bin/env perl -w'
-doesn't work:
-
-/usr/bin/env: perl -w: No such file or directory
-
-So replace "perl -w" with "use warnings" to make it work.
-
-The man2hlp.in already has "use warnings;", so just remove '-w' is OK.
-
-Upstream-Status: Submitted [https://github.com/MidnightCommander/mc/pull/174]
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
-
----
- src/man2hlp/man2hlp.in           | 2 +-
- src/vfs/extfs/helpers/a+.in      | 4 +++-
- src/vfs/extfs/helpers/mailfs.in  | 3 ++-
- src/vfs/extfs/helpers/patchfs.in | 3 ++-
- src/vfs/extfs/helpers/ulib.in    | 4 +++-
- src/vfs/extfs/helpers/uzip.in    | 3 ++-
- 6 files changed, 13 insertions(+), 6 deletions(-)
-
-diff --git a/src/man2hlp/man2hlp.in b/src/man2hlp/man2hlp.in
-index 08765d8..8aa7131 100644
---- a/src/man2hlp/man2hlp.in
-+++ b/src/man2hlp/man2hlp.in
-@@ -1,4 +1,4 @@
--#! @PERL_FOR_BUILD@ -w
-+#! @PERL_FOR_BUILD@
- #
- #  Man page to help file converter
- #  Copyright (C) 1994, 1995, 1998, 2000, 2001, 2002, 2003, 2004, 2005,
-diff --git a/src/vfs/extfs/helpers/a+.in b/src/vfs/extfs/helpers/a+.in
-index 579441c..fe446f4 100644
---- a/src/vfs/extfs/helpers/a+.in
-+++ b/src/vfs/extfs/helpers/a+.in
-@@ -1,4 +1,4 @@
--#! @PERL@ -w
-+#! @PERL@
- #
- # External filesystem for mc, using mtools
- # Written Ludek Brukner <lubr@barco.cz>, 1997
-@@ -9,6 +9,8 @@
- 
- # These mtools components must be in PATH for this to work
- 
-+use warnings;
-+
- sub quote {
-     $_ = shift(@_);
-     s/([^\w\/.+-])/\\$1/g;
-diff --git a/src/vfs/extfs/helpers/mailfs.in b/src/vfs/extfs/helpers/mailfs.in
-index 4bdd68b..5bb373b 100644
---- a/src/vfs/extfs/helpers/mailfs.in
-+++ b/src/vfs/extfs/helpers/mailfs.in
-@@ -1,6 +1,7 @@
--#! @PERL@ -w
-+#! @PERL@
- 
- use bytes;
-+use warnings;
- 
- # MC extfs for (possibly compressed) Berkeley style mailbox files
- # Peter Daum <gator@cs.tu-berlin.de> (Jan 1998, mc-4.1.24)
-diff --git a/src/vfs/extfs/helpers/patchfs.in b/src/vfs/extfs/helpers/patchfs.in
-index c20cd54..1f1e75b 100644
---- a/src/vfs/extfs/helpers/patchfs.in
-+++ b/src/vfs/extfs/helpers/patchfs.in
-@@ -1,4 +1,4 @@
--#! @PERL@ -w
-+#! @PERL@
- #
- # Written by Adam Byrtek <alpha@debian.org>, 2002
- # Rewritten by David Sterba <dave@jikos.cz>, 2009
-@@ -9,6 +9,7 @@
- 
- use bytes;
- use strict;
-+use warnings;
- use POSIX;
- use File::Temp 'tempfile';
- 
-diff --git a/src/vfs/extfs/helpers/ulib.in b/src/vfs/extfs/helpers/ulib.in
-index 418611f..82c7ccf 100644
---- a/src/vfs/extfs/helpers/ulib.in
-+++ b/src/vfs/extfs/helpers/ulib.in
-@@ -1,9 +1,11 @@
--#! @PERL@ -w
-+#! @PERL@
- #
- # VFS to manage the gputils archives.
- # Written by Molnár Károly (proton7@freemail.hu) 2012
- #
- 
-+use warnings;
-+
- my %month = ('jan' => '01', 'feb' => '02', 'mar' => '03',
-              'apr' => '04', 'may' => '05', 'jun' => '06',
-              'jul' => '07', 'aug' => '08', 'sep' => '09',
-diff --git a/src/vfs/extfs/helpers/uzip.in b/src/vfs/extfs/helpers/uzip.in
-index c468f3a..ceffb53 100644
---- a/src/vfs/extfs/helpers/uzip.in
-+++ b/src/vfs/extfs/helpers/uzip.in
-@@ -1,4 +1,4 @@
--#! @PERL@ -w
-+#! @PERL@
- #
- # zip file archive Virtual File System for Midnight Commander
- # Version 1.4.0 (2001-08-07).
-@@ -9,6 +9,7 @@
- use POSIX;
- use File::Basename;
- use strict;
-+use warnings;
- 
- #
- # Configuration options
diff --git a/poky/meta/recipes-extended/mc/mc_4.8.29.bb b/poky/meta/recipes-extended/mc/mc_4.8.30.bb
similarity index 94%
rename from poky/meta/recipes-extended/mc/mc_4.8.29.bb
rename to poky/meta/recipes-extended/mc/mc_4.8.30.bb
index e7f4aac..258ac38 100644
--- a/poky/meta/recipes-extended/mc/mc_4.8.29.bb
+++ b/poky/meta/recipes-extended/mc/mc_4.8.30.bb
@@ -9,10 +9,9 @@
 RRECOMMENDS:${PN} = "ncurses-terminfo"
 
 SRC_URI = "http://www.midnight-commander.org/downloads/${BPN}-${PV}.tar.bz2 \
-           file://0001-mc-replace-perl-w-with-use-warnings.patch \
            file://nomandate.patch \
            "
-SRC_URI[sha256sum] = "ba6b2d8752806ac23fe045c1b081eb66dcefa6159205c79f86c005dcaf9941c1"
+SRC_URI[sha256sum] = "38171f22f889e3030ec9055463d3ecd7843984ab24e6497d8294d1c441a7ddb4"
 
 inherit autotools gettext pkgconfig
 
diff --git a/poky/meta/recipes-extended/mdadm/files/0001-tests-add-.broken-files-for-04update-uuid-and-07reve.patch b/poky/meta/recipes-extended/mdadm/files/0001-tests-add-.broken-files-for-04update-uuid-and-07reve.patch
new file mode 100644
index 0000000..5a6bf9e
--- /dev/null
+++ b/poky/meta/recipes-extended/mdadm/files/0001-tests-add-.broken-files-for-04update-uuid-and-07reve.patch
@@ -0,0 +1,39 @@
+From ee594b1a12833c06102de888248a361bc49cea09 Mon Sep 17 00:00:00 2001
+From: Ovidiu Panait <ovidiu.panait@windriver.com>
+Date: Fri, 18 Aug 2023 12:20:40 +0300
+Subject: [PATCH] tests: add .broken files for 04update-uuid and
+ 07revert-inplace
+
+04update-uuid and 07revert-inplace tests are unreliable and fail intermittently
+on the autobuilder. Unfortunately, the failures cannot be reproduced locally
+and the logs cannot be retrieved from the AB.
+
+Mark the testcases as BROKEN to skip them when running ptest.
+
+Upstream-Status: Inappropriate
+
+Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
+---
+ tests/04update-uuid.broken    | 1 +
+ tests/07revert-inplace.broken | 1 +
+ 2 files changed, 2 insertions(+)
+ create mode 100644 tests/04update-uuid.broken
+ create mode 100644 tests/07revert-inplace.broken
+
+diff --git a/tests/04update-uuid.broken b/tests/04update-uuid.broken
+new file mode 100644
+index 0000000..197b35b
+--- /dev/null
++++ b/tests/04update-uuid.broken
+@@ -0,0 +1 @@
++fails infrequently
+diff --git a/tests/07revert-inplace.broken b/tests/07revert-inplace.broken
+new file mode 100644
+index 0000000..197b35b
+--- /dev/null
++++ b/tests/07revert-inplace.broken
+@@ -0,0 +1 @@
++fails infrequently
+-- 
+2.39.1
+
diff --git a/poky/meta/recipes-extended/mdadm/mdadm_4.2.bb b/poky/meta/recipes-extended/mdadm/mdadm_4.2.bb
index fa50325..c66a896 100644
--- a/poky/meta/recipes-extended/mdadm/mdadm_4.2.bb
+++ b/poky/meta/recipes-extended/mdadm/mdadm_4.2.bb
@@ -38,6 +38,7 @@
            file://0004-monitor-Avoid-segfault-when-calling-NULL-get_bad_blo.patch \
            file://0005-mdadm-test-Mark-and-ignore-broken-test-failures.patch \
            file://0006-tests-Add-broken-files-for-all-broken-tests.patch \
+           file://0001-tests-add-.broken-files-for-04update-uuid-and-07reve.patch \
            "
 
 SRC_URI[sha256sum] = "461c215670864bb74a4d1a3620684aa2b2f8296dffa06743f26dda5557acf01d"
@@ -104,6 +105,11 @@
 	do
 		install -D -m 755 $prg ${D}${PTEST_PATH}/
 	done
+
+	# Disable tests causing intermittent autobuilder failures
+	echo "intermittent failure on autobuilder" > ${D}${PTEST_PATH}/tests/19raid6check.broken
+	echo "intermittent failure on autobuilder" > ${D}${PTEST_PATH}/tests/20raid5journal.broken
+	echo "intermittent failure on autobuilder" > ${D}${PTEST_PATH}/tests/21raid5cache.broken
 }
 
 RDEPENDS:${PN} += "bash"
@@ -126,3 +132,10 @@
 "
 
 FILES:${PN} += "${systemd_unitdir}/*"
+
+# strace is not yet ported to rv32
+RDEPENDS:${PN}-ptest:remove:riscv32 = "strace"
+do_install_ptest:append:riscv32 () {
+    echo "disabled, no strace" > ${D}${PTEST_PATH}/tests/07revert-grow.broken
+    echo "disabled, no strace" > ${D}${PTEST_PATH}/tests/07revert-inplace.broken
+}
diff --git a/poky/meta/recipes-extended/perl/libconvert-asn1-perl_0.33.bb b/poky/meta/recipes-extended/perl/libconvert-asn1-perl_0.34.bb
similarity index 91%
rename from poky/meta/recipes-extended/perl/libconvert-asn1-perl_0.33.bb
rename to poky/meta/recipes-extended/perl/libconvert-asn1-perl_0.34.bb
index d82692c..6e9f881 100644
--- a/poky/meta/recipes-extended/perl/libconvert-asn1-perl_0.33.bb
+++ b/poky/meta/recipes-extended/perl/libconvert-asn1-perl_0.34.bb
@@ -7,7 +7,7 @@
 
 SRC_URI = "https://cpan.metacpan.org/authors/id/T/TI/TIMLEGGE/Convert-ASN1-${PV}.tar.gz"
 
-SRC_URI[sha256sum] = "1fdf004520c79e3a244cf9688616293516c11793d746c761f367496eb3d06076"
+SRC_URI[sha256sum] = "a628d7c9d390568fb76359975fa03f626ce57f10dc17980e8e3587d7713e4ee7"
 
 S = "${WORKDIR}/Convert-ASN1-${PV}"
 
diff --git a/poky/meta/recipes-extended/pigz/pigz_2.7.bb b/poky/meta/recipes-extended/pigz/pigz_2.8.bb
similarity index 94%
rename from poky/meta/recipes-extended/pigz/pigz_2.7.bb
rename to poky/meta/recipes-extended/pigz/pigz_2.8.bb
index 9a1c591..fcf0c93 100644
--- a/poky/meta/recipes-extended/pigz/pigz_2.7.bb
+++ b/poky/meta/recipes-extended/pigz/pigz_2.8.bb
@@ -9,7 +9,7 @@
 LIC_FILES_CHKSUM = "file://pigz.c;md5=9ae6dee8ceba9610596ed0ada493d142;beginline=7;endline=21"
 
 SRC_URI = "http://zlib.net/${BPN}/fossils/${BP}.tar.gz"
-SRC_URI[sha256sum] = "b4c9e60344a08d5db37ca7ad00a5b2c76ccb9556354b722d56d55ca7e8b1c707"
+SRC_URI[sha256sum] = "eb872b4f0e1f0ebe59c9f7bd8c506c4204893ba6a8492de31df416f0d5170fd0"
 PROVIDES:class-native += "gzip-native"
 
 # Point this at the homepage in case /fossils/ isn't updated
diff --git a/poky/meta/recipes-extended/procps/procps/CVE-2023-4016.patch b/poky/meta/recipes-extended/procps/procps/CVE-2023-4016.patch
new file mode 100644
index 0000000..202fea9
--- /dev/null
+++ b/poky/meta/recipes-extended/procps/procps/CVE-2023-4016.patch
@@ -0,0 +1,73 @@
+From 2c933ecba3bb1d3041a5a7a53a7b4078a6003413 Mon Sep 17 00:00:00 2001
+From: Craig Small <csmall@dropbear.xyz>
+Date: Thu, 10 Aug 2023 21:18:38 +1000
+Subject: [PATCH] ps: Fix possible buffer overflow in -C option
+
+ps allocates memory using malloc(length of arg * len of struct).
+In certain strange circumstances, the arg length could be very large
+and the multiplecation will overflow, allocating a small amount of
+memory.
+
+Subsequent strncpy() will then write into unallocated memory.
+The fix is to use calloc. It's slower but this is a one-time
+allocation. Other malloc(x * y) calls have also been replaced
+by calloc(x, y)
+
+References:
+ https://www.freelists.org/post/procps/ps-buffer-overflow-CVE-20234016
+ https://nvd.nist.gov/vuln/detail/CVE-2023-4016
+ https://gitlab.com/procps-ng/procps/-/issues/297
+ https://bugs.debian.org/1042887
+
+Signed-off-by: Craig Small <csmall@dropbear.xyz>
+
+CVE: CVE-2023-4016
+Upstream-Status: Backport [https://gitlab.com/procps-ng/procps/-/commit/2c933ecba3bb1d3041a5a7a53a7b4078a6003413]
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+---
+ NEWS            | 1 +
+ src/ps/parser.c | 8 ++++----
+ 2 files changed, 5 insertions(+), 4 deletions(-)
+
+diff --git a/src/ps/parser.c b/src/ps/parser.c
+index 248aa741..15873dfa 100644
+--- a/src/ps/parser.c
++++ b/src/ps/parser.c
+@@ -189,7 +189,6 @@ static const char *parse_list(const char *arg, const char *(*parse_fn)(char *, s
+   const char *err;       /* error code that could or did happen */
+   /*** prepare to operate ***/
+   node = xmalloc(sizeof(selection_node));
+-  node->u = xmalloc(strlen(arg)*sizeof(sel_union)); /* waste is insignificant */
+   node->n = 0;
+   buf = strdup(arg);
+   /*** sanity check and count items ***/
+@@ -210,6 +209,7 @@ static const char *parse_list(const char *arg, const char *(*parse_fn)(char *, s
+   } while (*++walk);
+   if(need_item) goto parse_error;
+   node->n = items;
++  node->u = xcalloc(items, sizeof(sel_union));
+   /*** actually parse the list ***/
+   walk = buf;
+   while(items--){
+@@ -1050,15 +1050,15 @@ static const char *parse_trailing_pids(void){
+   thisarg = ps_argc - 1;   /* we must be at the end now */
+ 
+   pidnode = xmalloc(sizeof(selection_node));
+-  pidnode->u = xmalloc(i*sizeof(sel_union)); /* waste is insignificant */
++  pidnode->u = xcalloc(i, sizeof(sel_union)); /* waste is insignificant */
+   pidnode->n = 0;
+ 
+   grpnode = xmalloc(sizeof(selection_node));
+-  grpnode->u = xmalloc(i*sizeof(sel_union)); /* waste is insignificant */
++  grpnode->u = xcalloc(i,sizeof(sel_union)); /* waste is insignificant */
+   grpnode->n = 0;
+ 
+   sidnode = xmalloc(sizeof(selection_node));
+-  sidnode->u = xmalloc(i*sizeof(sel_union)); /* waste is insignificant */
++  sidnode->u = xcalloc(i, sizeof(sel_union)); /* waste is insignificant */
+   sidnode->n = 0;
+ 
+   while(i--){
+-- 
+GitLab
+
diff --git a/poky/meta/recipes-extended/procps/procps_4.0.3.bb b/poky/meta/recipes-extended/procps/procps_4.0.3.bb
index 71efb80..9ef679c 100644
--- a/poky/meta/recipes-extended/procps/procps_4.0.3.bb
+++ b/poky/meta/recipes-extended/procps/procps_4.0.3.bb
@@ -16,6 +16,7 @@
            file://sysctl.conf \
            file://0001-src-w.c-use-utmp.h-only.patch \
            file://0001-po-fr.po-address-failures-with-gettext-0.22.patch \
+           file://CVE-2023-4016.patch \
            "
 SRCREV = "806eb270f217ff7e1e745c7bda2b002b5be74be4"
 
diff --git a/poky/meta/recipes-extended/stress-ng/stress-ng_0.15.08.bb b/poky/meta/recipes-extended/stress-ng/stress-ng_0.16.04.bb
similarity index 85%
rename from poky/meta/recipes-extended/stress-ng/stress-ng_0.15.08.bb
rename to poky/meta/recipes-extended/stress-ng/stress-ng_0.16.04.bb
index 9952c4e..af84339 100644
--- a/poky/meta/recipes-extended/stress-ng/stress-ng_0.15.08.bb
+++ b/poky/meta/recipes-extended/stress-ng/stress-ng_0.16.04.bb
@@ -7,7 +7,7 @@
 
 SRC_URI = "git://github.com/ColinIanKing/stress-ng.git;protocol=https;branch=master \
            "
-SRCREV = "4fc205238518cdaf80cf18e8bd411708f7ba3856"
+SRCREV = "95777d7cf32de9fc88c452a968ae2ae23ed269c2"
 S = "${WORKDIR}/git"
 
 DEPENDS = "coreutils-native libbsd"
@@ -31,3 +31,6 @@
     oe_runmake DESTDIR=${D} BINDIR=${bindir} install
     ln -s stress-ng ${D}${bindir}/stress
 }
+
+# upstream issue: https://github.com/ColinIanKing/stress-ng/issues/315
+DEBUG_BUILD = "0"
diff --git a/poky/meta/recipes-extended/sudo/sudo_1.9.14p2.bb b/poky/meta/recipes-extended/sudo/sudo_1.9.14p3.bb
similarity index 95%
rename from poky/meta/recipes-extended/sudo/sudo_1.9.14p2.bb
rename to poky/meta/recipes-extended/sudo/sudo_1.9.14p3.bb
index fa79391..d5c5718 100644
--- a/poky/meta/recipes-extended/sudo/sudo_1.9.14p2.bb
+++ b/poky/meta/recipes-extended/sudo/sudo_1.9.14p3.bb
@@ -7,7 +7,7 @@
 
 PAM_SRC_URI = "file://sudo.pam"
 
-SRC_URI[sha256sum] = "15f6308db0ed4265ec929f2c61e2e13492e551750c203ee001d1fcd8104c9514"
+SRC_URI[sha256sum] = "a08318b1c4bc8582c004d4cd9ae2903abc549e7e46ba815e41fe81d1c0782b62"
 
 DEPENDS += " virtual/crypt ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
 RDEPENDS:${PN} += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-limits pam-plugin-keyinit', '', d)}"
diff --git a/poky/meta/recipes-extended/sysklogd/sysklogd_2.5.0.bb b/poky/meta/recipes-extended/sysklogd/sysklogd_2.5.2.bb
similarity index 96%
rename from poky/meta/recipes-extended/sysklogd/sysklogd_2.5.0.bb
rename to poky/meta/recipes-extended/sysklogd/sysklogd_2.5.2.bb
index 096bd37..c9c9055 100644
--- a/poky/meta/recipes-extended/sysklogd/sysklogd_2.5.0.bb
+++ b/poky/meta/recipes-extended/sysklogd/sysklogd_2.5.2.bb
@@ -14,7 +14,7 @@
            file://sysklogd \
            "
 
-SRCREV = "b6d1ae26671a85e6087c98ec8b630855fc52886a"
+SRCREV = "3332c550f1a68393daec5d64cd81f3b7674c0af5"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-extended/tar/tar/CVE-2022-48303.patch b/poky/meta/recipes-extended/tar/tar/CVE-2022-48303.patch
deleted file mode 100644
index b2f40f3..0000000
--- a/poky/meta/recipes-extended/tar/tar/CVE-2022-48303.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 3da78400eafcccb97e2f2fd4b227ea40d794ede8 Mon Sep 17 00:00:00 2001
-From: Sergey Poznyakoff <gray@gnu.org>
-Date: Sat, 11 Feb 2023 11:57:39 +0200
-Subject: Fix boundary checking in base-256 decoder
-
-* src/list.c (from_header): Base-256 encoding is at least 2 bytes
-long.
-
-Upstream-Status: Backport [see reference below]
-CVE: CVE-2022-48303
-
-Reference to upstream patch:
-https://savannah.gnu.org/bugs/?62387
-https://git.savannah.gnu.org/cgit/tar.git/patch/src/list.c?id=3da78400eafcccb97e2f2fd4b227ea40d794ede8
-
-Signed-off-by: Rodolfo Quesada Zumbado <rodolfo.zumbado@windriver.com>
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
----
- src/list.c | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)Signed-off-by: Rodolfo Quesada Zumbado <rodolfo.zumbado@windriver.com>
-
-
-(limited to 'src/list.c')
-
-diff --git a/src/list.c b/src/list.c
-index 9fafc42..86bcfdd 100644
---- a/src/list.c
-+++ b/src/list.c
-@@ -881,8 +881,9 @@ from_header (char const *where0, size_t digs, char const *type,
- 	  where++;
- 	}
-     }
--  else if (*where == '\200' /* positive base-256 */
--	   || *where == '\377' /* negative base-256 */)
-+  else if (where <= lim - 2
-+	   && (*where == '\200' /* positive base-256 */
-+	       || *where == '\377' /* negative base-256 */))
-     {
-       /* Parse base-256 output.  A nonnegative number N is
- 	 represented as (256**DIGS)/2 + N; a negative number -N is
--- 
-cgit v1.1
-
diff --git a/poky/meta/recipes-extended/tar/tar_1.34.bb b/poky/meta/recipes-extended/tar/tar_1.35.bb
similarity index 87%
rename from poky/meta/recipes-extended/tar/tar_1.34.bb
rename to poky/meta/recipes-extended/tar/tar_1.35.bb
index 1ef5fe2..4dbd418 100644
--- a/poky/meta/recipes-extended/tar/tar_1.34.bb
+++ b/poky/meta/recipes-extended/tar/tar_1.35.bb
@@ -4,13 +4,11 @@
 HOMEPAGE = "http://www.gnu.org/software/tar/"
 SECTION = "base"
 LICENSE = "GPL-3.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
 
-SRC_URI = "${GNU_MIRROR}/tar/tar-${PV}.tar.bz2 \
-           file://CVE-2022-48303.patch \
-"
+SRC_URI = "${GNU_MIRROR}/tar/tar-${PV}.tar.bz2"
 
-SRC_URI[sha256sum] = "b44cc67f8a1f6b0250b7c860e952b37e8ed932a90bd9b1862a511079255646ff"
+SRC_URI[sha256sum] = "7edb8886a3dc69420a1446e1e2d061922b642f1cf632d2cd0f9ee7e690775985"
 
 inherit autotools gettext texinfo
 
diff --git a/poky/meta/recipes-extended/xz/xz_5.4.3.bb b/poky/meta/recipes-extended/xz/xz_5.4.4.bb
similarity index 95%
rename from poky/meta/recipes-extended/xz/xz_5.4.3.bb
rename to poky/meta/recipes-extended/xz/xz_5.4.4.bb
index e1cdac3..90f4c3d 100644
--- a/poky/meta/recipes-extended/xz/xz_5.4.3.bb
+++ b/poky/meta/recipes-extended/xz/xz_5.4.4.bb
@@ -25,7 +25,7 @@
                     "
 
 SRC_URI = "https://tukaani.org/xz/xz-${PV}.tar.gz"
-SRC_URI[sha256sum] = "1c382e0bc2e4e0af58398a903dd62fff7e510171d2de47a1ebe06d1528e9b7e9"
+SRC_URI[sha256sum] = "aae39544e254cfd27e942d35a048d592959bd7a79f9a624afb0498bb5613bdf8"
 UPSTREAM_CHECK_REGEX = "xz-(?P<pver>\d+(\.\d+)+)\.tar"
 
 CACHED_CONFIGUREVARS += "gl_cv_posix_shell=/bin/sh"
diff --git a/poky/meta/recipes-gnome/gtk+/gtk4_4.10.4.bb b/poky/meta/recipes-gnome/gtk+/gtk4_4.12.1.bb
similarity index 93%
rename from poky/meta/recipes-gnome/gtk+/gtk4_4.10.4.bb
rename to poky/meta/recipes-gnome/gtk+/gtk4_4.12.1.bb
index 2d1e0e7..aa7115b 100644
--- a/poky/meta/recipes-gnome/gtk+/gtk4_4.10.4.bb
+++ b/poky/meta/recipes-gnome/gtk+/gtk4_4.12.1.bb
@@ -27,8 +27,8 @@
 LICENSE = "LGPL-2.0-only & LGPL-2.0-or-later & LGPL-2.1-or-later"
 LIC_FILES_CHKSUM = " \
     file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
-    file://gtk/gtk.h;endline=25;md5=1d8dc0fccdbfa26287a271dce88af737 \
-    file://gdk/gdk.h;endline=25;md5=c920ce39dc88c6f06d3e7c50e08086f2 \
+    file://gtk/gtk.h;endline=25;md5=61900d77e8d5bc67cf15ad93de9a3490 \
+    file://gdk/gdk.h;endline=25;md5=a0fb26c1f6b94e66d148279e192c333f \
     file://tests/testgtk.c;endline=25;md5=49d06770681b8322466b52ed19d29fb2 \
 "
 
@@ -37,7 +37,7 @@
 UPSTREAM_CHECK_REGEX = "gtk-(?P<pver>\d+\.(\d*[02468])+(\.\d+)+)\.tar.xz"
 
 SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk/${MAJ_VER}/gtk-${PV}.tar.xz"
-SRC_URI[sha256sum] = "7725400482e0685e28265e226c62847f4e73cfca9e9b416ac5838207f5377a24"
+SRC_URI[sha256sum] = "b8b61d6cf94fac64bf3a0bfc7af137c9dd2f8360033fdeb0cfe9612b77a99a72"
 
 S = "${WORKDIR}/gtk-${PV}"
 
@@ -53,11 +53,11 @@
 
 ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 REQUIRED_DISTRO_FEATURES = "opengl"
-GTKDOC_MESON_OPTION = "gtk_doc"
+GTKDOC_MESON_OPTION = "documentation"
 GIR_MESON_ENABLE_FLAG = 'enabled'
 GIR_MESON_DISABLE_FLAG = 'disabled'
 
-EXTRA_OEMESON = " -Dbuild-tests=false -Dbuild-testsuite=false -Ddemos=false"
+EXTRA_OEMESON = " -Dbuild-tests=false -Dbuild-testsuite=false -Dbuild-demos=false"
 
 PACKAGECONFIG ??= "gstreamer ${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11 vulkan', d)}"
 PACKAGECONFIG:class-native = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
diff --git a/poky/meta/recipes-gnome/libadwaita/libadwaita_1.3.3.bb b/poky/meta/recipes-gnome/libadwaita/libadwaita_1.3.4.bb
similarity index 86%
rename from poky/meta/recipes-gnome/libadwaita/libadwaita_1.3.3.bb
rename to poky/meta/recipes-gnome/libadwaita/libadwaita_1.3.4.bb
index 8ec5258..2abc8d9 100644
--- a/poky/meta/recipes-gnome/libadwaita/libadwaita_1.3.3.bb
+++ b/poky/meta/recipes-gnome/libadwaita/libadwaita_1.3.4.bb
@@ -11,7 +11,7 @@
 
 inherit gnomebase gobject-introspection gi-docgen vala features_check
 
-SRC_URI[archive.sha256sum] = "3fb9f6f8f570e543ab2dafb8b4b94d8b376c59ad565efadfede44557e3f3a9e1"
+SRC_URI[archive.sha256sum] = "801ccaf3a760213b59ebb9b8185327df225049544aee68a1340b165710acb1bd"
 
 ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
 REQUIRED_DISTRO_FEATURES = "opengl"
diff --git a/poky/meta/recipes-gnome/libgudev/libgudev_237.bb b/poky/meta/recipes-gnome/libgudev/libgudev_238.bb
similarity index 87%
rename from poky/meta/recipes-gnome/libgudev/libgudev_237.bb
rename to poky/meta/recipes-gnome/libgudev/libgudev_238.bb
index 5aa94e5..c71e4bd 100644
--- a/poky/meta/recipes-gnome/libgudev/libgudev_237.bb
+++ b/poky/meta/recipes-gnome/libgudev/libgudev_238.bb
@@ -5,7 +5,7 @@
 introspection support."
 HOMEPAGE = "https://wiki.gnome.org/Projects/libgudev"
 BUGTRACKER = "https://gitlab.gnome.org/GNOME/libgudev/issues"
-SRC_URI[archive.sha256sum] = "0d06b21170d20c93e4f0534dbb9b0a8b4f1119ffb00b4031aaeb5b9148b686aa"
+SRC_URI[archive.sha256sum] = "61266ab1afc9d73dbc60a8b2af73e99d2fdff47d99544d085760e4fa667b5dd1"
 
 DEPENDS = "glib-2.0 glib-2.0-native udev"
 
@@ -25,6 +25,8 @@
 UPSTREAM_CHECK_URI = "http://ftp.gnome.org/pub/GNOME/sources/libgudev/"
 UPSTREAM_CHECK_REGEX = "(?P<pver>(\d+))"
 
+EXTRA_OEMESON += "-Dtests=disabled -Dvapi=disabled"
+
 # This isn't a GNOME-style version do gnome_verdir fails. Just return the
 # version as that is how the directory is structured.
 def gnome_verdir(v):
diff --git a/poky/meta/recipes-gnome/libsecret/libsecret_0.20.5.bb b/poky/meta/recipes-gnome/libsecret/libsecret_0.21.0.bb
similarity index 91%
rename from poky/meta/recipes-gnome/libsecret/libsecret_0.20.5.bb
rename to poky/meta/recipes-gnome/libsecret/libsecret_0.21.0.bb
index 9b09c3b..8f560f9 100644
--- a/poky/meta/recipes-gnome/libsecret/libsecret_0.20.5.bb
+++ b/poky/meta/recipes-gnome/libsecret/libsecret_0.21.0.bb
@@ -14,7 +14,7 @@
 
 DEPENDS += "glib-2.0 libgcrypt gettext-native"
 
-SRC_URI[archive.sha256sum] = "3fb3ce340fcd7db54d87c893e69bfc2b1f6e4d4b279065ffe66dac9f0fd12b4d"
+SRC_URI[archive.sha256sum] = "2735b29d1cc0e5b12ba90bee88bd21774ac8db4ae1a4b716f46c409c19a14613"
 
 GTKDOC_MESON_OPTION = 'gtk_doc'
 
diff --git a/poky/meta/recipes-graphics/drm/libdrm_2.4.115.bb b/poky/meta/recipes-graphics/drm/libdrm_2.4.116.bb
similarity index 96%
rename from poky/meta/recipes-graphics/drm/libdrm_2.4.115.bb
rename to poky/meta/recipes-graphics/drm/libdrm_2.4.116.bb
index 50206f2..f0aaf31 100644
--- a/poky/meta/recipes-graphics/drm/libdrm_2.4.115.bb
+++ b/poky/meta/recipes-graphics/drm/libdrm_2.4.116.bb
@@ -13,7 +13,7 @@
 SRC_URI = "http://dri.freedesktop.org/libdrm/${BP}.tar.xz \
           "
 
-SRC_URI[sha256sum] = "554cfbfe0542bddb391b4e3e05bfbbfc3e282b955bd56218d21c0616481f65eb"
+SRC_URI[sha256sum] = "46c53f40735ea3d26d614297f155f6131a510624a24274f654f6469ca905339a"
 
 inherit meson pkgconfig manpages
 
diff --git a/poky/meta/recipes-graphics/graphene/files/float-div.patch b/poky/meta/recipes-graphics/graphene/files/float-div.patch
new file mode 100644
index 0000000..bf74101
--- /dev/null
+++ b/poky/meta/recipes-graphics/graphene/files/float-div.patch
@@ -0,0 +1,28 @@
+From c19d1f4a7e44e071df3a2612ae2eb20c84e831a6 Mon Sep 17 00:00:00 2001
+From: Emmanuele Bassi <ebassi@gnome.org>
+Date: Thu, 10 Aug 2023 12:44:49 +0100
+Subject: [PATCH] build: Allow host builds when cross-compiling
+
+Environments that set up execution wrappers when cross-compiling should
+be allowed to run code. We only fall back on external properties if we
+really can't run any native code on the host machine.
+
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 48f22d7..7dcb9e6 100644
+--- a/meson.build
++++ b/meson.build
+@@ -270,7 +270,7 @@ int main() {
+  return 0;
+ }
+ '''
+-if meson.is_cross_build()
++if not meson.can_run_host_binaries()
+   ieee754_float_div = meson.get_external_property('ieee754_float_div', cc.get_id() in ['gcc', 'clang'])
+   message('Cross-building, assuming IEEE 754 division:', ieee754_float_div)
+ else
diff --git a/poky/meta/recipes-graphics/graphene/graphene_1.10.8.bb b/poky/meta/recipes-graphics/graphene/graphene_1.10.8.bb
index 9f5b4d0..55d8a2d 100644
--- a/poky/meta/recipes-graphics/graphene/graphene_1.10.8.bb
+++ b/poky/meta/recipes-graphics/graphene/graphene_1.10.8.bb
@@ -7,6 +7,8 @@
 
 inherit gnomebase gobject-introspection gtk-doc
 
+SRC_URI += "file://float-div.patch"
+
 SRC_URI[archive.sha256sum] = "a37bb0e78a419dcbeaa9c7027bcff52f5ec2367c25ec859da31dfde2928f279a"
 
 # Disable neon support by default on ARM-32 platforms because of the
diff --git a/poky/meta/recipes-graphics/harfbuzz/harfbuzz_8.0.1.bb b/poky/meta/recipes-graphics/harfbuzz/harfbuzz_8.1.1.bb
similarity index 88%
rename from poky/meta/recipes-graphics/harfbuzz/harfbuzz_8.0.1.bb
rename to poky/meta/recipes-graphics/harfbuzz/harfbuzz_8.1.1.bb
index 359272e..9422db2 100644
--- a/poky/meta/recipes-graphics/harfbuzz/harfbuzz_8.0.1.bb
+++ b/poky/meta/recipes-graphics/harfbuzz/harfbuzz_8.1.1.bb
@@ -9,7 +9,7 @@
                     "
 
 SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/${BPN}-${PV}.tar.xz"
-SRC_URI[sha256sum] = "c1ce780acd385569f25b9a29603d1d5bc71e6940e55bfdd4f7266fad50e42620"
+SRC_URI[sha256sum] = "0305ad702e11906a5fc0c1ba11c270b7f64a8f5390d676aacfd71db129d6565f"
 
 DEPENDS += "glib-2.0-native"
 
@@ -22,9 +22,10 @@
 
 PACKAGECONFIG ??= "cairo freetype glib icu"
 PACKAGECONFIG[cairo] = "-Dcairo=enabled,-Dcairo=disabled,cairo"
+PACKAGECONFIG[chafa] = "-Dchafa=enabled,-Dchafa=disabled,chafa"
 PACKAGECONFIG[freetype] = "-Dfreetype=enabled,-Dfreetype=disabled,freetype"
 PACKAGECONFIG[glib] = "-Dglib=enabled,-Dglib=disabled,glib-2.0"
-PACKAGECONFIG[graphite] = "-Dgraphite=enabled,-Dgraphite=disabled,graphite2"
+PACKAGECONFIG[graphite] = "-Dgraphite2=enabled,-Dgraphite2=disabled,graphite2"
 PACKAGECONFIG[icu] = "-Dicu=enabled,-Dicu=disabled,icu"
 
 PACKAGES =+ "${PN}-icu ${PN}-icu-dev ${PN}-subset"
diff --git a/poky/meta/recipes-graphics/libfakekey/libfakekey_git.bb b/poky/meta/recipes-graphics/libfakekey/libfakekey_git.bb
index c9c828a..5f902d3 100644
--- a/poky/meta/recipes-graphics/libfakekey/libfakekey_git.bb
+++ b/poky/meta/recipes-graphics/libfakekey/libfakekey_git.bb
@@ -11,7 +11,7 @@
 SECTION = "x11/wm"
 
 SRCREV = "7ad885912efb2131e80914e964d5e635b0d07b40"
-PV = "0.3+git${SRCPV}"
+PV = "0.3+git"
 
 SRC_URI = "git://git.yoctoproject.org/${BPN};branch=master;protocol=https"
 
diff --git a/poky/meta/recipes-graphics/mesa/files/0001-intel-Allow-using-intel_clc-from-the-system.patch b/poky/meta/recipes-graphics/mesa/files/0001-intel-Allow-using-intel_clc-from-the-system.patch
new file mode 100644
index 0000000..5eefd02
--- /dev/null
+++ b/poky/meta/recipes-graphics/mesa/files/0001-intel-Allow-using-intel_clc-from-the-system.patch
@@ -0,0 +1,99 @@
+From ac503f5d7bf36f021c576029a64ac1a3199f6b5a Mon Sep 17 00:00:00 2001
+From: Matt Turner <mattst88@gmail.com>
+Date: Thu, 31 Aug 2023 13:16:29 -0400
+Subject: [PATCH] intel: Allow using intel_clc from the system
+
+With -Dintel-clc=system, the build system will search for an `intel_clc`
+binary and use it instead of building `intel_clc` itself.
+
+This allows Intel Vulkan ray tracing support to be built when cross
+compiling without terrible hacks (that would otherwise be necessary due
+to `intel_clc`'s dependence on SPIRV-LLVM-Translator, libclc, clang, and
+LLVM).
+
+Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24983>
+
+Upstream-Status: Backport [https://gitlab.freedesktop.org/mesa/mesa/-/commit/28c1053c07c177854520f6283fa665f17618adb5]
+
+---
+ meson.build                      | 6 +++---
+ meson_options.txt                | 5 ++++-
+ src/intel/compiler/meson.build   | 6 +++++-
+ src/intel/vulkan/grl/meson.build | 2 +-
+ 4 files changed, 13 insertions(+), 6 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 16e86ec..00a6953 100644
+--- a/meson.build
++++ b/meson.build
+@@ -259,12 +259,12 @@ endif
+ 
+ with_microsoft_clc = get_option('microsoft-clc').enabled()
+ if ['x86_64'].contains(host_machine.cpu_family())
+-  with_intel_clc = get_option('intel-clc').enabled()
+-  with_intel_vk_rt = with_intel_vk and with_intel_clc
++  with_intel_clc = get_option('intel-clc') == 'enabled'
+ else
+   with_intel_clc = false
+-  with_intel_vk_rt = false
+ endif
++with_intel_vk_rt = with_intel_vk and get_option('intel-clc') != 'disabled'
++
+ with_clc = with_microsoft_clc or with_intel_clc
+ with_libclc = with_clc
+ with_spirv_to_dxil = get_option('spirv-to-dxil')
+diff --git a/meson_options.txt b/meson_options.txt
+index 379aea3..9800531 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -607,9 +607,12 @@ option(
+ 
+ option(
+   'intel-clc',
+-  type : 'feature',
++  type : 'combo',
+   deprecated: {'true': 'enabled', 'false': 'disabled'},
+   value : 'disabled',
++  choices : [
++    'enabled', 'disabled', 'system',
++  ],
+   description : 'Build the intel-clc compiler (enables Vulkan Intel ' +
+                 'Ray Tracing on supported hardware).'
+ )
+diff --git a/src/intel/compiler/meson.build b/src/intel/compiler/meson.build
+index 9a03d37..774e955 100644
+--- a/src/intel/compiler/meson.build
++++ b/src/intel/compiler/meson.build
+@@ -168,7 +168,10 @@ libintel_compiler = static_library(
+ )
+ 
+ # For now this tool is only going to be used by Anv
+-if with_intel_clc
++if get_option('intel-clc') == 'system'
++  prog_intel_clc = find_program('intel_clc', native : true)
++  dep_prog_intel_clc = []
++elif with_intel_clc
+   prog_intel_clc = executable(
+     'intel_clc',
+     ['intel_clc.c'],
+@@ -181,6 +184,7 @@ if with_intel_clc
+     dependencies : [idep_nir, idep_clc, idep_mesautil, idep_intel_dev],
+     native : true,
+   )
++  dep_prog_intel_clc = [prog_intel_clc]
+ endif
+ 
+ if with_tests
+diff --git a/src/intel/vulkan/grl/meson.build b/src/intel/vulkan/grl/meson.build
+index c0056b3..02a72f5 100644
+--- a/src/intel/vulkan/grl/meson.build
++++ b/src/intel/vulkan/grl/meson.build
+@@ -143,7 +143,7 @@ foreach t : [['125', 'gfx125', 'dg2']]
+                                    # if fixed there
+       ],
+       env: ['MESA_SHADER_CACHE_DISABLE=true'],
+-      depends : [prog_intel_clc]
++      depends : dep_prog_intel_clc
+     )
+   endforeach
+ 
diff --git a/poky/meta/recipes-graphics/mesa/libglu/0001-Remove-deprecated-register-in-C-17.patch b/poky/meta/recipes-graphics/mesa/libglu/0001-Remove-deprecated-register-in-C-17.patch
deleted file mode 100644
index 95d56e9..0000000
--- a/poky/meta/recipes-graphics/mesa/libglu/0001-Remove-deprecated-register-in-C-17.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 1910b3a83a7e5aa1a31c4325829c94134fafce76 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Fri, 13 Jan 2023 20:58:07 -0800
-Subject: [PATCH] Remove deprecated register in C++17
-
-Fixes errors like
-
-src/libnurbs/internals/varray.cc:76:5: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
-    register long ds = sgn(arc->tail()[0] - arc->prev->tail()[0]);
-    ^~~~~~~~~
-
-Upstream-Status: Submitted [https://gitlab.freedesktop.org/mesa/glu/-/merge_requests/10]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/libnurbs/internals/varray.cc | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/libnurbs/internals/varray.cc b/src/libnurbs/internals/varray.cc
-index 1cb2354..41b3b18 100644
---- a/src/libnurbs/internals/varray.cc
-+++ b/src/libnurbs/internals/varray.cc
-@@ -73,8 +73,8 @@ Varray::~Varray( void )
- inline void
- Varray::update( Arc_ptr arc, long dir[2], REAL val )
- {
--    register long ds = sgn(arc->tail()[0] - arc->prev->tail()[0]);
--    register long dt = sgn(arc->tail()[1] - arc->prev->tail()[1]);
-+    long ds = sgn(arc->tail()[0] - arc->prev->tail()[0]);
-+    long dt = sgn(arc->tail()[1] - arc->prev->tail()[1]);
- 
-     if( dir[0] != ds || dir[1] != dt ) {
- 	dir[0] = ds;
diff --git a/poky/meta/recipes-graphics/mesa/libglu_9.0.2.bb b/poky/meta/recipes-graphics/mesa/libglu_9.0.3.bb
similarity index 79%
rename from poky/meta/recipes-graphics/mesa/libglu_9.0.2.bb
rename to poky/meta/recipes-graphics/mesa/libglu_9.0.3.bb
index 525d631..8151727 100644
--- a/poky/meta/recipes-graphics/mesa/libglu_9.0.2.bb
+++ b/poky/meta/recipes-graphics/mesa/libglu_9.0.3.bb
@@ -11,17 +11,18 @@
 # Epoch as this used to be part of mesa
 PE = "2"
 
-SRC_URI = "https://mesa.freedesktop.org/archive/glu/glu-${PV}.tar.gz \
-           file://0001-Remove-deprecated-register-in-C-17.patch \
+SRC_URI = "https://mesa.freedesktop.org/archive/glu/glu-${PV}.tar.xz \
            "
 
-SRC_URI[sha256sum] = "24effdfb952453cc00e275e1c82ca9787506aba0282145fff054498e60e19a65"
+SRC_URI[sha256sum] = "bd43fe12f374b1192eb15fe20e45ff456b9bc26ab57f0eee919f96ca0f8a330f"
 
 S = "${WORKDIR}/glu-${PV}"
 
 DEPENDS = "virtual/libgl"
 
-inherit autotools pkgconfig features_check
+inherit meson pkgconfig features_check
+
+EXTRA_OEMESON = "-Dgl_provider=gl"
 
 # Requires libGL.so which is provided by mesa when x11 in DISTRO_FEATURES
 REQUIRED_DISTRO_FEATURES = "x11 opengl"
diff --git a/poky/meta/recipes-graphics/mesa/mesa.inc b/poky/meta/recipes-graphics/mesa/mesa.inc
index 79a1d97..83535eb 100644
--- a/poky/meta/recipes-graphics/mesa/mesa.inc
+++ b/poky/meta/recipes-graphics/mesa/mesa.inc
@@ -18,6 +18,7 @@
            file://0001-meson.build-check-for-all-linux-host_os-combinations.patch \
            file://0001-meson-misdetects-64bit-atomics-on-mips-clang.patch \
            file://0001-gallium-Fix-build-with-llvm-17.patch \
+           file://0001-intel-Allow-using-intel_clc-from-the-system.patch \
            "
 
 SRC_URI[sha256sum] = "2f6d7381bc10fbd2d6263ad1022785b8b511046c1a904162f8f7da18eea8aed9"
@@ -35,6 +36,7 @@
 }
 
 DEPENDS = "expat makedepend-native flex-native bison-native libxml2-native zlib chrpath-replacement-native python3-mako-native gettext-native"
+DEPENDS:append:class-target = " ${@bb.utils.contains('PACKAGECONFIG', 'opencl', 'mesa-native', '', d)}"
 EXTRANATIVEPATH += "chrpath-native"
 PROVIDES = " \
     ${@bb.utils.contains('PACKAGECONFIG', 'opengl', 'virtual/libgl', '', d)} \
@@ -72,6 +74,9 @@
     -Dplatforms='${@",".join("${PLATFORMS}".split())}' \
 "
 
+EXTRA_OEMESON:append:class-target = " ${@bb.utils.contains('PACKAGECONFIG', 'opencl', '-Dintel-clc=system', '', d)}"
+EXTRA_OEMESON:append:class-native = " ${@bb.utils.contains('PACKAGECONFIG', 'opencl', '-Dintel-clc=enabled', '', d)}"
+
 def strip_comma(s):
     return s.strip(',')
 
@@ -137,7 +142,7 @@
 
 # "opencl" requires libclc from meta-clang and spirv-tools from OE-Core
 OPENCL_NATIVE = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', '-Dopencl-native=true', '', d)}"
-PACKAGECONFIG[opencl] = "-Dgallium-opencl=icd -Dopencl-spirv=true ${OPENCL_NATIVE},-Dgallium-opencl=disabled -Dopencl-spirv=false,libclc spirv-tools"
+PACKAGECONFIG[opencl] = "-Dgallium-opencl=icd -Dopencl-spirv=true ${OPENCL_NATIVE},-Dgallium-opencl=disabled -Dopencl-spirv=false,libclc spirv-tools python3-ply-native"
 
 PACKAGECONFIG[broadcom] = ""
 PACKAGECONFIG[etnaviv] = ""
@@ -181,7 +186,6 @@
 PACKAGECONFIG[gallium-llvm] = "-Dllvm=enabled -Dshared-llvm=enabled, -Dllvm=disabled, llvm llvm-native elfutils"
 PACKAGECONFIG[xa]  = "-Dgallium-xa=enabled, -Dgallium-xa=disabled"
 PACKAGECONFIG[va] = "-Dgallium-va=enabled,-Dgallium-va=disabled,libva-initial"
-
 PACKAGECONFIG[vdpau] = "-Dgallium-vdpau=enabled,-Dgallium-vdpau=disabled,libvdpau"
 
 PACKAGECONFIG[lima] = ""
@@ -248,6 +252,13 @@
     rm -f ${D}${libdir}/pkgconfig/wayland-egl.pc
 }
 
+do_install:append:class-native () {
+    if ${@bb.utils.contains('PACKAGECONFIG', 'opencl', 'true', 'false', d)}; then
+        install -d ${D}${bindir}
+        install -m0755 ${B}/src/intel/compiler/intel_clc ${D}${bindir}
+    fi
+}
+
 # For the packages that make up the OpenGL interfaces, inject variables so that
 # they don't get Debian-renamed (which would remove the -mesa suffix), and
 # RPROVIDEs/RCONFLICTs on the generic libgl name.
diff --git a/poky/meta/recipes-graphics/pango/pango_1.50.14.bb b/poky/meta/recipes-graphics/pango/pango_1.51.0.bb
similarity index 91%
rename from poky/meta/recipes-graphics/pango/pango_1.50.14.bb
rename to poky/meta/recipes-graphics/pango/pango_1.51.0.bb
index ec7a913..77a1901 100644
--- a/poky/meta/recipes-graphics/pango/pango_1.50.14.bb
+++ b/poky/meta/recipes-graphics/pango/pango_1.51.0.bb
@@ -24,7 +24,7 @@
            file://0001-Skip-running-test-layout-test.patch \
            "
 
-SRC_URI[archive.sha256sum] = "1d67f205bfc318c27a29cfdfb6828568df566795df0cb51d2189cde7f2d581e8"
+SRC_URI[archive.sha256sum] = "74efc109ae6f903bbe6af77eaa2ac6094b8ee245a2e23f132a7a8f0862d1a9f5"
 
 DEPENDS = "glib-2.0 glib-2.0-native fontconfig freetype virtual/libiconv cairo harfbuzz fribidi"
 
@@ -33,7 +33,7 @@
 
 PACKAGECONFIG[x11] = ",,virtual/libx11 libxft"
 PACKAGECONFIG[tests] = "-Dinstall-tests=true, -Dinstall-tests=false"
-PACKAGECONFIG[thai] = ",,libthai"
+PACKAGECONFIG[thai] = "-Dlibthai=enabled,-Dlibthai=disabled,libthai"
 
 GIR_MESON_OPTION = 'introspection'
 
diff --git a/poky/meta/recipes-graphics/piglit/piglit_git.bb b/poky/meta/recipes-graphics/piglit/piglit_git.bb
index cd97ee5..62cada7 100644
--- a/poky/meta/recipes-graphics/piglit/piglit_git.bb
+++ b/poky/meta/recipes-graphics/piglit/piglit_git.bb
@@ -16,7 +16,7 @@
 
 SRCREV = "5036601c43fff63f7be5cd8ad7b319a5c1f6652c"
 # (when PV goes above 1.0 remove the trailing r)
-PV = "1.0+gitr${SRCPV}"
+PV = "1.0+gitr"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-graphics/shaderc/shaderc_2023.4.bb b/poky/meta/recipes-graphics/shaderc/shaderc_2023.6.bb
similarity index 95%
rename from poky/meta/recipes-graphics/shaderc/shaderc_2023.4.bb
rename to poky/meta/recipes-graphics/shaderc/shaderc_2023.6.bb
index 739e7ae..5afdec5 100644
--- a/poky/meta/recipes-graphics/shaderc/shaderc_2023.4.bb
+++ b/poky/meta/recipes-graphics/shaderc/shaderc_2023.6.bb
@@ -6,7 +6,7 @@
 LICENSE = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
 
-SRCREV = "7a8b3da0583425cf511336cf3afbdcf2ebc8b36b"
+SRCREV = "9547789ecfa1be140327057e766ba80666b66e21"
 SRC_URI = "git://github.com/google/shaderc.git;protocol=https;branch=main \
            file://0001-cmake-disable-building-external-dependencies.patch \
            file://0002-libshaderc_util-fix-glslang-header-file-location.patch \
diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-samples/debugfix.patch b/poky/meta/recipes-graphics/vulkan/vulkan-samples/0001-vulkan-samples-Fix-reproducibility-issue.patch
similarity index 62%
rename from poky/meta/recipes-graphics/vulkan/vulkan-samples/debugfix.patch
rename to poky/meta/recipes-graphics/vulkan/vulkan-samples/0001-vulkan-samples-Fix-reproducibility-issue.patch
index d723fcc..7609011 100644
--- a/poky/meta/recipes-graphics/vulkan/vulkan-samples/debugfix.patch
+++ b/poky/meta/recipes-graphics/vulkan/vulkan-samples/0001-vulkan-samples-Fix-reproducibility-issue.patch
@@ -1,3 +1,8 @@
+From d998c753254649c7cf7c64e3fed78e41c11ad7ed Mon Sep 17 00:00:00 2001
+From: Richard Purdie <richard.purdie@linuxfoundation.org>
+Date: Wed, 23 Aug 2023 09:38:37 +0200
+Subject: [PATCH] vulkan-samples: Fix reproducibility issue
+
 There is code to remove the prefix CMAKE_SOURCE_DIR from __FILENAME__ paths
 used for logging with LOGE() in the code. We need to make this match the value we use
 in the debug source remapping from CFLAGS
@@ -16,11 +21,16 @@
 Upstream-Status: Pending [needs to be discussed upstream]
 Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
 
-Index: git/bldsys/cmake/global_options.cmake
-===================================================================
---- git.orig/bldsys/cmake/global_options.cmake
-+++ git/bldsys/cmake/global_options.cmake
-@@ -47,7 +47,7 @@ set(CMAKE_CXX_STANDARD 14)
+Signed-off-by: Julien Stephan <jstephan@baylibre.com>
+---
+ bldsys/cmake/global_options.cmake | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/bldsys/cmake/global_options.cmake b/bldsys/cmake/global_options.cmake
+index b15c2da..d8952e5 100644
+--- a/bldsys/cmake/global_options.cmake
++++ b/bldsys/cmake/global_options.cmake
+@@ -62,7 +62,7 @@ set(CMAKE_CXX_STANDARD 14)
  set(CMAKE_DISABLE_SOURCE_CHANGES ON)
  set(CMAKE_DISABLE_IN_SOURCE_BUILD ON)
  
@@ -29,3 +39,5 @@
  add_definitions(-DROOT_PATH_SIZE=${ROOT_PATH_SIZE})
  
  set(CMAKE_C_FLAGS_DEBUG   "-DDEBUG=0 ${CMAKE_C_FLAGS_DEBUG}")
+--
+2.41.0
diff --git a/poky/meta/recipes-graphics/vulkan/vulkan-samples_git.bb b/poky/meta/recipes-graphics/vulkan/vulkan-samples_git.bb
index 458d140..66f1ef5 100644
--- a/poky/meta/recipes-graphics/vulkan/vulkan-samples_git.bb
+++ b/poky/meta/recipes-graphics/vulkan/vulkan-samples_git.bb
@@ -6,7 +6,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=48aa35cefb768436223a6e7f18dc2a2a"
 
 SRC_URI = "gitsm://github.com/KhronosGroup/Vulkan-Samples.git;branch=main;protocol=https;lfs=0 \
-           file://debugfix.patch \
+           file://0001-vulkan-samples-Fix-reproducibility-issue.patch \
            file://0001-Do-not-use-LFS64-functions-on-linux-musl.patch;patchdir=third_party/spdlog \
            file://0001-Deprecate-u8string_view.patch;patchdir=third_party/spdlog \
            file://32bit.patch \
diff --git a/poky/meta/recipes-graphics/wayland/wayland-utils_1.1.0.bb b/poky/meta/recipes-graphics/wayland/wayland-utils_1.1.0.bb
index dcee87e..48e1409 100644
--- a/poky/meta/recipes-graphics/wayland/wayland-utils_1.1.0.bb
+++ b/poky/meta/recipes-graphics/wayland/wayland-utils_1.1.0.bb
@@ -19,3 +19,6 @@
 inherit meson pkgconfig
 
 DEPENDS += "wayland wayland-native wayland-protocols"
+
+PACKAGECONFIG ??= "drm"
+PACKAGECONFIG[drm] = "-Ddrm=enabled,-Ddrm=disabled,libdrm"
diff --git a/poky/meta/recipes-graphics/wayland/weston-init.bb b/poky/meta/recipes-graphics/wayland/weston-init.bb
index 1884b5d..024e400 100644
--- a/poky/meta/recipes-graphics/wayland/weston-init.bb
+++ b/poky/meta/recipes-graphics/wayland/weston-init.bb
@@ -36,7 +36,7 @@
 		sed -i 's#ROOTHOME#${ROOT_HOME}#' ${D}/${sysconfdir}/init.d/weston
 	fi
 
-	# Install Weston systemd service and accompanying udev rule
+	# Install Weston systemd service
 	if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
 		install -D -p -m0644 ${WORKDIR}/weston.service ${D}${systemd_system_unitdir}/weston.service
 		install -D -p -m0644 ${WORKDIR}/weston.socket ${D}${systemd_system_unitdir}/weston.socket
diff --git a/poky/meta/recipes-graphics/wayland/weston-init/init b/poky/meta/recipes-graphics/wayland/weston-init/init
index d3b0d18..a5c54e0 100644
--- a/poky/meta/recipes-graphics/wayland/weston-init/init
+++ b/poky/meta/recipes-graphics/wayland/weston-init/init
@@ -30,7 +30,7 @@
 case "$1" in
   start)
         . /etc/profile
-	export HOME=ROOTHOME
+	      export HOME=ROOTHOME
 
         WESTON_USER=weston weston-start $OPTARGS &
   ;;
diff --git a/poky/meta/recipes-graphics/wayland/weston_12.0.1.bb b/poky/meta/recipes-graphics/wayland/weston_12.0.2.bb
similarity index 95%
rename from poky/meta/recipes-graphics/wayland/weston_12.0.1.bb
rename to poky/meta/recipes-graphics/wayland/weston_12.0.2.bb
index d9eae1f..5a179e6 100644
--- a/poky/meta/recipes-graphics/wayland/weston_12.0.1.bb
+++ b/poky/meta/recipes-graphics/wayland/weston_12.0.2.bb
@@ -13,7 +13,7 @@
            file://systemd-notify.weston-start \
            "
 
-SRC_URI[sha256sum] = "b18591eab278bc191720f6c09158040b795e7118af1d5ddca6acd9a8e2039535"
+SRC_URI[sha256sum] = "eb686a7cf00992a23b17f192fca9a887313e92c346ee35d8575196983d656b4a"
 
 UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html"
 UPSTREAM_CHECK_REGEX = "weston-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)"
@@ -70,7 +70,7 @@
 PACKAGECONFIG[lcms] = "-Dcolor-management-lcms=true,-Dcolor-management-lcms=false,lcms"
 # Weston with webp support
 PACKAGECONFIG[webp] = "-Dimage-webp=true,-Dimage-webp=false,libwebp"
-# Weston with systemd-login support
+# Weston with systemd support
 PACKAGECONFIG[systemd] = "-Dsystemd=true,-Dsystemd=false,systemd dbus"
 # Weston with Xwayland support (requires X11 and Wayland)
 PACKAGECONFIG[xwayland] = "-Dxwayland=true,-Dxwayland=false,libxcb libxcursor xcb-util-cursor xwayland"
@@ -132,7 +132,7 @@
              libweston-${WESTON_MAJOR_VERSION} ${PN}-examples"
 
 FILES:${PN}-dev += "${libdir}/${BPN}/libexec_weston.so"
-FILES:${PN} = "${bindir}/weston ${bindir}/weston-terminal ${bindir}/weston-info ${bindir}/weston-launch ${bindir}/wcap-decode ${libexecdir} ${libdir}/${BPN}/*.so* ${datadir}"
+FILES:${PN} = "${sysconfdir} ${bindir}/weston ${bindir}/weston-terminal ${bindir}/weston-info ${bindir}/weston-launch ${bindir}/wcap-decode ${libexecdir} ${libdir}/${BPN}/*.so* ${datadir}"
 
 FILES:libweston-${WESTON_MAJOR_VERSION} = "${libdir}/lib*${SOLIBS} ${libdir}/libweston-${WESTON_MAJOR_VERSION}/*.so"
 SUMMARY:libweston-${WESTON_MAJOR_VERSION} = "Helper library for implementing 'wayland window managers'."
diff --git a/poky/meta/recipes-graphics/xcursor-transparent-theme/xcursor-transparent-theme_git.bb b/poky/meta/recipes-graphics/xcursor-transparent-theme/xcursor-transparent-theme_git.bb
index b65a3be..40b7742 100644
--- a/poky/meta/recipes-graphics/xcursor-transparent-theme/xcursor-transparent-theme_git.bb
+++ b/poky/meta/recipes-graphics/xcursor-transparent-theme/xcursor-transparent-theme_git.bb
@@ -8,7 +8,7 @@
 SECTION = "x11/base"
 
 SRCREV = "23c8af5ba4a1b7efbaf0bbca59a65ff7e10a1a06"
-PV = "0.1.1+git${SRCPV}"
+PV = "0.1.1+git"
 
 SRC_URI = "git://git.yoctoproject.org/${BPN};branch=master;protocol=https"
 UPSTREAM_CHECK_COMMITS = "1"
diff --git a/poky/meta/recipes-graphics/xinput-calibrator/xinput-calibrator_git.bb b/poky/meta/recipes-graphics/xinput-calibrator/xinput-calibrator_git.bb
index 3f49df6..05f07c1 100644
--- a/poky/meta/recipes-graphics/xinput-calibrator/xinput-calibrator_git.bb
+++ b/poky/meta/recipes-graphics/xinput-calibrator/xinput-calibrator_git.bb
@@ -4,7 +4,7 @@
 LIC_FILES_CHKSUM = "file://src/calibrator.cpp;endline=22;md5=1bcba08f67cdb56f34021557898e4b5a"
 DEPENDS = "virtual/libx11 libxi libxrandr"
 
-PV = "0.7.5+git${SRCPV}"
+PV = "0.7.5+git"
 PR = "r6"
 
 inherit autotools pkgconfig features_check
diff --git a/poky/meta/recipes-graphics/xorg-driver/xf86-video-intel_git.bb b/poky/meta/recipes-graphics/xorg-driver/xf86-video-intel_git.bb
index 21b499e..2e526bd 100644
--- a/poky/meta/recipes-graphics/xorg-driver/xf86-video-intel_git.bb
+++ b/poky/meta/recipes-graphics/xorg-driver/xf86-video-intel_git.bb
@@ -10,7 +10,7 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=8730ad58d11c7bbad9a7066d69f7808e"
 
 SRCREV = "31486f40f8e8f8923ca0799aea84b58799754564"
-PV = "2.99.917+git${SRCPV}"
+PV = "2.99.917+git"
 S = "${WORKDIR}/git"
 
 SRC_URI = "git://anongit.freedesktop.org/git/xorg/driver/xf86-video-intel;protocol=https;branch=master"
diff --git a/poky/meta/recipes-graphics/xorg-lib/libpthread-stubs_0.4.bb b/poky/meta/recipes-graphics/xorg-lib/libpthread-stubs_0.5.bb
similarity index 73%
rename from poky/meta/recipes-graphics/xorg-lib/libpthread-stubs_0.4.bb
rename to poky/meta/recipes-graphics/xorg-lib/libpthread-stubs_0.5.bb
index 7bf7020..62384e6 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libpthread-stubs_0.4.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/libpthread-stubs_0.5.bb
@@ -7,9 +7,8 @@
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://COPYING;md5=6edc1fea03d959f0c2d743fe5ca746ad"
 
-SRC_URI = "http://xcb.freedesktop.org/dist/${BP}.tar.bz2"
-SRC_URI[md5sum] = "48c1544854a94db0e51499cc3afd797f"
-SRC_URI[sha256sum] = "e4d05911a3165d3b18321cc067fdd2f023f06436e391c6a28dff618a78d2e733"
+SRC_URI = "http://xcb.freedesktop.org/dist/${BP}.tar.xz"
+SRC_URI[sha256sum] = "59da566decceba7c2a7970a4a03b48d9905f1262ff94410a649224e33d2442bc"
 
 inherit autotools
 
diff --git a/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_1.5.0.bb b/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_1.5.0.bb
index 01966c8..62e9b15 100644
--- a/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_1.5.0.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/libxkbcommon_1.5.0.bb
@@ -36,3 +36,5 @@
 RDEPENDS:${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libx11-locale', 'libx11-compose-data', d)}"
 
 BBCLASSEXTEND += "native"
+
+CVE_PRODUCT += "xkbcommon:libxkbcommon"
diff --git a/poky/meta/recipes-graphics/xorg-lib/pixman_0.42.2.bb b/poky/meta/recipes-graphics/xorg-lib/pixman_0.42.2.bb
index d26d7f5..98df6da 100644
--- a/poky/meta/recipes-graphics/xorg-lib/pixman_0.42.2.bb
+++ b/poky/meta/recipes-graphics/xorg-lib/pixman_0.42.2.bb
@@ -17,7 +17,7 @@
 
 PE = "1"
 
-LICENSE = "MIT & MIT & PD"
+LICENSE = "MIT & PD"
 LIC_FILES_CHKSUM = "file://COPYING;md5=14096c769ae0cbb5fcb94ec468be11b3 \
                     file://pixman/pixman-matrix.c;endline=21;md5=4a018dff3e4e25302724c88ff95c2456 \
                     file://pixman/pixman-arm-neon-asm.h;endline=24;md5=9a9cc1e51abbf1da58f4d9528ec9d49b \
@@ -37,4 +37,7 @@
 EXTRA_OEMESON:append:class-target:powerpc64 = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "-Dvmx=enabled", "-Dvmx=disabled", d)}"
 EXTRA_OEMESON:append:class-target:powerpc64le = " ${@bb.utils.contains("TUNE_FEATURES", "altivec", "-Dvmx=enabled", "-Dvmx=disabled", d)}"
 
+EXTRA_OEMESON:append:armv7a = "${@bb.utils.contains("TUNE_FEATURES","neon",""," -Dneon=disabled",d)}"
+EXTRA_OEMESON:append:armv7ve = "${@bb.utils.contains("TUNE_FEATURES","neon",""," -Dneon=disabled",d)}"
+
 BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-kernel/blktrace/blktrace_git.bb b/poky/meta/recipes-kernel/blktrace/blktrace_git.bb
index d0eeba3..d4f5bac 100644
--- a/poky/meta/recipes-kernel/blktrace/blktrace_git.bb
+++ b/poky/meta/recipes-kernel/blktrace/blktrace_git.bb
@@ -12,7 +12,7 @@
 
 SRCREV = "366d30b9cdb20345c5d064af850d686da79b89eb"
 
-PV = "1.3.0+git${SRCPV}"
+PV = "1.3.0+git"
 
 SRC_URI = "git://git.kernel.dk/blktrace.git;branch=master;protocol=https"
 
diff --git a/poky/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb b/poky/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb
index 388d8fe..3fcfe4b 100644
--- a/poky/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb
+++ b/poky/meta/recipes-kernel/kern-tools/kern-tools-native_git.bb
@@ -11,8 +11,8 @@
 
 DEPENDS = "git-native"
 
-SRCREV = "2d01f24bc78256c709728eb3f204491bce13e0e5"
-PV = "0.3+git${SRCPV}"
+SRCREV = "6645d3897cc2eeb1237ee0e2ff5342bd73ee0875"
+PV = "0.3+git"
 
 inherit native
 
diff --git a/poky/meta/recipes-kernel/libtraceevent/libtraceevent/0001-makefile-Do-not-preserve-ownership-in-cp-command.patch b/poky/meta/recipes-kernel/libtraceevent/libtraceevent/0001-makefile-Do-not-preserve-ownership-in-cp-command.patch
deleted file mode 100644
index 5e88048..0000000
--- a/poky/meta/recipes-kernel/libtraceevent/libtraceevent/0001-makefile-Do-not-preserve-ownership-in-cp-command.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From ed0a31000305d937abe47c44d705b5b52bb36f79 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 22 Dec 2022 18:32:17 -0800
-Subject: [PATCH] makefile: Do not preserve ownership in cp command
-
-Fixes
-
-ERROR: libtraceevent-1.7.0-r0 do_package_qa: QA Issue: libtraceevent: /usr/lib/libtraceevent.a is owned by uid 1000, which is the same as the user running bitbake. This may be due to host contamination [host-user-contaminated]
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- Makefile | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 965ff47..0e782cb 100644
---- a/Makefile
-+++ b/Makefile
-@@ -287,7 +287,7 @@ $(BUILD_PREFIX): force
- 	$(Q)$(call build_prefix,$(prefix))
- 
- define do_make_pkgconfig_file
--	cp -f ${PKG_CONFIG_SOURCE_FILE}.template ${PKG_CONFIG_FILE};	\
-+	install -m 0644 ${PKG_CONFIG_SOURCE_FILE}.template ${PKG_CONFIG_FILE};	\
- 	sed -i "s|INSTALL_PREFIX|${1}|g" ${PKG_CONFIG_FILE}; 		\
- 	sed -i "s|LIB_VERSION|${EVENT_PARSE_VERSION}|g" ${PKG_CONFIG_FILE}; \
- 	sed -i "s|LIB_DIR|${libdir_relative}|g" ${PKG_CONFIG_FILE}; \
-@@ -335,7 +335,7 @@ install: install_libs install_plugins
- 
- install_libs: libs install_headers install_pkgconfig
- 	$(Q)$(call do_install,$(LIBTRACEEVENT_SHARED),$(libdir_SQ)); \
--		cp -fpR $(LIB_INSTALL) $(DESTDIR)$(libdir_SQ)
-+		cp --no-preserve=ownership --recursive $(LIB_INSTALL) $(DESTDIR)$(libdir_SQ)
- 	$(Q)$(call install_ld_config)
- 
- install_pkgconfig: $(PKG_CONFIG_FILE)
--- 
-2.39.0
-
diff --git a/poky/meta/recipes-kernel/libtraceevent/libtraceevent/meson.patch b/poky/meta/recipes-kernel/libtraceevent/libtraceevent/meson.patch
new file mode 100644
index 0000000..38b6107
--- /dev/null
+++ b/poky/meta/recipes-kernel/libtraceevent/libtraceevent/meson.patch
@@ -0,0 +1,74 @@
+Fixes for the Meson build of libtraceevent:
+
+- Make the plugin directory the same as the Makefiles
+- Install the plugins as modules not static and versioned shared libraries
+- Add an option to disable building the documentation (needs asciidoc and xmlto)
+
+Upstream-Status: Pending
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+diff --git a/meson.build b/meson.build
+index b61c873..4bba4d8 100644
+--- a/meson.build
++++ b/meson.build
+@@ -25,7 +25,7 @@ htmldir = join_paths(prefixdir, get_option('htmldir'))
+ libdir = join_paths(prefixdir, get_option('libdir'))
+ plugindir = get_option('plugindir')
+ if plugindir == ''
+-    plugindir = join_paths(libdir, 'libtraceevent/plugins')
++    plugindir = join_paths(libdir, 'traceevent/plugins')
+ endif
+ 
+ add_project_arguments(
+@@ -45,10 +45,13 @@ if cunit_dep.found()
+     subdir('utest')
+ endif
+ subdir('samples')
+-subdir('Documentation')
+ 
+-custom_target(
+-    'docs',
+-    output: 'docs',
+-    depends: [html, man],
+-    command: ['echo'])
++if get_option('docs')
++    subdir('Documentation')
++
++    custom_target(
++        'docs',
++        output: 'docs',
++        depends: [html, man],
++        command: ['echo'])
++endif
+diff --git a/meson_options.txt b/meson_options.txt
+index b2294f6..0611216 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -4,6 +4,10 @@
+ 
+ option('plugindir', type : 'string',
+        description : 'set the plugin dir')
++
++option('docs', type : 'boolean', value: true,
++       description : 'build documentation')
++
+ option('htmldir', type : 'string', value : 'share/doc/libtraceevent-doc',
+        description : 'directory for HTML documentation')
+ option('asciidoctor', type : 'boolean', value: false,
+diff --git a/plugins/meson.build b/plugins/meson.build
+index 74ad664..4919be4 100644
+--- a/plugins/meson.build
++++ b/plugins/meson.build
+@@ -19,11 +19,10 @@ plugins = [
+ 
+ pdeps = []
+ foreach plugin : plugins
+-    pdeps += library(
++    pdeps += shared_module(
+         plugin.replace('.c', ''),
+         plugin,
+         name_prefix: '',
+-        version: library_version,
+         dependencies: [libtraceevent_dep],
+         include_directories: [incdir],
+         install: true,
diff --git a/poky/meta/recipes-kernel/libtraceevent/libtraceevent_1.7.3.bb b/poky/meta/recipes-kernel/libtraceevent/libtraceevent_1.7.3.bb
index f9a3811..bee7891 100644
--- a/poky/meta/recipes-kernel/libtraceevent/libtraceevent_1.7.3.bb
+++ b/poky/meta/recipes-kernel/libtraceevent/libtraceevent_1.7.3.bb
@@ -10,17 +10,13 @@
 
 SRCREV = "dd148189b74da3e2f45c7e536319fec97cb71213"
 SRC_URI = "git://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git;branch=${BPN};protocol=https \
-           file://0001-makefile-Do-not-preserve-ownership-in-cp-command.patch"
+           file://meson.patch"
 
 S = "${WORKDIR}/git"
 
-export EXTRA_CFLAGS = "${CFLAGS}"
+inherit meson pkgconfig
 
-inherit pkgconfig
-
-do_install() {
-    oe_runmake install DESTDIR=${D} pkgconfig_dir=${libdir}/pkgconfig
-}
+EXTRA_OEMESON = "-Ddocs=false"
 
 PACKAGES += "${PN}-plugins"
 
diff --git a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20230625.bb b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20230804.bb
similarity index 94%
rename from poky/meta/recipes-kernel/linux-firmware/linux-firmware_20230625.bb
rename to poky/meta/recipes-kernel/linux-firmware/linux-firmware_20230804.bb
index 6765226..ee14630 100644
--- a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20230625.bb
+++ b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_20230804.bb
@@ -34,12 +34,14 @@
     & Firmware-iwlwifi_firmware \
     & Firmware-IntcSST2 \
     & Firmware-kaweth \
+    & Firmware-linaro \
     & Firmware-Lontium \
     & Firmware-Marvell \
     & Firmware-moxa \
     & Firmware-myri10ge_firmware \
     & Firmware-netronome \
     & Firmware-nvidia \
+    & Firmware-nxp \
     & Firmware-OLPC \
     & Firmware-ath9k-htc \
     & Firmware-phanfw \
@@ -97,6 +99,7 @@
                     file://LICENCE.it913x;md5=1fbf727bfb6a949810c4dbfa7e6ce4f8 \
                     file://LICENCE.iwlwifi_firmware;md5=2ce6786e0fc11ac6e36b54bb9b799f1b \
                     file://LICENCE.kaweth;md5=b1d876e562f4b3b8d391ad8395dfe03f \
+                    file://LICENCE.linaro;md5=936d91e71cf9cd30e733db4bf11661cc \
                     file://LICENSE.Lontium;md5=4ec8dc582ff7295f39e2ca6a7b0be2b6 \
                     file://LICENCE.Marvell;md5=28b6ed8bd04ba105af6e4dcd6e997772 \
                     file://LICENCE.mediatek;md5=7c1976b63217d76ce47d0a11d8a79cf2 \
@@ -105,6 +108,7 @@
                     file://LICENCE.Netronome;md5=4add08f2577086d44447996503cddf5f \
                     file://LICENCE.nvidia;md5=4428a922ed3ba2ceec95f076a488ce07 \
                     file://LICENCE.NXP;md5=58bb8ba632cd729b9ba6183bc6aed36f \
+                    file://LICENSE.nxp;md5=cca321ca1524d6a1e4fed87486cd82dc \
                     file://LICENCE.OLPC;md5=5b917f9d8c061991be4f6f5f108719cd \
                     file://LICENCE.open-ath9k-htc-firmware;md5=1b33c9f4d17bc4d457bdb23727046837 \
                     file://LICENCE.phanfw;md5=954dcec0e051f9409812b561ea743bfa \
@@ -134,7 +138,7 @@
                     "
 # WHENCE checksum is defined separately to ease overriding it if
 # class-devupstream is selected.
-WHENCE_CHKSUM  = "57bf874056926f12aec2405d3fc390d9"
+WHENCE_CHKSUM  = "41f9a48bf27971b126a36f9344594dcd"
 
 # These are not common licenses, set NO_GENERIC_LICENSE for them
 # so that the license files will be copied from fetched source
@@ -167,6 +171,7 @@
 NO_GENERIC_LICENSE[Firmware-it913x] = "LICENCE.it913x"
 NO_GENERIC_LICENSE[Firmware-iwlwifi_firmware] = "LICENCE.iwlwifi_firmware"
 NO_GENERIC_LICENSE[Firmware-kaweth] = "LICENCE.kaweth"
+NO_GENERIC_LICENSE[Firmware-linaro] = "LICENCE.linaro"
 NO_GENERIC_LICENSE[Firmware-Lontium] = "LICENSE.Lontium"
 NO_GENERIC_LICENSE[Firmware-Marvell] = "LICENCE.Marvell"
 NO_GENERIC_LICENSE[Firmware-mediatek] = "LICENCE.mediatek"
@@ -174,6 +179,7 @@
 NO_GENERIC_LICENSE[Firmware-myri10ge_firmware] = "LICENCE.myri10ge_firmware"
 NO_GENERIC_LICENSE[Firmware-netronome] = "LICENCE.Netronome"
 NO_GENERIC_LICENSE[Firmware-nvidia] = "LICENCE.nvidia"
+NO_GENERIC_LICENSE[Firmware-nxp] = "LICENSE.nxp"
 NO_GENERIC_LICENSE[Firmware-OLPC] = "LICENCE.OLPC"
 NO_GENERIC_LICENSE[Firmware-ath9k-htc] = "LICENCE.open-ath9k-htc-firmware"
 NO_GENERIC_LICENSE[Firmware-phanfw] = "LICENCE.phanfw"
@@ -212,7 +218,7 @@
 # Pin this to the 20220509 release, override this in local.conf
 SRCREV:class-devupstream ?= "b19cbdca78ab2adfd210c91be15a22568e8b8cae"
 
-SRC_URI[sha256sum] = "87597111c0d4b71b31e53cb85a92c386921b84c825a402db8c82e0e86015500d"
+SRC_URI[sha256sum] = "88d46c543847ee3b03404d4941d91c92974690ee1f6fdcbee9cef3e5f97db688"
 
 inherit allarch
 
@@ -309,6 +315,16 @@
              ${PN}-nvidia-license \
              ${PN}-nvidia-tegra-k1 ${PN}-nvidia-tegra \
              ${PN}-nvidia-gpu \
+             ${PN}-nxp-license \
+             ${PN}-nxp8987-sdio \
+             ${PN}-nxp8997-common \
+             ${PN}-nxp8997-pcie \
+             ${PN}-nxp8997-sdio \
+             ${PN}-nxp9098-common \
+             ${PN}-nxp9098-pcie \
+             ${PN}-nxp9098-sdio \
+             ${PN}-nxpiw416-sdio \
+             ${PN}-nxpiw612-sdio \
              ${PN}-netronome-license ${PN}-netronome \
              ${PN}-qat ${PN}-qat-license \
              ${PN}-qcom-license ${PN}-qcom-yamato-license \
@@ -324,6 +340,7 @@
              ${PN}-qcom-sc8280xp-lenovo-x13s-compute \
              ${PN}-qcom-sc8280xp-lenovo-x13s-sensors \
              ${PN}-qcom-sdm845-adreno ${PN}-qcom-sdm845-audio ${PN}-qcom-sdm845-compute ${PN}-qcom-sdm845-modem \
+             ${PN}-qcom-sdm845-thundercomm-db845c-sensors \
              ${PN}-qcom-sm8250-adreno ${PN}-qcom-sm8250-audio ${PN}-qcom-sm8250-compute \
              ${PN}-amlogic-vdec-license ${PN}-amlogic-vdec \
              ${PN}-lt9611uxc ${PN}-lontium-license \
@@ -543,6 +560,42 @@
 
 RDEPENDS:${PN}-netronome += "${PN}-netronome-license"
 
+# For NXP
+LICENSE:${PN}-nxp8987-sdio = "Firmware-nxp"
+LICENSE:${PN}-nxp8997-common = "Firmware-nxp"
+LICENSE:${PN}-nxp8997-pcie = "Firmware-nxp"
+LICENSE:${PN}-nxp8997-sdio = "Firmware-nxp"
+LICENSE:${PN}-nxp9098-common = "Firmware-nxp"
+LICENSE:${PN}-nxp9098-pcie = "Firmware-nxp"
+LICENSE:${PN}-nxp9098-sdio = "Firmware-nxp"
+LICENSE:${PN}-nxpiw416-sdio = "Firmware-nxp"
+LICENSE:${PN}-nxpiw612-sdio = "Firmware-nxp"
+LICENSE:${PN}-nxp-license = "Firmware-nxp"
+
+FILES:${PN}-nxp8987-sdio = "${nonarch_base_libdir}/firmware/nxp/*8987*"
+FILES:${PN}-nxp8997-common = " \
+    ${nonarch_base_libdir}/firmware/nxp/uartuart8997_bt_v4.bin \
+    ${nonarch_base_libdir}/firmware/nxp/helper_uart_3000000.bin \
+"
+ALLOW_EMPTY:${PN}-nxp8997-pcie = "1"
+ALLOW_EMPTY:${PN}-nxp8997-sdio = "1"
+FILES:${PN}-nxp9098-common = "${nonarch_base_libdir}/firmware/nxp/uartuart9098_bt_v1.bin"
+ALLOW_EMPTY:${PN}-nxp9098-pcie = "1"
+ALLOW_EMPTY:${PN}-nxp9098-sdio = "1"
+FILES:${PN}-nxpiw416-sdio = "${nonarch_base_libdir}/firmware/nxp/*iw416*"
+FILES:${PN}-nxpiw612-sdio = "${nonarch_base_libdir}/firmware/nxp/uartspi_n61x_v1.bin.se"
+FILES:${PN}-nxp-license = "${nonarch_base_libdir}/firmware/LICENSE.nxp"
+
+RDEPENDS:${PN}-nxp8987-sdio += "${PN}-nxp-license"
+RDEPENDS:${PN}-nxp8997-common += "${PN}-nxp-license"
+RDEPENDS:${PN}-nxp8997-pcie += "${PN}-nxp8997-common"
+RDEPENDS:${PN}-nxp8997-sdio += "${PN}-nxp8997-common"
+RDEPENDS:${PN}-nxp9098-common += "${PN}-nxp-license"
+RDEPENDS:${PN}-nxp9098-pcie += "${PN}-nxp9098-common"
+RDEPENDS:${PN}-nxp9098-sdio += "${PN}-nxp9098-common"
+RDEPENDS:${PN}-nxpiw416-sdio += "${PN}-nxp-license"
+RDEPENDS:${PN}-nxpiw612-sdio += "${PN}-nxp-license"
+
 # For Nvidia
 LICENSE:${PN}-nvidia-gpu = "Firmware-nvidia"
 LICENSE:${PN}-nvidia-tegra = "Firmware-nvidia"
@@ -1014,7 +1067,7 @@
 LICENSE:${PN}-qcom-apq8096-audio = "Firmware-qcom"
 LICENSE:${PN}-qcom-apq8096-adreno = "Firmware-qcom"
 LICENSE:${PN}-qcom-apq8096-modem = "Firmware-qcom"
-LICENSE:${PN}-qcom-sc8280xp-lenovo-x13s-audio = "Firmware-qcom"
+LICENSE:${PN}-qcom-sc8280xp-lenovo-x13s-audio = "Firmware-qcom & Firmware-linaro"
 LICENSE:${PN}-qcom-sc8280xp-lenovo-x13s-adreno = "Firmware-qcom"
 LICENSE:${PN}-qcom-sc8280xp-lenovo-x13s-compute = "Firmware-qcom"
 LICENSE:${PN}-qcom-sc8280xp-lenovo-x13s-sensors = "Firmware-qcom"
@@ -1022,6 +1075,7 @@
 LICENSE:${PN}-qcom-sdm845-adreno = "Firmware-qcom"
 LICENSE:${PN}-qcom-sdm845-compute = "Firmware-qcom"
 LICENSE:${PN}-qcom-sdm845-modem = "Firmware-qcom"
+LICENSE:${PN}-qcom-sdm845-thundercomm-db845c-sensors = "Firmware-qcom"
 LICENSE:${PN}-qcom-sm8250-audio = "Firmware-qcom"
 LICENSE:${PN}-qcom-sm8250-adreno = "Firmware-qcom"
 LICENSE:${PN}-qcom-sm8250-compute = "Firmware-qcom"
@@ -1047,7 +1101,7 @@
 FILES:${PN}-qcom-apq8096-audio = "${nonarch_base_libdir}/firmware/qcom/apq8096/adsp*.*"
 FILES:${PN}-qcom-apq8096-modem = "${nonarch_base_libdir}/firmware/qcom/apq8096/mba.mbn ${nonarch_base_libdir}/firmware/qcom/apq8096/modem*.* ${nonarch_base_libdir}/firmware/qcom/apq8096/wlanmdsp.mbn"
 FILES:${PN}-qcom-sc8280xp-lenovo-x13s-compat = "${nonarch_base_libdir}/firmware/qcom/LENOVO/21BX"
-FILES:${PN}-qcom-sc8280xp-lenovo-x13s-audio = "${nonarch_base_libdir}/firmware/qcom/sc8280xp/LENOVO/21BX/*adsp*.* ${nonarch_base_libdir}/firmware/qcom/sc8280xp/LENOVO/21BX/battmgr.jsn"
+FILES:${PN}-qcom-sc8280xp-lenovo-x13s-audio = "${nonarch_base_libdir}/firmware/qcom/sc8280xp/LENOVO/21BX/*adsp*.* ${nonarch_base_libdir}/firmware/qcom/sc8280xp/LENOVO/21BX/battmgr.jsn ${nonarch_base_libdir}/firmware/qcom/sc8280xp/LENOVO/21BX/audioreach-tplg.bin"
 FILES:${PN}-qcom-sc8280xp-lenovo-x13s-adreno = "${nonarch_base_libdir}/firmware/qcom/sc8280xp/LENOVO/21BX/qcdxkmsuc8280.mbn"
 FILES:${PN}-qcom-sc8280xp-lenovo-x13s-compute = "${nonarch_base_libdir}/firmware/qcom/sc8280xp/LENOVO/21BX/*cdsp*.*"
 FILES:${PN}-qcom-sc8280xp-lenovo-x13s-sensors = "${nonarch_base_libdir}/firmware/qcom/sc8280xp/LENOVO/21BX/*slpi*.*"
@@ -1055,6 +1109,7 @@
 FILES:${PN}-qcom-sdm845-audio = "${nonarch_base_libdir}/firmware/qcom/sdm845/adsp*.*"
 FILES:${PN}-qcom-sdm845-compute = "${nonarch_base_libdir}/firmware/qcom/sdm845/cdsp*.*"
 FILES:${PN}-qcom-sdm845-modem = "${nonarch_base_libdir}/firmware/qcom/sdm845/mba.mbn ${nonarch_base_libdir}/firmware/qcom/sdm845/modem*.* ${nonarch_base_libdir}/firmware/qcom/sdm845/wlanmdsp.mbn"
+FILES:${PN}-qcom-sdm845-thundercomm-db845c-sensors = "${nonarch_base_libdir}/firmware/qcom/sdm845/Thundercomm/db845c/slpi*.*"
 FILES:${PN}-qcom-sm8250-adreno = "${nonarch_base_libdir}/firmware/qcom/sm8250/a650*.*"
 FILES:${PN}-qcom-sm8250-audio = "${nonarch_base_libdir}/firmware/qcom/sm8250/adsp*.*"
 FILES:${PN}-qcom-sm8250-compute = "${nonarch_base_libdir}/firmware/qcom/sm8250/cdsp*.*"
@@ -1083,6 +1138,7 @@
 RDEPENDS:${PN}-qcom-sdm845-audio = "${PN}-qcom-license"
 RDEPENDS:${PN}-qcom-sdm845-compute = "${PN}-qcom-license"
 RDEPENDS:${PN}-qcom-sdm845-modem = "${PN}-qcom-license"
+RDEPENDS:${PN}-qcom-sdm845-thundercomm-db845c-sensors = "${PN}-qcom-license"
 RDEPENDS:${PN}-qcom-sm8250-audio = "${PN}-qcom-license"
 RDEPENDS:${PN}-qcom-sm8250-compute = "${PN}-qcom-license"
 
@@ -1125,6 +1181,7 @@
     & Firmware-moxa \
     & Firmware-myri10ge_firmware \
     & Firmware-nvidia \
+    & Firmware-nxp \
     & Firmware-OLPC \
     & Firmware-ath9k-htc \
     & Firmware-phanfw \
diff --git a/poky/meta/recipes-kernel/linux/cve-exclusion.inc b/poky/meta/recipes-kernel/linux/cve-exclusion.inc
index 42f1c19..7857633 100644
--- a/poky/meta/recipes-kernel/linux/cve-exclusion.inc
+++ b/poky/meta/recipes-kernel/linux/cve-exclusion.inc
@@ -1,3 +1,27 @@
+CVE_STATUS[CVE-1999-0656] = "not-applicable-config: specific to ugidd, part of the old user-mode NFS server"
+
+CVE_STATUS[CVE-2006-2932] = "not-applicable-platform: specific to RHEL"
+
+CVE_STATUS[CVE-2007-2764] = "not-applicable-platform: specific to Sun/Brocade SilkWorm switches"
+
+CVE_STATUS[CVE-2007-4998] = "cpe-incorrect: a historic cp bug, no longer an issue as per https://bugzilla.redhat.com/show_bug.cgi?id=356471#c5"
+
+CVE_STATUS[CVE-2008-2544] = "disputed: not an issue as per https://bugzilla.redhat.com/show_bug.cgi?id=449089#c22"
+
+CVE_STATUS[CVE-2010-0298] = "fixed-version: 2.6.34 (1871c6)"
+
+CVE_STATUS[CVE-2014-2648] = "cpe-incorrect: not Linux"
+
+CVE_STATUS[CVE-2016-0774] = "ignored: result of incomplete backport"
+
+CVE_STATUS[CVE-2016-3695] = "not-applicable-platform: specific to RHEL with securelevel patches"
+
+CVE_STATUS[CVE-2016-3699] = "not-applicable-platform: specific to RHEL with securelevel patches"
+
+CVE_STATUS[CVE-2017-6264] = "not-applicable-platform: Android specific"
+
+CVE_STATUS[CVE-2017-1000377] = "not-applicable-platform: GRSecurity specific"
+
 CVE_STATUS[CVE-2018-6559] = "not-applicable-platform: Issue only affects Ubuntu"
 
 CVE_STATUS[CVE-2020-11935] = "not-applicable-config: Issue only affects aufs, which is not in linux-yocto"
diff --git a/poky/meta/recipes-kernel/linux/cve-exclusion_6.1.inc b/poky/meta/recipes-kernel/linux/cve-exclusion_6.1.inc
index 2441788..41ee8bc 100644
--- a/poky/meta/recipes-kernel/linux/cve-exclusion_6.1.inc
+++ b/poky/meta/recipes-kernel/linux/cve-exclusion_6.1.inc
@@ -1,109 +1,118 @@
+
 # Auto-generated CVE metadata, DO NOT EDIT BY HAND.
-# Generated at 2023-08-09 15:51:19.757857 for version 6.1.43
+# Generated at 2023-09-07 15:29:54.983415+00:00 for version 6.1.51
 
-CVE_STATUS[CVE-2003-1604] = "fixed-version: Fixed after version 2.6.12rc2"
+python check_kernel_cve_status_version() {
+    this_version = "6.1.51"
+    kernel_version = d.getVar("LINUX_VERSION")
+    if kernel_version != this_version:
+        bb.warn("Kernel CVE status needs updating: generated for %s but kernel is %s" % (this_version, kernel_version))
+}
+do_cve_check[prefuncs] += "check_kernel_cve_status_version"
 
-CVE_STATUS[CVE-2004-0230] = "fixed-version: Fixed after version 3.6rc1"
+CVE_STATUS[CVE-2003-1604] = "fixed-version: Fixed from version 2.6.12rc2"
+
+CVE_STATUS[CVE-2004-0230] = "fixed-version: Fixed from version 3.6rc1"
 
 # CVE-2005-3660 has no known resolution
 
-CVE_STATUS[CVE-2006-3635] = "fixed-version: Fixed after version 2.6.26rc5"
+CVE_STATUS[CVE-2006-3635] = "fixed-version: Fixed from version 2.6.26rc5"
 
-CVE_STATUS[CVE-2006-5331] = "fixed-version: Fixed after version 2.6.19rc3"
+CVE_STATUS[CVE-2006-5331] = "fixed-version: Fixed from version 2.6.19rc3"
 
-CVE_STATUS[CVE-2006-6128] = "fixed-version: Fixed after version 2.6.19rc2"
+CVE_STATUS[CVE-2006-6128] = "fixed-version: Fixed from version 2.6.19rc2"
 
 # CVE-2007-3719 has no known resolution
 
-CVE_STATUS[CVE-2007-4774] = "fixed-version: Fixed after version 2.6.12rc2"
+CVE_STATUS[CVE-2007-4774] = "fixed-version: Fixed from version 2.6.12rc2"
 
-CVE_STATUS[CVE-2007-6761] = "fixed-version: Fixed after version 2.6.24rc6"
+CVE_STATUS[CVE-2007-6761] = "fixed-version: Fixed from version 2.6.24rc6"
 
-CVE_STATUS[CVE-2007-6762] = "fixed-version: Fixed after version 2.6.20rc5"
+CVE_STATUS[CVE-2007-6762] = "fixed-version: Fixed from version 2.6.20rc5"
 
 # CVE-2008-2544 has no known resolution
 
 # CVE-2008-4609 has no known resolution
 
-CVE_STATUS[CVE-2008-7316] = "fixed-version: Fixed after version 2.6.25rc1"
+CVE_STATUS[CVE-2008-7316] = "fixed-version: Fixed from version 2.6.25rc1"
 
-CVE_STATUS[CVE-2009-2692] = "fixed-version: Fixed after version 2.6.31rc6"
+CVE_STATUS[CVE-2009-2692] = "fixed-version: Fixed from version 2.6.31rc6"
 
-CVE_STATUS[CVE-2010-0008] = "fixed-version: Fixed after version 2.6.23rc9"
+CVE_STATUS[CVE-2010-0008] = "fixed-version: Fixed from version 2.6.23rc9"
 
-CVE_STATUS[CVE-2010-3432] = "fixed-version: Fixed after version 2.6.36rc5"
+CVE_STATUS[CVE-2010-3432] = "fixed-version: Fixed from version 2.6.36rc5"
 
 # CVE-2010-4563 has no known resolution
 
-CVE_STATUS[CVE-2010-4648] = "fixed-version: Fixed after version 2.6.37rc6"
+CVE_STATUS[CVE-2010-4648] = "fixed-version: Fixed from version 2.6.37rc6"
 
-CVE_STATUS[CVE-2010-5313] = "fixed-version: Fixed after version 2.6.38rc1"
+CVE_STATUS[CVE-2010-5313] = "fixed-version: Fixed from version 2.6.38rc1"
 
 # CVE-2010-5321 has no known resolution
 
-CVE_STATUS[CVE-2010-5328] = "fixed-version: Fixed after version 2.6.35rc1"
+CVE_STATUS[CVE-2010-5328] = "fixed-version: Fixed from version 2.6.35rc1"
 
-CVE_STATUS[CVE-2010-5329] = "fixed-version: Fixed after version 2.6.39rc1"
+CVE_STATUS[CVE-2010-5329] = "fixed-version: Fixed from version 2.6.39rc1"
 
-CVE_STATUS[CVE-2010-5331] = "fixed-version: Fixed after version 2.6.34rc7"
+CVE_STATUS[CVE-2010-5331] = "fixed-version: Fixed from version 2.6.34rc7"
 
-CVE_STATUS[CVE-2010-5332] = "fixed-version: Fixed after version 2.6.37rc1"
+CVE_STATUS[CVE-2010-5332] = "fixed-version: Fixed from version 2.6.37rc1"
 
-CVE_STATUS[CVE-2011-4098] = "fixed-version: Fixed after version 3.2rc1"
+CVE_STATUS[CVE-2011-4098] = "fixed-version: Fixed from version 3.2rc1"
 
-CVE_STATUS[CVE-2011-4131] = "fixed-version: Fixed after version 3.3rc1"
+CVE_STATUS[CVE-2011-4131] = "fixed-version: Fixed from version 3.3rc1"
 
-CVE_STATUS[CVE-2011-4915] = "fixed-version: Fixed after version 3.2rc1"
+CVE_STATUS[CVE-2011-4915] = "fixed-version: Fixed from version 3.2rc1"
 
 # CVE-2011-4916 has no known resolution
 
 # CVE-2011-4917 has no known resolution
 
-CVE_STATUS[CVE-2011-5321] = "fixed-version: Fixed after version 3.2rc1"
+CVE_STATUS[CVE-2011-5321] = "fixed-version: Fixed from version 3.2rc1"
 
-CVE_STATUS[CVE-2011-5327] = "fixed-version: Fixed after version 3.1rc1"
+CVE_STATUS[CVE-2011-5327] = "fixed-version: Fixed from version 3.1rc1"
 
-CVE_STATUS[CVE-2012-0957] = "fixed-version: Fixed after version 3.7rc2"
+CVE_STATUS[CVE-2012-0957] = "fixed-version: Fixed from version 3.7rc2"
 
-CVE_STATUS[CVE-2012-2119] = "fixed-version: Fixed after version 3.5rc1"
+CVE_STATUS[CVE-2012-2119] = "fixed-version: Fixed from version 3.5rc1"
 
-CVE_STATUS[CVE-2012-2136] = "fixed-version: Fixed after version 3.5rc1"
+CVE_STATUS[CVE-2012-2136] = "fixed-version: Fixed from version 3.5rc1"
 
-CVE_STATUS[CVE-2012-2137] = "fixed-version: Fixed after version 3.5rc2"
+CVE_STATUS[CVE-2012-2137] = "fixed-version: Fixed from version 3.5rc2"
 
-CVE_STATUS[CVE-2012-2313] = "fixed-version: Fixed after version 3.4rc6"
+CVE_STATUS[CVE-2012-2313] = "fixed-version: Fixed from version 3.4rc6"
 
-CVE_STATUS[CVE-2012-2319] = "fixed-version: Fixed after version 3.4rc6"
+CVE_STATUS[CVE-2012-2319] = "fixed-version: Fixed from version 3.4rc6"
 
-CVE_STATUS[CVE-2012-2372] = "fixed-version: Fixed after version 3.13rc4"
+CVE_STATUS[CVE-2012-2372] = "fixed-version: Fixed from version 3.13rc4"
 
-CVE_STATUS[CVE-2012-2375] = "fixed-version: Fixed after version 3.4rc1"
+CVE_STATUS[CVE-2012-2375] = "fixed-version: Fixed from version 3.4rc1"
 
-CVE_STATUS[CVE-2012-2390] = "fixed-version: Fixed after version 3.5rc1"
+CVE_STATUS[CVE-2012-2390] = "fixed-version: Fixed from version 3.5rc1"
 
-CVE_STATUS[CVE-2012-2669] = "fixed-version: Fixed after version 3.5rc4"
+CVE_STATUS[CVE-2012-2669] = "fixed-version: Fixed from version 3.5rc4"
 
-CVE_STATUS[CVE-2012-2744] = "fixed-version: Fixed after version 2.6.34rc1"
+CVE_STATUS[CVE-2012-2744] = "fixed-version: Fixed from version 2.6.34rc1"
 
-CVE_STATUS[CVE-2012-2745] = "fixed-version: Fixed after version 3.4rc3"
+CVE_STATUS[CVE-2012-2745] = "fixed-version: Fixed from version 3.4rc3"
 
-CVE_STATUS[CVE-2012-3364] = "fixed-version: Fixed after version 3.5rc6"
+CVE_STATUS[CVE-2012-3364] = "fixed-version: Fixed from version 3.5rc6"
 
-CVE_STATUS[CVE-2012-3375] = "fixed-version: Fixed after version 3.4rc5"
+CVE_STATUS[CVE-2012-3375] = "fixed-version: Fixed from version 3.4rc5"
 
-CVE_STATUS[CVE-2012-3400] = "fixed-version: Fixed after version 3.5rc5"
+CVE_STATUS[CVE-2012-3400] = "fixed-version: Fixed from version 3.5rc5"
 
-CVE_STATUS[CVE-2012-3412] = "fixed-version: Fixed after version 3.6rc2"
+CVE_STATUS[CVE-2012-3412] = "fixed-version: Fixed from version 3.6rc2"
 
-CVE_STATUS[CVE-2012-3430] = "fixed-version: Fixed after version 3.6rc1"
+CVE_STATUS[CVE-2012-3430] = "fixed-version: Fixed from version 3.6rc1"
 
-CVE_STATUS[CVE-2012-3510] = "fixed-version: Fixed after version 2.6.19rc4"
+CVE_STATUS[CVE-2012-3510] = "fixed-version: Fixed from version 2.6.19rc4"
 
-CVE_STATUS[CVE-2012-3511] = "fixed-version: Fixed after version 3.5rc6"
+CVE_STATUS[CVE-2012-3511] = "fixed-version: Fixed from version 3.5rc6"
 
-CVE_STATUS[CVE-2012-3520] = "fixed-version: Fixed after version 3.6rc3"
+CVE_STATUS[CVE-2012-3520] = "fixed-version: Fixed from version 3.6rc3"
 
-CVE_STATUS[CVE-2012-3552] = "fixed-version: Fixed after version 3.0rc1"
+CVE_STATUS[CVE-2012-3552] = "fixed-version: Fixed from version 3.0rc1"
 
 # Skipping CVE-2012-4220, no affected_versions
 
@@ -111,343 +120,343 @@
 
 # Skipping CVE-2012-4222, no affected_versions
 
-CVE_STATUS[CVE-2012-4398] = "fixed-version: Fixed after version 3.4rc1"
+CVE_STATUS[CVE-2012-4398] = "fixed-version: Fixed from version 3.4rc1"
 
-CVE_STATUS[CVE-2012-4444] = "fixed-version: Fixed after version 2.6.36rc4"
+CVE_STATUS[CVE-2012-4444] = "fixed-version: Fixed from version 2.6.36rc4"
 
-CVE_STATUS[CVE-2012-4461] = "fixed-version: Fixed after version 3.7rc6"
+CVE_STATUS[CVE-2012-4461] = "fixed-version: Fixed from version 3.7rc6"
 
-CVE_STATUS[CVE-2012-4467] = "fixed-version: Fixed after version 3.6rc5"
+CVE_STATUS[CVE-2012-4467] = "fixed-version: Fixed from version 3.6rc5"
 
-CVE_STATUS[CVE-2012-4508] = "fixed-version: Fixed after version 3.7rc3"
+CVE_STATUS[CVE-2012-4508] = "fixed-version: Fixed from version 3.7rc3"
 
-CVE_STATUS[CVE-2012-4530] = "fixed-version: Fixed after version 3.8rc1"
+CVE_STATUS[CVE-2012-4530] = "fixed-version: Fixed from version 3.8rc1"
 
 # CVE-2012-4542 has no known resolution
 
-CVE_STATUS[CVE-2012-4565] = "fixed-version: Fixed after version 3.7rc4"
+CVE_STATUS[CVE-2012-4565] = "fixed-version: Fixed from version 3.7rc4"
 
-CVE_STATUS[CVE-2012-5374] = "fixed-version: Fixed after version 3.8rc1"
+CVE_STATUS[CVE-2012-5374] = "fixed-version: Fixed from version 3.8rc1"
 
-CVE_STATUS[CVE-2012-5375] = "fixed-version: Fixed after version 3.8rc1"
+CVE_STATUS[CVE-2012-5375] = "fixed-version: Fixed from version 3.8rc1"
 
-CVE_STATUS[CVE-2012-5517] = "fixed-version: Fixed after version 3.6rc1"
+CVE_STATUS[CVE-2012-5517] = "fixed-version: Fixed from version 3.6rc1"
 
-CVE_STATUS[CVE-2012-6536] = "fixed-version: Fixed after version 3.6rc7"
+CVE_STATUS[CVE-2012-6536] = "fixed-version: Fixed from version 3.6rc7"
 
-CVE_STATUS[CVE-2012-6537] = "fixed-version: Fixed after version 3.6rc7"
+CVE_STATUS[CVE-2012-6537] = "fixed-version: Fixed from version 3.6rc7"
 
-CVE_STATUS[CVE-2012-6538] = "fixed-version: Fixed after version 3.6rc7"
+CVE_STATUS[CVE-2012-6538] = "fixed-version: Fixed from version 3.6rc7"
 
-CVE_STATUS[CVE-2012-6539] = "fixed-version: Fixed after version 3.6rc3"
+CVE_STATUS[CVE-2012-6539] = "fixed-version: Fixed from version 3.6rc3"
 
-CVE_STATUS[CVE-2012-6540] = "fixed-version: Fixed after version 3.6rc3"
+CVE_STATUS[CVE-2012-6540] = "fixed-version: Fixed from version 3.6rc3"
 
-CVE_STATUS[CVE-2012-6541] = "fixed-version: Fixed after version 3.6rc3"
+CVE_STATUS[CVE-2012-6541] = "fixed-version: Fixed from version 3.6rc3"
 
-CVE_STATUS[CVE-2012-6542] = "fixed-version: Fixed after version 3.6rc3"
+CVE_STATUS[CVE-2012-6542] = "fixed-version: Fixed from version 3.6rc3"
 
-CVE_STATUS[CVE-2012-6543] = "fixed-version: Fixed after version 3.6rc3"
+CVE_STATUS[CVE-2012-6543] = "fixed-version: Fixed from version 3.6rc3"
 
-CVE_STATUS[CVE-2012-6544] = "fixed-version: Fixed after version 3.6rc3"
+CVE_STATUS[CVE-2012-6544] = "fixed-version: Fixed from version 3.6rc3"
 
-CVE_STATUS[CVE-2012-6545] = "fixed-version: Fixed after version 3.6rc3"
+CVE_STATUS[CVE-2012-6545] = "fixed-version: Fixed from version 3.6rc3"
 
-CVE_STATUS[CVE-2012-6546] = "fixed-version: Fixed after version 3.6rc3"
+CVE_STATUS[CVE-2012-6546] = "fixed-version: Fixed from version 3.6rc3"
 
-CVE_STATUS[CVE-2012-6547] = "fixed-version: Fixed after version 3.6rc1"
+CVE_STATUS[CVE-2012-6547] = "fixed-version: Fixed from version 3.6rc1"
 
-CVE_STATUS[CVE-2012-6548] = "fixed-version: Fixed after version 3.6rc1"
+CVE_STATUS[CVE-2012-6548] = "fixed-version: Fixed from version 3.6rc1"
 
-CVE_STATUS[CVE-2012-6549] = "fixed-version: Fixed after version 3.6rc1"
+CVE_STATUS[CVE-2012-6549] = "fixed-version: Fixed from version 3.6rc1"
 
-CVE_STATUS[CVE-2012-6638] = "fixed-version: Fixed after version 3.3rc1"
+CVE_STATUS[CVE-2012-6638] = "fixed-version: Fixed from version 3.3rc1"
 
-CVE_STATUS[CVE-2012-6647] = "fixed-version: Fixed after version 3.6rc2"
+CVE_STATUS[CVE-2012-6647] = "fixed-version: Fixed from version 3.6rc2"
 
-CVE_STATUS[CVE-2012-6657] = "fixed-version: Fixed after version 3.6"
+CVE_STATUS[CVE-2012-6657] = "fixed-version: Fixed from version 3.6"
 
-CVE_STATUS[CVE-2012-6689] = "fixed-version: Fixed after version 3.6rc5"
+CVE_STATUS[CVE-2012-6689] = "fixed-version: Fixed from version 3.6rc5"
 
-CVE_STATUS[CVE-2012-6701] = "fixed-version: Fixed after version 3.5rc1"
+CVE_STATUS[CVE-2012-6701] = "fixed-version: Fixed from version 3.5rc1"
 
-CVE_STATUS[CVE-2012-6703] = "fixed-version: Fixed after version 3.7rc1"
+CVE_STATUS[CVE-2012-6703] = "fixed-version: Fixed from version 3.7rc1"
 
-CVE_STATUS[CVE-2012-6704] = "fixed-version: Fixed after version 3.5rc1"
+CVE_STATUS[CVE-2012-6704] = "fixed-version: Fixed from version 3.5rc1"
 
-CVE_STATUS[CVE-2012-6712] = "fixed-version: Fixed after version 3.4rc1"
+CVE_STATUS[CVE-2012-6712] = "fixed-version: Fixed from version 3.4rc1"
 
-CVE_STATUS[CVE-2013-0160] = "fixed-version: Fixed after version 3.9rc1"
+CVE_STATUS[CVE-2013-0160] = "fixed-version: Fixed from version 3.9rc1"
 
-CVE_STATUS[CVE-2013-0190] = "fixed-version: Fixed after version 3.8rc5"
+CVE_STATUS[CVE-2013-0190] = "fixed-version: Fixed from version 3.8rc5"
 
-CVE_STATUS[CVE-2013-0216] = "fixed-version: Fixed after version 3.8rc7"
+CVE_STATUS[CVE-2013-0216] = "fixed-version: Fixed from version 3.8rc7"
 
-CVE_STATUS[CVE-2013-0217] = "fixed-version: Fixed after version 3.8rc7"
+CVE_STATUS[CVE-2013-0217] = "fixed-version: Fixed from version 3.8rc7"
 
-CVE_STATUS[CVE-2013-0228] = "fixed-version: Fixed after version 3.8"
+CVE_STATUS[CVE-2013-0228] = "fixed-version: Fixed from version 3.8"
 
-CVE_STATUS[CVE-2013-0231] = "fixed-version: Fixed after version 3.8rc7"
+CVE_STATUS[CVE-2013-0231] = "fixed-version: Fixed from version 3.8rc7"
 
-CVE_STATUS[CVE-2013-0268] = "fixed-version: Fixed after version 3.8rc6"
+CVE_STATUS[CVE-2013-0268] = "fixed-version: Fixed from version 3.8rc6"
 
-CVE_STATUS[CVE-2013-0290] = "fixed-version: Fixed after version 3.8"
+CVE_STATUS[CVE-2013-0290] = "fixed-version: Fixed from version 3.8"
 
-CVE_STATUS[CVE-2013-0309] = "fixed-version: Fixed after version 3.7rc1"
+CVE_STATUS[CVE-2013-0309] = "fixed-version: Fixed from version 3.7rc1"
 
-CVE_STATUS[CVE-2013-0310] = "fixed-version: Fixed after version 3.5"
+CVE_STATUS[CVE-2013-0310] = "fixed-version: Fixed from version 3.5"
 
-CVE_STATUS[CVE-2013-0311] = "fixed-version: Fixed after version 3.7rc8"
+CVE_STATUS[CVE-2013-0311] = "fixed-version: Fixed from version 3.7rc8"
 
-CVE_STATUS[CVE-2013-0313] = "fixed-version: Fixed after version 3.8rc5"
+CVE_STATUS[CVE-2013-0313] = "fixed-version: Fixed from version 3.8rc5"
 
-CVE_STATUS[CVE-2013-0343] = "fixed-version: Fixed after version 3.11rc7"
+CVE_STATUS[CVE-2013-0343] = "fixed-version: Fixed from version 3.11rc7"
 
-CVE_STATUS[CVE-2013-0349] = "fixed-version: Fixed after version 3.8rc6"
+CVE_STATUS[CVE-2013-0349] = "fixed-version: Fixed from version 3.8rc6"
 
-CVE_STATUS[CVE-2013-0871] = "fixed-version: Fixed after version 3.8rc5"
+CVE_STATUS[CVE-2013-0871] = "fixed-version: Fixed from version 3.8rc5"
 
-CVE_STATUS[CVE-2013-0913] = "fixed-version: Fixed after version 3.9rc4"
+CVE_STATUS[CVE-2013-0913] = "fixed-version: Fixed from version 3.9rc4"
 
-CVE_STATUS[CVE-2013-0914] = "fixed-version: Fixed after version 3.9rc3"
+CVE_STATUS[CVE-2013-0914] = "fixed-version: Fixed from version 3.9rc3"
 
-CVE_STATUS[CVE-2013-1059] = "fixed-version: Fixed after version 3.11rc1"
+CVE_STATUS[CVE-2013-1059] = "fixed-version: Fixed from version 3.11rc1"
 
-CVE_STATUS[CVE-2013-1763] = "fixed-version: Fixed after version 3.9rc1"
+CVE_STATUS[CVE-2013-1763] = "fixed-version: Fixed from version 3.9rc1"
 
-CVE_STATUS[CVE-2013-1767] = "fixed-version: Fixed after version 3.9rc1"
+CVE_STATUS[CVE-2013-1767] = "fixed-version: Fixed from version 3.9rc1"
 
-CVE_STATUS[CVE-2013-1772] = "fixed-version: Fixed after version 3.5rc1"
+CVE_STATUS[CVE-2013-1772] = "fixed-version: Fixed from version 3.5rc1"
 
-CVE_STATUS[CVE-2013-1773] = "fixed-version: Fixed after version 3.3rc1"
+CVE_STATUS[CVE-2013-1773] = "fixed-version: Fixed from version 3.3rc1"
 
-CVE_STATUS[CVE-2013-1774] = "fixed-version: Fixed after version 3.8rc5"
+CVE_STATUS[CVE-2013-1774] = "fixed-version: Fixed from version 3.8rc5"
 
-CVE_STATUS[CVE-2013-1792] = "fixed-version: Fixed after version 3.9rc3"
+CVE_STATUS[CVE-2013-1792] = "fixed-version: Fixed from version 3.9rc3"
 
-CVE_STATUS[CVE-2013-1796] = "fixed-version: Fixed after version 3.9rc4"
+CVE_STATUS[CVE-2013-1796] = "fixed-version: Fixed from version 3.9rc4"
 
-CVE_STATUS[CVE-2013-1797] = "fixed-version: Fixed after version 3.9rc4"
+CVE_STATUS[CVE-2013-1797] = "fixed-version: Fixed from version 3.9rc4"
 
-CVE_STATUS[CVE-2013-1798] = "fixed-version: Fixed after version 3.9rc4"
+CVE_STATUS[CVE-2013-1798] = "fixed-version: Fixed from version 3.9rc4"
 
-CVE_STATUS[CVE-2013-1819] = "fixed-version: Fixed after version 3.8rc6"
+CVE_STATUS[CVE-2013-1819] = "fixed-version: Fixed from version 3.8rc6"
 
-CVE_STATUS[CVE-2013-1826] = "fixed-version: Fixed after version 3.6rc7"
+CVE_STATUS[CVE-2013-1826] = "fixed-version: Fixed from version 3.6rc7"
 
-CVE_STATUS[CVE-2013-1827] = "fixed-version: Fixed after version 3.6rc3"
+CVE_STATUS[CVE-2013-1827] = "fixed-version: Fixed from version 3.6rc3"
 
-CVE_STATUS[CVE-2013-1828] = "fixed-version: Fixed after version 3.9rc2"
+CVE_STATUS[CVE-2013-1828] = "fixed-version: Fixed from version 3.9rc2"
 
-CVE_STATUS[CVE-2013-1848] = "fixed-version: Fixed after version 3.9rc3"
+CVE_STATUS[CVE-2013-1848] = "fixed-version: Fixed from version 3.9rc3"
 
-CVE_STATUS[CVE-2013-1858] = "fixed-version: Fixed after version 3.9rc3"
+CVE_STATUS[CVE-2013-1858] = "fixed-version: Fixed from version 3.9rc3"
 
-CVE_STATUS[CVE-2013-1860] = "fixed-version: Fixed after version 3.9rc3"
+CVE_STATUS[CVE-2013-1860] = "fixed-version: Fixed from version 3.9rc3"
 
-CVE_STATUS[CVE-2013-1928] = "fixed-version: Fixed after version 3.7rc3"
+CVE_STATUS[CVE-2013-1928] = "fixed-version: Fixed from version 3.7rc3"
 
-CVE_STATUS[CVE-2013-1929] = "fixed-version: Fixed after version 3.9rc6"
+CVE_STATUS[CVE-2013-1929] = "fixed-version: Fixed from version 3.9rc6"
 
 # Skipping CVE-2013-1935, no affected_versions
 
-CVE_STATUS[CVE-2013-1943] = "fixed-version: Fixed after version 3.0rc1"
+CVE_STATUS[CVE-2013-1943] = "fixed-version: Fixed from version 3.0rc1"
 
-CVE_STATUS[CVE-2013-1956] = "fixed-version: Fixed after version 3.9rc5"
+CVE_STATUS[CVE-2013-1956] = "fixed-version: Fixed from version 3.9rc5"
 
-CVE_STATUS[CVE-2013-1957] = "fixed-version: Fixed after version 3.9rc5"
+CVE_STATUS[CVE-2013-1957] = "fixed-version: Fixed from version 3.9rc5"
 
-CVE_STATUS[CVE-2013-1958] = "fixed-version: Fixed after version 3.9rc5"
+CVE_STATUS[CVE-2013-1958] = "fixed-version: Fixed from version 3.9rc5"
 
-CVE_STATUS[CVE-2013-1959] = "fixed-version: Fixed after version 3.9rc7"
+CVE_STATUS[CVE-2013-1959] = "fixed-version: Fixed from version 3.9rc7"
 
-CVE_STATUS[CVE-2013-1979] = "fixed-version: Fixed after version 3.9rc8"
+CVE_STATUS[CVE-2013-1979] = "fixed-version: Fixed from version 3.9rc8"
 
-CVE_STATUS[CVE-2013-2015] = "fixed-version: Fixed after version 3.8rc2"
+CVE_STATUS[CVE-2013-2015] = "fixed-version: Fixed from version 3.8rc2"
 
-CVE_STATUS[CVE-2013-2017] = "fixed-version: Fixed after version 2.6.34"
+CVE_STATUS[CVE-2013-2017] = "fixed-version: Fixed from version 2.6.34"
 
-CVE_STATUS[CVE-2013-2058] = "fixed-version: Fixed after version 3.8rc4"
+CVE_STATUS[CVE-2013-2058] = "fixed-version: Fixed from version 3.8rc4"
 
-CVE_STATUS[CVE-2013-2094] = "fixed-version: Fixed after version 3.9rc8"
+CVE_STATUS[CVE-2013-2094] = "fixed-version: Fixed from version 3.9rc8"
 
-CVE_STATUS[CVE-2013-2128] = "fixed-version: Fixed after version 2.6.34rc4"
+CVE_STATUS[CVE-2013-2128] = "fixed-version: Fixed from version 2.6.34rc4"
 
-CVE_STATUS[CVE-2013-2140] = "fixed-version: Fixed after version 3.11rc3"
+CVE_STATUS[CVE-2013-2140] = "fixed-version: Fixed from version 3.11rc3"
 
-CVE_STATUS[CVE-2013-2141] = "fixed-version: Fixed after version 3.9rc8"
+CVE_STATUS[CVE-2013-2141] = "fixed-version: Fixed from version 3.9rc8"
 
-CVE_STATUS[CVE-2013-2146] = "fixed-version: Fixed after version 3.9rc8"
+CVE_STATUS[CVE-2013-2146] = "fixed-version: Fixed from version 3.9rc8"
 
-CVE_STATUS[CVE-2013-2147] = "fixed-version: Fixed after version 3.12rc3"
+CVE_STATUS[CVE-2013-2147] = "fixed-version: Fixed from version 3.12rc3"
 
-CVE_STATUS[CVE-2013-2148] = "fixed-version: Fixed after version 3.11rc1"
+CVE_STATUS[CVE-2013-2148] = "fixed-version: Fixed from version 3.11rc1"
 
-CVE_STATUS[CVE-2013-2164] = "fixed-version: Fixed after version 3.11rc1"
+CVE_STATUS[CVE-2013-2164] = "fixed-version: Fixed from version 3.11rc1"
 
 # Skipping CVE-2013-2188, no affected_versions
 
-CVE_STATUS[CVE-2013-2206] = "fixed-version: Fixed after version 3.9rc4"
+CVE_STATUS[CVE-2013-2206] = "fixed-version: Fixed from version 3.9rc4"
 
 # Skipping CVE-2013-2224, no affected_versions
 
-CVE_STATUS[CVE-2013-2232] = "fixed-version: Fixed after version 3.10"
+CVE_STATUS[CVE-2013-2232] = "fixed-version: Fixed from version 3.10"
 
-CVE_STATUS[CVE-2013-2234] = "fixed-version: Fixed after version 3.10"
+CVE_STATUS[CVE-2013-2234] = "fixed-version: Fixed from version 3.10"
 
-CVE_STATUS[CVE-2013-2237] = "fixed-version: Fixed after version 3.9rc6"
+CVE_STATUS[CVE-2013-2237] = "fixed-version: Fixed from version 3.9rc6"
 
 # Skipping CVE-2013-2239, no affected_versions
 
-CVE_STATUS[CVE-2013-2546] = "fixed-version: Fixed after version 3.9rc1"
+CVE_STATUS[CVE-2013-2546] = "fixed-version: Fixed from version 3.9rc1"
 
-CVE_STATUS[CVE-2013-2547] = "fixed-version: Fixed after version 3.9rc1"
+CVE_STATUS[CVE-2013-2547] = "fixed-version: Fixed from version 3.9rc1"
 
-CVE_STATUS[CVE-2013-2548] = "fixed-version: Fixed after version 3.9rc1"
+CVE_STATUS[CVE-2013-2548] = "fixed-version: Fixed from version 3.9rc1"
 
-CVE_STATUS[CVE-2013-2596] = "fixed-version: Fixed after version 3.9rc8"
+CVE_STATUS[CVE-2013-2596] = "fixed-version: Fixed from version 3.9rc8"
 
-CVE_STATUS[CVE-2013-2634] = "fixed-version: Fixed after version 3.9rc3"
+CVE_STATUS[CVE-2013-2634] = "fixed-version: Fixed from version 3.9rc3"
 
-CVE_STATUS[CVE-2013-2635] = "fixed-version: Fixed after version 3.9rc3"
+CVE_STATUS[CVE-2013-2635] = "fixed-version: Fixed from version 3.9rc3"
 
-CVE_STATUS[CVE-2013-2636] = "fixed-version: Fixed after version 3.9rc3"
+CVE_STATUS[CVE-2013-2636] = "fixed-version: Fixed from version 3.9rc3"
 
-CVE_STATUS[CVE-2013-2850] = "fixed-version: Fixed after version 3.10rc4"
+CVE_STATUS[CVE-2013-2850] = "fixed-version: Fixed from version 3.10rc4"
 
-CVE_STATUS[CVE-2013-2851] = "fixed-version: Fixed after version 3.11rc1"
+CVE_STATUS[CVE-2013-2851] = "fixed-version: Fixed from version 3.11rc1"
 
-CVE_STATUS[CVE-2013-2852] = "fixed-version: Fixed after version 3.10rc6"
+CVE_STATUS[CVE-2013-2852] = "fixed-version: Fixed from version 3.10rc6"
 
-CVE_STATUS[CVE-2013-2888] = "fixed-version: Fixed after version 3.12rc1"
+CVE_STATUS[CVE-2013-2888] = "fixed-version: Fixed from version 3.12rc1"
 
-CVE_STATUS[CVE-2013-2889] = "fixed-version: Fixed after version 3.12rc2"
+CVE_STATUS[CVE-2013-2889] = "fixed-version: Fixed from version 3.12rc2"
 
-CVE_STATUS[CVE-2013-2890] = "fixed-version: Fixed after version 3.12rc2"
+CVE_STATUS[CVE-2013-2890] = "fixed-version: Fixed from version 3.12rc2"
 
-CVE_STATUS[CVE-2013-2891] = "fixed-version: Fixed after version 3.12rc2"
+CVE_STATUS[CVE-2013-2891] = "fixed-version: Fixed from version 3.12rc2"
 
-CVE_STATUS[CVE-2013-2892] = "fixed-version: Fixed after version 3.12rc1"
+CVE_STATUS[CVE-2013-2892] = "fixed-version: Fixed from version 3.12rc1"
 
-CVE_STATUS[CVE-2013-2893] = "fixed-version: Fixed after version 3.12rc2"
+CVE_STATUS[CVE-2013-2893] = "fixed-version: Fixed from version 3.12rc2"
 
-CVE_STATUS[CVE-2013-2894] = "fixed-version: Fixed after version 3.12rc2"
+CVE_STATUS[CVE-2013-2894] = "fixed-version: Fixed from version 3.12rc2"
 
-CVE_STATUS[CVE-2013-2895] = "fixed-version: Fixed after version 3.12rc2"
+CVE_STATUS[CVE-2013-2895] = "fixed-version: Fixed from version 3.12rc2"
 
-CVE_STATUS[CVE-2013-2896] = "fixed-version: Fixed after version 3.12rc1"
+CVE_STATUS[CVE-2013-2896] = "fixed-version: Fixed from version 3.12rc1"
 
-CVE_STATUS[CVE-2013-2897] = "fixed-version: Fixed after version 3.12rc2"
+CVE_STATUS[CVE-2013-2897] = "fixed-version: Fixed from version 3.12rc2"
 
-CVE_STATUS[CVE-2013-2898] = "fixed-version: Fixed after version 3.12rc1"
+CVE_STATUS[CVE-2013-2898] = "fixed-version: Fixed from version 3.12rc1"
 
-CVE_STATUS[CVE-2013-2899] = "fixed-version: Fixed after version 3.12rc1"
+CVE_STATUS[CVE-2013-2899] = "fixed-version: Fixed from version 3.12rc1"
 
-CVE_STATUS[CVE-2013-2929] = "fixed-version: Fixed after version 3.13rc1"
+CVE_STATUS[CVE-2013-2929] = "fixed-version: Fixed from version 3.13rc1"
 
-CVE_STATUS[CVE-2013-2930] = "fixed-version: Fixed after version 3.13rc1"
+CVE_STATUS[CVE-2013-2930] = "fixed-version: Fixed from version 3.13rc1"
 
-CVE_STATUS[CVE-2013-3076] = "fixed-version: Fixed after version 3.9"
+CVE_STATUS[CVE-2013-3076] = "fixed-version: Fixed from version 3.9"
 
-CVE_STATUS[CVE-2013-3222] = "fixed-version: Fixed after version 3.9rc7"
+CVE_STATUS[CVE-2013-3222] = "fixed-version: Fixed from version 3.9rc7"
 
-CVE_STATUS[CVE-2013-3223] = "fixed-version: Fixed after version 3.9rc7"
+CVE_STATUS[CVE-2013-3223] = "fixed-version: Fixed from version 3.9rc7"
 
-CVE_STATUS[CVE-2013-3224] = "fixed-version: Fixed after version 3.9rc7"
+CVE_STATUS[CVE-2013-3224] = "fixed-version: Fixed from version 3.9rc7"
 
-CVE_STATUS[CVE-2013-3225] = "fixed-version: Fixed after version 3.9rc7"
+CVE_STATUS[CVE-2013-3225] = "fixed-version: Fixed from version 3.9rc7"
 
-CVE_STATUS[CVE-2013-3226] = "fixed-version: Fixed after version 3.9rc7"
+CVE_STATUS[CVE-2013-3226] = "fixed-version: Fixed from version 3.9rc7"
 
-CVE_STATUS[CVE-2013-3227] = "fixed-version: Fixed after version 3.9rc7"
+CVE_STATUS[CVE-2013-3227] = "fixed-version: Fixed from version 3.9rc7"
 
-CVE_STATUS[CVE-2013-3228] = "fixed-version: Fixed after version 3.9rc7"
+CVE_STATUS[CVE-2013-3228] = "fixed-version: Fixed from version 3.9rc7"
 
-CVE_STATUS[CVE-2013-3229] = "fixed-version: Fixed after version 3.9rc7"
+CVE_STATUS[CVE-2013-3229] = "fixed-version: Fixed from version 3.9rc7"
 
-CVE_STATUS[CVE-2013-3230] = "fixed-version: Fixed after version 3.9rc7"
+CVE_STATUS[CVE-2013-3230] = "fixed-version: Fixed from version 3.9rc7"
 
-CVE_STATUS[CVE-2013-3231] = "fixed-version: Fixed after version 3.9rc7"
+CVE_STATUS[CVE-2013-3231] = "fixed-version: Fixed from version 3.9rc7"
 
-CVE_STATUS[CVE-2013-3232] = "fixed-version: Fixed after version 3.9rc7"
+CVE_STATUS[CVE-2013-3232] = "fixed-version: Fixed from version 3.9rc7"
 
-CVE_STATUS[CVE-2013-3233] = "fixed-version: Fixed after version 3.9rc7"
+CVE_STATUS[CVE-2013-3233] = "fixed-version: Fixed from version 3.9rc7"
 
-CVE_STATUS[CVE-2013-3234] = "fixed-version: Fixed after version 3.9rc7"
+CVE_STATUS[CVE-2013-3234] = "fixed-version: Fixed from version 3.9rc7"
 
-CVE_STATUS[CVE-2013-3235] = "fixed-version: Fixed after version 3.9rc7"
+CVE_STATUS[CVE-2013-3235] = "fixed-version: Fixed from version 3.9rc7"
 
-CVE_STATUS[CVE-2013-3236] = "fixed-version: Fixed after version 3.9rc7"
+CVE_STATUS[CVE-2013-3236] = "fixed-version: Fixed from version 3.9rc7"
 
-CVE_STATUS[CVE-2013-3237] = "fixed-version: Fixed after version 3.9rc7"
+CVE_STATUS[CVE-2013-3237] = "fixed-version: Fixed from version 3.9rc7"
 
-CVE_STATUS[CVE-2013-3301] = "fixed-version: Fixed after version 3.9rc7"
+CVE_STATUS[CVE-2013-3301] = "fixed-version: Fixed from version 3.9rc7"
 
-CVE_STATUS[CVE-2013-3302] = "fixed-version: Fixed after version 3.8rc3"
+CVE_STATUS[CVE-2013-3302] = "fixed-version: Fixed from version 3.8rc3"
 
-CVE_STATUS[CVE-2013-4125] = "fixed-version: Fixed after version 3.11rc1"
+CVE_STATUS[CVE-2013-4125] = "fixed-version: Fixed from version 3.11rc1"
 
-CVE_STATUS[CVE-2013-4127] = "fixed-version: Fixed after version 3.11rc1"
+CVE_STATUS[CVE-2013-4127] = "fixed-version: Fixed from version 3.11rc1"
 
-CVE_STATUS[CVE-2013-4129] = "fixed-version: Fixed after version 3.11rc1"
+CVE_STATUS[CVE-2013-4129] = "fixed-version: Fixed from version 3.11rc1"
 
-CVE_STATUS[CVE-2013-4162] = "fixed-version: Fixed after version 3.11rc1"
+CVE_STATUS[CVE-2013-4162] = "fixed-version: Fixed from version 3.11rc1"
 
-CVE_STATUS[CVE-2013-4163] = "fixed-version: Fixed after version 3.11rc1"
+CVE_STATUS[CVE-2013-4163] = "fixed-version: Fixed from version 3.11rc1"
 
-CVE_STATUS[CVE-2013-4205] = "fixed-version: Fixed after version 3.11rc5"
+CVE_STATUS[CVE-2013-4205] = "fixed-version: Fixed from version 3.11rc5"
 
-CVE_STATUS[CVE-2013-4220] = "fixed-version: Fixed after version 3.10rc4"
+CVE_STATUS[CVE-2013-4220] = "fixed-version: Fixed from version 3.10rc4"
 
-CVE_STATUS[CVE-2013-4247] = "fixed-version: Fixed after version 3.10rc5"
+CVE_STATUS[CVE-2013-4247] = "fixed-version: Fixed from version 3.10rc5"
 
-CVE_STATUS[CVE-2013-4254] = "fixed-version: Fixed after version 3.11rc6"
+CVE_STATUS[CVE-2013-4254] = "fixed-version: Fixed from version 3.11rc6"
 
-CVE_STATUS[CVE-2013-4270] = "fixed-version: Fixed after version 3.12rc4"
+CVE_STATUS[CVE-2013-4270] = "fixed-version: Fixed from version 3.12rc4"
 
-CVE_STATUS[CVE-2013-4299] = "fixed-version: Fixed after version 3.12rc6"
+CVE_STATUS[CVE-2013-4299] = "fixed-version: Fixed from version 3.12rc6"
 
-CVE_STATUS[CVE-2013-4300] = "fixed-version: Fixed after version 3.11"
+CVE_STATUS[CVE-2013-4300] = "fixed-version: Fixed from version 3.11"
 
-CVE_STATUS[CVE-2013-4312] = "fixed-version: Fixed after version 4.5rc1"
+CVE_STATUS[CVE-2013-4312] = "fixed-version: Fixed from version 4.5rc1"
 
-CVE_STATUS[CVE-2013-4343] = "fixed-version: Fixed after version 3.12rc2"
+CVE_STATUS[CVE-2013-4343] = "fixed-version: Fixed from version 3.12rc2"
 
-CVE_STATUS[CVE-2013-4345] = "fixed-version: Fixed after version 3.13rc2"
+CVE_STATUS[CVE-2013-4345] = "fixed-version: Fixed from version 3.13rc2"
 
-CVE_STATUS[CVE-2013-4348] = "fixed-version: Fixed after version 3.13rc1"
+CVE_STATUS[CVE-2013-4348] = "fixed-version: Fixed from version 3.13rc1"
 
-CVE_STATUS[CVE-2013-4350] = "fixed-version: Fixed after version 3.12rc2"
+CVE_STATUS[CVE-2013-4350] = "fixed-version: Fixed from version 3.12rc2"
 
-CVE_STATUS[CVE-2013-4387] = "fixed-version: Fixed after version 3.12rc4"
+CVE_STATUS[CVE-2013-4387] = "fixed-version: Fixed from version 3.12rc4"
 
-CVE_STATUS[CVE-2013-4470] = "fixed-version: Fixed after version 3.12rc7"
+CVE_STATUS[CVE-2013-4470] = "fixed-version: Fixed from version 3.12rc7"
 
-CVE_STATUS[CVE-2013-4483] = "fixed-version: Fixed after version 3.10rc1"
+CVE_STATUS[CVE-2013-4483] = "fixed-version: Fixed from version 3.10rc1"
 
-CVE_STATUS[CVE-2013-4511] = "fixed-version: Fixed after version 3.12"
+CVE_STATUS[CVE-2013-4511] = "fixed-version: Fixed from version 3.12"
 
-CVE_STATUS[CVE-2013-4512] = "fixed-version: Fixed after version 3.12"
+CVE_STATUS[CVE-2013-4512] = "fixed-version: Fixed from version 3.12"
 
-CVE_STATUS[CVE-2013-4513] = "fixed-version: Fixed after version 3.12"
+CVE_STATUS[CVE-2013-4513] = "fixed-version: Fixed from version 3.12"
 
-CVE_STATUS[CVE-2013-4514] = "fixed-version: Fixed after version 3.12"
+CVE_STATUS[CVE-2013-4514] = "fixed-version: Fixed from version 3.12"
 
-CVE_STATUS[CVE-2013-4515] = "fixed-version: Fixed after version 3.12"
+CVE_STATUS[CVE-2013-4515] = "fixed-version: Fixed from version 3.12"
 
-CVE_STATUS[CVE-2013-4516] = "fixed-version: Fixed after version 3.12"
+CVE_STATUS[CVE-2013-4516] = "fixed-version: Fixed from version 3.12"
 
-CVE_STATUS[CVE-2013-4563] = "fixed-version: Fixed after version 3.13rc1"
+CVE_STATUS[CVE-2013-4563] = "fixed-version: Fixed from version 3.13rc1"
 
-CVE_STATUS[CVE-2013-4579] = "fixed-version: Fixed after version 3.13rc7"
+CVE_STATUS[CVE-2013-4579] = "fixed-version: Fixed from version 3.13rc7"
 
-CVE_STATUS[CVE-2013-4587] = "fixed-version: Fixed after version 3.13rc4"
+CVE_STATUS[CVE-2013-4587] = "fixed-version: Fixed from version 3.13rc4"
 
-CVE_STATUS[CVE-2013-4588] = "fixed-version: Fixed after version 2.6.33rc4"
+CVE_STATUS[CVE-2013-4588] = "fixed-version: Fixed from version 2.6.33rc4"
 
-CVE_STATUS[CVE-2013-4591] = "fixed-version: Fixed after version 3.8rc1"
+CVE_STATUS[CVE-2013-4591] = "fixed-version: Fixed from version 3.8rc1"
 
-CVE_STATUS[CVE-2013-4592] = "fixed-version: Fixed after version 3.7rc1"
+CVE_STATUS[CVE-2013-4592] = "fixed-version: Fixed from version 3.7rc1"
 
 # Skipping CVE-2013-4737, no affected_versions
 
@@ -455,345 +464,345 @@
 
 # Skipping CVE-2013-4739, no affected_versions
 
-CVE_STATUS[CVE-2013-5634] = "fixed-version: Fixed after version 3.10rc5"
+CVE_STATUS[CVE-2013-5634] = "fixed-version: Fixed from version 3.10rc5"
 
-CVE_STATUS[CVE-2013-6282] = "fixed-version: Fixed after version 3.6rc6"
+CVE_STATUS[CVE-2013-6282] = "fixed-version: Fixed from version 3.6rc6"
 
-CVE_STATUS[CVE-2013-6367] = "fixed-version: Fixed after version 3.13rc4"
+CVE_STATUS[CVE-2013-6367] = "fixed-version: Fixed from version 3.13rc4"
 
-CVE_STATUS[CVE-2013-6368] = "fixed-version: Fixed after version 3.13rc4"
+CVE_STATUS[CVE-2013-6368] = "fixed-version: Fixed from version 3.13rc4"
 
-CVE_STATUS[CVE-2013-6376] = "fixed-version: Fixed after version 3.13rc4"
+CVE_STATUS[CVE-2013-6376] = "fixed-version: Fixed from version 3.13rc4"
 
-CVE_STATUS[CVE-2013-6378] = "fixed-version: Fixed after version 3.13rc1"
+CVE_STATUS[CVE-2013-6378] = "fixed-version: Fixed from version 3.13rc1"
 
-CVE_STATUS[CVE-2013-6380] = "fixed-version: Fixed after version 3.13rc1"
+CVE_STATUS[CVE-2013-6380] = "fixed-version: Fixed from version 3.13rc1"
 
-CVE_STATUS[CVE-2013-6381] = "fixed-version: Fixed after version 3.13rc1"
+CVE_STATUS[CVE-2013-6381] = "fixed-version: Fixed from version 3.13rc1"
 
-CVE_STATUS[CVE-2013-6382] = "fixed-version: Fixed after version 3.13rc4"
+CVE_STATUS[CVE-2013-6382] = "fixed-version: Fixed from version 3.13rc4"
 
-CVE_STATUS[CVE-2013-6383] = "fixed-version: Fixed after version 3.12"
+CVE_STATUS[CVE-2013-6383] = "fixed-version: Fixed from version 3.12"
 
 # Skipping CVE-2013-6392, no affected_versions
 
-CVE_STATUS[CVE-2013-6431] = "fixed-version: Fixed after version 3.12rc1"
+CVE_STATUS[CVE-2013-6431] = "fixed-version: Fixed from version 3.12rc1"
 
-CVE_STATUS[CVE-2013-6432] = "fixed-version: Fixed after version 3.13rc1"
+CVE_STATUS[CVE-2013-6432] = "fixed-version: Fixed from version 3.13rc1"
 
-CVE_STATUS[CVE-2013-6885] = "fixed-version: Fixed after version 3.14rc1"
+CVE_STATUS[CVE-2013-6885] = "fixed-version: Fixed from version 3.14rc1"
 
-CVE_STATUS[CVE-2013-7026] = "fixed-version: Fixed after version 3.13rc1"
+CVE_STATUS[CVE-2013-7026] = "fixed-version: Fixed from version 3.13rc1"
 
-CVE_STATUS[CVE-2013-7027] = "fixed-version: Fixed after version 3.12rc7"
+CVE_STATUS[CVE-2013-7027] = "fixed-version: Fixed from version 3.12rc7"
 
-CVE_STATUS[CVE-2013-7263] = "fixed-version: Fixed after version 3.13rc1"
+CVE_STATUS[CVE-2013-7263] = "fixed-version: Fixed from version 3.13rc1"
 
-CVE_STATUS[CVE-2013-7264] = "fixed-version: Fixed after version 3.13rc1"
+CVE_STATUS[CVE-2013-7264] = "fixed-version: Fixed from version 3.13rc1"
 
-CVE_STATUS[CVE-2013-7265] = "fixed-version: Fixed after version 3.13rc1"
+CVE_STATUS[CVE-2013-7265] = "fixed-version: Fixed from version 3.13rc1"
 
-CVE_STATUS[CVE-2013-7266] = "fixed-version: Fixed after version 3.13rc1"
+CVE_STATUS[CVE-2013-7266] = "fixed-version: Fixed from version 3.13rc1"
 
-CVE_STATUS[CVE-2013-7267] = "fixed-version: Fixed after version 3.13rc1"
+CVE_STATUS[CVE-2013-7267] = "fixed-version: Fixed from version 3.13rc1"
 
-CVE_STATUS[CVE-2013-7268] = "fixed-version: Fixed after version 3.13rc1"
+CVE_STATUS[CVE-2013-7268] = "fixed-version: Fixed from version 3.13rc1"
 
-CVE_STATUS[CVE-2013-7269] = "fixed-version: Fixed after version 3.13rc1"
+CVE_STATUS[CVE-2013-7269] = "fixed-version: Fixed from version 3.13rc1"
 
-CVE_STATUS[CVE-2013-7270] = "fixed-version: Fixed after version 3.13rc1"
+CVE_STATUS[CVE-2013-7270] = "fixed-version: Fixed from version 3.13rc1"
 
-CVE_STATUS[CVE-2013-7271] = "fixed-version: Fixed after version 3.13rc1"
+CVE_STATUS[CVE-2013-7271] = "fixed-version: Fixed from version 3.13rc1"
 
-CVE_STATUS[CVE-2013-7281] = "fixed-version: Fixed after version 3.13rc1"
+CVE_STATUS[CVE-2013-7281] = "fixed-version: Fixed from version 3.13rc1"
 
-CVE_STATUS[CVE-2013-7339] = "fixed-version: Fixed after version 3.13rc7"
+CVE_STATUS[CVE-2013-7339] = "fixed-version: Fixed from version 3.13rc7"
 
-CVE_STATUS[CVE-2013-7348] = "fixed-version: Fixed after version 3.13rc1"
+CVE_STATUS[CVE-2013-7348] = "fixed-version: Fixed from version 3.13rc1"
 
-CVE_STATUS[CVE-2013-7421] = "fixed-version: Fixed after version 3.19rc1"
+CVE_STATUS[CVE-2013-7421] = "fixed-version: Fixed from version 3.19rc1"
 
 # CVE-2013-7445 has no known resolution
 
-CVE_STATUS[CVE-2013-7446] = "fixed-version: Fixed after version 4.4rc4"
+CVE_STATUS[CVE-2013-7446] = "fixed-version: Fixed from version 4.4rc4"
 
-CVE_STATUS[CVE-2013-7470] = "fixed-version: Fixed after version 3.12rc7"
+CVE_STATUS[CVE-2013-7470] = "fixed-version: Fixed from version 3.12rc7"
 
-CVE_STATUS[CVE-2014-0038] = "fixed-version: Fixed after version 3.14rc1"
+CVE_STATUS[CVE-2014-0038] = "fixed-version: Fixed from version 3.14rc1"
 
-CVE_STATUS[CVE-2014-0049] = "fixed-version: Fixed after version 3.14rc5"
+CVE_STATUS[CVE-2014-0049] = "fixed-version: Fixed from version 3.14rc5"
 
-CVE_STATUS[CVE-2014-0055] = "fixed-version: Fixed after version 3.14"
+CVE_STATUS[CVE-2014-0055] = "fixed-version: Fixed from version 3.14"
 
-CVE_STATUS[CVE-2014-0069] = "fixed-version: Fixed after version 3.14rc4"
+CVE_STATUS[CVE-2014-0069] = "fixed-version: Fixed from version 3.14rc4"
 
-CVE_STATUS[CVE-2014-0077] = "fixed-version: Fixed after version 3.14"
+CVE_STATUS[CVE-2014-0077] = "fixed-version: Fixed from version 3.14"
 
-CVE_STATUS[CVE-2014-0100] = "fixed-version: Fixed after version 3.14rc7"
+CVE_STATUS[CVE-2014-0100] = "fixed-version: Fixed from version 3.14rc7"
 
-CVE_STATUS[CVE-2014-0101] = "fixed-version: Fixed after version 3.14rc6"
+CVE_STATUS[CVE-2014-0101] = "fixed-version: Fixed from version 3.14rc6"
 
-CVE_STATUS[CVE-2014-0102] = "fixed-version: Fixed after version 3.14rc6"
+CVE_STATUS[CVE-2014-0102] = "fixed-version: Fixed from version 3.14rc6"
 
-CVE_STATUS[CVE-2014-0131] = "fixed-version: Fixed after version 3.14rc7"
+CVE_STATUS[CVE-2014-0131] = "fixed-version: Fixed from version 3.14rc7"
 
-CVE_STATUS[CVE-2014-0155] = "fixed-version: Fixed after version 3.15rc2"
+CVE_STATUS[CVE-2014-0155] = "fixed-version: Fixed from version 3.15rc2"
 
-CVE_STATUS[CVE-2014-0181] = "fixed-version: Fixed after version 3.15rc5"
+CVE_STATUS[CVE-2014-0181] = "fixed-version: Fixed from version 3.15rc5"
 
-CVE_STATUS[CVE-2014-0196] = "fixed-version: Fixed after version 3.15rc5"
+CVE_STATUS[CVE-2014-0196] = "fixed-version: Fixed from version 3.15rc5"
 
-CVE_STATUS[CVE-2014-0203] = "fixed-version: Fixed after version 2.6.33rc5"
+CVE_STATUS[CVE-2014-0203] = "fixed-version: Fixed from version 2.6.33rc5"
 
-CVE_STATUS[CVE-2014-0205] = "fixed-version: Fixed after version 2.6.37rc1"
+CVE_STATUS[CVE-2014-0205] = "fixed-version: Fixed from version 2.6.37rc1"
 
-CVE_STATUS[CVE-2014-0206] = "fixed-version: Fixed after version 3.16rc3"
+CVE_STATUS[CVE-2014-0206] = "fixed-version: Fixed from version 3.16rc3"
 
 # Skipping CVE-2014-0972, no affected_versions
 
-CVE_STATUS[CVE-2014-1438] = "fixed-version: Fixed after version 3.13"
+CVE_STATUS[CVE-2014-1438] = "fixed-version: Fixed from version 3.13"
 
-CVE_STATUS[CVE-2014-1444] = "fixed-version: Fixed after version 3.12rc7"
+CVE_STATUS[CVE-2014-1444] = "fixed-version: Fixed from version 3.12rc7"
 
-CVE_STATUS[CVE-2014-1445] = "fixed-version: Fixed after version 3.12rc7"
+CVE_STATUS[CVE-2014-1445] = "fixed-version: Fixed from version 3.12rc7"
 
-CVE_STATUS[CVE-2014-1446] = "fixed-version: Fixed after version 3.13rc7"
+CVE_STATUS[CVE-2014-1446] = "fixed-version: Fixed from version 3.13rc7"
 
-CVE_STATUS[CVE-2014-1690] = "fixed-version: Fixed after version 3.13rc8"
+CVE_STATUS[CVE-2014-1690] = "fixed-version: Fixed from version 3.13rc8"
 
-CVE_STATUS[CVE-2014-1737] = "fixed-version: Fixed after version 3.15rc5"
+CVE_STATUS[CVE-2014-1737] = "fixed-version: Fixed from version 3.15rc5"
 
-CVE_STATUS[CVE-2014-1738] = "fixed-version: Fixed after version 3.15rc5"
+CVE_STATUS[CVE-2014-1738] = "fixed-version: Fixed from version 3.15rc5"
 
-CVE_STATUS[CVE-2014-1739] = "fixed-version: Fixed after version 3.15rc6"
+CVE_STATUS[CVE-2014-1739] = "fixed-version: Fixed from version 3.15rc6"
 
-CVE_STATUS[CVE-2014-1874] = "fixed-version: Fixed after version 3.14rc2"
+CVE_STATUS[CVE-2014-1874] = "fixed-version: Fixed from version 3.14rc2"
 
-CVE_STATUS[CVE-2014-2038] = "fixed-version: Fixed after version 3.14rc1"
+CVE_STATUS[CVE-2014-2038] = "fixed-version: Fixed from version 3.14rc1"
 
-CVE_STATUS[CVE-2014-2039] = "fixed-version: Fixed after version 3.14rc3"
+CVE_STATUS[CVE-2014-2039] = "fixed-version: Fixed from version 3.14rc3"
 
-CVE_STATUS[CVE-2014-2309] = "fixed-version: Fixed after version 3.14rc7"
+CVE_STATUS[CVE-2014-2309] = "fixed-version: Fixed from version 3.14rc7"
 
-CVE_STATUS[CVE-2014-2523] = "fixed-version: Fixed after version 3.14rc1"
+CVE_STATUS[CVE-2014-2523] = "fixed-version: Fixed from version 3.14rc1"
 
-CVE_STATUS[CVE-2014-2568] = "fixed-version: Fixed after version 3.14"
+CVE_STATUS[CVE-2014-2568] = "fixed-version: Fixed from version 3.14"
 
-CVE_STATUS[CVE-2014-2580] = "fixed-version: Fixed after version 3.15rc1"
+CVE_STATUS[CVE-2014-2580] = "fixed-version: Fixed from version 3.15rc1"
 
-CVE_STATUS[CVE-2014-2672] = "fixed-version: Fixed after version 3.14rc6"
+CVE_STATUS[CVE-2014-2672] = "fixed-version: Fixed from version 3.14rc6"
 
-CVE_STATUS[CVE-2014-2673] = "fixed-version: Fixed after version 3.14rc6"
+CVE_STATUS[CVE-2014-2673] = "fixed-version: Fixed from version 3.14rc6"
 
-CVE_STATUS[CVE-2014-2678] = "fixed-version: Fixed after version 3.15rc1"
+CVE_STATUS[CVE-2014-2678] = "fixed-version: Fixed from version 3.15rc1"
 
-CVE_STATUS[CVE-2014-2706] = "fixed-version: Fixed after version 3.14rc6"
+CVE_STATUS[CVE-2014-2706] = "fixed-version: Fixed from version 3.14rc6"
 
-CVE_STATUS[CVE-2014-2739] = "fixed-version: Fixed after version 3.15rc1"
+CVE_STATUS[CVE-2014-2739] = "fixed-version: Fixed from version 3.15rc1"
 
-CVE_STATUS[CVE-2014-2851] = "fixed-version: Fixed after version 3.15rc2"
+CVE_STATUS[CVE-2014-2851] = "fixed-version: Fixed from version 3.15rc2"
 
-CVE_STATUS[CVE-2014-2889] = "fixed-version: Fixed after version 3.2rc7"
+CVE_STATUS[CVE-2014-2889] = "fixed-version: Fixed from version 3.2rc7"
 
-CVE_STATUS[CVE-2014-3122] = "fixed-version: Fixed after version 3.15rc1"
+CVE_STATUS[CVE-2014-3122] = "fixed-version: Fixed from version 3.15rc1"
 
-CVE_STATUS[CVE-2014-3144] = "fixed-version: Fixed after version 3.15rc2"
+CVE_STATUS[CVE-2014-3144] = "fixed-version: Fixed from version 3.15rc2"
 
-CVE_STATUS[CVE-2014-3145] = "fixed-version: Fixed after version 3.15rc2"
+CVE_STATUS[CVE-2014-3145] = "fixed-version: Fixed from version 3.15rc2"
 
-CVE_STATUS[CVE-2014-3153] = "fixed-version: Fixed after version 3.15"
+CVE_STATUS[CVE-2014-3153] = "fixed-version: Fixed from version 3.15"
 
-CVE_STATUS[CVE-2014-3180] = "fixed-version: Fixed after version 3.17rc4"
+CVE_STATUS[CVE-2014-3180] = "fixed-version: Fixed from version 3.17rc4"
 
-CVE_STATUS[CVE-2014-3181] = "fixed-version: Fixed after version 3.17rc3"
+CVE_STATUS[CVE-2014-3181] = "fixed-version: Fixed from version 3.17rc3"
 
-CVE_STATUS[CVE-2014-3182] = "fixed-version: Fixed after version 3.17rc2"
+CVE_STATUS[CVE-2014-3182] = "fixed-version: Fixed from version 3.17rc2"
 
-CVE_STATUS[CVE-2014-3183] = "fixed-version: Fixed after version 3.17rc2"
+CVE_STATUS[CVE-2014-3183] = "fixed-version: Fixed from version 3.17rc2"
 
-CVE_STATUS[CVE-2014-3184] = "fixed-version: Fixed after version 3.17rc2"
+CVE_STATUS[CVE-2014-3184] = "fixed-version: Fixed from version 3.17rc2"
 
-CVE_STATUS[CVE-2014-3185] = "fixed-version: Fixed after version 3.17rc3"
+CVE_STATUS[CVE-2014-3185] = "fixed-version: Fixed from version 3.17rc3"
 
-CVE_STATUS[CVE-2014-3186] = "fixed-version: Fixed after version 3.17rc3"
+CVE_STATUS[CVE-2014-3186] = "fixed-version: Fixed from version 3.17rc3"
 
 # Skipping CVE-2014-3519, no affected_versions
 
-CVE_STATUS[CVE-2014-3534] = "fixed-version: Fixed after version 3.16rc7"
+CVE_STATUS[CVE-2014-3534] = "fixed-version: Fixed from version 3.16rc7"
 
-CVE_STATUS[CVE-2014-3535] = "fixed-version: Fixed after version 2.6.36rc1"
+CVE_STATUS[CVE-2014-3535] = "fixed-version: Fixed from version 2.6.36rc1"
 
-CVE_STATUS[CVE-2014-3601] = "fixed-version: Fixed after version 3.17rc2"
+CVE_STATUS[CVE-2014-3601] = "fixed-version: Fixed from version 3.17rc2"
 
-CVE_STATUS[CVE-2014-3610] = "fixed-version: Fixed after version 3.18rc2"
+CVE_STATUS[CVE-2014-3610] = "fixed-version: Fixed from version 3.18rc2"
 
-CVE_STATUS[CVE-2014-3611] = "fixed-version: Fixed after version 3.18rc2"
+CVE_STATUS[CVE-2014-3611] = "fixed-version: Fixed from version 3.18rc2"
 
-CVE_STATUS[CVE-2014-3631] = "fixed-version: Fixed after version 3.17rc5"
+CVE_STATUS[CVE-2014-3631] = "fixed-version: Fixed from version 3.17rc5"
 
-CVE_STATUS[CVE-2014-3645] = "fixed-version: Fixed after version 3.12rc1"
+CVE_STATUS[CVE-2014-3645] = "fixed-version: Fixed from version 3.12rc1"
 
-CVE_STATUS[CVE-2014-3646] = "fixed-version: Fixed after version 3.18rc2"
+CVE_STATUS[CVE-2014-3646] = "fixed-version: Fixed from version 3.18rc2"
 
-CVE_STATUS[CVE-2014-3647] = "fixed-version: Fixed after version 3.18rc2"
+CVE_STATUS[CVE-2014-3647] = "fixed-version: Fixed from version 3.18rc2"
 
-CVE_STATUS[CVE-2014-3673] = "fixed-version: Fixed after version 3.18rc1"
+CVE_STATUS[CVE-2014-3673] = "fixed-version: Fixed from version 3.18rc1"
 
-CVE_STATUS[CVE-2014-3687] = "fixed-version: Fixed after version 3.18rc1"
+CVE_STATUS[CVE-2014-3687] = "fixed-version: Fixed from version 3.18rc1"
 
-CVE_STATUS[CVE-2014-3688] = "fixed-version: Fixed after version 3.18rc1"
+CVE_STATUS[CVE-2014-3688] = "fixed-version: Fixed from version 3.18rc1"
 
-CVE_STATUS[CVE-2014-3690] = "fixed-version: Fixed after version 3.18rc1"
+CVE_STATUS[CVE-2014-3690] = "fixed-version: Fixed from version 3.18rc1"
 
-CVE_STATUS[CVE-2014-3917] = "fixed-version: Fixed after version 3.16rc1"
+CVE_STATUS[CVE-2014-3917] = "fixed-version: Fixed from version 3.16rc1"
 
-CVE_STATUS[CVE-2014-3940] = "fixed-version: Fixed after version 3.15"
+CVE_STATUS[CVE-2014-3940] = "fixed-version: Fixed from version 3.15"
 
-CVE_STATUS[CVE-2014-4014] = "fixed-version: Fixed after version 3.16rc1"
+CVE_STATUS[CVE-2014-4014] = "fixed-version: Fixed from version 3.16rc1"
 
-CVE_STATUS[CVE-2014-4027] = "fixed-version: Fixed after version 3.14rc1"
+CVE_STATUS[CVE-2014-4027] = "fixed-version: Fixed from version 3.14rc1"
 
-CVE_STATUS[CVE-2014-4157] = "fixed-version: Fixed after version 3.15rc1"
+CVE_STATUS[CVE-2014-4157] = "fixed-version: Fixed from version 3.15rc1"
 
-CVE_STATUS[CVE-2014-4171] = "fixed-version: Fixed after version 3.16rc3"
+CVE_STATUS[CVE-2014-4171] = "fixed-version: Fixed from version 3.16rc3"
 
 # Skipping CVE-2014-4322, no affected_versions
 
 # Skipping CVE-2014-4323, no affected_versions
 
-CVE_STATUS[CVE-2014-4508] = "fixed-version: Fixed after version 3.16rc3"
+CVE_STATUS[CVE-2014-4508] = "fixed-version: Fixed from version 3.16rc3"
 
-CVE_STATUS[CVE-2014-4608] = "fixed-version: Fixed after version 3.18rc1"
+CVE_STATUS[CVE-2014-4608] = "fixed-version: Fixed from version 3.18rc1"
 
-CVE_STATUS[CVE-2014-4611] = "fixed-version: Fixed after version 3.16rc3"
+CVE_STATUS[CVE-2014-4611] = "fixed-version: Fixed from version 3.16rc3"
 
-CVE_STATUS[CVE-2014-4652] = "fixed-version: Fixed after version 3.16rc2"
+CVE_STATUS[CVE-2014-4652] = "fixed-version: Fixed from version 3.16rc2"
 
-CVE_STATUS[CVE-2014-4653] = "fixed-version: Fixed after version 3.16rc2"
+CVE_STATUS[CVE-2014-4653] = "fixed-version: Fixed from version 3.16rc2"
 
-CVE_STATUS[CVE-2014-4654] = "fixed-version: Fixed after version 3.16rc2"
+CVE_STATUS[CVE-2014-4654] = "fixed-version: Fixed from version 3.16rc2"
 
-CVE_STATUS[CVE-2014-4655] = "fixed-version: Fixed after version 3.16rc2"
+CVE_STATUS[CVE-2014-4655] = "fixed-version: Fixed from version 3.16rc2"
 
-CVE_STATUS[CVE-2014-4656] = "fixed-version: Fixed after version 3.16rc2"
+CVE_STATUS[CVE-2014-4656] = "fixed-version: Fixed from version 3.16rc2"
 
-CVE_STATUS[CVE-2014-4667] = "fixed-version: Fixed after version 3.16rc1"
+CVE_STATUS[CVE-2014-4667] = "fixed-version: Fixed from version 3.16rc1"
 
-CVE_STATUS[CVE-2014-4699] = "fixed-version: Fixed after version 3.16rc4"
+CVE_STATUS[CVE-2014-4699] = "fixed-version: Fixed from version 3.16rc4"
 
-CVE_STATUS[CVE-2014-4943] = "fixed-version: Fixed after version 3.16rc6"
+CVE_STATUS[CVE-2014-4943] = "fixed-version: Fixed from version 3.16rc6"
 
-CVE_STATUS[CVE-2014-5045] = "fixed-version: Fixed after version 3.16rc7"
+CVE_STATUS[CVE-2014-5045] = "fixed-version: Fixed from version 3.16rc7"
 
-CVE_STATUS[CVE-2014-5077] = "fixed-version: Fixed after version 3.16"
+CVE_STATUS[CVE-2014-5077] = "fixed-version: Fixed from version 3.16"
 
-CVE_STATUS[CVE-2014-5206] = "fixed-version: Fixed after version 3.17rc1"
+CVE_STATUS[CVE-2014-5206] = "fixed-version: Fixed from version 3.17rc1"
 
-CVE_STATUS[CVE-2014-5207] = "fixed-version: Fixed after version 3.17rc1"
+CVE_STATUS[CVE-2014-5207] = "fixed-version: Fixed from version 3.17rc1"
 
 # Skipping CVE-2014-5332, no affected_versions
 
-CVE_STATUS[CVE-2014-5471] = "fixed-version: Fixed after version 3.17rc2"
+CVE_STATUS[CVE-2014-5471] = "fixed-version: Fixed from version 3.17rc2"
 
-CVE_STATUS[CVE-2014-5472] = "fixed-version: Fixed after version 3.17rc2"
+CVE_STATUS[CVE-2014-5472] = "fixed-version: Fixed from version 3.17rc2"
 
-CVE_STATUS[CVE-2014-6410] = "fixed-version: Fixed after version 3.17rc5"
+CVE_STATUS[CVE-2014-6410] = "fixed-version: Fixed from version 3.17rc5"
 
-CVE_STATUS[CVE-2014-6416] = "fixed-version: Fixed after version 3.17rc5"
+CVE_STATUS[CVE-2014-6416] = "fixed-version: Fixed from version 3.17rc5"
 
-CVE_STATUS[CVE-2014-6417] = "fixed-version: Fixed after version 3.17rc5"
+CVE_STATUS[CVE-2014-6417] = "fixed-version: Fixed from version 3.17rc5"
 
-CVE_STATUS[CVE-2014-6418] = "fixed-version: Fixed after version 3.17rc5"
+CVE_STATUS[CVE-2014-6418] = "fixed-version: Fixed from version 3.17rc5"
 
-CVE_STATUS[CVE-2014-7145] = "fixed-version: Fixed after version 3.17rc2"
+CVE_STATUS[CVE-2014-7145] = "fixed-version: Fixed from version 3.17rc2"
 
 # Skipping CVE-2014-7207, no affected_versions
 
-CVE_STATUS[CVE-2014-7283] = "fixed-version: Fixed after version 3.15rc1"
+CVE_STATUS[CVE-2014-7283] = "fixed-version: Fixed from version 3.15rc1"
 
-CVE_STATUS[CVE-2014-7284] = "fixed-version: Fixed after version 3.15rc7"
+CVE_STATUS[CVE-2014-7284] = "fixed-version: Fixed from version 3.15rc7"
 
-CVE_STATUS[CVE-2014-7822] = "fixed-version: Fixed after version 3.16rc1"
+CVE_STATUS[CVE-2014-7822] = "fixed-version: Fixed from version 3.16rc1"
 
-CVE_STATUS[CVE-2014-7825] = "fixed-version: Fixed after version 3.18rc3"
+CVE_STATUS[CVE-2014-7825] = "fixed-version: Fixed from version 3.18rc3"
 
-CVE_STATUS[CVE-2014-7826] = "fixed-version: Fixed after version 3.18rc3"
+CVE_STATUS[CVE-2014-7826] = "fixed-version: Fixed from version 3.18rc3"
 
-CVE_STATUS[CVE-2014-7841] = "fixed-version: Fixed after version 3.18rc5"
+CVE_STATUS[CVE-2014-7841] = "fixed-version: Fixed from version 3.18rc5"
 
-CVE_STATUS[CVE-2014-7842] = "fixed-version: Fixed after version 3.18rc1"
+CVE_STATUS[CVE-2014-7842] = "fixed-version: Fixed from version 3.18rc1"
 
-CVE_STATUS[CVE-2014-7843] = "fixed-version: Fixed after version 3.18rc5"
+CVE_STATUS[CVE-2014-7843] = "fixed-version: Fixed from version 3.18rc5"
 
-CVE_STATUS[CVE-2014-7970] = "fixed-version: Fixed after version 3.18rc1"
+CVE_STATUS[CVE-2014-7970] = "fixed-version: Fixed from version 3.18rc1"
 
-CVE_STATUS[CVE-2014-7975] = "fixed-version: Fixed after version 3.18rc1"
+CVE_STATUS[CVE-2014-7975] = "fixed-version: Fixed from version 3.18rc1"
 
-CVE_STATUS[CVE-2014-8086] = "fixed-version: Fixed after version 3.18rc3"
+CVE_STATUS[CVE-2014-8086] = "fixed-version: Fixed from version 3.18rc3"
 
-CVE_STATUS[CVE-2014-8133] = "fixed-version: Fixed after version 3.19rc1"
+CVE_STATUS[CVE-2014-8133] = "fixed-version: Fixed from version 3.19rc1"
 
-CVE_STATUS[CVE-2014-8134] = "fixed-version: Fixed after version 3.19rc1"
+CVE_STATUS[CVE-2014-8134] = "fixed-version: Fixed from version 3.19rc1"
 
-CVE_STATUS[CVE-2014-8159] = "fixed-version: Fixed after version 4.0rc7"
+CVE_STATUS[CVE-2014-8159] = "fixed-version: Fixed from version 4.0rc7"
 
-CVE_STATUS[CVE-2014-8160] = "fixed-version: Fixed after version 3.18rc1"
+CVE_STATUS[CVE-2014-8160] = "fixed-version: Fixed from version 3.18rc1"
 
-CVE_STATUS[CVE-2014-8171] = "fixed-version: Fixed after version 3.12rc1"
+CVE_STATUS[CVE-2014-8171] = "fixed-version: Fixed from version 3.12rc1"
 
-CVE_STATUS[CVE-2014-8172] = "fixed-version: Fixed after version 3.13rc1"
+CVE_STATUS[CVE-2014-8172] = "fixed-version: Fixed from version 3.13rc1"
 
-CVE_STATUS[CVE-2014-8173] = "fixed-version: Fixed after version 3.13rc5"
+CVE_STATUS[CVE-2014-8173] = "fixed-version: Fixed from version 3.13rc5"
 
 # Skipping CVE-2014-8181, no affected_versions
 
-CVE_STATUS[CVE-2014-8369] = "fixed-version: Fixed after version 3.18rc2"
+CVE_STATUS[CVE-2014-8369] = "fixed-version: Fixed from version 3.18rc2"
 
-CVE_STATUS[CVE-2014-8480] = "fixed-version: Fixed after version 3.18rc2"
+CVE_STATUS[CVE-2014-8480] = "fixed-version: Fixed from version 3.18rc2"
 
-CVE_STATUS[CVE-2014-8481] = "fixed-version: Fixed after version 3.18rc2"
+CVE_STATUS[CVE-2014-8481] = "fixed-version: Fixed from version 3.18rc2"
 
-CVE_STATUS[CVE-2014-8559] = "fixed-version: Fixed after version 3.19rc1"
+CVE_STATUS[CVE-2014-8559] = "fixed-version: Fixed from version 3.19rc1"
 
-CVE_STATUS[CVE-2014-8709] = "fixed-version: Fixed after version 3.14rc3"
+CVE_STATUS[CVE-2014-8709] = "fixed-version: Fixed from version 3.14rc3"
 
-CVE_STATUS[CVE-2014-8884] = "fixed-version: Fixed after version 3.18rc1"
+CVE_STATUS[CVE-2014-8884] = "fixed-version: Fixed from version 3.18rc1"
 
-CVE_STATUS[CVE-2014-8989] = "fixed-version: Fixed after version 3.19rc1"
+CVE_STATUS[CVE-2014-8989] = "fixed-version: Fixed from version 3.19rc1"
 
-CVE_STATUS[CVE-2014-9090] = "fixed-version: Fixed after version 3.18rc6"
+CVE_STATUS[CVE-2014-9090] = "fixed-version: Fixed from version 3.18rc6"
 
-CVE_STATUS[CVE-2014-9322] = "fixed-version: Fixed after version 3.18rc6"
+CVE_STATUS[CVE-2014-9322] = "fixed-version: Fixed from version 3.18rc6"
 
-CVE_STATUS[CVE-2014-9419] = "fixed-version: Fixed after version 3.19rc1"
+CVE_STATUS[CVE-2014-9419] = "fixed-version: Fixed from version 3.19rc1"
 
-CVE_STATUS[CVE-2014-9420] = "fixed-version: Fixed after version 3.19rc1"
+CVE_STATUS[CVE-2014-9420] = "fixed-version: Fixed from version 3.19rc1"
 
-CVE_STATUS[CVE-2014-9428] = "fixed-version: Fixed after version 3.19rc3"
+CVE_STATUS[CVE-2014-9428] = "fixed-version: Fixed from version 3.19rc3"
 
-CVE_STATUS[CVE-2014-9529] = "fixed-version: Fixed after version 3.19rc4"
+CVE_STATUS[CVE-2014-9529] = "fixed-version: Fixed from version 3.19rc4"
 
-CVE_STATUS[CVE-2014-9584] = "fixed-version: Fixed after version 3.19rc3"
+CVE_STATUS[CVE-2014-9584] = "fixed-version: Fixed from version 3.19rc3"
 
-CVE_STATUS[CVE-2014-9585] = "fixed-version: Fixed after version 3.19rc4"
+CVE_STATUS[CVE-2014-9585] = "fixed-version: Fixed from version 3.19rc4"
 
-CVE_STATUS[CVE-2014-9644] = "fixed-version: Fixed after version 3.19rc1"
+CVE_STATUS[CVE-2014-9644] = "fixed-version: Fixed from version 3.19rc1"
 
-CVE_STATUS[CVE-2014-9683] = "fixed-version: Fixed after version 3.19rc1"
+CVE_STATUS[CVE-2014-9683] = "fixed-version: Fixed from version 3.19rc1"
 
-CVE_STATUS[CVE-2014-9710] = "fixed-version: Fixed after version 3.19rc1"
+CVE_STATUS[CVE-2014-9710] = "fixed-version: Fixed from version 3.19rc1"
 
-CVE_STATUS[CVE-2014-9715] = "fixed-version: Fixed after version 3.15rc1"
+CVE_STATUS[CVE-2014-9715] = "fixed-version: Fixed from version 3.15rc1"
 
-CVE_STATUS[CVE-2014-9717] = "fixed-version: Fixed after version 4.1rc1"
+CVE_STATUS[CVE-2014-9717] = "fixed-version: Fixed from version 4.1rc1"
 
-CVE_STATUS[CVE-2014-9728] = "fixed-version: Fixed after version 3.19rc3"
+CVE_STATUS[CVE-2014-9728] = "fixed-version: Fixed from version 3.19rc3"
 
-CVE_STATUS[CVE-2014-9729] = "fixed-version: Fixed after version 3.19rc3"
+CVE_STATUS[CVE-2014-9729] = "fixed-version: Fixed from version 3.19rc3"
 
-CVE_STATUS[CVE-2014-9730] = "fixed-version: Fixed after version 3.19rc3"
+CVE_STATUS[CVE-2014-9730] = "fixed-version: Fixed from version 3.19rc3"
 
-CVE_STATUS[CVE-2014-9731] = "fixed-version: Fixed after version 3.19rc3"
+CVE_STATUS[CVE-2014-9731] = "fixed-version: Fixed from version 3.19rc3"
 
 # Skipping CVE-2014-9777, no affected_versions
 
@@ -821,7 +830,7 @@
 
 # Skipping CVE-2014-9789, no affected_versions
 
-CVE_STATUS[CVE-2014-9803] = "fixed-version: Fixed after version 3.16rc1"
+CVE_STATUS[CVE-2014-9803] = "fixed-version: Fixed from version 3.16rc1"
 
 # Skipping CVE-2014-9863, no affected_versions
 
@@ -837,7 +846,7 @@
 
 # Skipping CVE-2014-9869, no affected_versions
 
-CVE_STATUS[CVE-2014-9870] = "fixed-version: Fixed after version 3.11rc1"
+CVE_STATUS[CVE-2014-9870] = "fixed-version: Fixed from version 3.11rc1"
 
 # Skipping CVE-2014-9871, no affected_versions
 
@@ -873,7 +882,7 @@
 
 # Skipping CVE-2014-9887, no affected_versions
 
-CVE_STATUS[CVE-2014-9888] = "fixed-version: Fixed after version 3.13rc1"
+CVE_STATUS[CVE-2014-9888] = "fixed-version: Fixed from version 3.13rc1"
 
 # Skipping CVE-2014-9889, no affected_versions
 
@@ -887,7 +896,7 @@
 
 # Skipping CVE-2014-9894, no affected_versions
 
-CVE_STATUS[CVE-2014-9895] = "fixed-version: Fixed after version 3.11rc1"
+CVE_STATUS[CVE-2014-9895] = "fixed-version: Fixed from version 3.11rc1"
 
 # Skipping CVE-2014-9896, no affected_versions
 
@@ -899,217 +908,217 @@
 
 # Skipping CVE-2014-9900, no affected_versions
 
-CVE_STATUS[CVE-2014-9903] = "fixed-version: Fixed after version 3.14rc4"
+CVE_STATUS[CVE-2014-9903] = "fixed-version: Fixed from version 3.14rc4"
 
-CVE_STATUS[CVE-2014-9904] = "fixed-version: Fixed after version 3.17rc1"
+CVE_STATUS[CVE-2014-9904] = "fixed-version: Fixed from version 3.17rc1"
 
-CVE_STATUS[CVE-2014-9914] = "fixed-version: Fixed after version 3.16rc1"
+CVE_STATUS[CVE-2014-9914] = "fixed-version: Fixed from version 3.16rc1"
 
-CVE_STATUS[CVE-2014-9922] = "fixed-version: Fixed after version 3.18rc2"
+CVE_STATUS[CVE-2014-9922] = "fixed-version: Fixed from version 3.18rc2"
 
-CVE_STATUS[CVE-2014-9940] = "fixed-version: Fixed after version 3.19rc1"
+CVE_STATUS[CVE-2014-9940] = "fixed-version: Fixed from version 3.19rc1"
 
-CVE_STATUS[CVE-2015-0239] = "fixed-version: Fixed after version 3.19rc6"
+CVE_STATUS[CVE-2015-0239] = "fixed-version: Fixed from version 3.19rc6"
 
-CVE_STATUS[CVE-2015-0274] = "fixed-version: Fixed after version 3.15rc5"
+CVE_STATUS[CVE-2015-0274] = "fixed-version: Fixed from version 3.15rc5"
 
-CVE_STATUS[CVE-2015-0275] = "fixed-version: Fixed after version 4.1rc1"
+CVE_STATUS[CVE-2015-0275] = "fixed-version: Fixed from version 4.1rc1"
 
 # Skipping CVE-2015-0777, no affected_versions
 
 # Skipping CVE-2015-1328, no affected_versions
 
-CVE_STATUS[CVE-2015-1333] = "fixed-version: Fixed after version 4.2rc5"
+CVE_STATUS[CVE-2015-1333] = "fixed-version: Fixed from version 4.2rc5"
 
-CVE_STATUS[CVE-2015-1339] = "fixed-version: Fixed after version 4.4rc5"
+CVE_STATUS[CVE-2015-1339] = "fixed-version: Fixed from version 4.4rc5"
 
-CVE_STATUS[CVE-2015-1350] = "fixed-version: Fixed after version 4.9rc1"
+CVE_STATUS[CVE-2015-1350] = "fixed-version: Fixed from version 4.9rc1"
 
-CVE_STATUS[CVE-2015-1420] = "fixed-version: Fixed after version 4.1rc7"
+CVE_STATUS[CVE-2015-1420] = "fixed-version: Fixed from version 4.1rc7"
 
-CVE_STATUS[CVE-2015-1421] = "fixed-version: Fixed after version 3.19rc7"
+CVE_STATUS[CVE-2015-1421] = "fixed-version: Fixed from version 3.19rc7"
 
-CVE_STATUS[CVE-2015-1465] = "fixed-version: Fixed after version 3.19rc7"
+CVE_STATUS[CVE-2015-1465] = "fixed-version: Fixed from version 3.19rc7"
 
-CVE_STATUS[CVE-2015-1573] = "fixed-version: Fixed after version 3.19rc5"
+CVE_STATUS[CVE-2015-1573] = "fixed-version: Fixed from version 3.19rc5"
 
-CVE_STATUS[CVE-2015-1593] = "fixed-version: Fixed after version 4.0rc1"
+CVE_STATUS[CVE-2015-1593] = "fixed-version: Fixed from version 4.0rc1"
 
-CVE_STATUS[CVE-2015-1805] = "fixed-version: Fixed after version 3.16rc1"
+CVE_STATUS[CVE-2015-1805] = "fixed-version: Fixed from version 3.16rc1"
 
-CVE_STATUS[CVE-2015-2041] = "fixed-version: Fixed after version 3.19rc7"
+CVE_STATUS[CVE-2015-2041] = "fixed-version: Fixed from version 3.19rc7"
 
-CVE_STATUS[CVE-2015-2042] = "fixed-version: Fixed after version 3.19"
+CVE_STATUS[CVE-2015-2042] = "fixed-version: Fixed from version 3.19"
 
-CVE_STATUS[CVE-2015-2150] = "fixed-version: Fixed after version 4.0rc4"
+CVE_STATUS[CVE-2015-2150] = "fixed-version: Fixed from version 4.0rc4"
 
-CVE_STATUS[CVE-2015-2666] = "fixed-version: Fixed after version 4.0rc1"
+CVE_STATUS[CVE-2015-2666] = "fixed-version: Fixed from version 4.0rc1"
 
-CVE_STATUS[CVE-2015-2672] = "fixed-version: Fixed after version 4.0rc3"
+CVE_STATUS[CVE-2015-2672] = "fixed-version: Fixed from version 4.0rc3"
 
-CVE_STATUS[CVE-2015-2686] = "fixed-version: Fixed after version 4.0rc6"
+CVE_STATUS[CVE-2015-2686] = "fixed-version: Fixed from version 4.0rc6"
 
-CVE_STATUS[CVE-2015-2830] = "fixed-version: Fixed after version 4.0rc3"
+CVE_STATUS[CVE-2015-2830] = "fixed-version: Fixed from version 4.0rc3"
 
 # CVE-2015-2877 has no known resolution
 
-CVE_STATUS[CVE-2015-2922] = "fixed-version: Fixed after version 4.0rc7"
+CVE_STATUS[CVE-2015-2922] = "fixed-version: Fixed from version 4.0rc7"
 
-CVE_STATUS[CVE-2015-2925] = "fixed-version: Fixed after version 4.3rc1"
+CVE_STATUS[CVE-2015-2925] = "fixed-version: Fixed from version 4.3rc1"
 
-CVE_STATUS[CVE-2015-3212] = "fixed-version: Fixed after version 4.2rc1"
+CVE_STATUS[CVE-2015-3212] = "fixed-version: Fixed from version 4.2rc1"
 
-CVE_STATUS[CVE-2015-3214] = "fixed-version: Fixed after version 2.6.33rc8"
+CVE_STATUS[CVE-2015-3214] = "fixed-version: Fixed from version 2.6.33rc8"
 
-CVE_STATUS[CVE-2015-3288] = "fixed-version: Fixed after version 4.2rc2"
+CVE_STATUS[CVE-2015-3288] = "fixed-version: Fixed from version 4.2rc2"
 
-CVE_STATUS[CVE-2015-3290] = "fixed-version: Fixed after version 4.2rc3"
+CVE_STATUS[CVE-2015-3290] = "fixed-version: Fixed from version 4.2rc3"
 
-CVE_STATUS[CVE-2015-3291] = "fixed-version: Fixed after version 4.2rc3"
+CVE_STATUS[CVE-2015-3291] = "fixed-version: Fixed from version 4.2rc3"
 
-CVE_STATUS[CVE-2015-3331] = "fixed-version: Fixed after version 4.0rc5"
+CVE_STATUS[CVE-2015-3331] = "fixed-version: Fixed from version 4.0rc5"
 
 # Skipping CVE-2015-3332, no affected_versions
 
-CVE_STATUS[CVE-2015-3339] = "fixed-version: Fixed after version 4.1rc1"
+CVE_STATUS[CVE-2015-3339] = "fixed-version: Fixed from version 4.1rc1"
 
-CVE_STATUS[CVE-2015-3636] = "fixed-version: Fixed after version 4.1rc2"
+CVE_STATUS[CVE-2015-3636] = "fixed-version: Fixed from version 4.1rc2"
 
-CVE_STATUS[CVE-2015-4001] = "fixed-version: Fixed after version 4.1rc7"
+CVE_STATUS[CVE-2015-4001] = "fixed-version: Fixed from version 4.1rc7"
 
-CVE_STATUS[CVE-2015-4002] = "fixed-version: Fixed after version 4.1rc7"
+CVE_STATUS[CVE-2015-4002] = "fixed-version: Fixed from version 4.1rc7"
 
-CVE_STATUS[CVE-2015-4003] = "fixed-version: Fixed after version 4.1rc7"
+CVE_STATUS[CVE-2015-4003] = "fixed-version: Fixed from version 4.1rc7"
 
-CVE_STATUS[CVE-2015-4004] = "fixed-version: Fixed after version 4.3rc1"
+CVE_STATUS[CVE-2015-4004] = "fixed-version: Fixed from version 4.3rc1"
 
-CVE_STATUS[CVE-2015-4036] = "fixed-version: Fixed after version 4.0rc1"
+CVE_STATUS[CVE-2015-4036] = "fixed-version: Fixed from version 4.0rc1"
 
-CVE_STATUS[CVE-2015-4167] = "fixed-version: Fixed after version 4.0rc1"
+CVE_STATUS[CVE-2015-4167] = "fixed-version: Fixed from version 4.0rc1"
 
-CVE_STATUS[CVE-2015-4170] = "fixed-version: Fixed after version 3.13rc5"
+CVE_STATUS[CVE-2015-4170] = "fixed-version: Fixed from version 3.13rc5"
 
-CVE_STATUS[CVE-2015-4176] = "fixed-version: Fixed after version 4.1rc1"
+CVE_STATUS[CVE-2015-4176] = "fixed-version: Fixed from version 4.1rc1"
 
-CVE_STATUS[CVE-2015-4177] = "fixed-version: Fixed after version 4.1rc1"
+CVE_STATUS[CVE-2015-4177] = "fixed-version: Fixed from version 4.1rc1"
 
-CVE_STATUS[CVE-2015-4178] = "fixed-version: Fixed after version 4.1rc1"
+CVE_STATUS[CVE-2015-4178] = "fixed-version: Fixed from version 4.1rc1"
 
-CVE_STATUS[CVE-2015-4692] = "fixed-version: Fixed after version 4.2rc1"
+CVE_STATUS[CVE-2015-4692] = "fixed-version: Fixed from version 4.2rc1"
 
-CVE_STATUS[CVE-2015-4700] = "fixed-version: Fixed after version 4.1rc6"
+CVE_STATUS[CVE-2015-4700] = "fixed-version: Fixed from version 4.1rc6"
 
-CVE_STATUS[CVE-2015-5156] = "fixed-version: Fixed after version 4.2rc7"
+CVE_STATUS[CVE-2015-5156] = "fixed-version: Fixed from version 4.2rc7"
 
-CVE_STATUS[CVE-2015-5157] = "fixed-version: Fixed after version 4.2rc3"
+CVE_STATUS[CVE-2015-5157] = "fixed-version: Fixed from version 4.2rc3"
 
-CVE_STATUS[CVE-2015-5257] = "fixed-version: Fixed after version 4.3rc3"
+CVE_STATUS[CVE-2015-5257] = "fixed-version: Fixed from version 4.3rc3"
 
-CVE_STATUS[CVE-2015-5283] = "fixed-version: Fixed after version 4.3rc3"
+CVE_STATUS[CVE-2015-5283] = "fixed-version: Fixed from version 4.3rc3"
 
-CVE_STATUS[CVE-2015-5307] = "fixed-version: Fixed after version 4.4rc1"
+CVE_STATUS[CVE-2015-5307] = "fixed-version: Fixed from version 4.4rc1"
 
-CVE_STATUS[CVE-2015-5327] = "fixed-version: Fixed after version 4.4rc1"
+CVE_STATUS[CVE-2015-5327] = "fixed-version: Fixed from version 4.4rc1"
 
-CVE_STATUS[CVE-2015-5364] = "fixed-version: Fixed after version 4.1rc7"
+CVE_STATUS[CVE-2015-5364] = "fixed-version: Fixed from version 4.1rc7"
 
-CVE_STATUS[CVE-2015-5366] = "fixed-version: Fixed after version 4.1rc7"
+CVE_STATUS[CVE-2015-5366] = "fixed-version: Fixed from version 4.1rc7"
 
-CVE_STATUS[CVE-2015-5697] = "fixed-version: Fixed after version 4.2rc6"
+CVE_STATUS[CVE-2015-5697] = "fixed-version: Fixed from version 4.2rc6"
 
-CVE_STATUS[CVE-2015-5706] = "fixed-version: Fixed after version 4.1rc3"
+CVE_STATUS[CVE-2015-5706] = "fixed-version: Fixed from version 4.1rc3"
 
-CVE_STATUS[CVE-2015-5707] = "fixed-version: Fixed after version 4.1rc1"
+CVE_STATUS[CVE-2015-5707] = "fixed-version: Fixed from version 4.1rc1"
 
-CVE_STATUS[CVE-2015-6252] = "fixed-version: Fixed after version 4.2rc5"
+CVE_STATUS[CVE-2015-6252] = "fixed-version: Fixed from version 4.2rc5"
 
-CVE_STATUS[CVE-2015-6526] = "fixed-version: Fixed after version 4.1rc1"
+CVE_STATUS[CVE-2015-6526] = "fixed-version: Fixed from version 4.1rc1"
 
 # CVE-2015-6619 has no known resolution
 
 # CVE-2015-6646 has no known resolution
 
-CVE_STATUS[CVE-2015-6937] = "fixed-version: Fixed after version 4.3rc1"
+CVE_STATUS[CVE-2015-6937] = "fixed-version: Fixed from version 4.3rc1"
 
 # Skipping CVE-2015-7312, no affected_versions
 
-CVE_STATUS[CVE-2015-7509] = "fixed-version: Fixed after version 3.7rc1"
+CVE_STATUS[CVE-2015-7509] = "fixed-version: Fixed from version 3.7rc1"
 
-CVE_STATUS[CVE-2015-7513] = "fixed-version: Fixed after version 4.4rc7"
+CVE_STATUS[CVE-2015-7513] = "fixed-version: Fixed from version 4.4rc7"
 
-CVE_STATUS[CVE-2015-7515] = "fixed-version: Fixed after version 4.4rc6"
+CVE_STATUS[CVE-2015-7515] = "fixed-version: Fixed from version 4.4rc6"
 
-CVE_STATUS[CVE-2015-7550] = "fixed-version: Fixed after version 4.4rc8"
+CVE_STATUS[CVE-2015-7550] = "fixed-version: Fixed from version 4.4rc8"
 
 # Skipping CVE-2015-7553, no affected_versions
 
-CVE_STATUS[CVE-2015-7566] = "fixed-version: Fixed after version 4.5rc2"
+CVE_STATUS[CVE-2015-7566] = "fixed-version: Fixed from version 4.5rc2"
 
-CVE_STATUS[CVE-2015-7613] = "fixed-version: Fixed after version 4.3rc4"
+CVE_STATUS[CVE-2015-7613] = "fixed-version: Fixed from version 4.3rc4"
 
-CVE_STATUS[CVE-2015-7799] = "fixed-version: Fixed after version 4.4rc1"
+CVE_STATUS[CVE-2015-7799] = "fixed-version: Fixed from version 4.4rc1"
 
-CVE_STATUS[CVE-2015-7833] = "fixed-version: Fixed after version 4.6rc6"
+CVE_STATUS[CVE-2015-7833] = "fixed-version: Fixed from version 4.6rc6"
 
 # Skipping CVE-2015-7837, no affected_versions
 
-CVE_STATUS[CVE-2015-7872] = "fixed-version: Fixed after version 4.3rc7"
+CVE_STATUS[CVE-2015-7872] = "fixed-version: Fixed from version 4.3rc7"
 
-CVE_STATUS[CVE-2015-7884] = "fixed-version: Fixed after version 4.4rc1"
+CVE_STATUS[CVE-2015-7884] = "fixed-version: Fixed from version 4.4rc1"
 
-CVE_STATUS[CVE-2015-7885] = "fixed-version: Fixed after version 4.4rc1"
+CVE_STATUS[CVE-2015-7885] = "fixed-version: Fixed from version 4.4rc1"
 
-CVE_STATUS[CVE-2015-7990] = "fixed-version: Fixed after version 4.4rc4"
+CVE_STATUS[CVE-2015-7990] = "fixed-version: Fixed from version 4.4rc4"
 
 # Skipping CVE-2015-8019, no affected_versions
 
-CVE_STATUS[CVE-2015-8104] = "fixed-version: Fixed after version 4.4rc1"
+CVE_STATUS[CVE-2015-8104] = "fixed-version: Fixed from version 4.4rc1"
 
-CVE_STATUS[CVE-2015-8215] = "fixed-version: Fixed after version 4.0rc3"
+CVE_STATUS[CVE-2015-8215] = "fixed-version: Fixed from version 4.0rc3"
 
-CVE_STATUS[CVE-2015-8324] = "fixed-version: Fixed after version 2.6.34rc1"
+CVE_STATUS[CVE-2015-8324] = "fixed-version: Fixed from version 2.6.34rc1"
 
-CVE_STATUS[CVE-2015-8374] = "fixed-version: Fixed after version 4.4rc1"
+CVE_STATUS[CVE-2015-8374] = "fixed-version: Fixed from version 4.4rc1"
 
-CVE_STATUS[CVE-2015-8539] = "fixed-version: Fixed after version 4.4rc3"
+CVE_STATUS[CVE-2015-8539] = "fixed-version: Fixed from version 4.4rc3"
 
-CVE_STATUS[CVE-2015-8543] = "fixed-version: Fixed after version 4.4rc6"
+CVE_STATUS[CVE-2015-8543] = "fixed-version: Fixed from version 4.4rc6"
 
-CVE_STATUS[CVE-2015-8550] = "fixed-version: Fixed after version 4.4rc6"
+CVE_STATUS[CVE-2015-8550] = "fixed-version: Fixed from version 4.4rc6"
 
-CVE_STATUS[CVE-2015-8551] = "fixed-version: Fixed after version 4.4rc6"
+CVE_STATUS[CVE-2015-8551] = "fixed-version: Fixed from version 4.4rc6"
 
-CVE_STATUS[CVE-2015-8552] = "fixed-version: Fixed after version 4.4rc6"
+CVE_STATUS[CVE-2015-8552] = "fixed-version: Fixed from version 4.4rc6"
 
-CVE_STATUS[CVE-2015-8553] = "fixed-version: Fixed after version 4.4rc6"
+CVE_STATUS[CVE-2015-8553] = "fixed-version: Fixed from version 4.4rc6"
 
-CVE_STATUS[CVE-2015-8569] = "fixed-version: Fixed after version 4.4rc6"
+CVE_STATUS[CVE-2015-8569] = "fixed-version: Fixed from version 4.4rc6"
 
-CVE_STATUS[CVE-2015-8575] = "fixed-version: Fixed after version 4.4rc6"
+CVE_STATUS[CVE-2015-8575] = "fixed-version: Fixed from version 4.4rc6"
 
-CVE_STATUS[CVE-2015-8660] = "fixed-version: Fixed after version 4.4rc4"
+CVE_STATUS[CVE-2015-8660] = "fixed-version: Fixed from version 4.4rc4"
 
-CVE_STATUS[CVE-2015-8709] = "fixed-version: Fixed after version 4.10rc1"
+CVE_STATUS[CVE-2015-8709] = "fixed-version: Fixed from version 4.10rc1"
 
-CVE_STATUS[CVE-2015-8746] = "fixed-version: Fixed after version 4.3rc1"
+CVE_STATUS[CVE-2015-8746] = "fixed-version: Fixed from version 4.3rc1"
 
-CVE_STATUS[CVE-2015-8767] = "fixed-version: Fixed after version 4.3rc4"
+CVE_STATUS[CVE-2015-8767] = "fixed-version: Fixed from version 4.3rc4"
 
-CVE_STATUS[CVE-2015-8785] = "fixed-version: Fixed after version 4.4rc5"
+CVE_STATUS[CVE-2015-8785] = "fixed-version: Fixed from version 4.4rc5"
 
-CVE_STATUS[CVE-2015-8787] = "fixed-version: Fixed after version 4.4rc1"
+CVE_STATUS[CVE-2015-8787] = "fixed-version: Fixed from version 4.4rc1"
 
-CVE_STATUS[CVE-2015-8812] = "fixed-version: Fixed after version 4.5rc1"
+CVE_STATUS[CVE-2015-8812] = "fixed-version: Fixed from version 4.5rc1"
 
-CVE_STATUS[CVE-2015-8816] = "fixed-version: Fixed after version 4.4rc6"
+CVE_STATUS[CVE-2015-8816] = "fixed-version: Fixed from version 4.4rc6"
 
-CVE_STATUS[CVE-2015-8830] = "fixed-version: Fixed after version 4.1rc1"
+CVE_STATUS[CVE-2015-8830] = "fixed-version: Fixed from version 4.1rc1"
 
-CVE_STATUS[CVE-2015-8839] = "fixed-version: Fixed after version 4.5rc1"
+CVE_STATUS[CVE-2015-8839] = "fixed-version: Fixed from version 4.5rc1"
 
-CVE_STATUS[CVE-2015-8844] = "fixed-version: Fixed after version 4.4rc3"
+CVE_STATUS[CVE-2015-8844] = "fixed-version: Fixed from version 4.4rc3"
 
-CVE_STATUS[CVE-2015-8845] = "fixed-version: Fixed after version 4.4rc3"
+CVE_STATUS[CVE-2015-8845] = "fixed-version: Fixed from version 4.4rc3"
 
 # Skipping CVE-2015-8937, no affected_versions
 
@@ -1127,165 +1136,165 @@
 
 # Skipping CVE-2015-8944, no affected_versions
 
-CVE_STATUS[CVE-2015-8950] = "fixed-version: Fixed after version 4.1rc2"
+CVE_STATUS[CVE-2015-8950] = "fixed-version: Fixed from version 4.1rc2"
 
-CVE_STATUS[CVE-2015-8952] = "fixed-version: Fixed after version 4.6rc1"
+CVE_STATUS[CVE-2015-8952] = "fixed-version: Fixed from version 4.6rc1"
 
-CVE_STATUS[CVE-2015-8953] = "fixed-version: Fixed after version 4.3"
+CVE_STATUS[CVE-2015-8953] = "fixed-version: Fixed from version 4.3"
 
-CVE_STATUS[CVE-2015-8955] = "fixed-version: Fixed after version 4.1rc1"
+CVE_STATUS[CVE-2015-8955] = "fixed-version: Fixed from version 4.1rc1"
 
-CVE_STATUS[CVE-2015-8956] = "fixed-version: Fixed after version 4.2rc1"
+CVE_STATUS[CVE-2015-8956] = "fixed-version: Fixed from version 4.2rc1"
 
-CVE_STATUS[CVE-2015-8961] = "fixed-version: Fixed after version 4.4rc1"
+CVE_STATUS[CVE-2015-8961] = "fixed-version: Fixed from version 4.4rc1"
 
-CVE_STATUS[CVE-2015-8962] = "fixed-version: Fixed after version 4.4rc1"
+CVE_STATUS[CVE-2015-8962] = "fixed-version: Fixed from version 4.4rc1"
 
-CVE_STATUS[CVE-2015-8963] = "fixed-version: Fixed after version 4.4"
+CVE_STATUS[CVE-2015-8963] = "fixed-version: Fixed from version 4.4"
 
-CVE_STATUS[CVE-2015-8964] = "fixed-version: Fixed after version 4.5rc1"
+CVE_STATUS[CVE-2015-8964] = "fixed-version: Fixed from version 4.5rc1"
 
-CVE_STATUS[CVE-2015-8966] = "fixed-version: Fixed after version 4.4rc8"
+CVE_STATUS[CVE-2015-8966] = "fixed-version: Fixed from version 4.4rc8"
 
-CVE_STATUS[CVE-2015-8967] = "fixed-version: Fixed after version 4.0rc1"
+CVE_STATUS[CVE-2015-8967] = "fixed-version: Fixed from version 4.0rc1"
 
-CVE_STATUS[CVE-2015-8970] = "fixed-version: Fixed after version 4.5rc1"
+CVE_STATUS[CVE-2015-8970] = "fixed-version: Fixed from version 4.5rc1"
 
-CVE_STATUS[CVE-2015-9004] = "fixed-version: Fixed after version 3.19rc7"
+CVE_STATUS[CVE-2015-9004] = "fixed-version: Fixed from version 3.19rc7"
 
-CVE_STATUS[CVE-2015-9016] = "fixed-version: Fixed after version 4.3rc1"
+CVE_STATUS[CVE-2015-9016] = "fixed-version: Fixed from version 4.3rc1"
 
-CVE_STATUS[CVE-2015-9289] = "fixed-version: Fixed after version 4.2rc1"
+CVE_STATUS[CVE-2015-9289] = "fixed-version: Fixed from version 4.2rc1"
 
-CVE_STATUS[CVE-2016-0617] = "fixed-version: Fixed after version 4.5rc1"
+CVE_STATUS[CVE-2016-0617] = "fixed-version: Fixed from version 4.5rc1"
 
-CVE_STATUS[CVE-2016-0723] = "fixed-version: Fixed after version 4.5rc2"
+CVE_STATUS[CVE-2016-0723] = "fixed-version: Fixed from version 4.5rc2"
 
-CVE_STATUS[CVE-2016-0728] = "fixed-version: Fixed after version 4.5rc1"
+CVE_STATUS[CVE-2016-0728] = "fixed-version: Fixed from version 4.5rc1"
 
-CVE_STATUS[CVE-2016-0758] = "fixed-version: Fixed after version 4.6"
+CVE_STATUS[CVE-2016-0758] = "fixed-version: Fixed from version 4.6"
 
 # Skipping CVE-2016-0774, no affected_versions
 
-CVE_STATUS[CVE-2016-0821] = "fixed-version: Fixed after version 4.3rc1"
+CVE_STATUS[CVE-2016-0821] = "fixed-version: Fixed from version 4.3rc1"
 
-CVE_STATUS[CVE-2016-0823] = "fixed-version: Fixed after version 4.0rc5"
+CVE_STATUS[CVE-2016-0823] = "fixed-version: Fixed from version 4.0rc5"
 
-CVE_STATUS[CVE-2016-10044] = "fixed-version: Fixed after version 4.8rc7"
+CVE_STATUS[CVE-2016-10044] = "fixed-version: Fixed from version 4.8rc7"
 
-CVE_STATUS[CVE-2016-10088] = "fixed-version: Fixed after version 4.10rc1"
+CVE_STATUS[CVE-2016-10088] = "fixed-version: Fixed from version 4.10rc1"
 
-CVE_STATUS[CVE-2016-10147] = "fixed-version: Fixed after version 4.9"
+CVE_STATUS[CVE-2016-10147] = "fixed-version: Fixed from version 4.9"
 
-CVE_STATUS[CVE-2016-10150] = "fixed-version: Fixed after version 4.9rc8"
+CVE_STATUS[CVE-2016-10150] = "fixed-version: Fixed from version 4.9rc8"
 
-CVE_STATUS[CVE-2016-10153] = "fixed-version: Fixed after version 4.10rc1"
+CVE_STATUS[CVE-2016-10153] = "fixed-version: Fixed from version 4.10rc1"
 
-CVE_STATUS[CVE-2016-10154] = "fixed-version: Fixed after version 4.10rc1"
+CVE_STATUS[CVE-2016-10154] = "fixed-version: Fixed from version 4.10rc1"
 
-CVE_STATUS[CVE-2016-10200] = "fixed-version: Fixed after version 4.9rc7"
+CVE_STATUS[CVE-2016-10200] = "fixed-version: Fixed from version 4.9rc7"
 
-CVE_STATUS[CVE-2016-10208] = "fixed-version: Fixed after version 4.10rc1"
+CVE_STATUS[CVE-2016-10208] = "fixed-version: Fixed from version 4.10rc1"
 
-CVE_STATUS[CVE-2016-10229] = "fixed-version: Fixed after version 4.5rc1"
+CVE_STATUS[CVE-2016-10229] = "fixed-version: Fixed from version 4.5rc1"
 
-CVE_STATUS[CVE-2016-10318] = "fixed-version: Fixed after version 4.8rc6"
+CVE_STATUS[CVE-2016-10318] = "fixed-version: Fixed from version 4.8rc6"
 
-CVE_STATUS[CVE-2016-10723] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2016-10723] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2016-10741] = "fixed-version: Fixed after version 4.10rc1"
+CVE_STATUS[CVE-2016-10741] = "fixed-version: Fixed from version 4.10rc1"
 
-CVE_STATUS[CVE-2016-10764] = "fixed-version: Fixed after version 4.10rc1"
+CVE_STATUS[CVE-2016-10764] = "fixed-version: Fixed from version 4.10rc1"
 
-CVE_STATUS[CVE-2016-10905] = "fixed-version: Fixed after version 4.8rc1"
+CVE_STATUS[CVE-2016-10905] = "fixed-version: Fixed from version 4.8rc1"
 
-CVE_STATUS[CVE-2016-10906] = "fixed-version: Fixed after version 4.5rc6"
+CVE_STATUS[CVE-2016-10906] = "fixed-version: Fixed from version 4.5rc6"
 
-CVE_STATUS[CVE-2016-10907] = "fixed-version: Fixed after version 4.9rc1"
+CVE_STATUS[CVE-2016-10907] = "fixed-version: Fixed from version 4.9rc1"
 
-CVE_STATUS[CVE-2016-1237] = "fixed-version: Fixed after version 4.7rc5"
+CVE_STATUS[CVE-2016-1237] = "fixed-version: Fixed from version 4.7rc5"
 
-CVE_STATUS[CVE-2016-1575] = "fixed-version: Fixed after version 4.5rc1"
+CVE_STATUS[CVE-2016-1575] = "fixed-version: Fixed from version 4.5rc1"
 
-CVE_STATUS[CVE-2016-1576] = "fixed-version: Fixed after version 4.5rc1"
+CVE_STATUS[CVE-2016-1576] = "fixed-version: Fixed from version 4.5rc1"
 
-CVE_STATUS[CVE-2016-1583] = "fixed-version: Fixed after version 4.7rc3"
+CVE_STATUS[CVE-2016-1583] = "fixed-version: Fixed from version 4.7rc3"
 
-CVE_STATUS[CVE-2016-2053] = "fixed-version: Fixed after version 4.3rc1"
+CVE_STATUS[CVE-2016-2053] = "fixed-version: Fixed from version 4.3rc1"
 
-CVE_STATUS[CVE-2016-2069] = "fixed-version: Fixed after version 4.5rc1"
+CVE_STATUS[CVE-2016-2069] = "fixed-version: Fixed from version 4.5rc1"
 
-CVE_STATUS[CVE-2016-2070] = "fixed-version: Fixed after version 4.4"
+CVE_STATUS[CVE-2016-2070] = "fixed-version: Fixed from version 4.4"
 
-CVE_STATUS[CVE-2016-2085] = "fixed-version: Fixed after version 4.5rc4"
+CVE_STATUS[CVE-2016-2085] = "fixed-version: Fixed from version 4.5rc4"
 
-CVE_STATUS[CVE-2016-2117] = "fixed-version: Fixed after version 4.6rc5"
+CVE_STATUS[CVE-2016-2117] = "fixed-version: Fixed from version 4.6rc5"
 
-CVE_STATUS[CVE-2016-2143] = "fixed-version: Fixed after version 4.5"
+CVE_STATUS[CVE-2016-2143] = "fixed-version: Fixed from version 4.5"
 
-CVE_STATUS[CVE-2016-2184] = "fixed-version: Fixed after version 4.6rc1"
+CVE_STATUS[CVE-2016-2184] = "fixed-version: Fixed from version 4.6rc1"
 
-CVE_STATUS[CVE-2016-2185] = "fixed-version: Fixed after version 4.6rc1"
+CVE_STATUS[CVE-2016-2185] = "fixed-version: Fixed from version 4.6rc1"
 
-CVE_STATUS[CVE-2016-2186] = "fixed-version: Fixed after version 4.6rc1"
+CVE_STATUS[CVE-2016-2186] = "fixed-version: Fixed from version 4.6rc1"
 
-CVE_STATUS[CVE-2016-2187] = "fixed-version: Fixed after version 4.6rc5"
+CVE_STATUS[CVE-2016-2187] = "fixed-version: Fixed from version 4.6rc5"
 
-CVE_STATUS[CVE-2016-2188] = "fixed-version: Fixed after version 4.11rc2"
+CVE_STATUS[CVE-2016-2188] = "fixed-version: Fixed from version 4.11rc2"
 
-CVE_STATUS[CVE-2016-2383] = "fixed-version: Fixed after version 4.5rc4"
+CVE_STATUS[CVE-2016-2383] = "fixed-version: Fixed from version 4.5rc4"
 
-CVE_STATUS[CVE-2016-2384] = "fixed-version: Fixed after version 4.5rc4"
+CVE_STATUS[CVE-2016-2384] = "fixed-version: Fixed from version 4.5rc4"
 
-CVE_STATUS[CVE-2016-2543] = "fixed-version: Fixed after version 4.5rc1"
+CVE_STATUS[CVE-2016-2543] = "fixed-version: Fixed from version 4.5rc1"
 
-CVE_STATUS[CVE-2016-2544] = "fixed-version: Fixed after version 4.5rc1"
+CVE_STATUS[CVE-2016-2544] = "fixed-version: Fixed from version 4.5rc1"
 
-CVE_STATUS[CVE-2016-2545] = "fixed-version: Fixed after version 4.5rc1"
+CVE_STATUS[CVE-2016-2545] = "fixed-version: Fixed from version 4.5rc1"
 
-CVE_STATUS[CVE-2016-2546] = "fixed-version: Fixed after version 4.5rc1"
+CVE_STATUS[CVE-2016-2546] = "fixed-version: Fixed from version 4.5rc1"
 
-CVE_STATUS[CVE-2016-2547] = "fixed-version: Fixed after version 4.5rc1"
+CVE_STATUS[CVE-2016-2547] = "fixed-version: Fixed from version 4.5rc1"
 
-CVE_STATUS[CVE-2016-2548] = "fixed-version: Fixed after version 4.5rc1"
+CVE_STATUS[CVE-2016-2548] = "fixed-version: Fixed from version 4.5rc1"
 
-CVE_STATUS[CVE-2016-2549] = "fixed-version: Fixed after version 4.5rc1"
+CVE_STATUS[CVE-2016-2549] = "fixed-version: Fixed from version 4.5rc1"
 
-CVE_STATUS[CVE-2016-2550] = "fixed-version: Fixed after version 4.5rc4"
+CVE_STATUS[CVE-2016-2550] = "fixed-version: Fixed from version 4.5rc4"
 
-CVE_STATUS[CVE-2016-2782] = "fixed-version: Fixed after version 4.5rc2"
+CVE_STATUS[CVE-2016-2782] = "fixed-version: Fixed from version 4.5rc2"
 
-CVE_STATUS[CVE-2016-2847] = "fixed-version: Fixed after version 4.5rc1"
+CVE_STATUS[CVE-2016-2847] = "fixed-version: Fixed from version 4.5rc1"
 
 # Skipping CVE-2016-2853, no affected_versions
 
 # Skipping CVE-2016-2854, no affected_versions
 
-CVE_STATUS[CVE-2016-3044] = "fixed-version: Fixed after version 4.5"
+CVE_STATUS[CVE-2016-3044] = "fixed-version: Fixed from version 4.5"
 
-CVE_STATUS[CVE-2016-3070] = "fixed-version: Fixed after version 4.4rc1"
+CVE_STATUS[CVE-2016-3070] = "fixed-version: Fixed from version 4.4rc1"
 
-CVE_STATUS[CVE-2016-3134] = "fixed-version: Fixed after version 4.6rc2"
+CVE_STATUS[CVE-2016-3134] = "fixed-version: Fixed from version 4.6rc2"
 
-CVE_STATUS[CVE-2016-3135] = "fixed-version: Fixed after version 4.6rc1"
+CVE_STATUS[CVE-2016-3135] = "fixed-version: Fixed from version 4.6rc1"
 
-CVE_STATUS[CVE-2016-3136] = "fixed-version: Fixed after version 4.6rc3"
+CVE_STATUS[CVE-2016-3136] = "fixed-version: Fixed from version 4.6rc3"
 
-CVE_STATUS[CVE-2016-3137] = "fixed-version: Fixed after version 4.6rc3"
+CVE_STATUS[CVE-2016-3137] = "fixed-version: Fixed from version 4.6rc3"
 
-CVE_STATUS[CVE-2016-3138] = "fixed-version: Fixed after version 4.6rc1"
+CVE_STATUS[CVE-2016-3138] = "fixed-version: Fixed from version 4.6rc1"
 
-CVE_STATUS[CVE-2016-3139] = "fixed-version: Fixed after version 3.17rc1"
+CVE_STATUS[CVE-2016-3139] = "fixed-version: Fixed from version 3.17rc1"
 
-CVE_STATUS[CVE-2016-3140] = "fixed-version: Fixed after version 4.6rc3"
+CVE_STATUS[CVE-2016-3140] = "fixed-version: Fixed from version 4.6rc3"
 
-CVE_STATUS[CVE-2016-3156] = "fixed-version: Fixed after version 4.6rc1"
+CVE_STATUS[CVE-2016-3156] = "fixed-version: Fixed from version 4.6rc1"
 
-CVE_STATUS[CVE-2016-3157] = "fixed-version: Fixed after version 4.6rc1"
+CVE_STATUS[CVE-2016-3157] = "fixed-version: Fixed from version 4.6rc1"
 
-CVE_STATUS[CVE-2016-3672] = "fixed-version: Fixed after version 4.6rc1"
+CVE_STATUS[CVE-2016-3672] = "fixed-version: Fixed from version 4.6rc1"
 
-CVE_STATUS[CVE-2016-3689] = "fixed-version: Fixed after version 4.6rc1"
+CVE_STATUS[CVE-2016-3689] = "fixed-version: Fixed from version 4.6rc1"
 
 # Skipping CVE-2016-3695, no affected_versions
 
@@ -1293,7 +1302,7 @@
 
 # Skipping CVE-2016-3707, no affected_versions
 
-CVE_STATUS[CVE-2016-3713] = "fixed-version: Fixed after version 4.7rc1"
+CVE_STATUS[CVE-2016-3713] = "fixed-version: Fixed from version 4.7rc1"
 
 # CVE-2016-3775 has no known resolution
 
@@ -1301,59 +1310,59 @@
 
 # CVE-2016-3803 has no known resolution
 
-CVE_STATUS[CVE-2016-3841] = "fixed-version: Fixed after version 4.4rc4"
+CVE_STATUS[CVE-2016-3841] = "fixed-version: Fixed from version 4.4rc4"
 
-CVE_STATUS[CVE-2016-3857] = "fixed-version: Fixed after version 4.8rc2"
+CVE_STATUS[CVE-2016-3857] = "fixed-version: Fixed from version 4.8rc2"
 
-CVE_STATUS[CVE-2016-3951] = "fixed-version: Fixed after version 4.5"
+CVE_STATUS[CVE-2016-3951] = "fixed-version: Fixed from version 4.5"
 
-CVE_STATUS[CVE-2016-3955] = "fixed-version: Fixed after version 4.6rc3"
+CVE_STATUS[CVE-2016-3955] = "fixed-version: Fixed from version 4.6rc3"
 
-CVE_STATUS[CVE-2016-3961] = "fixed-version: Fixed after version 4.6rc5"
+CVE_STATUS[CVE-2016-3961] = "fixed-version: Fixed from version 4.6rc5"
 
-CVE_STATUS[CVE-2016-4440] = "fixed-version: Fixed after version 4.7rc1"
+CVE_STATUS[CVE-2016-4440] = "fixed-version: Fixed from version 4.7rc1"
 
-CVE_STATUS[CVE-2016-4470] = "fixed-version: Fixed after version 4.7rc4"
+CVE_STATUS[CVE-2016-4470] = "fixed-version: Fixed from version 4.7rc4"
 
-CVE_STATUS[CVE-2016-4482] = "fixed-version: Fixed after version 4.7rc1"
+CVE_STATUS[CVE-2016-4482] = "fixed-version: Fixed from version 4.7rc1"
 
-CVE_STATUS[CVE-2016-4485] = "fixed-version: Fixed after version 4.6"
+CVE_STATUS[CVE-2016-4485] = "fixed-version: Fixed from version 4.6"
 
-CVE_STATUS[CVE-2016-4486] = "fixed-version: Fixed after version 4.6"
+CVE_STATUS[CVE-2016-4486] = "fixed-version: Fixed from version 4.6"
 
-CVE_STATUS[CVE-2016-4557] = "fixed-version: Fixed after version 4.6rc6"
+CVE_STATUS[CVE-2016-4557] = "fixed-version: Fixed from version 4.6rc6"
 
-CVE_STATUS[CVE-2016-4558] = "fixed-version: Fixed after version 4.6rc7"
+CVE_STATUS[CVE-2016-4558] = "fixed-version: Fixed from version 4.6rc7"
 
-CVE_STATUS[CVE-2016-4565] = "fixed-version: Fixed after version 4.6rc6"
+CVE_STATUS[CVE-2016-4565] = "fixed-version: Fixed from version 4.6rc6"
 
-CVE_STATUS[CVE-2016-4568] = "fixed-version: Fixed after version 4.6rc6"
+CVE_STATUS[CVE-2016-4568] = "fixed-version: Fixed from version 4.6rc6"
 
-CVE_STATUS[CVE-2016-4569] = "fixed-version: Fixed after version 4.7rc1"
+CVE_STATUS[CVE-2016-4569] = "fixed-version: Fixed from version 4.7rc1"
 
-CVE_STATUS[CVE-2016-4578] = "fixed-version: Fixed after version 4.7rc1"
+CVE_STATUS[CVE-2016-4578] = "fixed-version: Fixed from version 4.7rc1"
 
-CVE_STATUS[CVE-2016-4580] = "fixed-version: Fixed after version 4.6"
+CVE_STATUS[CVE-2016-4580] = "fixed-version: Fixed from version 4.6"
 
-CVE_STATUS[CVE-2016-4581] = "fixed-version: Fixed after version 4.6rc7"
+CVE_STATUS[CVE-2016-4581] = "fixed-version: Fixed from version 4.6rc7"
 
-CVE_STATUS[CVE-2016-4794] = "fixed-version: Fixed after version 4.7rc4"
+CVE_STATUS[CVE-2016-4794] = "fixed-version: Fixed from version 4.7rc4"
 
-CVE_STATUS[CVE-2016-4805] = "fixed-version: Fixed after version 4.6rc1"
+CVE_STATUS[CVE-2016-4805] = "fixed-version: Fixed from version 4.6rc1"
 
-CVE_STATUS[CVE-2016-4913] = "fixed-version: Fixed after version 4.6"
+CVE_STATUS[CVE-2016-4913] = "fixed-version: Fixed from version 4.6"
 
-CVE_STATUS[CVE-2016-4951] = "fixed-version: Fixed after version 4.7rc1"
+CVE_STATUS[CVE-2016-4951] = "fixed-version: Fixed from version 4.7rc1"
 
-CVE_STATUS[CVE-2016-4997] = "fixed-version: Fixed after version 4.7rc1"
+CVE_STATUS[CVE-2016-4997] = "fixed-version: Fixed from version 4.7rc1"
 
-CVE_STATUS[CVE-2016-4998] = "fixed-version: Fixed after version 4.7rc1"
+CVE_STATUS[CVE-2016-4998] = "fixed-version: Fixed from version 4.7rc1"
 
-CVE_STATUS[CVE-2016-5195] = "fixed-version: Fixed after version 4.9rc2"
+CVE_STATUS[CVE-2016-5195] = "fixed-version: Fixed from version 4.9rc2"
 
-CVE_STATUS[CVE-2016-5243] = "fixed-version: Fixed after version 4.7rc3"
+CVE_STATUS[CVE-2016-5243] = "fixed-version: Fixed from version 4.7rc3"
 
-CVE_STATUS[CVE-2016-5244] = "fixed-version: Fixed after version 4.7rc3"
+CVE_STATUS[CVE-2016-5244] = "fixed-version: Fixed from version 4.7rc3"
 
 # Skipping CVE-2016-5340, no affected_versions
 
@@ -1363,79 +1372,79 @@
 
 # Skipping CVE-2016-5344, no affected_versions
 
-CVE_STATUS[CVE-2016-5400] = "fixed-version: Fixed after version 4.7"
+CVE_STATUS[CVE-2016-5400] = "fixed-version: Fixed from version 4.7"
 
-CVE_STATUS[CVE-2016-5412] = "fixed-version: Fixed after version 4.8rc1"
+CVE_STATUS[CVE-2016-5412] = "fixed-version: Fixed from version 4.8rc1"
 
-CVE_STATUS[CVE-2016-5696] = "fixed-version: Fixed after version 4.7"
+CVE_STATUS[CVE-2016-5696] = "fixed-version: Fixed from version 4.7"
 
-CVE_STATUS[CVE-2016-5728] = "fixed-version: Fixed after version 4.7rc1"
+CVE_STATUS[CVE-2016-5728] = "fixed-version: Fixed from version 4.7rc1"
 
-CVE_STATUS[CVE-2016-5828] = "fixed-version: Fixed after version 4.7rc6"
+CVE_STATUS[CVE-2016-5828] = "fixed-version: Fixed from version 4.7rc6"
 
-CVE_STATUS[CVE-2016-5829] = "fixed-version: Fixed after version 4.7rc5"
+CVE_STATUS[CVE-2016-5829] = "fixed-version: Fixed from version 4.7rc5"
 
 # CVE-2016-5870 has no known resolution
 
-CVE_STATUS[CVE-2016-6130] = "fixed-version: Fixed after version 4.6rc6"
+CVE_STATUS[CVE-2016-6130] = "fixed-version: Fixed from version 4.6rc6"
 
-CVE_STATUS[CVE-2016-6136] = "fixed-version: Fixed after version 4.8rc1"
+CVE_STATUS[CVE-2016-6136] = "fixed-version: Fixed from version 4.8rc1"
 
-CVE_STATUS[CVE-2016-6156] = "fixed-version: Fixed after version 4.7rc7"
+CVE_STATUS[CVE-2016-6156] = "fixed-version: Fixed from version 4.7rc7"
 
-CVE_STATUS[CVE-2016-6162] = "fixed-version: Fixed after version 4.7"
+CVE_STATUS[CVE-2016-6162] = "fixed-version: Fixed from version 4.7"
 
-CVE_STATUS[CVE-2016-6187] = "fixed-version: Fixed after version 4.7rc7"
+CVE_STATUS[CVE-2016-6187] = "fixed-version: Fixed from version 4.7rc7"
 
-CVE_STATUS[CVE-2016-6197] = "fixed-version: Fixed after version 4.6rc1"
+CVE_STATUS[CVE-2016-6197] = "fixed-version: Fixed from version 4.6rc1"
 
-CVE_STATUS[CVE-2016-6198] = "fixed-version: Fixed after version 4.6"
+CVE_STATUS[CVE-2016-6198] = "fixed-version: Fixed from version 4.6"
 
-CVE_STATUS[CVE-2016-6213] = "fixed-version: Fixed after version 4.9rc1"
+CVE_STATUS[CVE-2016-6213] = "fixed-version: Fixed from version 4.9rc1"
 
-CVE_STATUS[CVE-2016-6327] = "fixed-version: Fixed after version 4.6rc1"
+CVE_STATUS[CVE-2016-6327] = "fixed-version: Fixed from version 4.6rc1"
 
-CVE_STATUS[CVE-2016-6480] = "fixed-version: Fixed after version 4.8rc3"
+CVE_STATUS[CVE-2016-6480] = "fixed-version: Fixed from version 4.8rc3"
 
-CVE_STATUS[CVE-2016-6516] = "fixed-version: Fixed after version 4.8rc1"
+CVE_STATUS[CVE-2016-6516] = "fixed-version: Fixed from version 4.8rc1"
 
 # Skipping CVE-2016-6753, no affected_versions
 
-CVE_STATUS[CVE-2016-6786] = "fixed-version: Fixed after version 4.0rc1"
+CVE_STATUS[CVE-2016-6786] = "fixed-version: Fixed from version 4.0rc1"
 
-CVE_STATUS[CVE-2016-6787] = "fixed-version: Fixed after version 4.0rc1"
+CVE_STATUS[CVE-2016-6787] = "fixed-version: Fixed from version 4.0rc1"
 
-CVE_STATUS[CVE-2016-6828] = "fixed-version: Fixed after version 4.8rc5"
+CVE_STATUS[CVE-2016-6828] = "fixed-version: Fixed from version 4.8rc5"
 
-CVE_STATUS[CVE-2016-7039] = "fixed-version: Fixed after version 4.9rc4"
+CVE_STATUS[CVE-2016-7039] = "fixed-version: Fixed from version 4.9rc4"
 
-CVE_STATUS[CVE-2016-7042] = "fixed-version: Fixed after version 4.9rc3"
+CVE_STATUS[CVE-2016-7042] = "fixed-version: Fixed from version 4.9rc3"
 
-CVE_STATUS[CVE-2016-7097] = "fixed-version: Fixed after version 4.9rc1"
+CVE_STATUS[CVE-2016-7097] = "fixed-version: Fixed from version 4.9rc1"
 
-CVE_STATUS[CVE-2016-7117] = "fixed-version: Fixed after version 4.6rc1"
+CVE_STATUS[CVE-2016-7117] = "fixed-version: Fixed from version 4.6rc1"
 
 # Skipping CVE-2016-7118, no affected_versions
 
-CVE_STATUS[CVE-2016-7425] = "fixed-version: Fixed after version 4.9rc1"
+CVE_STATUS[CVE-2016-7425] = "fixed-version: Fixed from version 4.9rc1"
 
-CVE_STATUS[CVE-2016-7910] = "fixed-version: Fixed after version 4.8rc1"
+CVE_STATUS[CVE-2016-7910] = "fixed-version: Fixed from version 4.8rc1"
 
-CVE_STATUS[CVE-2016-7911] = "fixed-version: Fixed after version 4.7rc7"
+CVE_STATUS[CVE-2016-7911] = "fixed-version: Fixed from version 4.7rc7"
 
-CVE_STATUS[CVE-2016-7912] = "fixed-version: Fixed after version 4.6rc5"
+CVE_STATUS[CVE-2016-7912] = "fixed-version: Fixed from version 4.6rc5"
 
-CVE_STATUS[CVE-2016-7913] = "fixed-version: Fixed after version 4.6rc1"
+CVE_STATUS[CVE-2016-7913] = "fixed-version: Fixed from version 4.6rc1"
 
-CVE_STATUS[CVE-2016-7914] = "fixed-version: Fixed after version 4.6rc4"
+CVE_STATUS[CVE-2016-7914] = "fixed-version: Fixed from version 4.6rc4"
 
-CVE_STATUS[CVE-2016-7915] = "fixed-version: Fixed after version 4.6rc1"
+CVE_STATUS[CVE-2016-7915] = "fixed-version: Fixed from version 4.6rc1"
 
-CVE_STATUS[CVE-2016-7916] = "fixed-version: Fixed after version 4.6rc7"
+CVE_STATUS[CVE-2016-7916] = "fixed-version: Fixed from version 4.6rc7"
 
-CVE_STATUS[CVE-2016-7917] = "fixed-version: Fixed after version 4.5rc6"
+CVE_STATUS[CVE-2016-7917] = "fixed-version: Fixed from version 4.5rc6"
 
-CVE_STATUS[CVE-2016-8399] = "fixed-version: Fixed after version 4.9"
+CVE_STATUS[CVE-2016-8399] = "fixed-version: Fixed from version 4.9"
 
 # Skipping CVE-2016-8401, no affected_versions
 
@@ -1445,73 +1454,73 @@
 
 # Skipping CVE-2016-8404, no affected_versions
 
-CVE_STATUS[CVE-2016-8405] = "fixed-version: Fixed after version 4.10rc6"
+CVE_STATUS[CVE-2016-8405] = "fixed-version: Fixed from version 4.10rc6"
 
 # Skipping CVE-2016-8406, no affected_versions
 
 # Skipping CVE-2016-8407, no affected_versions
 
-CVE_STATUS[CVE-2016-8630] = "fixed-version: Fixed after version 4.9rc4"
+CVE_STATUS[CVE-2016-8630] = "fixed-version: Fixed from version 4.9rc4"
 
-CVE_STATUS[CVE-2016-8632] = "fixed-version: Fixed after version 4.9rc8"
+CVE_STATUS[CVE-2016-8632] = "fixed-version: Fixed from version 4.9rc8"
 
-CVE_STATUS[CVE-2016-8633] = "fixed-version: Fixed after version 4.9rc4"
+CVE_STATUS[CVE-2016-8633] = "fixed-version: Fixed from version 4.9rc4"
 
-CVE_STATUS[CVE-2016-8636] = "fixed-version: Fixed after version 4.10rc8"
+CVE_STATUS[CVE-2016-8636] = "fixed-version: Fixed from version 4.10rc8"
 
-CVE_STATUS[CVE-2016-8645] = "fixed-version: Fixed after version 4.9rc6"
+CVE_STATUS[CVE-2016-8645] = "fixed-version: Fixed from version 4.9rc6"
 
-CVE_STATUS[CVE-2016-8646] = "fixed-version: Fixed after version 4.4rc1"
+CVE_STATUS[CVE-2016-8646] = "fixed-version: Fixed from version 4.4rc1"
 
-CVE_STATUS[CVE-2016-8650] = "fixed-version: Fixed after version 4.9rc7"
+CVE_STATUS[CVE-2016-8650] = "fixed-version: Fixed from version 4.9rc7"
 
-CVE_STATUS[CVE-2016-8655] = "fixed-version: Fixed after version 4.9rc8"
+CVE_STATUS[CVE-2016-8655] = "fixed-version: Fixed from version 4.9rc8"
 
-CVE_STATUS[CVE-2016-8658] = "fixed-version: Fixed after version 4.8rc7"
+CVE_STATUS[CVE-2016-8658] = "fixed-version: Fixed from version 4.8rc7"
 
 # CVE-2016-8660 has no known resolution
 
-CVE_STATUS[CVE-2016-8666] = "fixed-version: Fixed after version 4.6rc1"
+CVE_STATUS[CVE-2016-8666] = "fixed-version: Fixed from version 4.6rc1"
 
-CVE_STATUS[CVE-2016-9083] = "fixed-version: Fixed after version 4.9rc4"
+CVE_STATUS[CVE-2016-9083] = "fixed-version: Fixed from version 4.9rc4"
 
-CVE_STATUS[CVE-2016-9084] = "fixed-version: Fixed after version 4.9rc4"
+CVE_STATUS[CVE-2016-9084] = "fixed-version: Fixed from version 4.9rc4"
 
-CVE_STATUS[CVE-2016-9120] = "fixed-version: Fixed after version 4.6rc1"
+CVE_STATUS[CVE-2016-9120] = "fixed-version: Fixed from version 4.6rc1"
 
-CVE_STATUS[CVE-2016-9178] = "fixed-version: Fixed after version 4.8rc7"
+CVE_STATUS[CVE-2016-9178] = "fixed-version: Fixed from version 4.8rc7"
 
-CVE_STATUS[CVE-2016-9191] = "fixed-version: Fixed after version 4.10rc4"
+CVE_STATUS[CVE-2016-9191] = "fixed-version: Fixed from version 4.10rc4"
 
-CVE_STATUS[CVE-2016-9313] = "fixed-version: Fixed after version 4.9rc3"
+CVE_STATUS[CVE-2016-9313] = "fixed-version: Fixed from version 4.9rc3"
 
-CVE_STATUS[CVE-2016-9555] = "fixed-version: Fixed after version 4.9rc4"
+CVE_STATUS[CVE-2016-9555] = "fixed-version: Fixed from version 4.9rc4"
 
-CVE_STATUS[CVE-2016-9576] = "fixed-version: Fixed after version 4.9"
+CVE_STATUS[CVE-2016-9576] = "fixed-version: Fixed from version 4.9"
 
-CVE_STATUS[CVE-2016-9588] = "fixed-version: Fixed after version 4.10rc1"
+CVE_STATUS[CVE-2016-9588] = "fixed-version: Fixed from version 4.10rc1"
 
-CVE_STATUS[CVE-2016-9604] = "fixed-version: Fixed after version 4.11rc8"
+CVE_STATUS[CVE-2016-9604] = "fixed-version: Fixed from version 4.11rc8"
 
 # Skipping CVE-2016-9644, no affected_versions
 
-CVE_STATUS[CVE-2016-9685] = "fixed-version: Fixed after version 4.6rc1"
+CVE_STATUS[CVE-2016-9685] = "fixed-version: Fixed from version 4.6rc1"
 
-CVE_STATUS[CVE-2016-9754] = "fixed-version: Fixed after version 4.7rc1"
+CVE_STATUS[CVE-2016-9754] = "fixed-version: Fixed from version 4.7rc1"
 
-CVE_STATUS[CVE-2016-9755] = "fixed-version: Fixed after version 4.9rc8"
+CVE_STATUS[CVE-2016-9755] = "fixed-version: Fixed from version 4.9rc8"
 
-CVE_STATUS[CVE-2016-9756] = "fixed-version: Fixed after version 4.9rc7"
+CVE_STATUS[CVE-2016-9756] = "fixed-version: Fixed from version 4.9rc7"
 
-CVE_STATUS[CVE-2016-9777] = "fixed-version: Fixed after version 4.9rc7"
+CVE_STATUS[CVE-2016-9777] = "fixed-version: Fixed from version 4.9rc7"
 
-CVE_STATUS[CVE-2016-9793] = "fixed-version: Fixed after version 4.9rc8"
+CVE_STATUS[CVE-2016-9793] = "fixed-version: Fixed from version 4.9rc8"
 
-CVE_STATUS[CVE-2016-9794] = "fixed-version: Fixed after version 4.7rc1"
+CVE_STATUS[CVE-2016-9794] = "fixed-version: Fixed from version 4.7rc1"
 
-CVE_STATUS[CVE-2016-9806] = "fixed-version: Fixed after version 4.7rc1"
+CVE_STATUS[CVE-2016-9806] = "fixed-version: Fixed from version 4.7rc1"
 
-CVE_STATUS[CVE-2016-9919] = "fixed-version: Fixed after version 4.9rc8"
+CVE_STATUS[CVE-2016-9919] = "fixed-version: Fixed from version 4.9rc8"
 
 # Skipping CVE-2017-0403, no affected_versions
 
@@ -1533,491 +1542,491 @@
 
 # CVE-2017-0564 has no known resolution
 
-CVE_STATUS[CVE-2017-0605] = "fixed-version: Fixed after version 4.12rc1"
+CVE_STATUS[CVE-2017-0605] = "fixed-version: Fixed from version 4.12rc1"
 
-CVE_STATUS[CVE-2017-0627] = "fixed-version: Fixed after version 4.14rc1"
+CVE_STATUS[CVE-2017-0627] = "fixed-version: Fixed from version 4.14rc1"
 
 # CVE-2017-0630 has no known resolution
 
 # CVE-2017-0749 has no known resolution
 
-CVE_STATUS[CVE-2017-0750] = "fixed-version: Fixed after version 4.5rc1"
+CVE_STATUS[CVE-2017-0750] = "fixed-version: Fixed from version 4.5rc1"
 
-CVE_STATUS[CVE-2017-0786] = "fixed-version: Fixed after version 4.14rc4"
+CVE_STATUS[CVE-2017-0786] = "fixed-version: Fixed from version 4.14rc4"
 
-CVE_STATUS[CVE-2017-0861] = "fixed-version: Fixed after version 4.15rc3"
+CVE_STATUS[CVE-2017-0861] = "fixed-version: Fixed from version 4.15rc3"
 
-CVE_STATUS[CVE-2017-1000] = "fixed-version: Fixed after version 4.13rc5"
+CVE_STATUS[CVE-2017-1000] = "fixed-version: Fixed from version 4.13rc5"
 
-CVE_STATUS[CVE-2017-1000111] = "fixed-version: Fixed after version 4.13rc5"
+CVE_STATUS[CVE-2017-1000111] = "fixed-version: Fixed from version 4.13rc5"
 
-CVE_STATUS[CVE-2017-1000112] = "fixed-version: Fixed after version 4.13rc5"
+CVE_STATUS[CVE-2017-1000112] = "fixed-version: Fixed from version 4.13rc5"
 
-CVE_STATUS[CVE-2017-1000251] = "fixed-version: Fixed after version 4.14rc1"
+CVE_STATUS[CVE-2017-1000251] = "fixed-version: Fixed from version 4.14rc1"
 
-CVE_STATUS[CVE-2017-1000252] = "fixed-version: Fixed after version 4.14rc1"
+CVE_STATUS[CVE-2017-1000252] = "fixed-version: Fixed from version 4.14rc1"
 
-CVE_STATUS[CVE-2017-1000253] = "fixed-version: Fixed after version 4.1rc1"
+CVE_STATUS[CVE-2017-1000253] = "fixed-version: Fixed from version 4.1rc1"
 
-CVE_STATUS[CVE-2017-1000255] = "fixed-version: Fixed after version 4.14rc5"
+CVE_STATUS[CVE-2017-1000255] = "fixed-version: Fixed from version 4.14rc5"
 
-CVE_STATUS[CVE-2017-1000363] = "fixed-version: Fixed after version 4.12rc2"
+CVE_STATUS[CVE-2017-1000363] = "fixed-version: Fixed from version 4.12rc2"
 
-CVE_STATUS[CVE-2017-1000364] = "fixed-version: Fixed after version 4.12rc6"
+CVE_STATUS[CVE-2017-1000364] = "fixed-version: Fixed from version 4.12rc6"
 
-CVE_STATUS[CVE-2017-1000365] = "fixed-version: Fixed after version 4.12rc7"
+CVE_STATUS[CVE-2017-1000365] = "fixed-version: Fixed from version 4.12rc7"
 
-CVE_STATUS[CVE-2017-1000370] = "fixed-version: Fixed after version 4.13rc1"
+CVE_STATUS[CVE-2017-1000370] = "fixed-version: Fixed from version 4.13rc1"
 
-CVE_STATUS[CVE-2017-1000371] = "fixed-version: Fixed after version 4.13rc1"
+CVE_STATUS[CVE-2017-1000371] = "fixed-version: Fixed from version 4.13rc1"
 
-CVE_STATUS[CVE-2017-1000379] = "fixed-version: Fixed after version 4.12rc6"
+CVE_STATUS[CVE-2017-1000379] = "fixed-version: Fixed from version 4.12rc6"
 
-CVE_STATUS[CVE-2017-1000380] = "fixed-version: Fixed after version 4.12rc5"
+CVE_STATUS[CVE-2017-1000380] = "fixed-version: Fixed from version 4.12rc5"
 
-CVE_STATUS[CVE-2017-1000405] = "fixed-version: Fixed after version 4.15rc2"
+CVE_STATUS[CVE-2017-1000405] = "fixed-version: Fixed from version 4.15rc2"
 
-CVE_STATUS[CVE-2017-1000407] = "fixed-version: Fixed after version 4.15rc3"
+CVE_STATUS[CVE-2017-1000407] = "fixed-version: Fixed from version 4.15rc3"
 
-CVE_STATUS[CVE-2017-1000410] = "fixed-version: Fixed after version 4.15rc8"
+CVE_STATUS[CVE-2017-1000410] = "fixed-version: Fixed from version 4.15rc8"
 
-CVE_STATUS[CVE-2017-10661] = "fixed-version: Fixed after version 4.11rc1"
+CVE_STATUS[CVE-2017-10661] = "fixed-version: Fixed from version 4.11rc1"
 
-CVE_STATUS[CVE-2017-10662] = "fixed-version: Fixed after version 4.12rc1"
+CVE_STATUS[CVE-2017-10662] = "fixed-version: Fixed from version 4.12rc1"
 
-CVE_STATUS[CVE-2017-10663] = "fixed-version: Fixed after version 4.13rc1"
+CVE_STATUS[CVE-2017-10663] = "fixed-version: Fixed from version 4.13rc1"
 
-CVE_STATUS[CVE-2017-10810] = "fixed-version: Fixed after version 4.12rc1"
+CVE_STATUS[CVE-2017-10810] = "fixed-version: Fixed from version 4.12rc1"
 
-CVE_STATUS[CVE-2017-10911] = "fixed-version: Fixed after version 4.12rc7"
+CVE_STATUS[CVE-2017-10911] = "fixed-version: Fixed from version 4.12rc7"
 
-CVE_STATUS[CVE-2017-11089] = "fixed-version: Fixed after version 4.13rc1"
+CVE_STATUS[CVE-2017-11089] = "fixed-version: Fixed from version 4.13rc1"
 
-CVE_STATUS[CVE-2017-11176] = "fixed-version: Fixed after version 4.13rc1"
+CVE_STATUS[CVE-2017-11176] = "fixed-version: Fixed from version 4.13rc1"
 
-CVE_STATUS[CVE-2017-11472] = "fixed-version: Fixed after version 4.12rc1"
+CVE_STATUS[CVE-2017-11472] = "fixed-version: Fixed from version 4.12rc1"
 
-CVE_STATUS[CVE-2017-11473] = "fixed-version: Fixed after version 4.13rc2"
+CVE_STATUS[CVE-2017-11473] = "fixed-version: Fixed from version 4.13rc2"
 
-CVE_STATUS[CVE-2017-11600] = "fixed-version: Fixed after version 4.13"
+CVE_STATUS[CVE-2017-11600] = "fixed-version: Fixed from version 4.13"
 
-CVE_STATUS[CVE-2017-12134] = "fixed-version: Fixed after version 4.13rc6"
+CVE_STATUS[CVE-2017-12134] = "fixed-version: Fixed from version 4.13rc6"
 
-CVE_STATUS[CVE-2017-12146] = "fixed-version: Fixed after version 4.13rc1"
+CVE_STATUS[CVE-2017-12146] = "fixed-version: Fixed from version 4.13rc1"
 
-CVE_STATUS[CVE-2017-12153] = "fixed-version: Fixed after version 4.14rc2"
+CVE_STATUS[CVE-2017-12153] = "fixed-version: Fixed from version 4.14rc2"
 
-CVE_STATUS[CVE-2017-12154] = "fixed-version: Fixed after version 4.14rc1"
+CVE_STATUS[CVE-2017-12154] = "fixed-version: Fixed from version 4.14rc1"
 
-CVE_STATUS[CVE-2017-12168] = "fixed-version: Fixed after version 4.9rc6"
+CVE_STATUS[CVE-2017-12168] = "fixed-version: Fixed from version 4.9rc6"
 
-CVE_STATUS[CVE-2017-12188] = "fixed-version: Fixed after version 4.14rc5"
+CVE_STATUS[CVE-2017-12188] = "fixed-version: Fixed from version 4.14rc5"
 
-CVE_STATUS[CVE-2017-12190] = "fixed-version: Fixed after version 4.14rc5"
+CVE_STATUS[CVE-2017-12190] = "fixed-version: Fixed from version 4.14rc5"
 
-CVE_STATUS[CVE-2017-12192] = "fixed-version: Fixed after version 4.14rc3"
+CVE_STATUS[CVE-2017-12192] = "fixed-version: Fixed from version 4.14rc3"
 
-CVE_STATUS[CVE-2017-12193] = "fixed-version: Fixed after version 4.14rc7"
+CVE_STATUS[CVE-2017-12193] = "fixed-version: Fixed from version 4.14rc7"
 
-CVE_STATUS[CVE-2017-12762] = "fixed-version: Fixed after version 4.13rc4"
+CVE_STATUS[CVE-2017-12762] = "fixed-version: Fixed from version 4.13rc4"
 
-CVE_STATUS[CVE-2017-13080] = "fixed-version: Fixed after version 4.14rc6"
+CVE_STATUS[CVE-2017-13080] = "fixed-version: Fixed from version 4.14rc6"
 
-CVE_STATUS[CVE-2017-13166] = "fixed-version: Fixed after version 4.16rc1"
+CVE_STATUS[CVE-2017-13166] = "fixed-version: Fixed from version 4.16rc1"
 
-CVE_STATUS[CVE-2017-13167] = "fixed-version: Fixed after version 4.5rc4"
+CVE_STATUS[CVE-2017-13167] = "fixed-version: Fixed from version 4.5rc4"
 
-CVE_STATUS[CVE-2017-13168] = "fixed-version: Fixed after version 4.18rc4"
+CVE_STATUS[CVE-2017-13168] = "fixed-version: Fixed from version 4.18rc4"
 
-CVE_STATUS[CVE-2017-13215] = "fixed-version: Fixed after version 4.5rc1"
+CVE_STATUS[CVE-2017-13215] = "fixed-version: Fixed from version 4.5rc1"
 
-CVE_STATUS[CVE-2017-13216] = "fixed-version: Fixed after version 4.15rc8"
+CVE_STATUS[CVE-2017-13216] = "fixed-version: Fixed from version 4.15rc8"
 
-CVE_STATUS[CVE-2017-13220] = "fixed-version: Fixed after version 3.19rc3"
+CVE_STATUS[CVE-2017-13220] = "fixed-version: Fixed from version 3.19rc3"
 
 # CVE-2017-13221 has no known resolution
 
 # CVE-2017-13222 has no known resolution
 
-CVE_STATUS[CVE-2017-13305] = "fixed-version: Fixed after version 4.12rc5"
+CVE_STATUS[CVE-2017-13305] = "fixed-version: Fixed from version 4.12rc5"
 
-CVE_STATUS[CVE-2017-13686] = "fixed-version: Fixed after version 4.13rc7"
+CVE_STATUS[CVE-2017-13686] = "fixed-version: Fixed from version 4.13rc7"
 
 # CVE-2017-13693 has no known resolution
 
 # CVE-2017-13694 has no known resolution
 
-CVE_STATUS[CVE-2017-13695] = "fixed-version: Fixed after version 4.17rc1"
+CVE_STATUS[CVE-2017-13695] = "fixed-version: Fixed from version 4.17rc1"
 
-CVE_STATUS[CVE-2017-13715] = "fixed-version: Fixed after version 4.3rc1"
+CVE_STATUS[CVE-2017-13715] = "fixed-version: Fixed from version 4.3rc1"
 
-CVE_STATUS[CVE-2017-14051] = "fixed-version: Fixed after version 4.14rc1"
+CVE_STATUS[CVE-2017-14051] = "fixed-version: Fixed from version 4.14rc1"
 
-CVE_STATUS[CVE-2017-14106] = "fixed-version: Fixed after version 4.12rc3"
+CVE_STATUS[CVE-2017-14106] = "fixed-version: Fixed from version 4.12rc3"
 
-CVE_STATUS[CVE-2017-14140] = "fixed-version: Fixed after version 4.13rc6"
+CVE_STATUS[CVE-2017-14140] = "fixed-version: Fixed from version 4.13rc6"
 
-CVE_STATUS[CVE-2017-14156] = "fixed-version: Fixed after version 4.14rc1"
+CVE_STATUS[CVE-2017-14156] = "fixed-version: Fixed from version 4.14rc1"
 
-CVE_STATUS[CVE-2017-14340] = "fixed-version: Fixed after version 4.14rc1"
+CVE_STATUS[CVE-2017-14340] = "fixed-version: Fixed from version 4.14rc1"
 
-CVE_STATUS[CVE-2017-14489] = "fixed-version: Fixed after version 4.14rc3"
+CVE_STATUS[CVE-2017-14489] = "fixed-version: Fixed from version 4.14rc3"
 
-CVE_STATUS[CVE-2017-14497] = "fixed-version: Fixed after version 4.13"
+CVE_STATUS[CVE-2017-14497] = "fixed-version: Fixed from version 4.13"
 
-CVE_STATUS[CVE-2017-14954] = "fixed-version: Fixed after version 4.14rc3"
+CVE_STATUS[CVE-2017-14954] = "fixed-version: Fixed from version 4.14rc3"
 
-CVE_STATUS[CVE-2017-14991] = "fixed-version: Fixed after version 4.14rc2"
+CVE_STATUS[CVE-2017-14991] = "fixed-version: Fixed from version 4.14rc2"
 
-CVE_STATUS[CVE-2017-15102] = "fixed-version: Fixed after version 4.9rc1"
+CVE_STATUS[CVE-2017-15102] = "fixed-version: Fixed from version 4.9rc1"
 
-CVE_STATUS[CVE-2017-15115] = "fixed-version: Fixed after version 4.14rc6"
+CVE_STATUS[CVE-2017-15115] = "fixed-version: Fixed from version 4.14rc6"
 
-CVE_STATUS[CVE-2017-15116] = "fixed-version: Fixed after version 4.2rc1"
+CVE_STATUS[CVE-2017-15116] = "fixed-version: Fixed from version 4.2rc1"
 
-CVE_STATUS[CVE-2017-15121] = "fixed-version: Fixed after version 3.11rc1"
+CVE_STATUS[CVE-2017-15121] = "fixed-version: Fixed from version 3.11rc1"
 
-CVE_STATUS[CVE-2017-15126] = "fixed-version: Fixed after version 4.14rc4"
+CVE_STATUS[CVE-2017-15126] = "fixed-version: Fixed from version 4.14rc4"
 
-CVE_STATUS[CVE-2017-15127] = "fixed-version: Fixed after version 4.13rc5"
+CVE_STATUS[CVE-2017-15127] = "fixed-version: Fixed from version 4.13rc5"
 
-CVE_STATUS[CVE-2017-15128] = "fixed-version: Fixed after version 4.14rc8"
+CVE_STATUS[CVE-2017-15128] = "fixed-version: Fixed from version 4.14rc8"
 
-CVE_STATUS[CVE-2017-15129] = "fixed-version: Fixed after version 4.15rc5"
+CVE_STATUS[CVE-2017-15129] = "fixed-version: Fixed from version 4.15rc5"
 
-CVE_STATUS[CVE-2017-15265] = "fixed-version: Fixed after version 4.14rc5"
+CVE_STATUS[CVE-2017-15265] = "fixed-version: Fixed from version 4.14rc5"
 
-CVE_STATUS[CVE-2017-15274] = "fixed-version: Fixed after version 4.12rc5"
+CVE_STATUS[CVE-2017-15274] = "fixed-version: Fixed from version 4.12rc5"
 
-CVE_STATUS[CVE-2017-15299] = "fixed-version: Fixed after version 4.14rc6"
+CVE_STATUS[CVE-2017-15299] = "fixed-version: Fixed from version 4.14rc6"
 
-CVE_STATUS[CVE-2017-15306] = "fixed-version: Fixed after version 4.14rc7"
+CVE_STATUS[CVE-2017-15306] = "fixed-version: Fixed from version 4.14rc7"
 
-CVE_STATUS[CVE-2017-15537] = "fixed-version: Fixed after version 4.14rc3"
+CVE_STATUS[CVE-2017-15537] = "fixed-version: Fixed from version 4.14rc3"
 
-CVE_STATUS[CVE-2017-15649] = "fixed-version: Fixed after version 4.14rc4"
+CVE_STATUS[CVE-2017-15649] = "fixed-version: Fixed from version 4.14rc4"
 
-CVE_STATUS[CVE-2017-15868] = "fixed-version: Fixed after version 3.19rc3"
+CVE_STATUS[CVE-2017-15868] = "fixed-version: Fixed from version 3.19rc3"
 
-CVE_STATUS[CVE-2017-15951] = "fixed-version: Fixed after version 4.14rc6"
+CVE_STATUS[CVE-2017-15951] = "fixed-version: Fixed from version 4.14rc6"
 
-CVE_STATUS[CVE-2017-16525] = "fixed-version: Fixed after version 4.14rc5"
+CVE_STATUS[CVE-2017-16525] = "fixed-version: Fixed from version 4.14rc5"
 
-CVE_STATUS[CVE-2017-16526] = "fixed-version: Fixed after version 4.14rc4"
+CVE_STATUS[CVE-2017-16526] = "fixed-version: Fixed from version 4.14rc4"
 
-CVE_STATUS[CVE-2017-16527] = "fixed-version: Fixed after version 4.14rc5"
+CVE_STATUS[CVE-2017-16527] = "fixed-version: Fixed from version 4.14rc5"
 
-CVE_STATUS[CVE-2017-16528] = "fixed-version: Fixed after version 4.14rc1"
+CVE_STATUS[CVE-2017-16528] = "fixed-version: Fixed from version 4.14rc1"
 
-CVE_STATUS[CVE-2017-16529] = "fixed-version: Fixed after version 4.14rc4"
+CVE_STATUS[CVE-2017-16529] = "fixed-version: Fixed from version 4.14rc4"
 
-CVE_STATUS[CVE-2017-16530] = "fixed-version: Fixed after version 4.14rc4"
+CVE_STATUS[CVE-2017-16530] = "fixed-version: Fixed from version 4.14rc4"
 
-CVE_STATUS[CVE-2017-16531] = "fixed-version: Fixed after version 4.14rc4"
+CVE_STATUS[CVE-2017-16531] = "fixed-version: Fixed from version 4.14rc4"
 
-CVE_STATUS[CVE-2017-16532] = "fixed-version: Fixed after version 4.14rc5"
+CVE_STATUS[CVE-2017-16532] = "fixed-version: Fixed from version 4.14rc5"
 
-CVE_STATUS[CVE-2017-16533] = "fixed-version: Fixed after version 4.14rc5"
+CVE_STATUS[CVE-2017-16533] = "fixed-version: Fixed from version 4.14rc5"
 
-CVE_STATUS[CVE-2017-16534] = "fixed-version: Fixed after version 4.14rc4"
+CVE_STATUS[CVE-2017-16534] = "fixed-version: Fixed from version 4.14rc4"
 
-CVE_STATUS[CVE-2017-16535] = "fixed-version: Fixed after version 4.14rc6"
+CVE_STATUS[CVE-2017-16535] = "fixed-version: Fixed from version 4.14rc6"
 
-CVE_STATUS[CVE-2017-16536] = "fixed-version: Fixed after version 4.15rc1"
+CVE_STATUS[CVE-2017-16536] = "fixed-version: Fixed from version 4.15rc1"
 
-CVE_STATUS[CVE-2017-16537] = "fixed-version: Fixed after version 4.15rc1"
+CVE_STATUS[CVE-2017-16537] = "fixed-version: Fixed from version 4.15rc1"
 
-CVE_STATUS[CVE-2017-16538] = "fixed-version: Fixed after version 4.16rc1"
+CVE_STATUS[CVE-2017-16538] = "fixed-version: Fixed from version 4.16rc1"
 
-CVE_STATUS[CVE-2017-16643] = "fixed-version: Fixed after version 4.14rc7"
+CVE_STATUS[CVE-2017-16643] = "fixed-version: Fixed from version 4.14rc7"
 
-CVE_STATUS[CVE-2017-16644] = "fixed-version: Fixed after version 4.16rc1"
+CVE_STATUS[CVE-2017-16644] = "fixed-version: Fixed from version 4.16rc1"
 
-CVE_STATUS[CVE-2017-16645] = "fixed-version: Fixed after version 4.14rc6"
+CVE_STATUS[CVE-2017-16645] = "fixed-version: Fixed from version 4.14rc6"
 
-CVE_STATUS[CVE-2017-16646] = "fixed-version: Fixed after version 4.15rc1"
+CVE_STATUS[CVE-2017-16646] = "fixed-version: Fixed from version 4.15rc1"
 
-CVE_STATUS[CVE-2017-16647] = "fixed-version: Fixed after version 4.14"
+CVE_STATUS[CVE-2017-16647] = "fixed-version: Fixed from version 4.14"
 
-CVE_STATUS[CVE-2017-16648] = "fixed-version: Fixed after version 4.15rc1"
+CVE_STATUS[CVE-2017-16648] = "fixed-version: Fixed from version 4.15rc1"
 
-CVE_STATUS[CVE-2017-16649] = "fixed-version: Fixed after version 4.14"
+CVE_STATUS[CVE-2017-16649] = "fixed-version: Fixed from version 4.14"
 
-CVE_STATUS[CVE-2017-16650] = "fixed-version: Fixed after version 4.14"
+CVE_STATUS[CVE-2017-16650] = "fixed-version: Fixed from version 4.14"
 
-CVE_STATUS[CVE-2017-16911] = "fixed-version: Fixed after version 4.15rc4"
+CVE_STATUS[CVE-2017-16911] = "fixed-version: Fixed from version 4.15rc4"
 
-CVE_STATUS[CVE-2017-16912] = "fixed-version: Fixed after version 4.15rc4"
+CVE_STATUS[CVE-2017-16912] = "fixed-version: Fixed from version 4.15rc4"
 
-CVE_STATUS[CVE-2017-16913] = "fixed-version: Fixed after version 4.15rc4"
+CVE_STATUS[CVE-2017-16913] = "fixed-version: Fixed from version 4.15rc4"
 
-CVE_STATUS[CVE-2017-16914] = "fixed-version: Fixed after version 4.15rc4"
+CVE_STATUS[CVE-2017-16914] = "fixed-version: Fixed from version 4.15rc4"
 
-CVE_STATUS[CVE-2017-16939] = "fixed-version: Fixed after version 4.14rc7"
+CVE_STATUS[CVE-2017-16939] = "fixed-version: Fixed from version 4.14rc7"
 
-CVE_STATUS[CVE-2017-16994] = "fixed-version: Fixed after version 4.15rc1"
+CVE_STATUS[CVE-2017-16994] = "fixed-version: Fixed from version 4.15rc1"
 
-CVE_STATUS[CVE-2017-16995] = "fixed-version: Fixed after version 4.15rc5"
+CVE_STATUS[CVE-2017-16995] = "fixed-version: Fixed from version 4.15rc5"
 
-CVE_STATUS[CVE-2017-16996] = "fixed-version: Fixed after version 4.15rc5"
+CVE_STATUS[CVE-2017-16996] = "fixed-version: Fixed from version 4.15rc5"
 
-CVE_STATUS[CVE-2017-17052] = "fixed-version: Fixed after version 4.13rc7"
+CVE_STATUS[CVE-2017-17052] = "fixed-version: Fixed from version 4.13rc7"
 
-CVE_STATUS[CVE-2017-17053] = "fixed-version: Fixed after version 4.13rc7"
+CVE_STATUS[CVE-2017-17053] = "fixed-version: Fixed from version 4.13rc7"
 
-CVE_STATUS[CVE-2017-17448] = "fixed-version: Fixed after version 4.15rc4"
+CVE_STATUS[CVE-2017-17448] = "fixed-version: Fixed from version 4.15rc4"
 
-CVE_STATUS[CVE-2017-17449] = "fixed-version: Fixed after version 4.15rc4"
+CVE_STATUS[CVE-2017-17449] = "fixed-version: Fixed from version 4.15rc4"
 
-CVE_STATUS[CVE-2017-17450] = "fixed-version: Fixed after version 4.15rc4"
+CVE_STATUS[CVE-2017-17450] = "fixed-version: Fixed from version 4.15rc4"
 
-CVE_STATUS[CVE-2017-17558] = "fixed-version: Fixed after version 4.15rc4"
+CVE_STATUS[CVE-2017-17558] = "fixed-version: Fixed from version 4.15rc4"
 
-CVE_STATUS[CVE-2017-17712] = "fixed-version: Fixed after version 4.15rc4"
+CVE_STATUS[CVE-2017-17712] = "fixed-version: Fixed from version 4.15rc4"
 
-CVE_STATUS[CVE-2017-17741] = "fixed-version: Fixed after version 4.15rc5"
+CVE_STATUS[CVE-2017-17741] = "fixed-version: Fixed from version 4.15rc5"
 
-CVE_STATUS[CVE-2017-17805] = "fixed-version: Fixed after version 4.15rc4"
+CVE_STATUS[CVE-2017-17805] = "fixed-version: Fixed from version 4.15rc4"
 
-CVE_STATUS[CVE-2017-17806] = "fixed-version: Fixed after version 4.15rc4"
+CVE_STATUS[CVE-2017-17806] = "fixed-version: Fixed from version 4.15rc4"
 
-CVE_STATUS[CVE-2017-17807] = "fixed-version: Fixed after version 4.15rc3"
+CVE_STATUS[CVE-2017-17807] = "fixed-version: Fixed from version 4.15rc3"
 
-CVE_STATUS[CVE-2017-17852] = "fixed-version: Fixed after version 4.15rc5"
+CVE_STATUS[CVE-2017-17852] = "fixed-version: Fixed from version 4.15rc5"
 
-CVE_STATUS[CVE-2017-17853] = "fixed-version: Fixed after version 4.15rc5"
+CVE_STATUS[CVE-2017-17853] = "fixed-version: Fixed from version 4.15rc5"
 
-CVE_STATUS[CVE-2017-17854] = "fixed-version: Fixed after version 4.15rc5"
+CVE_STATUS[CVE-2017-17854] = "fixed-version: Fixed from version 4.15rc5"
 
-CVE_STATUS[CVE-2017-17855] = "fixed-version: Fixed after version 4.15rc5"
+CVE_STATUS[CVE-2017-17855] = "fixed-version: Fixed from version 4.15rc5"
 
-CVE_STATUS[CVE-2017-17856] = "fixed-version: Fixed after version 4.15rc5"
+CVE_STATUS[CVE-2017-17856] = "fixed-version: Fixed from version 4.15rc5"
 
-CVE_STATUS[CVE-2017-17857] = "fixed-version: Fixed after version 4.15rc5"
+CVE_STATUS[CVE-2017-17857] = "fixed-version: Fixed from version 4.15rc5"
 
-CVE_STATUS[CVE-2017-17862] = "fixed-version: Fixed after version 4.15rc1"
+CVE_STATUS[CVE-2017-17862] = "fixed-version: Fixed from version 4.15rc1"
 
-CVE_STATUS[CVE-2017-17863] = "fixed-version: Fixed after version 4.15rc5"
+CVE_STATUS[CVE-2017-17863] = "fixed-version: Fixed from version 4.15rc5"
 
-CVE_STATUS[CVE-2017-17864] = "fixed-version: Fixed after version 4.15rc5"
+CVE_STATUS[CVE-2017-17864] = "fixed-version: Fixed from version 4.15rc5"
 
-CVE_STATUS[CVE-2017-17975] = "fixed-version: Fixed after version 4.17rc1"
+CVE_STATUS[CVE-2017-17975] = "fixed-version: Fixed from version 4.17rc1"
 
-CVE_STATUS[CVE-2017-18017] = "fixed-version: Fixed after version 4.11rc7"
+CVE_STATUS[CVE-2017-18017] = "fixed-version: Fixed from version 4.11rc7"
 
-CVE_STATUS[CVE-2017-18075] = "fixed-version: Fixed after version 4.15rc7"
+CVE_STATUS[CVE-2017-18075] = "fixed-version: Fixed from version 4.15rc7"
 
-CVE_STATUS[CVE-2017-18079] = "fixed-version: Fixed after version 4.13rc1"
+CVE_STATUS[CVE-2017-18079] = "fixed-version: Fixed from version 4.13rc1"
 
 # CVE-2017-18169 has no known resolution
 
-CVE_STATUS[CVE-2017-18174] = "fixed-version: Fixed after version 4.7rc1"
+CVE_STATUS[CVE-2017-18174] = "fixed-version: Fixed from version 4.7rc1"
 
-CVE_STATUS[CVE-2017-18193] = "fixed-version: Fixed after version 4.13rc1"
+CVE_STATUS[CVE-2017-18193] = "fixed-version: Fixed from version 4.13rc1"
 
-CVE_STATUS[CVE-2017-18200] = "fixed-version: Fixed after version 4.14rc5"
+CVE_STATUS[CVE-2017-18200] = "fixed-version: Fixed from version 4.14rc5"
 
-CVE_STATUS[CVE-2017-18202] = "fixed-version: Fixed after version 4.15rc2"
+CVE_STATUS[CVE-2017-18202] = "fixed-version: Fixed from version 4.15rc2"
 
-CVE_STATUS[CVE-2017-18203] = "fixed-version: Fixed after version 4.15rc1"
+CVE_STATUS[CVE-2017-18203] = "fixed-version: Fixed from version 4.15rc1"
 
-CVE_STATUS[CVE-2017-18204] = "fixed-version: Fixed after version 4.15rc1"
+CVE_STATUS[CVE-2017-18204] = "fixed-version: Fixed from version 4.15rc1"
 
-CVE_STATUS[CVE-2017-18208] = "fixed-version: Fixed after version 4.15rc2"
+CVE_STATUS[CVE-2017-18208] = "fixed-version: Fixed from version 4.15rc2"
 
-CVE_STATUS[CVE-2017-18216] = "fixed-version: Fixed after version 4.15rc1"
+CVE_STATUS[CVE-2017-18216] = "fixed-version: Fixed from version 4.15rc1"
 
-CVE_STATUS[CVE-2017-18218] = "fixed-version: Fixed after version 4.13rc1"
+CVE_STATUS[CVE-2017-18218] = "fixed-version: Fixed from version 4.13rc1"
 
-CVE_STATUS[CVE-2017-18221] = "fixed-version: Fixed after version 4.12rc4"
+CVE_STATUS[CVE-2017-18221] = "fixed-version: Fixed from version 4.12rc4"
 
-CVE_STATUS[CVE-2017-18222] = "fixed-version: Fixed after version 4.12rc1"
+CVE_STATUS[CVE-2017-18222] = "fixed-version: Fixed from version 4.12rc1"
 
-CVE_STATUS[CVE-2017-18224] = "fixed-version: Fixed after version 4.15rc1"
+CVE_STATUS[CVE-2017-18224] = "fixed-version: Fixed from version 4.15rc1"
 
-CVE_STATUS[CVE-2017-18232] = "fixed-version: Fixed after version 4.16rc1"
+CVE_STATUS[CVE-2017-18232] = "fixed-version: Fixed from version 4.16rc1"
 
-CVE_STATUS[CVE-2017-18241] = "fixed-version: Fixed after version 4.13rc1"
+CVE_STATUS[CVE-2017-18241] = "fixed-version: Fixed from version 4.13rc1"
 
-CVE_STATUS[CVE-2017-18249] = "fixed-version: Fixed after version 4.12rc1"
+CVE_STATUS[CVE-2017-18249] = "fixed-version: Fixed from version 4.12rc1"
 
-CVE_STATUS[CVE-2017-18255] = "fixed-version: Fixed after version 4.11rc1"
+CVE_STATUS[CVE-2017-18255] = "fixed-version: Fixed from version 4.11rc1"
 
-CVE_STATUS[CVE-2017-18257] = "fixed-version: Fixed after version 4.11rc1"
+CVE_STATUS[CVE-2017-18257] = "fixed-version: Fixed from version 4.11rc1"
 
-CVE_STATUS[CVE-2017-18261] = "fixed-version: Fixed after version 4.13rc6"
+CVE_STATUS[CVE-2017-18261] = "fixed-version: Fixed from version 4.13rc6"
 
-CVE_STATUS[CVE-2017-18270] = "fixed-version: Fixed after version 4.14rc3"
+CVE_STATUS[CVE-2017-18270] = "fixed-version: Fixed from version 4.14rc3"
 
-CVE_STATUS[CVE-2017-18344] = "fixed-version: Fixed after version 4.15rc4"
+CVE_STATUS[CVE-2017-18344] = "fixed-version: Fixed from version 4.15rc4"
 
-CVE_STATUS[CVE-2017-18360] = "fixed-version: Fixed after version 4.12rc2"
+CVE_STATUS[CVE-2017-18360] = "fixed-version: Fixed from version 4.12rc2"
 
-CVE_STATUS[CVE-2017-18379] = "fixed-version: Fixed after version 4.14rc3"
+CVE_STATUS[CVE-2017-18379] = "fixed-version: Fixed from version 4.14rc3"
 
-CVE_STATUS[CVE-2017-18509] = "fixed-version: Fixed after version 4.11rc1"
+CVE_STATUS[CVE-2017-18509] = "fixed-version: Fixed from version 4.11rc1"
 
-CVE_STATUS[CVE-2017-18549] = "fixed-version: Fixed after version 4.13rc1"
+CVE_STATUS[CVE-2017-18549] = "fixed-version: Fixed from version 4.13rc1"
 
-CVE_STATUS[CVE-2017-18550] = "fixed-version: Fixed after version 4.13rc1"
+CVE_STATUS[CVE-2017-18550] = "fixed-version: Fixed from version 4.13rc1"
 
-CVE_STATUS[CVE-2017-18551] = "fixed-version: Fixed after version 4.15rc9"
+CVE_STATUS[CVE-2017-18551] = "fixed-version: Fixed from version 4.15rc9"
 
-CVE_STATUS[CVE-2017-18552] = "fixed-version: Fixed after version 4.11rc1"
+CVE_STATUS[CVE-2017-18552] = "fixed-version: Fixed from version 4.11rc1"
 
-CVE_STATUS[CVE-2017-18595] = "fixed-version: Fixed after version 4.15rc6"
+CVE_STATUS[CVE-2017-18595] = "fixed-version: Fixed from version 4.15rc6"
 
-CVE_STATUS[CVE-2017-2583] = "fixed-version: Fixed after version 4.10rc4"
+CVE_STATUS[CVE-2017-2583] = "fixed-version: Fixed from version 4.10rc4"
 
-CVE_STATUS[CVE-2017-2584] = "fixed-version: Fixed after version 4.10rc4"
+CVE_STATUS[CVE-2017-2584] = "fixed-version: Fixed from version 4.10rc4"
 
-CVE_STATUS[CVE-2017-2596] = "fixed-version: Fixed after version 4.11rc1"
+CVE_STATUS[CVE-2017-2596] = "fixed-version: Fixed from version 4.11rc1"
 
-CVE_STATUS[CVE-2017-2618] = "fixed-version: Fixed after version 4.10rc8"
+CVE_STATUS[CVE-2017-2618] = "fixed-version: Fixed from version 4.10rc8"
 
-CVE_STATUS[CVE-2017-2634] = "fixed-version: Fixed after version 2.6.25rc1"
+CVE_STATUS[CVE-2017-2634] = "fixed-version: Fixed from version 2.6.25rc1"
 
-CVE_STATUS[CVE-2017-2636] = "fixed-version: Fixed after version 4.11rc2"
+CVE_STATUS[CVE-2017-2636] = "fixed-version: Fixed from version 4.11rc2"
 
-CVE_STATUS[CVE-2017-2647] = "fixed-version: Fixed after version 3.18rc1"
+CVE_STATUS[CVE-2017-2647] = "fixed-version: Fixed from version 3.18rc1"
 
-CVE_STATUS[CVE-2017-2671] = "fixed-version: Fixed after version 4.11rc6"
+CVE_STATUS[CVE-2017-2671] = "fixed-version: Fixed from version 4.11rc6"
 
-CVE_STATUS[CVE-2017-5123] = "fixed-version: Fixed after version 4.14rc5"
+CVE_STATUS[CVE-2017-5123] = "fixed-version: Fixed from version 4.14rc5"
 
-CVE_STATUS[CVE-2017-5546] = "fixed-version: Fixed after version 4.10rc4"
+CVE_STATUS[CVE-2017-5546] = "fixed-version: Fixed from version 4.10rc4"
 
-CVE_STATUS[CVE-2017-5547] = "fixed-version: Fixed after version 4.10rc5"
+CVE_STATUS[CVE-2017-5547] = "fixed-version: Fixed from version 4.10rc5"
 
-CVE_STATUS[CVE-2017-5548] = "fixed-version: Fixed after version 4.10rc5"
+CVE_STATUS[CVE-2017-5548] = "fixed-version: Fixed from version 4.10rc5"
 
-CVE_STATUS[CVE-2017-5549] = "fixed-version: Fixed after version 4.10rc4"
+CVE_STATUS[CVE-2017-5549] = "fixed-version: Fixed from version 4.10rc4"
 
-CVE_STATUS[CVE-2017-5550] = "fixed-version: Fixed after version 4.10rc4"
+CVE_STATUS[CVE-2017-5550] = "fixed-version: Fixed from version 4.10rc4"
 
-CVE_STATUS[CVE-2017-5551] = "fixed-version: Fixed after version 4.10rc4"
+CVE_STATUS[CVE-2017-5551] = "fixed-version: Fixed from version 4.10rc4"
 
-CVE_STATUS[CVE-2017-5576] = "fixed-version: Fixed after version 4.10rc6"
+CVE_STATUS[CVE-2017-5576] = "fixed-version: Fixed from version 4.10rc6"
 
-CVE_STATUS[CVE-2017-5577] = "fixed-version: Fixed after version 4.10rc6"
+CVE_STATUS[CVE-2017-5577] = "fixed-version: Fixed from version 4.10rc6"
 
-CVE_STATUS[CVE-2017-5669] = "fixed-version: Fixed after version 4.11rc1"
+CVE_STATUS[CVE-2017-5669] = "fixed-version: Fixed from version 4.11rc1"
 
-CVE_STATUS[CVE-2017-5715] = "fixed-version: Fixed after version 4.15rc8"
+CVE_STATUS[CVE-2017-5715] = "fixed-version: Fixed from version 4.15rc8"
 
-CVE_STATUS[CVE-2017-5753] = "fixed-version: Fixed after version 4.15rc8"
+CVE_STATUS[CVE-2017-5753] = "fixed-version: Fixed from version 4.15rc8"
 
-CVE_STATUS[CVE-2017-5754] = "fixed-version: Fixed after version 4.16rc1"
+CVE_STATUS[CVE-2017-5754] = "fixed-version: Fixed from version 4.16rc1"
 
-CVE_STATUS[CVE-2017-5897] = "fixed-version: Fixed after version 4.10rc8"
+CVE_STATUS[CVE-2017-5897] = "fixed-version: Fixed from version 4.10rc8"
 
-CVE_STATUS[CVE-2017-5967] = "fixed-version: Fixed after version 4.11rc1"
+CVE_STATUS[CVE-2017-5967] = "fixed-version: Fixed from version 4.11rc1"
 
-CVE_STATUS[CVE-2017-5970] = "fixed-version: Fixed after version 4.10rc8"
+CVE_STATUS[CVE-2017-5970] = "fixed-version: Fixed from version 4.10rc8"
 
-CVE_STATUS[CVE-2017-5972] = "fixed-version: Fixed after version 4.4rc1"
+CVE_STATUS[CVE-2017-5972] = "fixed-version: Fixed from version 4.4rc1"
 
-CVE_STATUS[CVE-2017-5986] = "fixed-version: Fixed after version 4.10rc8"
+CVE_STATUS[CVE-2017-5986] = "fixed-version: Fixed from version 4.10rc8"
 
-CVE_STATUS[CVE-2017-6001] = "fixed-version: Fixed after version 4.10rc4"
+CVE_STATUS[CVE-2017-6001] = "fixed-version: Fixed from version 4.10rc4"
 
-CVE_STATUS[CVE-2017-6074] = "fixed-version: Fixed after version 4.10"
+CVE_STATUS[CVE-2017-6074] = "fixed-version: Fixed from version 4.10"
 
-CVE_STATUS[CVE-2017-6214] = "fixed-version: Fixed after version 4.10rc8"
+CVE_STATUS[CVE-2017-6214] = "fixed-version: Fixed from version 4.10rc8"
 
-CVE_STATUS[CVE-2017-6345] = "fixed-version: Fixed after version 4.10"
+CVE_STATUS[CVE-2017-6345] = "fixed-version: Fixed from version 4.10"
 
-CVE_STATUS[CVE-2017-6346] = "fixed-version: Fixed after version 4.10"
+CVE_STATUS[CVE-2017-6346] = "fixed-version: Fixed from version 4.10"
 
-CVE_STATUS[CVE-2017-6347] = "fixed-version: Fixed after version 4.11rc1"
+CVE_STATUS[CVE-2017-6347] = "fixed-version: Fixed from version 4.11rc1"
 
-CVE_STATUS[CVE-2017-6348] = "fixed-version: Fixed after version 4.10"
+CVE_STATUS[CVE-2017-6348] = "fixed-version: Fixed from version 4.10"
 
-CVE_STATUS[CVE-2017-6353] = "fixed-version: Fixed after version 4.11rc1"
+CVE_STATUS[CVE-2017-6353] = "fixed-version: Fixed from version 4.11rc1"
 
-CVE_STATUS[CVE-2017-6874] = "fixed-version: Fixed after version 4.11rc2"
+CVE_STATUS[CVE-2017-6874] = "fixed-version: Fixed from version 4.11rc2"
 
-CVE_STATUS[CVE-2017-6951] = "fixed-version: Fixed after version 3.18rc1"
+CVE_STATUS[CVE-2017-6951] = "fixed-version: Fixed from version 3.18rc1"
 
-CVE_STATUS[CVE-2017-7184] = "fixed-version: Fixed after version 4.11rc5"
+CVE_STATUS[CVE-2017-7184] = "fixed-version: Fixed from version 4.11rc5"
 
-CVE_STATUS[CVE-2017-7187] = "fixed-version: Fixed after version 4.11rc5"
+CVE_STATUS[CVE-2017-7187] = "fixed-version: Fixed from version 4.11rc5"
 
-CVE_STATUS[CVE-2017-7261] = "fixed-version: Fixed after version 4.11rc6"
+CVE_STATUS[CVE-2017-7261] = "fixed-version: Fixed from version 4.11rc6"
 
-CVE_STATUS[CVE-2017-7273] = "fixed-version: Fixed after version 4.10rc4"
+CVE_STATUS[CVE-2017-7273] = "fixed-version: Fixed from version 4.10rc4"
 
-CVE_STATUS[CVE-2017-7277] = "fixed-version: Fixed after version 4.11rc4"
+CVE_STATUS[CVE-2017-7277] = "fixed-version: Fixed from version 4.11rc4"
 
-CVE_STATUS[CVE-2017-7294] = "fixed-version: Fixed after version 4.11rc6"
+CVE_STATUS[CVE-2017-7294] = "fixed-version: Fixed from version 4.11rc6"
 
-CVE_STATUS[CVE-2017-7308] = "fixed-version: Fixed after version 4.11rc6"
+CVE_STATUS[CVE-2017-7308] = "fixed-version: Fixed from version 4.11rc6"
 
-CVE_STATUS[CVE-2017-7346] = "fixed-version: Fixed after version 4.12rc5"
+CVE_STATUS[CVE-2017-7346] = "fixed-version: Fixed from version 4.12rc5"
 
 # CVE-2017-7369 has no known resolution
 
-CVE_STATUS[CVE-2017-7374] = "fixed-version: Fixed after version 4.11rc4"
+CVE_STATUS[CVE-2017-7374] = "fixed-version: Fixed from version 4.11rc4"
 
-CVE_STATUS[CVE-2017-7472] = "fixed-version: Fixed after version 4.11rc8"
+CVE_STATUS[CVE-2017-7472] = "fixed-version: Fixed from version 4.11rc8"
 
-CVE_STATUS[CVE-2017-7477] = "fixed-version: Fixed after version 4.11"
+CVE_STATUS[CVE-2017-7477] = "fixed-version: Fixed from version 4.11"
 
-CVE_STATUS[CVE-2017-7482] = "fixed-version: Fixed after version 4.12rc7"
+CVE_STATUS[CVE-2017-7482] = "fixed-version: Fixed from version 4.12rc7"
 
-CVE_STATUS[CVE-2017-7487] = "fixed-version: Fixed after version 4.12rc1"
+CVE_STATUS[CVE-2017-7487] = "fixed-version: Fixed from version 4.12rc1"
 
-CVE_STATUS[CVE-2017-7495] = "fixed-version: Fixed after version 4.7rc1"
+CVE_STATUS[CVE-2017-7495] = "fixed-version: Fixed from version 4.7rc1"
 
-CVE_STATUS[CVE-2017-7518] = "fixed-version: Fixed after version 4.12rc7"
+CVE_STATUS[CVE-2017-7518] = "fixed-version: Fixed from version 4.12rc7"
 
-CVE_STATUS[CVE-2017-7533] = "fixed-version: Fixed after version 4.13rc1"
+CVE_STATUS[CVE-2017-7533] = "fixed-version: Fixed from version 4.13rc1"
 
-CVE_STATUS[CVE-2017-7541] = "fixed-version: Fixed after version 4.13rc1"
+CVE_STATUS[CVE-2017-7541] = "fixed-version: Fixed from version 4.13rc1"
 
-CVE_STATUS[CVE-2017-7542] = "fixed-version: Fixed after version 4.13rc2"
+CVE_STATUS[CVE-2017-7542] = "fixed-version: Fixed from version 4.13rc2"
 
-CVE_STATUS[CVE-2017-7558] = "fixed-version: Fixed after version 4.13"
+CVE_STATUS[CVE-2017-7558] = "fixed-version: Fixed from version 4.13"
 
-CVE_STATUS[CVE-2017-7616] = "fixed-version: Fixed after version 4.11rc6"
+CVE_STATUS[CVE-2017-7616] = "fixed-version: Fixed from version 4.11rc6"
 
-CVE_STATUS[CVE-2017-7618] = "fixed-version: Fixed after version 4.11rc8"
+CVE_STATUS[CVE-2017-7618] = "fixed-version: Fixed from version 4.11rc8"
 
-CVE_STATUS[CVE-2017-7645] = "fixed-version: Fixed after version 4.11"
+CVE_STATUS[CVE-2017-7645] = "fixed-version: Fixed from version 4.11"
 
-CVE_STATUS[CVE-2017-7889] = "fixed-version: Fixed after version 4.11rc7"
+CVE_STATUS[CVE-2017-7889] = "fixed-version: Fixed from version 4.11rc7"
 
-CVE_STATUS[CVE-2017-7895] = "fixed-version: Fixed after version 4.11"
+CVE_STATUS[CVE-2017-7895] = "fixed-version: Fixed from version 4.11"
 
-CVE_STATUS[CVE-2017-7979] = "fixed-version: Fixed after version 4.11rc8"
+CVE_STATUS[CVE-2017-7979] = "fixed-version: Fixed from version 4.11rc8"
 
-CVE_STATUS[CVE-2017-8061] = "fixed-version: Fixed after version 4.11rc4"
+CVE_STATUS[CVE-2017-8061] = "fixed-version: Fixed from version 4.11rc4"
 
-CVE_STATUS[CVE-2017-8062] = "fixed-version: Fixed after version 4.11rc2"
+CVE_STATUS[CVE-2017-8062] = "fixed-version: Fixed from version 4.11rc2"
 
-CVE_STATUS[CVE-2017-8063] = "fixed-version: Fixed after version 4.11rc1"
+CVE_STATUS[CVE-2017-8063] = "fixed-version: Fixed from version 4.11rc1"
 
-CVE_STATUS[CVE-2017-8064] = "fixed-version: Fixed after version 4.11rc1"
+CVE_STATUS[CVE-2017-8064] = "fixed-version: Fixed from version 4.11rc1"
 
-CVE_STATUS[CVE-2017-8065] = "fixed-version: Fixed after version 4.11rc1"
+CVE_STATUS[CVE-2017-8065] = "fixed-version: Fixed from version 4.11rc1"
 
-CVE_STATUS[CVE-2017-8066] = "fixed-version: Fixed after version 4.11rc1"
+CVE_STATUS[CVE-2017-8066] = "fixed-version: Fixed from version 4.11rc1"
 
-CVE_STATUS[CVE-2017-8067] = "fixed-version: Fixed after version 4.11rc1"
+CVE_STATUS[CVE-2017-8067] = "fixed-version: Fixed from version 4.11rc1"
 
-CVE_STATUS[CVE-2017-8068] = "fixed-version: Fixed after version 4.10rc8"
+CVE_STATUS[CVE-2017-8068] = "fixed-version: Fixed from version 4.10rc8"
 
-CVE_STATUS[CVE-2017-8069] = "fixed-version: Fixed after version 4.10rc8"
+CVE_STATUS[CVE-2017-8069] = "fixed-version: Fixed from version 4.10rc8"
 
-CVE_STATUS[CVE-2017-8070] = "fixed-version: Fixed after version 4.10rc8"
+CVE_STATUS[CVE-2017-8070] = "fixed-version: Fixed from version 4.10rc8"
 
-CVE_STATUS[CVE-2017-8071] = "fixed-version: Fixed after version 4.10rc7"
+CVE_STATUS[CVE-2017-8071] = "fixed-version: Fixed from version 4.10rc7"
 
-CVE_STATUS[CVE-2017-8072] = "fixed-version: Fixed after version 4.10rc7"
+CVE_STATUS[CVE-2017-8072] = "fixed-version: Fixed from version 4.10rc7"
 
-CVE_STATUS[CVE-2017-8106] = "fixed-version: Fixed after version 3.16rc1"
+CVE_STATUS[CVE-2017-8106] = "fixed-version: Fixed from version 3.16rc1"
 
-CVE_STATUS[CVE-2017-8240] = "fixed-version: Fixed after version 3.19rc6"
+CVE_STATUS[CVE-2017-8240] = "fixed-version: Fixed from version 3.19rc6"
 
 # CVE-2017-8242 has no known resolution
 
@@ -2027,161 +2036,161 @@
 
 # CVE-2017-8246 has no known resolution
 
-CVE_STATUS[CVE-2017-8797] = "fixed-version: Fixed after version 4.12rc1"
+CVE_STATUS[CVE-2017-8797] = "fixed-version: Fixed from version 4.12rc1"
 
-CVE_STATUS[CVE-2017-8824] = "fixed-version: Fixed after version 4.15rc3"
+CVE_STATUS[CVE-2017-8824] = "fixed-version: Fixed from version 4.15rc3"
 
-CVE_STATUS[CVE-2017-8831] = "fixed-version: Fixed after version 4.13rc1"
+CVE_STATUS[CVE-2017-8831] = "fixed-version: Fixed from version 4.13rc1"
 
-CVE_STATUS[CVE-2017-8890] = "fixed-version: Fixed after version 4.12rc1"
+CVE_STATUS[CVE-2017-8890] = "fixed-version: Fixed from version 4.12rc1"
 
-CVE_STATUS[CVE-2017-8924] = "fixed-version: Fixed after version 4.11rc2"
+CVE_STATUS[CVE-2017-8924] = "fixed-version: Fixed from version 4.11rc2"
 
-CVE_STATUS[CVE-2017-8925] = "fixed-version: Fixed after version 4.11rc2"
+CVE_STATUS[CVE-2017-8925] = "fixed-version: Fixed from version 4.11rc2"
 
-CVE_STATUS[CVE-2017-9059] = "fixed-version: Fixed after version 4.12rc1"
+CVE_STATUS[CVE-2017-9059] = "fixed-version: Fixed from version 4.12rc1"
 
-CVE_STATUS[CVE-2017-9074] = "fixed-version: Fixed after version 4.12rc2"
+CVE_STATUS[CVE-2017-9074] = "fixed-version: Fixed from version 4.12rc2"
 
-CVE_STATUS[CVE-2017-9075] = "fixed-version: Fixed after version 4.12rc2"
+CVE_STATUS[CVE-2017-9075] = "fixed-version: Fixed from version 4.12rc2"
 
-CVE_STATUS[CVE-2017-9076] = "fixed-version: Fixed after version 4.12rc2"
+CVE_STATUS[CVE-2017-9076] = "fixed-version: Fixed from version 4.12rc2"
 
-CVE_STATUS[CVE-2017-9077] = "fixed-version: Fixed after version 4.12rc2"
+CVE_STATUS[CVE-2017-9077] = "fixed-version: Fixed from version 4.12rc2"
 
-CVE_STATUS[CVE-2017-9150] = "fixed-version: Fixed after version 4.12rc1"
+CVE_STATUS[CVE-2017-9150] = "fixed-version: Fixed from version 4.12rc1"
 
-CVE_STATUS[CVE-2017-9211] = "fixed-version: Fixed after version 4.12rc3"
+CVE_STATUS[CVE-2017-9211] = "fixed-version: Fixed from version 4.12rc3"
 
-CVE_STATUS[CVE-2017-9242] = "fixed-version: Fixed after version 4.12rc3"
+CVE_STATUS[CVE-2017-9242] = "fixed-version: Fixed from version 4.12rc3"
 
-CVE_STATUS[CVE-2017-9605] = "fixed-version: Fixed after version 4.12rc5"
+CVE_STATUS[CVE-2017-9605] = "fixed-version: Fixed from version 4.12rc5"
 
-CVE_STATUS[CVE-2017-9725] = "fixed-version: Fixed after version 4.3rc7"
+CVE_STATUS[CVE-2017-9725] = "fixed-version: Fixed from version 4.3rc7"
 
-CVE_STATUS[CVE-2017-9984] = "fixed-version: Fixed after version 4.13rc1"
+CVE_STATUS[CVE-2017-9984] = "fixed-version: Fixed from version 4.13rc1"
 
-CVE_STATUS[CVE-2017-9985] = "fixed-version: Fixed after version 4.13rc1"
+CVE_STATUS[CVE-2017-9985] = "fixed-version: Fixed from version 4.13rc1"
 
-CVE_STATUS[CVE-2017-9986] = "fixed-version: Fixed after version 4.15rc1"
+CVE_STATUS[CVE-2017-9986] = "fixed-version: Fixed from version 4.15rc1"
 
-CVE_STATUS[CVE-2018-1000004] = "fixed-version: Fixed after version 4.15rc9"
+CVE_STATUS[CVE-2018-1000004] = "fixed-version: Fixed from version 4.15rc9"
 
-CVE_STATUS[CVE-2018-1000026] = "fixed-version: Fixed after version 4.16rc1"
+CVE_STATUS[CVE-2018-1000026] = "fixed-version: Fixed from version 4.16rc1"
 
-CVE_STATUS[CVE-2018-1000028] = "fixed-version: Fixed after version 4.15"
+CVE_STATUS[CVE-2018-1000028] = "fixed-version: Fixed from version 4.15"
 
-CVE_STATUS[CVE-2018-1000199] = "fixed-version: Fixed after version 4.16"
+CVE_STATUS[CVE-2018-1000199] = "fixed-version: Fixed from version 4.16"
 
-CVE_STATUS[CVE-2018-1000200] = "fixed-version: Fixed after version 4.17rc5"
+CVE_STATUS[CVE-2018-1000200] = "fixed-version: Fixed from version 4.17rc5"
 
-CVE_STATUS[CVE-2018-1000204] = "fixed-version: Fixed after version 4.17rc7"
+CVE_STATUS[CVE-2018-1000204] = "fixed-version: Fixed from version 4.17rc7"
 
-CVE_STATUS[CVE-2018-10021] = "fixed-version: Fixed after version 4.16rc7"
+CVE_STATUS[CVE-2018-10021] = "fixed-version: Fixed from version 4.16rc7"
 
-CVE_STATUS[CVE-2018-10074] = "fixed-version: Fixed after version 4.16rc7"
+CVE_STATUS[CVE-2018-10074] = "fixed-version: Fixed from version 4.16rc7"
 
-CVE_STATUS[CVE-2018-10087] = "fixed-version: Fixed after version 4.13rc1"
+CVE_STATUS[CVE-2018-10087] = "fixed-version: Fixed from version 4.13rc1"
 
-CVE_STATUS[CVE-2018-10124] = "fixed-version: Fixed after version 4.13rc1"
+CVE_STATUS[CVE-2018-10124] = "fixed-version: Fixed from version 4.13rc1"
 
-CVE_STATUS[CVE-2018-10322] = "fixed-version: Fixed after version 4.17rc4"
+CVE_STATUS[CVE-2018-10322] = "fixed-version: Fixed from version 4.17rc4"
 
-CVE_STATUS[CVE-2018-10323] = "fixed-version: Fixed after version 4.17rc4"
+CVE_STATUS[CVE-2018-10323] = "fixed-version: Fixed from version 4.17rc4"
 
-CVE_STATUS[CVE-2018-1065] = "fixed-version: Fixed after version 4.16rc3"
+CVE_STATUS[CVE-2018-1065] = "fixed-version: Fixed from version 4.16rc3"
 
-CVE_STATUS[CVE-2018-1066] = "fixed-version: Fixed after version 4.11rc1"
+CVE_STATUS[CVE-2018-1066] = "fixed-version: Fixed from version 4.11rc1"
 
-CVE_STATUS[CVE-2018-10675] = "fixed-version: Fixed after version 4.13rc6"
+CVE_STATUS[CVE-2018-10675] = "fixed-version: Fixed from version 4.13rc6"
 
-CVE_STATUS[CVE-2018-1068] = "fixed-version: Fixed after version 4.16rc5"
+CVE_STATUS[CVE-2018-1068] = "fixed-version: Fixed from version 4.16rc5"
 
-CVE_STATUS[CVE-2018-10840] = "fixed-version: Fixed after version 4.18rc1"
+CVE_STATUS[CVE-2018-10840] = "fixed-version: Fixed from version 4.18rc1"
 
-CVE_STATUS[CVE-2018-10853] = "fixed-version: Fixed after version 4.18rc1"
+CVE_STATUS[CVE-2018-10853] = "fixed-version: Fixed from version 4.18rc1"
 
-CVE_STATUS[CVE-2018-1087] = "fixed-version: Fixed after version 4.16rc7"
+CVE_STATUS[CVE-2018-1087] = "fixed-version: Fixed from version 4.16rc7"
 
 # CVE-2018-10872 has no known resolution
 
-CVE_STATUS[CVE-2018-10876] = "fixed-version: Fixed after version 4.18rc4"
+CVE_STATUS[CVE-2018-10876] = "fixed-version: Fixed from version 4.18rc4"
 
-CVE_STATUS[CVE-2018-10877] = "fixed-version: Fixed after version 4.18rc4"
+CVE_STATUS[CVE-2018-10877] = "fixed-version: Fixed from version 4.18rc4"
 
-CVE_STATUS[CVE-2018-10878] = "fixed-version: Fixed after version 4.18rc4"
+CVE_STATUS[CVE-2018-10878] = "fixed-version: Fixed from version 4.18rc4"
 
-CVE_STATUS[CVE-2018-10879] = "fixed-version: Fixed after version 4.18rc4"
+CVE_STATUS[CVE-2018-10879] = "fixed-version: Fixed from version 4.18rc4"
 
-CVE_STATUS[CVE-2018-10880] = "fixed-version: Fixed after version 4.18rc4"
+CVE_STATUS[CVE-2018-10880] = "fixed-version: Fixed from version 4.18rc4"
 
-CVE_STATUS[CVE-2018-10881] = "fixed-version: Fixed after version 4.18rc4"
+CVE_STATUS[CVE-2018-10881] = "fixed-version: Fixed from version 4.18rc4"
 
-CVE_STATUS[CVE-2018-10882] = "fixed-version: Fixed after version 4.18rc4"
+CVE_STATUS[CVE-2018-10882] = "fixed-version: Fixed from version 4.18rc4"
 
-CVE_STATUS[CVE-2018-10883] = "fixed-version: Fixed after version 4.18rc4"
+CVE_STATUS[CVE-2018-10883] = "fixed-version: Fixed from version 4.18rc4"
 
-CVE_STATUS[CVE-2018-10901] = "fixed-version: Fixed after version 2.6.36rc1"
+CVE_STATUS[CVE-2018-10901] = "fixed-version: Fixed from version 2.6.36rc1"
 
-CVE_STATUS[CVE-2018-10902] = "fixed-version: Fixed after version 4.18rc6"
+CVE_STATUS[CVE-2018-10902] = "fixed-version: Fixed from version 4.18rc6"
 
-CVE_STATUS[CVE-2018-1091] = "fixed-version: Fixed after version 4.14rc2"
+CVE_STATUS[CVE-2018-1091] = "fixed-version: Fixed from version 4.14rc2"
 
-CVE_STATUS[CVE-2018-1092] = "fixed-version: Fixed after version 4.17rc1"
+CVE_STATUS[CVE-2018-1092] = "fixed-version: Fixed from version 4.17rc1"
 
-CVE_STATUS[CVE-2018-1093] = "fixed-version: Fixed after version 4.17rc1"
+CVE_STATUS[CVE-2018-1093] = "fixed-version: Fixed from version 4.17rc1"
 
-CVE_STATUS[CVE-2018-10938] = "fixed-version: Fixed after version 4.13rc5"
+CVE_STATUS[CVE-2018-10938] = "fixed-version: Fixed from version 4.13rc5"
 
-CVE_STATUS[CVE-2018-1094] = "fixed-version: Fixed after version 4.17rc1"
+CVE_STATUS[CVE-2018-1094] = "fixed-version: Fixed from version 4.17rc1"
 
-CVE_STATUS[CVE-2018-10940] = "fixed-version: Fixed after version 4.17rc3"
+CVE_STATUS[CVE-2018-10940] = "fixed-version: Fixed from version 4.17rc3"
 
-CVE_STATUS[CVE-2018-1095] = "fixed-version: Fixed after version 4.17rc1"
+CVE_STATUS[CVE-2018-1095] = "fixed-version: Fixed from version 4.17rc1"
 
-CVE_STATUS[CVE-2018-1108] = "fixed-version: Fixed after version 4.17rc2"
+CVE_STATUS[CVE-2018-1108] = "fixed-version: Fixed from version 4.17rc2"
 
-CVE_STATUS[CVE-2018-1118] = "fixed-version: Fixed after version 4.18rc1"
+CVE_STATUS[CVE-2018-1118] = "fixed-version: Fixed from version 4.18rc1"
 
-CVE_STATUS[CVE-2018-1120] = "fixed-version: Fixed after version 4.17rc6"
+CVE_STATUS[CVE-2018-1120] = "fixed-version: Fixed from version 4.17rc6"
 
 # CVE-2018-1121 has no known resolution
 
-CVE_STATUS[CVE-2018-11232] = "fixed-version: Fixed after version 4.11rc1"
+CVE_STATUS[CVE-2018-11232] = "fixed-version: Fixed from version 4.11rc1"
 
-CVE_STATUS[CVE-2018-1128] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2018-1128] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2018-1129] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2018-1129] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2018-1130] = "fixed-version: Fixed after version 4.16rc7"
+CVE_STATUS[CVE-2018-1130] = "fixed-version: Fixed from version 4.16rc7"
 
-CVE_STATUS[CVE-2018-11412] = "fixed-version: Fixed after version 4.18rc1"
+CVE_STATUS[CVE-2018-11412] = "fixed-version: Fixed from version 4.18rc1"
 
-CVE_STATUS[CVE-2018-11506] = "fixed-version: Fixed after version 4.17rc7"
+CVE_STATUS[CVE-2018-11506] = "fixed-version: Fixed from version 4.17rc7"
 
-CVE_STATUS[CVE-2018-11508] = "fixed-version: Fixed after version 4.17rc5"
+CVE_STATUS[CVE-2018-11508] = "fixed-version: Fixed from version 4.17rc5"
 
 # CVE-2018-11987 has no known resolution
 
-CVE_STATUS[CVE-2018-12126] = "fixed-version: Fixed after version 5.2rc1"
+CVE_STATUS[CVE-2018-12126] = "fixed-version: Fixed from version 5.2rc1"
 
-CVE_STATUS[CVE-2018-12127] = "fixed-version: Fixed after version 5.2rc1"
+CVE_STATUS[CVE-2018-12127] = "fixed-version: Fixed from version 5.2rc1"
 
-CVE_STATUS[CVE-2018-12130] = "fixed-version: Fixed after version 5.2rc1"
+CVE_STATUS[CVE-2018-12130] = "fixed-version: Fixed from version 5.2rc1"
 
-CVE_STATUS[CVE-2018-12207] = "fixed-version: Fixed after version 5.4rc2"
+CVE_STATUS[CVE-2018-12207] = "fixed-version: Fixed from version 5.4rc2"
 
-CVE_STATUS[CVE-2018-12232] = "fixed-version: Fixed after version 4.18rc1"
+CVE_STATUS[CVE-2018-12232] = "fixed-version: Fixed from version 4.18rc1"
 
-CVE_STATUS[CVE-2018-12233] = "fixed-version: Fixed after version 4.18rc2"
+CVE_STATUS[CVE-2018-12233] = "fixed-version: Fixed from version 4.18rc2"
 
-CVE_STATUS[CVE-2018-12633] = "fixed-version: Fixed after version 4.18rc1"
+CVE_STATUS[CVE-2018-12633] = "fixed-version: Fixed from version 4.18rc1"
 
-CVE_STATUS[CVE-2018-12714] = "fixed-version: Fixed after version 4.18rc2"
+CVE_STATUS[CVE-2018-12714] = "fixed-version: Fixed from version 4.18rc2"
 
-CVE_STATUS[CVE-2018-12896] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2018-12896] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2018-12904] = "fixed-version: Fixed after version 4.18rc1"
+CVE_STATUS[CVE-2018-12904] = "fixed-version: Fixed from version 4.18rc1"
 
 # CVE-2018-12928 has no known resolution
 
@@ -2191,445 +2200,445 @@
 
 # CVE-2018-12931 has no known resolution
 
-CVE_STATUS[CVE-2018-13053] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2018-13053] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2018-13093] = "fixed-version: Fixed after version 4.18rc1"
+CVE_STATUS[CVE-2018-13093] = "fixed-version: Fixed from version 4.18rc1"
 
-CVE_STATUS[CVE-2018-13094] = "fixed-version: Fixed after version 4.18rc1"
+CVE_STATUS[CVE-2018-13094] = "fixed-version: Fixed from version 4.18rc1"
 
-CVE_STATUS[CVE-2018-13095] = "fixed-version: Fixed after version 4.18rc3"
+CVE_STATUS[CVE-2018-13095] = "fixed-version: Fixed from version 4.18rc3"
 
-CVE_STATUS[CVE-2018-13096] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2018-13096] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2018-13097] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2018-13097] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2018-13098] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2018-13098] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2018-13099] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2018-13099] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2018-13100] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2018-13100] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2018-13405] = "fixed-version: Fixed after version 4.18rc4"
+CVE_STATUS[CVE-2018-13405] = "fixed-version: Fixed from version 4.18rc4"
 
-CVE_STATUS[CVE-2018-13406] = "fixed-version: Fixed after version 4.18rc1"
+CVE_STATUS[CVE-2018-13406] = "fixed-version: Fixed from version 4.18rc1"
 
-CVE_STATUS[CVE-2018-14609] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2018-14609] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2018-14610] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2018-14610] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2018-14611] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2018-14611] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2018-14612] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2018-14612] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2018-14613] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2018-14613] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2018-14614] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2018-14614] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2018-14615] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2018-14615] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2018-14616] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2018-14616] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2018-14617] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2018-14617] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2018-14619] = "fixed-version: Fixed after version 4.15rc4"
+CVE_STATUS[CVE-2018-14619] = "fixed-version: Fixed from version 4.15rc4"
 
-CVE_STATUS[CVE-2018-14625] = "fixed-version: Fixed after version 4.20rc6"
+CVE_STATUS[CVE-2018-14625] = "fixed-version: Fixed from version 4.20rc6"
 
-CVE_STATUS[CVE-2018-14633] = "fixed-version: Fixed after version 4.19rc6"
+CVE_STATUS[CVE-2018-14633] = "fixed-version: Fixed from version 4.19rc6"
 
-CVE_STATUS[CVE-2018-14634] = "fixed-version: Fixed after version 4.13rc1"
+CVE_STATUS[CVE-2018-14634] = "fixed-version: Fixed from version 4.13rc1"
 
-CVE_STATUS[CVE-2018-14641] = "fixed-version: Fixed after version 4.19rc4"
+CVE_STATUS[CVE-2018-14641] = "fixed-version: Fixed from version 4.19rc4"
 
-CVE_STATUS[CVE-2018-14646] = "fixed-version: Fixed after version 4.15rc8"
+CVE_STATUS[CVE-2018-14646] = "fixed-version: Fixed from version 4.15rc8"
 
-CVE_STATUS[CVE-2018-14656] = "fixed-version: Fixed after version 4.19rc2"
+CVE_STATUS[CVE-2018-14656] = "fixed-version: Fixed from version 4.19rc2"
 
-CVE_STATUS[CVE-2018-14678] = "fixed-version: Fixed after version 4.18rc8"
+CVE_STATUS[CVE-2018-14678] = "fixed-version: Fixed from version 4.18rc8"
 
-CVE_STATUS[CVE-2018-14734] = "fixed-version: Fixed after version 4.18rc1"
+CVE_STATUS[CVE-2018-14734] = "fixed-version: Fixed from version 4.18rc1"
 
-CVE_STATUS[CVE-2018-15471] = "fixed-version: Fixed after version 4.19rc7"
+CVE_STATUS[CVE-2018-15471] = "fixed-version: Fixed from version 4.19rc7"
 
-CVE_STATUS[CVE-2018-15572] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2018-15572] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2018-15594] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2018-15594] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2018-16276] = "fixed-version: Fixed after version 4.18rc5"
+CVE_STATUS[CVE-2018-16276] = "fixed-version: Fixed from version 4.18rc5"
 
-CVE_STATUS[CVE-2018-16597] = "fixed-version: Fixed after version 4.8rc1"
+CVE_STATUS[CVE-2018-16597] = "fixed-version: Fixed from version 4.8rc1"
 
-CVE_STATUS[CVE-2018-16658] = "fixed-version: Fixed after version 4.19rc2"
+CVE_STATUS[CVE-2018-16658] = "fixed-version: Fixed from version 4.19rc2"
 
-CVE_STATUS[CVE-2018-16862] = "fixed-version: Fixed after version 4.20rc5"
+CVE_STATUS[CVE-2018-16862] = "fixed-version: Fixed from version 4.20rc5"
 
-CVE_STATUS[CVE-2018-16871] = "fixed-version: Fixed after version 4.20rc3"
+CVE_STATUS[CVE-2018-16871] = "fixed-version: Fixed from version 4.20rc3"
 
-CVE_STATUS[CVE-2018-16880] = "fixed-version: Fixed after version 5.0rc5"
+CVE_STATUS[CVE-2018-16880] = "fixed-version: Fixed from version 5.0rc5"
 
-CVE_STATUS[CVE-2018-16882] = "fixed-version: Fixed after version 4.20"
+CVE_STATUS[CVE-2018-16882] = "fixed-version: Fixed from version 4.20"
 
-CVE_STATUS[CVE-2018-16884] = "fixed-version: Fixed after version 5.0rc1"
+CVE_STATUS[CVE-2018-16884] = "fixed-version: Fixed from version 5.0rc1"
 
 # CVE-2018-16885 has no known resolution
 
-CVE_STATUS[CVE-2018-17182] = "fixed-version: Fixed after version 4.19rc4"
+CVE_STATUS[CVE-2018-17182] = "fixed-version: Fixed from version 4.19rc4"
 
-CVE_STATUS[CVE-2018-17972] = "fixed-version: Fixed after version 4.19rc7"
+CVE_STATUS[CVE-2018-17972] = "fixed-version: Fixed from version 4.19rc7"
 
 # CVE-2018-17977 has no known resolution
 
-CVE_STATUS[CVE-2018-18021] = "fixed-version: Fixed after version 4.19rc7"
+CVE_STATUS[CVE-2018-18021] = "fixed-version: Fixed from version 4.19rc7"
 
-CVE_STATUS[CVE-2018-18281] = "fixed-version: Fixed after version 4.19"
+CVE_STATUS[CVE-2018-18281] = "fixed-version: Fixed from version 4.19"
 
-CVE_STATUS[CVE-2018-18386] = "fixed-version: Fixed after version 4.15rc6"
+CVE_STATUS[CVE-2018-18386] = "fixed-version: Fixed from version 4.15rc6"
 
-CVE_STATUS[CVE-2018-18397] = "fixed-version: Fixed after version 4.20rc5"
+CVE_STATUS[CVE-2018-18397] = "fixed-version: Fixed from version 4.20rc5"
 
-CVE_STATUS[CVE-2018-18445] = "fixed-version: Fixed after version 4.19rc7"
+CVE_STATUS[CVE-2018-18445] = "fixed-version: Fixed from version 4.19rc7"
 
-CVE_STATUS[CVE-2018-18559] = "fixed-version: Fixed after version 4.15rc2"
+CVE_STATUS[CVE-2018-18559] = "fixed-version: Fixed from version 4.15rc2"
 
 # CVE-2018-18653 has no known resolution
 
-CVE_STATUS[CVE-2018-18690] = "fixed-version: Fixed after version 4.17rc4"
+CVE_STATUS[CVE-2018-18690] = "fixed-version: Fixed from version 4.17rc4"
 
-CVE_STATUS[CVE-2018-18710] = "fixed-version: Fixed after version 4.20rc1"
+CVE_STATUS[CVE-2018-18710] = "fixed-version: Fixed from version 4.20rc1"
 
-CVE_STATUS[CVE-2018-18955] = "fixed-version: Fixed after version 4.20rc2"
+CVE_STATUS[CVE-2018-18955] = "fixed-version: Fixed from version 4.20rc2"
 
-CVE_STATUS[CVE-2018-19406] = "fixed-version: Fixed after version 4.20rc5"
+CVE_STATUS[CVE-2018-19406] = "fixed-version: Fixed from version 4.20rc5"
 
-CVE_STATUS[CVE-2018-19407] = "fixed-version: Fixed after version 4.20rc5"
+CVE_STATUS[CVE-2018-19407] = "fixed-version: Fixed from version 4.20rc5"
 
-CVE_STATUS[CVE-2018-19824] = "fixed-version: Fixed after version 4.20rc6"
+CVE_STATUS[CVE-2018-19824] = "fixed-version: Fixed from version 4.20rc6"
 
-CVE_STATUS[CVE-2018-19854] = "fixed-version: Fixed after version 4.20rc3"
+CVE_STATUS[CVE-2018-19854] = "fixed-version: Fixed from version 4.20rc3"
 
-CVE_STATUS[CVE-2018-19985] = "fixed-version: Fixed after version 4.20"
+CVE_STATUS[CVE-2018-19985] = "fixed-version: Fixed from version 4.20"
 
-CVE_STATUS[CVE-2018-20169] = "fixed-version: Fixed after version 4.20rc6"
+CVE_STATUS[CVE-2018-20169] = "fixed-version: Fixed from version 4.20rc6"
 
-CVE_STATUS[CVE-2018-20449] = "fixed-version: Fixed after version 4.15rc2"
+CVE_STATUS[CVE-2018-20449] = "fixed-version: Fixed from version 4.15rc2"
 
-CVE_STATUS[CVE-2018-20509] = "fixed-version: Fixed after version 4.14rc1"
+CVE_STATUS[CVE-2018-20509] = "fixed-version: Fixed from version 4.14rc1"
 
-CVE_STATUS[CVE-2018-20510] = "fixed-version: Fixed after version 4.16rc3"
+CVE_STATUS[CVE-2018-20510] = "fixed-version: Fixed from version 4.16rc3"
 
-CVE_STATUS[CVE-2018-20511] = "fixed-version: Fixed after version 4.19rc5"
+CVE_STATUS[CVE-2018-20511] = "fixed-version: Fixed from version 4.19rc5"
 
-CVE_STATUS[CVE-2018-20669] = "fixed-version: Fixed after version 5.0rc1"
+CVE_STATUS[CVE-2018-20669] = "fixed-version: Fixed from version 5.0rc1"
 
-CVE_STATUS[CVE-2018-20784] = "fixed-version: Fixed after version 5.0rc1"
+CVE_STATUS[CVE-2018-20784] = "fixed-version: Fixed from version 5.0rc1"
 
-CVE_STATUS[CVE-2018-20836] = "fixed-version: Fixed after version 4.20rc1"
+CVE_STATUS[CVE-2018-20836] = "fixed-version: Fixed from version 4.20rc1"
 
-CVE_STATUS[CVE-2018-20854] = "fixed-version: Fixed after version 4.20rc1"
+CVE_STATUS[CVE-2018-20854] = "fixed-version: Fixed from version 4.20rc1"
 
-CVE_STATUS[CVE-2018-20855] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2018-20855] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2018-20856] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2018-20856] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2018-20961] = "fixed-version: Fixed after version 4.17rc1"
+CVE_STATUS[CVE-2018-20961] = "fixed-version: Fixed from version 4.17rc1"
 
-CVE_STATUS[CVE-2018-20976] = "fixed-version: Fixed after version 4.18rc1"
+CVE_STATUS[CVE-2018-20976] = "fixed-version: Fixed from version 4.18rc1"
 
-CVE_STATUS[CVE-2018-21008] = "fixed-version: Fixed after version 4.18rc1"
+CVE_STATUS[CVE-2018-21008] = "fixed-version: Fixed from version 4.18rc1"
 
-CVE_STATUS[CVE-2018-25015] = "fixed-version: Fixed after version 4.15rc9"
+CVE_STATUS[CVE-2018-25015] = "fixed-version: Fixed from version 4.15rc9"
 
-CVE_STATUS[CVE-2018-25020] = "fixed-version: Fixed after version 4.17rc7"
+CVE_STATUS[CVE-2018-25020] = "fixed-version: Fixed from version 4.17rc7"
 
 # CVE-2018-3574 has no known resolution
 
-CVE_STATUS[CVE-2018-3620] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2018-3620] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2018-3639] = "fixed-version: Fixed after version 4.17rc7"
+CVE_STATUS[CVE-2018-3639] = "fixed-version: Fixed from version 4.17rc7"
 
-CVE_STATUS[CVE-2018-3646] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2018-3646] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2018-3665] = "fixed-version: Fixed after version 3.7rc1"
+CVE_STATUS[CVE-2018-3665] = "fixed-version: Fixed from version 3.7rc1"
 
-CVE_STATUS[CVE-2018-3693] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2018-3693] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2018-5332] = "fixed-version: Fixed after version 4.15rc8"
+CVE_STATUS[CVE-2018-5332] = "fixed-version: Fixed from version 4.15rc8"
 
-CVE_STATUS[CVE-2018-5333] = "fixed-version: Fixed after version 4.15rc8"
+CVE_STATUS[CVE-2018-5333] = "fixed-version: Fixed from version 4.15rc8"
 
-CVE_STATUS[CVE-2018-5344] = "fixed-version: Fixed after version 4.15rc8"
+CVE_STATUS[CVE-2018-5344] = "fixed-version: Fixed from version 4.15rc8"
 
-CVE_STATUS[CVE-2018-5390] = "fixed-version: Fixed after version 4.18rc7"
+CVE_STATUS[CVE-2018-5390] = "fixed-version: Fixed from version 4.18rc7"
 
-CVE_STATUS[CVE-2018-5391] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2018-5391] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2018-5703] = "fixed-version: Fixed after version 4.16rc5"
+CVE_STATUS[CVE-2018-5703] = "fixed-version: Fixed from version 4.16rc5"
 
-CVE_STATUS[CVE-2018-5750] = "fixed-version: Fixed after version 4.16rc1"
+CVE_STATUS[CVE-2018-5750] = "fixed-version: Fixed from version 4.16rc1"
 
-CVE_STATUS[CVE-2018-5803] = "fixed-version: Fixed after version 4.16rc1"
+CVE_STATUS[CVE-2018-5803] = "fixed-version: Fixed from version 4.16rc1"
 
-CVE_STATUS[CVE-2018-5814] = "fixed-version: Fixed after version 4.17rc6"
+CVE_STATUS[CVE-2018-5814] = "fixed-version: Fixed from version 4.17rc6"
 
-CVE_STATUS[CVE-2018-5848] = "fixed-version: Fixed after version 4.16rc1"
+CVE_STATUS[CVE-2018-5848] = "fixed-version: Fixed from version 4.16rc1"
 
 # Skipping CVE-2018-5856, no affected_versions
 
-CVE_STATUS[CVE-2018-5873] = "fixed-version: Fixed after version 4.11rc8"
+CVE_STATUS[CVE-2018-5873] = "fixed-version: Fixed from version 4.11rc8"
 
-CVE_STATUS[CVE-2018-5953] = "fixed-version: Fixed after version 4.15rc2"
+CVE_STATUS[CVE-2018-5953] = "fixed-version: Fixed from version 4.15rc2"
 
-CVE_STATUS[CVE-2018-5995] = "fixed-version: Fixed after version 4.15rc2"
+CVE_STATUS[CVE-2018-5995] = "fixed-version: Fixed from version 4.15rc2"
 
-CVE_STATUS[CVE-2018-6412] = "fixed-version: Fixed after version 4.16rc5"
+CVE_STATUS[CVE-2018-6412] = "fixed-version: Fixed from version 4.16rc5"
 
-CVE_STATUS[CVE-2018-6554] = "fixed-version: Fixed after version 4.17rc1"
+CVE_STATUS[CVE-2018-6554] = "fixed-version: Fixed from version 4.17rc1"
 
-CVE_STATUS[CVE-2018-6555] = "fixed-version: Fixed after version 4.17rc1"
+CVE_STATUS[CVE-2018-6555] = "fixed-version: Fixed from version 4.17rc1"
 
 # CVE-2018-6559 has no known resolution
 
-CVE_STATUS[CVE-2018-6927] = "fixed-version: Fixed after version 4.15rc9"
+CVE_STATUS[CVE-2018-6927] = "fixed-version: Fixed from version 4.15rc9"
 
-CVE_STATUS[CVE-2018-7191] = "fixed-version: Fixed after version 4.14rc6"
+CVE_STATUS[CVE-2018-7191] = "fixed-version: Fixed from version 4.14rc6"
 
-CVE_STATUS[CVE-2018-7273] = "fixed-version: Fixed after version 4.15rc2"
+CVE_STATUS[CVE-2018-7273] = "fixed-version: Fixed from version 4.15rc2"
 
-CVE_STATUS[CVE-2018-7480] = "fixed-version: Fixed after version 4.11rc1"
+CVE_STATUS[CVE-2018-7480] = "fixed-version: Fixed from version 4.11rc1"
 
-CVE_STATUS[CVE-2018-7492] = "fixed-version: Fixed after version 4.15rc3"
+CVE_STATUS[CVE-2018-7492] = "fixed-version: Fixed from version 4.15rc3"
 
-CVE_STATUS[CVE-2018-7566] = "fixed-version: Fixed after version 4.16rc2"
+CVE_STATUS[CVE-2018-7566] = "fixed-version: Fixed from version 4.16rc2"
 
-CVE_STATUS[CVE-2018-7740] = "fixed-version: Fixed after version 4.16rc7"
+CVE_STATUS[CVE-2018-7740] = "fixed-version: Fixed from version 4.16rc7"
 
-CVE_STATUS[CVE-2018-7754] = "fixed-version: Fixed after version 4.15rc2"
+CVE_STATUS[CVE-2018-7754] = "fixed-version: Fixed from version 4.15rc2"
 
-CVE_STATUS[CVE-2018-7755] = "fixed-version: Fixed after version 4.19rc5"
+CVE_STATUS[CVE-2018-7755] = "fixed-version: Fixed from version 4.19rc5"
 
-CVE_STATUS[CVE-2018-7757] = "fixed-version: Fixed after version 4.16rc1"
+CVE_STATUS[CVE-2018-7757] = "fixed-version: Fixed from version 4.16rc1"
 
-CVE_STATUS[CVE-2018-7995] = "fixed-version: Fixed after version 4.16rc5"
+CVE_STATUS[CVE-2018-7995] = "fixed-version: Fixed from version 4.16rc5"
 
-CVE_STATUS[CVE-2018-8043] = "fixed-version: Fixed after version 4.16rc1"
+CVE_STATUS[CVE-2018-8043] = "fixed-version: Fixed from version 4.16rc1"
 
-CVE_STATUS[CVE-2018-8087] = "fixed-version: Fixed after version 4.16rc1"
+CVE_STATUS[CVE-2018-8087] = "fixed-version: Fixed from version 4.16rc1"
 
-CVE_STATUS[CVE-2018-8781] = "fixed-version: Fixed after version 4.16rc7"
+CVE_STATUS[CVE-2018-8781] = "fixed-version: Fixed from version 4.16rc7"
 
-CVE_STATUS[CVE-2018-8822] = "fixed-version: Fixed after version 4.16rc7"
+CVE_STATUS[CVE-2018-8822] = "fixed-version: Fixed from version 4.16rc7"
 
-CVE_STATUS[CVE-2018-8897] = "fixed-version: Fixed after version 4.16rc7"
+CVE_STATUS[CVE-2018-8897] = "fixed-version: Fixed from version 4.16rc7"
 
-CVE_STATUS[CVE-2018-9363] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2018-9363] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2018-9385] = "fixed-version: Fixed after version 4.17rc3"
+CVE_STATUS[CVE-2018-9385] = "fixed-version: Fixed from version 4.17rc3"
 
-CVE_STATUS[CVE-2018-9415] = "fixed-version: Fixed after version 4.17rc3"
+CVE_STATUS[CVE-2018-9415] = "fixed-version: Fixed from version 4.17rc3"
 
-CVE_STATUS[CVE-2018-9422] = "fixed-version: Fixed after version 4.6rc1"
+CVE_STATUS[CVE-2018-9422] = "fixed-version: Fixed from version 4.6rc1"
 
-CVE_STATUS[CVE-2018-9465] = "fixed-version: Fixed after version 4.15rc6"
+CVE_STATUS[CVE-2018-9465] = "fixed-version: Fixed from version 4.15rc6"
 
-CVE_STATUS[CVE-2018-9516] = "fixed-version: Fixed after version 4.18rc5"
+CVE_STATUS[CVE-2018-9516] = "fixed-version: Fixed from version 4.18rc5"
 
-CVE_STATUS[CVE-2018-9517] = "fixed-version: Fixed after version 4.14rc1"
+CVE_STATUS[CVE-2018-9517] = "fixed-version: Fixed from version 4.14rc1"
 
-CVE_STATUS[CVE-2018-9518] = "fixed-version: Fixed after version 4.16rc3"
+CVE_STATUS[CVE-2018-9518] = "fixed-version: Fixed from version 4.16rc3"
 
-CVE_STATUS[CVE-2018-9568] = "fixed-version: Fixed after version 4.14rc4"
+CVE_STATUS[CVE-2018-9568] = "fixed-version: Fixed from version 4.14rc4"
 
-CVE_STATUS[CVE-2019-0136] = "fixed-version: Fixed after version 5.2rc6"
+CVE_STATUS[CVE-2019-0136] = "fixed-version: Fixed from version 5.2rc6"
 
-CVE_STATUS[CVE-2019-0145] = "fixed-version: Fixed after version 5.2rc1"
+CVE_STATUS[CVE-2019-0145] = "fixed-version: Fixed from version 5.2rc1"
 
-CVE_STATUS[CVE-2019-0146] = "fixed-version: Fixed after version 5.2rc1"
+CVE_STATUS[CVE-2019-0146] = "fixed-version: Fixed from version 5.2rc1"
 
-CVE_STATUS[CVE-2019-0147] = "fixed-version: Fixed after version 5.2rc1"
+CVE_STATUS[CVE-2019-0147] = "fixed-version: Fixed from version 5.2rc1"
 
-CVE_STATUS[CVE-2019-0148] = "fixed-version: Fixed after version 5.2rc1"
+CVE_STATUS[CVE-2019-0148] = "fixed-version: Fixed from version 5.2rc1"
 
-CVE_STATUS[CVE-2019-0149] = "fixed-version: Fixed after version 5.3rc1"
+CVE_STATUS[CVE-2019-0149] = "fixed-version: Fixed from version 5.3rc1"
 
-CVE_STATUS[CVE-2019-0154] = "fixed-version: Fixed after version 5.4rc8"
+CVE_STATUS[CVE-2019-0154] = "fixed-version: Fixed from version 5.4rc8"
 
-CVE_STATUS[CVE-2019-0155] = "fixed-version: Fixed after version 5.4rc8"
+CVE_STATUS[CVE-2019-0155] = "fixed-version: Fixed from version 5.4rc8"
 
-CVE_STATUS[CVE-2019-10124] = "fixed-version: Fixed after version 5.1rc1"
+CVE_STATUS[CVE-2019-10124] = "fixed-version: Fixed from version 5.1rc1"
 
-CVE_STATUS[CVE-2019-10125] = "fixed-version: Fixed after version 5.1rc1"
+CVE_STATUS[CVE-2019-10125] = "fixed-version: Fixed from version 5.1rc1"
 
-CVE_STATUS[CVE-2019-10126] = "fixed-version: Fixed after version 5.2rc6"
+CVE_STATUS[CVE-2019-10126] = "fixed-version: Fixed from version 5.2rc6"
 
 # CVE-2019-10140 has no known resolution
 
-CVE_STATUS[CVE-2019-10142] = "fixed-version: Fixed after version 5.2rc1"
+CVE_STATUS[CVE-2019-10142] = "fixed-version: Fixed from version 5.2rc1"
 
-CVE_STATUS[CVE-2019-10207] = "fixed-version: Fixed after version 5.3rc3"
+CVE_STATUS[CVE-2019-10207] = "fixed-version: Fixed from version 5.3rc3"
 
-CVE_STATUS[CVE-2019-10220] = "fixed-version: Fixed after version 5.4rc2"
+CVE_STATUS[CVE-2019-10220] = "fixed-version: Fixed from version 5.4rc2"
 
-CVE_STATUS[CVE-2019-10638] = "fixed-version: Fixed after version 5.2rc1"
+CVE_STATUS[CVE-2019-10638] = "fixed-version: Fixed from version 5.2rc1"
 
-CVE_STATUS[CVE-2019-10639] = "fixed-version: Fixed after version 5.1rc4"
+CVE_STATUS[CVE-2019-10639] = "fixed-version: Fixed from version 5.1rc4"
 
-CVE_STATUS[CVE-2019-11085] = "fixed-version: Fixed after version 5.0rc3"
+CVE_STATUS[CVE-2019-11085] = "fixed-version: Fixed from version 5.0rc3"
 
-CVE_STATUS[CVE-2019-11091] = "fixed-version: Fixed after version 5.2rc1"
+CVE_STATUS[CVE-2019-11091] = "fixed-version: Fixed from version 5.2rc1"
 
-CVE_STATUS[CVE-2019-11135] = "fixed-version: Fixed after version 5.4rc8"
+CVE_STATUS[CVE-2019-11135] = "fixed-version: Fixed from version 5.4rc8"
 
-CVE_STATUS[CVE-2019-11190] = "fixed-version: Fixed after version 4.8rc5"
+CVE_STATUS[CVE-2019-11190] = "fixed-version: Fixed from version 4.8rc5"
 
-CVE_STATUS[CVE-2019-11191] = "fixed-version: Fixed after version 5.1rc1"
+CVE_STATUS[CVE-2019-11191] = "fixed-version: Fixed from version 5.1rc1"
 
-CVE_STATUS[CVE-2019-1125] = "fixed-version: Fixed after version 5.3rc4"
+CVE_STATUS[CVE-2019-1125] = "fixed-version: Fixed from version 5.3rc4"
 
-CVE_STATUS[CVE-2019-11477] = "fixed-version: Fixed after version 5.2rc6"
+CVE_STATUS[CVE-2019-11477] = "fixed-version: Fixed from version 5.2rc6"
 
-CVE_STATUS[CVE-2019-11478] = "fixed-version: Fixed after version 5.2rc6"
+CVE_STATUS[CVE-2019-11478] = "fixed-version: Fixed from version 5.2rc6"
 
-CVE_STATUS[CVE-2019-11479] = "fixed-version: Fixed after version 5.2rc6"
+CVE_STATUS[CVE-2019-11479] = "fixed-version: Fixed from version 5.2rc6"
 
-CVE_STATUS[CVE-2019-11486] = "fixed-version: Fixed after version 5.1rc4"
+CVE_STATUS[CVE-2019-11486] = "fixed-version: Fixed from version 5.1rc4"
 
-CVE_STATUS[CVE-2019-11487] = "fixed-version: Fixed after version 5.1rc5"
+CVE_STATUS[CVE-2019-11487] = "fixed-version: Fixed from version 5.1rc5"
 
-CVE_STATUS[CVE-2019-11599] = "fixed-version: Fixed after version 5.1rc6"
+CVE_STATUS[CVE-2019-11599] = "fixed-version: Fixed from version 5.1rc6"
 
-CVE_STATUS[CVE-2019-11683] = "fixed-version: Fixed after version 5.1"
+CVE_STATUS[CVE-2019-11683] = "fixed-version: Fixed from version 5.1"
 
-CVE_STATUS[CVE-2019-11810] = "fixed-version: Fixed after version 5.1rc1"
+CVE_STATUS[CVE-2019-11810] = "fixed-version: Fixed from version 5.1rc1"
 
-CVE_STATUS[CVE-2019-11811] = "fixed-version: Fixed after version 5.1rc1"
+CVE_STATUS[CVE-2019-11811] = "fixed-version: Fixed from version 5.1rc1"
 
-CVE_STATUS[CVE-2019-11815] = "fixed-version: Fixed after version 5.1rc4"
+CVE_STATUS[CVE-2019-11815] = "fixed-version: Fixed from version 5.1rc4"
 
-CVE_STATUS[CVE-2019-11833] = "fixed-version: Fixed after version 5.2rc1"
+CVE_STATUS[CVE-2019-11833] = "fixed-version: Fixed from version 5.2rc1"
 
-CVE_STATUS[CVE-2019-11884] = "fixed-version: Fixed after version 5.2rc1"
+CVE_STATUS[CVE-2019-11884] = "fixed-version: Fixed from version 5.2rc1"
 
-CVE_STATUS[CVE-2019-12378] = "fixed-version: Fixed after version 5.2rc3"
+CVE_STATUS[CVE-2019-12378] = "fixed-version: Fixed from version 5.2rc3"
 
-CVE_STATUS[CVE-2019-12379] = "fixed-version: Fixed after version 5.3rc1"
+CVE_STATUS[CVE-2019-12379] = "fixed-version: Fixed from version 5.3rc1"
 
-CVE_STATUS[CVE-2019-12380] = "fixed-version: Fixed after version 5.2rc3"
+CVE_STATUS[CVE-2019-12380] = "fixed-version: Fixed from version 5.2rc3"
 
-CVE_STATUS[CVE-2019-12381] = "fixed-version: Fixed after version 5.2rc3"
+CVE_STATUS[CVE-2019-12381] = "fixed-version: Fixed from version 5.2rc3"
 
-CVE_STATUS[CVE-2019-12382] = "fixed-version: Fixed after version 5.3rc1"
+CVE_STATUS[CVE-2019-12382] = "fixed-version: Fixed from version 5.3rc1"
 
-CVE_STATUS[CVE-2019-12454] = "fixed-version: Fixed after version 5.3rc1"
+CVE_STATUS[CVE-2019-12454] = "fixed-version: Fixed from version 5.3rc1"
 
-CVE_STATUS[CVE-2019-12455] = "fixed-version: Fixed after version 5.3rc1"
+CVE_STATUS[CVE-2019-12455] = "fixed-version: Fixed from version 5.3rc1"
 
 # CVE-2019-12456 has no known resolution
 
-CVE_STATUS[CVE-2019-12614] = "fixed-version: Fixed after version 5.3rc1"
+CVE_STATUS[CVE-2019-12614] = "fixed-version: Fixed from version 5.3rc1"
 
-CVE_STATUS[CVE-2019-12615] = "fixed-version: Fixed after version 5.2rc4"
+CVE_STATUS[CVE-2019-12615] = "fixed-version: Fixed from version 5.2rc4"
 
-CVE_STATUS[CVE-2019-12817] = "fixed-version: Fixed after version 5.2rc7"
+CVE_STATUS[CVE-2019-12817] = "fixed-version: Fixed from version 5.2rc7"
 
-CVE_STATUS[CVE-2019-12818] = "fixed-version: Fixed after version 5.0"
+CVE_STATUS[CVE-2019-12818] = "fixed-version: Fixed from version 5.0"
 
-CVE_STATUS[CVE-2019-12819] = "fixed-version: Fixed after version 5.0rc8"
+CVE_STATUS[CVE-2019-12819] = "fixed-version: Fixed from version 5.0rc8"
 
-CVE_STATUS[CVE-2019-12881] = "fixed-version: Fixed after version 4.18rc1"
+CVE_STATUS[CVE-2019-12881] = "fixed-version: Fixed from version 4.18rc1"
 
-CVE_STATUS[CVE-2019-12984] = "fixed-version: Fixed after version 5.2rc6"
+CVE_STATUS[CVE-2019-12984] = "fixed-version: Fixed from version 5.2rc6"
 
-CVE_STATUS[CVE-2019-13233] = "fixed-version: Fixed after version 5.2rc4"
+CVE_STATUS[CVE-2019-13233] = "fixed-version: Fixed from version 5.2rc4"
 
-CVE_STATUS[CVE-2019-13272] = "fixed-version: Fixed after version 5.2"
+CVE_STATUS[CVE-2019-13272] = "fixed-version: Fixed from version 5.2"
 
-CVE_STATUS[CVE-2019-13631] = "fixed-version: Fixed after version 5.3rc1"
+CVE_STATUS[CVE-2019-13631] = "fixed-version: Fixed from version 5.3rc1"
 
-CVE_STATUS[CVE-2019-13648] = "fixed-version: Fixed after version 5.3rc2"
+CVE_STATUS[CVE-2019-13648] = "fixed-version: Fixed from version 5.3rc2"
 
-CVE_STATUS[CVE-2019-14283] = "fixed-version: Fixed after version 5.3rc1"
+CVE_STATUS[CVE-2019-14283] = "fixed-version: Fixed from version 5.3rc1"
 
-CVE_STATUS[CVE-2019-14284] = "fixed-version: Fixed after version 5.3rc1"
+CVE_STATUS[CVE-2019-14284] = "fixed-version: Fixed from version 5.3rc1"
 
-CVE_STATUS[CVE-2019-14615] = "fixed-version: Fixed after version 5.5rc7"
+CVE_STATUS[CVE-2019-14615] = "fixed-version: Fixed from version 5.5rc7"
 
-CVE_STATUS[CVE-2019-14763] = "fixed-version: Fixed after version 4.17rc1"
+CVE_STATUS[CVE-2019-14763] = "fixed-version: Fixed from version 4.17rc1"
 
-CVE_STATUS[CVE-2019-14814] = "fixed-version: Fixed after version 5.3"
+CVE_STATUS[CVE-2019-14814] = "fixed-version: Fixed from version 5.3"
 
-CVE_STATUS[CVE-2019-14815] = "fixed-version: Fixed after version 5.3"
+CVE_STATUS[CVE-2019-14815] = "fixed-version: Fixed from version 5.3"
 
-CVE_STATUS[CVE-2019-14816] = "fixed-version: Fixed after version 5.3"
+CVE_STATUS[CVE-2019-14816] = "fixed-version: Fixed from version 5.3"
 
-CVE_STATUS[CVE-2019-14821] = "fixed-version: Fixed after version 5.4rc1"
+CVE_STATUS[CVE-2019-14821] = "fixed-version: Fixed from version 5.4rc1"
 
-CVE_STATUS[CVE-2019-14835] = "fixed-version: Fixed after version 5.3"
+CVE_STATUS[CVE-2019-14835] = "fixed-version: Fixed from version 5.3"
 
-CVE_STATUS[CVE-2019-14895] = "fixed-version: Fixed after version 5.5rc3"
+CVE_STATUS[CVE-2019-14895] = "fixed-version: Fixed from version 5.5rc3"
 
-CVE_STATUS[CVE-2019-14896] = "fixed-version: Fixed after version 5.5"
+CVE_STATUS[CVE-2019-14896] = "fixed-version: Fixed from version 5.5"
 
-CVE_STATUS[CVE-2019-14897] = "fixed-version: Fixed after version 5.5"
+CVE_STATUS[CVE-2019-14897] = "fixed-version: Fixed from version 5.5"
 
 # CVE-2019-14898 has no known resolution
 
-CVE_STATUS[CVE-2019-14901] = "fixed-version: Fixed after version 5.5rc3"
+CVE_STATUS[CVE-2019-14901] = "fixed-version: Fixed from version 5.5rc3"
 
-CVE_STATUS[CVE-2019-15030] = "fixed-version: Fixed after version 5.3rc8"
+CVE_STATUS[CVE-2019-15030] = "fixed-version: Fixed from version 5.3rc8"
 
-CVE_STATUS[CVE-2019-15031] = "fixed-version: Fixed after version 5.3rc8"
+CVE_STATUS[CVE-2019-15031] = "fixed-version: Fixed from version 5.3rc8"
 
-CVE_STATUS[CVE-2019-15090] = "fixed-version: Fixed after version 5.2rc2"
+CVE_STATUS[CVE-2019-15090] = "fixed-version: Fixed from version 5.2rc2"
 
-CVE_STATUS[CVE-2019-15098] = "fixed-version: Fixed after version 5.4rc1"
+CVE_STATUS[CVE-2019-15098] = "fixed-version: Fixed from version 5.4rc1"
 
-CVE_STATUS[CVE-2019-15099] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-15099] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-15117] = "fixed-version: Fixed after version 5.3rc5"
+CVE_STATUS[CVE-2019-15117] = "fixed-version: Fixed from version 5.3rc5"
 
-CVE_STATUS[CVE-2019-15118] = "fixed-version: Fixed after version 5.3rc5"
+CVE_STATUS[CVE-2019-15118] = "fixed-version: Fixed from version 5.3rc5"
 
-CVE_STATUS[CVE-2019-15211] = "fixed-version: Fixed after version 5.3rc1"
+CVE_STATUS[CVE-2019-15211] = "fixed-version: Fixed from version 5.3rc1"
 
-CVE_STATUS[CVE-2019-15212] = "fixed-version: Fixed after version 5.2rc3"
+CVE_STATUS[CVE-2019-15212] = "fixed-version: Fixed from version 5.2rc3"
 
-CVE_STATUS[CVE-2019-15213] = "fixed-version: Fixed after version 5.3rc1"
+CVE_STATUS[CVE-2019-15213] = "fixed-version: Fixed from version 5.3rc1"
 
-CVE_STATUS[CVE-2019-15214] = "fixed-version: Fixed after version 5.1rc6"
+CVE_STATUS[CVE-2019-15214] = "fixed-version: Fixed from version 5.1rc6"
 
-CVE_STATUS[CVE-2019-15215] = "fixed-version: Fixed after version 5.3rc1"
+CVE_STATUS[CVE-2019-15215] = "fixed-version: Fixed from version 5.3rc1"
 
-CVE_STATUS[CVE-2019-15216] = "fixed-version: Fixed after version 5.1"
+CVE_STATUS[CVE-2019-15216] = "fixed-version: Fixed from version 5.1"
 
-CVE_STATUS[CVE-2019-15217] = "fixed-version: Fixed after version 5.3rc1"
+CVE_STATUS[CVE-2019-15217] = "fixed-version: Fixed from version 5.3rc1"
 
-CVE_STATUS[CVE-2019-15218] = "fixed-version: Fixed after version 5.2rc3"
+CVE_STATUS[CVE-2019-15218] = "fixed-version: Fixed from version 5.2rc3"
 
-CVE_STATUS[CVE-2019-15219] = "fixed-version: Fixed after version 5.2rc3"
+CVE_STATUS[CVE-2019-15219] = "fixed-version: Fixed from version 5.2rc3"
 
-CVE_STATUS[CVE-2019-15220] = "fixed-version: Fixed after version 5.3rc1"
+CVE_STATUS[CVE-2019-15220] = "fixed-version: Fixed from version 5.3rc1"
 
-CVE_STATUS[CVE-2019-15221] = "fixed-version: Fixed after version 5.2"
+CVE_STATUS[CVE-2019-15221] = "fixed-version: Fixed from version 5.2"
 
-CVE_STATUS[CVE-2019-15222] = "fixed-version: Fixed after version 5.3rc3"
+CVE_STATUS[CVE-2019-15222] = "fixed-version: Fixed from version 5.3rc3"
 
-CVE_STATUS[CVE-2019-15223] = "fixed-version: Fixed after version 5.2rc3"
+CVE_STATUS[CVE-2019-15223] = "fixed-version: Fixed from version 5.2rc3"
 
 # CVE-2019-15239 has no known resolution
 
 # CVE-2019-15290 has no known resolution
 
-CVE_STATUS[CVE-2019-15291] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-15291] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-15292] = "fixed-version: Fixed after version 5.1rc1"
+CVE_STATUS[CVE-2019-15292] = "fixed-version: Fixed from version 5.1rc1"
 
-CVE_STATUS[CVE-2019-15504] = "fixed-version: Fixed after version 5.3"
+CVE_STATUS[CVE-2019-15504] = "fixed-version: Fixed from version 5.3"
 
-CVE_STATUS[CVE-2019-15505] = "fixed-version: Fixed after version 5.4rc1"
+CVE_STATUS[CVE-2019-15505] = "fixed-version: Fixed from version 5.4rc1"
 
-CVE_STATUS[CVE-2019-15538] = "fixed-version: Fixed after version 5.3rc6"
+CVE_STATUS[CVE-2019-15538] = "fixed-version: Fixed from version 5.3rc6"
 
-CVE_STATUS[CVE-2019-15666] = "fixed-version: Fixed after version 5.1"
+CVE_STATUS[CVE-2019-15666] = "fixed-version: Fixed from version 5.1"
 
 # CVE-2019-15791 has no known resolution
 
@@ -2637,1155 +2646,1157 @@
 
 # CVE-2019-15793 has no known resolution
 
-CVE_STATUS[CVE-2019-15794] = "fixed-version: Fixed after version 5.12"
+CVE_STATUS[CVE-2019-15794] = "fixed-version: Fixed from version 5.12"
 
-CVE_STATUS[CVE-2019-15807] = "fixed-version: Fixed after version 5.2rc3"
+CVE_STATUS[CVE-2019-15807] = "fixed-version: Fixed from version 5.2rc3"
 
 # CVE-2019-15902 has no known resolution
 
-CVE_STATUS[CVE-2019-15916] = "fixed-version: Fixed after version 5.1rc1"
+CVE_STATUS[CVE-2019-15916] = "fixed-version: Fixed from version 5.1rc1"
 
-CVE_STATUS[CVE-2019-15917] = "fixed-version: Fixed after version 5.1rc1"
+CVE_STATUS[CVE-2019-15917] = "fixed-version: Fixed from version 5.1rc1"
 
-CVE_STATUS[CVE-2019-15918] = "fixed-version: Fixed after version 5.1rc6"
+CVE_STATUS[CVE-2019-15918] = "fixed-version: Fixed from version 5.1rc6"
 
-CVE_STATUS[CVE-2019-15919] = "fixed-version: Fixed after version 5.1rc6"
+CVE_STATUS[CVE-2019-15919] = "fixed-version: Fixed from version 5.1rc6"
 
-CVE_STATUS[CVE-2019-15920] = "fixed-version: Fixed after version 5.1rc6"
+CVE_STATUS[CVE-2019-15920] = "fixed-version: Fixed from version 5.1rc6"
 
-CVE_STATUS[CVE-2019-15921] = "fixed-version: Fixed after version 5.1rc3"
+CVE_STATUS[CVE-2019-15921] = "fixed-version: Fixed from version 5.1rc3"
 
-CVE_STATUS[CVE-2019-15922] = "fixed-version: Fixed after version 5.1rc4"
+CVE_STATUS[CVE-2019-15922] = "fixed-version: Fixed from version 5.1rc4"
 
-CVE_STATUS[CVE-2019-15923] = "fixed-version: Fixed after version 5.1rc4"
+CVE_STATUS[CVE-2019-15923] = "fixed-version: Fixed from version 5.1rc4"
 
-CVE_STATUS[CVE-2019-15924] = "fixed-version: Fixed after version 5.1rc4"
+CVE_STATUS[CVE-2019-15924] = "fixed-version: Fixed from version 5.1rc4"
 
-CVE_STATUS[CVE-2019-15925] = "fixed-version: Fixed after version 5.3rc1"
+CVE_STATUS[CVE-2019-15925] = "fixed-version: Fixed from version 5.3rc1"
 
-CVE_STATUS[CVE-2019-15926] = "fixed-version: Fixed after version 5.3rc1"
+CVE_STATUS[CVE-2019-15926] = "fixed-version: Fixed from version 5.3rc1"
 
-CVE_STATUS[CVE-2019-15927] = "fixed-version: Fixed after version 5.0rc2"
+CVE_STATUS[CVE-2019-15927] = "fixed-version: Fixed from version 5.0rc2"
 
 # CVE-2019-16089 has no known resolution
 
-CVE_STATUS[CVE-2019-16229] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-16229] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-16230] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-16230] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-16231] = "fixed-version: Fixed after version 5.4rc6"
+CVE_STATUS[CVE-2019-16231] = "fixed-version: Fixed from version 5.4rc6"
 
-CVE_STATUS[CVE-2019-16232] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-16232] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-16233] = "fixed-version: Fixed after version 5.4rc5"
+CVE_STATUS[CVE-2019-16233] = "fixed-version: Fixed from version 5.4rc5"
 
-CVE_STATUS[CVE-2019-16234] = "fixed-version: Fixed after version 5.4rc4"
+CVE_STATUS[CVE-2019-16234] = "fixed-version: Fixed from version 5.4rc4"
 
-CVE_STATUS[CVE-2019-16413] = "fixed-version: Fixed after version 5.1rc1"
+CVE_STATUS[CVE-2019-16413] = "fixed-version: Fixed from version 5.1rc1"
 
-CVE_STATUS[CVE-2019-16714] = "fixed-version: Fixed after version 5.3rc7"
+CVE_STATUS[CVE-2019-16714] = "fixed-version: Fixed from version 5.3rc7"
 
-CVE_STATUS[CVE-2019-16746] = "fixed-version: Fixed after version 5.4rc2"
+CVE_STATUS[CVE-2019-16746] = "fixed-version: Fixed from version 5.4rc2"
 
-CVE_STATUS[CVE-2019-16921] = "fixed-version: Fixed after version 4.17rc1"
+CVE_STATUS[CVE-2019-16921] = "fixed-version: Fixed from version 4.17rc1"
 
-CVE_STATUS[CVE-2019-16994] = "fixed-version: Fixed after version 5.0"
+CVE_STATUS[CVE-2019-16994] = "fixed-version: Fixed from version 5.0"
 
-CVE_STATUS[CVE-2019-16995] = "fixed-version: Fixed after version 5.1rc1"
+CVE_STATUS[CVE-2019-16995] = "fixed-version: Fixed from version 5.1rc1"
 
-CVE_STATUS[CVE-2019-17052] = "fixed-version: Fixed after version 5.4rc1"
+CVE_STATUS[CVE-2019-17052] = "fixed-version: Fixed from version 5.4rc1"
 
-CVE_STATUS[CVE-2019-17053] = "fixed-version: Fixed after version 5.4rc1"
+CVE_STATUS[CVE-2019-17053] = "fixed-version: Fixed from version 5.4rc1"
 
-CVE_STATUS[CVE-2019-17054] = "fixed-version: Fixed after version 5.4rc1"
+CVE_STATUS[CVE-2019-17054] = "fixed-version: Fixed from version 5.4rc1"
 
-CVE_STATUS[CVE-2019-17055] = "fixed-version: Fixed after version 5.4rc1"
+CVE_STATUS[CVE-2019-17055] = "fixed-version: Fixed from version 5.4rc1"
 
-CVE_STATUS[CVE-2019-17056] = "fixed-version: Fixed after version 5.4rc1"
+CVE_STATUS[CVE-2019-17056] = "fixed-version: Fixed from version 5.4rc1"
 
-CVE_STATUS[CVE-2019-17075] = "fixed-version: Fixed after version 5.4rc3"
+CVE_STATUS[CVE-2019-17075] = "fixed-version: Fixed from version 5.4rc3"
 
-CVE_STATUS[CVE-2019-17133] = "fixed-version: Fixed after version 5.4rc4"
+CVE_STATUS[CVE-2019-17133] = "fixed-version: Fixed from version 5.4rc4"
 
-CVE_STATUS[CVE-2019-17351] = "fixed-version: Fixed after version 5.3rc1"
+CVE_STATUS[CVE-2019-17351] = "fixed-version: Fixed from version 5.3rc1"
 
-CVE_STATUS[CVE-2019-17666] = "fixed-version: Fixed after version 5.4rc6"
+CVE_STATUS[CVE-2019-17666] = "fixed-version: Fixed from version 5.4rc6"
 
-CVE_STATUS[CVE-2019-18198] = "fixed-version: Fixed after version 5.4rc1"
+CVE_STATUS[CVE-2019-18198] = "fixed-version: Fixed from version 5.4rc1"
 
-CVE_STATUS[CVE-2019-18282] = "fixed-version: Fixed after version 5.4rc6"
+CVE_STATUS[CVE-2019-18282] = "fixed-version: Fixed from version 5.4rc6"
 
-CVE_STATUS[CVE-2019-18660] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-18660] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-18675] = "fixed-version: Fixed after version 4.17rc5"
+CVE_STATUS[CVE-2019-18675] = "fixed-version: Fixed from version 4.17rc5"
 
 # CVE-2019-18680 has no known resolution
 
-CVE_STATUS[CVE-2019-18683] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-18683] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-18786] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-18786] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-18805] = "fixed-version: Fixed after version 5.1rc7"
+CVE_STATUS[CVE-2019-18805] = "fixed-version: Fixed from version 5.1rc7"
 
-CVE_STATUS[CVE-2019-18806] = "fixed-version: Fixed after version 5.4rc2"
+CVE_STATUS[CVE-2019-18806] = "fixed-version: Fixed from version 5.4rc2"
 
-CVE_STATUS[CVE-2019-18807] = "fixed-version: Fixed after version 5.4rc2"
+CVE_STATUS[CVE-2019-18807] = "fixed-version: Fixed from version 5.4rc2"
 
-CVE_STATUS[CVE-2019-18808] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-18808] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-18809] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-18809] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-18810] = "fixed-version: Fixed after version 5.4rc2"
+CVE_STATUS[CVE-2019-18810] = "fixed-version: Fixed from version 5.4rc2"
 
-CVE_STATUS[CVE-2019-18811] = "fixed-version: Fixed after version 5.4rc7"
+CVE_STATUS[CVE-2019-18811] = "fixed-version: Fixed from version 5.4rc7"
 
-CVE_STATUS[CVE-2019-18812] = "fixed-version: Fixed after version 5.4rc7"
+CVE_STATUS[CVE-2019-18812] = "fixed-version: Fixed from version 5.4rc7"
 
-CVE_STATUS[CVE-2019-18813] = "fixed-version: Fixed after version 5.4rc6"
+CVE_STATUS[CVE-2019-18813] = "fixed-version: Fixed from version 5.4rc6"
 
-CVE_STATUS[CVE-2019-18814] = "fixed-version: Fixed after version 5.7rc7"
+CVE_STATUS[CVE-2019-18814] = "fixed-version: Fixed from version 5.7rc7"
 
-CVE_STATUS[CVE-2019-18885] = "fixed-version: Fixed after version 5.1rc1"
+CVE_STATUS[CVE-2019-18885] = "fixed-version: Fixed from version 5.1rc1"
 
-CVE_STATUS[CVE-2019-19036] = "fixed-version: Fixed after version 5.4rc1"
+CVE_STATUS[CVE-2019-19036] = "fixed-version: Fixed from version 5.4rc1"
 
-CVE_STATUS[CVE-2019-19037] = "fixed-version: Fixed after version 5.5rc3"
+CVE_STATUS[CVE-2019-19037] = "fixed-version: Fixed from version 5.5rc3"
 
-CVE_STATUS[CVE-2019-19039] = "fixed-version: Fixed after version 5.7rc1"
+CVE_STATUS[CVE-2019-19039] = "fixed-version: Fixed from version 5.7rc1"
 
-CVE_STATUS[CVE-2019-19043] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-19043] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-19044] = "fixed-version: Fixed after version 5.4rc6"
+CVE_STATUS[CVE-2019-19044] = "fixed-version: Fixed from version 5.4rc6"
 
-CVE_STATUS[CVE-2019-19045] = "fixed-version: Fixed after version 5.4rc6"
+CVE_STATUS[CVE-2019-19045] = "fixed-version: Fixed from version 5.4rc6"
 
-CVE_STATUS[CVE-2019-19046] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-19046] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-19047] = "fixed-version: Fixed after version 5.4rc6"
+CVE_STATUS[CVE-2019-19047] = "fixed-version: Fixed from version 5.4rc6"
 
-CVE_STATUS[CVE-2019-19048] = "fixed-version: Fixed after version 5.4rc3"
+CVE_STATUS[CVE-2019-19048] = "fixed-version: Fixed from version 5.4rc3"
 
-CVE_STATUS[CVE-2019-19049] = "fixed-version: Fixed after version 5.4rc5"
+CVE_STATUS[CVE-2019-19049] = "fixed-version: Fixed from version 5.4rc5"
 
-CVE_STATUS[CVE-2019-19050] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-19050] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-19051] = "fixed-version: Fixed after version 5.4rc6"
+CVE_STATUS[CVE-2019-19051] = "fixed-version: Fixed from version 5.4rc6"
 
-CVE_STATUS[CVE-2019-19052] = "fixed-version: Fixed after version 5.4rc7"
+CVE_STATUS[CVE-2019-19052] = "fixed-version: Fixed from version 5.4rc7"
 
-CVE_STATUS[CVE-2019-19053] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-19053] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-19054] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-19054] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-19055] = "fixed-version: Fixed after version 5.4rc4"
+CVE_STATUS[CVE-2019-19055] = "fixed-version: Fixed from version 5.4rc4"
 
-CVE_STATUS[CVE-2019-19056] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-19056] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-19057] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-19057] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-19058] = "fixed-version: Fixed after version 5.4rc4"
+CVE_STATUS[CVE-2019-19058] = "fixed-version: Fixed from version 5.4rc4"
 
-CVE_STATUS[CVE-2019-19059] = "fixed-version: Fixed after version 5.4rc4"
+CVE_STATUS[CVE-2019-19059] = "fixed-version: Fixed from version 5.4rc4"
 
-CVE_STATUS[CVE-2019-19060] = "fixed-version: Fixed after version 5.4rc3"
+CVE_STATUS[CVE-2019-19060] = "fixed-version: Fixed from version 5.4rc3"
 
-CVE_STATUS[CVE-2019-19061] = "fixed-version: Fixed after version 5.4rc3"
+CVE_STATUS[CVE-2019-19061] = "fixed-version: Fixed from version 5.4rc3"
 
-CVE_STATUS[CVE-2019-19062] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-19062] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-19063] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-19063] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-19064] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-19064] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-19065] = "fixed-version: Fixed after version 5.4rc3"
+CVE_STATUS[CVE-2019-19065] = "fixed-version: Fixed from version 5.4rc3"
 
-CVE_STATUS[CVE-2019-19066] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-19066] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-19067] = "fixed-version: Fixed after version 5.4rc2"
+CVE_STATUS[CVE-2019-19067] = "fixed-version: Fixed from version 5.4rc2"
 
-CVE_STATUS[CVE-2019-19068] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-19068] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-19069] = "fixed-version: Fixed after version 5.4rc3"
+CVE_STATUS[CVE-2019-19069] = "fixed-version: Fixed from version 5.4rc3"
 
-CVE_STATUS[CVE-2019-19070] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-19070] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-19071] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-19071] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-19072] = "fixed-version: Fixed after version 5.4rc1"
+CVE_STATUS[CVE-2019-19072] = "fixed-version: Fixed from version 5.4rc1"
 
-CVE_STATUS[CVE-2019-19073] = "fixed-version: Fixed after version 5.4rc1"
+CVE_STATUS[CVE-2019-19073] = "fixed-version: Fixed from version 5.4rc1"
 
-CVE_STATUS[CVE-2019-19074] = "fixed-version: Fixed after version 5.4rc1"
+CVE_STATUS[CVE-2019-19074] = "fixed-version: Fixed from version 5.4rc1"
 
-CVE_STATUS[CVE-2019-19075] = "fixed-version: Fixed after version 5.4rc2"
+CVE_STATUS[CVE-2019-19075] = "fixed-version: Fixed from version 5.4rc2"
 
-CVE_STATUS[CVE-2019-19076] = "fixed-version: Fixed after version 5.4rc1"
+CVE_STATUS[CVE-2019-19076] = "fixed-version: Fixed from version 5.4rc1"
 
-CVE_STATUS[CVE-2019-19077] = "fixed-version: Fixed after version 5.4rc1"
+CVE_STATUS[CVE-2019-19077] = "fixed-version: Fixed from version 5.4rc1"
 
-CVE_STATUS[CVE-2019-19078] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-19078] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-19079] = "fixed-version: Fixed after version 5.3"
+CVE_STATUS[CVE-2019-19079] = "fixed-version: Fixed from version 5.3"
 
-CVE_STATUS[CVE-2019-19080] = "fixed-version: Fixed after version 5.4rc1"
+CVE_STATUS[CVE-2019-19080] = "fixed-version: Fixed from version 5.4rc1"
 
-CVE_STATUS[CVE-2019-19081] = "fixed-version: Fixed after version 5.4rc1"
+CVE_STATUS[CVE-2019-19081] = "fixed-version: Fixed from version 5.4rc1"
 
-CVE_STATUS[CVE-2019-19082] = "fixed-version: Fixed after version 5.4rc1"
+CVE_STATUS[CVE-2019-19082] = "fixed-version: Fixed from version 5.4rc1"
 
-CVE_STATUS[CVE-2019-19083] = "fixed-version: Fixed after version 5.4rc2"
+CVE_STATUS[CVE-2019-19083] = "fixed-version: Fixed from version 5.4rc2"
 
-CVE_STATUS[CVE-2019-19227] = "fixed-version: Fixed after version 5.1rc3"
+CVE_STATUS[CVE-2019-19227] = "fixed-version: Fixed from version 5.1rc3"
 
-CVE_STATUS[CVE-2019-19241] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-19241] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-19252] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-19252] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-19318] = "fixed-version: Fixed after version 5.4rc1"
+CVE_STATUS[CVE-2019-19318] = "fixed-version: Fixed from version 5.4rc1"
 
-CVE_STATUS[CVE-2019-19319] = "fixed-version: Fixed after version 5.2rc1"
+CVE_STATUS[CVE-2019-19319] = "fixed-version: Fixed from version 5.2rc1"
 
-CVE_STATUS[CVE-2019-19332] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-19332] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-19338] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-19338] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-19377] = "fixed-version: Fixed after version 5.7rc1"
+CVE_STATUS[CVE-2019-19377] = "fixed-version: Fixed from version 5.7rc1"
 
 # CVE-2019-19378 has no known resolution
 
-CVE_STATUS[CVE-2019-19447] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-19447] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-19448] = "fixed-version: Fixed after version 5.9rc1"
+CVE_STATUS[CVE-2019-19448] = "fixed-version: Fixed from version 5.9rc1"
 
-CVE_STATUS[CVE-2019-19449] = "fixed-version: Fixed after version 5.10rc1"
+CVE_STATUS[CVE-2019-19449] = "fixed-version: Fixed from version 5.10rc1"
 
-CVE_STATUS[CVE-2019-19462] = "fixed-version: Fixed after version 5.8rc1"
+CVE_STATUS[CVE-2019-19462] = "fixed-version: Fixed from version 5.8rc1"
 
-CVE_STATUS[CVE-2019-19523] = "fixed-version: Fixed after version 5.4rc3"
+CVE_STATUS[CVE-2019-19523] = "fixed-version: Fixed from version 5.4rc3"
 
-CVE_STATUS[CVE-2019-19524] = "fixed-version: Fixed after version 5.4rc8"
+CVE_STATUS[CVE-2019-19524] = "fixed-version: Fixed from version 5.4rc8"
 
-CVE_STATUS[CVE-2019-19525] = "fixed-version: Fixed after version 5.4rc2"
+CVE_STATUS[CVE-2019-19525] = "fixed-version: Fixed from version 5.4rc2"
 
-CVE_STATUS[CVE-2019-19526] = "fixed-version: Fixed after version 5.4rc4"
+CVE_STATUS[CVE-2019-19526] = "fixed-version: Fixed from version 5.4rc4"
 
-CVE_STATUS[CVE-2019-19527] = "fixed-version: Fixed after version 5.3rc4"
+CVE_STATUS[CVE-2019-19527] = "fixed-version: Fixed from version 5.3rc4"
 
-CVE_STATUS[CVE-2019-19528] = "fixed-version: Fixed after version 5.4rc3"
+CVE_STATUS[CVE-2019-19528] = "fixed-version: Fixed from version 5.4rc3"
 
-CVE_STATUS[CVE-2019-19529] = "fixed-version: Fixed after version 5.4rc7"
+CVE_STATUS[CVE-2019-19529] = "fixed-version: Fixed from version 5.4rc7"
 
-CVE_STATUS[CVE-2019-19530] = "fixed-version: Fixed after version 5.3rc5"
+CVE_STATUS[CVE-2019-19530] = "fixed-version: Fixed from version 5.3rc5"
 
-CVE_STATUS[CVE-2019-19531] = "fixed-version: Fixed after version 5.3rc4"
+CVE_STATUS[CVE-2019-19531] = "fixed-version: Fixed from version 5.3rc4"
 
-CVE_STATUS[CVE-2019-19532] = "fixed-version: Fixed after version 5.4rc6"
+CVE_STATUS[CVE-2019-19532] = "fixed-version: Fixed from version 5.4rc6"
 
-CVE_STATUS[CVE-2019-19533] = "fixed-version: Fixed after version 5.4rc1"
+CVE_STATUS[CVE-2019-19533] = "fixed-version: Fixed from version 5.4rc1"
 
-CVE_STATUS[CVE-2019-19534] = "fixed-version: Fixed after version 5.4rc7"
+CVE_STATUS[CVE-2019-19534] = "fixed-version: Fixed from version 5.4rc7"
 
-CVE_STATUS[CVE-2019-19535] = "fixed-version: Fixed after version 5.3rc4"
+CVE_STATUS[CVE-2019-19535] = "fixed-version: Fixed from version 5.3rc4"
 
-CVE_STATUS[CVE-2019-19536] = "fixed-version: Fixed after version 5.3rc4"
+CVE_STATUS[CVE-2019-19536] = "fixed-version: Fixed from version 5.3rc4"
 
-CVE_STATUS[CVE-2019-19537] = "fixed-version: Fixed after version 5.3rc5"
+CVE_STATUS[CVE-2019-19537] = "fixed-version: Fixed from version 5.3rc5"
 
-CVE_STATUS[CVE-2019-19543] = "fixed-version: Fixed after version 5.2rc1"
+CVE_STATUS[CVE-2019-19543] = "fixed-version: Fixed from version 5.2rc1"
 
-CVE_STATUS[CVE-2019-19602] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-19602] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-19767] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-19767] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-19768] = "fixed-version: Fixed after version 5.6rc4"
+CVE_STATUS[CVE-2019-19768] = "fixed-version: Fixed from version 5.6rc4"
 
-CVE_STATUS[CVE-2019-19769] = "fixed-version: Fixed after version 5.6rc5"
+CVE_STATUS[CVE-2019-19769] = "fixed-version: Fixed from version 5.6rc5"
 
-CVE_STATUS[CVE-2019-19770] = "fixed-version: Fixed after version 5.9rc1"
+CVE_STATUS[CVE-2019-19770] = "fixed-version: Fixed from version 5.9rc1"
 
-CVE_STATUS[CVE-2019-19807] = "fixed-version: Fixed after version 5.4rc7"
+CVE_STATUS[CVE-2019-19807] = "fixed-version: Fixed from version 5.4rc7"
 
-CVE_STATUS[CVE-2019-19813] = "fixed-version: Fixed after version 5.2rc1"
+CVE_STATUS[CVE-2019-19813] = "fixed-version: Fixed from version 5.2rc1"
 
 # CVE-2019-19814 has no known resolution
 
-CVE_STATUS[CVE-2019-19815] = "fixed-version: Fixed after version 5.3rc1"
+CVE_STATUS[CVE-2019-19815] = "fixed-version: Fixed from version 5.3rc1"
 
-CVE_STATUS[CVE-2019-19816] = "fixed-version: Fixed after version 5.2rc1"
+CVE_STATUS[CVE-2019-19816] = "fixed-version: Fixed from version 5.2rc1"
 
-CVE_STATUS[CVE-2019-19922] = "fixed-version: Fixed after version 5.4rc1"
+CVE_STATUS[CVE-2019-19922] = "fixed-version: Fixed from version 5.4rc1"
 
-CVE_STATUS[CVE-2019-19927] = "fixed-version: Fixed after version 5.1rc6"
+CVE_STATUS[CVE-2019-19927] = "fixed-version: Fixed from version 5.1rc6"
 
-CVE_STATUS[CVE-2019-19947] = "fixed-version: Fixed after version 5.5rc3"
+CVE_STATUS[CVE-2019-19947] = "fixed-version: Fixed from version 5.5rc3"
 
-CVE_STATUS[CVE-2019-19965] = "fixed-version: Fixed after version 5.5rc2"
+CVE_STATUS[CVE-2019-19965] = "fixed-version: Fixed from version 5.5rc2"
 
-CVE_STATUS[CVE-2019-19966] = "fixed-version: Fixed after version 5.2rc1"
+CVE_STATUS[CVE-2019-19966] = "fixed-version: Fixed from version 5.2rc1"
 
-CVE_STATUS[CVE-2019-1999] = "fixed-version: Fixed after version 5.1rc3"
+CVE_STATUS[CVE-2019-1999] = "fixed-version: Fixed from version 5.1rc3"
 
-CVE_STATUS[CVE-2019-20054] = "fixed-version: Fixed after version 5.1rc3"
+CVE_STATUS[CVE-2019-20054] = "fixed-version: Fixed from version 5.1rc3"
 
-CVE_STATUS[CVE-2019-20095] = "fixed-version: Fixed after version 5.2rc1"
+CVE_STATUS[CVE-2019-20095] = "fixed-version: Fixed from version 5.2rc1"
 
-CVE_STATUS[CVE-2019-20096] = "fixed-version: Fixed after version 5.1rc4"
+CVE_STATUS[CVE-2019-20096] = "fixed-version: Fixed from version 5.1rc4"
 
-CVE_STATUS[CVE-2019-2024] = "fixed-version: Fixed after version 4.16rc1"
+CVE_STATUS[CVE-2019-2024] = "fixed-version: Fixed from version 4.16rc1"
 
-CVE_STATUS[CVE-2019-2025] = "fixed-version: Fixed after version 4.20rc5"
+CVE_STATUS[CVE-2019-2025] = "fixed-version: Fixed from version 4.20rc5"
 
-CVE_STATUS[CVE-2019-20422] = "fixed-version: Fixed after version 5.4rc1"
+CVE_STATUS[CVE-2019-20422] = "fixed-version: Fixed from version 5.4rc1"
 
-CVE_STATUS[CVE-2019-2054] = "fixed-version: Fixed after version 4.8rc1"
+CVE_STATUS[CVE-2019-2054] = "fixed-version: Fixed from version 4.8rc1"
 
-CVE_STATUS[CVE-2019-20636] = "fixed-version: Fixed after version 5.5rc6"
+CVE_STATUS[CVE-2019-20636] = "fixed-version: Fixed from version 5.5rc6"
 
 # CVE-2019-20794 has no known resolution
 
-CVE_STATUS[CVE-2019-20806] = "fixed-version: Fixed after version 5.2rc1"
+CVE_STATUS[CVE-2019-20806] = "fixed-version: Fixed from version 5.2rc1"
 
-CVE_STATUS[CVE-2019-20810] = "fixed-version: Fixed after version 5.6rc1"
+CVE_STATUS[CVE-2019-20810] = "fixed-version: Fixed from version 5.6rc1"
 
-CVE_STATUS[CVE-2019-20811] = "fixed-version: Fixed after version 5.1rc3"
+CVE_STATUS[CVE-2019-20811] = "fixed-version: Fixed from version 5.1rc3"
 
-CVE_STATUS[CVE-2019-20812] = "fixed-version: Fixed after version 5.5rc3"
+CVE_STATUS[CVE-2019-20812] = "fixed-version: Fixed from version 5.5rc3"
 
-CVE_STATUS[CVE-2019-20908] = "fixed-version: Fixed after version 5.4rc1"
+CVE_STATUS[CVE-2019-20908] = "fixed-version: Fixed from version 5.4rc1"
 
-CVE_STATUS[CVE-2019-20934] = "fixed-version: Fixed after version 5.3rc2"
+CVE_STATUS[CVE-2019-20934] = "fixed-version: Fixed from version 5.3rc2"
 
-CVE_STATUS[CVE-2019-2101] = "fixed-version: Fixed after version 5.1rc1"
+CVE_STATUS[CVE-2019-2101] = "fixed-version: Fixed from version 5.1rc1"
 
-CVE_STATUS[CVE-2019-2181] = "fixed-version: Fixed after version 5.2rc1"
+CVE_STATUS[CVE-2019-2181] = "fixed-version: Fixed from version 5.2rc1"
 
-CVE_STATUS[CVE-2019-2182] = "fixed-version: Fixed after version 4.16rc3"
+CVE_STATUS[CVE-2019-2182] = "fixed-version: Fixed from version 4.16rc3"
 
-CVE_STATUS[CVE-2019-2213] = "fixed-version: Fixed after version 5.2rc6"
+CVE_STATUS[CVE-2019-2213] = "fixed-version: Fixed from version 5.2rc6"
 
-CVE_STATUS[CVE-2019-2214] = "fixed-version: Fixed after version 5.3rc2"
+CVE_STATUS[CVE-2019-2214] = "fixed-version: Fixed from version 5.3rc2"
 
-CVE_STATUS[CVE-2019-2215] = "fixed-version: Fixed after version 4.16rc1"
+CVE_STATUS[CVE-2019-2215] = "fixed-version: Fixed from version 4.16rc1"
 
-CVE_STATUS[CVE-2019-25044] = "fixed-version: Fixed after version 5.2rc4"
+CVE_STATUS[CVE-2019-25044] = "fixed-version: Fixed from version 5.2rc4"
 
-CVE_STATUS[CVE-2019-25045] = "fixed-version: Fixed after version 5.1"
+CVE_STATUS[CVE-2019-25045] = "fixed-version: Fixed from version 5.1"
 
-CVE_STATUS[CVE-2019-3016] = "fixed-version: Fixed after version 5.6rc1"
+CVE_STATUS[CVE-2019-3016] = "fixed-version: Fixed from version 5.6rc1"
 
-CVE_STATUS[CVE-2019-3459] = "fixed-version: Fixed after version 5.1rc1"
+CVE_STATUS[CVE-2019-3459] = "fixed-version: Fixed from version 5.1rc1"
 
-CVE_STATUS[CVE-2019-3460] = "fixed-version: Fixed after version 5.1rc1"
+CVE_STATUS[CVE-2019-3460] = "fixed-version: Fixed from version 5.1rc1"
 
-CVE_STATUS[CVE-2019-3701] = "fixed-version: Fixed after version 5.0rc3"
+CVE_STATUS[CVE-2019-3701] = "fixed-version: Fixed from version 5.0rc3"
 
-CVE_STATUS[CVE-2019-3819] = "fixed-version: Fixed after version 5.0rc6"
+CVE_STATUS[CVE-2019-3819] = "fixed-version: Fixed from version 5.0rc6"
 
-CVE_STATUS[CVE-2019-3837] = "fixed-version: Fixed after version 3.18rc1"
+CVE_STATUS[CVE-2019-3837] = "fixed-version: Fixed from version 3.18rc1"
 
-CVE_STATUS[CVE-2019-3846] = "fixed-version: Fixed after version 5.2rc6"
+CVE_STATUS[CVE-2019-3846] = "fixed-version: Fixed from version 5.2rc6"
 
-CVE_STATUS[CVE-2019-3874] = "fixed-version: Fixed after version 5.2rc1"
+CVE_STATUS[CVE-2019-3874] = "fixed-version: Fixed from version 5.2rc1"
 
-CVE_STATUS[CVE-2019-3882] = "fixed-version: Fixed after version 5.1rc4"
+CVE_STATUS[CVE-2019-3882] = "fixed-version: Fixed from version 5.1rc4"
 
-CVE_STATUS[CVE-2019-3887] = "fixed-version: Fixed after version 5.1rc4"
+CVE_STATUS[CVE-2019-3887] = "fixed-version: Fixed from version 5.1rc4"
 
-CVE_STATUS[CVE-2019-3892] = "fixed-version: Fixed after version 5.1rc6"
+CVE_STATUS[CVE-2019-3892] = "fixed-version: Fixed from version 5.1rc6"
 
-CVE_STATUS[CVE-2019-3896] = "fixed-version: Fixed after version 2.6.35rc1"
+CVE_STATUS[CVE-2019-3896] = "fixed-version: Fixed from version 2.6.35rc1"
 
-CVE_STATUS[CVE-2019-3900] = "fixed-version: Fixed after version 5.2rc4"
+CVE_STATUS[CVE-2019-3900] = "fixed-version: Fixed from version 5.2rc4"
 
-CVE_STATUS[CVE-2019-3901] = "fixed-version: Fixed after version 4.6rc6"
+CVE_STATUS[CVE-2019-3901] = "fixed-version: Fixed from version 4.6rc6"
 
-CVE_STATUS[CVE-2019-5108] = "fixed-version: Fixed after version 5.3"
+CVE_STATUS[CVE-2019-5108] = "fixed-version: Fixed from version 5.3"
 
 # Skipping CVE-2019-5489, no affected_versions
 
-CVE_STATUS[CVE-2019-6133] = "fixed-version: Fixed after version 5.0rc2"
+CVE_STATUS[CVE-2019-6133] = "fixed-version: Fixed from version 5.0rc2"
 
-CVE_STATUS[CVE-2019-6974] = "fixed-version: Fixed after version 5.0rc6"
+CVE_STATUS[CVE-2019-6974] = "fixed-version: Fixed from version 5.0rc6"
 
-CVE_STATUS[CVE-2019-7221] = "fixed-version: Fixed after version 5.0rc6"
+CVE_STATUS[CVE-2019-7221] = "fixed-version: Fixed from version 5.0rc6"
 
-CVE_STATUS[CVE-2019-7222] = "fixed-version: Fixed after version 5.0rc6"
+CVE_STATUS[CVE-2019-7222] = "fixed-version: Fixed from version 5.0rc6"
 
-CVE_STATUS[CVE-2019-7308] = "fixed-version: Fixed after version 5.0rc3"
+CVE_STATUS[CVE-2019-7308] = "fixed-version: Fixed from version 5.0rc3"
 
-CVE_STATUS[CVE-2019-8912] = "fixed-version: Fixed after version 5.0rc8"
+CVE_STATUS[CVE-2019-8912] = "fixed-version: Fixed from version 5.0rc8"
 
-CVE_STATUS[CVE-2019-8956] = "fixed-version: Fixed after version 5.0rc6"
+CVE_STATUS[CVE-2019-8956] = "fixed-version: Fixed from version 5.0rc6"
 
-CVE_STATUS[CVE-2019-8980] = "fixed-version: Fixed after version 5.1rc1"
+CVE_STATUS[CVE-2019-8980] = "fixed-version: Fixed from version 5.1rc1"
 
-CVE_STATUS[CVE-2019-9003] = "fixed-version: Fixed after version 5.0rc4"
+CVE_STATUS[CVE-2019-9003] = "fixed-version: Fixed from version 5.0rc4"
 
-CVE_STATUS[CVE-2019-9162] = "fixed-version: Fixed after version 5.0rc7"
+CVE_STATUS[CVE-2019-9162] = "fixed-version: Fixed from version 5.0rc7"
 
-CVE_STATUS[CVE-2019-9213] = "fixed-version: Fixed after version 5.0"
+CVE_STATUS[CVE-2019-9213] = "fixed-version: Fixed from version 5.0"
 
-CVE_STATUS[CVE-2019-9245] = "fixed-version: Fixed after version 5.0rc1"
+CVE_STATUS[CVE-2019-9245] = "fixed-version: Fixed from version 5.0rc1"
 
-CVE_STATUS[CVE-2019-9444] = "fixed-version: Fixed after version 4.15rc2"
+CVE_STATUS[CVE-2019-9444] = "fixed-version: Fixed from version 4.15rc2"
 
-CVE_STATUS[CVE-2019-9445] = "fixed-version: Fixed after version 5.1rc1"
+CVE_STATUS[CVE-2019-9445] = "fixed-version: Fixed from version 5.1rc1"
 
-CVE_STATUS[CVE-2019-9453] = "fixed-version: Fixed after version 5.2rc1"
+CVE_STATUS[CVE-2019-9453] = "fixed-version: Fixed from version 5.2rc1"
 
-CVE_STATUS[CVE-2019-9454] = "fixed-version: Fixed after version 4.15rc9"
+CVE_STATUS[CVE-2019-9454] = "fixed-version: Fixed from version 4.15rc9"
 
-CVE_STATUS[CVE-2019-9455] = "fixed-version: Fixed after version 5.0rc1"
+CVE_STATUS[CVE-2019-9455] = "fixed-version: Fixed from version 5.0rc1"
 
-CVE_STATUS[CVE-2019-9456] = "fixed-version: Fixed after version 4.16rc6"
+CVE_STATUS[CVE-2019-9456] = "fixed-version: Fixed from version 4.16rc6"
 
-CVE_STATUS[CVE-2019-9457] = "fixed-version: Fixed after version 4.13rc1"
+CVE_STATUS[CVE-2019-9457] = "fixed-version: Fixed from version 4.13rc1"
 
-CVE_STATUS[CVE-2019-9458] = "fixed-version: Fixed after version 4.19rc7"
+CVE_STATUS[CVE-2019-9458] = "fixed-version: Fixed from version 4.19rc7"
 
-CVE_STATUS[CVE-2019-9466] = "fixed-version: Fixed after version 5.1rc1"
+CVE_STATUS[CVE-2019-9466] = "fixed-version: Fixed from version 5.1rc1"
 
-CVE_STATUS[CVE-2019-9500] = "fixed-version: Fixed after version 5.1rc1"
+CVE_STATUS[CVE-2019-9500] = "fixed-version: Fixed from version 5.1rc1"
 
-CVE_STATUS[CVE-2019-9503] = "fixed-version: Fixed after version 5.1rc1"
+CVE_STATUS[CVE-2019-9503] = "fixed-version: Fixed from version 5.1rc1"
 
-CVE_STATUS[CVE-2019-9506] = "fixed-version: Fixed after version 5.2"
+CVE_STATUS[CVE-2019-9506] = "fixed-version: Fixed from version 5.2"
 
-CVE_STATUS[CVE-2019-9857] = "fixed-version: Fixed after version 5.1rc2"
+CVE_STATUS[CVE-2019-9857] = "fixed-version: Fixed from version 5.1rc2"
 
-CVE_STATUS[CVE-2020-0009] = "fixed-version: Fixed after version 5.6rc3"
+CVE_STATUS[CVE-2020-0009] = "fixed-version: Fixed from version 5.6rc3"
 
-CVE_STATUS[CVE-2020-0030] = "fixed-version: Fixed after version 4.16rc3"
+CVE_STATUS[CVE-2020-0030] = "fixed-version: Fixed from version 4.16rc3"
 
-CVE_STATUS[CVE-2020-0041] = "fixed-version: Fixed after version 5.5rc2"
+CVE_STATUS[CVE-2020-0041] = "fixed-version: Fixed from version 5.5rc2"
 
-CVE_STATUS[CVE-2020-0066] = "fixed-version: Fixed after version 4.3rc7"
+CVE_STATUS[CVE-2020-0066] = "fixed-version: Fixed from version 4.3rc7"
 
-CVE_STATUS[CVE-2020-0067] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2020-0067] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2020-0110] = "fixed-version: Fixed after version 5.6rc2"
+CVE_STATUS[CVE-2020-0110] = "fixed-version: Fixed from version 5.6rc2"
 
-CVE_STATUS[CVE-2020-0255] = "fixed-version: Fixed after version 5.7rc4"
+CVE_STATUS[CVE-2020-0255] = "fixed-version: Fixed from version 5.7rc4"
 
-CVE_STATUS[CVE-2020-0305] = "fixed-version: Fixed after version 5.5rc6"
+CVE_STATUS[CVE-2020-0305] = "fixed-version: Fixed from version 5.5rc6"
 
 # CVE-2020-0347 has no known resolution
 
-CVE_STATUS[CVE-2020-0404] = "fixed-version: Fixed after version 5.6rc1"
+CVE_STATUS[CVE-2020-0404] = "fixed-version: Fixed from version 5.6rc1"
 
-CVE_STATUS[CVE-2020-0423] = "fixed-version: Fixed after version 5.10rc1"
+CVE_STATUS[CVE-2020-0423] = "fixed-version: Fixed from version 5.10rc1"
 
-CVE_STATUS[CVE-2020-0427] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2020-0427] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2020-0429] = "fixed-version: Fixed after version 4.14rc4"
+CVE_STATUS[CVE-2020-0429] = "fixed-version: Fixed from version 4.14rc4"
 
-CVE_STATUS[CVE-2020-0430] = "fixed-version: Fixed after version 4.18rc1"
+CVE_STATUS[CVE-2020-0430] = "fixed-version: Fixed from version 4.18rc1"
 
-CVE_STATUS[CVE-2020-0431] = "fixed-version: Fixed after version 5.5rc6"
+CVE_STATUS[CVE-2020-0431] = "fixed-version: Fixed from version 5.5rc6"
 
-CVE_STATUS[CVE-2020-0432] = "fixed-version: Fixed after version 5.6rc1"
+CVE_STATUS[CVE-2020-0432] = "fixed-version: Fixed from version 5.6rc1"
 
-CVE_STATUS[CVE-2020-0433] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2020-0433] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2020-0435] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2020-0435] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2020-0444] = "fixed-version: Fixed after version 5.6rc4"
+CVE_STATUS[CVE-2020-0444] = "fixed-version: Fixed from version 5.6rc4"
 
-CVE_STATUS[CVE-2020-0465] = "fixed-version: Fixed after version 5.9rc4"
+CVE_STATUS[CVE-2020-0465] = "fixed-version: Fixed from version 5.9rc4"
 
-CVE_STATUS[CVE-2020-0466] = "fixed-version: Fixed after version 5.9rc2"
+CVE_STATUS[CVE-2020-0466] = "fixed-version: Fixed from version 5.9rc2"
 
-CVE_STATUS[CVE-2020-0543] = "fixed-version: Fixed after version 5.8rc1"
+CVE_STATUS[CVE-2020-0543] = "fixed-version: Fixed from version 5.8rc1"
 
-CVE_STATUS[CVE-2020-10135] = "fixed-version: Fixed after version 5.8rc1"
+CVE_STATUS[CVE-2020-10135] = "fixed-version: Fixed from version 5.8rc1"
 
-CVE_STATUS[CVE-2020-10690] = "fixed-version: Fixed after version 5.5rc5"
+CVE_STATUS[CVE-2020-10690] = "fixed-version: Fixed from version 5.5rc5"
 
 # CVE-2020-10708 has no known resolution
 
-CVE_STATUS[CVE-2020-10711] = "fixed-version: Fixed after version 5.7rc6"
+CVE_STATUS[CVE-2020-10711] = "fixed-version: Fixed from version 5.7rc6"
 
-CVE_STATUS[CVE-2020-10720] = "fixed-version: Fixed after version 5.2rc3"
+CVE_STATUS[CVE-2020-10720] = "fixed-version: Fixed from version 5.2rc3"
 
-CVE_STATUS[CVE-2020-10732] = "fixed-version: Fixed after version 5.7"
+CVE_STATUS[CVE-2020-10732] = "fixed-version: Fixed from version 5.7"
 
-CVE_STATUS[CVE-2020-10742] = "fixed-version: Fixed after version 3.16rc1"
+CVE_STATUS[CVE-2020-10742] = "fixed-version: Fixed from version 3.16rc1"
 
-CVE_STATUS[CVE-2020-10751] = "fixed-version: Fixed after version 5.7rc4"
+CVE_STATUS[CVE-2020-10751] = "fixed-version: Fixed from version 5.7rc4"
 
-CVE_STATUS[CVE-2020-10757] = "fixed-version: Fixed after version 5.8rc1"
+CVE_STATUS[CVE-2020-10757] = "fixed-version: Fixed from version 5.8rc1"
 
-CVE_STATUS[CVE-2020-10766] = "fixed-version: Fixed after version 5.8rc1"
+CVE_STATUS[CVE-2020-10766] = "fixed-version: Fixed from version 5.8rc1"
 
-CVE_STATUS[CVE-2020-10767] = "fixed-version: Fixed after version 5.8rc1"
+CVE_STATUS[CVE-2020-10767] = "fixed-version: Fixed from version 5.8rc1"
 
-CVE_STATUS[CVE-2020-10768] = "fixed-version: Fixed after version 5.8rc1"
+CVE_STATUS[CVE-2020-10768] = "fixed-version: Fixed from version 5.8rc1"
 
-CVE_STATUS[CVE-2020-10769] = "fixed-version: Fixed after version 5.0rc3"
+CVE_STATUS[CVE-2020-10769] = "fixed-version: Fixed from version 5.0rc3"
 
-CVE_STATUS[CVE-2020-10773] = "fixed-version: Fixed after version 5.4rc6"
+CVE_STATUS[CVE-2020-10773] = "fixed-version: Fixed from version 5.4rc6"
 
 # CVE-2020-10774 has no known resolution
 
-CVE_STATUS[CVE-2020-10781] = "fixed-version: Fixed after version 5.8rc6"
+CVE_STATUS[CVE-2020-10781] = "fixed-version: Fixed from version 5.8rc6"
 
-CVE_STATUS[CVE-2020-10942] = "fixed-version: Fixed after version 5.6rc4"
+CVE_STATUS[CVE-2020-10942] = "fixed-version: Fixed from version 5.6rc4"
 
-CVE_STATUS[CVE-2020-11494] = "fixed-version: Fixed after version 5.7rc1"
+CVE_STATUS[CVE-2020-11494] = "fixed-version: Fixed from version 5.7rc1"
 
-CVE_STATUS[CVE-2020-11565] = "fixed-version: Fixed after version 5.7rc1"
+CVE_STATUS[CVE-2020-11565] = "fixed-version: Fixed from version 5.7rc1"
 
-CVE_STATUS[CVE-2020-11608] = "fixed-version: Fixed after version 5.7rc1"
+CVE_STATUS[CVE-2020-11608] = "fixed-version: Fixed from version 5.7rc1"
 
-CVE_STATUS[CVE-2020-11609] = "fixed-version: Fixed after version 5.7rc1"
+CVE_STATUS[CVE-2020-11609] = "fixed-version: Fixed from version 5.7rc1"
 
-CVE_STATUS[CVE-2020-11668] = "fixed-version: Fixed after version 5.7rc1"
+CVE_STATUS[CVE-2020-11668] = "fixed-version: Fixed from version 5.7rc1"
 
-CVE_STATUS[CVE-2020-11669] = "fixed-version: Fixed after version 5.2rc1"
+CVE_STATUS[CVE-2020-11669] = "fixed-version: Fixed from version 5.2rc1"
 
 # CVE-2020-11725 has no known resolution
 
-CVE_STATUS[CVE-2020-11884] = "fixed-version: Fixed after version 5.7rc4"
+CVE_STATUS[CVE-2020-11884] = "fixed-version: Fixed from version 5.7rc4"
 
 # CVE-2020-11935 has no known resolution
 
-CVE_STATUS[CVE-2020-12114] = "fixed-version: Fixed after version 5.3rc1"
+CVE_STATUS[CVE-2020-12114] = "fixed-version: Fixed from version 5.3rc1"
 
-CVE_STATUS[CVE-2020-12351] = "fixed-version: Fixed after version 5.10rc1"
+CVE_STATUS[CVE-2020-12351] = "fixed-version: Fixed from version 5.10rc1"
 
-CVE_STATUS[CVE-2020-12352] = "fixed-version: Fixed after version 5.10rc1"
+CVE_STATUS[CVE-2020-12352] = "fixed-version: Fixed from version 5.10rc1"
 
-CVE_STATUS[CVE-2020-12362] = "fixed-version: Fixed after version 5.11rc1"
+CVE_STATUS[CVE-2020-12362] = "fixed-version: Fixed from version 5.11rc1"
 
-CVE_STATUS[CVE-2020-12363] = "fixed-version: Fixed after version 5.11rc1"
+CVE_STATUS[CVE-2020-12363] = "fixed-version: Fixed from version 5.11rc1"
 
-CVE_STATUS[CVE-2020-12364] = "fixed-version: Fixed after version 5.11rc1"
+CVE_STATUS[CVE-2020-12364] = "fixed-version: Fixed from version 5.11rc1"
 
-CVE_STATUS[CVE-2020-12464] = "fixed-version: Fixed after version 5.7rc3"
+CVE_STATUS[CVE-2020-12464] = "fixed-version: Fixed from version 5.7rc3"
 
-CVE_STATUS[CVE-2020-12465] = "fixed-version: Fixed after version 5.6rc6"
+CVE_STATUS[CVE-2020-12465] = "fixed-version: Fixed from version 5.6rc6"
 
-CVE_STATUS[CVE-2020-12652] = "fixed-version: Fixed after version 5.5rc7"
+CVE_STATUS[CVE-2020-12652] = "fixed-version: Fixed from version 5.5rc7"
 
-CVE_STATUS[CVE-2020-12653] = "fixed-version: Fixed after version 5.6rc1"
+CVE_STATUS[CVE-2020-12653] = "fixed-version: Fixed from version 5.6rc1"
 
-CVE_STATUS[CVE-2020-12654] = "fixed-version: Fixed after version 5.6rc1"
+CVE_STATUS[CVE-2020-12654] = "fixed-version: Fixed from version 5.6rc1"
 
-CVE_STATUS[CVE-2020-12655] = "fixed-version: Fixed after version 5.7rc1"
+CVE_STATUS[CVE-2020-12655] = "fixed-version: Fixed from version 5.7rc1"
 
-CVE_STATUS[CVE-2020-12656] = "fixed-version: Fixed after version 5.8rc1"
+CVE_STATUS[CVE-2020-12656] = "fixed-version: Fixed from version 5.8rc1"
 
-CVE_STATUS[CVE-2020-12657] = "fixed-version: Fixed after version 5.7rc1"
+CVE_STATUS[CVE-2020-12657] = "fixed-version: Fixed from version 5.7rc1"
 
-CVE_STATUS[CVE-2020-12659] = "fixed-version: Fixed after version 5.7rc2"
+CVE_STATUS[CVE-2020-12659] = "fixed-version: Fixed from version 5.7rc2"
 
-CVE_STATUS[CVE-2020-12768] = "fixed-version: Fixed after version 5.6rc4"
+CVE_STATUS[CVE-2020-12768] = "fixed-version: Fixed from version 5.6rc4"
 
-CVE_STATUS[CVE-2020-12769] = "fixed-version: Fixed after version 5.5rc6"
+CVE_STATUS[CVE-2020-12769] = "fixed-version: Fixed from version 5.5rc6"
 
-CVE_STATUS[CVE-2020-12770] = "fixed-version: Fixed after version 5.7rc3"
+CVE_STATUS[CVE-2020-12770] = "fixed-version: Fixed from version 5.7rc3"
 
-CVE_STATUS[CVE-2020-12771] = "fixed-version: Fixed after version 5.8rc2"
+CVE_STATUS[CVE-2020-12771] = "fixed-version: Fixed from version 5.8rc2"
 
-CVE_STATUS[CVE-2020-12826] = "fixed-version: Fixed after version 5.7rc1"
+CVE_STATUS[CVE-2020-12826] = "fixed-version: Fixed from version 5.7rc1"
 
-CVE_STATUS[CVE-2020-12888] = "fixed-version: Fixed after version 5.8rc1"
+CVE_STATUS[CVE-2020-12888] = "fixed-version: Fixed from version 5.8rc1"
 
-CVE_STATUS[CVE-2020-12912] = "fixed-version: Fixed after version 5.10rc4"
+CVE_STATUS[CVE-2020-12912] = "fixed-version: Fixed from version 5.10rc4"
 
-CVE_STATUS[CVE-2020-13143] = "fixed-version: Fixed after version 5.7rc6"
+CVE_STATUS[CVE-2020-13143] = "fixed-version: Fixed from version 5.7rc6"
 
-CVE_STATUS[CVE-2020-13974] = "fixed-version: Fixed after version 5.8rc1"
+CVE_STATUS[CVE-2020-13974] = "fixed-version: Fixed from version 5.8rc1"
 
 # CVE-2020-14304 has no known resolution
 
-CVE_STATUS[CVE-2020-14305] = "fixed-version: Fixed after version 4.12rc1"
+CVE_STATUS[CVE-2020-14305] = "fixed-version: Fixed from version 4.12rc1"
 
-CVE_STATUS[CVE-2020-14314] = "fixed-version: Fixed after version 5.9rc2"
+CVE_STATUS[CVE-2020-14314] = "fixed-version: Fixed from version 5.9rc2"
 
-CVE_STATUS[CVE-2020-14331] = "fixed-version: Fixed after version 5.9rc1"
+CVE_STATUS[CVE-2020-14331] = "fixed-version: Fixed from version 5.9rc1"
 
-CVE_STATUS[CVE-2020-14351] = "fixed-version: Fixed after version 5.10rc1"
+CVE_STATUS[CVE-2020-14351] = "fixed-version: Fixed from version 5.10rc1"
 
-CVE_STATUS[CVE-2020-14353] = "fixed-version: Fixed after version 4.14rc3"
+CVE_STATUS[CVE-2020-14353] = "fixed-version: Fixed from version 4.14rc3"
 
-CVE_STATUS[CVE-2020-14356] = "fixed-version: Fixed after version 5.8rc5"
+CVE_STATUS[CVE-2020-14356] = "fixed-version: Fixed from version 5.8rc5"
 
-CVE_STATUS[CVE-2020-14381] = "fixed-version: Fixed after version 5.6rc6"
+CVE_STATUS[CVE-2020-14381] = "fixed-version: Fixed from version 5.6rc6"
 
-CVE_STATUS[CVE-2020-14385] = "fixed-version: Fixed after version 5.9rc4"
+CVE_STATUS[CVE-2020-14385] = "fixed-version: Fixed from version 5.9rc4"
 
-CVE_STATUS[CVE-2020-14386] = "fixed-version: Fixed after version 5.9rc4"
+CVE_STATUS[CVE-2020-14386] = "fixed-version: Fixed from version 5.9rc4"
 
-CVE_STATUS[CVE-2020-14390] = "fixed-version: Fixed after version 5.9rc6"
+CVE_STATUS[CVE-2020-14390] = "fixed-version: Fixed from version 5.9rc6"
 
-CVE_STATUS[CVE-2020-14416] = "fixed-version: Fixed after version 5.5"
+CVE_STATUS[CVE-2020-14416] = "fixed-version: Fixed from version 5.5"
 
-CVE_STATUS[CVE-2020-15393] = "fixed-version: Fixed after version 5.8rc3"
+CVE_STATUS[CVE-2020-15393] = "fixed-version: Fixed from version 5.8rc3"
 
-CVE_STATUS[CVE-2020-15436] = "fixed-version: Fixed after version 5.8rc2"
+CVE_STATUS[CVE-2020-15436] = "fixed-version: Fixed from version 5.8rc2"
 
-CVE_STATUS[CVE-2020-15437] = "fixed-version: Fixed after version 5.8rc7"
+CVE_STATUS[CVE-2020-15437] = "fixed-version: Fixed from version 5.8rc7"
 
-CVE_STATUS[CVE-2020-15780] = "fixed-version: Fixed after version 5.8rc3"
+CVE_STATUS[CVE-2020-15780] = "fixed-version: Fixed from version 5.8rc3"
 
 # CVE-2020-15802 has no known resolution
 
-CVE_STATUS[CVE-2020-15852] = "fixed-version: Fixed after version 5.8rc6"
+CVE_STATUS[CVE-2020-15852] = "fixed-version: Fixed from version 5.8rc6"
 
-CVE_STATUS[CVE-2020-16119] = "fixed-version: Fixed after version 5.15rc2"
+CVE_STATUS[CVE-2020-16119] = "fixed-version: Fixed from version 5.15rc2"
 
-CVE_STATUS[CVE-2020-16120] = "fixed-version: Fixed after version 5.8rc1"
+CVE_STATUS[CVE-2020-16120] = "fixed-version: Fixed from version 5.8rc1"
 
-CVE_STATUS[CVE-2020-16166] = "fixed-version: Fixed after version 5.8"
+CVE_STATUS[CVE-2020-16166] = "fixed-version: Fixed from version 5.8"
 
-CVE_STATUS[CVE-2020-1749] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2020-1749] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2020-24394] = "fixed-version: Fixed after version 5.8rc4"
+CVE_STATUS[CVE-2020-24394] = "fixed-version: Fixed from version 5.8rc4"
 
-CVE_STATUS[CVE-2020-24490] = "fixed-version: Fixed after version 5.8"
+CVE_STATUS[CVE-2020-24490] = "fixed-version: Fixed from version 5.8"
 
 # CVE-2020-24502 has no known resolution
 
 # CVE-2020-24503 has no known resolution
 
-CVE_STATUS[CVE-2020-24504] = "fixed-version: Fixed after version 5.12rc1"
+CVE_STATUS[CVE-2020-24504] = "fixed-version: Fixed from version 5.12rc1"
 
-CVE_STATUS[CVE-2020-24586] = "fixed-version: Fixed after version 5.13rc4"
+CVE_STATUS[CVE-2020-24586] = "fixed-version: Fixed from version 5.13rc4"
 
-CVE_STATUS[CVE-2020-24587] = "fixed-version: Fixed after version 5.13rc4"
+CVE_STATUS[CVE-2020-24587] = "fixed-version: Fixed from version 5.13rc4"
 
-CVE_STATUS[CVE-2020-24588] = "fixed-version: Fixed after version 5.13rc4"
+CVE_STATUS[CVE-2020-24588] = "fixed-version: Fixed from version 5.13rc4"
 
-CVE_STATUS[CVE-2020-25211] = "fixed-version: Fixed after version 5.9rc7"
+CVE_STATUS[CVE-2020-25211] = "fixed-version: Fixed from version 5.9rc7"
 
-CVE_STATUS[CVE-2020-25212] = "fixed-version: Fixed after version 5.9rc1"
+CVE_STATUS[CVE-2020-25212] = "fixed-version: Fixed from version 5.9rc1"
 
 # CVE-2020-25220 has no known resolution
 
-CVE_STATUS[CVE-2020-25221] = "fixed-version: Fixed after version 5.9rc4"
+CVE_STATUS[CVE-2020-25221] = "fixed-version: Fixed from version 5.9rc4"
 
-CVE_STATUS[CVE-2020-25284] = "fixed-version: Fixed after version 5.9rc5"
+CVE_STATUS[CVE-2020-25284] = "fixed-version: Fixed from version 5.9rc5"
 
-CVE_STATUS[CVE-2020-25285] = "fixed-version: Fixed after version 5.9rc4"
+CVE_STATUS[CVE-2020-25285] = "fixed-version: Fixed from version 5.9rc4"
 
-CVE_STATUS[CVE-2020-25639] = "fixed-version: Fixed after version 5.12rc1"
+CVE_STATUS[CVE-2020-25639] = "fixed-version: Fixed from version 5.12rc1"
 
-CVE_STATUS[CVE-2020-25641] = "fixed-version: Fixed after version 5.9rc4"
+CVE_STATUS[CVE-2020-25641] = "fixed-version: Fixed from version 5.9rc4"
 
-CVE_STATUS[CVE-2020-25643] = "fixed-version: Fixed after version 5.9rc7"
+CVE_STATUS[CVE-2020-25643] = "fixed-version: Fixed from version 5.9rc7"
 
-CVE_STATUS[CVE-2020-25645] = "fixed-version: Fixed after version 5.9rc7"
+CVE_STATUS[CVE-2020-25645] = "fixed-version: Fixed from version 5.9rc7"
 
-CVE_STATUS[CVE-2020-25656] = "fixed-version: Fixed after version 5.10rc2"
+CVE_STATUS[CVE-2020-25656] = "fixed-version: Fixed from version 5.10rc2"
 
 # CVE-2020-25661 has no known resolution
 
 # CVE-2020-25662 has no known resolution
 
-CVE_STATUS[CVE-2020-25668] = "fixed-version: Fixed after version 5.10rc3"
+CVE_STATUS[CVE-2020-25668] = "fixed-version: Fixed from version 5.10rc3"
 
-CVE_STATUS[CVE-2020-25669] = "fixed-version: Fixed after version 5.10rc5"
+CVE_STATUS[CVE-2020-25669] = "fixed-version: Fixed from version 5.10rc5"
 
-CVE_STATUS[CVE-2020-25670] = "fixed-version: Fixed after version 5.12rc7"
+CVE_STATUS[CVE-2020-25670] = "fixed-version: Fixed from version 5.12rc7"
 
-CVE_STATUS[CVE-2020-25671] = "fixed-version: Fixed after version 5.12rc7"
+CVE_STATUS[CVE-2020-25671] = "fixed-version: Fixed from version 5.12rc7"
 
-CVE_STATUS[CVE-2020-25672] = "fixed-version: Fixed after version 5.12rc7"
+CVE_STATUS[CVE-2020-25672] = "fixed-version: Fixed from version 5.12rc7"
 
-CVE_STATUS[CVE-2020-25673] = "fixed-version: Fixed after version 5.12rc7"
+CVE_STATUS[CVE-2020-25673] = "fixed-version: Fixed from version 5.12rc7"
 
-CVE_STATUS[CVE-2020-25704] = "fixed-version: Fixed after version 5.10rc3"
+CVE_STATUS[CVE-2020-25704] = "fixed-version: Fixed from version 5.10rc3"
 
-CVE_STATUS[CVE-2020-25705] = "fixed-version: Fixed after version 5.10rc1"
+CVE_STATUS[CVE-2020-25705] = "fixed-version: Fixed from version 5.10rc1"
 
-CVE_STATUS[CVE-2020-26088] = "fixed-version: Fixed after version 5.9rc1"
+CVE_STATUS[CVE-2020-26088] = "fixed-version: Fixed from version 5.9rc1"
 
-CVE_STATUS[CVE-2020-26139] = "fixed-version: Fixed after version 5.13rc4"
+CVE_STATUS[CVE-2020-26139] = "fixed-version: Fixed from version 5.13rc4"
 
 # CVE-2020-26140 has no known resolution
 
-CVE_STATUS[CVE-2020-26141] = "fixed-version: Fixed after version 5.13rc4"
+CVE_STATUS[CVE-2020-26141] = "fixed-version: Fixed from version 5.13rc4"
 
 # CVE-2020-26142 has no known resolution
 
 # CVE-2020-26143 has no known resolution
 
-CVE_STATUS[CVE-2020-26145] = "fixed-version: Fixed after version 5.13rc4"
+CVE_STATUS[CVE-2020-26145] = "fixed-version: Fixed from version 5.13rc4"
 
-CVE_STATUS[CVE-2020-26147] = "fixed-version: Fixed after version 5.13rc4"
+CVE_STATUS[CVE-2020-26147] = "fixed-version: Fixed from version 5.13rc4"
 
-CVE_STATUS[CVE-2020-26541] = "fixed-version: Fixed after version 5.13rc1"
+CVE_STATUS[CVE-2020-26541] = "fixed-version: Fixed from version 5.13rc1"
 
-CVE_STATUS[CVE-2020-26555] = "fixed-version: Fixed after version 5.13rc1"
+CVE_STATUS[CVE-2020-26555] = "fixed-version: Fixed from version 5.13rc1"
 
 # CVE-2020-26556 has no known resolution
 
 # CVE-2020-26557 has no known resolution
 
-CVE_STATUS[CVE-2020-26558] = "fixed-version: Fixed after version 5.13rc1"
+CVE_STATUS[CVE-2020-26558] = "fixed-version: Fixed from version 5.13rc1"
 
 # CVE-2020-26559 has no known resolution
 
 # CVE-2020-26560 has no known resolution
 
-CVE_STATUS[CVE-2020-27066] = "fixed-version: Fixed after version 5.6"
+CVE_STATUS[CVE-2020-27066] = "fixed-version: Fixed from version 5.6"
 
-CVE_STATUS[CVE-2020-27067] = "fixed-version: Fixed after version 4.14rc4"
+CVE_STATUS[CVE-2020-27067] = "fixed-version: Fixed from version 4.14rc4"
 
-CVE_STATUS[CVE-2020-27068] = "fixed-version: Fixed after version 5.6rc2"
+CVE_STATUS[CVE-2020-27068] = "fixed-version: Fixed from version 5.6rc2"
 
-CVE_STATUS[CVE-2020-27152] = "fixed-version: Fixed after version 5.10rc1"
+CVE_STATUS[CVE-2020-27152] = "fixed-version: Fixed from version 5.10rc1"
 
-CVE_STATUS[CVE-2020-27170] = "fixed-version: Fixed after version 5.12rc5"
+CVE_STATUS[CVE-2020-27170] = "fixed-version: Fixed from version 5.12rc5"
 
-CVE_STATUS[CVE-2020-27171] = "fixed-version: Fixed after version 5.12rc5"
+CVE_STATUS[CVE-2020-27171] = "fixed-version: Fixed from version 5.12rc5"
 
-CVE_STATUS[CVE-2020-27194] = "fixed-version: Fixed after version 5.9"
+CVE_STATUS[CVE-2020-27194] = "fixed-version: Fixed from version 5.9"
 
-CVE_STATUS[CVE-2020-2732] = "fixed-version: Fixed after version 5.6rc4"
+CVE_STATUS[CVE-2020-2732] = "fixed-version: Fixed from version 5.6rc4"
 
-CVE_STATUS[CVE-2020-27673] = "fixed-version: Fixed after version 5.10rc1"
+# CVE-2020-27418 has no known resolution
 
-CVE_STATUS[CVE-2020-27675] = "fixed-version: Fixed after version 5.10rc1"
+CVE_STATUS[CVE-2020-27673] = "fixed-version: Fixed from version 5.10rc1"
 
-CVE_STATUS[CVE-2020-27777] = "fixed-version: Fixed after version 5.10rc1"
+CVE_STATUS[CVE-2020-27675] = "fixed-version: Fixed from version 5.10rc1"
 
-CVE_STATUS[CVE-2020-27784] = "fixed-version: Fixed after version 5.10rc1"
+CVE_STATUS[CVE-2020-27777] = "fixed-version: Fixed from version 5.10rc1"
 
-CVE_STATUS[CVE-2020-27786] = "fixed-version: Fixed after version 5.7rc6"
+CVE_STATUS[CVE-2020-27784] = "fixed-version: Fixed from version 5.10rc1"
 
-CVE_STATUS[CVE-2020-27815] = "fixed-version: Fixed after version 5.11rc1"
+CVE_STATUS[CVE-2020-27786] = "fixed-version: Fixed from version 5.7rc6"
 
-CVE_STATUS[CVE-2020-27820] = "fixed-version: Fixed after version 5.16rc1"
+CVE_STATUS[CVE-2020-27815] = "fixed-version: Fixed from version 5.11rc1"
 
-CVE_STATUS[CVE-2020-27825] = "fixed-version: Fixed after version 5.10rc1"
+CVE_STATUS[CVE-2020-27820] = "fixed-version: Fixed from version 5.16rc1"
 
-CVE_STATUS[CVE-2020-27830] = "fixed-version: Fixed after version 5.10rc7"
+CVE_STATUS[CVE-2020-27825] = "fixed-version: Fixed from version 5.10rc1"
 
-CVE_STATUS[CVE-2020-27835] = "fixed-version: Fixed after version 5.10rc6"
+CVE_STATUS[CVE-2020-27830] = "fixed-version: Fixed from version 5.10rc7"
 
-CVE_STATUS[CVE-2020-28097] = "fixed-version: Fixed after version 5.9rc6"
+CVE_STATUS[CVE-2020-27835] = "fixed-version: Fixed from version 5.10rc6"
 
-CVE_STATUS[CVE-2020-28374] = "fixed-version: Fixed after version 5.11rc4"
+CVE_STATUS[CVE-2020-28097] = "fixed-version: Fixed from version 5.9rc6"
 
-CVE_STATUS[CVE-2020-28588] = "fixed-version: Fixed after version 5.10rc7"
+CVE_STATUS[CVE-2020-28374] = "fixed-version: Fixed from version 5.11rc4"
 
-CVE_STATUS[CVE-2020-28915] = "fixed-version: Fixed after version 5.9"
+CVE_STATUS[CVE-2020-28588] = "fixed-version: Fixed from version 5.10rc7"
 
-CVE_STATUS[CVE-2020-28941] = "fixed-version: Fixed after version 5.10rc5"
+CVE_STATUS[CVE-2020-28915] = "fixed-version: Fixed from version 5.9"
 
-CVE_STATUS[CVE-2020-28974] = "fixed-version: Fixed after version 5.10rc3"
+CVE_STATUS[CVE-2020-28941] = "fixed-version: Fixed from version 5.10rc5"
 
-CVE_STATUS[CVE-2020-29368] = "fixed-version: Fixed after version 5.8rc1"
+CVE_STATUS[CVE-2020-28974] = "fixed-version: Fixed from version 5.10rc3"
 
-CVE_STATUS[CVE-2020-29369] = "fixed-version: Fixed after version 5.8rc7"
+CVE_STATUS[CVE-2020-29368] = "fixed-version: Fixed from version 5.8rc1"
 
-CVE_STATUS[CVE-2020-29370] = "fixed-version: Fixed after version 5.6rc7"
+CVE_STATUS[CVE-2020-29369] = "fixed-version: Fixed from version 5.8rc7"
 
-CVE_STATUS[CVE-2020-29371] = "fixed-version: Fixed after version 5.9rc2"
+CVE_STATUS[CVE-2020-29370] = "fixed-version: Fixed from version 5.6rc7"
 
-CVE_STATUS[CVE-2020-29372] = "fixed-version: Fixed after version 5.7rc3"
+CVE_STATUS[CVE-2020-29371] = "fixed-version: Fixed from version 5.9rc2"
 
-CVE_STATUS[CVE-2020-29373] = "fixed-version: Fixed after version 5.6rc2"
+CVE_STATUS[CVE-2020-29372] = "fixed-version: Fixed from version 5.7rc3"
 
-CVE_STATUS[CVE-2020-29374] = "fixed-version: Fixed after version 5.8rc1"
+CVE_STATUS[CVE-2020-29373] = "fixed-version: Fixed from version 5.6rc2"
 
-CVE_STATUS[CVE-2020-29534] = "fixed-version: Fixed after version 5.10rc1"
+CVE_STATUS[CVE-2020-29374] = "fixed-version: Fixed from version 5.8rc1"
 
-CVE_STATUS[CVE-2020-29568] = "fixed-version: Fixed after version 5.11rc1"
+CVE_STATUS[CVE-2020-29534] = "fixed-version: Fixed from version 5.10rc1"
 
-CVE_STATUS[CVE-2020-29569] = "fixed-version: Fixed after version 5.11rc1"
+CVE_STATUS[CVE-2020-29568] = "fixed-version: Fixed from version 5.11rc1"
 
-CVE_STATUS[CVE-2020-29660] = "fixed-version: Fixed after version 5.10rc7"
+CVE_STATUS[CVE-2020-29569] = "fixed-version: Fixed from version 5.11rc1"
 
-CVE_STATUS[CVE-2020-29661] = "fixed-version: Fixed after version 5.10rc7"
+CVE_STATUS[CVE-2020-29660] = "fixed-version: Fixed from version 5.10rc7"
 
-CVE_STATUS[CVE-2020-35499] = "fixed-version: Fixed after version 5.11rc1"
+CVE_STATUS[CVE-2020-29661] = "fixed-version: Fixed from version 5.10rc7"
+
+CVE_STATUS[CVE-2020-35499] = "fixed-version: Fixed from version 5.11rc1"
 
 # CVE-2020-35501 has no known resolution
 
-CVE_STATUS[CVE-2020-35508] = "fixed-version: Fixed after version 5.10rc3"
+CVE_STATUS[CVE-2020-35508] = "fixed-version: Fixed from version 5.10rc3"
 
-CVE_STATUS[CVE-2020-35513] = "fixed-version: Fixed after version 4.17rc1"
+CVE_STATUS[CVE-2020-35513] = "fixed-version: Fixed from version 4.17rc1"
 
-CVE_STATUS[CVE-2020-35519] = "fixed-version: Fixed after version 5.10rc7"
+CVE_STATUS[CVE-2020-35519] = "fixed-version: Fixed from version 5.10rc7"
 
-CVE_STATUS[CVE-2020-36158] = "fixed-version: Fixed after version 5.11rc1"
+CVE_STATUS[CVE-2020-36158] = "fixed-version: Fixed from version 5.11rc1"
 
-CVE_STATUS[CVE-2020-36310] = "fixed-version: Fixed after version 5.8rc1"
+CVE_STATUS[CVE-2020-36310] = "fixed-version: Fixed from version 5.8rc1"
 
-CVE_STATUS[CVE-2020-36311] = "fixed-version: Fixed after version 5.9rc5"
+CVE_STATUS[CVE-2020-36311] = "fixed-version: Fixed from version 5.9rc5"
 
-CVE_STATUS[CVE-2020-36312] = "fixed-version: Fixed after version 5.9rc5"
+CVE_STATUS[CVE-2020-36312] = "fixed-version: Fixed from version 5.9rc5"
 
-CVE_STATUS[CVE-2020-36313] = "fixed-version: Fixed after version 5.7rc1"
+CVE_STATUS[CVE-2020-36313] = "fixed-version: Fixed from version 5.7rc1"
 
-CVE_STATUS[CVE-2020-36322] = "fixed-version: Fixed after version 5.11rc1"
+CVE_STATUS[CVE-2020-36322] = "fixed-version: Fixed from version 5.11rc1"
 
-CVE_STATUS[CVE-2020-36385] = "fixed-version: Fixed after version 5.10rc1"
+CVE_STATUS[CVE-2020-36385] = "fixed-version: Fixed from version 5.10rc1"
 
-CVE_STATUS[CVE-2020-36386] = "fixed-version: Fixed after version 5.9rc1"
+CVE_STATUS[CVE-2020-36386] = "fixed-version: Fixed from version 5.9rc1"
 
-CVE_STATUS[CVE-2020-36387] = "fixed-version: Fixed after version 5.9rc1"
+CVE_STATUS[CVE-2020-36387] = "fixed-version: Fixed from version 5.9rc1"
 
-CVE_STATUS[CVE-2020-36516] = "fixed-version: Fixed after version 5.17rc2"
+CVE_STATUS[CVE-2020-36516] = "fixed-version: Fixed from version 5.17rc2"
 
-CVE_STATUS[CVE-2020-36557] = "fixed-version: Fixed after version 5.7rc1"
+CVE_STATUS[CVE-2020-36557] = "fixed-version: Fixed from version 5.7rc1"
 
-CVE_STATUS[CVE-2020-36558] = "fixed-version: Fixed after version 5.6rc3"
+CVE_STATUS[CVE-2020-36558] = "fixed-version: Fixed from version 5.6rc3"
 
-CVE_STATUS[CVE-2020-36691] = "fixed-version: Fixed after version 5.8rc1"
+CVE_STATUS[CVE-2020-36691] = "fixed-version: Fixed from version 5.8rc1"
 
-CVE_STATUS[CVE-2020-36694] = "fixed-version: Fixed after version 5.10"
+CVE_STATUS[CVE-2020-36694] = "fixed-version: Fixed from version 5.10"
 
-CVE_STATUS[CVE-2020-3702] = "fixed-version: Fixed after version 5.12rc1"
+CVE_STATUS[CVE-2020-3702] = "fixed-version: Fixed from version 5.12rc1"
 
-CVE_STATUS[CVE-2020-4788] = "fixed-version: Fixed after version 5.10rc5"
+CVE_STATUS[CVE-2020-4788] = "fixed-version: Fixed from version 5.10rc5"
 
-CVE_STATUS[CVE-2020-7053] = "fixed-version: Fixed after version 5.2rc1"
+CVE_STATUS[CVE-2020-7053] = "fixed-version: Fixed from version 5.2rc1"
 
-CVE_STATUS[CVE-2020-8428] = "fixed-version: Fixed after version 5.5"
+CVE_STATUS[CVE-2020-8428] = "fixed-version: Fixed from version 5.5"
 
-CVE_STATUS[CVE-2020-8647] = "fixed-version: Fixed after version 5.6rc5"
+CVE_STATUS[CVE-2020-8647] = "fixed-version: Fixed from version 5.6rc5"
 
-CVE_STATUS[CVE-2020-8648] = "fixed-version: Fixed after version 5.6rc3"
+CVE_STATUS[CVE-2020-8648] = "fixed-version: Fixed from version 5.6rc3"
 
-CVE_STATUS[CVE-2020-8649] = "fixed-version: Fixed after version 5.6rc5"
+CVE_STATUS[CVE-2020-8649] = "fixed-version: Fixed from version 5.6rc5"
 
-CVE_STATUS[CVE-2020-8694] = "fixed-version: Fixed after version 5.10rc4"
+CVE_STATUS[CVE-2020-8694] = "fixed-version: Fixed from version 5.10rc4"
 
 # CVE-2020-8832 has no known resolution
 
-CVE_STATUS[CVE-2020-8834] = "fixed-version: Fixed after version 4.18rc1"
+CVE_STATUS[CVE-2020-8834] = "fixed-version: Fixed from version 4.18rc1"
 
-CVE_STATUS[CVE-2020-8835] = "fixed-version: Fixed after version 5.7rc1"
+CVE_STATUS[CVE-2020-8835] = "fixed-version: Fixed from version 5.7rc1"
 
-CVE_STATUS[CVE-2020-8992] = "fixed-version: Fixed after version 5.6rc2"
+CVE_STATUS[CVE-2020-8992] = "fixed-version: Fixed from version 5.6rc2"
 
-CVE_STATUS[CVE-2020-9383] = "fixed-version: Fixed after version 5.6rc4"
+CVE_STATUS[CVE-2020-9383] = "fixed-version: Fixed from version 5.6rc4"
 
-CVE_STATUS[CVE-2020-9391] = "fixed-version: Fixed after version 5.6rc3"
+CVE_STATUS[CVE-2020-9391] = "fixed-version: Fixed from version 5.6rc3"
 
-CVE_STATUS[CVE-2021-0129] = "fixed-version: Fixed after version 5.13rc1"
+CVE_STATUS[CVE-2021-0129] = "fixed-version: Fixed from version 5.13rc1"
 
-CVE_STATUS[CVE-2021-0342] = "fixed-version: Fixed after version 5.8rc1"
+CVE_STATUS[CVE-2021-0342] = "fixed-version: Fixed from version 5.8rc1"
 
 # CVE-2021-0399 has no known resolution
 
-CVE_STATUS[CVE-2021-0447] = "fixed-version: Fixed after version 4.15rc1"
+CVE_STATUS[CVE-2021-0447] = "fixed-version: Fixed from version 4.15rc1"
 
-CVE_STATUS[CVE-2021-0448] = "fixed-version: Fixed after version 5.9rc7"
+CVE_STATUS[CVE-2021-0448] = "fixed-version: Fixed from version 5.9rc7"
 
-CVE_STATUS[CVE-2021-0512] = "fixed-version: Fixed after version 5.12rc1"
+CVE_STATUS[CVE-2021-0512] = "fixed-version: Fixed from version 5.12rc1"
 
-CVE_STATUS[CVE-2021-0605] = "fixed-version: Fixed after version 5.8"
+CVE_STATUS[CVE-2021-0605] = "fixed-version: Fixed from version 5.8"
 
 # CVE-2021-0606 has no known resolution
 
 # CVE-2021-0695 has no known resolution
 
-CVE_STATUS[CVE-2021-0707] = "fixed-version: Fixed after version 5.11rc3"
+CVE_STATUS[CVE-2021-0707] = "fixed-version: Fixed from version 5.11rc3"
 
-CVE_STATUS[CVE-2021-0920] = "fixed-version: Fixed after version 5.14rc4"
+CVE_STATUS[CVE-2021-0920] = "fixed-version: Fixed from version 5.14rc4"
 
 # CVE-2021-0924 has no known resolution
 
-CVE_STATUS[CVE-2021-0929] = "fixed-version: Fixed after version 5.6rc1"
+CVE_STATUS[CVE-2021-0929] = "fixed-version: Fixed from version 5.6rc1"
 
-CVE_STATUS[CVE-2021-0935] = "fixed-version: Fixed after version 4.16rc7"
+CVE_STATUS[CVE-2021-0935] = "fixed-version: Fixed from version 4.16rc7"
 
 # CVE-2021-0936 has no known resolution
 
-CVE_STATUS[CVE-2021-0937] = "fixed-version: Fixed after version 5.12rc8"
+CVE_STATUS[CVE-2021-0937] = "fixed-version: Fixed from version 5.12rc8"
 
-CVE_STATUS[CVE-2021-0938] = "fixed-version: Fixed after version 5.10rc4"
+CVE_STATUS[CVE-2021-0938] = "fixed-version: Fixed from version 5.10rc4"
 
-CVE_STATUS[CVE-2021-0941] = "fixed-version: Fixed after version 5.12rc1"
+CVE_STATUS[CVE-2021-0941] = "fixed-version: Fixed from version 5.12rc1"
 
 # CVE-2021-0961 has no known resolution
 
-CVE_STATUS[CVE-2021-1048] = "fixed-version: Fixed after version 5.9rc4"
+CVE_STATUS[CVE-2021-1048] = "fixed-version: Fixed from version 5.9rc4"
 
-CVE_STATUS[CVE-2021-20177] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2021-20177] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2021-20194] = "fixed-version: Fixed after version 5.10rc1"
+CVE_STATUS[CVE-2021-20194] = "fixed-version: Fixed from version 5.10rc1"
 
 # CVE-2021-20219 has no known resolution
 
-CVE_STATUS[CVE-2021-20226] = "fixed-version: Fixed after version 5.10rc1"
+CVE_STATUS[CVE-2021-20226] = "fixed-version: Fixed from version 5.10rc1"
 
-CVE_STATUS[CVE-2021-20239] = "fixed-version: Fixed after version 5.9rc1"
+CVE_STATUS[CVE-2021-20239] = "fixed-version: Fixed from version 5.9rc1"
 
-CVE_STATUS[CVE-2021-20261] = "fixed-version: Fixed after version 4.5rc5"
+CVE_STATUS[CVE-2021-20261] = "fixed-version: Fixed from version 4.5rc5"
 
-CVE_STATUS[CVE-2021-20265] = "fixed-version: Fixed after version 4.5rc3"
+CVE_STATUS[CVE-2021-20265] = "fixed-version: Fixed from version 4.5rc3"
 
-CVE_STATUS[CVE-2021-20268] = "fixed-version: Fixed after version 5.11rc5"
+CVE_STATUS[CVE-2021-20268] = "fixed-version: Fixed from version 5.11rc5"
 
-CVE_STATUS[CVE-2021-20292] = "fixed-version: Fixed after version 5.9rc1"
+CVE_STATUS[CVE-2021-20292] = "fixed-version: Fixed from version 5.9rc1"
 
-CVE_STATUS[CVE-2021-20317] = "fixed-version: Fixed after version 5.4rc1"
+CVE_STATUS[CVE-2021-20317] = "fixed-version: Fixed from version 5.4rc1"
 
-CVE_STATUS[CVE-2021-20320] = "fixed-version: Fixed after version 5.15rc3"
+CVE_STATUS[CVE-2021-20320] = "fixed-version: Fixed from version 5.15rc3"
 
-CVE_STATUS[CVE-2021-20321] = "fixed-version: Fixed after version 5.15rc5"
+CVE_STATUS[CVE-2021-20321] = "fixed-version: Fixed from version 5.15rc5"
 
-CVE_STATUS[CVE-2021-20322] = "fixed-version: Fixed after version 5.15rc1"
+CVE_STATUS[CVE-2021-20322] = "fixed-version: Fixed from version 5.15rc1"
 
-CVE_STATUS[CVE-2021-21781] = "fixed-version: Fixed after version 5.11rc7"
+CVE_STATUS[CVE-2021-21781] = "fixed-version: Fixed from version 5.11rc7"
 
-CVE_STATUS[CVE-2021-22543] = "fixed-version: Fixed after version 5.13"
+CVE_STATUS[CVE-2021-22543] = "fixed-version: Fixed from version 5.13"
 
-CVE_STATUS[CVE-2021-22555] = "fixed-version: Fixed after version 5.12rc8"
+CVE_STATUS[CVE-2021-22555] = "fixed-version: Fixed from version 5.12rc8"
 
-CVE_STATUS[CVE-2021-22600] = "fixed-version: Fixed after version 5.16rc6"
+CVE_STATUS[CVE-2021-22600] = "fixed-version: Fixed from version 5.16rc6"
 
-CVE_STATUS[CVE-2021-23133] = "fixed-version: Fixed after version 5.12rc8"
+CVE_STATUS[CVE-2021-23133] = "fixed-version: Fixed from version 5.12rc8"
 
-CVE_STATUS[CVE-2021-23134] = "fixed-version: Fixed after version 5.13rc1"
+CVE_STATUS[CVE-2021-23134] = "fixed-version: Fixed from version 5.13rc1"
 
-CVE_STATUS[CVE-2021-26401] = "fixed-version: Fixed after version 5.17rc8"
+CVE_STATUS[CVE-2021-26401] = "fixed-version: Fixed from version 5.17rc8"
 
-CVE_STATUS[CVE-2021-26708] = "fixed-version: Fixed after version 5.11rc7"
+CVE_STATUS[CVE-2021-26708] = "fixed-version: Fixed from version 5.11rc7"
 
-CVE_STATUS[CVE-2021-26930] = "fixed-version: Fixed after version 5.12rc1"
+CVE_STATUS[CVE-2021-26930] = "fixed-version: Fixed from version 5.12rc1"
 
-CVE_STATUS[CVE-2021-26931] = "fixed-version: Fixed after version 5.12rc1"
+CVE_STATUS[CVE-2021-26931] = "fixed-version: Fixed from version 5.12rc1"
 
-CVE_STATUS[CVE-2021-26932] = "fixed-version: Fixed after version 5.12rc1"
+CVE_STATUS[CVE-2021-26932] = "fixed-version: Fixed from version 5.12rc1"
 
 # CVE-2021-26934 has no known resolution
 
-CVE_STATUS[CVE-2021-27363] = "fixed-version: Fixed after version 5.12rc2"
+CVE_STATUS[CVE-2021-27363] = "fixed-version: Fixed from version 5.12rc2"
 
-CVE_STATUS[CVE-2021-27364] = "fixed-version: Fixed after version 5.12rc2"
+CVE_STATUS[CVE-2021-27364] = "fixed-version: Fixed from version 5.12rc2"
 
-CVE_STATUS[CVE-2021-27365] = "fixed-version: Fixed after version 5.12rc2"
+CVE_STATUS[CVE-2021-27365] = "fixed-version: Fixed from version 5.12rc2"
 
-CVE_STATUS[CVE-2021-28038] = "fixed-version: Fixed after version 5.12rc2"
+CVE_STATUS[CVE-2021-28038] = "fixed-version: Fixed from version 5.12rc2"
 
-CVE_STATUS[CVE-2021-28039] = "fixed-version: Fixed after version 5.12rc2"
+CVE_STATUS[CVE-2021-28039] = "fixed-version: Fixed from version 5.12rc2"
 
-CVE_STATUS[CVE-2021-28375] = "fixed-version: Fixed after version 5.12rc3"
+CVE_STATUS[CVE-2021-28375] = "fixed-version: Fixed from version 5.12rc3"
 
-CVE_STATUS[CVE-2021-28660] = "fixed-version: Fixed after version 5.12rc3"
+CVE_STATUS[CVE-2021-28660] = "fixed-version: Fixed from version 5.12rc3"
 
-CVE_STATUS[CVE-2021-28688] = "fixed-version: Fixed after version 5.12rc6"
+CVE_STATUS[CVE-2021-28688] = "fixed-version: Fixed from version 5.12rc6"
 
-CVE_STATUS[CVE-2021-28691] = "fixed-version: Fixed after version 5.13rc6"
+CVE_STATUS[CVE-2021-28691] = "fixed-version: Fixed from version 5.13rc6"
 
-CVE_STATUS[CVE-2021-28711] = "fixed-version: Fixed after version 5.16rc7"
+CVE_STATUS[CVE-2021-28711] = "fixed-version: Fixed from version 5.16rc7"
 
-CVE_STATUS[CVE-2021-28712] = "fixed-version: Fixed after version 5.16rc7"
+CVE_STATUS[CVE-2021-28712] = "fixed-version: Fixed from version 5.16rc7"
 
-CVE_STATUS[CVE-2021-28713] = "fixed-version: Fixed after version 5.16rc7"
+CVE_STATUS[CVE-2021-28713] = "fixed-version: Fixed from version 5.16rc7"
 
-CVE_STATUS[CVE-2021-28714] = "fixed-version: Fixed after version 5.16rc7"
+CVE_STATUS[CVE-2021-28714] = "fixed-version: Fixed from version 5.16rc7"
 
-CVE_STATUS[CVE-2021-28715] = "fixed-version: Fixed after version 5.16rc7"
+CVE_STATUS[CVE-2021-28715] = "fixed-version: Fixed from version 5.16rc7"
 
-CVE_STATUS[CVE-2021-28950] = "fixed-version: Fixed after version 5.12rc4"
+CVE_STATUS[CVE-2021-28950] = "fixed-version: Fixed from version 5.12rc4"
 
-CVE_STATUS[CVE-2021-28951] = "fixed-version: Fixed after version 5.12rc2"
+CVE_STATUS[CVE-2021-28951] = "fixed-version: Fixed from version 5.12rc2"
 
-CVE_STATUS[CVE-2021-28952] = "fixed-version: Fixed after version 5.12rc4"
+CVE_STATUS[CVE-2021-28952] = "fixed-version: Fixed from version 5.12rc4"
 
-CVE_STATUS[CVE-2021-28964] = "fixed-version: Fixed after version 5.12rc4"
+CVE_STATUS[CVE-2021-28964] = "fixed-version: Fixed from version 5.12rc4"
 
-CVE_STATUS[CVE-2021-28971] = "fixed-version: Fixed after version 5.12rc4"
+CVE_STATUS[CVE-2021-28971] = "fixed-version: Fixed from version 5.12rc4"
 
-CVE_STATUS[CVE-2021-28972] = "fixed-version: Fixed after version 5.12rc4"
+CVE_STATUS[CVE-2021-28972] = "fixed-version: Fixed from version 5.12rc4"
 
-CVE_STATUS[CVE-2021-29154] = "fixed-version: Fixed after version 5.12rc7"
+CVE_STATUS[CVE-2021-29154] = "fixed-version: Fixed from version 5.12rc7"
 
-CVE_STATUS[CVE-2021-29155] = "fixed-version: Fixed after version 5.12rc8"
+CVE_STATUS[CVE-2021-29155] = "fixed-version: Fixed from version 5.12rc8"
 
-CVE_STATUS[CVE-2021-29264] = "fixed-version: Fixed after version 5.12rc3"
+CVE_STATUS[CVE-2021-29264] = "fixed-version: Fixed from version 5.12rc3"
 
-CVE_STATUS[CVE-2021-29265] = "fixed-version: Fixed after version 5.12rc3"
+CVE_STATUS[CVE-2021-29265] = "fixed-version: Fixed from version 5.12rc3"
 
-CVE_STATUS[CVE-2021-29266] = "fixed-version: Fixed after version 5.12rc4"
+CVE_STATUS[CVE-2021-29266] = "fixed-version: Fixed from version 5.12rc4"
 
-CVE_STATUS[CVE-2021-29646] = "fixed-version: Fixed after version 5.12rc5"
+CVE_STATUS[CVE-2021-29646] = "fixed-version: Fixed from version 5.12rc5"
 
-CVE_STATUS[CVE-2021-29647] = "fixed-version: Fixed after version 5.12rc5"
+CVE_STATUS[CVE-2021-29647] = "fixed-version: Fixed from version 5.12rc5"
 
-CVE_STATUS[CVE-2021-29648] = "fixed-version: Fixed after version 5.12rc5"
+CVE_STATUS[CVE-2021-29648] = "fixed-version: Fixed from version 5.12rc5"
 
-CVE_STATUS[CVE-2021-29649] = "fixed-version: Fixed after version 5.12rc5"
+CVE_STATUS[CVE-2021-29649] = "fixed-version: Fixed from version 5.12rc5"
 
-CVE_STATUS[CVE-2021-29650] = "fixed-version: Fixed after version 5.12rc5"
+CVE_STATUS[CVE-2021-29650] = "fixed-version: Fixed from version 5.12rc5"
 
-CVE_STATUS[CVE-2021-29657] = "fixed-version: Fixed after version 5.12rc6"
+CVE_STATUS[CVE-2021-29657] = "fixed-version: Fixed from version 5.12rc6"
 
-CVE_STATUS[CVE-2021-30002] = "fixed-version: Fixed after version 5.12rc1"
+CVE_STATUS[CVE-2021-30002] = "fixed-version: Fixed from version 5.12rc1"
 
-CVE_STATUS[CVE-2021-30178] = "fixed-version: Fixed after version 5.12rc2"
+CVE_STATUS[CVE-2021-30178] = "fixed-version: Fixed from version 5.12rc2"
 
-CVE_STATUS[CVE-2021-31440] = "fixed-version: Fixed after version 5.13rc1"
+CVE_STATUS[CVE-2021-31440] = "fixed-version: Fixed from version 5.13rc1"
 
-CVE_STATUS[CVE-2021-3178] = "fixed-version: Fixed after version 5.11rc5"
+CVE_STATUS[CVE-2021-3178] = "fixed-version: Fixed from version 5.11rc5"
 
-CVE_STATUS[CVE-2021-31829] = "fixed-version: Fixed after version 5.13rc1"
+CVE_STATUS[CVE-2021-31829] = "fixed-version: Fixed from version 5.13rc1"
 
-CVE_STATUS[CVE-2021-31916] = "fixed-version: Fixed after version 5.12rc5"
+CVE_STATUS[CVE-2021-31916] = "fixed-version: Fixed from version 5.12rc5"
 
-CVE_STATUS[CVE-2021-32078] = "fixed-version: Fixed after version 5.13rc1"
+CVE_STATUS[CVE-2021-32078] = "fixed-version: Fixed from version 5.13rc1"
 
-CVE_STATUS[CVE-2021-32399] = "fixed-version: Fixed after version 5.13rc1"
+CVE_STATUS[CVE-2021-32399] = "fixed-version: Fixed from version 5.13rc1"
 
-CVE_STATUS[CVE-2021-32606] = "fixed-version: Fixed after version 5.13rc4"
+CVE_STATUS[CVE-2021-32606] = "fixed-version: Fixed from version 5.13rc4"
 
-CVE_STATUS[CVE-2021-33033] = "fixed-version: Fixed after version 5.12rc3"
+CVE_STATUS[CVE-2021-33033] = "fixed-version: Fixed from version 5.12rc3"
 
-CVE_STATUS[CVE-2021-33034] = "fixed-version: Fixed after version 5.13rc1"
+CVE_STATUS[CVE-2021-33034] = "fixed-version: Fixed from version 5.13rc1"
 
-CVE_STATUS[CVE-2021-33061] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2021-33061] = "fixed-version: Fixed from version 5.18rc1"
 
-CVE_STATUS[CVE-2021-33098] = "fixed-version: Fixed after version 5.13rc4"
+CVE_STATUS[CVE-2021-33098] = "fixed-version: Fixed from version 5.13rc4"
 
-CVE_STATUS[CVE-2021-33135] = "fixed-version: Fixed after version 5.17rc8"
+CVE_STATUS[CVE-2021-33135] = "fixed-version: Fixed from version 5.17rc8"
 
-CVE_STATUS[CVE-2021-33200] = "fixed-version: Fixed after version 5.13rc4"
+CVE_STATUS[CVE-2021-33200] = "fixed-version: Fixed from version 5.13rc4"
 
-CVE_STATUS[CVE-2021-3347] = "fixed-version: Fixed after version 5.11rc6"
+CVE_STATUS[CVE-2021-3347] = "fixed-version: Fixed from version 5.11rc6"
 
-CVE_STATUS[CVE-2021-3348] = "fixed-version: Fixed after version 5.11rc6"
+CVE_STATUS[CVE-2021-3348] = "fixed-version: Fixed from version 5.11rc6"
 
-CVE_STATUS[CVE-2021-33624] = "fixed-version: Fixed after version 5.13rc7"
+CVE_STATUS[CVE-2021-33624] = "fixed-version: Fixed from version 5.13rc7"
 
-CVE_STATUS[CVE-2021-33655] = "fixed-version: Fixed after version 5.19rc6"
+CVE_STATUS[CVE-2021-33655] = "fixed-version: Fixed from version 5.19rc6"
 
-CVE_STATUS[CVE-2021-33656] = "fixed-version: Fixed after version 5.12rc1"
+CVE_STATUS[CVE-2021-33656] = "fixed-version: Fixed from version 5.12rc1"
 
-CVE_STATUS[CVE-2021-33909] = "fixed-version: Fixed after version 5.14rc3"
+CVE_STATUS[CVE-2021-33909] = "fixed-version: Fixed from version 5.14rc3"
 
-CVE_STATUS[CVE-2021-3411] = "fixed-version: Fixed after version 5.10"
+CVE_STATUS[CVE-2021-3411] = "fixed-version: Fixed from version 5.10"
 
-CVE_STATUS[CVE-2021-3428] = "fixed-version: Fixed after version 5.9rc2"
+CVE_STATUS[CVE-2021-3428] = "fixed-version: Fixed from version 5.9rc2"
 
-CVE_STATUS[CVE-2021-3444] = "fixed-version: Fixed after version 5.12rc1"
+CVE_STATUS[CVE-2021-3444] = "fixed-version: Fixed from version 5.12rc1"
 
-CVE_STATUS[CVE-2021-34556] = "fixed-version: Fixed after version 5.14rc4"
+CVE_STATUS[CVE-2021-34556] = "fixed-version: Fixed from version 5.14rc4"
 
-CVE_STATUS[CVE-2021-34693] = "fixed-version: Fixed after version 5.13rc7"
+CVE_STATUS[CVE-2021-34693] = "fixed-version: Fixed from version 5.13rc7"
 
-CVE_STATUS[CVE-2021-3483] = "fixed-version: Fixed after version 5.12rc6"
+CVE_STATUS[CVE-2021-3483] = "fixed-version: Fixed from version 5.12rc6"
 
-CVE_STATUS[CVE-2021-34866] = "fixed-version: Fixed after version 5.14"
+CVE_STATUS[CVE-2021-34866] = "fixed-version: Fixed from version 5.14"
 
-CVE_STATUS[CVE-2021-3489] = "fixed-version: Fixed after version 5.13rc4"
+CVE_STATUS[CVE-2021-3489] = "fixed-version: Fixed from version 5.13rc4"
 
-CVE_STATUS[CVE-2021-3490] = "fixed-version: Fixed after version 5.13rc4"
+CVE_STATUS[CVE-2021-3490] = "fixed-version: Fixed from version 5.13rc4"
 
-CVE_STATUS[CVE-2021-3491] = "fixed-version: Fixed after version 5.13rc1"
+CVE_STATUS[CVE-2021-3491] = "fixed-version: Fixed from version 5.13rc1"
 
 # CVE-2021-3492 has no known resolution
 
-CVE_STATUS[CVE-2021-3493] = "fixed-version: Fixed after version 5.11rc1"
+CVE_STATUS[CVE-2021-3493] = "fixed-version: Fixed from version 5.11rc1"
 
-CVE_STATUS[CVE-2021-34981] = "fixed-version: Fixed after version 5.14rc1"
+CVE_STATUS[CVE-2021-34981] = "fixed-version: Fixed from version 5.14rc1"
 
-CVE_STATUS[CVE-2021-3501] = "fixed-version: Fixed after version 5.12rc8"
+CVE_STATUS[CVE-2021-3501] = "fixed-version: Fixed from version 5.12rc8"
 
-CVE_STATUS[CVE-2021-35039] = "fixed-version: Fixed after version 5.13"
+CVE_STATUS[CVE-2021-35039] = "fixed-version: Fixed from version 5.13"
 
-CVE_STATUS[CVE-2021-3506] = "fixed-version: Fixed after version 5.13rc1"
+CVE_STATUS[CVE-2021-3506] = "fixed-version: Fixed from version 5.13rc1"
 
 # CVE-2021-3542 has no known resolution
 
-CVE_STATUS[CVE-2021-3543] = "fixed-version: Fixed after version 5.13rc1"
+CVE_STATUS[CVE-2021-3543] = "fixed-version: Fixed from version 5.13rc1"
 
-CVE_STATUS[CVE-2021-35477] = "fixed-version: Fixed after version 5.14rc4"
+CVE_STATUS[CVE-2021-35477] = "fixed-version: Fixed from version 5.14rc4"
 
-CVE_STATUS[CVE-2021-3564] = "fixed-version: Fixed after version 5.13rc5"
+CVE_STATUS[CVE-2021-3564] = "fixed-version: Fixed from version 5.13rc5"
 
-CVE_STATUS[CVE-2021-3573] = "fixed-version: Fixed after version 5.13rc5"
+CVE_STATUS[CVE-2021-3573] = "fixed-version: Fixed from version 5.13rc5"
 
-CVE_STATUS[CVE-2021-3587] = "fixed-version: Fixed after version 5.13rc5"
+CVE_STATUS[CVE-2021-3587] = "fixed-version: Fixed from version 5.13rc5"
 
-CVE_STATUS[CVE-2021-3600] = "fixed-version: Fixed after version 5.11"
+CVE_STATUS[CVE-2021-3600] = "fixed-version: Fixed from version 5.11"
 
-CVE_STATUS[CVE-2021-3609] = "fixed-version: Fixed after version 5.14rc1"
+CVE_STATUS[CVE-2021-3609] = "fixed-version: Fixed from version 5.14rc1"
 
-CVE_STATUS[CVE-2021-3612] = "fixed-version: Fixed after version 5.12rc1"
+CVE_STATUS[CVE-2021-3612] = "fixed-version: Fixed from version 5.12rc1"
 
-CVE_STATUS[CVE-2021-3635] = "fixed-version: Fixed after version 5.5rc7"
+CVE_STATUS[CVE-2021-3635] = "fixed-version: Fixed from version 5.5rc7"
 
-CVE_STATUS[CVE-2021-3640] = "fixed-version: Fixed after version 5.16rc1"
+CVE_STATUS[CVE-2021-3640] = "fixed-version: Fixed from version 5.16rc1"
 
-CVE_STATUS[CVE-2021-3653] = "fixed-version: Fixed after version 5.14rc7"
+CVE_STATUS[CVE-2021-3653] = "fixed-version: Fixed from version 5.14rc7"
 
-CVE_STATUS[CVE-2021-3655] = "fixed-version: Fixed after version 5.14rc1"
+CVE_STATUS[CVE-2021-3655] = "fixed-version: Fixed from version 5.14rc1"
 
-CVE_STATUS[CVE-2021-3656] = "fixed-version: Fixed after version 5.14rc7"
+CVE_STATUS[CVE-2021-3656] = "fixed-version: Fixed from version 5.14rc7"
 
-CVE_STATUS[CVE-2021-3659] = "fixed-version: Fixed after version 5.12rc7"
+CVE_STATUS[CVE-2021-3659] = "fixed-version: Fixed from version 5.12rc7"
 
-CVE_STATUS[CVE-2021-3669] = "fixed-version: Fixed after version 5.15rc1"
+CVE_STATUS[CVE-2021-3669] = "fixed-version: Fixed from version 5.15rc1"
 
-CVE_STATUS[CVE-2021-3679] = "fixed-version: Fixed after version 5.14rc3"
+CVE_STATUS[CVE-2021-3679] = "fixed-version: Fixed from version 5.14rc3"
 
 # CVE-2021-3714 has no known resolution
 
-CVE_STATUS[CVE-2021-3715] = "fixed-version: Fixed after version 5.6"
+CVE_STATUS[CVE-2021-3715] = "fixed-version: Fixed from version 5.6"
 
-CVE_STATUS[CVE-2021-37159] = "fixed-version: Fixed after version 5.14rc3"
+CVE_STATUS[CVE-2021-37159] = "fixed-version: Fixed from version 5.14rc3"
 
-CVE_STATUS[CVE-2021-3732] = "fixed-version: Fixed after version 5.14rc6"
+CVE_STATUS[CVE-2021-3732] = "fixed-version: Fixed from version 5.14rc6"
 
-CVE_STATUS[CVE-2021-3736] = "fixed-version: Fixed after version 5.15rc1"
+CVE_STATUS[CVE-2021-3736] = "fixed-version: Fixed from version 5.15rc1"
 
-CVE_STATUS[CVE-2021-3739] = "fixed-version: Fixed after version 5.15rc1"
+CVE_STATUS[CVE-2021-3739] = "fixed-version: Fixed from version 5.15rc1"
 
-CVE_STATUS[CVE-2021-3743] = "fixed-version: Fixed after version 5.13rc7"
+CVE_STATUS[CVE-2021-3743] = "fixed-version: Fixed from version 5.13rc7"
 
-CVE_STATUS[CVE-2021-3744] = "fixed-version: Fixed after version 5.15rc4"
+CVE_STATUS[CVE-2021-3744] = "fixed-version: Fixed from version 5.15rc4"
 
-CVE_STATUS[CVE-2021-3752] = "fixed-version: Fixed after version 5.16rc1"
+CVE_STATUS[CVE-2021-3752] = "fixed-version: Fixed from version 5.16rc1"
 
-CVE_STATUS[CVE-2021-3753] = "fixed-version: Fixed after version 5.15rc1"
+CVE_STATUS[CVE-2021-3753] = "fixed-version: Fixed from version 5.15rc1"
 
-CVE_STATUS[CVE-2021-37576] = "fixed-version: Fixed after version 5.14rc3"
+CVE_STATUS[CVE-2021-37576] = "fixed-version: Fixed from version 5.14rc3"
 
-CVE_STATUS[CVE-2021-3759] = "fixed-version: Fixed after version 5.15rc1"
+CVE_STATUS[CVE-2021-3759] = "fixed-version: Fixed from version 5.15rc1"
 
-CVE_STATUS[CVE-2021-3760] = "fixed-version: Fixed after version 5.15rc6"
+CVE_STATUS[CVE-2021-3760] = "fixed-version: Fixed from version 5.15rc6"
 
-CVE_STATUS[CVE-2021-3764] = "fixed-version: Fixed after version 5.15rc4"
+CVE_STATUS[CVE-2021-3764] = "fixed-version: Fixed from version 5.15rc4"
 
-CVE_STATUS[CVE-2021-3772] = "fixed-version: Fixed after version 5.15"
+CVE_STATUS[CVE-2021-3772] = "fixed-version: Fixed from version 5.15"
 
-CVE_STATUS[CVE-2021-38160] = "fixed-version: Fixed after version 5.14rc1"
+CVE_STATUS[CVE-2021-38160] = "fixed-version: Fixed from version 5.14rc1"
 
-CVE_STATUS[CVE-2021-38166] = "fixed-version: Fixed after version 5.14rc6"
+CVE_STATUS[CVE-2021-38166] = "fixed-version: Fixed from version 5.14rc6"
 
-CVE_STATUS[CVE-2021-38198] = "fixed-version: Fixed after version 5.13rc6"
+CVE_STATUS[CVE-2021-38198] = "fixed-version: Fixed from version 5.13rc6"
 
-CVE_STATUS[CVE-2021-38199] = "fixed-version: Fixed after version 5.14rc1"
+CVE_STATUS[CVE-2021-38199] = "fixed-version: Fixed from version 5.14rc1"
 
-CVE_STATUS[CVE-2021-38200] = "fixed-version: Fixed after version 5.13rc7"
+CVE_STATUS[CVE-2021-38200] = "fixed-version: Fixed from version 5.13rc7"
 
-CVE_STATUS[CVE-2021-38201] = "fixed-version: Fixed after version 5.14rc1"
+CVE_STATUS[CVE-2021-38201] = "fixed-version: Fixed from version 5.14rc1"
 
-CVE_STATUS[CVE-2021-38202] = "fixed-version: Fixed after version 5.14rc1"
+CVE_STATUS[CVE-2021-38202] = "fixed-version: Fixed from version 5.14rc1"
 
-CVE_STATUS[CVE-2021-38203] = "fixed-version: Fixed after version 5.14rc2"
+CVE_STATUS[CVE-2021-38203] = "fixed-version: Fixed from version 5.14rc2"
 
-CVE_STATUS[CVE-2021-38204] = "fixed-version: Fixed after version 5.14rc3"
+CVE_STATUS[CVE-2021-38204] = "fixed-version: Fixed from version 5.14rc3"
 
-CVE_STATUS[CVE-2021-38205] = "fixed-version: Fixed after version 5.14rc1"
+CVE_STATUS[CVE-2021-38205] = "fixed-version: Fixed from version 5.14rc1"
 
-CVE_STATUS[CVE-2021-38206] = "fixed-version: Fixed after version 5.13rc7"
+CVE_STATUS[CVE-2021-38206] = "fixed-version: Fixed from version 5.13rc7"
 
-CVE_STATUS[CVE-2021-38207] = "fixed-version: Fixed after version 5.13rc7"
+CVE_STATUS[CVE-2021-38207] = "fixed-version: Fixed from version 5.13rc7"
 
-CVE_STATUS[CVE-2021-38208] = "fixed-version: Fixed after version 5.13rc5"
+CVE_STATUS[CVE-2021-38208] = "fixed-version: Fixed from version 5.13rc5"
 
-CVE_STATUS[CVE-2021-38209] = "fixed-version: Fixed after version 5.13rc1"
+CVE_STATUS[CVE-2021-38209] = "fixed-version: Fixed from version 5.13rc1"
 
-CVE_STATUS[CVE-2021-38300] = "fixed-version: Fixed after version 5.15rc4"
+CVE_STATUS[CVE-2021-38300] = "fixed-version: Fixed from version 5.15rc4"
 
 # CVE-2021-3847 has no known resolution
 
@@ -3793,35 +3804,35 @@
 
 # CVE-2021-3892 has no known resolution
 
-CVE_STATUS[CVE-2021-3894] = "fixed-version: Fixed after version 5.15rc6"
+CVE_STATUS[CVE-2021-3894] = "fixed-version: Fixed from version 5.15rc6"
 
-CVE_STATUS[CVE-2021-3896] = "fixed-version: Fixed after version 5.15rc6"
+CVE_STATUS[CVE-2021-3896] = "fixed-version: Fixed from version 5.15rc6"
 
-CVE_STATUS[CVE-2021-3923] = "fixed-version: Fixed after version 5.16"
+CVE_STATUS[CVE-2021-3923] = "fixed-version: Fixed from version 5.16"
 
-CVE_STATUS[CVE-2021-39633] = "fixed-version: Fixed after version 5.14"
+CVE_STATUS[CVE-2021-39633] = "fixed-version: Fixed from version 5.14"
 
-CVE_STATUS[CVE-2021-39634] = "fixed-version: Fixed after version 5.9rc8"
+CVE_STATUS[CVE-2021-39634] = "fixed-version: Fixed from version 5.9rc8"
 
-CVE_STATUS[CVE-2021-39636] = "fixed-version: Fixed after version 4.16rc1"
+CVE_STATUS[CVE-2021-39636] = "fixed-version: Fixed from version 4.16rc1"
 
-CVE_STATUS[CVE-2021-39648] = "fixed-version: Fixed after version 5.11rc3"
+CVE_STATUS[CVE-2021-39648] = "fixed-version: Fixed from version 5.11rc3"
 
-CVE_STATUS[CVE-2021-39656] = "fixed-version: Fixed after version 5.12rc3"
+CVE_STATUS[CVE-2021-39656] = "fixed-version: Fixed from version 5.12rc3"
 
-CVE_STATUS[CVE-2021-39657] = "fixed-version: Fixed after version 5.11rc4"
+CVE_STATUS[CVE-2021-39657] = "fixed-version: Fixed from version 5.11rc4"
 
-CVE_STATUS[CVE-2021-39685] = "fixed-version: Fixed after version 5.16rc5"
+CVE_STATUS[CVE-2021-39685] = "fixed-version: Fixed from version 5.16rc5"
 
-CVE_STATUS[CVE-2021-39686] = "fixed-version: Fixed after version 5.16rc1"
+CVE_STATUS[CVE-2021-39686] = "fixed-version: Fixed from version 5.16rc1"
 
-CVE_STATUS[CVE-2021-39698] = "fixed-version: Fixed after version 5.16rc5"
+CVE_STATUS[CVE-2021-39698] = "fixed-version: Fixed from version 5.16rc5"
 
-CVE_STATUS[CVE-2021-39711] = "fixed-version: Fixed after version 4.18rc6"
+CVE_STATUS[CVE-2021-39711] = "fixed-version: Fixed from version 4.18rc6"
 
-CVE_STATUS[CVE-2021-39713] = "fixed-version: Fixed after version 4.20rc1"
+CVE_STATUS[CVE-2021-39713] = "fixed-version: Fixed from version 4.20rc1"
 
-CVE_STATUS[CVE-2021-39714] = "fixed-version: Fixed after version 4.12rc1"
+CVE_STATUS[CVE-2021-39714] = "fixed-version: Fixed from version 4.12rc1"
 
 # CVE-2021-39800 has no known resolution
 
@@ -3829,517 +3840,517 @@
 
 # CVE-2021-39802 has no known resolution
 
-CVE_STATUS[CVE-2021-4001] = "fixed-version: Fixed after version 5.16rc2"
+CVE_STATUS[CVE-2021-4001] = "fixed-version: Fixed from version 5.16rc2"
 
-CVE_STATUS[CVE-2021-4002] = "fixed-version: Fixed after version 5.16rc3"
+CVE_STATUS[CVE-2021-4002] = "fixed-version: Fixed from version 5.16rc3"
 
-CVE_STATUS[CVE-2021-4023] = "fixed-version: Fixed after version 5.15rc1"
+CVE_STATUS[CVE-2021-4023] = "fixed-version: Fixed from version 5.15rc1"
 
-CVE_STATUS[CVE-2021-4028] = "fixed-version: Fixed after version 5.15rc4"
+CVE_STATUS[CVE-2021-4028] = "fixed-version: Fixed from version 5.15rc4"
 
-CVE_STATUS[CVE-2021-4032] = "fixed-version: Fixed after version 5.15rc7"
+CVE_STATUS[CVE-2021-4032] = "fixed-version: Fixed from version 5.15rc7"
 
-CVE_STATUS[CVE-2021-4037] = "fixed-version: Fixed after version 5.12rc1"
+CVE_STATUS[CVE-2021-4037] = "fixed-version: Fixed from version 5.12rc1"
 
-CVE_STATUS[CVE-2021-40490] = "fixed-version: Fixed after version 5.15rc1"
+CVE_STATUS[CVE-2021-40490] = "fixed-version: Fixed from version 5.15rc1"
 
-CVE_STATUS[CVE-2021-4083] = "fixed-version: Fixed after version 5.16rc4"
+CVE_STATUS[CVE-2021-4083] = "fixed-version: Fixed from version 5.16rc4"
 
-CVE_STATUS[CVE-2021-4090] = "fixed-version: Fixed after version 5.16rc2"
+CVE_STATUS[CVE-2021-4090] = "fixed-version: Fixed from version 5.16rc2"
 
-CVE_STATUS[CVE-2021-4093] = "fixed-version: Fixed after version 5.15rc7"
+CVE_STATUS[CVE-2021-4093] = "fixed-version: Fixed from version 5.15rc7"
 
-CVE_STATUS[CVE-2021-4095] = "fixed-version: Fixed after version 5.17rc1"
+CVE_STATUS[CVE-2021-4095] = "fixed-version: Fixed from version 5.17rc1"
 
-CVE_STATUS[CVE-2021-41073] = "fixed-version: Fixed after version 5.15rc2"
+CVE_STATUS[CVE-2021-41073] = "fixed-version: Fixed from version 5.15rc2"
 
-CVE_STATUS[CVE-2021-4135] = "fixed-version: Fixed after version 5.16rc6"
+CVE_STATUS[CVE-2021-4135] = "fixed-version: Fixed from version 5.16rc6"
 
-CVE_STATUS[CVE-2021-4148] = "fixed-version: Fixed after version 5.15"
+CVE_STATUS[CVE-2021-4148] = "fixed-version: Fixed from version 5.15"
 
-CVE_STATUS[CVE-2021-4149] = "fixed-version: Fixed after version 5.15rc6"
+CVE_STATUS[CVE-2021-4149] = "fixed-version: Fixed from version 5.15rc6"
 
-CVE_STATUS[CVE-2021-4150] = "fixed-version: Fixed after version 5.15rc7"
+CVE_STATUS[CVE-2021-4150] = "fixed-version: Fixed from version 5.15rc7"
 
-CVE_STATUS[CVE-2021-4154] = "fixed-version: Fixed after version 5.14rc2"
+CVE_STATUS[CVE-2021-4154] = "fixed-version: Fixed from version 5.14rc2"
 
-CVE_STATUS[CVE-2021-4155] = "fixed-version: Fixed after version 5.16"
+CVE_STATUS[CVE-2021-4155] = "fixed-version: Fixed from version 5.16"
 
-CVE_STATUS[CVE-2021-4157] = "fixed-version: Fixed after version 5.13rc1"
+CVE_STATUS[CVE-2021-4157] = "fixed-version: Fixed from version 5.13rc1"
 
-CVE_STATUS[CVE-2021-4159] = "fixed-version: Fixed after version 5.7rc1"
+CVE_STATUS[CVE-2021-4159] = "fixed-version: Fixed from version 5.7rc1"
 
-CVE_STATUS[CVE-2021-41864] = "fixed-version: Fixed after version 5.15rc5"
+CVE_STATUS[CVE-2021-41864] = "fixed-version: Fixed from version 5.15rc5"
 
-CVE_STATUS[CVE-2021-4197] = "fixed-version: Fixed after version 5.16"
+CVE_STATUS[CVE-2021-4197] = "fixed-version: Fixed from version 5.16"
 
-CVE_STATUS[CVE-2021-42008] = "fixed-version: Fixed after version 5.14rc7"
+CVE_STATUS[CVE-2021-42008] = "fixed-version: Fixed from version 5.14rc7"
 
-CVE_STATUS[CVE-2021-4202] = "fixed-version: Fixed after version 5.16rc2"
+CVE_STATUS[CVE-2021-4202] = "fixed-version: Fixed from version 5.16rc2"
 
-CVE_STATUS[CVE-2021-4203] = "fixed-version: Fixed after version 5.15rc4"
+CVE_STATUS[CVE-2021-4203] = "fixed-version: Fixed from version 5.15rc4"
 
-CVE_STATUS[CVE-2021-4204] = "fixed-version: Fixed after version 5.17rc1"
+CVE_STATUS[CVE-2021-4204] = "fixed-version: Fixed from version 5.17rc1"
 
-CVE_STATUS[CVE-2021-4218] = "fixed-version: Fixed after version 5.8rc1"
+CVE_STATUS[CVE-2021-4218] = "fixed-version: Fixed from version 5.8rc1"
 
-CVE_STATUS[CVE-2021-42252] = "fixed-version: Fixed after version 5.15rc1"
+CVE_STATUS[CVE-2021-42252] = "fixed-version: Fixed from version 5.15rc1"
 
-CVE_STATUS[CVE-2021-42327] = "fixed-version: Fixed after version 5.15"
+CVE_STATUS[CVE-2021-42327] = "fixed-version: Fixed from version 5.15"
 
-CVE_STATUS[CVE-2021-42739] = "fixed-version: Fixed after version 5.16rc1"
+CVE_STATUS[CVE-2021-42739] = "fixed-version: Fixed from version 5.16rc1"
 
-CVE_STATUS[CVE-2021-43056] = "fixed-version: Fixed after version 5.15rc6"
+CVE_STATUS[CVE-2021-43056] = "fixed-version: Fixed from version 5.15rc6"
 
-CVE_STATUS[CVE-2021-43057] = "fixed-version: Fixed after version 5.15rc3"
+CVE_STATUS[CVE-2021-43057] = "fixed-version: Fixed from version 5.15rc3"
 
-CVE_STATUS[CVE-2021-43267] = "fixed-version: Fixed after version 5.15"
+CVE_STATUS[CVE-2021-43267] = "fixed-version: Fixed from version 5.15"
 
-CVE_STATUS[CVE-2021-43389] = "fixed-version: Fixed after version 5.15rc6"
+CVE_STATUS[CVE-2021-43389] = "fixed-version: Fixed from version 5.15rc6"
 
-CVE_STATUS[CVE-2021-43975] = "fixed-version: Fixed after version 5.16rc2"
+CVE_STATUS[CVE-2021-43975] = "fixed-version: Fixed from version 5.16rc2"
 
-CVE_STATUS[CVE-2021-43976] = "fixed-version: Fixed after version 5.17rc1"
+CVE_STATUS[CVE-2021-43976] = "fixed-version: Fixed from version 5.17rc1"
 
-CVE_STATUS[CVE-2021-44733] = "fixed-version: Fixed after version 5.16rc7"
+CVE_STATUS[CVE-2021-44733] = "fixed-version: Fixed from version 5.16rc7"
 
-CVE_STATUS[CVE-2021-44879] = "fixed-version: Fixed after version 5.17rc1"
+CVE_STATUS[CVE-2021-44879] = "fixed-version: Fixed from version 5.17rc1"
 
-CVE_STATUS[CVE-2021-45095] = "fixed-version: Fixed after version 5.16rc6"
+CVE_STATUS[CVE-2021-45095] = "fixed-version: Fixed from version 5.16rc6"
 
-CVE_STATUS[CVE-2021-45100] = "fixed-version: Fixed after version 5.16rc7"
+CVE_STATUS[CVE-2021-45100] = "fixed-version: Fixed from version 5.16rc7"
 
-CVE_STATUS[CVE-2021-45402] = "fixed-version: Fixed after version 5.16rc6"
+CVE_STATUS[CVE-2021-45402] = "fixed-version: Fixed from version 5.16rc6"
 
-CVE_STATUS[CVE-2021-45469] = "fixed-version: Fixed after version 5.17rc1"
+CVE_STATUS[CVE-2021-45469] = "fixed-version: Fixed from version 5.17rc1"
 
-CVE_STATUS[CVE-2021-45480] = "fixed-version: Fixed after version 5.16rc6"
+CVE_STATUS[CVE-2021-45480] = "fixed-version: Fixed from version 5.16rc6"
 
-CVE_STATUS[CVE-2021-45485] = "fixed-version: Fixed after version 5.14rc1"
+CVE_STATUS[CVE-2021-45485] = "fixed-version: Fixed from version 5.14rc1"
 
-CVE_STATUS[CVE-2021-45486] = "fixed-version: Fixed after version 5.13rc1"
+CVE_STATUS[CVE-2021-45486] = "fixed-version: Fixed from version 5.13rc1"
 
-CVE_STATUS[CVE-2021-45868] = "fixed-version: Fixed after version 5.16rc1"
+CVE_STATUS[CVE-2021-45868] = "fixed-version: Fixed from version 5.16rc1"
 
-CVE_STATUS[CVE-2021-46283] = "fixed-version: Fixed after version 5.13rc7"
+CVE_STATUS[CVE-2021-46283] = "fixed-version: Fixed from version 5.13rc7"
 
-CVE_STATUS[CVE-2022-0001] = "fixed-version: Fixed after version 5.17rc8"
+CVE_STATUS[CVE-2022-0001] = "fixed-version: Fixed from version 5.17rc8"
 
-CVE_STATUS[CVE-2022-0002] = "fixed-version: Fixed after version 5.17rc8"
+CVE_STATUS[CVE-2022-0002] = "fixed-version: Fixed from version 5.17rc8"
 
-CVE_STATUS[CVE-2022-0168] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2022-0168] = "fixed-version: Fixed from version 5.18rc1"
 
-CVE_STATUS[CVE-2022-0171] = "fixed-version: Fixed after version 5.18rc4"
+CVE_STATUS[CVE-2022-0171] = "fixed-version: Fixed from version 5.18rc4"
 
-CVE_STATUS[CVE-2022-0185] = "fixed-version: Fixed after version 5.17rc1"
+CVE_STATUS[CVE-2022-0185] = "fixed-version: Fixed from version 5.17rc1"
 
-CVE_STATUS[CVE-2022-0264] = "fixed-version: Fixed after version 5.16rc6"
+CVE_STATUS[CVE-2022-0264] = "fixed-version: Fixed from version 5.16rc6"
 
-CVE_STATUS[CVE-2022-0286] = "fixed-version: Fixed after version 5.14rc2"
+CVE_STATUS[CVE-2022-0286] = "fixed-version: Fixed from version 5.14rc2"
 
-CVE_STATUS[CVE-2022-0322] = "fixed-version: Fixed after version 5.15rc6"
+CVE_STATUS[CVE-2022-0322] = "fixed-version: Fixed from version 5.15rc6"
 
-CVE_STATUS[CVE-2022-0330] = "fixed-version: Fixed after version 5.17rc2"
+CVE_STATUS[CVE-2022-0330] = "fixed-version: Fixed from version 5.17rc2"
 
-CVE_STATUS[CVE-2022-0382] = "fixed-version: Fixed after version 5.16"
+CVE_STATUS[CVE-2022-0382] = "fixed-version: Fixed from version 5.16"
 
 # CVE-2022-0400 has no known resolution
 
-CVE_STATUS[CVE-2022-0433] = "fixed-version: Fixed after version 5.17rc1"
+CVE_STATUS[CVE-2022-0433] = "fixed-version: Fixed from version 5.17rc1"
 
-CVE_STATUS[CVE-2022-0435] = "fixed-version: Fixed after version 5.17rc4"
+CVE_STATUS[CVE-2022-0435] = "fixed-version: Fixed from version 5.17rc4"
 
-CVE_STATUS[CVE-2022-0480] = "fixed-version: Fixed after version 5.15rc1"
+CVE_STATUS[CVE-2022-0480] = "fixed-version: Fixed from version 5.15rc1"
 
-CVE_STATUS[CVE-2022-0487] = "fixed-version: Fixed after version 5.17rc4"
+CVE_STATUS[CVE-2022-0487] = "fixed-version: Fixed from version 5.17rc4"
 
-CVE_STATUS[CVE-2022-0492] = "fixed-version: Fixed after version 5.17rc3"
+CVE_STATUS[CVE-2022-0492] = "fixed-version: Fixed from version 5.17rc3"
 
-CVE_STATUS[CVE-2022-0494] = "fixed-version: Fixed after version 5.17rc5"
+CVE_STATUS[CVE-2022-0494] = "fixed-version: Fixed from version 5.17rc5"
 
-CVE_STATUS[CVE-2022-0500] = "fixed-version: Fixed after version 5.17rc1"
+CVE_STATUS[CVE-2022-0500] = "fixed-version: Fixed from version 5.17rc1"
 
-CVE_STATUS[CVE-2022-0516] = "fixed-version: Fixed after version 5.17rc4"
+CVE_STATUS[CVE-2022-0516] = "fixed-version: Fixed from version 5.17rc4"
 
-CVE_STATUS[CVE-2022-0617] = "fixed-version: Fixed after version 5.17rc2"
+CVE_STATUS[CVE-2022-0617] = "fixed-version: Fixed from version 5.17rc2"
 
-CVE_STATUS[CVE-2022-0644] = "fixed-version: Fixed after version 5.15rc7"
+CVE_STATUS[CVE-2022-0644] = "fixed-version: Fixed from version 5.15rc7"
 
-CVE_STATUS[CVE-2022-0646] = "fixed-version: Fixed after version 5.17rc5"
+CVE_STATUS[CVE-2022-0646] = "fixed-version: Fixed from version 5.17rc5"
 
-CVE_STATUS[CVE-2022-0742] = "fixed-version: Fixed after version 5.17rc7"
+CVE_STATUS[CVE-2022-0742] = "fixed-version: Fixed from version 5.17rc7"
 
-CVE_STATUS[CVE-2022-0812] = "fixed-version: Fixed after version 5.8rc6"
+CVE_STATUS[CVE-2022-0812] = "fixed-version: Fixed from version 5.8rc6"
 
-CVE_STATUS[CVE-2022-0847] = "fixed-version: Fixed after version 5.17rc6"
+CVE_STATUS[CVE-2022-0847] = "fixed-version: Fixed from version 5.17rc6"
 
-CVE_STATUS[CVE-2022-0850] = "fixed-version: Fixed after version 5.14rc1"
+CVE_STATUS[CVE-2022-0850] = "fixed-version: Fixed from version 5.14rc1"
 
-CVE_STATUS[CVE-2022-0854] = "fixed-version: Fixed after version 5.17rc8"
+CVE_STATUS[CVE-2022-0854] = "fixed-version: Fixed from version 5.17rc8"
 
-CVE_STATUS[CVE-2022-0995] = "fixed-version: Fixed after version 5.17rc8"
+CVE_STATUS[CVE-2022-0995] = "fixed-version: Fixed from version 5.17rc8"
 
-CVE_STATUS[CVE-2022-0998] = "fixed-version: Fixed after version 5.17rc1"
+CVE_STATUS[CVE-2022-0998] = "fixed-version: Fixed from version 5.17rc1"
 
-CVE_STATUS[CVE-2022-1011] = "fixed-version: Fixed after version 5.17rc8"
+CVE_STATUS[CVE-2022-1011] = "fixed-version: Fixed from version 5.17rc8"
 
-CVE_STATUS[CVE-2022-1012] = "fixed-version: Fixed after version 5.18rc6"
+CVE_STATUS[CVE-2022-1012] = "fixed-version: Fixed from version 5.18rc6"
 
-CVE_STATUS[CVE-2022-1015] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2022-1015] = "fixed-version: Fixed from version 5.18rc1"
 
-CVE_STATUS[CVE-2022-1016] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2022-1016] = "fixed-version: Fixed from version 5.18rc1"
 
-CVE_STATUS[CVE-2022-1043] = "fixed-version: Fixed after version 5.14rc7"
+CVE_STATUS[CVE-2022-1043] = "fixed-version: Fixed from version 5.14rc7"
 
-CVE_STATUS[CVE-2022-1048] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2022-1048] = "fixed-version: Fixed from version 5.18rc1"
 
-CVE_STATUS[CVE-2022-1055] = "fixed-version: Fixed after version 5.17rc3"
+CVE_STATUS[CVE-2022-1055] = "fixed-version: Fixed from version 5.17rc3"
 
 # CVE-2022-1116 has no known resolution
 
-CVE_STATUS[CVE-2022-1158] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2022-1158] = "fixed-version: Fixed from version 5.18rc1"
 
-CVE_STATUS[CVE-2022-1184] = "fixed-version: Fixed after version 5.19rc1"
+CVE_STATUS[CVE-2022-1184] = "fixed-version: Fixed from version 5.19rc1"
 
-CVE_STATUS[CVE-2022-1195] = "fixed-version: Fixed after version 5.16rc7"
+CVE_STATUS[CVE-2022-1195] = "fixed-version: Fixed from version 5.16rc7"
 
-CVE_STATUS[CVE-2022-1198] = "fixed-version: Fixed after version 5.17rc6"
+CVE_STATUS[CVE-2022-1198] = "fixed-version: Fixed from version 5.17rc6"
 
-CVE_STATUS[CVE-2022-1199] = "fixed-version: Fixed after version 5.17rc8"
+CVE_STATUS[CVE-2022-1199] = "fixed-version: Fixed from version 5.17rc8"
 
-CVE_STATUS[CVE-2022-1204] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2022-1204] = "fixed-version: Fixed from version 5.18rc1"
 
-CVE_STATUS[CVE-2022-1205] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2022-1205] = "fixed-version: Fixed from version 5.18rc1"
 
 # CVE-2022-1247 has no known resolution
 
-CVE_STATUS[CVE-2022-1263] = "fixed-version: Fixed after version 5.18rc3"
+CVE_STATUS[CVE-2022-1263] = "fixed-version: Fixed from version 5.18rc3"
 
-CVE_STATUS[CVE-2022-1280] = "fixed-version: Fixed after version 5.15rc1"
+CVE_STATUS[CVE-2022-1280] = "fixed-version: Fixed from version 5.15rc1"
 
-CVE_STATUS[CVE-2022-1353] = "fixed-version: Fixed after version 5.17"
+CVE_STATUS[CVE-2022-1353] = "fixed-version: Fixed from version 5.17"
 
-CVE_STATUS[CVE-2022-1419] = "fixed-version: Fixed after version 5.6rc2"
+CVE_STATUS[CVE-2022-1419] = "fixed-version: Fixed from version 5.6rc2"
 
-CVE_STATUS[CVE-2022-1462] = "fixed-version: Fixed after version 5.19rc7"
+CVE_STATUS[CVE-2022-1462] = "fixed-version: Fixed from version 5.19rc7"
 
-CVE_STATUS[CVE-2022-1508] = "fixed-version: Fixed after version 5.15rc1"
+CVE_STATUS[CVE-2022-1508] = "fixed-version: Fixed from version 5.15rc1"
 
-CVE_STATUS[CVE-2022-1516] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2022-1516] = "fixed-version: Fixed from version 5.18rc1"
 
-CVE_STATUS[CVE-2022-1651] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2022-1651] = "fixed-version: Fixed from version 5.18rc1"
 
-CVE_STATUS[CVE-2022-1652] = "fixed-version: Fixed after version 5.18rc6"
+CVE_STATUS[CVE-2022-1652] = "fixed-version: Fixed from version 5.18rc6"
 
-CVE_STATUS[CVE-2022-1671] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2022-1671] = "fixed-version: Fixed from version 5.18rc1"
 
-CVE_STATUS[CVE-2022-1678] = "fixed-version: Fixed after version 4.20rc1"
+CVE_STATUS[CVE-2022-1678] = "fixed-version: Fixed from version 4.20rc1"
 
-CVE_STATUS[CVE-2022-1679] = "fixed-version: Fixed after version 6.0rc1"
+CVE_STATUS[CVE-2022-1679] = "fixed-version: Fixed from version 6.0rc1"
 
-CVE_STATUS[CVE-2022-1729] = "fixed-version: Fixed after version 5.18"
+CVE_STATUS[CVE-2022-1729] = "fixed-version: Fixed from version 5.18"
 
-CVE_STATUS[CVE-2022-1734] = "fixed-version: Fixed after version 5.18rc6"
+CVE_STATUS[CVE-2022-1734] = "fixed-version: Fixed from version 5.18rc6"
 
-CVE_STATUS[CVE-2022-1786] = "fixed-version: Fixed after version 5.12rc1"
+CVE_STATUS[CVE-2022-1786] = "fixed-version: Fixed from version 5.12rc1"
 
-CVE_STATUS[CVE-2022-1789] = "fixed-version: Fixed after version 5.18"
+CVE_STATUS[CVE-2022-1789] = "fixed-version: Fixed from version 5.18"
 
-CVE_STATUS[CVE-2022-1836] = "fixed-version: Fixed after version 5.18rc5"
+CVE_STATUS[CVE-2022-1836] = "fixed-version: Fixed from version 5.18rc5"
 
-CVE_STATUS[CVE-2022-1852] = "fixed-version: Fixed after version 5.19rc1"
+CVE_STATUS[CVE-2022-1852] = "fixed-version: Fixed from version 5.19rc1"
 
-CVE_STATUS[CVE-2022-1882] = "fixed-version: Fixed after version 5.19rc8"
+CVE_STATUS[CVE-2022-1882] = "fixed-version: Fixed from version 5.19rc8"
 
-CVE_STATUS[CVE-2022-1943] = "fixed-version: Fixed after version 5.18rc7"
+CVE_STATUS[CVE-2022-1943] = "fixed-version: Fixed from version 5.18rc7"
 
-CVE_STATUS[CVE-2022-1966] = "fixed-version: Fixed after version 5.19rc1"
+CVE_STATUS[CVE-2022-1966] = "fixed-version: Fixed from version 5.19rc1"
 
-CVE_STATUS[CVE-2022-1972] = "fixed-version: Fixed after version 5.19rc1"
+CVE_STATUS[CVE-2022-1972] = "fixed-version: Fixed from version 5.19rc1"
 
-CVE_STATUS[CVE-2022-1973] = "fixed-version: Fixed after version 5.19rc1"
+CVE_STATUS[CVE-2022-1973] = "fixed-version: Fixed from version 5.19rc1"
 
-CVE_STATUS[CVE-2022-1974] = "fixed-version: Fixed after version 5.18rc6"
+CVE_STATUS[CVE-2022-1974] = "fixed-version: Fixed from version 5.18rc6"
 
-CVE_STATUS[CVE-2022-1975] = "fixed-version: Fixed after version 5.18rc6"
+CVE_STATUS[CVE-2022-1975] = "fixed-version: Fixed from version 5.18rc6"
 
-CVE_STATUS[CVE-2022-1976] = "fixed-version: Fixed after version 5.19rc1"
+CVE_STATUS[CVE-2022-1976] = "fixed-version: Fixed from version 5.19rc1"
 
-CVE_STATUS[CVE-2022-1998] = "fixed-version: Fixed after version 5.17rc3"
+CVE_STATUS[CVE-2022-1998] = "fixed-version: Fixed from version 5.17rc3"
 
-CVE_STATUS[CVE-2022-20008] = "fixed-version: Fixed after version 5.17rc5"
+CVE_STATUS[CVE-2022-20008] = "fixed-version: Fixed from version 5.17rc5"
 
-CVE_STATUS[CVE-2022-20132] = "fixed-version: Fixed after version 5.16rc5"
+CVE_STATUS[CVE-2022-20132] = "fixed-version: Fixed from version 5.16rc5"
 
-CVE_STATUS[CVE-2022-20141] = "fixed-version: Fixed after version 5.15rc1"
+CVE_STATUS[CVE-2022-20141] = "fixed-version: Fixed from version 5.15rc1"
 
-CVE_STATUS[CVE-2022-20148] = "fixed-version: Fixed after version 5.16rc1"
+CVE_STATUS[CVE-2022-20148] = "fixed-version: Fixed from version 5.16rc1"
 
-CVE_STATUS[CVE-2022-20153] = "fixed-version: Fixed after version 5.13rc1"
+CVE_STATUS[CVE-2022-20153] = "fixed-version: Fixed from version 5.13rc1"
 
-CVE_STATUS[CVE-2022-20154] = "fixed-version: Fixed after version 5.16rc8"
+CVE_STATUS[CVE-2022-20154] = "fixed-version: Fixed from version 5.16rc8"
 
-CVE_STATUS[CVE-2022-20158] = "fixed-version: Fixed after version 5.17"
+CVE_STATUS[CVE-2022-20158] = "fixed-version: Fixed from version 5.17"
 
-CVE_STATUS[CVE-2022-20166] = "fixed-version: Fixed after version 5.10rc1"
+CVE_STATUS[CVE-2022-20166] = "fixed-version: Fixed from version 5.10rc1"
 
-CVE_STATUS[CVE-2022-20368] = "fixed-version: Fixed after version 5.17"
+CVE_STATUS[CVE-2022-20368] = "fixed-version: Fixed from version 5.17"
 
-CVE_STATUS[CVE-2022-20369] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2022-20369] = "fixed-version: Fixed from version 5.18rc1"
 
-CVE_STATUS[CVE-2022-20409] = "fixed-version: Fixed after version 5.12rc1"
+CVE_STATUS[CVE-2022-20409] = "fixed-version: Fixed from version 5.12rc1"
 
-CVE_STATUS[CVE-2022-20421] = "fixed-version: Fixed after version 6.0rc4"
+CVE_STATUS[CVE-2022-20421] = "fixed-version: Fixed from version 6.0rc4"
 
-CVE_STATUS[CVE-2022-20422] = "fixed-version: Fixed after version 6.0rc1"
+CVE_STATUS[CVE-2022-20422] = "fixed-version: Fixed from version 6.0rc1"
 
-CVE_STATUS[CVE-2022-20423] = "fixed-version: Fixed after version 5.17"
+CVE_STATUS[CVE-2022-20423] = "fixed-version: Fixed from version 5.17"
 
-CVE_STATUS[CVE-2022-20424] = "fixed-version: Fixed after version 5.12rc1"
+CVE_STATUS[CVE-2022-20424] = "fixed-version: Fixed from version 5.12rc1"
 
-CVE_STATUS[CVE-2022-20565] = "fixed-version: Fixed after version 5.9rc4"
+CVE_STATUS[CVE-2022-20565] = "fixed-version: Fixed from version 5.9rc4"
 
-CVE_STATUS[CVE-2022-20566] = "fixed-version: Fixed after version 5.19"
+CVE_STATUS[CVE-2022-20566] = "fixed-version: Fixed from version 5.19"
 
-CVE_STATUS[CVE-2022-20567] = "fixed-version: Fixed after version 4.16rc5"
+CVE_STATUS[CVE-2022-20567] = "fixed-version: Fixed from version 4.16rc5"
 
-CVE_STATUS[CVE-2022-20568] = "fixed-version: Fixed after version 5.12rc1"
+CVE_STATUS[CVE-2022-20568] = "fixed-version: Fixed from version 5.12rc1"
 
-CVE_STATUS[CVE-2022-20572] = "fixed-version: Fixed after version 5.19rc1"
+CVE_STATUS[CVE-2022-20572] = "fixed-version: Fixed from version 5.19rc1"
 
-CVE_STATUS[CVE-2022-2078] = "fixed-version: Fixed after version 5.19rc1"
+CVE_STATUS[CVE-2022-2078] = "fixed-version: Fixed from version 5.19rc1"
 
-CVE_STATUS[CVE-2022-21123] = "fixed-version: Fixed after version 5.19rc3"
+CVE_STATUS[CVE-2022-21123] = "fixed-version: Fixed from version 5.19rc3"
 
-CVE_STATUS[CVE-2022-21125] = "fixed-version: Fixed after version 5.19rc3"
+CVE_STATUS[CVE-2022-21125] = "fixed-version: Fixed from version 5.19rc3"
 
-CVE_STATUS[CVE-2022-21166] = "fixed-version: Fixed after version 5.19rc3"
+CVE_STATUS[CVE-2022-21166] = "fixed-version: Fixed from version 5.19rc3"
 
-CVE_STATUS[CVE-2022-21385] = "fixed-version: Fixed after version 4.20"
+CVE_STATUS[CVE-2022-21385] = "fixed-version: Fixed from version 4.20"
 
-CVE_STATUS[CVE-2022-21499] = "fixed-version: Fixed after version 5.19rc1"
+CVE_STATUS[CVE-2022-21499] = "fixed-version: Fixed from version 5.19rc1"
 
-CVE_STATUS[CVE-2022-21505] = "fixed-version: Fixed after version 5.19rc8"
+CVE_STATUS[CVE-2022-21505] = "fixed-version: Fixed from version 5.19rc8"
 
-CVE_STATUS[CVE-2022-2153] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2022-2153] = "fixed-version: Fixed from version 5.18rc1"
 
 CVE_STATUS[CVE-2022-2196] = "cpe-stable-backport: Backported in 6.1.14"
 
 # CVE-2022-2209 has no known resolution
 
-CVE_STATUS[CVE-2022-22942] = "fixed-version: Fixed after version 5.17rc2"
+CVE_STATUS[CVE-2022-22942] = "fixed-version: Fixed from version 5.17rc2"
 
-CVE_STATUS[CVE-2022-23036] = "fixed-version: Fixed after version 5.17rc8"
+CVE_STATUS[CVE-2022-23036] = "fixed-version: Fixed from version 5.17rc8"
 
-CVE_STATUS[CVE-2022-23037] = "fixed-version: Fixed after version 5.17rc8"
+CVE_STATUS[CVE-2022-23037] = "fixed-version: Fixed from version 5.17rc8"
 
-CVE_STATUS[CVE-2022-23038] = "fixed-version: Fixed after version 5.17rc8"
+CVE_STATUS[CVE-2022-23038] = "fixed-version: Fixed from version 5.17rc8"
 
-CVE_STATUS[CVE-2022-23039] = "fixed-version: Fixed after version 5.17rc8"
+CVE_STATUS[CVE-2022-23039] = "fixed-version: Fixed from version 5.17rc8"
 
-CVE_STATUS[CVE-2022-23040] = "fixed-version: Fixed after version 5.17rc8"
+CVE_STATUS[CVE-2022-23040] = "fixed-version: Fixed from version 5.17rc8"
 
-CVE_STATUS[CVE-2022-23041] = "fixed-version: Fixed after version 5.17rc8"
+CVE_STATUS[CVE-2022-23041] = "fixed-version: Fixed from version 5.17rc8"
 
-CVE_STATUS[CVE-2022-23042] = "fixed-version: Fixed after version 5.17rc8"
+CVE_STATUS[CVE-2022-23042] = "fixed-version: Fixed from version 5.17rc8"
 
-CVE_STATUS[CVE-2022-2308] = "fixed-version: Fixed after version 6.0"
+CVE_STATUS[CVE-2022-2308] = "fixed-version: Fixed from version 6.0"
 
-CVE_STATUS[CVE-2022-2318] = "fixed-version: Fixed after version 5.19rc5"
+CVE_STATUS[CVE-2022-2318] = "fixed-version: Fixed from version 5.19rc5"
 
-CVE_STATUS[CVE-2022-23222] = "fixed-version: Fixed after version 5.17rc1"
+CVE_STATUS[CVE-2022-23222] = "fixed-version: Fixed from version 5.17rc1"
 
-CVE_STATUS[CVE-2022-2327] = "fixed-version: Fixed after version 5.12rc1"
+CVE_STATUS[CVE-2022-2327] = "fixed-version: Fixed from version 5.12rc1"
 
-CVE_STATUS[CVE-2022-2380] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2022-2380] = "fixed-version: Fixed from version 5.18rc1"
 
-CVE_STATUS[CVE-2022-23816] = "fixed-version: Fixed after version 5.19rc7"
+CVE_STATUS[CVE-2022-23816] = "fixed-version: Fixed from version 5.19rc7"
 
 # CVE-2022-23825 has no known resolution
 
-CVE_STATUS[CVE-2022-23960] = "fixed-version: Fixed after version 5.17rc8"
+CVE_STATUS[CVE-2022-23960] = "fixed-version: Fixed from version 5.17rc8"
 
-CVE_STATUS[CVE-2022-24122] = "fixed-version: Fixed after version 5.17rc2"
+CVE_STATUS[CVE-2022-24122] = "fixed-version: Fixed from version 5.17rc2"
 
-CVE_STATUS[CVE-2022-24448] = "fixed-version: Fixed after version 5.17rc2"
+CVE_STATUS[CVE-2022-24448] = "fixed-version: Fixed from version 5.17rc2"
 
-CVE_STATUS[CVE-2022-24958] = "fixed-version: Fixed after version 5.17rc1"
+CVE_STATUS[CVE-2022-24958] = "fixed-version: Fixed from version 5.17rc1"
 
-CVE_STATUS[CVE-2022-24959] = "fixed-version: Fixed after version 5.17rc2"
+CVE_STATUS[CVE-2022-24959] = "fixed-version: Fixed from version 5.17rc2"
 
-CVE_STATUS[CVE-2022-2503] = "fixed-version: Fixed after version 5.19rc1"
+CVE_STATUS[CVE-2022-2503] = "fixed-version: Fixed from version 5.19rc1"
 
-CVE_STATUS[CVE-2022-25258] = "fixed-version: Fixed after version 5.17rc4"
+CVE_STATUS[CVE-2022-25258] = "fixed-version: Fixed from version 5.17rc4"
 
 # CVE-2022-25265 has no known resolution
 
-CVE_STATUS[CVE-2022-25375] = "fixed-version: Fixed after version 5.17rc4"
+CVE_STATUS[CVE-2022-25375] = "fixed-version: Fixed from version 5.17rc4"
 
-CVE_STATUS[CVE-2022-25636] = "fixed-version: Fixed after version 5.17rc6"
+CVE_STATUS[CVE-2022-25636] = "fixed-version: Fixed from version 5.17rc6"
 
-CVE_STATUS[CVE-2022-2585] = "fixed-version: Fixed after version 6.0rc1"
+CVE_STATUS[CVE-2022-2585] = "fixed-version: Fixed from version 6.0rc1"
 
-CVE_STATUS[CVE-2022-2586] = "fixed-version: Fixed after version 6.0rc1"
+CVE_STATUS[CVE-2022-2586] = "fixed-version: Fixed from version 6.0rc1"
 
-CVE_STATUS[CVE-2022-2588] = "fixed-version: Fixed after version 6.0rc1"
+CVE_STATUS[CVE-2022-2588] = "fixed-version: Fixed from version 6.0rc1"
 
-CVE_STATUS[CVE-2022-2590] = "fixed-version: Fixed after version 6.0rc3"
+CVE_STATUS[CVE-2022-2590] = "fixed-version: Fixed from version 6.0rc3"
 
-CVE_STATUS[CVE-2022-2602] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-2602] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-26365] = "fixed-version: Fixed after version 5.19rc6"
+CVE_STATUS[CVE-2022-26365] = "fixed-version: Fixed from version 5.19rc6"
 
-CVE_STATUS[CVE-2022-26373] = "fixed-version: Fixed after version 6.0rc1"
+CVE_STATUS[CVE-2022-26373] = "fixed-version: Fixed from version 6.0rc1"
 
-CVE_STATUS[CVE-2022-2639] = "fixed-version: Fixed after version 5.18rc4"
+CVE_STATUS[CVE-2022-2639] = "fixed-version: Fixed from version 5.18rc4"
 
-CVE_STATUS[CVE-2022-26490] = "fixed-version: Fixed after version 5.17rc1"
+CVE_STATUS[CVE-2022-26490] = "fixed-version: Fixed from version 5.17rc1"
 
-CVE_STATUS[CVE-2022-2663] = "fixed-version: Fixed after version 6.0rc5"
+CVE_STATUS[CVE-2022-2663] = "fixed-version: Fixed from version 6.0rc5"
 
 # CVE-2022-26878 has no known resolution
 
-CVE_STATUS[CVE-2022-26966] = "fixed-version: Fixed after version 5.17rc6"
+CVE_STATUS[CVE-2022-26966] = "fixed-version: Fixed from version 5.17rc6"
 
-CVE_STATUS[CVE-2022-27223] = "fixed-version: Fixed after version 5.17rc6"
+CVE_STATUS[CVE-2022-27223] = "fixed-version: Fixed from version 5.17rc6"
 
-CVE_STATUS[CVE-2022-27666] = "fixed-version: Fixed after version 5.17rc8"
+CVE_STATUS[CVE-2022-27666] = "fixed-version: Fixed from version 5.17rc8"
 
 CVE_STATUS[CVE-2022-27672] = "cpe-stable-backport: Backported in 6.1.12"
 
-CVE_STATUS[CVE-2022-2785] = "fixed-version: Fixed after version 6.0rc1"
+CVE_STATUS[CVE-2022-2785] = "fixed-version: Fixed from version 6.0rc1"
 
-CVE_STATUS[CVE-2022-27950] = "fixed-version: Fixed after version 5.17rc5"
+CVE_STATUS[CVE-2022-27950] = "fixed-version: Fixed from version 5.17rc5"
 
-CVE_STATUS[CVE-2022-28356] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2022-28356] = "fixed-version: Fixed from version 5.18rc1"
 
-CVE_STATUS[CVE-2022-28388] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2022-28388] = "fixed-version: Fixed from version 5.18rc1"
 
-CVE_STATUS[CVE-2022-28389] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2022-28389] = "fixed-version: Fixed from version 5.18rc1"
 
-CVE_STATUS[CVE-2022-28390] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2022-28390] = "fixed-version: Fixed from version 5.18rc1"
 
-CVE_STATUS[CVE-2022-2873] = "fixed-version: Fixed after version 5.19rc1"
+CVE_STATUS[CVE-2022-2873] = "fixed-version: Fixed from version 5.19rc1"
 
-CVE_STATUS[CVE-2022-28796] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2022-28796] = "fixed-version: Fixed from version 5.18rc1"
 
-CVE_STATUS[CVE-2022-28893] = "fixed-version: Fixed after version 5.18rc2"
+CVE_STATUS[CVE-2022-28893] = "fixed-version: Fixed from version 5.18rc2"
 
-CVE_STATUS[CVE-2022-2905] = "fixed-version: Fixed after version 6.0rc4"
+CVE_STATUS[CVE-2022-2905] = "fixed-version: Fixed from version 6.0rc4"
 
-CVE_STATUS[CVE-2022-29156] = "fixed-version: Fixed after version 5.17rc6"
+CVE_STATUS[CVE-2022-29156] = "fixed-version: Fixed from version 5.17rc6"
 
-CVE_STATUS[CVE-2022-2938] = "fixed-version: Fixed after version 5.17rc2"
+CVE_STATUS[CVE-2022-2938] = "fixed-version: Fixed from version 5.17rc2"
 
-CVE_STATUS[CVE-2022-29581] = "fixed-version: Fixed after version 5.18rc4"
+CVE_STATUS[CVE-2022-29581] = "fixed-version: Fixed from version 5.18rc4"
 
-CVE_STATUS[CVE-2022-29582] = "fixed-version: Fixed after version 5.18rc2"
+CVE_STATUS[CVE-2022-29582] = "fixed-version: Fixed from version 5.18rc2"
 
-CVE_STATUS[CVE-2022-2959] = "fixed-version: Fixed after version 5.19rc1"
+CVE_STATUS[CVE-2022-2959] = "fixed-version: Fixed from version 5.19rc1"
 
 # CVE-2022-2961 has no known resolution
 
-CVE_STATUS[CVE-2022-2964] = "fixed-version: Fixed after version 5.17rc4"
+CVE_STATUS[CVE-2022-2964] = "fixed-version: Fixed from version 5.17rc4"
 
-CVE_STATUS[CVE-2022-2977] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2022-2977] = "fixed-version: Fixed from version 5.18rc1"
 
-CVE_STATUS[CVE-2022-2978] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-2978] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-29900] = "fixed-version: Fixed after version 5.19rc7"
+CVE_STATUS[CVE-2022-29900] = "fixed-version: Fixed from version 5.19rc7"
 
-CVE_STATUS[CVE-2022-29901] = "fixed-version: Fixed after version 5.19rc7"
+CVE_STATUS[CVE-2022-29901] = "fixed-version: Fixed from version 5.19rc7"
 
-CVE_STATUS[CVE-2022-2991] = "fixed-version: Fixed after version 5.15rc1"
+CVE_STATUS[CVE-2022-2991] = "fixed-version: Fixed from version 5.15rc1"
 
-CVE_STATUS[CVE-2022-29968] = "fixed-version: Fixed after version 5.18rc5"
+CVE_STATUS[CVE-2022-29968] = "fixed-version: Fixed from version 5.18rc5"
 
-CVE_STATUS[CVE-2022-3028] = "fixed-version: Fixed after version 6.0rc3"
+CVE_STATUS[CVE-2022-3028] = "fixed-version: Fixed from version 6.0rc3"
 
-CVE_STATUS[CVE-2022-30594] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2022-30594] = "fixed-version: Fixed from version 5.18rc1"
 
-CVE_STATUS[CVE-2022-3061] = "fixed-version: Fixed after version 5.18rc5"
+CVE_STATUS[CVE-2022-3061] = "fixed-version: Fixed from version 5.18rc5"
 
-CVE_STATUS[CVE-2022-3077] = "fixed-version: Fixed after version 5.19rc1"
+CVE_STATUS[CVE-2022-3077] = "fixed-version: Fixed from version 5.19rc1"
 
-CVE_STATUS[CVE-2022-3078] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2022-3078] = "fixed-version: Fixed from version 5.18rc1"
 
-CVE_STATUS[CVE-2022-3103] = "fixed-version: Fixed after version 6.0rc3"
+CVE_STATUS[CVE-2022-3103] = "fixed-version: Fixed from version 6.0rc3"
 
-CVE_STATUS[CVE-2022-3104] = "fixed-version: Fixed after version 5.19rc1"
+CVE_STATUS[CVE-2022-3104] = "fixed-version: Fixed from version 5.19rc1"
 
-CVE_STATUS[CVE-2022-3105] = "fixed-version: Fixed after version 5.16"
+CVE_STATUS[CVE-2022-3105] = "fixed-version: Fixed from version 5.16"
 
-CVE_STATUS[CVE-2022-3106] = "fixed-version: Fixed after version 5.16rc6"
+CVE_STATUS[CVE-2022-3106] = "fixed-version: Fixed from version 5.16rc6"
 
-CVE_STATUS[CVE-2022-3107] = "fixed-version: Fixed after version 5.17"
+CVE_STATUS[CVE-2022-3107] = "fixed-version: Fixed from version 5.17"
 
-CVE_STATUS[CVE-2022-3108] = "fixed-version: Fixed after version 5.17rc1"
+CVE_STATUS[CVE-2022-3108] = "fixed-version: Fixed from version 5.17rc1"
 
-CVE_STATUS[CVE-2022-3110] = "fixed-version: Fixed after version 5.19rc1"
+CVE_STATUS[CVE-2022-3110] = "fixed-version: Fixed from version 5.19rc1"
 
-CVE_STATUS[CVE-2022-3111] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2022-3111] = "fixed-version: Fixed from version 5.18rc1"
 
-CVE_STATUS[CVE-2022-3112] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2022-3112] = "fixed-version: Fixed from version 5.18rc1"
 
-CVE_STATUS[CVE-2022-3113] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2022-3113] = "fixed-version: Fixed from version 5.18rc1"
 
-CVE_STATUS[CVE-2022-3114] = "fixed-version: Fixed after version 5.19rc1"
+CVE_STATUS[CVE-2022-3114] = "fixed-version: Fixed from version 5.19rc1"
 
-CVE_STATUS[CVE-2022-3115] = "fixed-version: Fixed after version 5.19rc1"
+CVE_STATUS[CVE-2022-3115] = "fixed-version: Fixed from version 5.19rc1"
 
-CVE_STATUS[CVE-2022-3169] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-3169] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-3170] = "fixed-version: Fixed after version 6.0rc4"
+CVE_STATUS[CVE-2022-3170] = "fixed-version: Fixed from version 6.0rc4"
 
-CVE_STATUS[CVE-2022-3176] = "fixed-version: Fixed after version 5.17rc1"
+CVE_STATUS[CVE-2022-3176] = "fixed-version: Fixed from version 5.17rc1"
 
-CVE_STATUS[CVE-2022-3202] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2022-3202] = "fixed-version: Fixed from version 5.18rc1"
 
-CVE_STATUS[CVE-2022-32250] = "fixed-version: Fixed after version 5.19rc1"
+CVE_STATUS[CVE-2022-32250] = "fixed-version: Fixed from version 5.19rc1"
 
-CVE_STATUS[CVE-2022-32296] = "fixed-version: Fixed after version 5.18rc6"
+CVE_STATUS[CVE-2022-32296] = "fixed-version: Fixed from version 5.18rc6"
 
 # CVE-2022-3238 has no known resolution
 
-CVE_STATUS[CVE-2022-3239] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2022-3239] = "fixed-version: Fixed from version 5.18rc1"
 
-CVE_STATUS[CVE-2022-32981] = "fixed-version: Fixed after version 5.19rc2"
+CVE_STATUS[CVE-2022-32981] = "fixed-version: Fixed from version 5.19rc2"
 
-CVE_STATUS[CVE-2022-3303] = "fixed-version: Fixed after version 6.0rc5"
+CVE_STATUS[CVE-2022-3303] = "fixed-version: Fixed from version 6.0rc5"
 
-CVE_STATUS[CVE-2022-3344] = "fixed-version: Fixed after version 6.1rc7"
+CVE_STATUS[CVE-2022-3344] = "fixed-version: Fixed from version 6.1rc7"
 
-CVE_STATUS[CVE-2022-33740] = "fixed-version: Fixed after version 5.19rc6"
+CVE_STATUS[CVE-2022-33740] = "fixed-version: Fixed from version 5.19rc6"
 
-CVE_STATUS[CVE-2022-33741] = "fixed-version: Fixed after version 5.19rc6"
+CVE_STATUS[CVE-2022-33741] = "fixed-version: Fixed from version 5.19rc6"
 
-CVE_STATUS[CVE-2022-33742] = "fixed-version: Fixed after version 5.19rc6"
+CVE_STATUS[CVE-2022-33742] = "fixed-version: Fixed from version 5.19rc6"
 
-CVE_STATUS[CVE-2022-33743] = "fixed-version: Fixed after version 5.19rc6"
+CVE_STATUS[CVE-2022-33743] = "fixed-version: Fixed from version 5.19rc6"
 
-CVE_STATUS[CVE-2022-33744] = "fixed-version: Fixed after version 5.19rc6"
+CVE_STATUS[CVE-2022-33744] = "fixed-version: Fixed from version 5.19rc6"
 
-CVE_STATUS[CVE-2022-33981] = "fixed-version: Fixed after version 5.18rc5"
+CVE_STATUS[CVE-2022-33981] = "fixed-version: Fixed from version 5.18rc5"
 
 CVE_STATUS[CVE-2022-3424] = "cpe-stable-backport: Backported in 6.1.2"
 
-CVE_STATUS[CVE-2022-3435] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-3435] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-34494] = "fixed-version: Fixed after version 5.19rc1"
+CVE_STATUS[CVE-2022-34494] = "fixed-version: Fixed from version 5.19rc1"
 
-CVE_STATUS[CVE-2022-34495] = "fixed-version: Fixed after version 5.19rc1"
+CVE_STATUS[CVE-2022-34495] = "fixed-version: Fixed from version 5.19rc1"
 
-CVE_STATUS[CVE-2022-34918] = "fixed-version: Fixed after version 5.19rc6"
+CVE_STATUS[CVE-2022-34918] = "fixed-version: Fixed from version 5.19rc6"
 
-CVE_STATUS[CVE-2022-3521] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-3521] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-3522] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-3522] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-3523] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-3523] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-3524] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-3524] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-3526] = "fixed-version: Fixed after version 5.18rc3"
+CVE_STATUS[CVE-2022-3526] = "fixed-version: Fixed from version 5.18rc3"
 
 CVE_STATUS[CVE-2022-3531] = "cpe-stable-backport: Backported in 6.1.2"
 
@@ -4349,77 +4360,77 @@
 
 CVE_STATUS[CVE-2022-3534] = "cpe-stable-backport: Backported in 6.1.2"
 
-CVE_STATUS[CVE-2022-3535] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-3535] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-3541] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-3541] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-3542] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-3542] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-3543] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-3543] = "fixed-version: Fixed from version 6.1rc1"
 
 # CVE-2022-3544 has no known resolution
 
-CVE_STATUS[CVE-2022-3545] = "fixed-version: Fixed after version 6.0rc1"
+CVE_STATUS[CVE-2022-3545] = "fixed-version: Fixed from version 6.0rc1"
 
-CVE_STATUS[CVE-2022-3564] = "fixed-version: Fixed after version 6.1rc4"
+CVE_STATUS[CVE-2022-3564] = "fixed-version: Fixed from version 6.1rc4"
 
-CVE_STATUS[CVE-2022-3565] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-3565] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-3566] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-3566] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-3567] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-3567] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-3577] = "fixed-version: Fixed after version 5.19rc1"
+CVE_STATUS[CVE-2022-3577] = "fixed-version: Fixed from version 5.19rc1"
 
-CVE_STATUS[CVE-2022-3586] = "fixed-version: Fixed after version 6.0rc5"
+CVE_STATUS[CVE-2022-3586] = "fixed-version: Fixed from version 6.0rc5"
 
-CVE_STATUS[CVE-2022-3594] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-3594] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-3595] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-3595] = "fixed-version: Fixed from version 6.1rc1"
 
 # CVE-2022-3606 has no known resolution
 
-CVE_STATUS[CVE-2022-36123] = "fixed-version: Fixed after version 5.19rc6"
+CVE_STATUS[CVE-2022-36123] = "fixed-version: Fixed from version 5.19rc6"
 
-CVE_STATUS[CVE-2022-3619] = "fixed-version: Fixed after version 6.1rc4"
+CVE_STATUS[CVE-2022-3619] = "fixed-version: Fixed from version 6.1rc4"
 
-CVE_STATUS[CVE-2022-3621] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-3621] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-3623] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-3623] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-3624] = "fixed-version: Fixed after version 6.0rc1"
+CVE_STATUS[CVE-2022-3624] = "fixed-version: Fixed from version 6.0rc1"
 
-CVE_STATUS[CVE-2022-3625] = "fixed-version: Fixed after version 6.0rc1"
+CVE_STATUS[CVE-2022-3625] = "fixed-version: Fixed from version 6.0rc1"
 
-CVE_STATUS[CVE-2022-3628] = "fixed-version: Fixed after version 6.1rc5"
+CVE_STATUS[CVE-2022-3628] = "fixed-version: Fixed from version 6.1rc5"
 
 CVE_STATUS[CVE-2022-36280] = "cpe-stable-backport: Backported in 6.1.4"
 
-CVE_STATUS[CVE-2022-3629] = "fixed-version: Fixed after version 6.0rc1"
+CVE_STATUS[CVE-2022-3629] = "fixed-version: Fixed from version 6.0rc1"
 
-CVE_STATUS[CVE-2022-3630] = "fixed-version: Fixed after version 6.0rc1"
+CVE_STATUS[CVE-2022-3630] = "fixed-version: Fixed from version 6.0rc1"
 
-CVE_STATUS[CVE-2022-3633] = "fixed-version: Fixed after version 6.0rc1"
+CVE_STATUS[CVE-2022-3633] = "fixed-version: Fixed from version 6.0rc1"
 
-CVE_STATUS[CVE-2022-3635] = "fixed-version: Fixed after version 6.0rc1"
+CVE_STATUS[CVE-2022-3635] = "fixed-version: Fixed from version 6.0rc1"
 
-CVE_STATUS[CVE-2022-3636] = "fixed-version: Fixed after version 5.19rc1"
+CVE_STATUS[CVE-2022-3636] = "fixed-version: Fixed from version 5.19rc1"
 
-CVE_STATUS[CVE-2022-3640] = "fixed-version: Fixed after version 6.1rc4"
+CVE_STATUS[CVE-2022-3640] = "fixed-version: Fixed from version 6.1rc4"
 
 # CVE-2022-36402 has no known resolution
 
 # CVE-2022-3642 has no known resolution
 
-CVE_STATUS[CVE-2022-3643] = "fixed-version: Fixed after version 6.1"
+CVE_STATUS[CVE-2022-3643] = "fixed-version: Fixed from version 6.1"
 
-CVE_STATUS[CVE-2022-3646] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-3646] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-3649] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-3649] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-36879] = "fixed-version: Fixed after version 5.19rc8"
+CVE_STATUS[CVE-2022-36879] = "fixed-version: Fixed from version 5.19rc8"
 
-CVE_STATUS[CVE-2022-36946] = "fixed-version: Fixed after version 5.19"
+CVE_STATUS[CVE-2022-36946] = "fixed-version: Fixed from version 5.19"
 
 CVE_STATUS[CVE-2022-3707] = "cpe-stable-backport: Backported in 6.1.5"
 
@@ -4427,83 +4438,85 @@
 
 CVE_STATUS[CVE-2022-38457] = "cpe-stable-backport: Backported in 6.1.7"
 
-CVE_STATUS[CVE-2022-3903] = "fixed-version: Fixed after version 6.1rc2"
+CVE_STATUS[CVE-2022-3903] = "fixed-version: Fixed from version 6.1rc2"
 
-CVE_STATUS[CVE-2022-3910] = "fixed-version: Fixed after version 6.0rc6"
+CVE_STATUS[CVE-2022-3910] = "fixed-version: Fixed from version 6.0rc6"
 
-CVE_STATUS[CVE-2022-39188] = "fixed-version: Fixed after version 5.19rc8"
+CVE_STATUS[CVE-2022-39188] = "fixed-version: Fixed from version 5.19rc8"
 
-CVE_STATUS[CVE-2022-39189] = "fixed-version: Fixed after version 5.19rc2"
+CVE_STATUS[CVE-2022-39189] = "fixed-version: Fixed from version 5.19rc2"
 
-CVE_STATUS[CVE-2022-39190] = "fixed-version: Fixed after version 6.0rc3"
+CVE_STATUS[CVE-2022-39190] = "fixed-version: Fixed from version 6.0rc3"
 
-CVE_STATUS[CVE-2022-3977] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-3977] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-39842] = "fixed-version: Fixed after version 5.19rc4"
+CVE_STATUS[CVE-2022-39842] = "fixed-version: Fixed from version 5.19rc4"
 
 CVE_STATUS[CVE-2022-40133] = "cpe-stable-backport: Backported in 6.1.7"
 
-CVE_STATUS[CVE-2022-40307] = "fixed-version: Fixed after version 6.0rc5"
+CVE_STATUS[CVE-2022-40307] = "fixed-version: Fixed from version 6.0rc5"
 
-CVE_STATUS[CVE-2022-40476] = "fixed-version: Fixed after version 5.19rc4"
+CVE_STATUS[CVE-2022-40476] = "fixed-version: Fixed from version 5.19rc4"
 
-CVE_STATUS[CVE-2022-40768] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-40768] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-4095] = "fixed-version: Fixed after version 6.0rc4"
+CVE_STATUS[CVE-2022-4095] = "fixed-version: Fixed from version 6.0rc4"
+
+CVE_STATUS[CVE-2022-40982] = "cpe-stable-backport: Backported in 6.1.44"
 
 CVE_STATUS[CVE-2022-41218] = "cpe-stable-backport: Backported in 6.1.4"
 
-CVE_STATUS[CVE-2022-41222] = "fixed-version: Fixed after version 5.14rc1"
+CVE_STATUS[CVE-2022-41222] = "fixed-version: Fixed from version 5.14rc1"
 
-CVE_STATUS[CVE-2022-4127] = "fixed-version: Fixed after version 5.19rc6"
+CVE_STATUS[CVE-2022-4127] = "fixed-version: Fixed from version 5.19rc6"
 
-CVE_STATUS[CVE-2022-4128] = "fixed-version: Fixed after version 5.19rc7"
+CVE_STATUS[CVE-2022-4128] = "fixed-version: Fixed from version 5.19rc7"
 
-CVE_STATUS[CVE-2022-4129] = "fixed-version: Fixed after version 6.1rc6"
+CVE_STATUS[CVE-2022-4129] = "fixed-version: Fixed from version 6.1rc6"
 
-CVE_STATUS[CVE-2022-4139] = "fixed-version: Fixed after version 6.1rc8"
+CVE_STATUS[CVE-2022-4139] = "fixed-version: Fixed from version 6.1rc8"
 
-CVE_STATUS[CVE-2022-41674] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-41674] = "fixed-version: Fixed from version 6.1rc1"
 
 # CVE-2022-41848 has no known resolution
 
-CVE_STATUS[CVE-2022-41849] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-41849] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-41850] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-41850] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-41858] = "fixed-version: Fixed after version 5.18rc2"
+CVE_STATUS[CVE-2022-41858] = "fixed-version: Fixed from version 5.18rc2"
 
-CVE_STATUS[CVE-2022-42328] = "fixed-version: Fixed after version 6.1"
+CVE_STATUS[CVE-2022-42328] = "fixed-version: Fixed from version 6.1"
 
-CVE_STATUS[CVE-2022-42329] = "fixed-version: Fixed after version 6.1"
+CVE_STATUS[CVE-2022-42329] = "fixed-version: Fixed from version 6.1"
 
-CVE_STATUS[CVE-2022-42432] = "fixed-version: Fixed after version 6.0rc7"
+CVE_STATUS[CVE-2022-42432] = "fixed-version: Fixed from version 6.0rc7"
 
 CVE_STATUS[CVE-2022-4269] = "cpe-stable-backport: Backported in 6.1.22"
 
-CVE_STATUS[CVE-2022-42703] = "fixed-version: Fixed after version 6.0rc4"
+CVE_STATUS[CVE-2022-42703] = "fixed-version: Fixed from version 6.0rc4"
 
-CVE_STATUS[CVE-2022-42719] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-42719] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-42720] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-42720] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-42721] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-42721] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-42722] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-42722] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-42895] = "fixed-version: Fixed after version 6.1rc4"
+CVE_STATUS[CVE-2022-42895] = "fixed-version: Fixed from version 6.1rc4"
 
-CVE_STATUS[CVE-2022-42896] = "fixed-version: Fixed after version 6.1rc4"
+CVE_STATUS[CVE-2022-42896] = "fixed-version: Fixed from version 6.1rc4"
 
-CVE_STATUS[CVE-2022-43750] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-43750] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-4378] = "fixed-version: Fixed after version 6.1"
+CVE_STATUS[CVE-2022-4378] = "fixed-version: Fixed from version 6.1"
 
 CVE_STATUS[CVE-2022-4379] = "cpe-stable-backport: Backported in 6.1.3"
 
 CVE_STATUS[CVE-2022-4382] = "cpe-stable-backport: Backported in 6.1.8"
 
-CVE_STATUS[CVE-2022-43945] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-43945] = "fixed-version: Fixed from version 6.1rc1"
 
 # CVE-2022-44032 has no known resolution
 
@@ -4513,7 +4526,7 @@
 
 # CVE-2022-4543 has no known resolution
 
-CVE_STATUS[CVE-2022-45869] = "fixed-version: Fixed after version 6.1rc7"
+CVE_STATUS[CVE-2022-45869] = "fixed-version: Fixed from version 6.1rc7"
 
 # CVE-2022-45884 has no known resolution
 
@@ -4527,37 +4540,37 @@
 
 # CVE-2022-45919 has no known resolution
 
-CVE_STATUS[CVE-2022-45934] = "fixed-version: Fixed after version 6.1"
+CVE_STATUS[CVE-2022-45934] = "fixed-version: Fixed from version 6.1"
 
-CVE_STATUS[CVE-2022-4662] = "fixed-version: Fixed after version 6.0rc4"
+CVE_STATUS[CVE-2022-4662] = "fixed-version: Fixed from version 6.0rc4"
 
-CVE_STATUS[CVE-2022-4696] = "fixed-version: Fixed after version 5.12rc1"
+CVE_STATUS[CVE-2022-4696] = "fixed-version: Fixed from version 5.12rc1"
 
-CVE_STATUS[CVE-2022-4744] = "fixed-version: Fixed after version 5.16rc7"
+CVE_STATUS[CVE-2022-4744] = "fixed-version: Fixed from version 5.16rc7"
 
-CVE_STATUS[CVE-2022-47518] = "fixed-version: Fixed after version 6.1rc8"
+CVE_STATUS[CVE-2022-47518] = "fixed-version: Fixed from version 6.1rc8"
 
-CVE_STATUS[CVE-2022-47519] = "fixed-version: Fixed after version 6.1rc8"
+CVE_STATUS[CVE-2022-47519] = "fixed-version: Fixed from version 6.1rc8"
 
-CVE_STATUS[CVE-2022-47520] = "fixed-version: Fixed after version 6.1rc8"
+CVE_STATUS[CVE-2022-47520] = "fixed-version: Fixed from version 6.1rc8"
 
-CVE_STATUS[CVE-2022-47521] = "fixed-version: Fixed after version 6.1rc8"
+CVE_STATUS[CVE-2022-47521] = "fixed-version: Fixed from version 6.1rc8"
 
 CVE_STATUS[CVE-2022-47929] = "cpe-stable-backport: Backported in 6.1.6"
 
-CVE_STATUS[CVE-2022-47938] = "fixed-version: Fixed after version 6.0rc1"
+CVE_STATUS[CVE-2022-47938] = "fixed-version: Fixed from version 6.0rc1"
 
-CVE_STATUS[CVE-2022-47939] = "fixed-version: Fixed after version 6.0rc1"
+CVE_STATUS[CVE-2022-47939] = "fixed-version: Fixed from version 6.0rc1"
 
-CVE_STATUS[CVE-2022-47940] = "fixed-version: Fixed after version 5.19rc1"
+CVE_STATUS[CVE-2022-47940] = "fixed-version: Fixed from version 5.19rc1"
 
-CVE_STATUS[CVE-2022-47941] = "fixed-version: Fixed after version 6.0rc1"
+CVE_STATUS[CVE-2022-47941] = "fixed-version: Fixed from version 6.0rc1"
 
-CVE_STATUS[CVE-2022-47942] = "fixed-version: Fixed after version 6.0rc1"
+CVE_STATUS[CVE-2022-47942] = "fixed-version: Fixed from version 6.0rc1"
 
-CVE_STATUS[CVE-2022-47943] = "fixed-version: Fixed after version 6.0rc1"
+CVE_STATUS[CVE-2022-47943] = "fixed-version: Fixed from version 6.0rc1"
 
-CVE_STATUS[CVE-2022-47946] = "fixed-version: Fixed after version 5.12rc2"
+CVE_STATUS[CVE-2022-47946] = "fixed-version: Fixed from version 5.12rc2"
 
 CVE_STATUS[CVE-2022-4842] = "cpe-stable-backport: Backported in 6.1.8"
 
@@ -4569,21 +4582,21 @@
 
 CVE_STATUS[CVE-2022-48502] = "cpe-stable-backport: Backported in 6.1.40"
 
-CVE_STATUS[CVE-2023-0030] = "fixed-version: Fixed after version 5.0rc1"
+CVE_STATUS[CVE-2023-0030] = "fixed-version: Fixed from version 5.0rc1"
 
 CVE_STATUS[CVE-2023-0045] = "cpe-stable-backport: Backported in 6.1.5"
 
-CVE_STATUS[CVE-2023-0047] = "fixed-version: Fixed after version 5.16rc1"
+CVE_STATUS[CVE-2023-0047] = "fixed-version: Fixed from version 5.16rc1"
 
-CVE_STATUS[CVE-2023-0122] = "fixed-version: Fixed after version 6.0rc4"
+CVE_STATUS[CVE-2023-0122] = "fixed-version: Fixed from version 6.0rc4"
 
-# CVE-2023-0160 has no known resolution
+CVE_STATUS[CVE-2023-0160] = "cpe-stable-backport: Backported in 6.1.28"
 
 CVE_STATUS[CVE-2023-0179] = "cpe-stable-backport: Backported in 6.1.7"
 
 CVE_STATUS[CVE-2023-0210] = "cpe-stable-backport: Backported in 6.1.5"
 
-CVE_STATUS[CVE-2023-0240] = "fixed-version: Fixed after version 5.10rc1"
+CVE_STATUS[CVE-2023-0240] = "fixed-version: Fixed from version 5.10rc1"
 
 CVE_STATUS[CVE-2023-0266] = "cpe-stable-backport: Backported in 6.1.6"
 
@@ -4597,15 +4610,15 @@
 
 CVE_STATUS[CVE-2023-0461] = "cpe-stable-backport: Backported in 6.1.5"
 
-CVE_STATUS[CVE-2023-0468] = "fixed-version: Fixed after version 6.1rc7"
+CVE_STATUS[CVE-2023-0468] = "fixed-version: Fixed from version 6.1rc7"
 
-CVE_STATUS[CVE-2023-0469] = "fixed-version: Fixed after version 6.1rc7"
+CVE_STATUS[CVE-2023-0469] = "fixed-version: Fixed from version 6.1rc7"
 
-CVE_STATUS[CVE-2023-0590] = "fixed-version: Fixed after version 6.1rc2"
+CVE_STATUS[CVE-2023-0590] = "fixed-version: Fixed from version 6.1rc2"
 
 # CVE-2023-0597 needs backporting (fixed from 6.2rc1)
 
-CVE_STATUS[CVE-2023-0615] = "fixed-version: Fixed after version 6.1rc3"
+CVE_STATUS[CVE-2023-0615] = "fixed-version: Fixed from version 6.1rc3"
 
 CVE_STATUS[CVE-2023-1032] = "cpe-stable-backport: Backported in 6.1.16"
 
@@ -4623,7 +4636,7 @@
 
 CVE_STATUS[CVE-2023-1079] = "cpe-stable-backport: Backported in 6.1.16"
 
-CVE_STATUS[CVE-2023-1095] = "fixed-version: Fixed after version 6.0rc1"
+CVE_STATUS[CVE-2023-1095] = "fixed-version: Fixed from version 6.0rc1"
 
 CVE_STATUS[CVE-2023-1118] = "cpe-stable-backport: Backported in 6.1.16"
 
@@ -4633,33 +4646,33 @@
 
 # CVE-2023-1194 has no known resolution
 
-CVE_STATUS[CVE-2023-1195] = "fixed-version: Fixed after version 6.1rc3"
+CVE_STATUS[CVE-2023-1195] = "fixed-version: Fixed from version 6.1rc3"
 
-# CVE-2023-1206 has no known resolution
+CVE_STATUS[CVE-2023-1206] = "cpe-stable-backport: Backported in 6.1.43"
 
-CVE_STATUS[CVE-2023-1249] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2023-1249] = "fixed-version: Fixed from version 5.18rc1"
 
-CVE_STATUS[CVE-2023-1252] = "fixed-version: Fixed after version 5.16rc1"
+CVE_STATUS[CVE-2023-1252] = "fixed-version: Fixed from version 5.16rc1"
 
 CVE_STATUS[CVE-2023-1281] = "cpe-stable-backport: Backported in 6.1.13"
 
-CVE_STATUS[CVE-2023-1295] = "fixed-version: Fixed after version 5.12rc1"
+CVE_STATUS[CVE-2023-1295] = "fixed-version: Fixed from version 5.12rc1"
 
 CVE_STATUS[CVE-2023-1380] = "cpe-stable-backport: Backported in 6.1.27"
 
-CVE_STATUS[CVE-2023-1382] = "fixed-version: Fixed after version 6.1rc7"
+CVE_STATUS[CVE-2023-1382] = "fixed-version: Fixed from version 6.1rc7"
 
-CVE_STATUS[CVE-2023-1390] = "fixed-version: Fixed after version 5.11rc4"
+CVE_STATUS[CVE-2023-1390] = "fixed-version: Fixed from version 5.11rc4"
 
 CVE_STATUS[CVE-2023-1513] = "cpe-stable-backport: Backported in 6.1.13"
 
-CVE_STATUS[CVE-2023-1582] = "fixed-version: Fixed after version 5.17rc4"
+CVE_STATUS[CVE-2023-1582] = "fixed-version: Fixed from version 5.17rc4"
 
 CVE_STATUS[CVE-2023-1583] = "cpe-stable-backport: Backported in 6.1.22"
 
 CVE_STATUS[CVE-2023-1611] = "cpe-stable-backport: Backported in 6.1.23"
 
-CVE_STATUS[CVE-2023-1637] = "fixed-version: Fixed after version 5.18rc2"
+CVE_STATUS[CVE-2023-1637] = "fixed-version: Fixed from version 5.18rc2"
 
 CVE_STATUS[CVE-2023-1652] = "cpe-stable-backport: Backported in 6.1.9"
 
@@ -4667,13 +4680,13 @@
 
 CVE_STATUS[CVE-2023-1829] = "cpe-stable-backport: Backported in 6.1.18"
 
-CVE_STATUS[CVE-2023-1838] = "fixed-version: Fixed after version 5.18"
+CVE_STATUS[CVE-2023-1838] = "fixed-version: Fixed from version 5.18"
 
 CVE_STATUS[CVE-2023-1855] = "cpe-stable-backport: Backported in 6.1.21"
 
 CVE_STATUS[CVE-2023-1859] = "cpe-stable-backport: Backported in 6.1.25"
 
-CVE_STATUS[CVE-2023-1872] = "fixed-version: Fixed after version 5.18rc2"
+CVE_STATUS[CVE-2023-1872] = "fixed-version: Fixed from version 5.18rc2"
 
 CVE_STATUS[CVE-2023-1989] = "cpe-stable-backport: Backported in 6.1.22"
 
@@ -4683,21 +4696,25 @@
 
 CVE_STATUS[CVE-2023-2002] = "cpe-stable-backport: Backported in 6.1.27"
 
-CVE_STATUS[CVE-2023-2006] = "fixed-version: Fixed after version 6.1rc7"
+CVE_STATUS[CVE-2023-2006] = "fixed-version: Fixed from version 6.1rc7"
 
-CVE_STATUS[CVE-2023-2007] = "fixed-version: Fixed after version 6.0rc1"
+CVE_STATUS[CVE-2023-2007] = "fixed-version: Fixed from version 6.0rc1"
 
-CVE_STATUS[CVE-2023-2008] = "fixed-version: Fixed after version 5.19rc4"
+CVE_STATUS[CVE-2023-2008] = "fixed-version: Fixed from version 5.19rc4"
 
-CVE_STATUS[CVE-2023-2019] = "fixed-version: Fixed after version 6.0rc1"
+CVE_STATUS[CVE-2023-2019] = "fixed-version: Fixed from version 6.0rc1"
 
-# CVE-2023-20593 has no known resolution
+CVE_STATUS[CVE-2023-20569] = "cpe-stable-backport: Backported in 6.1.44"
 
-CVE_STATUS[CVE-2023-20928] = "fixed-version: Fixed after version 6.0rc1"
+CVE_STATUS[CVE-2023-20588] = "cpe-stable-backport: Backported in 6.1.45"
+
+CVE_STATUS[CVE-2023-20593] = "cpe-stable-backport: Backported in 6.1.41"
+
+CVE_STATUS[CVE-2023-20928] = "fixed-version: Fixed from version 6.0rc1"
 
 # CVE-2023-20937 has no known resolution
 
-CVE_STATUS[CVE-2023-20938] = "fixed-version: Fixed after version 5.18rc5"
+CVE_STATUS[CVE-2023-20938] = "fixed-version: Fixed from version 5.18rc5"
 
 # CVE-2023-20941 has no known resolution
 
@@ -4709,51 +4726,55 @@
 
 CVE_STATUS[CVE-2023-21255] = "cpe-stable-backport: Backported in 6.1.31"
 
+# CVE-2023-21264 needs backporting (fixed from 6.4rc5)
+
+# CVE-2023-21400 has no known resolution
+
 CVE_STATUS[CVE-2023-2156] = "cpe-stable-backport: Backported in 6.1.26"
 
 CVE_STATUS[CVE-2023-2162] = "cpe-stable-backport: Backported in 6.1.11"
 
 CVE_STATUS[CVE-2023-2163] = "cpe-stable-backport: Backported in 6.1.26"
 
-CVE_STATUS[CVE-2023-2166] = "fixed-version: Fixed after version 6.1"
+CVE_STATUS[CVE-2023-2166] = "fixed-version: Fixed from version 6.1"
 
 # CVE-2023-2176 needs backporting (fixed from 6.3rc1)
 
-CVE_STATUS[CVE-2023-2177] = "fixed-version: Fixed after version 5.19"
+CVE_STATUS[CVE-2023-2177] = "fixed-version: Fixed from version 5.19"
 
 CVE_STATUS[CVE-2023-2194] = "cpe-stable-backport: Backported in 6.1.22"
 
 CVE_STATUS[CVE-2023-2235] = "cpe-stable-backport: Backported in 6.1.21"
 
-CVE_STATUS[CVE-2023-2236] = "fixed-version: Fixed after version 6.1rc7"
+CVE_STATUS[CVE-2023-2236] = "fixed-version: Fixed from version 6.1rc7"
 
 CVE_STATUS[CVE-2023-2248] = "cpe-stable-backport: Backported in 6.1.26"
 
 CVE_STATUS[CVE-2023-2269] = "cpe-stable-backport: Backported in 6.1.28"
 
-CVE_STATUS[CVE-2023-22995] = "fixed-version: Fixed after version 5.17rc1"
+CVE_STATUS[CVE-2023-22995] = "fixed-version: Fixed from version 5.17rc1"
 
-CVE_STATUS[CVE-2023-22996] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2023-22996] = "fixed-version: Fixed from version 5.18rc1"
 
 CVE_STATUS[CVE-2023-22997] = "cpe-stable-backport: Backported in 6.1.2"
 
-CVE_STATUS[CVE-2023-22998] = "fixed-version: Fixed after version 6.0rc1"
+CVE_STATUS[CVE-2023-22998] = "fixed-version: Fixed from version 6.0rc1"
 
-CVE_STATUS[CVE-2023-22999] = "fixed-version: Fixed after version 5.17rc1"
+CVE_STATUS[CVE-2023-22999] = "fixed-version: Fixed from version 5.17rc1"
 
-CVE_STATUS[CVE-2023-23000] = "fixed-version: Fixed after version 5.17rc1"
+CVE_STATUS[CVE-2023-23000] = "fixed-version: Fixed from version 5.17rc1"
 
-CVE_STATUS[CVE-2023-23001] = "fixed-version: Fixed after version 5.17rc1"
+CVE_STATUS[CVE-2023-23001] = "fixed-version: Fixed from version 5.17rc1"
 
-CVE_STATUS[CVE-2023-23002] = "fixed-version: Fixed after version 5.17rc1"
+CVE_STATUS[CVE-2023-23002] = "fixed-version: Fixed from version 5.17rc1"
 
-CVE_STATUS[CVE-2023-23003] = "fixed-version: Fixed after version 5.16rc6"
+CVE_STATUS[CVE-2023-23003] = "fixed-version: Fixed from version 5.16rc6"
 
-CVE_STATUS[CVE-2023-23004] = "fixed-version: Fixed after version 5.19rc1"
+CVE_STATUS[CVE-2023-23004] = "fixed-version: Fixed from version 5.19rc1"
 
 # CVE-2023-23005 needs backporting (fixed from 6.2rc1)
 
-CVE_STATUS[CVE-2023-23006] = "fixed-version: Fixed after version 5.16rc8"
+CVE_STATUS[CVE-2023-23006] = "fixed-version: Fixed from version 5.16rc8"
 
 # CVE-2023-23039 has no known resolution
 
@@ -4763,7 +4784,7 @@
 
 CVE_STATUS[CVE-2023-23559] = "cpe-stable-backport: Backported in 6.1.9"
 
-CVE_STATUS[CVE-2023-23586] = "fixed-version: Fixed after version 5.12rc1"
+CVE_STATUS[CVE-2023-23586] = "fixed-version: Fixed from version 5.12rc1"
 
 # CVE-2023-2430 needs backporting (fixed from 6.2rc5)
 
@@ -4771,35 +4792,37 @@
 
 CVE_STATUS[CVE-2023-25012] = "cpe-stable-backport: Backported in 6.1.16"
 
-CVE_STATUS[CVE-2023-2513] = "fixed-version: Fixed after version 6.0rc1"
+CVE_STATUS[CVE-2023-2513] = "fixed-version: Fixed from version 6.0rc1"
 
 CVE_STATUS[CVE-2023-2598] = "fixed-version: only affects 6.3rc1 onwards"
 
 # CVE-2023-26242 has no known resolution
 
+# CVE-2023-2640 has no known resolution
+
 CVE_STATUS[CVE-2023-26544] = "cpe-stable-backport: Backported in 6.1.3"
 
 CVE_STATUS[CVE-2023-26545] = "cpe-stable-backport: Backported in 6.1.13"
 
-CVE_STATUS[CVE-2023-26605] = "fixed-version: Fixed after version 6.1rc7"
+CVE_STATUS[CVE-2023-26605] = "fixed-version: Fixed from version 6.1rc7"
 
 CVE_STATUS[CVE-2023-26606] = "cpe-stable-backport: Backported in 6.1.2"
 
-CVE_STATUS[CVE-2023-26607] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2023-26607] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2023-28327] = "fixed-version: Fixed after version 6.1"
+CVE_STATUS[CVE-2023-28327] = "fixed-version: Fixed from version 6.1"
 
 CVE_STATUS[CVE-2023-28328] = "cpe-stable-backport: Backported in 6.1.2"
 
-CVE_STATUS[CVE-2023-28410] = "fixed-version: Fixed after version 5.19rc1"
+CVE_STATUS[CVE-2023-28410] = "fixed-version: Fixed from version 5.19rc1"
 
 CVE_STATUS[CVE-2023-28464] = "fixed-version: only affects 6.3rc1 onwards"
 
 CVE_STATUS[CVE-2023-28466] = "cpe-stable-backport: Backported in 6.1.20"
 
-CVE_STATUS[CVE-2023-2860] = "fixed-version: Fixed after version 6.0rc5"
+CVE_STATUS[CVE-2023-2860] = "fixed-version: Fixed from version 6.0rc5"
 
-CVE_STATUS[CVE-2023-28772] = "fixed-version: Fixed after version 5.14rc1"
+CVE_STATUS[CVE-2023-28772] = "fixed-version: Fixed from version 5.14rc1"
 
 CVE_STATUS[CVE-2023-28866] = "cpe-stable-backport: Backported in 6.1.22"
 
@@ -4807,7 +4830,7 @@
 
 CVE_STATUS[CVE-2023-2985] = "cpe-stable-backport: Backported in 6.1.16"
 
-CVE_STATUS[CVE-2023-3006] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2023-3006] = "fixed-version: Fixed from version 6.1rc1"
 
 # Skipping CVE-2023-3022, no affected_versions
 
@@ -4817,7 +4840,7 @@
 
 CVE_STATUS[CVE-2023-3090] = "cpe-stable-backport: Backported in 6.1.30"
 
-CVE_STATUS[CVE-2023-3106] = "fixed-version: Fixed after version 4.8rc7"
+CVE_STATUS[CVE-2023-3106] = "fixed-version: Fixed from version 4.8rc7"
 
 # Skipping CVE-2023-3108, no affected_versions
 
@@ -4831,7 +4854,7 @@
 
 # CVE-2023-31085 has no known resolution
 
-CVE_STATUS[CVE-2023-3111] = "fixed-version: Fixed after version 6.0rc2"
+CVE_STATUS[CVE-2023-3111] = "fixed-version: Fixed from version 6.0rc2"
 
 CVE_STATUS[CVE-2023-3117] = "cpe-stable-backport: Backported in 6.1.35"
 
@@ -4841,7 +4864,7 @@
 
 CVE_STATUS[CVE-2023-31436] = "cpe-stable-backport: Backported in 6.1.26"
 
-CVE_STATUS[CVE-2023-3159] = "fixed-version: Fixed after version 5.18rc6"
+CVE_STATUS[CVE-2023-3159] = "fixed-version: Fixed from version 5.18rc6"
 
 CVE_STATUS[CVE-2023-3161] = "cpe-stable-backport: Backported in 6.1.11"
 
@@ -4867,6 +4890,8 @@
 
 CVE_STATUS[CVE-2023-32269] = "cpe-stable-backport: Backported in 6.1.11"
 
+# CVE-2023-32629 has no known resolution
+
 CVE_STATUS[CVE-2023-3268] = "cpe-stable-backport: Backported in 6.1.28"
 
 CVE_STATUS[CVE-2023-3269] = "cpe-stable-backport: Backported in 6.1.37"
@@ -4877,11 +4902,11 @@
 
 CVE_STATUS[CVE-2023-33203] = "cpe-stable-backport: Backported in 6.1.22"
 
-# CVE-2023-33250 has no known resolution
+CVE_STATUS[CVE-2023-33250] = "fixed-version: only affects 6.2rc1 onwards"
 
 CVE_STATUS[CVE-2023-33288] = "cpe-stable-backport: Backported in 6.1.22"
 
-CVE_STATUS[CVE-2023-3338] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2023-3338] = "fixed-version: Fixed from version 6.1rc1"
 
 CVE_STATUS[CVE-2023-3355] = "cpe-stable-backport: Backported in 6.1.16"
 
@@ -4891,7 +4916,7 @@
 
 CVE_STATUS[CVE-2023-3359] = "cpe-stable-backport: Backported in 6.1.11"
 
-CVE_STATUS[CVE-2023-3389] = "fixed-version: Fixed after version 6.0rc1"
+CVE_STATUS[CVE-2023-3389] = "fixed-version: Fixed from version 6.0rc1"
 
 CVE_STATUS[CVE-2023-3390] = "cpe-stable-backport: Backported in 6.1.35"
 
@@ -4905,7 +4930,9 @@
 
 CVE_STATUS[CVE-2023-34256] = "cpe-stable-backport: Backported in 6.1.29"
 
-CVE_STATUS[CVE-2023-3439] = "fixed-version: Fixed after version 5.18rc5"
+CVE_STATUS[CVE-2023-34319] = "cpe-stable-backport: Backported in 6.1.44"
+
+CVE_STATUS[CVE-2023-3439] = "fixed-version: Fixed from version 5.18rc5"
 
 CVE_STATUS[CVE-2023-35001] = "cpe-stable-backport: Backported in 6.1.39"
 
@@ -4939,13 +4966,13 @@
 
 # CVE-2023-37454 has no known resolution
 
-# CVE-2023-3772 has no known resolution
+CVE_STATUS[CVE-2023-3772] = "cpe-stable-backport: Backported in 6.1.47"
 
-# CVE-2023-3773 has no known resolution
+CVE_STATUS[CVE-2023-3773] = "cpe-stable-backport: Backported in 6.1.47"
 
 CVE_STATUS[CVE-2023-3776] = "cpe-stable-backport: Backported in 6.1.40"
 
-CVE_STATUS[CVE-2023-3812] = "fixed-version: Fixed after version 6.1rc4"
+CVE_STATUS[CVE-2023-3812] = "fixed-version: Fixed from version 6.1rc4"
 
 CVE_STATUS[CVE-2023-38409] = "cpe-stable-backport: Backported in 6.1.25"
 
@@ -4965,3 +4992,35 @@
 
 CVE_STATUS[CVE-2023-3863] = "cpe-stable-backport: Backported in 6.1.39"
 
+CVE_STATUS[CVE-2023-4004] = "cpe-stable-backport: Backported in 6.1.42"
+
+# CVE-2023-4010 has no known resolution
+
+CVE_STATUS[CVE-2023-40283] = "cpe-stable-backport: Backported in 6.1.45"
+
+CVE_STATUS[CVE-2023-4128] = "cpe-stable-backport: Backported in 6.1.45"
+
+CVE_STATUS[CVE-2023-4132] = "cpe-stable-backport: Backported in 6.1.39"
+
+# CVE-2023-4133 needs backporting (fixed from 6.3)
+
+# CVE-2023-4134 needs backporting (fixed from 6.5rc1)
+
+CVE_STATUS[CVE-2023-4147] = "cpe-stable-backport: Backported in 6.1.43"
+
+CVE_STATUS[CVE-2023-4155] = "cpe-stable-backport: Backported in 6.1.46"
+
+CVE_STATUS[CVE-2023-4194] = "fixed-version: only affects 6.3rc1 onwards"
+
+CVE_STATUS[CVE-2023-4273] = "cpe-stable-backport: Backported in 6.1.45"
+
+CVE_STATUS[CVE-2023-4385] = "fixed-version: Fixed from version 5.19rc1"
+
+CVE_STATUS[CVE-2023-4387] = "fixed-version: Fixed from version 5.18"
+
+CVE_STATUS[CVE-2023-4389] = "fixed-version: Fixed from version 5.18rc3"
+
+CVE_STATUS[CVE-2023-4394] = "fixed-version: Fixed from version 6.0rc3"
+
+CVE_STATUS[CVE-2023-4459] = "fixed-version: Fixed from version 5.18"
+
diff --git a/poky/meta/recipes-kernel/linux/cve-exclusion_6.4.inc b/poky/meta/recipes-kernel/linux/cve-exclusion_6.4.inc
index 98e9ee2..5a5eb9a 100644
--- a/poky/meta/recipes-kernel/linux/cve-exclusion_6.4.inc
+++ b/poky/meta/recipes-kernel/linux/cve-exclusion_6.4.inc
@@ -1,109 +1,118 @@
+
 # Auto-generated CVE metadata, DO NOT EDIT BY HAND.
-# Generated at 2023-08-09 15:51:30.073765 for version 6.4.9
+# Generated at 2023-09-07 15:30:03.897686+00:00 for version 6.4.14
 
-CVE_STATUS[CVE-2003-1604] = "fixed-version: Fixed after version 2.6.12rc2"
+python check_kernel_cve_status_version() {
+    this_version = "6.4.14"
+    kernel_version = d.getVar("LINUX_VERSION")
+    if kernel_version != this_version:
+        bb.warn("Kernel CVE status needs updating: generated for %s but kernel is %s" % (this_version, kernel_version))
+}
+do_cve_check[prefuncs] += "check_kernel_cve_status_version"
 
-CVE_STATUS[CVE-2004-0230] = "fixed-version: Fixed after version 3.6rc1"
+CVE_STATUS[CVE-2003-1604] = "fixed-version: Fixed from version 2.6.12rc2"
+
+CVE_STATUS[CVE-2004-0230] = "fixed-version: Fixed from version 3.6rc1"
 
 # CVE-2005-3660 has no known resolution
 
-CVE_STATUS[CVE-2006-3635] = "fixed-version: Fixed after version 2.6.26rc5"
+CVE_STATUS[CVE-2006-3635] = "fixed-version: Fixed from version 2.6.26rc5"
 
-CVE_STATUS[CVE-2006-5331] = "fixed-version: Fixed after version 2.6.19rc3"
+CVE_STATUS[CVE-2006-5331] = "fixed-version: Fixed from version 2.6.19rc3"
 
-CVE_STATUS[CVE-2006-6128] = "fixed-version: Fixed after version 2.6.19rc2"
+CVE_STATUS[CVE-2006-6128] = "fixed-version: Fixed from version 2.6.19rc2"
 
 # CVE-2007-3719 has no known resolution
 
-CVE_STATUS[CVE-2007-4774] = "fixed-version: Fixed after version 2.6.12rc2"
+CVE_STATUS[CVE-2007-4774] = "fixed-version: Fixed from version 2.6.12rc2"
 
-CVE_STATUS[CVE-2007-6761] = "fixed-version: Fixed after version 2.6.24rc6"
+CVE_STATUS[CVE-2007-6761] = "fixed-version: Fixed from version 2.6.24rc6"
 
-CVE_STATUS[CVE-2007-6762] = "fixed-version: Fixed after version 2.6.20rc5"
+CVE_STATUS[CVE-2007-6762] = "fixed-version: Fixed from version 2.6.20rc5"
 
 # CVE-2008-2544 has no known resolution
 
 # CVE-2008-4609 has no known resolution
 
-CVE_STATUS[CVE-2008-7316] = "fixed-version: Fixed after version 2.6.25rc1"
+CVE_STATUS[CVE-2008-7316] = "fixed-version: Fixed from version 2.6.25rc1"
 
-CVE_STATUS[CVE-2009-2692] = "fixed-version: Fixed after version 2.6.31rc6"
+CVE_STATUS[CVE-2009-2692] = "fixed-version: Fixed from version 2.6.31rc6"
 
-CVE_STATUS[CVE-2010-0008] = "fixed-version: Fixed after version 2.6.23rc9"
+CVE_STATUS[CVE-2010-0008] = "fixed-version: Fixed from version 2.6.23rc9"
 
-CVE_STATUS[CVE-2010-3432] = "fixed-version: Fixed after version 2.6.36rc5"
+CVE_STATUS[CVE-2010-3432] = "fixed-version: Fixed from version 2.6.36rc5"
 
 # CVE-2010-4563 has no known resolution
 
-CVE_STATUS[CVE-2010-4648] = "fixed-version: Fixed after version 2.6.37rc6"
+CVE_STATUS[CVE-2010-4648] = "fixed-version: Fixed from version 2.6.37rc6"
 
-CVE_STATUS[CVE-2010-5313] = "fixed-version: Fixed after version 2.6.38rc1"
+CVE_STATUS[CVE-2010-5313] = "fixed-version: Fixed from version 2.6.38rc1"
 
 # CVE-2010-5321 has no known resolution
 
-CVE_STATUS[CVE-2010-5328] = "fixed-version: Fixed after version 2.6.35rc1"
+CVE_STATUS[CVE-2010-5328] = "fixed-version: Fixed from version 2.6.35rc1"
 
-CVE_STATUS[CVE-2010-5329] = "fixed-version: Fixed after version 2.6.39rc1"
+CVE_STATUS[CVE-2010-5329] = "fixed-version: Fixed from version 2.6.39rc1"
 
-CVE_STATUS[CVE-2010-5331] = "fixed-version: Fixed after version 2.6.34rc7"
+CVE_STATUS[CVE-2010-5331] = "fixed-version: Fixed from version 2.6.34rc7"
 
-CVE_STATUS[CVE-2010-5332] = "fixed-version: Fixed after version 2.6.37rc1"
+CVE_STATUS[CVE-2010-5332] = "fixed-version: Fixed from version 2.6.37rc1"
 
-CVE_STATUS[CVE-2011-4098] = "fixed-version: Fixed after version 3.2rc1"
+CVE_STATUS[CVE-2011-4098] = "fixed-version: Fixed from version 3.2rc1"
 
-CVE_STATUS[CVE-2011-4131] = "fixed-version: Fixed after version 3.3rc1"
+CVE_STATUS[CVE-2011-4131] = "fixed-version: Fixed from version 3.3rc1"
 
-CVE_STATUS[CVE-2011-4915] = "fixed-version: Fixed after version 3.2rc1"
+CVE_STATUS[CVE-2011-4915] = "fixed-version: Fixed from version 3.2rc1"
 
 # CVE-2011-4916 has no known resolution
 
 # CVE-2011-4917 has no known resolution
 
-CVE_STATUS[CVE-2011-5321] = "fixed-version: Fixed after version 3.2rc1"
+CVE_STATUS[CVE-2011-5321] = "fixed-version: Fixed from version 3.2rc1"
 
-CVE_STATUS[CVE-2011-5327] = "fixed-version: Fixed after version 3.1rc1"
+CVE_STATUS[CVE-2011-5327] = "fixed-version: Fixed from version 3.1rc1"
 
-CVE_STATUS[CVE-2012-0957] = "fixed-version: Fixed after version 3.7rc2"
+CVE_STATUS[CVE-2012-0957] = "fixed-version: Fixed from version 3.7rc2"
 
-CVE_STATUS[CVE-2012-2119] = "fixed-version: Fixed after version 3.5rc1"
+CVE_STATUS[CVE-2012-2119] = "fixed-version: Fixed from version 3.5rc1"
 
-CVE_STATUS[CVE-2012-2136] = "fixed-version: Fixed after version 3.5rc1"
+CVE_STATUS[CVE-2012-2136] = "fixed-version: Fixed from version 3.5rc1"
 
-CVE_STATUS[CVE-2012-2137] = "fixed-version: Fixed after version 3.5rc2"
+CVE_STATUS[CVE-2012-2137] = "fixed-version: Fixed from version 3.5rc2"
 
-CVE_STATUS[CVE-2012-2313] = "fixed-version: Fixed after version 3.4rc6"
+CVE_STATUS[CVE-2012-2313] = "fixed-version: Fixed from version 3.4rc6"
 
-CVE_STATUS[CVE-2012-2319] = "fixed-version: Fixed after version 3.4rc6"
+CVE_STATUS[CVE-2012-2319] = "fixed-version: Fixed from version 3.4rc6"
 
-CVE_STATUS[CVE-2012-2372] = "fixed-version: Fixed after version 3.13rc4"
+CVE_STATUS[CVE-2012-2372] = "fixed-version: Fixed from version 3.13rc4"
 
-CVE_STATUS[CVE-2012-2375] = "fixed-version: Fixed after version 3.4rc1"
+CVE_STATUS[CVE-2012-2375] = "fixed-version: Fixed from version 3.4rc1"
 
-CVE_STATUS[CVE-2012-2390] = "fixed-version: Fixed after version 3.5rc1"
+CVE_STATUS[CVE-2012-2390] = "fixed-version: Fixed from version 3.5rc1"
 
-CVE_STATUS[CVE-2012-2669] = "fixed-version: Fixed after version 3.5rc4"
+CVE_STATUS[CVE-2012-2669] = "fixed-version: Fixed from version 3.5rc4"
 
-CVE_STATUS[CVE-2012-2744] = "fixed-version: Fixed after version 2.6.34rc1"
+CVE_STATUS[CVE-2012-2744] = "fixed-version: Fixed from version 2.6.34rc1"
 
-CVE_STATUS[CVE-2012-2745] = "fixed-version: Fixed after version 3.4rc3"
+CVE_STATUS[CVE-2012-2745] = "fixed-version: Fixed from version 3.4rc3"
 
-CVE_STATUS[CVE-2012-3364] = "fixed-version: Fixed after version 3.5rc6"
+CVE_STATUS[CVE-2012-3364] = "fixed-version: Fixed from version 3.5rc6"
 
-CVE_STATUS[CVE-2012-3375] = "fixed-version: Fixed after version 3.4rc5"
+CVE_STATUS[CVE-2012-3375] = "fixed-version: Fixed from version 3.4rc5"
 
-CVE_STATUS[CVE-2012-3400] = "fixed-version: Fixed after version 3.5rc5"
+CVE_STATUS[CVE-2012-3400] = "fixed-version: Fixed from version 3.5rc5"
 
-CVE_STATUS[CVE-2012-3412] = "fixed-version: Fixed after version 3.6rc2"
+CVE_STATUS[CVE-2012-3412] = "fixed-version: Fixed from version 3.6rc2"
 
-CVE_STATUS[CVE-2012-3430] = "fixed-version: Fixed after version 3.6rc1"
+CVE_STATUS[CVE-2012-3430] = "fixed-version: Fixed from version 3.6rc1"
 
-CVE_STATUS[CVE-2012-3510] = "fixed-version: Fixed after version 2.6.19rc4"
+CVE_STATUS[CVE-2012-3510] = "fixed-version: Fixed from version 2.6.19rc4"
 
-CVE_STATUS[CVE-2012-3511] = "fixed-version: Fixed after version 3.5rc6"
+CVE_STATUS[CVE-2012-3511] = "fixed-version: Fixed from version 3.5rc6"
 
-CVE_STATUS[CVE-2012-3520] = "fixed-version: Fixed after version 3.6rc3"
+CVE_STATUS[CVE-2012-3520] = "fixed-version: Fixed from version 3.6rc3"
 
-CVE_STATUS[CVE-2012-3552] = "fixed-version: Fixed after version 3.0rc1"
+CVE_STATUS[CVE-2012-3552] = "fixed-version: Fixed from version 3.0rc1"
 
 # Skipping CVE-2012-4220, no affected_versions
 
@@ -111,343 +120,343 @@
 
 # Skipping CVE-2012-4222, no affected_versions
 
-CVE_STATUS[CVE-2012-4398] = "fixed-version: Fixed after version 3.4rc1"
+CVE_STATUS[CVE-2012-4398] = "fixed-version: Fixed from version 3.4rc1"
 
-CVE_STATUS[CVE-2012-4444] = "fixed-version: Fixed after version 2.6.36rc4"
+CVE_STATUS[CVE-2012-4444] = "fixed-version: Fixed from version 2.6.36rc4"
 
-CVE_STATUS[CVE-2012-4461] = "fixed-version: Fixed after version 3.7rc6"
+CVE_STATUS[CVE-2012-4461] = "fixed-version: Fixed from version 3.7rc6"
 
-CVE_STATUS[CVE-2012-4467] = "fixed-version: Fixed after version 3.6rc5"
+CVE_STATUS[CVE-2012-4467] = "fixed-version: Fixed from version 3.6rc5"
 
-CVE_STATUS[CVE-2012-4508] = "fixed-version: Fixed after version 3.7rc3"
+CVE_STATUS[CVE-2012-4508] = "fixed-version: Fixed from version 3.7rc3"
 
-CVE_STATUS[CVE-2012-4530] = "fixed-version: Fixed after version 3.8rc1"
+CVE_STATUS[CVE-2012-4530] = "fixed-version: Fixed from version 3.8rc1"
 
 # CVE-2012-4542 has no known resolution
 
-CVE_STATUS[CVE-2012-4565] = "fixed-version: Fixed after version 3.7rc4"
+CVE_STATUS[CVE-2012-4565] = "fixed-version: Fixed from version 3.7rc4"
 
-CVE_STATUS[CVE-2012-5374] = "fixed-version: Fixed after version 3.8rc1"
+CVE_STATUS[CVE-2012-5374] = "fixed-version: Fixed from version 3.8rc1"
 
-CVE_STATUS[CVE-2012-5375] = "fixed-version: Fixed after version 3.8rc1"
+CVE_STATUS[CVE-2012-5375] = "fixed-version: Fixed from version 3.8rc1"
 
-CVE_STATUS[CVE-2012-5517] = "fixed-version: Fixed after version 3.6rc1"
+CVE_STATUS[CVE-2012-5517] = "fixed-version: Fixed from version 3.6rc1"
 
-CVE_STATUS[CVE-2012-6536] = "fixed-version: Fixed after version 3.6rc7"
+CVE_STATUS[CVE-2012-6536] = "fixed-version: Fixed from version 3.6rc7"
 
-CVE_STATUS[CVE-2012-6537] = "fixed-version: Fixed after version 3.6rc7"
+CVE_STATUS[CVE-2012-6537] = "fixed-version: Fixed from version 3.6rc7"
 
-CVE_STATUS[CVE-2012-6538] = "fixed-version: Fixed after version 3.6rc7"
+CVE_STATUS[CVE-2012-6538] = "fixed-version: Fixed from version 3.6rc7"
 
-CVE_STATUS[CVE-2012-6539] = "fixed-version: Fixed after version 3.6rc3"
+CVE_STATUS[CVE-2012-6539] = "fixed-version: Fixed from version 3.6rc3"
 
-CVE_STATUS[CVE-2012-6540] = "fixed-version: Fixed after version 3.6rc3"
+CVE_STATUS[CVE-2012-6540] = "fixed-version: Fixed from version 3.6rc3"
 
-CVE_STATUS[CVE-2012-6541] = "fixed-version: Fixed after version 3.6rc3"
+CVE_STATUS[CVE-2012-6541] = "fixed-version: Fixed from version 3.6rc3"
 
-CVE_STATUS[CVE-2012-6542] = "fixed-version: Fixed after version 3.6rc3"
+CVE_STATUS[CVE-2012-6542] = "fixed-version: Fixed from version 3.6rc3"
 
-CVE_STATUS[CVE-2012-6543] = "fixed-version: Fixed after version 3.6rc3"
+CVE_STATUS[CVE-2012-6543] = "fixed-version: Fixed from version 3.6rc3"
 
-CVE_STATUS[CVE-2012-6544] = "fixed-version: Fixed after version 3.6rc3"
+CVE_STATUS[CVE-2012-6544] = "fixed-version: Fixed from version 3.6rc3"
 
-CVE_STATUS[CVE-2012-6545] = "fixed-version: Fixed after version 3.6rc3"
+CVE_STATUS[CVE-2012-6545] = "fixed-version: Fixed from version 3.6rc3"
 
-CVE_STATUS[CVE-2012-6546] = "fixed-version: Fixed after version 3.6rc3"
+CVE_STATUS[CVE-2012-6546] = "fixed-version: Fixed from version 3.6rc3"
 
-CVE_STATUS[CVE-2012-6547] = "fixed-version: Fixed after version 3.6rc1"
+CVE_STATUS[CVE-2012-6547] = "fixed-version: Fixed from version 3.6rc1"
 
-CVE_STATUS[CVE-2012-6548] = "fixed-version: Fixed after version 3.6rc1"
+CVE_STATUS[CVE-2012-6548] = "fixed-version: Fixed from version 3.6rc1"
 
-CVE_STATUS[CVE-2012-6549] = "fixed-version: Fixed after version 3.6rc1"
+CVE_STATUS[CVE-2012-6549] = "fixed-version: Fixed from version 3.6rc1"
 
-CVE_STATUS[CVE-2012-6638] = "fixed-version: Fixed after version 3.3rc1"
+CVE_STATUS[CVE-2012-6638] = "fixed-version: Fixed from version 3.3rc1"
 
-CVE_STATUS[CVE-2012-6647] = "fixed-version: Fixed after version 3.6rc2"
+CVE_STATUS[CVE-2012-6647] = "fixed-version: Fixed from version 3.6rc2"
 
-CVE_STATUS[CVE-2012-6657] = "fixed-version: Fixed after version 3.6"
+CVE_STATUS[CVE-2012-6657] = "fixed-version: Fixed from version 3.6"
 
-CVE_STATUS[CVE-2012-6689] = "fixed-version: Fixed after version 3.6rc5"
+CVE_STATUS[CVE-2012-6689] = "fixed-version: Fixed from version 3.6rc5"
 
-CVE_STATUS[CVE-2012-6701] = "fixed-version: Fixed after version 3.5rc1"
+CVE_STATUS[CVE-2012-6701] = "fixed-version: Fixed from version 3.5rc1"
 
-CVE_STATUS[CVE-2012-6703] = "fixed-version: Fixed after version 3.7rc1"
+CVE_STATUS[CVE-2012-6703] = "fixed-version: Fixed from version 3.7rc1"
 
-CVE_STATUS[CVE-2012-6704] = "fixed-version: Fixed after version 3.5rc1"
+CVE_STATUS[CVE-2012-6704] = "fixed-version: Fixed from version 3.5rc1"
 
-CVE_STATUS[CVE-2012-6712] = "fixed-version: Fixed after version 3.4rc1"
+CVE_STATUS[CVE-2012-6712] = "fixed-version: Fixed from version 3.4rc1"
 
-CVE_STATUS[CVE-2013-0160] = "fixed-version: Fixed after version 3.9rc1"
+CVE_STATUS[CVE-2013-0160] = "fixed-version: Fixed from version 3.9rc1"
 
-CVE_STATUS[CVE-2013-0190] = "fixed-version: Fixed after version 3.8rc5"
+CVE_STATUS[CVE-2013-0190] = "fixed-version: Fixed from version 3.8rc5"
 
-CVE_STATUS[CVE-2013-0216] = "fixed-version: Fixed after version 3.8rc7"
+CVE_STATUS[CVE-2013-0216] = "fixed-version: Fixed from version 3.8rc7"
 
-CVE_STATUS[CVE-2013-0217] = "fixed-version: Fixed after version 3.8rc7"
+CVE_STATUS[CVE-2013-0217] = "fixed-version: Fixed from version 3.8rc7"
 
-CVE_STATUS[CVE-2013-0228] = "fixed-version: Fixed after version 3.8"
+CVE_STATUS[CVE-2013-0228] = "fixed-version: Fixed from version 3.8"
 
-CVE_STATUS[CVE-2013-0231] = "fixed-version: Fixed after version 3.8rc7"
+CVE_STATUS[CVE-2013-0231] = "fixed-version: Fixed from version 3.8rc7"
 
-CVE_STATUS[CVE-2013-0268] = "fixed-version: Fixed after version 3.8rc6"
+CVE_STATUS[CVE-2013-0268] = "fixed-version: Fixed from version 3.8rc6"
 
-CVE_STATUS[CVE-2013-0290] = "fixed-version: Fixed after version 3.8"
+CVE_STATUS[CVE-2013-0290] = "fixed-version: Fixed from version 3.8"
 
-CVE_STATUS[CVE-2013-0309] = "fixed-version: Fixed after version 3.7rc1"
+CVE_STATUS[CVE-2013-0309] = "fixed-version: Fixed from version 3.7rc1"
 
-CVE_STATUS[CVE-2013-0310] = "fixed-version: Fixed after version 3.5"
+CVE_STATUS[CVE-2013-0310] = "fixed-version: Fixed from version 3.5"
 
-CVE_STATUS[CVE-2013-0311] = "fixed-version: Fixed after version 3.7rc8"
+CVE_STATUS[CVE-2013-0311] = "fixed-version: Fixed from version 3.7rc8"
 
-CVE_STATUS[CVE-2013-0313] = "fixed-version: Fixed after version 3.8rc5"
+CVE_STATUS[CVE-2013-0313] = "fixed-version: Fixed from version 3.8rc5"
 
-CVE_STATUS[CVE-2013-0343] = "fixed-version: Fixed after version 3.11rc7"
+CVE_STATUS[CVE-2013-0343] = "fixed-version: Fixed from version 3.11rc7"
 
-CVE_STATUS[CVE-2013-0349] = "fixed-version: Fixed after version 3.8rc6"
+CVE_STATUS[CVE-2013-0349] = "fixed-version: Fixed from version 3.8rc6"
 
-CVE_STATUS[CVE-2013-0871] = "fixed-version: Fixed after version 3.8rc5"
+CVE_STATUS[CVE-2013-0871] = "fixed-version: Fixed from version 3.8rc5"
 
-CVE_STATUS[CVE-2013-0913] = "fixed-version: Fixed after version 3.9rc4"
+CVE_STATUS[CVE-2013-0913] = "fixed-version: Fixed from version 3.9rc4"
 
-CVE_STATUS[CVE-2013-0914] = "fixed-version: Fixed after version 3.9rc3"
+CVE_STATUS[CVE-2013-0914] = "fixed-version: Fixed from version 3.9rc3"
 
-CVE_STATUS[CVE-2013-1059] = "fixed-version: Fixed after version 3.11rc1"
+CVE_STATUS[CVE-2013-1059] = "fixed-version: Fixed from version 3.11rc1"
 
-CVE_STATUS[CVE-2013-1763] = "fixed-version: Fixed after version 3.9rc1"
+CVE_STATUS[CVE-2013-1763] = "fixed-version: Fixed from version 3.9rc1"
 
-CVE_STATUS[CVE-2013-1767] = "fixed-version: Fixed after version 3.9rc1"
+CVE_STATUS[CVE-2013-1767] = "fixed-version: Fixed from version 3.9rc1"
 
-CVE_STATUS[CVE-2013-1772] = "fixed-version: Fixed after version 3.5rc1"
+CVE_STATUS[CVE-2013-1772] = "fixed-version: Fixed from version 3.5rc1"
 
-CVE_STATUS[CVE-2013-1773] = "fixed-version: Fixed after version 3.3rc1"
+CVE_STATUS[CVE-2013-1773] = "fixed-version: Fixed from version 3.3rc1"
 
-CVE_STATUS[CVE-2013-1774] = "fixed-version: Fixed after version 3.8rc5"
+CVE_STATUS[CVE-2013-1774] = "fixed-version: Fixed from version 3.8rc5"
 
-CVE_STATUS[CVE-2013-1792] = "fixed-version: Fixed after version 3.9rc3"
+CVE_STATUS[CVE-2013-1792] = "fixed-version: Fixed from version 3.9rc3"
 
-CVE_STATUS[CVE-2013-1796] = "fixed-version: Fixed after version 3.9rc4"
+CVE_STATUS[CVE-2013-1796] = "fixed-version: Fixed from version 3.9rc4"
 
-CVE_STATUS[CVE-2013-1797] = "fixed-version: Fixed after version 3.9rc4"
+CVE_STATUS[CVE-2013-1797] = "fixed-version: Fixed from version 3.9rc4"
 
-CVE_STATUS[CVE-2013-1798] = "fixed-version: Fixed after version 3.9rc4"
+CVE_STATUS[CVE-2013-1798] = "fixed-version: Fixed from version 3.9rc4"
 
-CVE_STATUS[CVE-2013-1819] = "fixed-version: Fixed after version 3.8rc6"
+CVE_STATUS[CVE-2013-1819] = "fixed-version: Fixed from version 3.8rc6"
 
-CVE_STATUS[CVE-2013-1826] = "fixed-version: Fixed after version 3.6rc7"
+CVE_STATUS[CVE-2013-1826] = "fixed-version: Fixed from version 3.6rc7"
 
-CVE_STATUS[CVE-2013-1827] = "fixed-version: Fixed after version 3.6rc3"
+CVE_STATUS[CVE-2013-1827] = "fixed-version: Fixed from version 3.6rc3"
 
-CVE_STATUS[CVE-2013-1828] = "fixed-version: Fixed after version 3.9rc2"
+CVE_STATUS[CVE-2013-1828] = "fixed-version: Fixed from version 3.9rc2"
 
-CVE_STATUS[CVE-2013-1848] = "fixed-version: Fixed after version 3.9rc3"
+CVE_STATUS[CVE-2013-1848] = "fixed-version: Fixed from version 3.9rc3"
 
-CVE_STATUS[CVE-2013-1858] = "fixed-version: Fixed after version 3.9rc3"
+CVE_STATUS[CVE-2013-1858] = "fixed-version: Fixed from version 3.9rc3"
 
-CVE_STATUS[CVE-2013-1860] = "fixed-version: Fixed after version 3.9rc3"
+CVE_STATUS[CVE-2013-1860] = "fixed-version: Fixed from version 3.9rc3"
 
-CVE_STATUS[CVE-2013-1928] = "fixed-version: Fixed after version 3.7rc3"
+CVE_STATUS[CVE-2013-1928] = "fixed-version: Fixed from version 3.7rc3"
 
-CVE_STATUS[CVE-2013-1929] = "fixed-version: Fixed after version 3.9rc6"
+CVE_STATUS[CVE-2013-1929] = "fixed-version: Fixed from version 3.9rc6"
 
 # Skipping CVE-2013-1935, no affected_versions
 
-CVE_STATUS[CVE-2013-1943] = "fixed-version: Fixed after version 3.0rc1"
+CVE_STATUS[CVE-2013-1943] = "fixed-version: Fixed from version 3.0rc1"
 
-CVE_STATUS[CVE-2013-1956] = "fixed-version: Fixed after version 3.9rc5"
+CVE_STATUS[CVE-2013-1956] = "fixed-version: Fixed from version 3.9rc5"
 
-CVE_STATUS[CVE-2013-1957] = "fixed-version: Fixed after version 3.9rc5"
+CVE_STATUS[CVE-2013-1957] = "fixed-version: Fixed from version 3.9rc5"
 
-CVE_STATUS[CVE-2013-1958] = "fixed-version: Fixed after version 3.9rc5"
+CVE_STATUS[CVE-2013-1958] = "fixed-version: Fixed from version 3.9rc5"
 
-CVE_STATUS[CVE-2013-1959] = "fixed-version: Fixed after version 3.9rc7"
+CVE_STATUS[CVE-2013-1959] = "fixed-version: Fixed from version 3.9rc7"
 
-CVE_STATUS[CVE-2013-1979] = "fixed-version: Fixed after version 3.9rc8"
+CVE_STATUS[CVE-2013-1979] = "fixed-version: Fixed from version 3.9rc8"
 
-CVE_STATUS[CVE-2013-2015] = "fixed-version: Fixed after version 3.8rc2"
+CVE_STATUS[CVE-2013-2015] = "fixed-version: Fixed from version 3.8rc2"
 
-CVE_STATUS[CVE-2013-2017] = "fixed-version: Fixed after version 2.6.34"
+CVE_STATUS[CVE-2013-2017] = "fixed-version: Fixed from version 2.6.34"
 
-CVE_STATUS[CVE-2013-2058] = "fixed-version: Fixed after version 3.8rc4"
+CVE_STATUS[CVE-2013-2058] = "fixed-version: Fixed from version 3.8rc4"
 
-CVE_STATUS[CVE-2013-2094] = "fixed-version: Fixed after version 3.9rc8"
+CVE_STATUS[CVE-2013-2094] = "fixed-version: Fixed from version 3.9rc8"
 
-CVE_STATUS[CVE-2013-2128] = "fixed-version: Fixed after version 2.6.34rc4"
+CVE_STATUS[CVE-2013-2128] = "fixed-version: Fixed from version 2.6.34rc4"
 
-CVE_STATUS[CVE-2013-2140] = "fixed-version: Fixed after version 3.11rc3"
+CVE_STATUS[CVE-2013-2140] = "fixed-version: Fixed from version 3.11rc3"
 
-CVE_STATUS[CVE-2013-2141] = "fixed-version: Fixed after version 3.9rc8"
+CVE_STATUS[CVE-2013-2141] = "fixed-version: Fixed from version 3.9rc8"
 
-CVE_STATUS[CVE-2013-2146] = "fixed-version: Fixed after version 3.9rc8"
+CVE_STATUS[CVE-2013-2146] = "fixed-version: Fixed from version 3.9rc8"
 
-CVE_STATUS[CVE-2013-2147] = "fixed-version: Fixed after version 3.12rc3"
+CVE_STATUS[CVE-2013-2147] = "fixed-version: Fixed from version 3.12rc3"
 
-CVE_STATUS[CVE-2013-2148] = "fixed-version: Fixed after version 3.11rc1"
+CVE_STATUS[CVE-2013-2148] = "fixed-version: Fixed from version 3.11rc1"
 
-CVE_STATUS[CVE-2013-2164] = "fixed-version: Fixed after version 3.11rc1"
+CVE_STATUS[CVE-2013-2164] = "fixed-version: Fixed from version 3.11rc1"
 
 # Skipping CVE-2013-2188, no affected_versions
 
-CVE_STATUS[CVE-2013-2206] = "fixed-version: Fixed after version 3.9rc4"
+CVE_STATUS[CVE-2013-2206] = "fixed-version: Fixed from version 3.9rc4"
 
 # Skipping CVE-2013-2224, no affected_versions
 
-CVE_STATUS[CVE-2013-2232] = "fixed-version: Fixed after version 3.10"
+CVE_STATUS[CVE-2013-2232] = "fixed-version: Fixed from version 3.10"
 
-CVE_STATUS[CVE-2013-2234] = "fixed-version: Fixed after version 3.10"
+CVE_STATUS[CVE-2013-2234] = "fixed-version: Fixed from version 3.10"
 
-CVE_STATUS[CVE-2013-2237] = "fixed-version: Fixed after version 3.9rc6"
+CVE_STATUS[CVE-2013-2237] = "fixed-version: Fixed from version 3.9rc6"
 
 # Skipping CVE-2013-2239, no affected_versions
 
-CVE_STATUS[CVE-2013-2546] = "fixed-version: Fixed after version 3.9rc1"
+CVE_STATUS[CVE-2013-2546] = "fixed-version: Fixed from version 3.9rc1"
 
-CVE_STATUS[CVE-2013-2547] = "fixed-version: Fixed after version 3.9rc1"
+CVE_STATUS[CVE-2013-2547] = "fixed-version: Fixed from version 3.9rc1"
 
-CVE_STATUS[CVE-2013-2548] = "fixed-version: Fixed after version 3.9rc1"
+CVE_STATUS[CVE-2013-2548] = "fixed-version: Fixed from version 3.9rc1"
 
-CVE_STATUS[CVE-2013-2596] = "fixed-version: Fixed after version 3.9rc8"
+CVE_STATUS[CVE-2013-2596] = "fixed-version: Fixed from version 3.9rc8"
 
-CVE_STATUS[CVE-2013-2634] = "fixed-version: Fixed after version 3.9rc3"
+CVE_STATUS[CVE-2013-2634] = "fixed-version: Fixed from version 3.9rc3"
 
-CVE_STATUS[CVE-2013-2635] = "fixed-version: Fixed after version 3.9rc3"
+CVE_STATUS[CVE-2013-2635] = "fixed-version: Fixed from version 3.9rc3"
 
-CVE_STATUS[CVE-2013-2636] = "fixed-version: Fixed after version 3.9rc3"
+CVE_STATUS[CVE-2013-2636] = "fixed-version: Fixed from version 3.9rc3"
 
-CVE_STATUS[CVE-2013-2850] = "fixed-version: Fixed after version 3.10rc4"
+CVE_STATUS[CVE-2013-2850] = "fixed-version: Fixed from version 3.10rc4"
 
-CVE_STATUS[CVE-2013-2851] = "fixed-version: Fixed after version 3.11rc1"
+CVE_STATUS[CVE-2013-2851] = "fixed-version: Fixed from version 3.11rc1"
 
-CVE_STATUS[CVE-2013-2852] = "fixed-version: Fixed after version 3.10rc6"
+CVE_STATUS[CVE-2013-2852] = "fixed-version: Fixed from version 3.10rc6"
 
-CVE_STATUS[CVE-2013-2888] = "fixed-version: Fixed after version 3.12rc1"
+CVE_STATUS[CVE-2013-2888] = "fixed-version: Fixed from version 3.12rc1"
 
-CVE_STATUS[CVE-2013-2889] = "fixed-version: Fixed after version 3.12rc2"
+CVE_STATUS[CVE-2013-2889] = "fixed-version: Fixed from version 3.12rc2"
 
-CVE_STATUS[CVE-2013-2890] = "fixed-version: Fixed after version 3.12rc2"
+CVE_STATUS[CVE-2013-2890] = "fixed-version: Fixed from version 3.12rc2"
 
-CVE_STATUS[CVE-2013-2891] = "fixed-version: Fixed after version 3.12rc2"
+CVE_STATUS[CVE-2013-2891] = "fixed-version: Fixed from version 3.12rc2"
 
-CVE_STATUS[CVE-2013-2892] = "fixed-version: Fixed after version 3.12rc1"
+CVE_STATUS[CVE-2013-2892] = "fixed-version: Fixed from version 3.12rc1"
 
-CVE_STATUS[CVE-2013-2893] = "fixed-version: Fixed after version 3.12rc2"
+CVE_STATUS[CVE-2013-2893] = "fixed-version: Fixed from version 3.12rc2"
 
-CVE_STATUS[CVE-2013-2894] = "fixed-version: Fixed after version 3.12rc2"
+CVE_STATUS[CVE-2013-2894] = "fixed-version: Fixed from version 3.12rc2"
 
-CVE_STATUS[CVE-2013-2895] = "fixed-version: Fixed after version 3.12rc2"
+CVE_STATUS[CVE-2013-2895] = "fixed-version: Fixed from version 3.12rc2"
 
-CVE_STATUS[CVE-2013-2896] = "fixed-version: Fixed after version 3.12rc1"
+CVE_STATUS[CVE-2013-2896] = "fixed-version: Fixed from version 3.12rc1"
 
-CVE_STATUS[CVE-2013-2897] = "fixed-version: Fixed after version 3.12rc2"
+CVE_STATUS[CVE-2013-2897] = "fixed-version: Fixed from version 3.12rc2"
 
-CVE_STATUS[CVE-2013-2898] = "fixed-version: Fixed after version 3.12rc1"
+CVE_STATUS[CVE-2013-2898] = "fixed-version: Fixed from version 3.12rc1"
 
-CVE_STATUS[CVE-2013-2899] = "fixed-version: Fixed after version 3.12rc1"
+CVE_STATUS[CVE-2013-2899] = "fixed-version: Fixed from version 3.12rc1"
 
-CVE_STATUS[CVE-2013-2929] = "fixed-version: Fixed after version 3.13rc1"
+CVE_STATUS[CVE-2013-2929] = "fixed-version: Fixed from version 3.13rc1"
 
-CVE_STATUS[CVE-2013-2930] = "fixed-version: Fixed after version 3.13rc1"
+CVE_STATUS[CVE-2013-2930] = "fixed-version: Fixed from version 3.13rc1"
 
-CVE_STATUS[CVE-2013-3076] = "fixed-version: Fixed after version 3.9"
+CVE_STATUS[CVE-2013-3076] = "fixed-version: Fixed from version 3.9"
 
-CVE_STATUS[CVE-2013-3222] = "fixed-version: Fixed after version 3.9rc7"
+CVE_STATUS[CVE-2013-3222] = "fixed-version: Fixed from version 3.9rc7"
 
-CVE_STATUS[CVE-2013-3223] = "fixed-version: Fixed after version 3.9rc7"
+CVE_STATUS[CVE-2013-3223] = "fixed-version: Fixed from version 3.9rc7"
 
-CVE_STATUS[CVE-2013-3224] = "fixed-version: Fixed after version 3.9rc7"
+CVE_STATUS[CVE-2013-3224] = "fixed-version: Fixed from version 3.9rc7"
 
-CVE_STATUS[CVE-2013-3225] = "fixed-version: Fixed after version 3.9rc7"
+CVE_STATUS[CVE-2013-3225] = "fixed-version: Fixed from version 3.9rc7"
 
-CVE_STATUS[CVE-2013-3226] = "fixed-version: Fixed after version 3.9rc7"
+CVE_STATUS[CVE-2013-3226] = "fixed-version: Fixed from version 3.9rc7"
 
-CVE_STATUS[CVE-2013-3227] = "fixed-version: Fixed after version 3.9rc7"
+CVE_STATUS[CVE-2013-3227] = "fixed-version: Fixed from version 3.9rc7"
 
-CVE_STATUS[CVE-2013-3228] = "fixed-version: Fixed after version 3.9rc7"
+CVE_STATUS[CVE-2013-3228] = "fixed-version: Fixed from version 3.9rc7"
 
-CVE_STATUS[CVE-2013-3229] = "fixed-version: Fixed after version 3.9rc7"
+CVE_STATUS[CVE-2013-3229] = "fixed-version: Fixed from version 3.9rc7"
 
-CVE_STATUS[CVE-2013-3230] = "fixed-version: Fixed after version 3.9rc7"
+CVE_STATUS[CVE-2013-3230] = "fixed-version: Fixed from version 3.9rc7"
 
-CVE_STATUS[CVE-2013-3231] = "fixed-version: Fixed after version 3.9rc7"
+CVE_STATUS[CVE-2013-3231] = "fixed-version: Fixed from version 3.9rc7"
 
-CVE_STATUS[CVE-2013-3232] = "fixed-version: Fixed after version 3.9rc7"
+CVE_STATUS[CVE-2013-3232] = "fixed-version: Fixed from version 3.9rc7"
 
-CVE_STATUS[CVE-2013-3233] = "fixed-version: Fixed after version 3.9rc7"
+CVE_STATUS[CVE-2013-3233] = "fixed-version: Fixed from version 3.9rc7"
 
-CVE_STATUS[CVE-2013-3234] = "fixed-version: Fixed after version 3.9rc7"
+CVE_STATUS[CVE-2013-3234] = "fixed-version: Fixed from version 3.9rc7"
 
-CVE_STATUS[CVE-2013-3235] = "fixed-version: Fixed after version 3.9rc7"
+CVE_STATUS[CVE-2013-3235] = "fixed-version: Fixed from version 3.9rc7"
 
-CVE_STATUS[CVE-2013-3236] = "fixed-version: Fixed after version 3.9rc7"
+CVE_STATUS[CVE-2013-3236] = "fixed-version: Fixed from version 3.9rc7"
 
-CVE_STATUS[CVE-2013-3237] = "fixed-version: Fixed after version 3.9rc7"
+CVE_STATUS[CVE-2013-3237] = "fixed-version: Fixed from version 3.9rc7"
 
-CVE_STATUS[CVE-2013-3301] = "fixed-version: Fixed after version 3.9rc7"
+CVE_STATUS[CVE-2013-3301] = "fixed-version: Fixed from version 3.9rc7"
 
-CVE_STATUS[CVE-2013-3302] = "fixed-version: Fixed after version 3.8rc3"
+CVE_STATUS[CVE-2013-3302] = "fixed-version: Fixed from version 3.8rc3"
 
-CVE_STATUS[CVE-2013-4125] = "fixed-version: Fixed after version 3.11rc1"
+CVE_STATUS[CVE-2013-4125] = "fixed-version: Fixed from version 3.11rc1"
 
-CVE_STATUS[CVE-2013-4127] = "fixed-version: Fixed after version 3.11rc1"
+CVE_STATUS[CVE-2013-4127] = "fixed-version: Fixed from version 3.11rc1"
 
-CVE_STATUS[CVE-2013-4129] = "fixed-version: Fixed after version 3.11rc1"
+CVE_STATUS[CVE-2013-4129] = "fixed-version: Fixed from version 3.11rc1"
 
-CVE_STATUS[CVE-2013-4162] = "fixed-version: Fixed after version 3.11rc1"
+CVE_STATUS[CVE-2013-4162] = "fixed-version: Fixed from version 3.11rc1"
 
-CVE_STATUS[CVE-2013-4163] = "fixed-version: Fixed after version 3.11rc1"
+CVE_STATUS[CVE-2013-4163] = "fixed-version: Fixed from version 3.11rc1"
 
-CVE_STATUS[CVE-2013-4205] = "fixed-version: Fixed after version 3.11rc5"
+CVE_STATUS[CVE-2013-4205] = "fixed-version: Fixed from version 3.11rc5"
 
-CVE_STATUS[CVE-2013-4220] = "fixed-version: Fixed after version 3.10rc4"
+CVE_STATUS[CVE-2013-4220] = "fixed-version: Fixed from version 3.10rc4"
 
-CVE_STATUS[CVE-2013-4247] = "fixed-version: Fixed after version 3.10rc5"
+CVE_STATUS[CVE-2013-4247] = "fixed-version: Fixed from version 3.10rc5"
 
-CVE_STATUS[CVE-2013-4254] = "fixed-version: Fixed after version 3.11rc6"
+CVE_STATUS[CVE-2013-4254] = "fixed-version: Fixed from version 3.11rc6"
 
-CVE_STATUS[CVE-2013-4270] = "fixed-version: Fixed after version 3.12rc4"
+CVE_STATUS[CVE-2013-4270] = "fixed-version: Fixed from version 3.12rc4"
 
-CVE_STATUS[CVE-2013-4299] = "fixed-version: Fixed after version 3.12rc6"
+CVE_STATUS[CVE-2013-4299] = "fixed-version: Fixed from version 3.12rc6"
 
-CVE_STATUS[CVE-2013-4300] = "fixed-version: Fixed after version 3.11"
+CVE_STATUS[CVE-2013-4300] = "fixed-version: Fixed from version 3.11"
 
-CVE_STATUS[CVE-2013-4312] = "fixed-version: Fixed after version 4.5rc1"
+CVE_STATUS[CVE-2013-4312] = "fixed-version: Fixed from version 4.5rc1"
 
-CVE_STATUS[CVE-2013-4343] = "fixed-version: Fixed after version 3.12rc2"
+CVE_STATUS[CVE-2013-4343] = "fixed-version: Fixed from version 3.12rc2"
 
-CVE_STATUS[CVE-2013-4345] = "fixed-version: Fixed after version 3.13rc2"
+CVE_STATUS[CVE-2013-4345] = "fixed-version: Fixed from version 3.13rc2"
 
-CVE_STATUS[CVE-2013-4348] = "fixed-version: Fixed after version 3.13rc1"
+CVE_STATUS[CVE-2013-4348] = "fixed-version: Fixed from version 3.13rc1"
 
-CVE_STATUS[CVE-2013-4350] = "fixed-version: Fixed after version 3.12rc2"
+CVE_STATUS[CVE-2013-4350] = "fixed-version: Fixed from version 3.12rc2"
 
-CVE_STATUS[CVE-2013-4387] = "fixed-version: Fixed after version 3.12rc4"
+CVE_STATUS[CVE-2013-4387] = "fixed-version: Fixed from version 3.12rc4"
 
-CVE_STATUS[CVE-2013-4470] = "fixed-version: Fixed after version 3.12rc7"
+CVE_STATUS[CVE-2013-4470] = "fixed-version: Fixed from version 3.12rc7"
 
-CVE_STATUS[CVE-2013-4483] = "fixed-version: Fixed after version 3.10rc1"
+CVE_STATUS[CVE-2013-4483] = "fixed-version: Fixed from version 3.10rc1"
 
-CVE_STATUS[CVE-2013-4511] = "fixed-version: Fixed after version 3.12"
+CVE_STATUS[CVE-2013-4511] = "fixed-version: Fixed from version 3.12"
 
-CVE_STATUS[CVE-2013-4512] = "fixed-version: Fixed after version 3.12"
+CVE_STATUS[CVE-2013-4512] = "fixed-version: Fixed from version 3.12"
 
-CVE_STATUS[CVE-2013-4513] = "fixed-version: Fixed after version 3.12"
+CVE_STATUS[CVE-2013-4513] = "fixed-version: Fixed from version 3.12"
 
-CVE_STATUS[CVE-2013-4514] = "fixed-version: Fixed after version 3.12"
+CVE_STATUS[CVE-2013-4514] = "fixed-version: Fixed from version 3.12"
 
-CVE_STATUS[CVE-2013-4515] = "fixed-version: Fixed after version 3.12"
+CVE_STATUS[CVE-2013-4515] = "fixed-version: Fixed from version 3.12"
 
-CVE_STATUS[CVE-2013-4516] = "fixed-version: Fixed after version 3.12"
+CVE_STATUS[CVE-2013-4516] = "fixed-version: Fixed from version 3.12"
 
-CVE_STATUS[CVE-2013-4563] = "fixed-version: Fixed after version 3.13rc1"
+CVE_STATUS[CVE-2013-4563] = "fixed-version: Fixed from version 3.13rc1"
 
-CVE_STATUS[CVE-2013-4579] = "fixed-version: Fixed after version 3.13rc7"
+CVE_STATUS[CVE-2013-4579] = "fixed-version: Fixed from version 3.13rc7"
 
-CVE_STATUS[CVE-2013-4587] = "fixed-version: Fixed after version 3.13rc4"
+CVE_STATUS[CVE-2013-4587] = "fixed-version: Fixed from version 3.13rc4"
 
-CVE_STATUS[CVE-2013-4588] = "fixed-version: Fixed after version 2.6.33rc4"
+CVE_STATUS[CVE-2013-4588] = "fixed-version: Fixed from version 2.6.33rc4"
 
-CVE_STATUS[CVE-2013-4591] = "fixed-version: Fixed after version 3.8rc1"
+CVE_STATUS[CVE-2013-4591] = "fixed-version: Fixed from version 3.8rc1"
 
-CVE_STATUS[CVE-2013-4592] = "fixed-version: Fixed after version 3.7rc1"
+CVE_STATUS[CVE-2013-4592] = "fixed-version: Fixed from version 3.7rc1"
 
 # Skipping CVE-2013-4737, no affected_versions
 
@@ -455,345 +464,345 @@
 
 # Skipping CVE-2013-4739, no affected_versions
 
-CVE_STATUS[CVE-2013-5634] = "fixed-version: Fixed after version 3.10rc5"
+CVE_STATUS[CVE-2013-5634] = "fixed-version: Fixed from version 3.10rc5"
 
-CVE_STATUS[CVE-2013-6282] = "fixed-version: Fixed after version 3.6rc6"
+CVE_STATUS[CVE-2013-6282] = "fixed-version: Fixed from version 3.6rc6"
 
-CVE_STATUS[CVE-2013-6367] = "fixed-version: Fixed after version 3.13rc4"
+CVE_STATUS[CVE-2013-6367] = "fixed-version: Fixed from version 3.13rc4"
 
-CVE_STATUS[CVE-2013-6368] = "fixed-version: Fixed after version 3.13rc4"
+CVE_STATUS[CVE-2013-6368] = "fixed-version: Fixed from version 3.13rc4"
 
-CVE_STATUS[CVE-2013-6376] = "fixed-version: Fixed after version 3.13rc4"
+CVE_STATUS[CVE-2013-6376] = "fixed-version: Fixed from version 3.13rc4"
 
-CVE_STATUS[CVE-2013-6378] = "fixed-version: Fixed after version 3.13rc1"
+CVE_STATUS[CVE-2013-6378] = "fixed-version: Fixed from version 3.13rc1"
 
-CVE_STATUS[CVE-2013-6380] = "fixed-version: Fixed after version 3.13rc1"
+CVE_STATUS[CVE-2013-6380] = "fixed-version: Fixed from version 3.13rc1"
 
-CVE_STATUS[CVE-2013-6381] = "fixed-version: Fixed after version 3.13rc1"
+CVE_STATUS[CVE-2013-6381] = "fixed-version: Fixed from version 3.13rc1"
 
-CVE_STATUS[CVE-2013-6382] = "fixed-version: Fixed after version 3.13rc4"
+CVE_STATUS[CVE-2013-6382] = "fixed-version: Fixed from version 3.13rc4"
 
-CVE_STATUS[CVE-2013-6383] = "fixed-version: Fixed after version 3.12"
+CVE_STATUS[CVE-2013-6383] = "fixed-version: Fixed from version 3.12"
 
 # Skipping CVE-2013-6392, no affected_versions
 
-CVE_STATUS[CVE-2013-6431] = "fixed-version: Fixed after version 3.12rc1"
+CVE_STATUS[CVE-2013-6431] = "fixed-version: Fixed from version 3.12rc1"
 
-CVE_STATUS[CVE-2013-6432] = "fixed-version: Fixed after version 3.13rc1"
+CVE_STATUS[CVE-2013-6432] = "fixed-version: Fixed from version 3.13rc1"
 
-CVE_STATUS[CVE-2013-6885] = "fixed-version: Fixed after version 3.14rc1"
+CVE_STATUS[CVE-2013-6885] = "fixed-version: Fixed from version 3.14rc1"
 
-CVE_STATUS[CVE-2013-7026] = "fixed-version: Fixed after version 3.13rc1"
+CVE_STATUS[CVE-2013-7026] = "fixed-version: Fixed from version 3.13rc1"
 
-CVE_STATUS[CVE-2013-7027] = "fixed-version: Fixed after version 3.12rc7"
+CVE_STATUS[CVE-2013-7027] = "fixed-version: Fixed from version 3.12rc7"
 
-CVE_STATUS[CVE-2013-7263] = "fixed-version: Fixed after version 3.13rc1"
+CVE_STATUS[CVE-2013-7263] = "fixed-version: Fixed from version 3.13rc1"
 
-CVE_STATUS[CVE-2013-7264] = "fixed-version: Fixed after version 3.13rc1"
+CVE_STATUS[CVE-2013-7264] = "fixed-version: Fixed from version 3.13rc1"
 
-CVE_STATUS[CVE-2013-7265] = "fixed-version: Fixed after version 3.13rc1"
+CVE_STATUS[CVE-2013-7265] = "fixed-version: Fixed from version 3.13rc1"
 
-CVE_STATUS[CVE-2013-7266] = "fixed-version: Fixed after version 3.13rc1"
+CVE_STATUS[CVE-2013-7266] = "fixed-version: Fixed from version 3.13rc1"
 
-CVE_STATUS[CVE-2013-7267] = "fixed-version: Fixed after version 3.13rc1"
+CVE_STATUS[CVE-2013-7267] = "fixed-version: Fixed from version 3.13rc1"
 
-CVE_STATUS[CVE-2013-7268] = "fixed-version: Fixed after version 3.13rc1"
+CVE_STATUS[CVE-2013-7268] = "fixed-version: Fixed from version 3.13rc1"
 
-CVE_STATUS[CVE-2013-7269] = "fixed-version: Fixed after version 3.13rc1"
+CVE_STATUS[CVE-2013-7269] = "fixed-version: Fixed from version 3.13rc1"
 
-CVE_STATUS[CVE-2013-7270] = "fixed-version: Fixed after version 3.13rc1"
+CVE_STATUS[CVE-2013-7270] = "fixed-version: Fixed from version 3.13rc1"
 
-CVE_STATUS[CVE-2013-7271] = "fixed-version: Fixed after version 3.13rc1"
+CVE_STATUS[CVE-2013-7271] = "fixed-version: Fixed from version 3.13rc1"
 
-CVE_STATUS[CVE-2013-7281] = "fixed-version: Fixed after version 3.13rc1"
+CVE_STATUS[CVE-2013-7281] = "fixed-version: Fixed from version 3.13rc1"
 
-CVE_STATUS[CVE-2013-7339] = "fixed-version: Fixed after version 3.13rc7"
+CVE_STATUS[CVE-2013-7339] = "fixed-version: Fixed from version 3.13rc7"
 
-CVE_STATUS[CVE-2013-7348] = "fixed-version: Fixed after version 3.13rc1"
+CVE_STATUS[CVE-2013-7348] = "fixed-version: Fixed from version 3.13rc1"
 
-CVE_STATUS[CVE-2013-7421] = "fixed-version: Fixed after version 3.19rc1"
+CVE_STATUS[CVE-2013-7421] = "fixed-version: Fixed from version 3.19rc1"
 
 # CVE-2013-7445 has no known resolution
 
-CVE_STATUS[CVE-2013-7446] = "fixed-version: Fixed after version 4.4rc4"
+CVE_STATUS[CVE-2013-7446] = "fixed-version: Fixed from version 4.4rc4"
 
-CVE_STATUS[CVE-2013-7470] = "fixed-version: Fixed after version 3.12rc7"
+CVE_STATUS[CVE-2013-7470] = "fixed-version: Fixed from version 3.12rc7"
 
-CVE_STATUS[CVE-2014-0038] = "fixed-version: Fixed after version 3.14rc1"
+CVE_STATUS[CVE-2014-0038] = "fixed-version: Fixed from version 3.14rc1"
 
-CVE_STATUS[CVE-2014-0049] = "fixed-version: Fixed after version 3.14rc5"
+CVE_STATUS[CVE-2014-0049] = "fixed-version: Fixed from version 3.14rc5"
 
-CVE_STATUS[CVE-2014-0055] = "fixed-version: Fixed after version 3.14"
+CVE_STATUS[CVE-2014-0055] = "fixed-version: Fixed from version 3.14"
 
-CVE_STATUS[CVE-2014-0069] = "fixed-version: Fixed after version 3.14rc4"
+CVE_STATUS[CVE-2014-0069] = "fixed-version: Fixed from version 3.14rc4"
 
-CVE_STATUS[CVE-2014-0077] = "fixed-version: Fixed after version 3.14"
+CVE_STATUS[CVE-2014-0077] = "fixed-version: Fixed from version 3.14"
 
-CVE_STATUS[CVE-2014-0100] = "fixed-version: Fixed after version 3.14rc7"
+CVE_STATUS[CVE-2014-0100] = "fixed-version: Fixed from version 3.14rc7"
 
-CVE_STATUS[CVE-2014-0101] = "fixed-version: Fixed after version 3.14rc6"
+CVE_STATUS[CVE-2014-0101] = "fixed-version: Fixed from version 3.14rc6"
 
-CVE_STATUS[CVE-2014-0102] = "fixed-version: Fixed after version 3.14rc6"
+CVE_STATUS[CVE-2014-0102] = "fixed-version: Fixed from version 3.14rc6"
 
-CVE_STATUS[CVE-2014-0131] = "fixed-version: Fixed after version 3.14rc7"
+CVE_STATUS[CVE-2014-0131] = "fixed-version: Fixed from version 3.14rc7"
 
-CVE_STATUS[CVE-2014-0155] = "fixed-version: Fixed after version 3.15rc2"
+CVE_STATUS[CVE-2014-0155] = "fixed-version: Fixed from version 3.15rc2"
 
-CVE_STATUS[CVE-2014-0181] = "fixed-version: Fixed after version 3.15rc5"
+CVE_STATUS[CVE-2014-0181] = "fixed-version: Fixed from version 3.15rc5"
 
-CVE_STATUS[CVE-2014-0196] = "fixed-version: Fixed after version 3.15rc5"
+CVE_STATUS[CVE-2014-0196] = "fixed-version: Fixed from version 3.15rc5"
 
-CVE_STATUS[CVE-2014-0203] = "fixed-version: Fixed after version 2.6.33rc5"
+CVE_STATUS[CVE-2014-0203] = "fixed-version: Fixed from version 2.6.33rc5"
 
-CVE_STATUS[CVE-2014-0205] = "fixed-version: Fixed after version 2.6.37rc1"
+CVE_STATUS[CVE-2014-0205] = "fixed-version: Fixed from version 2.6.37rc1"
 
-CVE_STATUS[CVE-2014-0206] = "fixed-version: Fixed after version 3.16rc3"
+CVE_STATUS[CVE-2014-0206] = "fixed-version: Fixed from version 3.16rc3"
 
 # Skipping CVE-2014-0972, no affected_versions
 
-CVE_STATUS[CVE-2014-1438] = "fixed-version: Fixed after version 3.13"
+CVE_STATUS[CVE-2014-1438] = "fixed-version: Fixed from version 3.13"
 
-CVE_STATUS[CVE-2014-1444] = "fixed-version: Fixed after version 3.12rc7"
+CVE_STATUS[CVE-2014-1444] = "fixed-version: Fixed from version 3.12rc7"
 
-CVE_STATUS[CVE-2014-1445] = "fixed-version: Fixed after version 3.12rc7"
+CVE_STATUS[CVE-2014-1445] = "fixed-version: Fixed from version 3.12rc7"
 
-CVE_STATUS[CVE-2014-1446] = "fixed-version: Fixed after version 3.13rc7"
+CVE_STATUS[CVE-2014-1446] = "fixed-version: Fixed from version 3.13rc7"
 
-CVE_STATUS[CVE-2014-1690] = "fixed-version: Fixed after version 3.13rc8"
+CVE_STATUS[CVE-2014-1690] = "fixed-version: Fixed from version 3.13rc8"
 
-CVE_STATUS[CVE-2014-1737] = "fixed-version: Fixed after version 3.15rc5"
+CVE_STATUS[CVE-2014-1737] = "fixed-version: Fixed from version 3.15rc5"
 
-CVE_STATUS[CVE-2014-1738] = "fixed-version: Fixed after version 3.15rc5"
+CVE_STATUS[CVE-2014-1738] = "fixed-version: Fixed from version 3.15rc5"
 
-CVE_STATUS[CVE-2014-1739] = "fixed-version: Fixed after version 3.15rc6"
+CVE_STATUS[CVE-2014-1739] = "fixed-version: Fixed from version 3.15rc6"
 
-CVE_STATUS[CVE-2014-1874] = "fixed-version: Fixed after version 3.14rc2"
+CVE_STATUS[CVE-2014-1874] = "fixed-version: Fixed from version 3.14rc2"
 
-CVE_STATUS[CVE-2014-2038] = "fixed-version: Fixed after version 3.14rc1"
+CVE_STATUS[CVE-2014-2038] = "fixed-version: Fixed from version 3.14rc1"
 
-CVE_STATUS[CVE-2014-2039] = "fixed-version: Fixed after version 3.14rc3"
+CVE_STATUS[CVE-2014-2039] = "fixed-version: Fixed from version 3.14rc3"
 
-CVE_STATUS[CVE-2014-2309] = "fixed-version: Fixed after version 3.14rc7"
+CVE_STATUS[CVE-2014-2309] = "fixed-version: Fixed from version 3.14rc7"
 
-CVE_STATUS[CVE-2014-2523] = "fixed-version: Fixed after version 3.14rc1"
+CVE_STATUS[CVE-2014-2523] = "fixed-version: Fixed from version 3.14rc1"
 
-CVE_STATUS[CVE-2014-2568] = "fixed-version: Fixed after version 3.14"
+CVE_STATUS[CVE-2014-2568] = "fixed-version: Fixed from version 3.14"
 
-CVE_STATUS[CVE-2014-2580] = "fixed-version: Fixed after version 3.15rc1"
+CVE_STATUS[CVE-2014-2580] = "fixed-version: Fixed from version 3.15rc1"
 
-CVE_STATUS[CVE-2014-2672] = "fixed-version: Fixed after version 3.14rc6"
+CVE_STATUS[CVE-2014-2672] = "fixed-version: Fixed from version 3.14rc6"
 
-CVE_STATUS[CVE-2014-2673] = "fixed-version: Fixed after version 3.14rc6"
+CVE_STATUS[CVE-2014-2673] = "fixed-version: Fixed from version 3.14rc6"
 
-CVE_STATUS[CVE-2014-2678] = "fixed-version: Fixed after version 3.15rc1"
+CVE_STATUS[CVE-2014-2678] = "fixed-version: Fixed from version 3.15rc1"
 
-CVE_STATUS[CVE-2014-2706] = "fixed-version: Fixed after version 3.14rc6"
+CVE_STATUS[CVE-2014-2706] = "fixed-version: Fixed from version 3.14rc6"
 
-CVE_STATUS[CVE-2014-2739] = "fixed-version: Fixed after version 3.15rc1"
+CVE_STATUS[CVE-2014-2739] = "fixed-version: Fixed from version 3.15rc1"
 
-CVE_STATUS[CVE-2014-2851] = "fixed-version: Fixed after version 3.15rc2"
+CVE_STATUS[CVE-2014-2851] = "fixed-version: Fixed from version 3.15rc2"
 
-CVE_STATUS[CVE-2014-2889] = "fixed-version: Fixed after version 3.2rc7"
+CVE_STATUS[CVE-2014-2889] = "fixed-version: Fixed from version 3.2rc7"
 
-CVE_STATUS[CVE-2014-3122] = "fixed-version: Fixed after version 3.15rc1"
+CVE_STATUS[CVE-2014-3122] = "fixed-version: Fixed from version 3.15rc1"
 
-CVE_STATUS[CVE-2014-3144] = "fixed-version: Fixed after version 3.15rc2"
+CVE_STATUS[CVE-2014-3144] = "fixed-version: Fixed from version 3.15rc2"
 
-CVE_STATUS[CVE-2014-3145] = "fixed-version: Fixed after version 3.15rc2"
+CVE_STATUS[CVE-2014-3145] = "fixed-version: Fixed from version 3.15rc2"
 
-CVE_STATUS[CVE-2014-3153] = "fixed-version: Fixed after version 3.15"
+CVE_STATUS[CVE-2014-3153] = "fixed-version: Fixed from version 3.15"
 
-CVE_STATUS[CVE-2014-3180] = "fixed-version: Fixed after version 3.17rc4"
+CVE_STATUS[CVE-2014-3180] = "fixed-version: Fixed from version 3.17rc4"
 
-CVE_STATUS[CVE-2014-3181] = "fixed-version: Fixed after version 3.17rc3"
+CVE_STATUS[CVE-2014-3181] = "fixed-version: Fixed from version 3.17rc3"
 
-CVE_STATUS[CVE-2014-3182] = "fixed-version: Fixed after version 3.17rc2"
+CVE_STATUS[CVE-2014-3182] = "fixed-version: Fixed from version 3.17rc2"
 
-CVE_STATUS[CVE-2014-3183] = "fixed-version: Fixed after version 3.17rc2"
+CVE_STATUS[CVE-2014-3183] = "fixed-version: Fixed from version 3.17rc2"
 
-CVE_STATUS[CVE-2014-3184] = "fixed-version: Fixed after version 3.17rc2"
+CVE_STATUS[CVE-2014-3184] = "fixed-version: Fixed from version 3.17rc2"
 
-CVE_STATUS[CVE-2014-3185] = "fixed-version: Fixed after version 3.17rc3"
+CVE_STATUS[CVE-2014-3185] = "fixed-version: Fixed from version 3.17rc3"
 
-CVE_STATUS[CVE-2014-3186] = "fixed-version: Fixed after version 3.17rc3"
+CVE_STATUS[CVE-2014-3186] = "fixed-version: Fixed from version 3.17rc3"
 
 # Skipping CVE-2014-3519, no affected_versions
 
-CVE_STATUS[CVE-2014-3534] = "fixed-version: Fixed after version 3.16rc7"
+CVE_STATUS[CVE-2014-3534] = "fixed-version: Fixed from version 3.16rc7"
 
-CVE_STATUS[CVE-2014-3535] = "fixed-version: Fixed after version 2.6.36rc1"
+CVE_STATUS[CVE-2014-3535] = "fixed-version: Fixed from version 2.6.36rc1"
 
-CVE_STATUS[CVE-2014-3601] = "fixed-version: Fixed after version 3.17rc2"
+CVE_STATUS[CVE-2014-3601] = "fixed-version: Fixed from version 3.17rc2"
 
-CVE_STATUS[CVE-2014-3610] = "fixed-version: Fixed after version 3.18rc2"
+CVE_STATUS[CVE-2014-3610] = "fixed-version: Fixed from version 3.18rc2"
 
-CVE_STATUS[CVE-2014-3611] = "fixed-version: Fixed after version 3.18rc2"
+CVE_STATUS[CVE-2014-3611] = "fixed-version: Fixed from version 3.18rc2"
 
-CVE_STATUS[CVE-2014-3631] = "fixed-version: Fixed after version 3.17rc5"
+CVE_STATUS[CVE-2014-3631] = "fixed-version: Fixed from version 3.17rc5"
 
-CVE_STATUS[CVE-2014-3645] = "fixed-version: Fixed after version 3.12rc1"
+CVE_STATUS[CVE-2014-3645] = "fixed-version: Fixed from version 3.12rc1"
 
-CVE_STATUS[CVE-2014-3646] = "fixed-version: Fixed after version 3.18rc2"
+CVE_STATUS[CVE-2014-3646] = "fixed-version: Fixed from version 3.18rc2"
 
-CVE_STATUS[CVE-2014-3647] = "fixed-version: Fixed after version 3.18rc2"
+CVE_STATUS[CVE-2014-3647] = "fixed-version: Fixed from version 3.18rc2"
 
-CVE_STATUS[CVE-2014-3673] = "fixed-version: Fixed after version 3.18rc1"
+CVE_STATUS[CVE-2014-3673] = "fixed-version: Fixed from version 3.18rc1"
 
-CVE_STATUS[CVE-2014-3687] = "fixed-version: Fixed after version 3.18rc1"
+CVE_STATUS[CVE-2014-3687] = "fixed-version: Fixed from version 3.18rc1"
 
-CVE_STATUS[CVE-2014-3688] = "fixed-version: Fixed after version 3.18rc1"
+CVE_STATUS[CVE-2014-3688] = "fixed-version: Fixed from version 3.18rc1"
 
-CVE_STATUS[CVE-2014-3690] = "fixed-version: Fixed after version 3.18rc1"
+CVE_STATUS[CVE-2014-3690] = "fixed-version: Fixed from version 3.18rc1"
 
-CVE_STATUS[CVE-2014-3917] = "fixed-version: Fixed after version 3.16rc1"
+CVE_STATUS[CVE-2014-3917] = "fixed-version: Fixed from version 3.16rc1"
 
-CVE_STATUS[CVE-2014-3940] = "fixed-version: Fixed after version 3.15"
+CVE_STATUS[CVE-2014-3940] = "fixed-version: Fixed from version 3.15"
 
-CVE_STATUS[CVE-2014-4014] = "fixed-version: Fixed after version 3.16rc1"
+CVE_STATUS[CVE-2014-4014] = "fixed-version: Fixed from version 3.16rc1"
 
-CVE_STATUS[CVE-2014-4027] = "fixed-version: Fixed after version 3.14rc1"
+CVE_STATUS[CVE-2014-4027] = "fixed-version: Fixed from version 3.14rc1"
 
-CVE_STATUS[CVE-2014-4157] = "fixed-version: Fixed after version 3.15rc1"
+CVE_STATUS[CVE-2014-4157] = "fixed-version: Fixed from version 3.15rc1"
 
-CVE_STATUS[CVE-2014-4171] = "fixed-version: Fixed after version 3.16rc3"
+CVE_STATUS[CVE-2014-4171] = "fixed-version: Fixed from version 3.16rc3"
 
 # Skipping CVE-2014-4322, no affected_versions
 
 # Skipping CVE-2014-4323, no affected_versions
 
-CVE_STATUS[CVE-2014-4508] = "fixed-version: Fixed after version 3.16rc3"
+CVE_STATUS[CVE-2014-4508] = "fixed-version: Fixed from version 3.16rc3"
 
-CVE_STATUS[CVE-2014-4608] = "fixed-version: Fixed after version 3.18rc1"
+CVE_STATUS[CVE-2014-4608] = "fixed-version: Fixed from version 3.18rc1"
 
-CVE_STATUS[CVE-2014-4611] = "fixed-version: Fixed after version 3.16rc3"
+CVE_STATUS[CVE-2014-4611] = "fixed-version: Fixed from version 3.16rc3"
 
-CVE_STATUS[CVE-2014-4652] = "fixed-version: Fixed after version 3.16rc2"
+CVE_STATUS[CVE-2014-4652] = "fixed-version: Fixed from version 3.16rc2"
 
-CVE_STATUS[CVE-2014-4653] = "fixed-version: Fixed after version 3.16rc2"
+CVE_STATUS[CVE-2014-4653] = "fixed-version: Fixed from version 3.16rc2"
 
-CVE_STATUS[CVE-2014-4654] = "fixed-version: Fixed after version 3.16rc2"
+CVE_STATUS[CVE-2014-4654] = "fixed-version: Fixed from version 3.16rc2"
 
-CVE_STATUS[CVE-2014-4655] = "fixed-version: Fixed after version 3.16rc2"
+CVE_STATUS[CVE-2014-4655] = "fixed-version: Fixed from version 3.16rc2"
 
-CVE_STATUS[CVE-2014-4656] = "fixed-version: Fixed after version 3.16rc2"
+CVE_STATUS[CVE-2014-4656] = "fixed-version: Fixed from version 3.16rc2"
 
-CVE_STATUS[CVE-2014-4667] = "fixed-version: Fixed after version 3.16rc1"
+CVE_STATUS[CVE-2014-4667] = "fixed-version: Fixed from version 3.16rc1"
 
-CVE_STATUS[CVE-2014-4699] = "fixed-version: Fixed after version 3.16rc4"
+CVE_STATUS[CVE-2014-4699] = "fixed-version: Fixed from version 3.16rc4"
 
-CVE_STATUS[CVE-2014-4943] = "fixed-version: Fixed after version 3.16rc6"
+CVE_STATUS[CVE-2014-4943] = "fixed-version: Fixed from version 3.16rc6"
 
-CVE_STATUS[CVE-2014-5045] = "fixed-version: Fixed after version 3.16rc7"
+CVE_STATUS[CVE-2014-5045] = "fixed-version: Fixed from version 3.16rc7"
 
-CVE_STATUS[CVE-2014-5077] = "fixed-version: Fixed after version 3.16"
+CVE_STATUS[CVE-2014-5077] = "fixed-version: Fixed from version 3.16"
 
-CVE_STATUS[CVE-2014-5206] = "fixed-version: Fixed after version 3.17rc1"
+CVE_STATUS[CVE-2014-5206] = "fixed-version: Fixed from version 3.17rc1"
 
-CVE_STATUS[CVE-2014-5207] = "fixed-version: Fixed after version 3.17rc1"
+CVE_STATUS[CVE-2014-5207] = "fixed-version: Fixed from version 3.17rc1"
 
 # Skipping CVE-2014-5332, no affected_versions
 
-CVE_STATUS[CVE-2014-5471] = "fixed-version: Fixed after version 3.17rc2"
+CVE_STATUS[CVE-2014-5471] = "fixed-version: Fixed from version 3.17rc2"
 
-CVE_STATUS[CVE-2014-5472] = "fixed-version: Fixed after version 3.17rc2"
+CVE_STATUS[CVE-2014-5472] = "fixed-version: Fixed from version 3.17rc2"
 
-CVE_STATUS[CVE-2014-6410] = "fixed-version: Fixed after version 3.17rc5"
+CVE_STATUS[CVE-2014-6410] = "fixed-version: Fixed from version 3.17rc5"
 
-CVE_STATUS[CVE-2014-6416] = "fixed-version: Fixed after version 3.17rc5"
+CVE_STATUS[CVE-2014-6416] = "fixed-version: Fixed from version 3.17rc5"
 
-CVE_STATUS[CVE-2014-6417] = "fixed-version: Fixed after version 3.17rc5"
+CVE_STATUS[CVE-2014-6417] = "fixed-version: Fixed from version 3.17rc5"
 
-CVE_STATUS[CVE-2014-6418] = "fixed-version: Fixed after version 3.17rc5"
+CVE_STATUS[CVE-2014-6418] = "fixed-version: Fixed from version 3.17rc5"
 
-CVE_STATUS[CVE-2014-7145] = "fixed-version: Fixed after version 3.17rc2"
+CVE_STATUS[CVE-2014-7145] = "fixed-version: Fixed from version 3.17rc2"
 
 # Skipping CVE-2014-7207, no affected_versions
 
-CVE_STATUS[CVE-2014-7283] = "fixed-version: Fixed after version 3.15rc1"
+CVE_STATUS[CVE-2014-7283] = "fixed-version: Fixed from version 3.15rc1"
 
-CVE_STATUS[CVE-2014-7284] = "fixed-version: Fixed after version 3.15rc7"
+CVE_STATUS[CVE-2014-7284] = "fixed-version: Fixed from version 3.15rc7"
 
-CVE_STATUS[CVE-2014-7822] = "fixed-version: Fixed after version 3.16rc1"
+CVE_STATUS[CVE-2014-7822] = "fixed-version: Fixed from version 3.16rc1"
 
-CVE_STATUS[CVE-2014-7825] = "fixed-version: Fixed after version 3.18rc3"
+CVE_STATUS[CVE-2014-7825] = "fixed-version: Fixed from version 3.18rc3"
 
-CVE_STATUS[CVE-2014-7826] = "fixed-version: Fixed after version 3.18rc3"
+CVE_STATUS[CVE-2014-7826] = "fixed-version: Fixed from version 3.18rc3"
 
-CVE_STATUS[CVE-2014-7841] = "fixed-version: Fixed after version 3.18rc5"
+CVE_STATUS[CVE-2014-7841] = "fixed-version: Fixed from version 3.18rc5"
 
-CVE_STATUS[CVE-2014-7842] = "fixed-version: Fixed after version 3.18rc1"
+CVE_STATUS[CVE-2014-7842] = "fixed-version: Fixed from version 3.18rc1"
 
-CVE_STATUS[CVE-2014-7843] = "fixed-version: Fixed after version 3.18rc5"
+CVE_STATUS[CVE-2014-7843] = "fixed-version: Fixed from version 3.18rc5"
 
-CVE_STATUS[CVE-2014-7970] = "fixed-version: Fixed after version 3.18rc1"
+CVE_STATUS[CVE-2014-7970] = "fixed-version: Fixed from version 3.18rc1"
 
-CVE_STATUS[CVE-2014-7975] = "fixed-version: Fixed after version 3.18rc1"
+CVE_STATUS[CVE-2014-7975] = "fixed-version: Fixed from version 3.18rc1"
 
-CVE_STATUS[CVE-2014-8086] = "fixed-version: Fixed after version 3.18rc3"
+CVE_STATUS[CVE-2014-8086] = "fixed-version: Fixed from version 3.18rc3"
 
-CVE_STATUS[CVE-2014-8133] = "fixed-version: Fixed after version 3.19rc1"
+CVE_STATUS[CVE-2014-8133] = "fixed-version: Fixed from version 3.19rc1"
 
-CVE_STATUS[CVE-2014-8134] = "fixed-version: Fixed after version 3.19rc1"
+CVE_STATUS[CVE-2014-8134] = "fixed-version: Fixed from version 3.19rc1"
 
-CVE_STATUS[CVE-2014-8159] = "fixed-version: Fixed after version 4.0rc7"
+CVE_STATUS[CVE-2014-8159] = "fixed-version: Fixed from version 4.0rc7"
 
-CVE_STATUS[CVE-2014-8160] = "fixed-version: Fixed after version 3.18rc1"
+CVE_STATUS[CVE-2014-8160] = "fixed-version: Fixed from version 3.18rc1"
 
-CVE_STATUS[CVE-2014-8171] = "fixed-version: Fixed after version 3.12rc1"
+CVE_STATUS[CVE-2014-8171] = "fixed-version: Fixed from version 3.12rc1"
 
-CVE_STATUS[CVE-2014-8172] = "fixed-version: Fixed after version 3.13rc1"
+CVE_STATUS[CVE-2014-8172] = "fixed-version: Fixed from version 3.13rc1"
 
-CVE_STATUS[CVE-2014-8173] = "fixed-version: Fixed after version 3.13rc5"
+CVE_STATUS[CVE-2014-8173] = "fixed-version: Fixed from version 3.13rc5"
 
 # Skipping CVE-2014-8181, no affected_versions
 
-CVE_STATUS[CVE-2014-8369] = "fixed-version: Fixed after version 3.18rc2"
+CVE_STATUS[CVE-2014-8369] = "fixed-version: Fixed from version 3.18rc2"
 
-CVE_STATUS[CVE-2014-8480] = "fixed-version: Fixed after version 3.18rc2"
+CVE_STATUS[CVE-2014-8480] = "fixed-version: Fixed from version 3.18rc2"
 
-CVE_STATUS[CVE-2014-8481] = "fixed-version: Fixed after version 3.18rc2"
+CVE_STATUS[CVE-2014-8481] = "fixed-version: Fixed from version 3.18rc2"
 
-CVE_STATUS[CVE-2014-8559] = "fixed-version: Fixed after version 3.19rc1"
+CVE_STATUS[CVE-2014-8559] = "fixed-version: Fixed from version 3.19rc1"
 
-CVE_STATUS[CVE-2014-8709] = "fixed-version: Fixed after version 3.14rc3"
+CVE_STATUS[CVE-2014-8709] = "fixed-version: Fixed from version 3.14rc3"
 
-CVE_STATUS[CVE-2014-8884] = "fixed-version: Fixed after version 3.18rc1"
+CVE_STATUS[CVE-2014-8884] = "fixed-version: Fixed from version 3.18rc1"
 
-CVE_STATUS[CVE-2014-8989] = "fixed-version: Fixed after version 3.19rc1"
+CVE_STATUS[CVE-2014-8989] = "fixed-version: Fixed from version 3.19rc1"
 
-CVE_STATUS[CVE-2014-9090] = "fixed-version: Fixed after version 3.18rc6"
+CVE_STATUS[CVE-2014-9090] = "fixed-version: Fixed from version 3.18rc6"
 
-CVE_STATUS[CVE-2014-9322] = "fixed-version: Fixed after version 3.18rc6"
+CVE_STATUS[CVE-2014-9322] = "fixed-version: Fixed from version 3.18rc6"
 
-CVE_STATUS[CVE-2014-9419] = "fixed-version: Fixed after version 3.19rc1"
+CVE_STATUS[CVE-2014-9419] = "fixed-version: Fixed from version 3.19rc1"
 
-CVE_STATUS[CVE-2014-9420] = "fixed-version: Fixed after version 3.19rc1"
+CVE_STATUS[CVE-2014-9420] = "fixed-version: Fixed from version 3.19rc1"
 
-CVE_STATUS[CVE-2014-9428] = "fixed-version: Fixed after version 3.19rc3"
+CVE_STATUS[CVE-2014-9428] = "fixed-version: Fixed from version 3.19rc3"
 
-CVE_STATUS[CVE-2014-9529] = "fixed-version: Fixed after version 3.19rc4"
+CVE_STATUS[CVE-2014-9529] = "fixed-version: Fixed from version 3.19rc4"
 
-CVE_STATUS[CVE-2014-9584] = "fixed-version: Fixed after version 3.19rc3"
+CVE_STATUS[CVE-2014-9584] = "fixed-version: Fixed from version 3.19rc3"
 
-CVE_STATUS[CVE-2014-9585] = "fixed-version: Fixed after version 3.19rc4"
+CVE_STATUS[CVE-2014-9585] = "fixed-version: Fixed from version 3.19rc4"
 
-CVE_STATUS[CVE-2014-9644] = "fixed-version: Fixed after version 3.19rc1"
+CVE_STATUS[CVE-2014-9644] = "fixed-version: Fixed from version 3.19rc1"
 
-CVE_STATUS[CVE-2014-9683] = "fixed-version: Fixed after version 3.19rc1"
+CVE_STATUS[CVE-2014-9683] = "fixed-version: Fixed from version 3.19rc1"
 
-CVE_STATUS[CVE-2014-9710] = "fixed-version: Fixed after version 3.19rc1"
+CVE_STATUS[CVE-2014-9710] = "fixed-version: Fixed from version 3.19rc1"
 
-CVE_STATUS[CVE-2014-9715] = "fixed-version: Fixed after version 3.15rc1"
+CVE_STATUS[CVE-2014-9715] = "fixed-version: Fixed from version 3.15rc1"
 
-CVE_STATUS[CVE-2014-9717] = "fixed-version: Fixed after version 4.1rc1"
+CVE_STATUS[CVE-2014-9717] = "fixed-version: Fixed from version 4.1rc1"
 
-CVE_STATUS[CVE-2014-9728] = "fixed-version: Fixed after version 3.19rc3"
+CVE_STATUS[CVE-2014-9728] = "fixed-version: Fixed from version 3.19rc3"
 
-CVE_STATUS[CVE-2014-9729] = "fixed-version: Fixed after version 3.19rc3"
+CVE_STATUS[CVE-2014-9729] = "fixed-version: Fixed from version 3.19rc3"
 
-CVE_STATUS[CVE-2014-9730] = "fixed-version: Fixed after version 3.19rc3"
+CVE_STATUS[CVE-2014-9730] = "fixed-version: Fixed from version 3.19rc3"
 
-CVE_STATUS[CVE-2014-9731] = "fixed-version: Fixed after version 3.19rc3"
+CVE_STATUS[CVE-2014-9731] = "fixed-version: Fixed from version 3.19rc3"
 
 # Skipping CVE-2014-9777, no affected_versions
 
@@ -821,7 +830,7 @@
 
 # Skipping CVE-2014-9789, no affected_versions
 
-CVE_STATUS[CVE-2014-9803] = "fixed-version: Fixed after version 3.16rc1"
+CVE_STATUS[CVE-2014-9803] = "fixed-version: Fixed from version 3.16rc1"
 
 # Skipping CVE-2014-9863, no affected_versions
 
@@ -837,7 +846,7 @@
 
 # Skipping CVE-2014-9869, no affected_versions
 
-CVE_STATUS[CVE-2014-9870] = "fixed-version: Fixed after version 3.11rc1"
+CVE_STATUS[CVE-2014-9870] = "fixed-version: Fixed from version 3.11rc1"
 
 # Skipping CVE-2014-9871, no affected_versions
 
@@ -873,7 +882,7 @@
 
 # Skipping CVE-2014-9887, no affected_versions
 
-CVE_STATUS[CVE-2014-9888] = "fixed-version: Fixed after version 3.13rc1"
+CVE_STATUS[CVE-2014-9888] = "fixed-version: Fixed from version 3.13rc1"
 
 # Skipping CVE-2014-9889, no affected_versions
 
@@ -887,7 +896,7 @@
 
 # Skipping CVE-2014-9894, no affected_versions
 
-CVE_STATUS[CVE-2014-9895] = "fixed-version: Fixed after version 3.11rc1"
+CVE_STATUS[CVE-2014-9895] = "fixed-version: Fixed from version 3.11rc1"
 
 # Skipping CVE-2014-9896, no affected_versions
 
@@ -899,217 +908,217 @@
 
 # Skipping CVE-2014-9900, no affected_versions
 
-CVE_STATUS[CVE-2014-9903] = "fixed-version: Fixed after version 3.14rc4"
+CVE_STATUS[CVE-2014-9903] = "fixed-version: Fixed from version 3.14rc4"
 
-CVE_STATUS[CVE-2014-9904] = "fixed-version: Fixed after version 3.17rc1"
+CVE_STATUS[CVE-2014-9904] = "fixed-version: Fixed from version 3.17rc1"
 
-CVE_STATUS[CVE-2014-9914] = "fixed-version: Fixed after version 3.16rc1"
+CVE_STATUS[CVE-2014-9914] = "fixed-version: Fixed from version 3.16rc1"
 
-CVE_STATUS[CVE-2014-9922] = "fixed-version: Fixed after version 3.18rc2"
+CVE_STATUS[CVE-2014-9922] = "fixed-version: Fixed from version 3.18rc2"
 
-CVE_STATUS[CVE-2014-9940] = "fixed-version: Fixed after version 3.19rc1"
+CVE_STATUS[CVE-2014-9940] = "fixed-version: Fixed from version 3.19rc1"
 
-CVE_STATUS[CVE-2015-0239] = "fixed-version: Fixed after version 3.19rc6"
+CVE_STATUS[CVE-2015-0239] = "fixed-version: Fixed from version 3.19rc6"
 
-CVE_STATUS[CVE-2015-0274] = "fixed-version: Fixed after version 3.15rc5"
+CVE_STATUS[CVE-2015-0274] = "fixed-version: Fixed from version 3.15rc5"
 
-CVE_STATUS[CVE-2015-0275] = "fixed-version: Fixed after version 4.1rc1"
+CVE_STATUS[CVE-2015-0275] = "fixed-version: Fixed from version 4.1rc1"
 
 # Skipping CVE-2015-0777, no affected_versions
 
 # Skipping CVE-2015-1328, no affected_versions
 
-CVE_STATUS[CVE-2015-1333] = "fixed-version: Fixed after version 4.2rc5"
+CVE_STATUS[CVE-2015-1333] = "fixed-version: Fixed from version 4.2rc5"
 
-CVE_STATUS[CVE-2015-1339] = "fixed-version: Fixed after version 4.4rc5"
+CVE_STATUS[CVE-2015-1339] = "fixed-version: Fixed from version 4.4rc5"
 
-CVE_STATUS[CVE-2015-1350] = "fixed-version: Fixed after version 4.9rc1"
+CVE_STATUS[CVE-2015-1350] = "fixed-version: Fixed from version 4.9rc1"
 
-CVE_STATUS[CVE-2015-1420] = "fixed-version: Fixed after version 4.1rc7"
+CVE_STATUS[CVE-2015-1420] = "fixed-version: Fixed from version 4.1rc7"
 
-CVE_STATUS[CVE-2015-1421] = "fixed-version: Fixed after version 3.19rc7"
+CVE_STATUS[CVE-2015-1421] = "fixed-version: Fixed from version 3.19rc7"
 
-CVE_STATUS[CVE-2015-1465] = "fixed-version: Fixed after version 3.19rc7"
+CVE_STATUS[CVE-2015-1465] = "fixed-version: Fixed from version 3.19rc7"
 
-CVE_STATUS[CVE-2015-1573] = "fixed-version: Fixed after version 3.19rc5"
+CVE_STATUS[CVE-2015-1573] = "fixed-version: Fixed from version 3.19rc5"
 
-CVE_STATUS[CVE-2015-1593] = "fixed-version: Fixed after version 4.0rc1"
+CVE_STATUS[CVE-2015-1593] = "fixed-version: Fixed from version 4.0rc1"
 
-CVE_STATUS[CVE-2015-1805] = "fixed-version: Fixed after version 3.16rc1"
+CVE_STATUS[CVE-2015-1805] = "fixed-version: Fixed from version 3.16rc1"
 
-CVE_STATUS[CVE-2015-2041] = "fixed-version: Fixed after version 3.19rc7"
+CVE_STATUS[CVE-2015-2041] = "fixed-version: Fixed from version 3.19rc7"
 
-CVE_STATUS[CVE-2015-2042] = "fixed-version: Fixed after version 3.19"
+CVE_STATUS[CVE-2015-2042] = "fixed-version: Fixed from version 3.19"
 
-CVE_STATUS[CVE-2015-2150] = "fixed-version: Fixed after version 4.0rc4"
+CVE_STATUS[CVE-2015-2150] = "fixed-version: Fixed from version 4.0rc4"
 
-CVE_STATUS[CVE-2015-2666] = "fixed-version: Fixed after version 4.0rc1"
+CVE_STATUS[CVE-2015-2666] = "fixed-version: Fixed from version 4.0rc1"
 
-CVE_STATUS[CVE-2015-2672] = "fixed-version: Fixed after version 4.0rc3"
+CVE_STATUS[CVE-2015-2672] = "fixed-version: Fixed from version 4.0rc3"
 
-CVE_STATUS[CVE-2015-2686] = "fixed-version: Fixed after version 4.0rc6"
+CVE_STATUS[CVE-2015-2686] = "fixed-version: Fixed from version 4.0rc6"
 
-CVE_STATUS[CVE-2015-2830] = "fixed-version: Fixed after version 4.0rc3"
+CVE_STATUS[CVE-2015-2830] = "fixed-version: Fixed from version 4.0rc3"
 
 # CVE-2015-2877 has no known resolution
 
-CVE_STATUS[CVE-2015-2922] = "fixed-version: Fixed after version 4.0rc7"
+CVE_STATUS[CVE-2015-2922] = "fixed-version: Fixed from version 4.0rc7"
 
-CVE_STATUS[CVE-2015-2925] = "fixed-version: Fixed after version 4.3rc1"
+CVE_STATUS[CVE-2015-2925] = "fixed-version: Fixed from version 4.3rc1"
 
-CVE_STATUS[CVE-2015-3212] = "fixed-version: Fixed after version 4.2rc1"
+CVE_STATUS[CVE-2015-3212] = "fixed-version: Fixed from version 4.2rc1"
 
-CVE_STATUS[CVE-2015-3214] = "fixed-version: Fixed after version 2.6.33rc8"
+CVE_STATUS[CVE-2015-3214] = "fixed-version: Fixed from version 2.6.33rc8"
 
-CVE_STATUS[CVE-2015-3288] = "fixed-version: Fixed after version 4.2rc2"
+CVE_STATUS[CVE-2015-3288] = "fixed-version: Fixed from version 4.2rc2"
 
-CVE_STATUS[CVE-2015-3290] = "fixed-version: Fixed after version 4.2rc3"
+CVE_STATUS[CVE-2015-3290] = "fixed-version: Fixed from version 4.2rc3"
 
-CVE_STATUS[CVE-2015-3291] = "fixed-version: Fixed after version 4.2rc3"
+CVE_STATUS[CVE-2015-3291] = "fixed-version: Fixed from version 4.2rc3"
 
-CVE_STATUS[CVE-2015-3331] = "fixed-version: Fixed after version 4.0rc5"
+CVE_STATUS[CVE-2015-3331] = "fixed-version: Fixed from version 4.0rc5"
 
 # Skipping CVE-2015-3332, no affected_versions
 
-CVE_STATUS[CVE-2015-3339] = "fixed-version: Fixed after version 4.1rc1"
+CVE_STATUS[CVE-2015-3339] = "fixed-version: Fixed from version 4.1rc1"
 
-CVE_STATUS[CVE-2015-3636] = "fixed-version: Fixed after version 4.1rc2"
+CVE_STATUS[CVE-2015-3636] = "fixed-version: Fixed from version 4.1rc2"
 
-CVE_STATUS[CVE-2015-4001] = "fixed-version: Fixed after version 4.1rc7"
+CVE_STATUS[CVE-2015-4001] = "fixed-version: Fixed from version 4.1rc7"
 
-CVE_STATUS[CVE-2015-4002] = "fixed-version: Fixed after version 4.1rc7"
+CVE_STATUS[CVE-2015-4002] = "fixed-version: Fixed from version 4.1rc7"
 
-CVE_STATUS[CVE-2015-4003] = "fixed-version: Fixed after version 4.1rc7"
+CVE_STATUS[CVE-2015-4003] = "fixed-version: Fixed from version 4.1rc7"
 
-CVE_STATUS[CVE-2015-4004] = "fixed-version: Fixed after version 4.3rc1"
+CVE_STATUS[CVE-2015-4004] = "fixed-version: Fixed from version 4.3rc1"
 
-CVE_STATUS[CVE-2015-4036] = "fixed-version: Fixed after version 4.0rc1"
+CVE_STATUS[CVE-2015-4036] = "fixed-version: Fixed from version 4.0rc1"
 
-CVE_STATUS[CVE-2015-4167] = "fixed-version: Fixed after version 4.0rc1"
+CVE_STATUS[CVE-2015-4167] = "fixed-version: Fixed from version 4.0rc1"
 
-CVE_STATUS[CVE-2015-4170] = "fixed-version: Fixed after version 3.13rc5"
+CVE_STATUS[CVE-2015-4170] = "fixed-version: Fixed from version 3.13rc5"
 
-CVE_STATUS[CVE-2015-4176] = "fixed-version: Fixed after version 4.1rc1"
+CVE_STATUS[CVE-2015-4176] = "fixed-version: Fixed from version 4.1rc1"
 
-CVE_STATUS[CVE-2015-4177] = "fixed-version: Fixed after version 4.1rc1"
+CVE_STATUS[CVE-2015-4177] = "fixed-version: Fixed from version 4.1rc1"
 
-CVE_STATUS[CVE-2015-4178] = "fixed-version: Fixed after version 4.1rc1"
+CVE_STATUS[CVE-2015-4178] = "fixed-version: Fixed from version 4.1rc1"
 
-CVE_STATUS[CVE-2015-4692] = "fixed-version: Fixed after version 4.2rc1"
+CVE_STATUS[CVE-2015-4692] = "fixed-version: Fixed from version 4.2rc1"
 
-CVE_STATUS[CVE-2015-4700] = "fixed-version: Fixed after version 4.1rc6"
+CVE_STATUS[CVE-2015-4700] = "fixed-version: Fixed from version 4.1rc6"
 
-CVE_STATUS[CVE-2015-5156] = "fixed-version: Fixed after version 4.2rc7"
+CVE_STATUS[CVE-2015-5156] = "fixed-version: Fixed from version 4.2rc7"
 
-CVE_STATUS[CVE-2015-5157] = "fixed-version: Fixed after version 4.2rc3"
+CVE_STATUS[CVE-2015-5157] = "fixed-version: Fixed from version 4.2rc3"
 
-CVE_STATUS[CVE-2015-5257] = "fixed-version: Fixed after version 4.3rc3"
+CVE_STATUS[CVE-2015-5257] = "fixed-version: Fixed from version 4.3rc3"
 
-CVE_STATUS[CVE-2015-5283] = "fixed-version: Fixed after version 4.3rc3"
+CVE_STATUS[CVE-2015-5283] = "fixed-version: Fixed from version 4.3rc3"
 
-CVE_STATUS[CVE-2015-5307] = "fixed-version: Fixed after version 4.4rc1"
+CVE_STATUS[CVE-2015-5307] = "fixed-version: Fixed from version 4.4rc1"
 
-CVE_STATUS[CVE-2015-5327] = "fixed-version: Fixed after version 4.4rc1"
+CVE_STATUS[CVE-2015-5327] = "fixed-version: Fixed from version 4.4rc1"
 
-CVE_STATUS[CVE-2015-5364] = "fixed-version: Fixed after version 4.1rc7"
+CVE_STATUS[CVE-2015-5364] = "fixed-version: Fixed from version 4.1rc7"
 
-CVE_STATUS[CVE-2015-5366] = "fixed-version: Fixed after version 4.1rc7"
+CVE_STATUS[CVE-2015-5366] = "fixed-version: Fixed from version 4.1rc7"
 
-CVE_STATUS[CVE-2015-5697] = "fixed-version: Fixed after version 4.2rc6"
+CVE_STATUS[CVE-2015-5697] = "fixed-version: Fixed from version 4.2rc6"
 
-CVE_STATUS[CVE-2015-5706] = "fixed-version: Fixed after version 4.1rc3"
+CVE_STATUS[CVE-2015-5706] = "fixed-version: Fixed from version 4.1rc3"
 
-CVE_STATUS[CVE-2015-5707] = "fixed-version: Fixed after version 4.1rc1"
+CVE_STATUS[CVE-2015-5707] = "fixed-version: Fixed from version 4.1rc1"
 
-CVE_STATUS[CVE-2015-6252] = "fixed-version: Fixed after version 4.2rc5"
+CVE_STATUS[CVE-2015-6252] = "fixed-version: Fixed from version 4.2rc5"
 
-CVE_STATUS[CVE-2015-6526] = "fixed-version: Fixed after version 4.1rc1"
+CVE_STATUS[CVE-2015-6526] = "fixed-version: Fixed from version 4.1rc1"
 
 # CVE-2015-6619 has no known resolution
 
 # CVE-2015-6646 has no known resolution
 
-CVE_STATUS[CVE-2015-6937] = "fixed-version: Fixed after version 4.3rc1"
+CVE_STATUS[CVE-2015-6937] = "fixed-version: Fixed from version 4.3rc1"
 
 # Skipping CVE-2015-7312, no affected_versions
 
-CVE_STATUS[CVE-2015-7509] = "fixed-version: Fixed after version 3.7rc1"
+CVE_STATUS[CVE-2015-7509] = "fixed-version: Fixed from version 3.7rc1"
 
-CVE_STATUS[CVE-2015-7513] = "fixed-version: Fixed after version 4.4rc7"
+CVE_STATUS[CVE-2015-7513] = "fixed-version: Fixed from version 4.4rc7"
 
-CVE_STATUS[CVE-2015-7515] = "fixed-version: Fixed after version 4.4rc6"
+CVE_STATUS[CVE-2015-7515] = "fixed-version: Fixed from version 4.4rc6"
 
-CVE_STATUS[CVE-2015-7550] = "fixed-version: Fixed after version 4.4rc8"
+CVE_STATUS[CVE-2015-7550] = "fixed-version: Fixed from version 4.4rc8"
 
 # Skipping CVE-2015-7553, no affected_versions
 
-CVE_STATUS[CVE-2015-7566] = "fixed-version: Fixed after version 4.5rc2"
+CVE_STATUS[CVE-2015-7566] = "fixed-version: Fixed from version 4.5rc2"
 
-CVE_STATUS[CVE-2015-7613] = "fixed-version: Fixed after version 4.3rc4"
+CVE_STATUS[CVE-2015-7613] = "fixed-version: Fixed from version 4.3rc4"
 
-CVE_STATUS[CVE-2015-7799] = "fixed-version: Fixed after version 4.4rc1"
+CVE_STATUS[CVE-2015-7799] = "fixed-version: Fixed from version 4.4rc1"
 
-CVE_STATUS[CVE-2015-7833] = "fixed-version: Fixed after version 4.6rc6"
+CVE_STATUS[CVE-2015-7833] = "fixed-version: Fixed from version 4.6rc6"
 
 # Skipping CVE-2015-7837, no affected_versions
 
-CVE_STATUS[CVE-2015-7872] = "fixed-version: Fixed after version 4.3rc7"
+CVE_STATUS[CVE-2015-7872] = "fixed-version: Fixed from version 4.3rc7"
 
-CVE_STATUS[CVE-2015-7884] = "fixed-version: Fixed after version 4.4rc1"
+CVE_STATUS[CVE-2015-7884] = "fixed-version: Fixed from version 4.4rc1"
 
-CVE_STATUS[CVE-2015-7885] = "fixed-version: Fixed after version 4.4rc1"
+CVE_STATUS[CVE-2015-7885] = "fixed-version: Fixed from version 4.4rc1"
 
-CVE_STATUS[CVE-2015-7990] = "fixed-version: Fixed after version 4.4rc4"
+CVE_STATUS[CVE-2015-7990] = "fixed-version: Fixed from version 4.4rc4"
 
 # Skipping CVE-2015-8019, no affected_versions
 
-CVE_STATUS[CVE-2015-8104] = "fixed-version: Fixed after version 4.4rc1"
+CVE_STATUS[CVE-2015-8104] = "fixed-version: Fixed from version 4.4rc1"
 
-CVE_STATUS[CVE-2015-8215] = "fixed-version: Fixed after version 4.0rc3"
+CVE_STATUS[CVE-2015-8215] = "fixed-version: Fixed from version 4.0rc3"
 
-CVE_STATUS[CVE-2015-8324] = "fixed-version: Fixed after version 2.6.34rc1"
+CVE_STATUS[CVE-2015-8324] = "fixed-version: Fixed from version 2.6.34rc1"
 
-CVE_STATUS[CVE-2015-8374] = "fixed-version: Fixed after version 4.4rc1"
+CVE_STATUS[CVE-2015-8374] = "fixed-version: Fixed from version 4.4rc1"
 
-CVE_STATUS[CVE-2015-8539] = "fixed-version: Fixed after version 4.4rc3"
+CVE_STATUS[CVE-2015-8539] = "fixed-version: Fixed from version 4.4rc3"
 
-CVE_STATUS[CVE-2015-8543] = "fixed-version: Fixed after version 4.4rc6"
+CVE_STATUS[CVE-2015-8543] = "fixed-version: Fixed from version 4.4rc6"
 
-CVE_STATUS[CVE-2015-8550] = "fixed-version: Fixed after version 4.4rc6"
+CVE_STATUS[CVE-2015-8550] = "fixed-version: Fixed from version 4.4rc6"
 
-CVE_STATUS[CVE-2015-8551] = "fixed-version: Fixed after version 4.4rc6"
+CVE_STATUS[CVE-2015-8551] = "fixed-version: Fixed from version 4.4rc6"
 
-CVE_STATUS[CVE-2015-8552] = "fixed-version: Fixed after version 4.4rc6"
+CVE_STATUS[CVE-2015-8552] = "fixed-version: Fixed from version 4.4rc6"
 
-CVE_STATUS[CVE-2015-8553] = "fixed-version: Fixed after version 4.4rc6"
+CVE_STATUS[CVE-2015-8553] = "fixed-version: Fixed from version 4.4rc6"
 
-CVE_STATUS[CVE-2015-8569] = "fixed-version: Fixed after version 4.4rc6"
+CVE_STATUS[CVE-2015-8569] = "fixed-version: Fixed from version 4.4rc6"
 
-CVE_STATUS[CVE-2015-8575] = "fixed-version: Fixed after version 4.4rc6"
+CVE_STATUS[CVE-2015-8575] = "fixed-version: Fixed from version 4.4rc6"
 
-CVE_STATUS[CVE-2015-8660] = "fixed-version: Fixed after version 4.4rc4"
+CVE_STATUS[CVE-2015-8660] = "fixed-version: Fixed from version 4.4rc4"
 
-CVE_STATUS[CVE-2015-8709] = "fixed-version: Fixed after version 4.10rc1"
+CVE_STATUS[CVE-2015-8709] = "fixed-version: Fixed from version 4.10rc1"
 
-CVE_STATUS[CVE-2015-8746] = "fixed-version: Fixed after version 4.3rc1"
+CVE_STATUS[CVE-2015-8746] = "fixed-version: Fixed from version 4.3rc1"
 
-CVE_STATUS[CVE-2015-8767] = "fixed-version: Fixed after version 4.3rc4"
+CVE_STATUS[CVE-2015-8767] = "fixed-version: Fixed from version 4.3rc4"
 
-CVE_STATUS[CVE-2015-8785] = "fixed-version: Fixed after version 4.4rc5"
+CVE_STATUS[CVE-2015-8785] = "fixed-version: Fixed from version 4.4rc5"
 
-CVE_STATUS[CVE-2015-8787] = "fixed-version: Fixed after version 4.4rc1"
+CVE_STATUS[CVE-2015-8787] = "fixed-version: Fixed from version 4.4rc1"
 
-CVE_STATUS[CVE-2015-8812] = "fixed-version: Fixed after version 4.5rc1"
+CVE_STATUS[CVE-2015-8812] = "fixed-version: Fixed from version 4.5rc1"
 
-CVE_STATUS[CVE-2015-8816] = "fixed-version: Fixed after version 4.4rc6"
+CVE_STATUS[CVE-2015-8816] = "fixed-version: Fixed from version 4.4rc6"
 
-CVE_STATUS[CVE-2015-8830] = "fixed-version: Fixed after version 4.1rc1"
+CVE_STATUS[CVE-2015-8830] = "fixed-version: Fixed from version 4.1rc1"
 
-CVE_STATUS[CVE-2015-8839] = "fixed-version: Fixed after version 4.5rc1"
+CVE_STATUS[CVE-2015-8839] = "fixed-version: Fixed from version 4.5rc1"
 
-CVE_STATUS[CVE-2015-8844] = "fixed-version: Fixed after version 4.4rc3"
+CVE_STATUS[CVE-2015-8844] = "fixed-version: Fixed from version 4.4rc3"
 
-CVE_STATUS[CVE-2015-8845] = "fixed-version: Fixed after version 4.4rc3"
+CVE_STATUS[CVE-2015-8845] = "fixed-version: Fixed from version 4.4rc3"
 
 # Skipping CVE-2015-8937, no affected_versions
 
@@ -1127,165 +1136,165 @@
 
 # Skipping CVE-2015-8944, no affected_versions
 
-CVE_STATUS[CVE-2015-8950] = "fixed-version: Fixed after version 4.1rc2"
+CVE_STATUS[CVE-2015-8950] = "fixed-version: Fixed from version 4.1rc2"
 
-CVE_STATUS[CVE-2015-8952] = "fixed-version: Fixed after version 4.6rc1"
+CVE_STATUS[CVE-2015-8952] = "fixed-version: Fixed from version 4.6rc1"
 
-CVE_STATUS[CVE-2015-8953] = "fixed-version: Fixed after version 4.3"
+CVE_STATUS[CVE-2015-8953] = "fixed-version: Fixed from version 4.3"
 
-CVE_STATUS[CVE-2015-8955] = "fixed-version: Fixed after version 4.1rc1"
+CVE_STATUS[CVE-2015-8955] = "fixed-version: Fixed from version 4.1rc1"
 
-CVE_STATUS[CVE-2015-8956] = "fixed-version: Fixed after version 4.2rc1"
+CVE_STATUS[CVE-2015-8956] = "fixed-version: Fixed from version 4.2rc1"
 
-CVE_STATUS[CVE-2015-8961] = "fixed-version: Fixed after version 4.4rc1"
+CVE_STATUS[CVE-2015-8961] = "fixed-version: Fixed from version 4.4rc1"
 
-CVE_STATUS[CVE-2015-8962] = "fixed-version: Fixed after version 4.4rc1"
+CVE_STATUS[CVE-2015-8962] = "fixed-version: Fixed from version 4.4rc1"
 
-CVE_STATUS[CVE-2015-8963] = "fixed-version: Fixed after version 4.4"
+CVE_STATUS[CVE-2015-8963] = "fixed-version: Fixed from version 4.4"
 
-CVE_STATUS[CVE-2015-8964] = "fixed-version: Fixed after version 4.5rc1"
+CVE_STATUS[CVE-2015-8964] = "fixed-version: Fixed from version 4.5rc1"
 
-CVE_STATUS[CVE-2015-8966] = "fixed-version: Fixed after version 4.4rc8"
+CVE_STATUS[CVE-2015-8966] = "fixed-version: Fixed from version 4.4rc8"
 
-CVE_STATUS[CVE-2015-8967] = "fixed-version: Fixed after version 4.0rc1"
+CVE_STATUS[CVE-2015-8967] = "fixed-version: Fixed from version 4.0rc1"
 
-CVE_STATUS[CVE-2015-8970] = "fixed-version: Fixed after version 4.5rc1"
+CVE_STATUS[CVE-2015-8970] = "fixed-version: Fixed from version 4.5rc1"
 
-CVE_STATUS[CVE-2015-9004] = "fixed-version: Fixed after version 3.19rc7"
+CVE_STATUS[CVE-2015-9004] = "fixed-version: Fixed from version 3.19rc7"
 
-CVE_STATUS[CVE-2015-9016] = "fixed-version: Fixed after version 4.3rc1"
+CVE_STATUS[CVE-2015-9016] = "fixed-version: Fixed from version 4.3rc1"
 
-CVE_STATUS[CVE-2015-9289] = "fixed-version: Fixed after version 4.2rc1"
+CVE_STATUS[CVE-2015-9289] = "fixed-version: Fixed from version 4.2rc1"
 
-CVE_STATUS[CVE-2016-0617] = "fixed-version: Fixed after version 4.5rc1"
+CVE_STATUS[CVE-2016-0617] = "fixed-version: Fixed from version 4.5rc1"
 
-CVE_STATUS[CVE-2016-0723] = "fixed-version: Fixed after version 4.5rc2"
+CVE_STATUS[CVE-2016-0723] = "fixed-version: Fixed from version 4.5rc2"
 
-CVE_STATUS[CVE-2016-0728] = "fixed-version: Fixed after version 4.5rc1"
+CVE_STATUS[CVE-2016-0728] = "fixed-version: Fixed from version 4.5rc1"
 
-CVE_STATUS[CVE-2016-0758] = "fixed-version: Fixed after version 4.6"
+CVE_STATUS[CVE-2016-0758] = "fixed-version: Fixed from version 4.6"
 
 # Skipping CVE-2016-0774, no affected_versions
 
-CVE_STATUS[CVE-2016-0821] = "fixed-version: Fixed after version 4.3rc1"
+CVE_STATUS[CVE-2016-0821] = "fixed-version: Fixed from version 4.3rc1"
 
-CVE_STATUS[CVE-2016-0823] = "fixed-version: Fixed after version 4.0rc5"
+CVE_STATUS[CVE-2016-0823] = "fixed-version: Fixed from version 4.0rc5"
 
-CVE_STATUS[CVE-2016-10044] = "fixed-version: Fixed after version 4.8rc7"
+CVE_STATUS[CVE-2016-10044] = "fixed-version: Fixed from version 4.8rc7"
 
-CVE_STATUS[CVE-2016-10088] = "fixed-version: Fixed after version 4.10rc1"
+CVE_STATUS[CVE-2016-10088] = "fixed-version: Fixed from version 4.10rc1"
 
-CVE_STATUS[CVE-2016-10147] = "fixed-version: Fixed after version 4.9"
+CVE_STATUS[CVE-2016-10147] = "fixed-version: Fixed from version 4.9"
 
-CVE_STATUS[CVE-2016-10150] = "fixed-version: Fixed after version 4.9rc8"
+CVE_STATUS[CVE-2016-10150] = "fixed-version: Fixed from version 4.9rc8"
 
-CVE_STATUS[CVE-2016-10153] = "fixed-version: Fixed after version 4.10rc1"
+CVE_STATUS[CVE-2016-10153] = "fixed-version: Fixed from version 4.10rc1"
 
-CVE_STATUS[CVE-2016-10154] = "fixed-version: Fixed after version 4.10rc1"
+CVE_STATUS[CVE-2016-10154] = "fixed-version: Fixed from version 4.10rc1"
 
-CVE_STATUS[CVE-2016-10200] = "fixed-version: Fixed after version 4.9rc7"
+CVE_STATUS[CVE-2016-10200] = "fixed-version: Fixed from version 4.9rc7"
 
-CVE_STATUS[CVE-2016-10208] = "fixed-version: Fixed after version 4.10rc1"
+CVE_STATUS[CVE-2016-10208] = "fixed-version: Fixed from version 4.10rc1"
 
-CVE_STATUS[CVE-2016-10229] = "fixed-version: Fixed after version 4.5rc1"
+CVE_STATUS[CVE-2016-10229] = "fixed-version: Fixed from version 4.5rc1"
 
-CVE_STATUS[CVE-2016-10318] = "fixed-version: Fixed after version 4.8rc6"
+CVE_STATUS[CVE-2016-10318] = "fixed-version: Fixed from version 4.8rc6"
 
-CVE_STATUS[CVE-2016-10723] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2016-10723] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2016-10741] = "fixed-version: Fixed after version 4.10rc1"
+CVE_STATUS[CVE-2016-10741] = "fixed-version: Fixed from version 4.10rc1"
 
-CVE_STATUS[CVE-2016-10764] = "fixed-version: Fixed after version 4.10rc1"
+CVE_STATUS[CVE-2016-10764] = "fixed-version: Fixed from version 4.10rc1"
 
-CVE_STATUS[CVE-2016-10905] = "fixed-version: Fixed after version 4.8rc1"
+CVE_STATUS[CVE-2016-10905] = "fixed-version: Fixed from version 4.8rc1"
 
-CVE_STATUS[CVE-2016-10906] = "fixed-version: Fixed after version 4.5rc6"
+CVE_STATUS[CVE-2016-10906] = "fixed-version: Fixed from version 4.5rc6"
 
-CVE_STATUS[CVE-2016-10907] = "fixed-version: Fixed after version 4.9rc1"
+CVE_STATUS[CVE-2016-10907] = "fixed-version: Fixed from version 4.9rc1"
 
-CVE_STATUS[CVE-2016-1237] = "fixed-version: Fixed after version 4.7rc5"
+CVE_STATUS[CVE-2016-1237] = "fixed-version: Fixed from version 4.7rc5"
 
-CVE_STATUS[CVE-2016-1575] = "fixed-version: Fixed after version 4.5rc1"
+CVE_STATUS[CVE-2016-1575] = "fixed-version: Fixed from version 4.5rc1"
 
-CVE_STATUS[CVE-2016-1576] = "fixed-version: Fixed after version 4.5rc1"
+CVE_STATUS[CVE-2016-1576] = "fixed-version: Fixed from version 4.5rc1"
 
-CVE_STATUS[CVE-2016-1583] = "fixed-version: Fixed after version 4.7rc3"
+CVE_STATUS[CVE-2016-1583] = "fixed-version: Fixed from version 4.7rc3"
 
-CVE_STATUS[CVE-2016-2053] = "fixed-version: Fixed after version 4.3rc1"
+CVE_STATUS[CVE-2016-2053] = "fixed-version: Fixed from version 4.3rc1"
 
-CVE_STATUS[CVE-2016-2069] = "fixed-version: Fixed after version 4.5rc1"
+CVE_STATUS[CVE-2016-2069] = "fixed-version: Fixed from version 4.5rc1"
 
-CVE_STATUS[CVE-2016-2070] = "fixed-version: Fixed after version 4.4"
+CVE_STATUS[CVE-2016-2070] = "fixed-version: Fixed from version 4.4"
 
-CVE_STATUS[CVE-2016-2085] = "fixed-version: Fixed after version 4.5rc4"
+CVE_STATUS[CVE-2016-2085] = "fixed-version: Fixed from version 4.5rc4"
 
-CVE_STATUS[CVE-2016-2117] = "fixed-version: Fixed after version 4.6rc5"
+CVE_STATUS[CVE-2016-2117] = "fixed-version: Fixed from version 4.6rc5"
 
-CVE_STATUS[CVE-2016-2143] = "fixed-version: Fixed after version 4.5"
+CVE_STATUS[CVE-2016-2143] = "fixed-version: Fixed from version 4.5"
 
-CVE_STATUS[CVE-2016-2184] = "fixed-version: Fixed after version 4.6rc1"
+CVE_STATUS[CVE-2016-2184] = "fixed-version: Fixed from version 4.6rc1"
 
-CVE_STATUS[CVE-2016-2185] = "fixed-version: Fixed after version 4.6rc1"
+CVE_STATUS[CVE-2016-2185] = "fixed-version: Fixed from version 4.6rc1"
 
-CVE_STATUS[CVE-2016-2186] = "fixed-version: Fixed after version 4.6rc1"
+CVE_STATUS[CVE-2016-2186] = "fixed-version: Fixed from version 4.6rc1"
 
-CVE_STATUS[CVE-2016-2187] = "fixed-version: Fixed after version 4.6rc5"
+CVE_STATUS[CVE-2016-2187] = "fixed-version: Fixed from version 4.6rc5"
 
-CVE_STATUS[CVE-2016-2188] = "fixed-version: Fixed after version 4.11rc2"
+CVE_STATUS[CVE-2016-2188] = "fixed-version: Fixed from version 4.11rc2"
 
-CVE_STATUS[CVE-2016-2383] = "fixed-version: Fixed after version 4.5rc4"
+CVE_STATUS[CVE-2016-2383] = "fixed-version: Fixed from version 4.5rc4"
 
-CVE_STATUS[CVE-2016-2384] = "fixed-version: Fixed after version 4.5rc4"
+CVE_STATUS[CVE-2016-2384] = "fixed-version: Fixed from version 4.5rc4"
 
-CVE_STATUS[CVE-2016-2543] = "fixed-version: Fixed after version 4.5rc1"
+CVE_STATUS[CVE-2016-2543] = "fixed-version: Fixed from version 4.5rc1"
 
-CVE_STATUS[CVE-2016-2544] = "fixed-version: Fixed after version 4.5rc1"
+CVE_STATUS[CVE-2016-2544] = "fixed-version: Fixed from version 4.5rc1"
 
-CVE_STATUS[CVE-2016-2545] = "fixed-version: Fixed after version 4.5rc1"
+CVE_STATUS[CVE-2016-2545] = "fixed-version: Fixed from version 4.5rc1"
 
-CVE_STATUS[CVE-2016-2546] = "fixed-version: Fixed after version 4.5rc1"
+CVE_STATUS[CVE-2016-2546] = "fixed-version: Fixed from version 4.5rc1"
 
-CVE_STATUS[CVE-2016-2547] = "fixed-version: Fixed after version 4.5rc1"
+CVE_STATUS[CVE-2016-2547] = "fixed-version: Fixed from version 4.5rc1"
 
-CVE_STATUS[CVE-2016-2548] = "fixed-version: Fixed after version 4.5rc1"
+CVE_STATUS[CVE-2016-2548] = "fixed-version: Fixed from version 4.5rc1"
 
-CVE_STATUS[CVE-2016-2549] = "fixed-version: Fixed after version 4.5rc1"
+CVE_STATUS[CVE-2016-2549] = "fixed-version: Fixed from version 4.5rc1"
 
-CVE_STATUS[CVE-2016-2550] = "fixed-version: Fixed after version 4.5rc4"
+CVE_STATUS[CVE-2016-2550] = "fixed-version: Fixed from version 4.5rc4"
 
-CVE_STATUS[CVE-2016-2782] = "fixed-version: Fixed after version 4.5rc2"
+CVE_STATUS[CVE-2016-2782] = "fixed-version: Fixed from version 4.5rc2"
 
-CVE_STATUS[CVE-2016-2847] = "fixed-version: Fixed after version 4.5rc1"
+CVE_STATUS[CVE-2016-2847] = "fixed-version: Fixed from version 4.5rc1"
 
 # Skipping CVE-2016-2853, no affected_versions
 
 # Skipping CVE-2016-2854, no affected_versions
 
-CVE_STATUS[CVE-2016-3044] = "fixed-version: Fixed after version 4.5"
+CVE_STATUS[CVE-2016-3044] = "fixed-version: Fixed from version 4.5"
 
-CVE_STATUS[CVE-2016-3070] = "fixed-version: Fixed after version 4.4rc1"
+CVE_STATUS[CVE-2016-3070] = "fixed-version: Fixed from version 4.4rc1"
 
-CVE_STATUS[CVE-2016-3134] = "fixed-version: Fixed after version 4.6rc2"
+CVE_STATUS[CVE-2016-3134] = "fixed-version: Fixed from version 4.6rc2"
 
-CVE_STATUS[CVE-2016-3135] = "fixed-version: Fixed after version 4.6rc1"
+CVE_STATUS[CVE-2016-3135] = "fixed-version: Fixed from version 4.6rc1"
 
-CVE_STATUS[CVE-2016-3136] = "fixed-version: Fixed after version 4.6rc3"
+CVE_STATUS[CVE-2016-3136] = "fixed-version: Fixed from version 4.6rc3"
 
-CVE_STATUS[CVE-2016-3137] = "fixed-version: Fixed after version 4.6rc3"
+CVE_STATUS[CVE-2016-3137] = "fixed-version: Fixed from version 4.6rc3"
 
-CVE_STATUS[CVE-2016-3138] = "fixed-version: Fixed after version 4.6rc1"
+CVE_STATUS[CVE-2016-3138] = "fixed-version: Fixed from version 4.6rc1"
 
-CVE_STATUS[CVE-2016-3139] = "fixed-version: Fixed after version 3.17rc1"
+CVE_STATUS[CVE-2016-3139] = "fixed-version: Fixed from version 3.17rc1"
 
-CVE_STATUS[CVE-2016-3140] = "fixed-version: Fixed after version 4.6rc3"
+CVE_STATUS[CVE-2016-3140] = "fixed-version: Fixed from version 4.6rc3"
 
-CVE_STATUS[CVE-2016-3156] = "fixed-version: Fixed after version 4.6rc1"
+CVE_STATUS[CVE-2016-3156] = "fixed-version: Fixed from version 4.6rc1"
 
-CVE_STATUS[CVE-2016-3157] = "fixed-version: Fixed after version 4.6rc1"
+CVE_STATUS[CVE-2016-3157] = "fixed-version: Fixed from version 4.6rc1"
 
-CVE_STATUS[CVE-2016-3672] = "fixed-version: Fixed after version 4.6rc1"
+CVE_STATUS[CVE-2016-3672] = "fixed-version: Fixed from version 4.6rc1"
 
-CVE_STATUS[CVE-2016-3689] = "fixed-version: Fixed after version 4.6rc1"
+CVE_STATUS[CVE-2016-3689] = "fixed-version: Fixed from version 4.6rc1"
 
 # Skipping CVE-2016-3695, no affected_versions
 
@@ -1293,7 +1302,7 @@
 
 # Skipping CVE-2016-3707, no affected_versions
 
-CVE_STATUS[CVE-2016-3713] = "fixed-version: Fixed after version 4.7rc1"
+CVE_STATUS[CVE-2016-3713] = "fixed-version: Fixed from version 4.7rc1"
 
 # CVE-2016-3775 has no known resolution
 
@@ -1301,59 +1310,59 @@
 
 # CVE-2016-3803 has no known resolution
 
-CVE_STATUS[CVE-2016-3841] = "fixed-version: Fixed after version 4.4rc4"
+CVE_STATUS[CVE-2016-3841] = "fixed-version: Fixed from version 4.4rc4"
 
-CVE_STATUS[CVE-2016-3857] = "fixed-version: Fixed after version 4.8rc2"
+CVE_STATUS[CVE-2016-3857] = "fixed-version: Fixed from version 4.8rc2"
 
-CVE_STATUS[CVE-2016-3951] = "fixed-version: Fixed after version 4.5"
+CVE_STATUS[CVE-2016-3951] = "fixed-version: Fixed from version 4.5"
 
-CVE_STATUS[CVE-2016-3955] = "fixed-version: Fixed after version 4.6rc3"
+CVE_STATUS[CVE-2016-3955] = "fixed-version: Fixed from version 4.6rc3"
 
-CVE_STATUS[CVE-2016-3961] = "fixed-version: Fixed after version 4.6rc5"
+CVE_STATUS[CVE-2016-3961] = "fixed-version: Fixed from version 4.6rc5"
 
-CVE_STATUS[CVE-2016-4440] = "fixed-version: Fixed after version 4.7rc1"
+CVE_STATUS[CVE-2016-4440] = "fixed-version: Fixed from version 4.7rc1"
 
-CVE_STATUS[CVE-2016-4470] = "fixed-version: Fixed after version 4.7rc4"
+CVE_STATUS[CVE-2016-4470] = "fixed-version: Fixed from version 4.7rc4"
 
-CVE_STATUS[CVE-2016-4482] = "fixed-version: Fixed after version 4.7rc1"
+CVE_STATUS[CVE-2016-4482] = "fixed-version: Fixed from version 4.7rc1"
 
-CVE_STATUS[CVE-2016-4485] = "fixed-version: Fixed after version 4.6"
+CVE_STATUS[CVE-2016-4485] = "fixed-version: Fixed from version 4.6"
 
-CVE_STATUS[CVE-2016-4486] = "fixed-version: Fixed after version 4.6"
+CVE_STATUS[CVE-2016-4486] = "fixed-version: Fixed from version 4.6"
 
-CVE_STATUS[CVE-2016-4557] = "fixed-version: Fixed after version 4.6rc6"
+CVE_STATUS[CVE-2016-4557] = "fixed-version: Fixed from version 4.6rc6"
 
-CVE_STATUS[CVE-2016-4558] = "fixed-version: Fixed after version 4.6rc7"
+CVE_STATUS[CVE-2016-4558] = "fixed-version: Fixed from version 4.6rc7"
 
-CVE_STATUS[CVE-2016-4565] = "fixed-version: Fixed after version 4.6rc6"
+CVE_STATUS[CVE-2016-4565] = "fixed-version: Fixed from version 4.6rc6"
 
-CVE_STATUS[CVE-2016-4568] = "fixed-version: Fixed after version 4.6rc6"
+CVE_STATUS[CVE-2016-4568] = "fixed-version: Fixed from version 4.6rc6"
 
-CVE_STATUS[CVE-2016-4569] = "fixed-version: Fixed after version 4.7rc1"
+CVE_STATUS[CVE-2016-4569] = "fixed-version: Fixed from version 4.7rc1"
 
-CVE_STATUS[CVE-2016-4578] = "fixed-version: Fixed after version 4.7rc1"
+CVE_STATUS[CVE-2016-4578] = "fixed-version: Fixed from version 4.7rc1"
 
-CVE_STATUS[CVE-2016-4580] = "fixed-version: Fixed after version 4.6"
+CVE_STATUS[CVE-2016-4580] = "fixed-version: Fixed from version 4.6"
 
-CVE_STATUS[CVE-2016-4581] = "fixed-version: Fixed after version 4.6rc7"
+CVE_STATUS[CVE-2016-4581] = "fixed-version: Fixed from version 4.6rc7"
 
-CVE_STATUS[CVE-2016-4794] = "fixed-version: Fixed after version 4.7rc4"
+CVE_STATUS[CVE-2016-4794] = "fixed-version: Fixed from version 4.7rc4"
 
-CVE_STATUS[CVE-2016-4805] = "fixed-version: Fixed after version 4.6rc1"
+CVE_STATUS[CVE-2016-4805] = "fixed-version: Fixed from version 4.6rc1"
 
-CVE_STATUS[CVE-2016-4913] = "fixed-version: Fixed after version 4.6"
+CVE_STATUS[CVE-2016-4913] = "fixed-version: Fixed from version 4.6"
 
-CVE_STATUS[CVE-2016-4951] = "fixed-version: Fixed after version 4.7rc1"
+CVE_STATUS[CVE-2016-4951] = "fixed-version: Fixed from version 4.7rc1"
 
-CVE_STATUS[CVE-2016-4997] = "fixed-version: Fixed after version 4.7rc1"
+CVE_STATUS[CVE-2016-4997] = "fixed-version: Fixed from version 4.7rc1"
 
-CVE_STATUS[CVE-2016-4998] = "fixed-version: Fixed after version 4.7rc1"
+CVE_STATUS[CVE-2016-4998] = "fixed-version: Fixed from version 4.7rc1"
 
-CVE_STATUS[CVE-2016-5195] = "fixed-version: Fixed after version 4.9rc2"
+CVE_STATUS[CVE-2016-5195] = "fixed-version: Fixed from version 4.9rc2"
 
-CVE_STATUS[CVE-2016-5243] = "fixed-version: Fixed after version 4.7rc3"
+CVE_STATUS[CVE-2016-5243] = "fixed-version: Fixed from version 4.7rc3"
 
-CVE_STATUS[CVE-2016-5244] = "fixed-version: Fixed after version 4.7rc3"
+CVE_STATUS[CVE-2016-5244] = "fixed-version: Fixed from version 4.7rc3"
 
 # Skipping CVE-2016-5340, no affected_versions
 
@@ -1363,79 +1372,79 @@
 
 # Skipping CVE-2016-5344, no affected_versions
 
-CVE_STATUS[CVE-2016-5400] = "fixed-version: Fixed after version 4.7"
+CVE_STATUS[CVE-2016-5400] = "fixed-version: Fixed from version 4.7"
 
-CVE_STATUS[CVE-2016-5412] = "fixed-version: Fixed after version 4.8rc1"
+CVE_STATUS[CVE-2016-5412] = "fixed-version: Fixed from version 4.8rc1"
 
-CVE_STATUS[CVE-2016-5696] = "fixed-version: Fixed after version 4.7"
+CVE_STATUS[CVE-2016-5696] = "fixed-version: Fixed from version 4.7"
 
-CVE_STATUS[CVE-2016-5728] = "fixed-version: Fixed after version 4.7rc1"
+CVE_STATUS[CVE-2016-5728] = "fixed-version: Fixed from version 4.7rc1"
 
-CVE_STATUS[CVE-2016-5828] = "fixed-version: Fixed after version 4.7rc6"
+CVE_STATUS[CVE-2016-5828] = "fixed-version: Fixed from version 4.7rc6"
 
-CVE_STATUS[CVE-2016-5829] = "fixed-version: Fixed after version 4.7rc5"
+CVE_STATUS[CVE-2016-5829] = "fixed-version: Fixed from version 4.7rc5"
 
 # CVE-2016-5870 has no known resolution
 
-CVE_STATUS[CVE-2016-6130] = "fixed-version: Fixed after version 4.6rc6"
+CVE_STATUS[CVE-2016-6130] = "fixed-version: Fixed from version 4.6rc6"
 
-CVE_STATUS[CVE-2016-6136] = "fixed-version: Fixed after version 4.8rc1"
+CVE_STATUS[CVE-2016-6136] = "fixed-version: Fixed from version 4.8rc1"
 
-CVE_STATUS[CVE-2016-6156] = "fixed-version: Fixed after version 4.7rc7"
+CVE_STATUS[CVE-2016-6156] = "fixed-version: Fixed from version 4.7rc7"
 
-CVE_STATUS[CVE-2016-6162] = "fixed-version: Fixed after version 4.7"
+CVE_STATUS[CVE-2016-6162] = "fixed-version: Fixed from version 4.7"
 
-CVE_STATUS[CVE-2016-6187] = "fixed-version: Fixed after version 4.7rc7"
+CVE_STATUS[CVE-2016-6187] = "fixed-version: Fixed from version 4.7rc7"
 
-CVE_STATUS[CVE-2016-6197] = "fixed-version: Fixed after version 4.6rc1"
+CVE_STATUS[CVE-2016-6197] = "fixed-version: Fixed from version 4.6rc1"
 
-CVE_STATUS[CVE-2016-6198] = "fixed-version: Fixed after version 4.6"
+CVE_STATUS[CVE-2016-6198] = "fixed-version: Fixed from version 4.6"
 
-CVE_STATUS[CVE-2016-6213] = "fixed-version: Fixed after version 4.9rc1"
+CVE_STATUS[CVE-2016-6213] = "fixed-version: Fixed from version 4.9rc1"
 
-CVE_STATUS[CVE-2016-6327] = "fixed-version: Fixed after version 4.6rc1"
+CVE_STATUS[CVE-2016-6327] = "fixed-version: Fixed from version 4.6rc1"
 
-CVE_STATUS[CVE-2016-6480] = "fixed-version: Fixed after version 4.8rc3"
+CVE_STATUS[CVE-2016-6480] = "fixed-version: Fixed from version 4.8rc3"
 
-CVE_STATUS[CVE-2016-6516] = "fixed-version: Fixed after version 4.8rc1"
+CVE_STATUS[CVE-2016-6516] = "fixed-version: Fixed from version 4.8rc1"
 
 # Skipping CVE-2016-6753, no affected_versions
 
-CVE_STATUS[CVE-2016-6786] = "fixed-version: Fixed after version 4.0rc1"
+CVE_STATUS[CVE-2016-6786] = "fixed-version: Fixed from version 4.0rc1"
 
-CVE_STATUS[CVE-2016-6787] = "fixed-version: Fixed after version 4.0rc1"
+CVE_STATUS[CVE-2016-6787] = "fixed-version: Fixed from version 4.0rc1"
 
-CVE_STATUS[CVE-2016-6828] = "fixed-version: Fixed after version 4.8rc5"
+CVE_STATUS[CVE-2016-6828] = "fixed-version: Fixed from version 4.8rc5"
 
-CVE_STATUS[CVE-2016-7039] = "fixed-version: Fixed after version 4.9rc4"
+CVE_STATUS[CVE-2016-7039] = "fixed-version: Fixed from version 4.9rc4"
 
-CVE_STATUS[CVE-2016-7042] = "fixed-version: Fixed after version 4.9rc3"
+CVE_STATUS[CVE-2016-7042] = "fixed-version: Fixed from version 4.9rc3"
 
-CVE_STATUS[CVE-2016-7097] = "fixed-version: Fixed after version 4.9rc1"
+CVE_STATUS[CVE-2016-7097] = "fixed-version: Fixed from version 4.9rc1"
 
-CVE_STATUS[CVE-2016-7117] = "fixed-version: Fixed after version 4.6rc1"
+CVE_STATUS[CVE-2016-7117] = "fixed-version: Fixed from version 4.6rc1"
 
 # Skipping CVE-2016-7118, no affected_versions
 
-CVE_STATUS[CVE-2016-7425] = "fixed-version: Fixed after version 4.9rc1"
+CVE_STATUS[CVE-2016-7425] = "fixed-version: Fixed from version 4.9rc1"
 
-CVE_STATUS[CVE-2016-7910] = "fixed-version: Fixed after version 4.8rc1"
+CVE_STATUS[CVE-2016-7910] = "fixed-version: Fixed from version 4.8rc1"
 
-CVE_STATUS[CVE-2016-7911] = "fixed-version: Fixed after version 4.7rc7"
+CVE_STATUS[CVE-2016-7911] = "fixed-version: Fixed from version 4.7rc7"
 
-CVE_STATUS[CVE-2016-7912] = "fixed-version: Fixed after version 4.6rc5"
+CVE_STATUS[CVE-2016-7912] = "fixed-version: Fixed from version 4.6rc5"
 
-CVE_STATUS[CVE-2016-7913] = "fixed-version: Fixed after version 4.6rc1"
+CVE_STATUS[CVE-2016-7913] = "fixed-version: Fixed from version 4.6rc1"
 
-CVE_STATUS[CVE-2016-7914] = "fixed-version: Fixed after version 4.6rc4"
+CVE_STATUS[CVE-2016-7914] = "fixed-version: Fixed from version 4.6rc4"
 
-CVE_STATUS[CVE-2016-7915] = "fixed-version: Fixed after version 4.6rc1"
+CVE_STATUS[CVE-2016-7915] = "fixed-version: Fixed from version 4.6rc1"
 
-CVE_STATUS[CVE-2016-7916] = "fixed-version: Fixed after version 4.6rc7"
+CVE_STATUS[CVE-2016-7916] = "fixed-version: Fixed from version 4.6rc7"
 
-CVE_STATUS[CVE-2016-7917] = "fixed-version: Fixed after version 4.5rc6"
+CVE_STATUS[CVE-2016-7917] = "fixed-version: Fixed from version 4.5rc6"
 
-CVE_STATUS[CVE-2016-8399] = "fixed-version: Fixed after version 4.9"
+CVE_STATUS[CVE-2016-8399] = "fixed-version: Fixed from version 4.9"
 
 # Skipping CVE-2016-8401, no affected_versions
 
@@ -1445,73 +1454,73 @@
 
 # Skipping CVE-2016-8404, no affected_versions
 
-CVE_STATUS[CVE-2016-8405] = "fixed-version: Fixed after version 4.10rc6"
+CVE_STATUS[CVE-2016-8405] = "fixed-version: Fixed from version 4.10rc6"
 
 # Skipping CVE-2016-8406, no affected_versions
 
 # Skipping CVE-2016-8407, no affected_versions
 
-CVE_STATUS[CVE-2016-8630] = "fixed-version: Fixed after version 4.9rc4"
+CVE_STATUS[CVE-2016-8630] = "fixed-version: Fixed from version 4.9rc4"
 
-CVE_STATUS[CVE-2016-8632] = "fixed-version: Fixed after version 4.9rc8"
+CVE_STATUS[CVE-2016-8632] = "fixed-version: Fixed from version 4.9rc8"
 
-CVE_STATUS[CVE-2016-8633] = "fixed-version: Fixed after version 4.9rc4"
+CVE_STATUS[CVE-2016-8633] = "fixed-version: Fixed from version 4.9rc4"
 
-CVE_STATUS[CVE-2016-8636] = "fixed-version: Fixed after version 4.10rc8"
+CVE_STATUS[CVE-2016-8636] = "fixed-version: Fixed from version 4.10rc8"
 
-CVE_STATUS[CVE-2016-8645] = "fixed-version: Fixed after version 4.9rc6"
+CVE_STATUS[CVE-2016-8645] = "fixed-version: Fixed from version 4.9rc6"
 
-CVE_STATUS[CVE-2016-8646] = "fixed-version: Fixed after version 4.4rc1"
+CVE_STATUS[CVE-2016-8646] = "fixed-version: Fixed from version 4.4rc1"
 
-CVE_STATUS[CVE-2016-8650] = "fixed-version: Fixed after version 4.9rc7"
+CVE_STATUS[CVE-2016-8650] = "fixed-version: Fixed from version 4.9rc7"
 
-CVE_STATUS[CVE-2016-8655] = "fixed-version: Fixed after version 4.9rc8"
+CVE_STATUS[CVE-2016-8655] = "fixed-version: Fixed from version 4.9rc8"
 
-CVE_STATUS[CVE-2016-8658] = "fixed-version: Fixed after version 4.8rc7"
+CVE_STATUS[CVE-2016-8658] = "fixed-version: Fixed from version 4.8rc7"
 
 # CVE-2016-8660 has no known resolution
 
-CVE_STATUS[CVE-2016-8666] = "fixed-version: Fixed after version 4.6rc1"
+CVE_STATUS[CVE-2016-8666] = "fixed-version: Fixed from version 4.6rc1"
 
-CVE_STATUS[CVE-2016-9083] = "fixed-version: Fixed after version 4.9rc4"
+CVE_STATUS[CVE-2016-9083] = "fixed-version: Fixed from version 4.9rc4"
 
-CVE_STATUS[CVE-2016-9084] = "fixed-version: Fixed after version 4.9rc4"
+CVE_STATUS[CVE-2016-9084] = "fixed-version: Fixed from version 4.9rc4"
 
-CVE_STATUS[CVE-2016-9120] = "fixed-version: Fixed after version 4.6rc1"
+CVE_STATUS[CVE-2016-9120] = "fixed-version: Fixed from version 4.6rc1"
 
-CVE_STATUS[CVE-2016-9178] = "fixed-version: Fixed after version 4.8rc7"
+CVE_STATUS[CVE-2016-9178] = "fixed-version: Fixed from version 4.8rc7"
 
-CVE_STATUS[CVE-2016-9191] = "fixed-version: Fixed after version 4.10rc4"
+CVE_STATUS[CVE-2016-9191] = "fixed-version: Fixed from version 4.10rc4"
 
-CVE_STATUS[CVE-2016-9313] = "fixed-version: Fixed after version 4.9rc3"
+CVE_STATUS[CVE-2016-9313] = "fixed-version: Fixed from version 4.9rc3"
 
-CVE_STATUS[CVE-2016-9555] = "fixed-version: Fixed after version 4.9rc4"
+CVE_STATUS[CVE-2016-9555] = "fixed-version: Fixed from version 4.9rc4"
 
-CVE_STATUS[CVE-2016-9576] = "fixed-version: Fixed after version 4.9"
+CVE_STATUS[CVE-2016-9576] = "fixed-version: Fixed from version 4.9"
 
-CVE_STATUS[CVE-2016-9588] = "fixed-version: Fixed after version 4.10rc1"
+CVE_STATUS[CVE-2016-9588] = "fixed-version: Fixed from version 4.10rc1"
 
-CVE_STATUS[CVE-2016-9604] = "fixed-version: Fixed after version 4.11rc8"
+CVE_STATUS[CVE-2016-9604] = "fixed-version: Fixed from version 4.11rc8"
 
 # Skipping CVE-2016-9644, no affected_versions
 
-CVE_STATUS[CVE-2016-9685] = "fixed-version: Fixed after version 4.6rc1"
+CVE_STATUS[CVE-2016-9685] = "fixed-version: Fixed from version 4.6rc1"
 
-CVE_STATUS[CVE-2016-9754] = "fixed-version: Fixed after version 4.7rc1"
+CVE_STATUS[CVE-2016-9754] = "fixed-version: Fixed from version 4.7rc1"
 
-CVE_STATUS[CVE-2016-9755] = "fixed-version: Fixed after version 4.9rc8"
+CVE_STATUS[CVE-2016-9755] = "fixed-version: Fixed from version 4.9rc8"
 
-CVE_STATUS[CVE-2016-9756] = "fixed-version: Fixed after version 4.9rc7"
+CVE_STATUS[CVE-2016-9756] = "fixed-version: Fixed from version 4.9rc7"
 
-CVE_STATUS[CVE-2016-9777] = "fixed-version: Fixed after version 4.9rc7"
+CVE_STATUS[CVE-2016-9777] = "fixed-version: Fixed from version 4.9rc7"
 
-CVE_STATUS[CVE-2016-9793] = "fixed-version: Fixed after version 4.9rc8"
+CVE_STATUS[CVE-2016-9793] = "fixed-version: Fixed from version 4.9rc8"
 
-CVE_STATUS[CVE-2016-9794] = "fixed-version: Fixed after version 4.7rc1"
+CVE_STATUS[CVE-2016-9794] = "fixed-version: Fixed from version 4.7rc1"
 
-CVE_STATUS[CVE-2016-9806] = "fixed-version: Fixed after version 4.7rc1"
+CVE_STATUS[CVE-2016-9806] = "fixed-version: Fixed from version 4.7rc1"
 
-CVE_STATUS[CVE-2016-9919] = "fixed-version: Fixed after version 4.9rc8"
+CVE_STATUS[CVE-2016-9919] = "fixed-version: Fixed from version 4.9rc8"
 
 # Skipping CVE-2017-0403, no affected_versions
 
@@ -1533,491 +1542,491 @@
 
 # CVE-2017-0564 has no known resolution
 
-CVE_STATUS[CVE-2017-0605] = "fixed-version: Fixed after version 4.12rc1"
+CVE_STATUS[CVE-2017-0605] = "fixed-version: Fixed from version 4.12rc1"
 
-CVE_STATUS[CVE-2017-0627] = "fixed-version: Fixed after version 4.14rc1"
+CVE_STATUS[CVE-2017-0627] = "fixed-version: Fixed from version 4.14rc1"
 
 # CVE-2017-0630 has no known resolution
 
 # CVE-2017-0749 has no known resolution
 
-CVE_STATUS[CVE-2017-0750] = "fixed-version: Fixed after version 4.5rc1"
+CVE_STATUS[CVE-2017-0750] = "fixed-version: Fixed from version 4.5rc1"
 
-CVE_STATUS[CVE-2017-0786] = "fixed-version: Fixed after version 4.14rc4"
+CVE_STATUS[CVE-2017-0786] = "fixed-version: Fixed from version 4.14rc4"
 
-CVE_STATUS[CVE-2017-0861] = "fixed-version: Fixed after version 4.15rc3"
+CVE_STATUS[CVE-2017-0861] = "fixed-version: Fixed from version 4.15rc3"
 
-CVE_STATUS[CVE-2017-1000] = "fixed-version: Fixed after version 4.13rc5"
+CVE_STATUS[CVE-2017-1000] = "fixed-version: Fixed from version 4.13rc5"
 
-CVE_STATUS[CVE-2017-1000111] = "fixed-version: Fixed after version 4.13rc5"
+CVE_STATUS[CVE-2017-1000111] = "fixed-version: Fixed from version 4.13rc5"
 
-CVE_STATUS[CVE-2017-1000112] = "fixed-version: Fixed after version 4.13rc5"
+CVE_STATUS[CVE-2017-1000112] = "fixed-version: Fixed from version 4.13rc5"
 
-CVE_STATUS[CVE-2017-1000251] = "fixed-version: Fixed after version 4.14rc1"
+CVE_STATUS[CVE-2017-1000251] = "fixed-version: Fixed from version 4.14rc1"
 
-CVE_STATUS[CVE-2017-1000252] = "fixed-version: Fixed after version 4.14rc1"
+CVE_STATUS[CVE-2017-1000252] = "fixed-version: Fixed from version 4.14rc1"
 
-CVE_STATUS[CVE-2017-1000253] = "fixed-version: Fixed after version 4.1rc1"
+CVE_STATUS[CVE-2017-1000253] = "fixed-version: Fixed from version 4.1rc1"
 
-CVE_STATUS[CVE-2017-1000255] = "fixed-version: Fixed after version 4.14rc5"
+CVE_STATUS[CVE-2017-1000255] = "fixed-version: Fixed from version 4.14rc5"
 
-CVE_STATUS[CVE-2017-1000363] = "fixed-version: Fixed after version 4.12rc2"
+CVE_STATUS[CVE-2017-1000363] = "fixed-version: Fixed from version 4.12rc2"
 
-CVE_STATUS[CVE-2017-1000364] = "fixed-version: Fixed after version 4.12rc6"
+CVE_STATUS[CVE-2017-1000364] = "fixed-version: Fixed from version 4.12rc6"
 
-CVE_STATUS[CVE-2017-1000365] = "fixed-version: Fixed after version 4.12rc7"
+CVE_STATUS[CVE-2017-1000365] = "fixed-version: Fixed from version 4.12rc7"
 
-CVE_STATUS[CVE-2017-1000370] = "fixed-version: Fixed after version 4.13rc1"
+CVE_STATUS[CVE-2017-1000370] = "fixed-version: Fixed from version 4.13rc1"
 
-CVE_STATUS[CVE-2017-1000371] = "fixed-version: Fixed after version 4.13rc1"
+CVE_STATUS[CVE-2017-1000371] = "fixed-version: Fixed from version 4.13rc1"
 
-CVE_STATUS[CVE-2017-1000379] = "fixed-version: Fixed after version 4.12rc6"
+CVE_STATUS[CVE-2017-1000379] = "fixed-version: Fixed from version 4.12rc6"
 
-CVE_STATUS[CVE-2017-1000380] = "fixed-version: Fixed after version 4.12rc5"
+CVE_STATUS[CVE-2017-1000380] = "fixed-version: Fixed from version 4.12rc5"
 
-CVE_STATUS[CVE-2017-1000405] = "fixed-version: Fixed after version 4.15rc2"
+CVE_STATUS[CVE-2017-1000405] = "fixed-version: Fixed from version 4.15rc2"
 
-CVE_STATUS[CVE-2017-1000407] = "fixed-version: Fixed after version 4.15rc3"
+CVE_STATUS[CVE-2017-1000407] = "fixed-version: Fixed from version 4.15rc3"
 
-CVE_STATUS[CVE-2017-1000410] = "fixed-version: Fixed after version 4.15rc8"
+CVE_STATUS[CVE-2017-1000410] = "fixed-version: Fixed from version 4.15rc8"
 
-CVE_STATUS[CVE-2017-10661] = "fixed-version: Fixed after version 4.11rc1"
+CVE_STATUS[CVE-2017-10661] = "fixed-version: Fixed from version 4.11rc1"
 
-CVE_STATUS[CVE-2017-10662] = "fixed-version: Fixed after version 4.12rc1"
+CVE_STATUS[CVE-2017-10662] = "fixed-version: Fixed from version 4.12rc1"
 
-CVE_STATUS[CVE-2017-10663] = "fixed-version: Fixed after version 4.13rc1"
+CVE_STATUS[CVE-2017-10663] = "fixed-version: Fixed from version 4.13rc1"
 
-CVE_STATUS[CVE-2017-10810] = "fixed-version: Fixed after version 4.12rc1"
+CVE_STATUS[CVE-2017-10810] = "fixed-version: Fixed from version 4.12rc1"
 
-CVE_STATUS[CVE-2017-10911] = "fixed-version: Fixed after version 4.12rc7"
+CVE_STATUS[CVE-2017-10911] = "fixed-version: Fixed from version 4.12rc7"
 
-CVE_STATUS[CVE-2017-11089] = "fixed-version: Fixed after version 4.13rc1"
+CVE_STATUS[CVE-2017-11089] = "fixed-version: Fixed from version 4.13rc1"
 
-CVE_STATUS[CVE-2017-11176] = "fixed-version: Fixed after version 4.13rc1"
+CVE_STATUS[CVE-2017-11176] = "fixed-version: Fixed from version 4.13rc1"
 
-CVE_STATUS[CVE-2017-11472] = "fixed-version: Fixed after version 4.12rc1"
+CVE_STATUS[CVE-2017-11472] = "fixed-version: Fixed from version 4.12rc1"
 
-CVE_STATUS[CVE-2017-11473] = "fixed-version: Fixed after version 4.13rc2"
+CVE_STATUS[CVE-2017-11473] = "fixed-version: Fixed from version 4.13rc2"
 
-CVE_STATUS[CVE-2017-11600] = "fixed-version: Fixed after version 4.13"
+CVE_STATUS[CVE-2017-11600] = "fixed-version: Fixed from version 4.13"
 
-CVE_STATUS[CVE-2017-12134] = "fixed-version: Fixed after version 4.13rc6"
+CVE_STATUS[CVE-2017-12134] = "fixed-version: Fixed from version 4.13rc6"
 
-CVE_STATUS[CVE-2017-12146] = "fixed-version: Fixed after version 4.13rc1"
+CVE_STATUS[CVE-2017-12146] = "fixed-version: Fixed from version 4.13rc1"
 
-CVE_STATUS[CVE-2017-12153] = "fixed-version: Fixed after version 4.14rc2"
+CVE_STATUS[CVE-2017-12153] = "fixed-version: Fixed from version 4.14rc2"
 
-CVE_STATUS[CVE-2017-12154] = "fixed-version: Fixed after version 4.14rc1"
+CVE_STATUS[CVE-2017-12154] = "fixed-version: Fixed from version 4.14rc1"
 
-CVE_STATUS[CVE-2017-12168] = "fixed-version: Fixed after version 4.9rc6"
+CVE_STATUS[CVE-2017-12168] = "fixed-version: Fixed from version 4.9rc6"
 
-CVE_STATUS[CVE-2017-12188] = "fixed-version: Fixed after version 4.14rc5"
+CVE_STATUS[CVE-2017-12188] = "fixed-version: Fixed from version 4.14rc5"
 
-CVE_STATUS[CVE-2017-12190] = "fixed-version: Fixed after version 4.14rc5"
+CVE_STATUS[CVE-2017-12190] = "fixed-version: Fixed from version 4.14rc5"
 
-CVE_STATUS[CVE-2017-12192] = "fixed-version: Fixed after version 4.14rc3"
+CVE_STATUS[CVE-2017-12192] = "fixed-version: Fixed from version 4.14rc3"
 
-CVE_STATUS[CVE-2017-12193] = "fixed-version: Fixed after version 4.14rc7"
+CVE_STATUS[CVE-2017-12193] = "fixed-version: Fixed from version 4.14rc7"
 
-CVE_STATUS[CVE-2017-12762] = "fixed-version: Fixed after version 4.13rc4"
+CVE_STATUS[CVE-2017-12762] = "fixed-version: Fixed from version 4.13rc4"
 
-CVE_STATUS[CVE-2017-13080] = "fixed-version: Fixed after version 4.14rc6"
+CVE_STATUS[CVE-2017-13080] = "fixed-version: Fixed from version 4.14rc6"
 
-CVE_STATUS[CVE-2017-13166] = "fixed-version: Fixed after version 4.16rc1"
+CVE_STATUS[CVE-2017-13166] = "fixed-version: Fixed from version 4.16rc1"
 
-CVE_STATUS[CVE-2017-13167] = "fixed-version: Fixed after version 4.5rc4"
+CVE_STATUS[CVE-2017-13167] = "fixed-version: Fixed from version 4.5rc4"
 
-CVE_STATUS[CVE-2017-13168] = "fixed-version: Fixed after version 4.18rc4"
+CVE_STATUS[CVE-2017-13168] = "fixed-version: Fixed from version 4.18rc4"
 
-CVE_STATUS[CVE-2017-13215] = "fixed-version: Fixed after version 4.5rc1"
+CVE_STATUS[CVE-2017-13215] = "fixed-version: Fixed from version 4.5rc1"
 
-CVE_STATUS[CVE-2017-13216] = "fixed-version: Fixed after version 4.15rc8"
+CVE_STATUS[CVE-2017-13216] = "fixed-version: Fixed from version 4.15rc8"
 
-CVE_STATUS[CVE-2017-13220] = "fixed-version: Fixed after version 3.19rc3"
+CVE_STATUS[CVE-2017-13220] = "fixed-version: Fixed from version 3.19rc3"
 
 # CVE-2017-13221 has no known resolution
 
 # CVE-2017-13222 has no known resolution
 
-CVE_STATUS[CVE-2017-13305] = "fixed-version: Fixed after version 4.12rc5"
+CVE_STATUS[CVE-2017-13305] = "fixed-version: Fixed from version 4.12rc5"
 
-CVE_STATUS[CVE-2017-13686] = "fixed-version: Fixed after version 4.13rc7"
+CVE_STATUS[CVE-2017-13686] = "fixed-version: Fixed from version 4.13rc7"
 
 # CVE-2017-13693 has no known resolution
 
 # CVE-2017-13694 has no known resolution
 
-CVE_STATUS[CVE-2017-13695] = "fixed-version: Fixed after version 4.17rc1"
+CVE_STATUS[CVE-2017-13695] = "fixed-version: Fixed from version 4.17rc1"
 
-CVE_STATUS[CVE-2017-13715] = "fixed-version: Fixed after version 4.3rc1"
+CVE_STATUS[CVE-2017-13715] = "fixed-version: Fixed from version 4.3rc1"
 
-CVE_STATUS[CVE-2017-14051] = "fixed-version: Fixed after version 4.14rc1"
+CVE_STATUS[CVE-2017-14051] = "fixed-version: Fixed from version 4.14rc1"
 
-CVE_STATUS[CVE-2017-14106] = "fixed-version: Fixed after version 4.12rc3"
+CVE_STATUS[CVE-2017-14106] = "fixed-version: Fixed from version 4.12rc3"
 
-CVE_STATUS[CVE-2017-14140] = "fixed-version: Fixed after version 4.13rc6"
+CVE_STATUS[CVE-2017-14140] = "fixed-version: Fixed from version 4.13rc6"
 
-CVE_STATUS[CVE-2017-14156] = "fixed-version: Fixed after version 4.14rc1"
+CVE_STATUS[CVE-2017-14156] = "fixed-version: Fixed from version 4.14rc1"
 
-CVE_STATUS[CVE-2017-14340] = "fixed-version: Fixed after version 4.14rc1"
+CVE_STATUS[CVE-2017-14340] = "fixed-version: Fixed from version 4.14rc1"
 
-CVE_STATUS[CVE-2017-14489] = "fixed-version: Fixed after version 4.14rc3"
+CVE_STATUS[CVE-2017-14489] = "fixed-version: Fixed from version 4.14rc3"
 
-CVE_STATUS[CVE-2017-14497] = "fixed-version: Fixed after version 4.13"
+CVE_STATUS[CVE-2017-14497] = "fixed-version: Fixed from version 4.13"
 
-CVE_STATUS[CVE-2017-14954] = "fixed-version: Fixed after version 4.14rc3"
+CVE_STATUS[CVE-2017-14954] = "fixed-version: Fixed from version 4.14rc3"
 
-CVE_STATUS[CVE-2017-14991] = "fixed-version: Fixed after version 4.14rc2"
+CVE_STATUS[CVE-2017-14991] = "fixed-version: Fixed from version 4.14rc2"
 
-CVE_STATUS[CVE-2017-15102] = "fixed-version: Fixed after version 4.9rc1"
+CVE_STATUS[CVE-2017-15102] = "fixed-version: Fixed from version 4.9rc1"
 
-CVE_STATUS[CVE-2017-15115] = "fixed-version: Fixed after version 4.14rc6"
+CVE_STATUS[CVE-2017-15115] = "fixed-version: Fixed from version 4.14rc6"
 
-CVE_STATUS[CVE-2017-15116] = "fixed-version: Fixed after version 4.2rc1"
+CVE_STATUS[CVE-2017-15116] = "fixed-version: Fixed from version 4.2rc1"
 
-CVE_STATUS[CVE-2017-15121] = "fixed-version: Fixed after version 3.11rc1"
+CVE_STATUS[CVE-2017-15121] = "fixed-version: Fixed from version 3.11rc1"
 
-CVE_STATUS[CVE-2017-15126] = "fixed-version: Fixed after version 4.14rc4"
+CVE_STATUS[CVE-2017-15126] = "fixed-version: Fixed from version 4.14rc4"
 
-CVE_STATUS[CVE-2017-15127] = "fixed-version: Fixed after version 4.13rc5"
+CVE_STATUS[CVE-2017-15127] = "fixed-version: Fixed from version 4.13rc5"
 
-CVE_STATUS[CVE-2017-15128] = "fixed-version: Fixed after version 4.14rc8"
+CVE_STATUS[CVE-2017-15128] = "fixed-version: Fixed from version 4.14rc8"
 
-CVE_STATUS[CVE-2017-15129] = "fixed-version: Fixed after version 4.15rc5"
+CVE_STATUS[CVE-2017-15129] = "fixed-version: Fixed from version 4.15rc5"
 
-CVE_STATUS[CVE-2017-15265] = "fixed-version: Fixed after version 4.14rc5"
+CVE_STATUS[CVE-2017-15265] = "fixed-version: Fixed from version 4.14rc5"
 
-CVE_STATUS[CVE-2017-15274] = "fixed-version: Fixed after version 4.12rc5"
+CVE_STATUS[CVE-2017-15274] = "fixed-version: Fixed from version 4.12rc5"
 
-CVE_STATUS[CVE-2017-15299] = "fixed-version: Fixed after version 4.14rc6"
+CVE_STATUS[CVE-2017-15299] = "fixed-version: Fixed from version 4.14rc6"
 
-CVE_STATUS[CVE-2017-15306] = "fixed-version: Fixed after version 4.14rc7"
+CVE_STATUS[CVE-2017-15306] = "fixed-version: Fixed from version 4.14rc7"
 
-CVE_STATUS[CVE-2017-15537] = "fixed-version: Fixed after version 4.14rc3"
+CVE_STATUS[CVE-2017-15537] = "fixed-version: Fixed from version 4.14rc3"
 
-CVE_STATUS[CVE-2017-15649] = "fixed-version: Fixed after version 4.14rc4"
+CVE_STATUS[CVE-2017-15649] = "fixed-version: Fixed from version 4.14rc4"
 
-CVE_STATUS[CVE-2017-15868] = "fixed-version: Fixed after version 3.19rc3"
+CVE_STATUS[CVE-2017-15868] = "fixed-version: Fixed from version 3.19rc3"
 
-CVE_STATUS[CVE-2017-15951] = "fixed-version: Fixed after version 4.14rc6"
+CVE_STATUS[CVE-2017-15951] = "fixed-version: Fixed from version 4.14rc6"
 
-CVE_STATUS[CVE-2017-16525] = "fixed-version: Fixed after version 4.14rc5"
+CVE_STATUS[CVE-2017-16525] = "fixed-version: Fixed from version 4.14rc5"
 
-CVE_STATUS[CVE-2017-16526] = "fixed-version: Fixed after version 4.14rc4"
+CVE_STATUS[CVE-2017-16526] = "fixed-version: Fixed from version 4.14rc4"
 
-CVE_STATUS[CVE-2017-16527] = "fixed-version: Fixed after version 4.14rc5"
+CVE_STATUS[CVE-2017-16527] = "fixed-version: Fixed from version 4.14rc5"
 
-CVE_STATUS[CVE-2017-16528] = "fixed-version: Fixed after version 4.14rc1"
+CVE_STATUS[CVE-2017-16528] = "fixed-version: Fixed from version 4.14rc1"
 
-CVE_STATUS[CVE-2017-16529] = "fixed-version: Fixed after version 4.14rc4"
+CVE_STATUS[CVE-2017-16529] = "fixed-version: Fixed from version 4.14rc4"
 
-CVE_STATUS[CVE-2017-16530] = "fixed-version: Fixed after version 4.14rc4"
+CVE_STATUS[CVE-2017-16530] = "fixed-version: Fixed from version 4.14rc4"
 
-CVE_STATUS[CVE-2017-16531] = "fixed-version: Fixed after version 4.14rc4"
+CVE_STATUS[CVE-2017-16531] = "fixed-version: Fixed from version 4.14rc4"
 
-CVE_STATUS[CVE-2017-16532] = "fixed-version: Fixed after version 4.14rc5"
+CVE_STATUS[CVE-2017-16532] = "fixed-version: Fixed from version 4.14rc5"
 
-CVE_STATUS[CVE-2017-16533] = "fixed-version: Fixed after version 4.14rc5"
+CVE_STATUS[CVE-2017-16533] = "fixed-version: Fixed from version 4.14rc5"
 
-CVE_STATUS[CVE-2017-16534] = "fixed-version: Fixed after version 4.14rc4"
+CVE_STATUS[CVE-2017-16534] = "fixed-version: Fixed from version 4.14rc4"
 
-CVE_STATUS[CVE-2017-16535] = "fixed-version: Fixed after version 4.14rc6"
+CVE_STATUS[CVE-2017-16535] = "fixed-version: Fixed from version 4.14rc6"
 
-CVE_STATUS[CVE-2017-16536] = "fixed-version: Fixed after version 4.15rc1"
+CVE_STATUS[CVE-2017-16536] = "fixed-version: Fixed from version 4.15rc1"
 
-CVE_STATUS[CVE-2017-16537] = "fixed-version: Fixed after version 4.15rc1"
+CVE_STATUS[CVE-2017-16537] = "fixed-version: Fixed from version 4.15rc1"
 
-CVE_STATUS[CVE-2017-16538] = "fixed-version: Fixed after version 4.16rc1"
+CVE_STATUS[CVE-2017-16538] = "fixed-version: Fixed from version 4.16rc1"
 
-CVE_STATUS[CVE-2017-16643] = "fixed-version: Fixed after version 4.14rc7"
+CVE_STATUS[CVE-2017-16643] = "fixed-version: Fixed from version 4.14rc7"
 
-CVE_STATUS[CVE-2017-16644] = "fixed-version: Fixed after version 4.16rc1"
+CVE_STATUS[CVE-2017-16644] = "fixed-version: Fixed from version 4.16rc1"
 
-CVE_STATUS[CVE-2017-16645] = "fixed-version: Fixed after version 4.14rc6"
+CVE_STATUS[CVE-2017-16645] = "fixed-version: Fixed from version 4.14rc6"
 
-CVE_STATUS[CVE-2017-16646] = "fixed-version: Fixed after version 4.15rc1"
+CVE_STATUS[CVE-2017-16646] = "fixed-version: Fixed from version 4.15rc1"
 
-CVE_STATUS[CVE-2017-16647] = "fixed-version: Fixed after version 4.14"
+CVE_STATUS[CVE-2017-16647] = "fixed-version: Fixed from version 4.14"
 
-CVE_STATUS[CVE-2017-16648] = "fixed-version: Fixed after version 4.15rc1"
+CVE_STATUS[CVE-2017-16648] = "fixed-version: Fixed from version 4.15rc1"
 
-CVE_STATUS[CVE-2017-16649] = "fixed-version: Fixed after version 4.14"
+CVE_STATUS[CVE-2017-16649] = "fixed-version: Fixed from version 4.14"
 
-CVE_STATUS[CVE-2017-16650] = "fixed-version: Fixed after version 4.14"
+CVE_STATUS[CVE-2017-16650] = "fixed-version: Fixed from version 4.14"
 
-CVE_STATUS[CVE-2017-16911] = "fixed-version: Fixed after version 4.15rc4"
+CVE_STATUS[CVE-2017-16911] = "fixed-version: Fixed from version 4.15rc4"
 
-CVE_STATUS[CVE-2017-16912] = "fixed-version: Fixed after version 4.15rc4"
+CVE_STATUS[CVE-2017-16912] = "fixed-version: Fixed from version 4.15rc4"
 
-CVE_STATUS[CVE-2017-16913] = "fixed-version: Fixed after version 4.15rc4"
+CVE_STATUS[CVE-2017-16913] = "fixed-version: Fixed from version 4.15rc4"
 
-CVE_STATUS[CVE-2017-16914] = "fixed-version: Fixed after version 4.15rc4"
+CVE_STATUS[CVE-2017-16914] = "fixed-version: Fixed from version 4.15rc4"
 
-CVE_STATUS[CVE-2017-16939] = "fixed-version: Fixed after version 4.14rc7"
+CVE_STATUS[CVE-2017-16939] = "fixed-version: Fixed from version 4.14rc7"
 
-CVE_STATUS[CVE-2017-16994] = "fixed-version: Fixed after version 4.15rc1"
+CVE_STATUS[CVE-2017-16994] = "fixed-version: Fixed from version 4.15rc1"
 
-CVE_STATUS[CVE-2017-16995] = "fixed-version: Fixed after version 4.15rc5"
+CVE_STATUS[CVE-2017-16995] = "fixed-version: Fixed from version 4.15rc5"
 
-CVE_STATUS[CVE-2017-16996] = "fixed-version: Fixed after version 4.15rc5"
+CVE_STATUS[CVE-2017-16996] = "fixed-version: Fixed from version 4.15rc5"
 
-CVE_STATUS[CVE-2017-17052] = "fixed-version: Fixed after version 4.13rc7"
+CVE_STATUS[CVE-2017-17052] = "fixed-version: Fixed from version 4.13rc7"
 
-CVE_STATUS[CVE-2017-17053] = "fixed-version: Fixed after version 4.13rc7"
+CVE_STATUS[CVE-2017-17053] = "fixed-version: Fixed from version 4.13rc7"
 
-CVE_STATUS[CVE-2017-17448] = "fixed-version: Fixed after version 4.15rc4"
+CVE_STATUS[CVE-2017-17448] = "fixed-version: Fixed from version 4.15rc4"
 
-CVE_STATUS[CVE-2017-17449] = "fixed-version: Fixed after version 4.15rc4"
+CVE_STATUS[CVE-2017-17449] = "fixed-version: Fixed from version 4.15rc4"
 
-CVE_STATUS[CVE-2017-17450] = "fixed-version: Fixed after version 4.15rc4"
+CVE_STATUS[CVE-2017-17450] = "fixed-version: Fixed from version 4.15rc4"
 
-CVE_STATUS[CVE-2017-17558] = "fixed-version: Fixed after version 4.15rc4"
+CVE_STATUS[CVE-2017-17558] = "fixed-version: Fixed from version 4.15rc4"
 
-CVE_STATUS[CVE-2017-17712] = "fixed-version: Fixed after version 4.15rc4"
+CVE_STATUS[CVE-2017-17712] = "fixed-version: Fixed from version 4.15rc4"
 
-CVE_STATUS[CVE-2017-17741] = "fixed-version: Fixed after version 4.15rc5"
+CVE_STATUS[CVE-2017-17741] = "fixed-version: Fixed from version 4.15rc5"
 
-CVE_STATUS[CVE-2017-17805] = "fixed-version: Fixed after version 4.15rc4"
+CVE_STATUS[CVE-2017-17805] = "fixed-version: Fixed from version 4.15rc4"
 
-CVE_STATUS[CVE-2017-17806] = "fixed-version: Fixed after version 4.15rc4"
+CVE_STATUS[CVE-2017-17806] = "fixed-version: Fixed from version 4.15rc4"
 
-CVE_STATUS[CVE-2017-17807] = "fixed-version: Fixed after version 4.15rc3"
+CVE_STATUS[CVE-2017-17807] = "fixed-version: Fixed from version 4.15rc3"
 
-CVE_STATUS[CVE-2017-17852] = "fixed-version: Fixed after version 4.15rc5"
+CVE_STATUS[CVE-2017-17852] = "fixed-version: Fixed from version 4.15rc5"
 
-CVE_STATUS[CVE-2017-17853] = "fixed-version: Fixed after version 4.15rc5"
+CVE_STATUS[CVE-2017-17853] = "fixed-version: Fixed from version 4.15rc5"
 
-CVE_STATUS[CVE-2017-17854] = "fixed-version: Fixed after version 4.15rc5"
+CVE_STATUS[CVE-2017-17854] = "fixed-version: Fixed from version 4.15rc5"
 
-CVE_STATUS[CVE-2017-17855] = "fixed-version: Fixed after version 4.15rc5"
+CVE_STATUS[CVE-2017-17855] = "fixed-version: Fixed from version 4.15rc5"
 
-CVE_STATUS[CVE-2017-17856] = "fixed-version: Fixed after version 4.15rc5"
+CVE_STATUS[CVE-2017-17856] = "fixed-version: Fixed from version 4.15rc5"
 
-CVE_STATUS[CVE-2017-17857] = "fixed-version: Fixed after version 4.15rc5"
+CVE_STATUS[CVE-2017-17857] = "fixed-version: Fixed from version 4.15rc5"
 
-CVE_STATUS[CVE-2017-17862] = "fixed-version: Fixed after version 4.15rc1"
+CVE_STATUS[CVE-2017-17862] = "fixed-version: Fixed from version 4.15rc1"
 
-CVE_STATUS[CVE-2017-17863] = "fixed-version: Fixed after version 4.15rc5"
+CVE_STATUS[CVE-2017-17863] = "fixed-version: Fixed from version 4.15rc5"
 
-CVE_STATUS[CVE-2017-17864] = "fixed-version: Fixed after version 4.15rc5"
+CVE_STATUS[CVE-2017-17864] = "fixed-version: Fixed from version 4.15rc5"
 
-CVE_STATUS[CVE-2017-17975] = "fixed-version: Fixed after version 4.17rc1"
+CVE_STATUS[CVE-2017-17975] = "fixed-version: Fixed from version 4.17rc1"
 
-CVE_STATUS[CVE-2017-18017] = "fixed-version: Fixed after version 4.11rc7"
+CVE_STATUS[CVE-2017-18017] = "fixed-version: Fixed from version 4.11rc7"
 
-CVE_STATUS[CVE-2017-18075] = "fixed-version: Fixed after version 4.15rc7"
+CVE_STATUS[CVE-2017-18075] = "fixed-version: Fixed from version 4.15rc7"
 
-CVE_STATUS[CVE-2017-18079] = "fixed-version: Fixed after version 4.13rc1"
+CVE_STATUS[CVE-2017-18079] = "fixed-version: Fixed from version 4.13rc1"
 
 # CVE-2017-18169 has no known resolution
 
-CVE_STATUS[CVE-2017-18174] = "fixed-version: Fixed after version 4.7rc1"
+CVE_STATUS[CVE-2017-18174] = "fixed-version: Fixed from version 4.7rc1"
 
-CVE_STATUS[CVE-2017-18193] = "fixed-version: Fixed after version 4.13rc1"
+CVE_STATUS[CVE-2017-18193] = "fixed-version: Fixed from version 4.13rc1"
 
-CVE_STATUS[CVE-2017-18200] = "fixed-version: Fixed after version 4.14rc5"
+CVE_STATUS[CVE-2017-18200] = "fixed-version: Fixed from version 4.14rc5"
 
-CVE_STATUS[CVE-2017-18202] = "fixed-version: Fixed after version 4.15rc2"
+CVE_STATUS[CVE-2017-18202] = "fixed-version: Fixed from version 4.15rc2"
 
-CVE_STATUS[CVE-2017-18203] = "fixed-version: Fixed after version 4.15rc1"
+CVE_STATUS[CVE-2017-18203] = "fixed-version: Fixed from version 4.15rc1"
 
-CVE_STATUS[CVE-2017-18204] = "fixed-version: Fixed after version 4.15rc1"
+CVE_STATUS[CVE-2017-18204] = "fixed-version: Fixed from version 4.15rc1"
 
-CVE_STATUS[CVE-2017-18208] = "fixed-version: Fixed after version 4.15rc2"
+CVE_STATUS[CVE-2017-18208] = "fixed-version: Fixed from version 4.15rc2"
 
-CVE_STATUS[CVE-2017-18216] = "fixed-version: Fixed after version 4.15rc1"
+CVE_STATUS[CVE-2017-18216] = "fixed-version: Fixed from version 4.15rc1"
 
-CVE_STATUS[CVE-2017-18218] = "fixed-version: Fixed after version 4.13rc1"
+CVE_STATUS[CVE-2017-18218] = "fixed-version: Fixed from version 4.13rc1"
 
-CVE_STATUS[CVE-2017-18221] = "fixed-version: Fixed after version 4.12rc4"
+CVE_STATUS[CVE-2017-18221] = "fixed-version: Fixed from version 4.12rc4"
 
-CVE_STATUS[CVE-2017-18222] = "fixed-version: Fixed after version 4.12rc1"
+CVE_STATUS[CVE-2017-18222] = "fixed-version: Fixed from version 4.12rc1"
 
-CVE_STATUS[CVE-2017-18224] = "fixed-version: Fixed after version 4.15rc1"
+CVE_STATUS[CVE-2017-18224] = "fixed-version: Fixed from version 4.15rc1"
 
-CVE_STATUS[CVE-2017-18232] = "fixed-version: Fixed after version 4.16rc1"
+CVE_STATUS[CVE-2017-18232] = "fixed-version: Fixed from version 4.16rc1"
 
-CVE_STATUS[CVE-2017-18241] = "fixed-version: Fixed after version 4.13rc1"
+CVE_STATUS[CVE-2017-18241] = "fixed-version: Fixed from version 4.13rc1"
 
-CVE_STATUS[CVE-2017-18249] = "fixed-version: Fixed after version 4.12rc1"
+CVE_STATUS[CVE-2017-18249] = "fixed-version: Fixed from version 4.12rc1"
 
-CVE_STATUS[CVE-2017-18255] = "fixed-version: Fixed after version 4.11rc1"
+CVE_STATUS[CVE-2017-18255] = "fixed-version: Fixed from version 4.11rc1"
 
-CVE_STATUS[CVE-2017-18257] = "fixed-version: Fixed after version 4.11rc1"
+CVE_STATUS[CVE-2017-18257] = "fixed-version: Fixed from version 4.11rc1"
 
-CVE_STATUS[CVE-2017-18261] = "fixed-version: Fixed after version 4.13rc6"
+CVE_STATUS[CVE-2017-18261] = "fixed-version: Fixed from version 4.13rc6"
 
-CVE_STATUS[CVE-2017-18270] = "fixed-version: Fixed after version 4.14rc3"
+CVE_STATUS[CVE-2017-18270] = "fixed-version: Fixed from version 4.14rc3"
 
-CVE_STATUS[CVE-2017-18344] = "fixed-version: Fixed after version 4.15rc4"
+CVE_STATUS[CVE-2017-18344] = "fixed-version: Fixed from version 4.15rc4"
 
-CVE_STATUS[CVE-2017-18360] = "fixed-version: Fixed after version 4.12rc2"
+CVE_STATUS[CVE-2017-18360] = "fixed-version: Fixed from version 4.12rc2"
 
-CVE_STATUS[CVE-2017-18379] = "fixed-version: Fixed after version 4.14rc3"
+CVE_STATUS[CVE-2017-18379] = "fixed-version: Fixed from version 4.14rc3"
 
-CVE_STATUS[CVE-2017-18509] = "fixed-version: Fixed after version 4.11rc1"
+CVE_STATUS[CVE-2017-18509] = "fixed-version: Fixed from version 4.11rc1"
 
-CVE_STATUS[CVE-2017-18549] = "fixed-version: Fixed after version 4.13rc1"
+CVE_STATUS[CVE-2017-18549] = "fixed-version: Fixed from version 4.13rc1"
 
-CVE_STATUS[CVE-2017-18550] = "fixed-version: Fixed after version 4.13rc1"
+CVE_STATUS[CVE-2017-18550] = "fixed-version: Fixed from version 4.13rc1"
 
-CVE_STATUS[CVE-2017-18551] = "fixed-version: Fixed after version 4.15rc9"
+CVE_STATUS[CVE-2017-18551] = "fixed-version: Fixed from version 4.15rc9"
 
-CVE_STATUS[CVE-2017-18552] = "fixed-version: Fixed after version 4.11rc1"
+CVE_STATUS[CVE-2017-18552] = "fixed-version: Fixed from version 4.11rc1"
 
-CVE_STATUS[CVE-2017-18595] = "fixed-version: Fixed after version 4.15rc6"
+CVE_STATUS[CVE-2017-18595] = "fixed-version: Fixed from version 4.15rc6"
 
-CVE_STATUS[CVE-2017-2583] = "fixed-version: Fixed after version 4.10rc4"
+CVE_STATUS[CVE-2017-2583] = "fixed-version: Fixed from version 4.10rc4"
 
-CVE_STATUS[CVE-2017-2584] = "fixed-version: Fixed after version 4.10rc4"
+CVE_STATUS[CVE-2017-2584] = "fixed-version: Fixed from version 4.10rc4"
 
-CVE_STATUS[CVE-2017-2596] = "fixed-version: Fixed after version 4.11rc1"
+CVE_STATUS[CVE-2017-2596] = "fixed-version: Fixed from version 4.11rc1"
 
-CVE_STATUS[CVE-2017-2618] = "fixed-version: Fixed after version 4.10rc8"
+CVE_STATUS[CVE-2017-2618] = "fixed-version: Fixed from version 4.10rc8"
 
-CVE_STATUS[CVE-2017-2634] = "fixed-version: Fixed after version 2.6.25rc1"
+CVE_STATUS[CVE-2017-2634] = "fixed-version: Fixed from version 2.6.25rc1"
 
-CVE_STATUS[CVE-2017-2636] = "fixed-version: Fixed after version 4.11rc2"
+CVE_STATUS[CVE-2017-2636] = "fixed-version: Fixed from version 4.11rc2"
 
-CVE_STATUS[CVE-2017-2647] = "fixed-version: Fixed after version 3.18rc1"
+CVE_STATUS[CVE-2017-2647] = "fixed-version: Fixed from version 3.18rc1"
 
-CVE_STATUS[CVE-2017-2671] = "fixed-version: Fixed after version 4.11rc6"
+CVE_STATUS[CVE-2017-2671] = "fixed-version: Fixed from version 4.11rc6"
 
-CVE_STATUS[CVE-2017-5123] = "fixed-version: Fixed after version 4.14rc5"
+CVE_STATUS[CVE-2017-5123] = "fixed-version: Fixed from version 4.14rc5"
 
-CVE_STATUS[CVE-2017-5546] = "fixed-version: Fixed after version 4.10rc4"
+CVE_STATUS[CVE-2017-5546] = "fixed-version: Fixed from version 4.10rc4"
 
-CVE_STATUS[CVE-2017-5547] = "fixed-version: Fixed after version 4.10rc5"
+CVE_STATUS[CVE-2017-5547] = "fixed-version: Fixed from version 4.10rc5"
 
-CVE_STATUS[CVE-2017-5548] = "fixed-version: Fixed after version 4.10rc5"
+CVE_STATUS[CVE-2017-5548] = "fixed-version: Fixed from version 4.10rc5"
 
-CVE_STATUS[CVE-2017-5549] = "fixed-version: Fixed after version 4.10rc4"
+CVE_STATUS[CVE-2017-5549] = "fixed-version: Fixed from version 4.10rc4"
 
-CVE_STATUS[CVE-2017-5550] = "fixed-version: Fixed after version 4.10rc4"
+CVE_STATUS[CVE-2017-5550] = "fixed-version: Fixed from version 4.10rc4"
 
-CVE_STATUS[CVE-2017-5551] = "fixed-version: Fixed after version 4.10rc4"
+CVE_STATUS[CVE-2017-5551] = "fixed-version: Fixed from version 4.10rc4"
 
-CVE_STATUS[CVE-2017-5576] = "fixed-version: Fixed after version 4.10rc6"
+CVE_STATUS[CVE-2017-5576] = "fixed-version: Fixed from version 4.10rc6"
 
-CVE_STATUS[CVE-2017-5577] = "fixed-version: Fixed after version 4.10rc6"
+CVE_STATUS[CVE-2017-5577] = "fixed-version: Fixed from version 4.10rc6"
 
-CVE_STATUS[CVE-2017-5669] = "fixed-version: Fixed after version 4.11rc1"
+CVE_STATUS[CVE-2017-5669] = "fixed-version: Fixed from version 4.11rc1"
 
-CVE_STATUS[CVE-2017-5715] = "fixed-version: Fixed after version 4.15rc8"
+CVE_STATUS[CVE-2017-5715] = "fixed-version: Fixed from version 4.15rc8"
 
-CVE_STATUS[CVE-2017-5753] = "fixed-version: Fixed after version 4.15rc8"
+CVE_STATUS[CVE-2017-5753] = "fixed-version: Fixed from version 4.15rc8"
 
-CVE_STATUS[CVE-2017-5754] = "fixed-version: Fixed after version 4.16rc1"
+CVE_STATUS[CVE-2017-5754] = "fixed-version: Fixed from version 4.16rc1"
 
-CVE_STATUS[CVE-2017-5897] = "fixed-version: Fixed after version 4.10rc8"
+CVE_STATUS[CVE-2017-5897] = "fixed-version: Fixed from version 4.10rc8"
 
-CVE_STATUS[CVE-2017-5967] = "fixed-version: Fixed after version 4.11rc1"
+CVE_STATUS[CVE-2017-5967] = "fixed-version: Fixed from version 4.11rc1"
 
-CVE_STATUS[CVE-2017-5970] = "fixed-version: Fixed after version 4.10rc8"
+CVE_STATUS[CVE-2017-5970] = "fixed-version: Fixed from version 4.10rc8"
 
-CVE_STATUS[CVE-2017-5972] = "fixed-version: Fixed after version 4.4rc1"
+CVE_STATUS[CVE-2017-5972] = "fixed-version: Fixed from version 4.4rc1"
 
-CVE_STATUS[CVE-2017-5986] = "fixed-version: Fixed after version 4.10rc8"
+CVE_STATUS[CVE-2017-5986] = "fixed-version: Fixed from version 4.10rc8"
 
-CVE_STATUS[CVE-2017-6001] = "fixed-version: Fixed after version 4.10rc4"
+CVE_STATUS[CVE-2017-6001] = "fixed-version: Fixed from version 4.10rc4"
 
-CVE_STATUS[CVE-2017-6074] = "fixed-version: Fixed after version 4.10"
+CVE_STATUS[CVE-2017-6074] = "fixed-version: Fixed from version 4.10"
 
-CVE_STATUS[CVE-2017-6214] = "fixed-version: Fixed after version 4.10rc8"
+CVE_STATUS[CVE-2017-6214] = "fixed-version: Fixed from version 4.10rc8"
 
-CVE_STATUS[CVE-2017-6345] = "fixed-version: Fixed after version 4.10"
+CVE_STATUS[CVE-2017-6345] = "fixed-version: Fixed from version 4.10"
 
-CVE_STATUS[CVE-2017-6346] = "fixed-version: Fixed after version 4.10"
+CVE_STATUS[CVE-2017-6346] = "fixed-version: Fixed from version 4.10"
 
-CVE_STATUS[CVE-2017-6347] = "fixed-version: Fixed after version 4.11rc1"
+CVE_STATUS[CVE-2017-6347] = "fixed-version: Fixed from version 4.11rc1"
 
-CVE_STATUS[CVE-2017-6348] = "fixed-version: Fixed after version 4.10"
+CVE_STATUS[CVE-2017-6348] = "fixed-version: Fixed from version 4.10"
 
-CVE_STATUS[CVE-2017-6353] = "fixed-version: Fixed after version 4.11rc1"
+CVE_STATUS[CVE-2017-6353] = "fixed-version: Fixed from version 4.11rc1"
 
-CVE_STATUS[CVE-2017-6874] = "fixed-version: Fixed after version 4.11rc2"
+CVE_STATUS[CVE-2017-6874] = "fixed-version: Fixed from version 4.11rc2"
 
-CVE_STATUS[CVE-2017-6951] = "fixed-version: Fixed after version 3.18rc1"
+CVE_STATUS[CVE-2017-6951] = "fixed-version: Fixed from version 3.18rc1"
 
-CVE_STATUS[CVE-2017-7184] = "fixed-version: Fixed after version 4.11rc5"
+CVE_STATUS[CVE-2017-7184] = "fixed-version: Fixed from version 4.11rc5"
 
-CVE_STATUS[CVE-2017-7187] = "fixed-version: Fixed after version 4.11rc5"
+CVE_STATUS[CVE-2017-7187] = "fixed-version: Fixed from version 4.11rc5"
 
-CVE_STATUS[CVE-2017-7261] = "fixed-version: Fixed after version 4.11rc6"
+CVE_STATUS[CVE-2017-7261] = "fixed-version: Fixed from version 4.11rc6"
 
-CVE_STATUS[CVE-2017-7273] = "fixed-version: Fixed after version 4.10rc4"
+CVE_STATUS[CVE-2017-7273] = "fixed-version: Fixed from version 4.10rc4"
 
-CVE_STATUS[CVE-2017-7277] = "fixed-version: Fixed after version 4.11rc4"
+CVE_STATUS[CVE-2017-7277] = "fixed-version: Fixed from version 4.11rc4"
 
-CVE_STATUS[CVE-2017-7294] = "fixed-version: Fixed after version 4.11rc6"
+CVE_STATUS[CVE-2017-7294] = "fixed-version: Fixed from version 4.11rc6"
 
-CVE_STATUS[CVE-2017-7308] = "fixed-version: Fixed after version 4.11rc6"
+CVE_STATUS[CVE-2017-7308] = "fixed-version: Fixed from version 4.11rc6"
 
-CVE_STATUS[CVE-2017-7346] = "fixed-version: Fixed after version 4.12rc5"
+CVE_STATUS[CVE-2017-7346] = "fixed-version: Fixed from version 4.12rc5"
 
 # CVE-2017-7369 has no known resolution
 
-CVE_STATUS[CVE-2017-7374] = "fixed-version: Fixed after version 4.11rc4"
+CVE_STATUS[CVE-2017-7374] = "fixed-version: Fixed from version 4.11rc4"
 
-CVE_STATUS[CVE-2017-7472] = "fixed-version: Fixed after version 4.11rc8"
+CVE_STATUS[CVE-2017-7472] = "fixed-version: Fixed from version 4.11rc8"
 
-CVE_STATUS[CVE-2017-7477] = "fixed-version: Fixed after version 4.11"
+CVE_STATUS[CVE-2017-7477] = "fixed-version: Fixed from version 4.11"
 
-CVE_STATUS[CVE-2017-7482] = "fixed-version: Fixed after version 4.12rc7"
+CVE_STATUS[CVE-2017-7482] = "fixed-version: Fixed from version 4.12rc7"
 
-CVE_STATUS[CVE-2017-7487] = "fixed-version: Fixed after version 4.12rc1"
+CVE_STATUS[CVE-2017-7487] = "fixed-version: Fixed from version 4.12rc1"
 
-CVE_STATUS[CVE-2017-7495] = "fixed-version: Fixed after version 4.7rc1"
+CVE_STATUS[CVE-2017-7495] = "fixed-version: Fixed from version 4.7rc1"
 
-CVE_STATUS[CVE-2017-7518] = "fixed-version: Fixed after version 4.12rc7"
+CVE_STATUS[CVE-2017-7518] = "fixed-version: Fixed from version 4.12rc7"
 
-CVE_STATUS[CVE-2017-7533] = "fixed-version: Fixed after version 4.13rc1"
+CVE_STATUS[CVE-2017-7533] = "fixed-version: Fixed from version 4.13rc1"
 
-CVE_STATUS[CVE-2017-7541] = "fixed-version: Fixed after version 4.13rc1"
+CVE_STATUS[CVE-2017-7541] = "fixed-version: Fixed from version 4.13rc1"
 
-CVE_STATUS[CVE-2017-7542] = "fixed-version: Fixed after version 4.13rc2"
+CVE_STATUS[CVE-2017-7542] = "fixed-version: Fixed from version 4.13rc2"
 
-CVE_STATUS[CVE-2017-7558] = "fixed-version: Fixed after version 4.13"
+CVE_STATUS[CVE-2017-7558] = "fixed-version: Fixed from version 4.13"
 
-CVE_STATUS[CVE-2017-7616] = "fixed-version: Fixed after version 4.11rc6"
+CVE_STATUS[CVE-2017-7616] = "fixed-version: Fixed from version 4.11rc6"
 
-CVE_STATUS[CVE-2017-7618] = "fixed-version: Fixed after version 4.11rc8"
+CVE_STATUS[CVE-2017-7618] = "fixed-version: Fixed from version 4.11rc8"
 
-CVE_STATUS[CVE-2017-7645] = "fixed-version: Fixed after version 4.11"
+CVE_STATUS[CVE-2017-7645] = "fixed-version: Fixed from version 4.11"
 
-CVE_STATUS[CVE-2017-7889] = "fixed-version: Fixed after version 4.11rc7"
+CVE_STATUS[CVE-2017-7889] = "fixed-version: Fixed from version 4.11rc7"
 
-CVE_STATUS[CVE-2017-7895] = "fixed-version: Fixed after version 4.11"
+CVE_STATUS[CVE-2017-7895] = "fixed-version: Fixed from version 4.11"
 
-CVE_STATUS[CVE-2017-7979] = "fixed-version: Fixed after version 4.11rc8"
+CVE_STATUS[CVE-2017-7979] = "fixed-version: Fixed from version 4.11rc8"
 
-CVE_STATUS[CVE-2017-8061] = "fixed-version: Fixed after version 4.11rc4"
+CVE_STATUS[CVE-2017-8061] = "fixed-version: Fixed from version 4.11rc4"
 
-CVE_STATUS[CVE-2017-8062] = "fixed-version: Fixed after version 4.11rc2"
+CVE_STATUS[CVE-2017-8062] = "fixed-version: Fixed from version 4.11rc2"
 
-CVE_STATUS[CVE-2017-8063] = "fixed-version: Fixed after version 4.11rc1"
+CVE_STATUS[CVE-2017-8063] = "fixed-version: Fixed from version 4.11rc1"
 
-CVE_STATUS[CVE-2017-8064] = "fixed-version: Fixed after version 4.11rc1"
+CVE_STATUS[CVE-2017-8064] = "fixed-version: Fixed from version 4.11rc1"
 
-CVE_STATUS[CVE-2017-8065] = "fixed-version: Fixed after version 4.11rc1"
+CVE_STATUS[CVE-2017-8065] = "fixed-version: Fixed from version 4.11rc1"
 
-CVE_STATUS[CVE-2017-8066] = "fixed-version: Fixed after version 4.11rc1"
+CVE_STATUS[CVE-2017-8066] = "fixed-version: Fixed from version 4.11rc1"
 
-CVE_STATUS[CVE-2017-8067] = "fixed-version: Fixed after version 4.11rc1"
+CVE_STATUS[CVE-2017-8067] = "fixed-version: Fixed from version 4.11rc1"
 
-CVE_STATUS[CVE-2017-8068] = "fixed-version: Fixed after version 4.10rc8"
+CVE_STATUS[CVE-2017-8068] = "fixed-version: Fixed from version 4.10rc8"
 
-CVE_STATUS[CVE-2017-8069] = "fixed-version: Fixed after version 4.10rc8"
+CVE_STATUS[CVE-2017-8069] = "fixed-version: Fixed from version 4.10rc8"
 
-CVE_STATUS[CVE-2017-8070] = "fixed-version: Fixed after version 4.10rc8"
+CVE_STATUS[CVE-2017-8070] = "fixed-version: Fixed from version 4.10rc8"
 
-CVE_STATUS[CVE-2017-8071] = "fixed-version: Fixed after version 4.10rc7"
+CVE_STATUS[CVE-2017-8071] = "fixed-version: Fixed from version 4.10rc7"
 
-CVE_STATUS[CVE-2017-8072] = "fixed-version: Fixed after version 4.10rc7"
+CVE_STATUS[CVE-2017-8072] = "fixed-version: Fixed from version 4.10rc7"
 
-CVE_STATUS[CVE-2017-8106] = "fixed-version: Fixed after version 3.16rc1"
+CVE_STATUS[CVE-2017-8106] = "fixed-version: Fixed from version 3.16rc1"
 
-CVE_STATUS[CVE-2017-8240] = "fixed-version: Fixed after version 3.19rc6"
+CVE_STATUS[CVE-2017-8240] = "fixed-version: Fixed from version 3.19rc6"
 
 # CVE-2017-8242 has no known resolution
 
@@ -2027,161 +2036,161 @@
 
 # CVE-2017-8246 has no known resolution
 
-CVE_STATUS[CVE-2017-8797] = "fixed-version: Fixed after version 4.12rc1"
+CVE_STATUS[CVE-2017-8797] = "fixed-version: Fixed from version 4.12rc1"
 
-CVE_STATUS[CVE-2017-8824] = "fixed-version: Fixed after version 4.15rc3"
+CVE_STATUS[CVE-2017-8824] = "fixed-version: Fixed from version 4.15rc3"
 
-CVE_STATUS[CVE-2017-8831] = "fixed-version: Fixed after version 4.13rc1"
+CVE_STATUS[CVE-2017-8831] = "fixed-version: Fixed from version 4.13rc1"
 
-CVE_STATUS[CVE-2017-8890] = "fixed-version: Fixed after version 4.12rc1"
+CVE_STATUS[CVE-2017-8890] = "fixed-version: Fixed from version 4.12rc1"
 
-CVE_STATUS[CVE-2017-8924] = "fixed-version: Fixed after version 4.11rc2"
+CVE_STATUS[CVE-2017-8924] = "fixed-version: Fixed from version 4.11rc2"
 
-CVE_STATUS[CVE-2017-8925] = "fixed-version: Fixed after version 4.11rc2"
+CVE_STATUS[CVE-2017-8925] = "fixed-version: Fixed from version 4.11rc2"
 
-CVE_STATUS[CVE-2017-9059] = "fixed-version: Fixed after version 4.12rc1"
+CVE_STATUS[CVE-2017-9059] = "fixed-version: Fixed from version 4.12rc1"
 
-CVE_STATUS[CVE-2017-9074] = "fixed-version: Fixed after version 4.12rc2"
+CVE_STATUS[CVE-2017-9074] = "fixed-version: Fixed from version 4.12rc2"
 
-CVE_STATUS[CVE-2017-9075] = "fixed-version: Fixed after version 4.12rc2"
+CVE_STATUS[CVE-2017-9075] = "fixed-version: Fixed from version 4.12rc2"
 
-CVE_STATUS[CVE-2017-9076] = "fixed-version: Fixed after version 4.12rc2"
+CVE_STATUS[CVE-2017-9076] = "fixed-version: Fixed from version 4.12rc2"
 
-CVE_STATUS[CVE-2017-9077] = "fixed-version: Fixed after version 4.12rc2"
+CVE_STATUS[CVE-2017-9077] = "fixed-version: Fixed from version 4.12rc2"
 
-CVE_STATUS[CVE-2017-9150] = "fixed-version: Fixed after version 4.12rc1"
+CVE_STATUS[CVE-2017-9150] = "fixed-version: Fixed from version 4.12rc1"
 
-CVE_STATUS[CVE-2017-9211] = "fixed-version: Fixed after version 4.12rc3"
+CVE_STATUS[CVE-2017-9211] = "fixed-version: Fixed from version 4.12rc3"
 
-CVE_STATUS[CVE-2017-9242] = "fixed-version: Fixed after version 4.12rc3"
+CVE_STATUS[CVE-2017-9242] = "fixed-version: Fixed from version 4.12rc3"
 
-CVE_STATUS[CVE-2017-9605] = "fixed-version: Fixed after version 4.12rc5"
+CVE_STATUS[CVE-2017-9605] = "fixed-version: Fixed from version 4.12rc5"
 
-CVE_STATUS[CVE-2017-9725] = "fixed-version: Fixed after version 4.3rc7"
+CVE_STATUS[CVE-2017-9725] = "fixed-version: Fixed from version 4.3rc7"
 
-CVE_STATUS[CVE-2017-9984] = "fixed-version: Fixed after version 4.13rc1"
+CVE_STATUS[CVE-2017-9984] = "fixed-version: Fixed from version 4.13rc1"
 
-CVE_STATUS[CVE-2017-9985] = "fixed-version: Fixed after version 4.13rc1"
+CVE_STATUS[CVE-2017-9985] = "fixed-version: Fixed from version 4.13rc1"
 
-CVE_STATUS[CVE-2017-9986] = "fixed-version: Fixed after version 4.15rc1"
+CVE_STATUS[CVE-2017-9986] = "fixed-version: Fixed from version 4.15rc1"
 
-CVE_STATUS[CVE-2018-1000004] = "fixed-version: Fixed after version 4.15rc9"
+CVE_STATUS[CVE-2018-1000004] = "fixed-version: Fixed from version 4.15rc9"
 
-CVE_STATUS[CVE-2018-1000026] = "fixed-version: Fixed after version 4.16rc1"
+CVE_STATUS[CVE-2018-1000026] = "fixed-version: Fixed from version 4.16rc1"
 
-CVE_STATUS[CVE-2018-1000028] = "fixed-version: Fixed after version 4.15"
+CVE_STATUS[CVE-2018-1000028] = "fixed-version: Fixed from version 4.15"
 
-CVE_STATUS[CVE-2018-1000199] = "fixed-version: Fixed after version 4.16"
+CVE_STATUS[CVE-2018-1000199] = "fixed-version: Fixed from version 4.16"
 
-CVE_STATUS[CVE-2018-1000200] = "fixed-version: Fixed after version 4.17rc5"
+CVE_STATUS[CVE-2018-1000200] = "fixed-version: Fixed from version 4.17rc5"
 
-CVE_STATUS[CVE-2018-1000204] = "fixed-version: Fixed after version 4.17rc7"
+CVE_STATUS[CVE-2018-1000204] = "fixed-version: Fixed from version 4.17rc7"
 
-CVE_STATUS[CVE-2018-10021] = "fixed-version: Fixed after version 4.16rc7"
+CVE_STATUS[CVE-2018-10021] = "fixed-version: Fixed from version 4.16rc7"
 
-CVE_STATUS[CVE-2018-10074] = "fixed-version: Fixed after version 4.16rc7"
+CVE_STATUS[CVE-2018-10074] = "fixed-version: Fixed from version 4.16rc7"
 
-CVE_STATUS[CVE-2018-10087] = "fixed-version: Fixed after version 4.13rc1"
+CVE_STATUS[CVE-2018-10087] = "fixed-version: Fixed from version 4.13rc1"
 
-CVE_STATUS[CVE-2018-10124] = "fixed-version: Fixed after version 4.13rc1"
+CVE_STATUS[CVE-2018-10124] = "fixed-version: Fixed from version 4.13rc1"
 
-CVE_STATUS[CVE-2018-10322] = "fixed-version: Fixed after version 4.17rc4"
+CVE_STATUS[CVE-2018-10322] = "fixed-version: Fixed from version 4.17rc4"
 
-CVE_STATUS[CVE-2018-10323] = "fixed-version: Fixed after version 4.17rc4"
+CVE_STATUS[CVE-2018-10323] = "fixed-version: Fixed from version 4.17rc4"
 
-CVE_STATUS[CVE-2018-1065] = "fixed-version: Fixed after version 4.16rc3"
+CVE_STATUS[CVE-2018-1065] = "fixed-version: Fixed from version 4.16rc3"
 
-CVE_STATUS[CVE-2018-1066] = "fixed-version: Fixed after version 4.11rc1"
+CVE_STATUS[CVE-2018-1066] = "fixed-version: Fixed from version 4.11rc1"
 
-CVE_STATUS[CVE-2018-10675] = "fixed-version: Fixed after version 4.13rc6"
+CVE_STATUS[CVE-2018-10675] = "fixed-version: Fixed from version 4.13rc6"
 
-CVE_STATUS[CVE-2018-1068] = "fixed-version: Fixed after version 4.16rc5"
+CVE_STATUS[CVE-2018-1068] = "fixed-version: Fixed from version 4.16rc5"
 
-CVE_STATUS[CVE-2018-10840] = "fixed-version: Fixed after version 4.18rc1"
+CVE_STATUS[CVE-2018-10840] = "fixed-version: Fixed from version 4.18rc1"
 
-CVE_STATUS[CVE-2018-10853] = "fixed-version: Fixed after version 4.18rc1"
+CVE_STATUS[CVE-2018-10853] = "fixed-version: Fixed from version 4.18rc1"
 
-CVE_STATUS[CVE-2018-1087] = "fixed-version: Fixed after version 4.16rc7"
+CVE_STATUS[CVE-2018-1087] = "fixed-version: Fixed from version 4.16rc7"
 
 # CVE-2018-10872 has no known resolution
 
-CVE_STATUS[CVE-2018-10876] = "fixed-version: Fixed after version 4.18rc4"
+CVE_STATUS[CVE-2018-10876] = "fixed-version: Fixed from version 4.18rc4"
 
-CVE_STATUS[CVE-2018-10877] = "fixed-version: Fixed after version 4.18rc4"
+CVE_STATUS[CVE-2018-10877] = "fixed-version: Fixed from version 4.18rc4"
 
-CVE_STATUS[CVE-2018-10878] = "fixed-version: Fixed after version 4.18rc4"
+CVE_STATUS[CVE-2018-10878] = "fixed-version: Fixed from version 4.18rc4"
 
-CVE_STATUS[CVE-2018-10879] = "fixed-version: Fixed after version 4.18rc4"
+CVE_STATUS[CVE-2018-10879] = "fixed-version: Fixed from version 4.18rc4"
 
-CVE_STATUS[CVE-2018-10880] = "fixed-version: Fixed after version 4.18rc4"
+CVE_STATUS[CVE-2018-10880] = "fixed-version: Fixed from version 4.18rc4"
 
-CVE_STATUS[CVE-2018-10881] = "fixed-version: Fixed after version 4.18rc4"
+CVE_STATUS[CVE-2018-10881] = "fixed-version: Fixed from version 4.18rc4"
 
-CVE_STATUS[CVE-2018-10882] = "fixed-version: Fixed after version 4.18rc4"
+CVE_STATUS[CVE-2018-10882] = "fixed-version: Fixed from version 4.18rc4"
 
-CVE_STATUS[CVE-2018-10883] = "fixed-version: Fixed after version 4.18rc4"
+CVE_STATUS[CVE-2018-10883] = "fixed-version: Fixed from version 4.18rc4"
 
-CVE_STATUS[CVE-2018-10901] = "fixed-version: Fixed after version 2.6.36rc1"
+CVE_STATUS[CVE-2018-10901] = "fixed-version: Fixed from version 2.6.36rc1"
 
-CVE_STATUS[CVE-2018-10902] = "fixed-version: Fixed after version 4.18rc6"
+CVE_STATUS[CVE-2018-10902] = "fixed-version: Fixed from version 4.18rc6"
 
-CVE_STATUS[CVE-2018-1091] = "fixed-version: Fixed after version 4.14rc2"
+CVE_STATUS[CVE-2018-1091] = "fixed-version: Fixed from version 4.14rc2"
 
-CVE_STATUS[CVE-2018-1092] = "fixed-version: Fixed after version 4.17rc1"
+CVE_STATUS[CVE-2018-1092] = "fixed-version: Fixed from version 4.17rc1"
 
-CVE_STATUS[CVE-2018-1093] = "fixed-version: Fixed after version 4.17rc1"
+CVE_STATUS[CVE-2018-1093] = "fixed-version: Fixed from version 4.17rc1"
 
-CVE_STATUS[CVE-2018-10938] = "fixed-version: Fixed after version 4.13rc5"
+CVE_STATUS[CVE-2018-10938] = "fixed-version: Fixed from version 4.13rc5"
 
-CVE_STATUS[CVE-2018-1094] = "fixed-version: Fixed after version 4.17rc1"
+CVE_STATUS[CVE-2018-1094] = "fixed-version: Fixed from version 4.17rc1"
 
-CVE_STATUS[CVE-2018-10940] = "fixed-version: Fixed after version 4.17rc3"
+CVE_STATUS[CVE-2018-10940] = "fixed-version: Fixed from version 4.17rc3"
 
-CVE_STATUS[CVE-2018-1095] = "fixed-version: Fixed after version 4.17rc1"
+CVE_STATUS[CVE-2018-1095] = "fixed-version: Fixed from version 4.17rc1"
 
-CVE_STATUS[CVE-2018-1108] = "fixed-version: Fixed after version 4.17rc2"
+CVE_STATUS[CVE-2018-1108] = "fixed-version: Fixed from version 4.17rc2"
 
-CVE_STATUS[CVE-2018-1118] = "fixed-version: Fixed after version 4.18rc1"
+CVE_STATUS[CVE-2018-1118] = "fixed-version: Fixed from version 4.18rc1"
 
-CVE_STATUS[CVE-2018-1120] = "fixed-version: Fixed after version 4.17rc6"
+CVE_STATUS[CVE-2018-1120] = "fixed-version: Fixed from version 4.17rc6"
 
 # CVE-2018-1121 has no known resolution
 
-CVE_STATUS[CVE-2018-11232] = "fixed-version: Fixed after version 4.11rc1"
+CVE_STATUS[CVE-2018-11232] = "fixed-version: Fixed from version 4.11rc1"
 
-CVE_STATUS[CVE-2018-1128] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2018-1128] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2018-1129] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2018-1129] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2018-1130] = "fixed-version: Fixed after version 4.16rc7"
+CVE_STATUS[CVE-2018-1130] = "fixed-version: Fixed from version 4.16rc7"
 
-CVE_STATUS[CVE-2018-11412] = "fixed-version: Fixed after version 4.18rc1"
+CVE_STATUS[CVE-2018-11412] = "fixed-version: Fixed from version 4.18rc1"
 
-CVE_STATUS[CVE-2018-11506] = "fixed-version: Fixed after version 4.17rc7"
+CVE_STATUS[CVE-2018-11506] = "fixed-version: Fixed from version 4.17rc7"
 
-CVE_STATUS[CVE-2018-11508] = "fixed-version: Fixed after version 4.17rc5"
+CVE_STATUS[CVE-2018-11508] = "fixed-version: Fixed from version 4.17rc5"
 
 # CVE-2018-11987 has no known resolution
 
-CVE_STATUS[CVE-2018-12126] = "fixed-version: Fixed after version 5.2rc1"
+CVE_STATUS[CVE-2018-12126] = "fixed-version: Fixed from version 5.2rc1"
 
-CVE_STATUS[CVE-2018-12127] = "fixed-version: Fixed after version 5.2rc1"
+CVE_STATUS[CVE-2018-12127] = "fixed-version: Fixed from version 5.2rc1"
 
-CVE_STATUS[CVE-2018-12130] = "fixed-version: Fixed after version 5.2rc1"
+CVE_STATUS[CVE-2018-12130] = "fixed-version: Fixed from version 5.2rc1"
 
-CVE_STATUS[CVE-2018-12207] = "fixed-version: Fixed after version 5.4rc2"
+CVE_STATUS[CVE-2018-12207] = "fixed-version: Fixed from version 5.4rc2"
 
-CVE_STATUS[CVE-2018-12232] = "fixed-version: Fixed after version 4.18rc1"
+CVE_STATUS[CVE-2018-12232] = "fixed-version: Fixed from version 4.18rc1"
 
-CVE_STATUS[CVE-2018-12233] = "fixed-version: Fixed after version 4.18rc2"
+CVE_STATUS[CVE-2018-12233] = "fixed-version: Fixed from version 4.18rc2"
 
-CVE_STATUS[CVE-2018-12633] = "fixed-version: Fixed after version 4.18rc1"
+CVE_STATUS[CVE-2018-12633] = "fixed-version: Fixed from version 4.18rc1"
 
-CVE_STATUS[CVE-2018-12714] = "fixed-version: Fixed after version 4.18rc2"
+CVE_STATUS[CVE-2018-12714] = "fixed-version: Fixed from version 4.18rc2"
 
-CVE_STATUS[CVE-2018-12896] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2018-12896] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2018-12904] = "fixed-version: Fixed after version 4.18rc1"
+CVE_STATUS[CVE-2018-12904] = "fixed-version: Fixed from version 4.18rc1"
 
 # CVE-2018-12928 has no known resolution
 
@@ -2191,445 +2200,445 @@
 
 # CVE-2018-12931 has no known resolution
 
-CVE_STATUS[CVE-2018-13053] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2018-13053] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2018-13093] = "fixed-version: Fixed after version 4.18rc1"
+CVE_STATUS[CVE-2018-13093] = "fixed-version: Fixed from version 4.18rc1"
 
-CVE_STATUS[CVE-2018-13094] = "fixed-version: Fixed after version 4.18rc1"
+CVE_STATUS[CVE-2018-13094] = "fixed-version: Fixed from version 4.18rc1"
 
-CVE_STATUS[CVE-2018-13095] = "fixed-version: Fixed after version 4.18rc3"
+CVE_STATUS[CVE-2018-13095] = "fixed-version: Fixed from version 4.18rc3"
 
-CVE_STATUS[CVE-2018-13096] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2018-13096] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2018-13097] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2018-13097] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2018-13098] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2018-13098] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2018-13099] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2018-13099] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2018-13100] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2018-13100] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2018-13405] = "fixed-version: Fixed after version 4.18rc4"
+CVE_STATUS[CVE-2018-13405] = "fixed-version: Fixed from version 4.18rc4"
 
-CVE_STATUS[CVE-2018-13406] = "fixed-version: Fixed after version 4.18rc1"
+CVE_STATUS[CVE-2018-13406] = "fixed-version: Fixed from version 4.18rc1"
 
-CVE_STATUS[CVE-2018-14609] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2018-14609] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2018-14610] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2018-14610] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2018-14611] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2018-14611] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2018-14612] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2018-14612] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2018-14613] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2018-14613] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2018-14614] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2018-14614] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2018-14615] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2018-14615] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2018-14616] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2018-14616] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2018-14617] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2018-14617] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2018-14619] = "fixed-version: Fixed after version 4.15rc4"
+CVE_STATUS[CVE-2018-14619] = "fixed-version: Fixed from version 4.15rc4"
 
-CVE_STATUS[CVE-2018-14625] = "fixed-version: Fixed after version 4.20rc6"
+CVE_STATUS[CVE-2018-14625] = "fixed-version: Fixed from version 4.20rc6"
 
-CVE_STATUS[CVE-2018-14633] = "fixed-version: Fixed after version 4.19rc6"
+CVE_STATUS[CVE-2018-14633] = "fixed-version: Fixed from version 4.19rc6"
 
-CVE_STATUS[CVE-2018-14634] = "fixed-version: Fixed after version 4.13rc1"
+CVE_STATUS[CVE-2018-14634] = "fixed-version: Fixed from version 4.13rc1"
 
-CVE_STATUS[CVE-2018-14641] = "fixed-version: Fixed after version 4.19rc4"
+CVE_STATUS[CVE-2018-14641] = "fixed-version: Fixed from version 4.19rc4"
 
-CVE_STATUS[CVE-2018-14646] = "fixed-version: Fixed after version 4.15rc8"
+CVE_STATUS[CVE-2018-14646] = "fixed-version: Fixed from version 4.15rc8"
 
-CVE_STATUS[CVE-2018-14656] = "fixed-version: Fixed after version 4.19rc2"
+CVE_STATUS[CVE-2018-14656] = "fixed-version: Fixed from version 4.19rc2"
 
-CVE_STATUS[CVE-2018-14678] = "fixed-version: Fixed after version 4.18rc8"
+CVE_STATUS[CVE-2018-14678] = "fixed-version: Fixed from version 4.18rc8"
 
-CVE_STATUS[CVE-2018-14734] = "fixed-version: Fixed after version 4.18rc1"
+CVE_STATUS[CVE-2018-14734] = "fixed-version: Fixed from version 4.18rc1"
 
-CVE_STATUS[CVE-2018-15471] = "fixed-version: Fixed after version 4.19rc7"
+CVE_STATUS[CVE-2018-15471] = "fixed-version: Fixed from version 4.19rc7"
 
-CVE_STATUS[CVE-2018-15572] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2018-15572] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2018-15594] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2018-15594] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2018-16276] = "fixed-version: Fixed after version 4.18rc5"
+CVE_STATUS[CVE-2018-16276] = "fixed-version: Fixed from version 4.18rc5"
 
-CVE_STATUS[CVE-2018-16597] = "fixed-version: Fixed after version 4.8rc1"
+CVE_STATUS[CVE-2018-16597] = "fixed-version: Fixed from version 4.8rc1"
 
-CVE_STATUS[CVE-2018-16658] = "fixed-version: Fixed after version 4.19rc2"
+CVE_STATUS[CVE-2018-16658] = "fixed-version: Fixed from version 4.19rc2"
 
-CVE_STATUS[CVE-2018-16862] = "fixed-version: Fixed after version 4.20rc5"
+CVE_STATUS[CVE-2018-16862] = "fixed-version: Fixed from version 4.20rc5"
 
-CVE_STATUS[CVE-2018-16871] = "fixed-version: Fixed after version 4.20rc3"
+CVE_STATUS[CVE-2018-16871] = "fixed-version: Fixed from version 4.20rc3"
 
-CVE_STATUS[CVE-2018-16880] = "fixed-version: Fixed after version 5.0rc5"
+CVE_STATUS[CVE-2018-16880] = "fixed-version: Fixed from version 5.0rc5"
 
-CVE_STATUS[CVE-2018-16882] = "fixed-version: Fixed after version 4.20"
+CVE_STATUS[CVE-2018-16882] = "fixed-version: Fixed from version 4.20"
 
-CVE_STATUS[CVE-2018-16884] = "fixed-version: Fixed after version 5.0rc1"
+CVE_STATUS[CVE-2018-16884] = "fixed-version: Fixed from version 5.0rc1"
 
 # CVE-2018-16885 has no known resolution
 
-CVE_STATUS[CVE-2018-17182] = "fixed-version: Fixed after version 4.19rc4"
+CVE_STATUS[CVE-2018-17182] = "fixed-version: Fixed from version 4.19rc4"
 
-CVE_STATUS[CVE-2018-17972] = "fixed-version: Fixed after version 4.19rc7"
+CVE_STATUS[CVE-2018-17972] = "fixed-version: Fixed from version 4.19rc7"
 
 # CVE-2018-17977 has no known resolution
 
-CVE_STATUS[CVE-2018-18021] = "fixed-version: Fixed after version 4.19rc7"
+CVE_STATUS[CVE-2018-18021] = "fixed-version: Fixed from version 4.19rc7"
 
-CVE_STATUS[CVE-2018-18281] = "fixed-version: Fixed after version 4.19"
+CVE_STATUS[CVE-2018-18281] = "fixed-version: Fixed from version 4.19"
 
-CVE_STATUS[CVE-2018-18386] = "fixed-version: Fixed after version 4.15rc6"
+CVE_STATUS[CVE-2018-18386] = "fixed-version: Fixed from version 4.15rc6"
 
-CVE_STATUS[CVE-2018-18397] = "fixed-version: Fixed after version 4.20rc5"
+CVE_STATUS[CVE-2018-18397] = "fixed-version: Fixed from version 4.20rc5"
 
-CVE_STATUS[CVE-2018-18445] = "fixed-version: Fixed after version 4.19rc7"
+CVE_STATUS[CVE-2018-18445] = "fixed-version: Fixed from version 4.19rc7"
 
-CVE_STATUS[CVE-2018-18559] = "fixed-version: Fixed after version 4.15rc2"
+CVE_STATUS[CVE-2018-18559] = "fixed-version: Fixed from version 4.15rc2"
 
 # CVE-2018-18653 has no known resolution
 
-CVE_STATUS[CVE-2018-18690] = "fixed-version: Fixed after version 4.17rc4"
+CVE_STATUS[CVE-2018-18690] = "fixed-version: Fixed from version 4.17rc4"
 
-CVE_STATUS[CVE-2018-18710] = "fixed-version: Fixed after version 4.20rc1"
+CVE_STATUS[CVE-2018-18710] = "fixed-version: Fixed from version 4.20rc1"
 
-CVE_STATUS[CVE-2018-18955] = "fixed-version: Fixed after version 4.20rc2"
+CVE_STATUS[CVE-2018-18955] = "fixed-version: Fixed from version 4.20rc2"
 
-CVE_STATUS[CVE-2018-19406] = "fixed-version: Fixed after version 4.20rc5"
+CVE_STATUS[CVE-2018-19406] = "fixed-version: Fixed from version 4.20rc5"
 
-CVE_STATUS[CVE-2018-19407] = "fixed-version: Fixed after version 4.20rc5"
+CVE_STATUS[CVE-2018-19407] = "fixed-version: Fixed from version 4.20rc5"
 
-CVE_STATUS[CVE-2018-19824] = "fixed-version: Fixed after version 4.20rc6"
+CVE_STATUS[CVE-2018-19824] = "fixed-version: Fixed from version 4.20rc6"
 
-CVE_STATUS[CVE-2018-19854] = "fixed-version: Fixed after version 4.20rc3"
+CVE_STATUS[CVE-2018-19854] = "fixed-version: Fixed from version 4.20rc3"
 
-CVE_STATUS[CVE-2018-19985] = "fixed-version: Fixed after version 4.20"
+CVE_STATUS[CVE-2018-19985] = "fixed-version: Fixed from version 4.20"
 
-CVE_STATUS[CVE-2018-20169] = "fixed-version: Fixed after version 4.20rc6"
+CVE_STATUS[CVE-2018-20169] = "fixed-version: Fixed from version 4.20rc6"
 
-CVE_STATUS[CVE-2018-20449] = "fixed-version: Fixed after version 4.15rc2"
+CVE_STATUS[CVE-2018-20449] = "fixed-version: Fixed from version 4.15rc2"
 
-CVE_STATUS[CVE-2018-20509] = "fixed-version: Fixed after version 4.14rc1"
+CVE_STATUS[CVE-2018-20509] = "fixed-version: Fixed from version 4.14rc1"
 
-CVE_STATUS[CVE-2018-20510] = "fixed-version: Fixed after version 4.16rc3"
+CVE_STATUS[CVE-2018-20510] = "fixed-version: Fixed from version 4.16rc3"
 
-CVE_STATUS[CVE-2018-20511] = "fixed-version: Fixed after version 4.19rc5"
+CVE_STATUS[CVE-2018-20511] = "fixed-version: Fixed from version 4.19rc5"
 
-CVE_STATUS[CVE-2018-20669] = "fixed-version: Fixed after version 5.0rc1"
+CVE_STATUS[CVE-2018-20669] = "fixed-version: Fixed from version 5.0rc1"
 
-CVE_STATUS[CVE-2018-20784] = "fixed-version: Fixed after version 5.0rc1"
+CVE_STATUS[CVE-2018-20784] = "fixed-version: Fixed from version 5.0rc1"
 
-CVE_STATUS[CVE-2018-20836] = "fixed-version: Fixed after version 4.20rc1"
+CVE_STATUS[CVE-2018-20836] = "fixed-version: Fixed from version 4.20rc1"
 
-CVE_STATUS[CVE-2018-20854] = "fixed-version: Fixed after version 4.20rc1"
+CVE_STATUS[CVE-2018-20854] = "fixed-version: Fixed from version 4.20rc1"
 
-CVE_STATUS[CVE-2018-20855] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2018-20855] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2018-20856] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2018-20856] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2018-20961] = "fixed-version: Fixed after version 4.17rc1"
+CVE_STATUS[CVE-2018-20961] = "fixed-version: Fixed from version 4.17rc1"
 
-CVE_STATUS[CVE-2018-20976] = "fixed-version: Fixed after version 4.18rc1"
+CVE_STATUS[CVE-2018-20976] = "fixed-version: Fixed from version 4.18rc1"
 
-CVE_STATUS[CVE-2018-21008] = "fixed-version: Fixed after version 4.18rc1"
+CVE_STATUS[CVE-2018-21008] = "fixed-version: Fixed from version 4.18rc1"
 
-CVE_STATUS[CVE-2018-25015] = "fixed-version: Fixed after version 4.15rc9"
+CVE_STATUS[CVE-2018-25015] = "fixed-version: Fixed from version 4.15rc9"
 
-CVE_STATUS[CVE-2018-25020] = "fixed-version: Fixed after version 4.17rc7"
+CVE_STATUS[CVE-2018-25020] = "fixed-version: Fixed from version 4.17rc7"
 
 # CVE-2018-3574 has no known resolution
 
-CVE_STATUS[CVE-2018-3620] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2018-3620] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2018-3639] = "fixed-version: Fixed after version 4.17rc7"
+CVE_STATUS[CVE-2018-3639] = "fixed-version: Fixed from version 4.17rc7"
 
-CVE_STATUS[CVE-2018-3646] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2018-3646] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2018-3665] = "fixed-version: Fixed after version 3.7rc1"
+CVE_STATUS[CVE-2018-3665] = "fixed-version: Fixed from version 3.7rc1"
 
-CVE_STATUS[CVE-2018-3693] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2018-3693] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2018-5332] = "fixed-version: Fixed after version 4.15rc8"
+CVE_STATUS[CVE-2018-5332] = "fixed-version: Fixed from version 4.15rc8"
 
-CVE_STATUS[CVE-2018-5333] = "fixed-version: Fixed after version 4.15rc8"
+CVE_STATUS[CVE-2018-5333] = "fixed-version: Fixed from version 4.15rc8"
 
-CVE_STATUS[CVE-2018-5344] = "fixed-version: Fixed after version 4.15rc8"
+CVE_STATUS[CVE-2018-5344] = "fixed-version: Fixed from version 4.15rc8"
 
-CVE_STATUS[CVE-2018-5390] = "fixed-version: Fixed after version 4.18rc7"
+CVE_STATUS[CVE-2018-5390] = "fixed-version: Fixed from version 4.18rc7"
 
-CVE_STATUS[CVE-2018-5391] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2018-5391] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2018-5703] = "fixed-version: Fixed after version 4.16rc5"
+CVE_STATUS[CVE-2018-5703] = "fixed-version: Fixed from version 4.16rc5"
 
-CVE_STATUS[CVE-2018-5750] = "fixed-version: Fixed after version 4.16rc1"
+CVE_STATUS[CVE-2018-5750] = "fixed-version: Fixed from version 4.16rc1"
 
-CVE_STATUS[CVE-2018-5803] = "fixed-version: Fixed after version 4.16rc1"
+CVE_STATUS[CVE-2018-5803] = "fixed-version: Fixed from version 4.16rc1"
 
-CVE_STATUS[CVE-2018-5814] = "fixed-version: Fixed after version 4.17rc6"
+CVE_STATUS[CVE-2018-5814] = "fixed-version: Fixed from version 4.17rc6"
 
-CVE_STATUS[CVE-2018-5848] = "fixed-version: Fixed after version 4.16rc1"
+CVE_STATUS[CVE-2018-5848] = "fixed-version: Fixed from version 4.16rc1"
 
 # Skipping CVE-2018-5856, no affected_versions
 
-CVE_STATUS[CVE-2018-5873] = "fixed-version: Fixed after version 4.11rc8"
+CVE_STATUS[CVE-2018-5873] = "fixed-version: Fixed from version 4.11rc8"
 
-CVE_STATUS[CVE-2018-5953] = "fixed-version: Fixed after version 4.15rc2"
+CVE_STATUS[CVE-2018-5953] = "fixed-version: Fixed from version 4.15rc2"
 
-CVE_STATUS[CVE-2018-5995] = "fixed-version: Fixed after version 4.15rc2"
+CVE_STATUS[CVE-2018-5995] = "fixed-version: Fixed from version 4.15rc2"
 
-CVE_STATUS[CVE-2018-6412] = "fixed-version: Fixed after version 4.16rc5"
+CVE_STATUS[CVE-2018-6412] = "fixed-version: Fixed from version 4.16rc5"
 
-CVE_STATUS[CVE-2018-6554] = "fixed-version: Fixed after version 4.17rc1"
+CVE_STATUS[CVE-2018-6554] = "fixed-version: Fixed from version 4.17rc1"
 
-CVE_STATUS[CVE-2018-6555] = "fixed-version: Fixed after version 4.17rc1"
+CVE_STATUS[CVE-2018-6555] = "fixed-version: Fixed from version 4.17rc1"
 
 # CVE-2018-6559 has no known resolution
 
-CVE_STATUS[CVE-2018-6927] = "fixed-version: Fixed after version 4.15rc9"
+CVE_STATUS[CVE-2018-6927] = "fixed-version: Fixed from version 4.15rc9"
 
-CVE_STATUS[CVE-2018-7191] = "fixed-version: Fixed after version 4.14rc6"
+CVE_STATUS[CVE-2018-7191] = "fixed-version: Fixed from version 4.14rc6"
 
-CVE_STATUS[CVE-2018-7273] = "fixed-version: Fixed after version 4.15rc2"
+CVE_STATUS[CVE-2018-7273] = "fixed-version: Fixed from version 4.15rc2"
 
-CVE_STATUS[CVE-2018-7480] = "fixed-version: Fixed after version 4.11rc1"
+CVE_STATUS[CVE-2018-7480] = "fixed-version: Fixed from version 4.11rc1"
 
-CVE_STATUS[CVE-2018-7492] = "fixed-version: Fixed after version 4.15rc3"
+CVE_STATUS[CVE-2018-7492] = "fixed-version: Fixed from version 4.15rc3"
 
-CVE_STATUS[CVE-2018-7566] = "fixed-version: Fixed after version 4.16rc2"
+CVE_STATUS[CVE-2018-7566] = "fixed-version: Fixed from version 4.16rc2"
 
-CVE_STATUS[CVE-2018-7740] = "fixed-version: Fixed after version 4.16rc7"
+CVE_STATUS[CVE-2018-7740] = "fixed-version: Fixed from version 4.16rc7"
 
-CVE_STATUS[CVE-2018-7754] = "fixed-version: Fixed after version 4.15rc2"
+CVE_STATUS[CVE-2018-7754] = "fixed-version: Fixed from version 4.15rc2"
 
-CVE_STATUS[CVE-2018-7755] = "fixed-version: Fixed after version 4.19rc5"
+CVE_STATUS[CVE-2018-7755] = "fixed-version: Fixed from version 4.19rc5"
 
-CVE_STATUS[CVE-2018-7757] = "fixed-version: Fixed after version 4.16rc1"
+CVE_STATUS[CVE-2018-7757] = "fixed-version: Fixed from version 4.16rc1"
 
-CVE_STATUS[CVE-2018-7995] = "fixed-version: Fixed after version 4.16rc5"
+CVE_STATUS[CVE-2018-7995] = "fixed-version: Fixed from version 4.16rc5"
 
-CVE_STATUS[CVE-2018-8043] = "fixed-version: Fixed after version 4.16rc1"
+CVE_STATUS[CVE-2018-8043] = "fixed-version: Fixed from version 4.16rc1"
 
-CVE_STATUS[CVE-2018-8087] = "fixed-version: Fixed after version 4.16rc1"
+CVE_STATUS[CVE-2018-8087] = "fixed-version: Fixed from version 4.16rc1"
 
-CVE_STATUS[CVE-2018-8781] = "fixed-version: Fixed after version 4.16rc7"
+CVE_STATUS[CVE-2018-8781] = "fixed-version: Fixed from version 4.16rc7"
 
-CVE_STATUS[CVE-2018-8822] = "fixed-version: Fixed after version 4.16rc7"
+CVE_STATUS[CVE-2018-8822] = "fixed-version: Fixed from version 4.16rc7"
 
-CVE_STATUS[CVE-2018-8897] = "fixed-version: Fixed after version 4.16rc7"
+CVE_STATUS[CVE-2018-8897] = "fixed-version: Fixed from version 4.16rc7"
 
-CVE_STATUS[CVE-2018-9363] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2018-9363] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2018-9385] = "fixed-version: Fixed after version 4.17rc3"
+CVE_STATUS[CVE-2018-9385] = "fixed-version: Fixed from version 4.17rc3"
 
-CVE_STATUS[CVE-2018-9415] = "fixed-version: Fixed after version 4.17rc3"
+CVE_STATUS[CVE-2018-9415] = "fixed-version: Fixed from version 4.17rc3"
 
-CVE_STATUS[CVE-2018-9422] = "fixed-version: Fixed after version 4.6rc1"
+CVE_STATUS[CVE-2018-9422] = "fixed-version: Fixed from version 4.6rc1"
 
-CVE_STATUS[CVE-2018-9465] = "fixed-version: Fixed after version 4.15rc6"
+CVE_STATUS[CVE-2018-9465] = "fixed-version: Fixed from version 4.15rc6"
 
-CVE_STATUS[CVE-2018-9516] = "fixed-version: Fixed after version 4.18rc5"
+CVE_STATUS[CVE-2018-9516] = "fixed-version: Fixed from version 4.18rc5"
 
-CVE_STATUS[CVE-2018-9517] = "fixed-version: Fixed after version 4.14rc1"
+CVE_STATUS[CVE-2018-9517] = "fixed-version: Fixed from version 4.14rc1"
 
-CVE_STATUS[CVE-2018-9518] = "fixed-version: Fixed after version 4.16rc3"
+CVE_STATUS[CVE-2018-9518] = "fixed-version: Fixed from version 4.16rc3"
 
-CVE_STATUS[CVE-2018-9568] = "fixed-version: Fixed after version 4.14rc4"
+CVE_STATUS[CVE-2018-9568] = "fixed-version: Fixed from version 4.14rc4"
 
-CVE_STATUS[CVE-2019-0136] = "fixed-version: Fixed after version 5.2rc6"
+CVE_STATUS[CVE-2019-0136] = "fixed-version: Fixed from version 5.2rc6"
 
-CVE_STATUS[CVE-2019-0145] = "fixed-version: Fixed after version 5.2rc1"
+CVE_STATUS[CVE-2019-0145] = "fixed-version: Fixed from version 5.2rc1"
 
-CVE_STATUS[CVE-2019-0146] = "fixed-version: Fixed after version 5.2rc1"
+CVE_STATUS[CVE-2019-0146] = "fixed-version: Fixed from version 5.2rc1"
 
-CVE_STATUS[CVE-2019-0147] = "fixed-version: Fixed after version 5.2rc1"
+CVE_STATUS[CVE-2019-0147] = "fixed-version: Fixed from version 5.2rc1"
 
-CVE_STATUS[CVE-2019-0148] = "fixed-version: Fixed after version 5.2rc1"
+CVE_STATUS[CVE-2019-0148] = "fixed-version: Fixed from version 5.2rc1"
 
-CVE_STATUS[CVE-2019-0149] = "fixed-version: Fixed after version 5.3rc1"
+CVE_STATUS[CVE-2019-0149] = "fixed-version: Fixed from version 5.3rc1"
 
-CVE_STATUS[CVE-2019-0154] = "fixed-version: Fixed after version 5.4rc8"
+CVE_STATUS[CVE-2019-0154] = "fixed-version: Fixed from version 5.4rc8"
 
-CVE_STATUS[CVE-2019-0155] = "fixed-version: Fixed after version 5.4rc8"
+CVE_STATUS[CVE-2019-0155] = "fixed-version: Fixed from version 5.4rc8"
 
-CVE_STATUS[CVE-2019-10124] = "fixed-version: Fixed after version 5.1rc1"
+CVE_STATUS[CVE-2019-10124] = "fixed-version: Fixed from version 5.1rc1"
 
-CVE_STATUS[CVE-2019-10125] = "fixed-version: Fixed after version 5.1rc1"
+CVE_STATUS[CVE-2019-10125] = "fixed-version: Fixed from version 5.1rc1"
 
-CVE_STATUS[CVE-2019-10126] = "fixed-version: Fixed after version 5.2rc6"
+CVE_STATUS[CVE-2019-10126] = "fixed-version: Fixed from version 5.2rc6"
 
 # CVE-2019-10140 has no known resolution
 
-CVE_STATUS[CVE-2019-10142] = "fixed-version: Fixed after version 5.2rc1"
+CVE_STATUS[CVE-2019-10142] = "fixed-version: Fixed from version 5.2rc1"
 
-CVE_STATUS[CVE-2019-10207] = "fixed-version: Fixed after version 5.3rc3"
+CVE_STATUS[CVE-2019-10207] = "fixed-version: Fixed from version 5.3rc3"
 
-CVE_STATUS[CVE-2019-10220] = "fixed-version: Fixed after version 5.4rc2"
+CVE_STATUS[CVE-2019-10220] = "fixed-version: Fixed from version 5.4rc2"
 
-CVE_STATUS[CVE-2019-10638] = "fixed-version: Fixed after version 5.2rc1"
+CVE_STATUS[CVE-2019-10638] = "fixed-version: Fixed from version 5.2rc1"
 
-CVE_STATUS[CVE-2019-10639] = "fixed-version: Fixed after version 5.1rc4"
+CVE_STATUS[CVE-2019-10639] = "fixed-version: Fixed from version 5.1rc4"
 
-CVE_STATUS[CVE-2019-11085] = "fixed-version: Fixed after version 5.0rc3"
+CVE_STATUS[CVE-2019-11085] = "fixed-version: Fixed from version 5.0rc3"
 
-CVE_STATUS[CVE-2019-11091] = "fixed-version: Fixed after version 5.2rc1"
+CVE_STATUS[CVE-2019-11091] = "fixed-version: Fixed from version 5.2rc1"
 
-CVE_STATUS[CVE-2019-11135] = "fixed-version: Fixed after version 5.4rc8"
+CVE_STATUS[CVE-2019-11135] = "fixed-version: Fixed from version 5.4rc8"
 
-CVE_STATUS[CVE-2019-11190] = "fixed-version: Fixed after version 4.8rc5"
+CVE_STATUS[CVE-2019-11190] = "fixed-version: Fixed from version 4.8rc5"
 
-CVE_STATUS[CVE-2019-11191] = "fixed-version: Fixed after version 5.1rc1"
+CVE_STATUS[CVE-2019-11191] = "fixed-version: Fixed from version 5.1rc1"
 
-CVE_STATUS[CVE-2019-1125] = "fixed-version: Fixed after version 5.3rc4"
+CVE_STATUS[CVE-2019-1125] = "fixed-version: Fixed from version 5.3rc4"
 
-CVE_STATUS[CVE-2019-11477] = "fixed-version: Fixed after version 5.2rc6"
+CVE_STATUS[CVE-2019-11477] = "fixed-version: Fixed from version 5.2rc6"
 
-CVE_STATUS[CVE-2019-11478] = "fixed-version: Fixed after version 5.2rc6"
+CVE_STATUS[CVE-2019-11478] = "fixed-version: Fixed from version 5.2rc6"
 
-CVE_STATUS[CVE-2019-11479] = "fixed-version: Fixed after version 5.2rc6"
+CVE_STATUS[CVE-2019-11479] = "fixed-version: Fixed from version 5.2rc6"
 
-CVE_STATUS[CVE-2019-11486] = "fixed-version: Fixed after version 5.1rc4"
+CVE_STATUS[CVE-2019-11486] = "fixed-version: Fixed from version 5.1rc4"
 
-CVE_STATUS[CVE-2019-11487] = "fixed-version: Fixed after version 5.1rc5"
+CVE_STATUS[CVE-2019-11487] = "fixed-version: Fixed from version 5.1rc5"
 
-CVE_STATUS[CVE-2019-11599] = "fixed-version: Fixed after version 5.1rc6"
+CVE_STATUS[CVE-2019-11599] = "fixed-version: Fixed from version 5.1rc6"
 
-CVE_STATUS[CVE-2019-11683] = "fixed-version: Fixed after version 5.1"
+CVE_STATUS[CVE-2019-11683] = "fixed-version: Fixed from version 5.1"
 
-CVE_STATUS[CVE-2019-11810] = "fixed-version: Fixed after version 5.1rc1"
+CVE_STATUS[CVE-2019-11810] = "fixed-version: Fixed from version 5.1rc1"
 
-CVE_STATUS[CVE-2019-11811] = "fixed-version: Fixed after version 5.1rc1"
+CVE_STATUS[CVE-2019-11811] = "fixed-version: Fixed from version 5.1rc1"
 
-CVE_STATUS[CVE-2019-11815] = "fixed-version: Fixed after version 5.1rc4"
+CVE_STATUS[CVE-2019-11815] = "fixed-version: Fixed from version 5.1rc4"
 
-CVE_STATUS[CVE-2019-11833] = "fixed-version: Fixed after version 5.2rc1"
+CVE_STATUS[CVE-2019-11833] = "fixed-version: Fixed from version 5.2rc1"
 
-CVE_STATUS[CVE-2019-11884] = "fixed-version: Fixed after version 5.2rc1"
+CVE_STATUS[CVE-2019-11884] = "fixed-version: Fixed from version 5.2rc1"
 
-CVE_STATUS[CVE-2019-12378] = "fixed-version: Fixed after version 5.2rc3"
+CVE_STATUS[CVE-2019-12378] = "fixed-version: Fixed from version 5.2rc3"
 
-CVE_STATUS[CVE-2019-12379] = "fixed-version: Fixed after version 5.3rc1"
+CVE_STATUS[CVE-2019-12379] = "fixed-version: Fixed from version 5.3rc1"
 
-CVE_STATUS[CVE-2019-12380] = "fixed-version: Fixed after version 5.2rc3"
+CVE_STATUS[CVE-2019-12380] = "fixed-version: Fixed from version 5.2rc3"
 
-CVE_STATUS[CVE-2019-12381] = "fixed-version: Fixed after version 5.2rc3"
+CVE_STATUS[CVE-2019-12381] = "fixed-version: Fixed from version 5.2rc3"
 
-CVE_STATUS[CVE-2019-12382] = "fixed-version: Fixed after version 5.3rc1"
+CVE_STATUS[CVE-2019-12382] = "fixed-version: Fixed from version 5.3rc1"
 
-CVE_STATUS[CVE-2019-12454] = "fixed-version: Fixed after version 5.3rc1"
+CVE_STATUS[CVE-2019-12454] = "fixed-version: Fixed from version 5.3rc1"
 
-CVE_STATUS[CVE-2019-12455] = "fixed-version: Fixed after version 5.3rc1"
+CVE_STATUS[CVE-2019-12455] = "fixed-version: Fixed from version 5.3rc1"
 
 # CVE-2019-12456 has no known resolution
 
-CVE_STATUS[CVE-2019-12614] = "fixed-version: Fixed after version 5.3rc1"
+CVE_STATUS[CVE-2019-12614] = "fixed-version: Fixed from version 5.3rc1"
 
-CVE_STATUS[CVE-2019-12615] = "fixed-version: Fixed after version 5.2rc4"
+CVE_STATUS[CVE-2019-12615] = "fixed-version: Fixed from version 5.2rc4"
 
-CVE_STATUS[CVE-2019-12817] = "fixed-version: Fixed after version 5.2rc7"
+CVE_STATUS[CVE-2019-12817] = "fixed-version: Fixed from version 5.2rc7"
 
-CVE_STATUS[CVE-2019-12818] = "fixed-version: Fixed after version 5.0"
+CVE_STATUS[CVE-2019-12818] = "fixed-version: Fixed from version 5.0"
 
-CVE_STATUS[CVE-2019-12819] = "fixed-version: Fixed after version 5.0rc8"
+CVE_STATUS[CVE-2019-12819] = "fixed-version: Fixed from version 5.0rc8"
 
-CVE_STATUS[CVE-2019-12881] = "fixed-version: Fixed after version 4.18rc1"
+CVE_STATUS[CVE-2019-12881] = "fixed-version: Fixed from version 4.18rc1"
 
-CVE_STATUS[CVE-2019-12984] = "fixed-version: Fixed after version 5.2rc6"
+CVE_STATUS[CVE-2019-12984] = "fixed-version: Fixed from version 5.2rc6"
 
-CVE_STATUS[CVE-2019-13233] = "fixed-version: Fixed after version 5.2rc4"
+CVE_STATUS[CVE-2019-13233] = "fixed-version: Fixed from version 5.2rc4"
 
-CVE_STATUS[CVE-2019-13272] = "fixed-version: Fixed after version 5.2"
+CVE_STATUS[CVE-2019-13272] = "fixed-version: Fixed from version 5.2"
 
-CVE_STATUS[CVE-2019-13631] = "fixed-version: Fixed after version 5.3rc1"
+CVE_STATUS[CVE-2019-13631] = "fixed-version: Fixed from version 5.3rc1"
 
-CVE_STATUS[CVE-2019-13648] = "fixed-version: Fixed after version 5.3rc2"
+CVE_STATUS[CVE-2019-13648] = "fixed-version: Fixed from version 5.3rc2"
 
-CVE_STATUS[CVE-2019-14283] = "fixed-version: Fixed after version 5.3rc1"
+CVE_STATUS[CVE-2019-14283] = "fixed-version: Fixed from version 5.3rc1"
 
-CVE_STATUS[CVE-2019-14284] = "fixed-version: Fixed after version 5.3rc1"
+CVE_STATUS[CVE-2019-14284] = "fixed-version: Fixed from version 5.3rc1"
 
-CVE_STATUS[CVE-2019-14615] = "fixed-version: Fixed after version 5.5rc7"
+CVE_STATUS[CVE-2019-14615] = "fixed-version: Fixed from version 5.5rc7"
 
-CVE_STATUS[CVE-2019-14763] = "fixed-version: Fixed after version 4.17rc1"
+CVE_STATUS[CVE-2019-14763] = "fixed-version: Fixed from version 4.17rc1"
 
-CVE_STATUS[CVE-2019-14814] = "fixed-version: Fixed after version 5.3"
+CVE_STATUS[CVE-2019-14814] = "fixed-version: Fixed from version 5.3"
 
-CVE_STATUS[CVE-2019-14815] = "fixed-version: Fixed after version 5.3"
+CVE_STATUS[CVE-2019-14815] = "fixed-version: Fixed from version 5.3"
 
-CVE_STATUS[CVE-2019-14816] = "fixed-version: Fixed after version 5.3"
+CVE_STATUS[CVE-2019-14816] = "fixed-version: Fixed from version 5.3"
 
-CVE_STATUS[CVE-2019-14821] = "fixed-version: Fixed after version 5.4rc1"
+CVE_STATUS[CVE-2019-14821] = "fixed-version: Fixed from version 5.4rc1"
 
-CVE_STATUS[CVE-2019-14835] = "fixed-version: Fixed after version 5.3"
+CVE_STATUS[CVE-2019-14835] = "fixed-version: Fixed from version 5.3"
 
-CVE_STATUS[CVE-2019-14895] = "fixed-version: Fixed after version 5.5rc3"
+CVE_STATUS[CVE-2019-14895] = "fixed-version: Fixed from version 5.5rc3"
 
-CVE_STATUS[CVE-2019-14896] = "fixed-version: Fixed after version 5.5"
+CVE_STATUS[CVE-2019-14896] = "fixed-version: Fixed from version 5.5"
 
-CVE_STATUS[CVE-2019-14897] = "fixed-version: Fixed after version 5.5"
+CVE_STATUS[CVE-2019-14897] = "fixed-version: Fixed from version 5.5"
 
 # CVE-2019-14898 has no known resolution
 
-CVE_STATUS[CVE-2019-14901] = "fixed-version: Fixed after version 5.5rc3"
+CVE_STATUS[CVE-2019-14901] = "fixed-version: Fixed from version 5.5rc3"
 
-CVE_STATUS[CVE-2019-15030] = "fixed-version: Fixed after version 5.3rc8"
+CVE_STATUS[CVE-2019-15030] = "fixed-version: Fixed from version 5.3rc8"
 
-CVE_STATUS[CVE-2019-15031] = "fixed-version: Fixed after version 5.3rc8"
+CVE_STATUS[CVE-2019-15031] = "fixed-version: Fixed from version 5.3rc8"
 
-CVE_STATUS[CVE-2019-15090] = "fixed-version: Fixed after version 5.2rc2"
+CVE_STATUS[CVE-2019-15090] = "fixed-version: Fixed from version 5.2rc2"
 
-CVE_STATUS[CVE-2019-15098] = "fixed-version: Fixed after version 5.4rc1"
+CVE_STATUS[CVE-2019-15098] = "fixed-version: Fixed from version 5.4rc1"
 
-CVE_STATUS[CVE-2019-15099] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-15099] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-15117] = "fixed-version: Fixed after version 5.3rc5"
+CVE_STATUS[CVE-2019-15117] = "fixed-version: Fixed from version 5.3rc5"
 
-CVE_STATUS[CVE-2019-15118] = "fixed-version: Fixed after version 5.3rc5"
+CVE_STATUS[CVE-2019-15118] = "fixed-version: Fixed from version 5.3rc5"
 
-CVE_STATUS[CVE-2019-15211] = "fixed-version: Fixed after version 5.3rc1"
+CVE_STATUS[CVE-2019-15211] = "fixed-version: Fixed from version 5.3rc1"
 
-CVE_STATUS[CVE-2019-15212] = "fixed-version: Fixed after version 5.2rc3"
+CVE_STATUS[CVE-2019-15212] = "fixed-version: Fixed from version 5.2rc3"
 
-CVE_STATUS[CVE-2019-15213] = "fixed-version: Fixed after version 5.3rc1"
+CVE_STATUS[CVE-2019-15213] = "fixed-version: Fixed from version 5.3rc1"
 
-CVE_STATUS[CVE-2019-15214] = "fixed-version: Fixed after version 5.1rc6"
+CVE_STATUS[CVE-2019-15214] = "fixed-version: Fixed from version 5.1rc6"
 
-CVE_STATUS[CVE-2019-15215] = "fixed-version: Fixed after version 5.3rc1"
+CVE_STATUS[CVE-2019-15215] = "fixed-version: Fixed from version 5.3rc1"
 
-CVE_STATUS[CVE-2019-15216] = "fixed-version: Fixed after version 5.1"
+CVE_STATUS[CVE-2019-15216] = "fixed-version: Fixed from version 5.1"
 
-CVE_STATUS[CVE-2019-15217] = "fixed-version: Fixed after version 5.3rc1"
+CVE_STATUS[CVE-2019-15217] = "fixed-version: Fixed from version 5.3rc1"
 
-CVE_STATUS[CVE-2019-15218] = "fixed-version: Fixed after version 5.2rc3"
+CVE_STATUS[CVE-2019-15218] = "fixed-version: Fixed from version 5.2rc3"
 
-CVE_STATUS[CVE-2019-15219] = "fixed-version: Fixed after version 5.2rc3"
+CVE_STATUS[CVE-2019-15219] = "fixed-version: Fixed from version 5.2rc3"
 
-CVE_STATUS[CVE-2019-15220] = "fixed-version: Fixed after version 5.3rc1"
+CVE_STATUS[CVE-2019-15220] = "fixed-version: Fixed from version 5.3rc1"
 
-CVE_STATUS[CVE-2019-15221] = "fixed-version: Fixed after version 5.2"
+CVE_STATUS[CVE-2019-15221] = "fixed-version: Fixed from version 5.2"
 
-CVE_STATUS[CVE-2019-15222] = "fixed-version: Fixed after version 5.3rc3"
+CVE_STATUS[CVE-2019-15222] = "fixed-version: Fixed from version 5.3rc3"
 
-CVE_STATUS[CVE-2019-15223] = "fixed-version: Fixed after version 5.2rc3"
+CVE_STATUS[CVE-2019-15223] = "fixed-version: Fixed from version 5.2rc3"
 
 # CVE-2019-15239 has no known resolution
 
 # CVE-2019-15290 has no known resolution
 
-CVE_STATUS[CVE-2019-15291] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-15291] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-15292] = "fixed-version: Fixed after version 5.1rc1"
+CVE_STATUS[CVE-2019-15292] = "fixed-version: Fixed from version 5.1rc1"
 
-CVE_STATUS[CVE-2019-15504] = "fixed-version: Fixed after version 5.3"
+CVE_STATUS[CVE-2019-15504] = "fixed-version: Fixed from version 5.3"
 
-CVE_STATUS[CVE-2019-15505] = "fixed-version: Fixed after version 5.4rc1"
+CVE_STATUS[CVE-2019-15505] = "fixed-version: Fixed from version 5.4rc1"
 
-CVE_STATUS[CVE-2019-15538] = "fixed-version: Fixed after version 5.3rc6"
+CVE_STATUS[CVE-2019-15538] = "fixed-version: Fixed from version 5.3rc6"
 
-CVE_STATUS[CVE-2019-15666] = "fixed-version: Fixed after version 5.1"
+CVE_STATUS[CVE-2019-15666] = "fixed-version: Fixed from version 5.1"
 
 # CVE-2019-15791 has no known resolution
 
@@ -2637,1155 +2646,1157 @@
 
 # CVE-2019-15793 has no known resolution
 
-CVE_STATUS[CVE-2019-15794] = "fixed-version: Fixed after version 5.12"
+CVE_STATUS[CVE-2019-15794] = "fixed-version: Fixed from version 5.12"
 
-CVE_STATUS[CVE-2019-15807] = "fixed-version: Fixed after version 5.2rc3"
+CVE_STATUS[CVE-2019-15807] = "fixed-version: Fixed from version 5.2rc3"
 
 # CVE-2019-15902 has no known resolution
 
-CVE_STATUS[CVE-2019-15916] = "fixed-version: Fixed after version 5.1rc1"
+CVE_STATUS[CVE-2019-15916] = "fixed-version: Fixed from version 5.1rc1"
 
-CVE_STATUS[CVE-2019-15917] = "fixed-version: Fixed after version 5.1rc1"
+CVE_STATUS[CVE-2019-15917] = "fixed-version: Fixed from version 5.1rc1"
 
-CVE_STATUS[CVE-2019-15918] = "fixed-version: Fixed after version 5.1rc6"
+CVE_STATUS[CVE-2019-15918] = "fixed-version: Fixed from version 5.1rc6"
 
-CVE_STATUS[CVE-2019-15919] = "fixed-version: Fixed after version 5.1rc6"
+CVE_STATUS[CVE-2019-15919] = "fixed-version: Fixed from version 5.1rc6"
 
-CVE_STATUS[CVE-2019-15920] = "fixed-version: Fixed after version 5.1rc6"
+CVE_STATUS[CVE-2019-15920] = "fixed-version: Fixed from version 5.1rc6"
 
-CVE_STATUS[CVE-2019-15921] = "fixed-version: Fixed after version 5.1rc3"
+CVE_STATUS[CVE-2019-15921] = "fixed-version: Fixed from version 5.1rc3"
 
-CVE_STATUS[CVE-2019-15922] = "fixed-version: Fixed after version 5.1rc4"
+CVE_STATUS[CVE-2019-15922] = "fixed-version: Fixed from version 5.1rc4"
 
-CVE_STATUS[CVE-2019-15923] = "fixed-version: Fixed after version 5.1rc4"
+CVE_STATUS[CVE-2019-15923] = "fixed-version: Fixed from version 5.1rc4"
 
-CVE_STATUS[CVE-2019-15924] = "fixed-version: Fixed after version 5.1rc4"
+CVE_STATUS[CVE-2019-15924] = "fixed-version: Fixed from version 5.1rc4"
 
-CVE_STATUS[CVE-2019-15925] = "fixed-version: Fixed after version 5.3rc1"
+CVE_STATUS[CVE-2019-15925] = "fixed-version: Fixed from version 5.3rc1"
 
-CVE_STATUS[CVE-2019-15926] = "fixed-version: Fixed after version 5.3rc1"
+CVE_STATUS[CVE-2019-15926] = "fixed-version: Fixed from version 5.3rc1"
 
-CVE_STATUS[CVE-2019-15927] = "fixed-version: Fixed after version 5.0rc2"
+CVE_STATUS[CVE-2019-15927] = "fixed-version: Fixed from version 5.0rc2"
 
 # CVE-2019-16089 has no known resolution
 
-CVE_STATUS[CVE-2019-16229] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-16229] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-16230] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-16230] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-16231] = "fixed-version: Fixed after version 5.4rc6"
+CVE_STATUS[CVE-2019-16231] = "fixed-version: Fixed from version 5.4rc6"
 
-CVE_STATUS[CVE-2019-16232] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-16232] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-16233] = "fixed-version: Fixed after version 5.4rc5"
+CVE_STATUS[CVE-2019-16233] = "fixed-version: Fixed from version 5.4rc5"
 
-CVE_STATUS[CVE-2019-16234] = "fixed-version: Fixed after version 5.4rc4"
+CVE_STATUS[CVE-2019-16234] = "fixed-version: Fixed from version 5.4rc4"
 
-CVE_STATUS[CVE-2019-16413] = "fixed-version: Fixed after version 5.1rc1"
+CVE_STATUS[CVE-2019-16413] = "fixed-version: Fixed from version 5.1rc1"
 
-CVE_STATUS[CVE-2019-16714] = "fixed-version: Fixed after version 5.3rc7"
+CVE_STATUS[CVE-2019-16714] = "fixed-version: Fixed from version 5.3rc7"
 
-CVE_STATUS[CVE-2019-16746] = "fixed-version: Fixed after version 5.4rc2"
+CVE_STATUS[CVE-2019-16746] = "fixed-version: Fixed from version 5.4rc2"
 
-CVE_STATUS[CVE-2019-16921] = "fixed-version: Fixed after version 4.17rc1"
+CVE_STATUS[CVE-2019-16921] = "fixed-version: Fixed from version 4.17rc1"
 
-CVE_STATUS[CVE-2019-16994] = "fixed-version: Fixed after version 5.0"
+CVE_STATUS[CVE-2019-16994] = "fixed-version: Fixed from version 5.0"
 
-CVE_STATUS[CVE-2019-16995] = "fixed-version: Fixed after version 5.1rc1"
+CVE_STATUS[CVE-2019-16995] = "fixed-version: Fixed from version 5.1rc1"
 
-CVE_STATUS[CVE-2019-17052] = "fixed-version: Fixed after version 5.4rc1"
+CVE_STATUS[CVE-2019-17052] = "fixed-version: Fixed from version 5.4rc1"
 
-CVE_STATUS[CVE-2019-17053] = "fixed-version: Fixed after version 5.4rc1"
+CVE_STATUS[CVE-2019-17053] = "fixed-version: Fixed from version 5.4rc1"
 
-CVE_STATUS[CVE-2019-17054] = "fixed-version: Fixed after version 5.4rc1"
+CVE_STATUS[CVE-2019-17054] = "fixed-version: Fixed from version 5.4rc1"
 
-CVE_STATUS[CVE-2019-17055] = "fixed-version: Fixed after version 5.4rc1"
+CVE_STATUS[CVE-2019-17055] = "fixed-version: Fixed from version 5.4rc1"
 
-CVE_STATUS[CVE-2019-17056] = "fixed-version: Fixed after version 5.4rc1"
+CVE_STATUS[CVE-2019-17056] = "fixed-version: Fixed from version 5.4rc1"
 
-CVE_STATUS[CVE-2019-17075] = "fixed-version: Fixed after version 5.4rc3"
+CVE_STATUS[CVE-2019-17075] = "fixed-version: Fixed from version 5.4rc3"
 
-CVE_STATUS[CVE-2019-17133] = "fixed-version: Fixed after version 5.4rc4"
+CVE_STATUS[CVE-2019-17133] = "fixed-version: Fixed from version 5.4rc4"
 
-CVE_STATUS[CVE-2019-17351] = "fixed-version: Fixed after version 5.3rc1"
+CVE_STATUS[CVE-2019-17351] = "fixed-version: Fixed from version 5.3rc1"
 
-CVE_STATUS[CVE-2019-17666] = "fixed-version: Fixed after version 5.4rc6"
+CVE_STATUS[CVE-2019-17666] = "fixed-version: Fixed from version 5.4rc6"
 
-CVE_STATUS[CVE-2019-18198] = "fixed-version: Fixed after version 5.4rc1"
+CVE_STATUS[CVE-2019-18198] = "fixed-version: Fixed from version 5.4rc1"
 
-CVE_STATUS[CVE-2019-18282] = "fixed-version: Fixed after version 5.4rc6"
+CVE_STATUS[CVE-2019-18282] = "fixed-version: Fixed from version 5.4rc6"
 
-CVE_STATUS[CVE-2019-18660] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-18660] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-18675] = "fixed-version: Fixed after version 4.17rc5"
+CVE_STATUS[CVE-2019-18675] = "fixed-version: Fixed from version 4.17rc5"
 
 # CVE-2019-18680 has no known resolution
 
-CVE_STATUS[CVE-2019-18683] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-18683] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-18786] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-18786] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-18805] = "fixed-version: Fixed after version 5.1rc7"
+CVE_STATUS[CVE-2019-18805] = "fixed-version: Fixed from version 5.1rc7"
 
-CVE_STATUS[CVE-2019-18806] = "fixed-version: Fixed after version 5.4rc2"
+CVE_STATUS[CVE-2019-18806] = "fixed-version: Fixed from version 5.4rc2"
 
-CVE_STATUS[CVE-2019-18807] = "fixed-version: Fixed after version 5.4rc2"
+CVE_STATUS[CVE-2019-18807] = "fixed-version: Fixed from version 5.4rc2"
 
-CVE_STATUS[CVE-2019-18808] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-18808] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-18809] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-18809] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-18810] = "fixed-version: Fixed after version 5.4rc2"
+CVE_STATUS[CVE-2019-18810] = "fixed-version: Fixed from version 5.4rc2"
 
-CVE_STATUS[CVE-2019-18811] = "fixed-version: Fixed after version 5.4rc7"
+CVE_STATUS[CVE-2019-18811] = "fixed-version: Fixed from version 5.4rc7"
 
-CVE_STATUS[CVE-2019-18812] = "fixed-version: Fixed after version 5.4rc7"
+CVE_STATUS[CVE-2019-18812] = "fixed-version: Fixed from version 5.4rc7"
 
-CVE_STATUS[CVE-2019-18813] = "fixed-version: Fixed after version 5.4rc6"
+CVE_STATUS[CVE-2019-18813] = "fixed-version: Fixed from version 5.4rc6"
 
-CVE_STATUS[CVE-2019-18814] = "fixed-version: Fixed after version 5.7rc7"
+CVE_STATUS[CVE-2019-18814] = "fixed-version: Fixed from version 5.7rc7"
 
-CVE_STATUS[CVE-2019-18885] = "fixed-version: Fixed after version 5.1rc1"
+CVE_STATUS[CVE-2019-18885] = "fixed-version: Fixed from version 5.1rc1"
 
-CVE_STATUS[CVE-2019-19036] = "fixed-version: Fixed after version 5.4rc1"
+CVE_STATUS[CVE-2019-19036] = "fixed-version: Fixed from version 5.4rc1"
 
-CVE_STATUS[CVE-2019-19037] = "fixed-version: Fixed after version 5.5rc3"
+CVE_STATUS[CVE-2019-19037] = "fixed-version: Fixed from version 5.5rc3"
 
-CVE_STATUS[CVE-2019-19039] = "fixed-version: Fixed after version 5.7rc1"
+CVE_STATUS[CVE-2019-19039] = "fixed-version: Fixed from version 5.7rc1"
 
-CVE_STATUS[CVE-2019-19043] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-19043] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-19044] = "fixed-version: Fixed after version 5.4rc6"
+CVE_STATUS[CVE-2019-19044] = "fixed-version: Fixed from version 5.4rc6"
 
-CVE_STATUS[CVE-2019-19045] = "fixed-version: Fixed after version 5.4rc6"
+CVE_STATUS[CVE-2019-19045] = "fixed-version: Fixed from version 5.4rc6"
 
-CVE_STATUS[CVE-2019-19046] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-19046] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-19047] = "fixed-version: Fixed after version 5.4rc6"
+CVE_STATUS[CVE-2019-19047] = "fixed-version: Fixed from version 5.4rc6"
 
-CVE_STATUS[CVE-2019-19048] = "fixed-version: Fixed after version 5.4rc3"
+CVE_STATUS[CVE-2019-19048] = "fixed-version: Fixed from version 5.4rc3"
 
-CVE_STATUS[CVE-2019-19049] = "fixed-version: Fixed after version 5.4rc5"
+CVE_STATUS[CVE-2019-19049] = "fixed-version: Fixed from version 5.4rc5"
 
-CVE_STATUS[CVE-2019-19050] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-19050] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-19051] = "fixed-version: Fixed after version 5.4rc6"
+CVE_STATUS[CVE-2019-19051] = "fixed-version: Fixed from version 5.4rc6"
 
-CVE_STATUS[CVE-2019-19052] = "fixed-version: Fixed after version 5.4rc7"
+CVE_STATUS[CVE-2019-19052] = "fixed-version: Fixed from version 5.4rc7"
 
-CVE_STATUS[CVE-2019-19053] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-19053] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-19054] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-19054] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-19055] = "fixed-version: Fixed after version 5.4rc4"
+CVE_STATUS[CVE-2019-19055] = "fixed-version: Fixed from version 5.4rc4"
 
-CVE_STATUS[CVE-2019-19056] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-19056] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-19057] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-19057] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-19058] = "fixed-version: Fixed after version 5.4rc4"
+CVE_STATUS[CVE-2019-19058] = "fixed-version: Fixed from version 5.4rc4"
 
-CVE_STATUS[CVE-2019-19059] = "fixed-version: Fixed after version 5.4rc4"
+CVE_STATUS[CVE-2019-19059] = "fixed-version: Fixed from version 5.4rc4"
 
-CVE_STATUS[CVE-2019-19060] = "fixed-version: Fixed after version 5.4rc3"
+CVE_STATUS[CVE-2019-19060] = "fixed-version: Fixed from version 5.4rc3"
 
-CVE_STATUS[CVE-2019-19061] = "fixed-version: Fixed after version 5.4rc3"
+CVE_STATUS[CVE-2019-19061] = "fixed-version: Fixed from version 5.4rc3"
 
-CVE_STATUS[CVE-2019-19062] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-19062] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-19063] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-19063] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-19064] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-19064] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-19065] = "fixed-version: Fixed after version 5.4rc3"
+CVE_STATUS[CVE-2019-19065] = "fixed-version: Fixed from version 5.4rc3"
 
-CVE_STATUS[CVE-2019-19066] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-19066] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-19067] = "fixed-version: Fixed after version 5.4rc2"
+CVE_STATUS[CVE-2019-19067] = "fixed-version: Fixed from version 5.4rc2"
 
-CVE_STATUS[CVE-2019-19068] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-19068] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-19069] = "fixed-version: Fixed after version 5.4rc3"
+CVE_STATUS[CVE-2019-19069] = "fixed-version: Fixed from version 5.4rc3"
 
-CVE_STATUS[CVE-2019-19070] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-19070] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-19071] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-19071] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-19072] = "fixed-version: Fixed after version 5.4rc1"
+CVE_STATUS[CVE-2019-19072] = "fixed-version: Fixed from version 5.4rc1"
 
-CVE_STATUS[CVE-2019-19073] = "fixed-version: Fixed after version 5.4rc1"
+CVE_STATUS[CVE-2019-19073] = "fixed-version: Fixed from version 5.4rc1"
 
-CVE_STATUS[CVE-2019-19074] = "fixed-version: Fixed after version 5.4rc1"
+CVE_STATUS[CVE-2019-19074] = "fixed-version: Fixed from version 5.4rc1"
 
-CVE_STATUS[CVE-2019-19075] = "fixed-version: Fixed after version 5.4rc2"
+CVE_STATUS[CVE-2019-19075] = "fixed-version: Fixed from version 5.4rc2"
 
-CVE_STATUS[CVE-2019-19076] = "fixed-version: Fixed after version 5.4rc1"
+CVE_STATUS[CVE-2019-19076] = "fixed-version: Fixed from version 5.4rc1"
 
-CVE_STATUS[CVE-2019-19077] = "fixed-version: Fixed after version 5.4rc1"
+CVE_STATUS[CVE-2019-19077] = "fixed-version: Fixed from version 5.4rc1"
 
-CVE_STATUS[CVE-2019-19078] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-19078] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-19079] = "fixed-version: Fixed after version 5.3"
+CVE_STATUS[CVE-2019-19079] = "fixed-version: Fixed from version 5.3"
 
-CVE_STATUS[CVE-2019-19080] = "fixed-version: Fixed after version 5.4rc1"
+CVE_STATUS[CVE-2019-19080] = "fixed-version: Fixed from version 5.4rc1"
 
-CVE_STATUS[CVE-2019-19081] = "fixed-version: Fixed after version 5.4rc1"
+CVE_STATUS[CVE-2019-19081] = "fixed-version: Fixed from version 5.4rc1"
 
-CVE_STATUS[CVE-2019-19082] = "fixed-version: Fixed after version 5.4rc1"
+CVE_STATUS[CVE-2019-19082] = "fixed-version: Fixed from version 5.4rc1"
 
-CVE_STATUS[CVE-2019-19083] = "fixed-version: Fixed after version 5.4rc2"
+CVE_STATUS[CVE-2019-19083] = "fixed-version: Fixed from version 5.4rc2"
 
-CVE_STATUS[CVE-2019-19227] = "fixed-version: Fixed after version 5.1rc3"
+CVE_STATUS[CVE-2019-19227] = "fixed-version: Fixed from version 5.1rc3"
 
-CVE_STATUS[CVE-2019-19241] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-19241] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-19252] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-19252] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-19318] = "fixed-version: Fixed after version 5.4rc1"
+CVE_STATUS[CVE-2019-19318] = "fixed-version: Fixed from version 5.4rc1"
 
-CVE_STATUS[CVE-2019-19319] = "fixed-version: Fixed after version 5.2rc1"
+CVE_STATUS[CVE-2019-19319] = "fixed-version: Fixed from version 5.2rc1"
 
-CVE_STATUS[CVE-2019-19332] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-19332] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-19338] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-19338] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-19377] = "fixed-version: Fixed after version 5.7rc1"
+CVE_STATUS[CVE-2019-19377] = "fixed-version: Fixed from version 5.7rc1"
 
 # CVE-2019-19378 has no known resolution
 
-CVE_STATUS[CVE-2019-19447] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-19447] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-19448] = "fixed-version: Fixed after version 5.9rc1"
+CVE_STATUS[CVE-2019-19448] = "fixed-version: Fixed from version 5.9rc1"
 
-CVE_STATUS[CVE-2019-19449] = "fixed-version: Fixed after version 5.10rc1"
+CVE_STATUS[CVE-2019-19449] = "fixed-version: Fixed from version 5.10rc1"
 
-CVE_STATUS[CVE-2019-19462] = "fixed-version: Fixed after version 5.8rc1"
+CVE_STATUS[CVE-2019-19462] = "fixed-version: Fixed from version 5.8rc1"
 
-CVE_STATUS[CVE-2019-19523] = "fixed-version: Fixed after version 5.4rc3"
+CVE_STATUS[CVE-2019-19523] = "fixed-version: Fixed from version 5.4rc3"
 
-CVE_STATUS[CVE-2019-19524] = "fixed-version: Fixed after version 5.4rc8"
+CVE_STATUS[CVE-2019-19524] = "fixed-version: Fixed from version 5.4rc8"
 
-CVE_STATUS[CVE-2019-19525] = "fixed-version: Fixed after version 5.4rc2"
+CVE_STATUS[CVE-2019-19525] = "fixed-version: Fixed from version 5.4rc2"
 
-CVE_STATUS[CVE-2019-19526] = "fixed-version: Fixed after version 5.4rc4"
+CVE_STATUS[CVE-2019-19526] = "fixed-version: Fixed from version 5.4rc4"
 
-CVE_STATUS[CVE-2019-19527] = "fixed-version: Fixed after version 5.3rc4"
+CVE_STATUS[CVE-2019-19527] = "fixed-version: Fixed from version 5.3rc4"
 
-CVE_STATUS[CVE-2019-19528] = "fixed-version: Fixed after version 5.4rc3"
+CVE_STATUS[CVE-2019-19528] = "fixed-version: Fixed from version 5.4rc3"
 
-CVE_STATUS[CVE-2019-19529] = "fixed-version: Fixed after version 5.4rc7"
+CVE_STATUS[CVE-2019-19529] = "fixed-version: Fixed from version 5.4rc7"
 
-CVE_STATUS[CVE-2019-19530] = "fixed-version: Fixed after version 5.3rc5"
+CVE_STATUS[CVE-2019-19530] = "fixed-version: Fixed from version 5.3rc5"
 
-CVE_STATUS[CVE-2019-19531] = "fixed-version: Fixed after version 5.3rc4"
+CVE_STATUS[CVE-2019-19531] = "fixed-version: Fixed from version 5.3rc4"
 
-CVE_STATUS[CVE-2019-19532] = "fixed-version: Fixed after version 5.4rc6"
+CVE_STATUS[CVE-2019-19532] = "fixed-version: Fixed from version 5.4rc6"
 
-CVE_STATUS[CVE-2019-19533] = "fixed-version: Fixed after version 5.4rc1"
+CVE_STATUS[CVE-2019-19533] = "fixed-version: Fixed from version 5.4rc1"
 
-CVE_STATUS[CVE-2019-19534] = "fixed-version: Fixed after version 5.4rc7"
+CVE_STATUS[CVE-2019-19534] = "fixed-version: Fixed from version 5.4rc7"
 
-CVE_STATUS[CVE-2019-19535] = "fixed-version: Fixed after version 5.3rc4"
+CVE_STATUS[CVE-2019-19535] = "fixed-version: Fixed from version 5.3rc4"
 
-CVE_STATUS[CVE-2019-19536] = "fixed-version: Fixed after version 5.3rc4"
+CVE_STATUS[CVE-2019-19536] = "fixed-version: Fixed from version 5.3rc4"
 
-CVE_STATUS[CVE-2019-19537] = "fixed-version: Fixed after version 5.3rc5"
+CVE_STATUS[CVE-2019-19537] = "fixed-version: Fixed from version 5.3rc5"
 
-CVE_STATUS[CVE-2019-19543] = "fixed-version: Fixed after version 5.2rc1"
+CVE_STATUS[CVE-2019-19543] = "fixed-version: Fixed from version 5.2rc1"
 
-CVE_STATUS[CVE-2019-19602] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-19602] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-19767] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2019-19767] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2019-19768] = "fixed-version: Fixed after version 5.6rc4"
+CVE_STATUS[CVE-2019-19768] = "fixed-version: Fixed from version 5.6rc4"
 
-CVE_STATUS[CVE-2019-19769] = "fixed-version: Fixed after version 5.6rc5"
+CVE_STATUS[CVE-2019-19769] = "fixed-version: Fixed from version 5.6rc5"
 
-CVE_STATUS[CVE-2019-19770] = "fixed-version: Fixed after version 5.9rc1"
+CVE_STATUS[CVE-2019-19770] = "fixed-version: Fixed from version 5.9rc1"
 
-CVE_STATUS[CVE-2019-19807] = "fixed-version: Fixed after version 5.4rc7"
+CVE_STATUS[CVE-2019-19807] = "fixed-version: Fixed from version 5.4rc7"
 
-CVE_STATUS[CVE-2019-19813] = "fixed-version: Fixed after version 5.2rc1"
+CVE_STATUS[CVE-2019-19813] = "fixed-version: Fixed from version 5.2rc1"
 
 # CVE-2019-19814 has no known resolution
 
-CVE_STATUS[CVE-2019-19815] = "fixed-version: Fixed after version 5.3rc1"
+CVE_STATUS[CVE-2019-19815] = "fixed-version: Fixed from version 5.3rc1"
 
-CVE_STATUS[CVE-2019-19816] = "fixed-version: Fixed after version 5.2rc1"
+CVE_STATUS[CVE-2019-19816] = "fixed-version: Fixed from version 5.2rc1"
 
-CVE_STATUS[CVE-2019-19922] = "fixed-version: Fixed after version 5.4rc1"
+CVE_STATUS[CVE-2019-19922] = "fixed-version: Fixed from version 5.4rc1"
 
-CVE_STATUS[CVE-2019-19927] = "fixed-version: Fixed after version 5.1rc6"
+CVE_STATUS[CVE-2019-19927] = "fixed-version: Fixed from version 5.1rc6"
 
-CVE_STATUS[CVE-2019-19947] = "fixed-version: Fixed after version 5.5rc3"
+CVE_STATUS[CVE-2019-19947] = "fixed-version: Fixed from version 5.5rc3"
 
-CVE_STATUS[CVE-2019-19965] = "fixed-version: Fixed after version 5.5rc2"
+CVE_STATUS[CVE-2019-19965] = "fixed-version: Fixed from version 5.5rc2"
 
-CVE_STATUS[CVE-2019-19966] = "fixed-version: Fixed after version 5.2rc1"
+CVE_STATUS[CVE-2019-19966] = "fixed-version: Fixed from version 5.2rc1"
 
-CVE_STATUS[CVE-2019-1999] = "fixed-version: Fixed after version 5.1rc3"
+CVE_STATUS[CVE-2019-1999] = "fixed-version: Fixed from version 5.1rc3"
 
-CVE_STATUS[CVE-2019-20054] = "fixed-version: Fixed after version 5.1rc3"
+CVE_STATUS[CVE-2019-20054] = "fixed-version: Fixed from version 5.1rc3"
 
-CVE_STATUS[CVE-2019-20095] = "fixed-version: Fixed after version 5.2rc1"
+CVE_STATUS[CVE-2019-20095] = "fixed-version: Fixed from version 5.2rc1"
 
-CVE_STATUS[CVE-2019-20096] = "fixed-version: Fixed after version 5.1rc4"
+CVE_STATUS[CVE-2019-20096] = "fixed-version: Fixed from version 5.1rc4"
 
-CVE_STATUS[CVE-2019-2024] = "fixed-version: Fixed after version 4.16rc1"
+CVE_STATUS[CVE-2019-2024] = "fixed-version: Fixed from version 4.16rc1"
 
-CVE_STATUS[CVE-2019-2025] = "fixed-version: Fixed after version 4.20rc5"
+CVE_STATUS[CVE-2019-2025] = "fixed-version: Fixed from version 4.20rc5"
 
-CVE_STATUS[CVE-2019-20422] = "fixed-version: Fixed after version 5.4rc1"
+CVE_STATUS[CVE-2019-20422] = "fixed-version: Fixed from version 5.4rc1"
 
-CVE_STATUS[CVE-2019-2054] = "fixed-version: Fixed after version 4.8rc1"
+CVE_STATUS[CVE-2019-2054] = "fixed-version: Fixed from version 4.8rc1"
 
-CVE_STATUS[CVE-2019-20636] = "fixed-version: Fixed after version 5.5rc6"
+CVE_STATUS[CVE-2019-20636] = "fixed-version: Fixed from version 5.5rc6"
 
 # CVE-2019-20794 has no known resolution
 
-CVE_STATUS[CVE-2019-20806] = "fixed-version: Fixed after version 5.2rc1"
+CVE_STATUS[CVE-2019-20806] = "fixed-version: Fixed from version 5.2rc1"
 
-CVE_STATUS[CVE-2019-20810] = "fixed-version: Fixed after version 5.6rc1"
+CVE_STATUS[CVE-2019-20810] = "fixed-version: Fixed from version 5.6rc1"
 
-CVE_STATUS[CVE-2019-20811] = "fixed-version: Fixed after version 5.1rc3"
+CVE_STATUS[CVE-2019-20811] = "fixed-version: Fixed from version 5.1rc3"
 
-CVE_STATUS[CVE-2019-20812] = "fixed-version: Fixed after version 5.5rc3"
+CVE_STATUS[CVE-2019-20812] = "fixed-version: Fixed from version 5.5rc3"
 
-CVE_STATUS[CVE-2019-20908] = "fixed-version: Fixed after version 5.4rc1"
+CVE_STATUS[CVE-2019-20908] = "fixed-version: Fixed from version 5.4rc1"
 
-CVE_STATUS[CVE-2019-20934] = "fixed-version: Fixed after version 5.3rc2"
+CVE_STATUS[CVE-2019-20934] = "fixed-version: Fixed from version 5.3rc2"
 
-CVE_STATUS[CVE-2019-2101] = "fixed-version: Fixed after version 5.1rc1"
+CVE_STATUS[CVE-2019-2101] = "fixed-version: Fixed from version 5.1rc1"
 
-CVE_STATUS[CVE-2019-2181] = "fixed-version: Fixed after version 5.2rc1"
+CVE_STATUS[CVE-2019-2181] = "fixed-version: Fixed from version 5.2rc1"
 
-CVE_STATUS[CVE-2019-2182] = "fixed-version: Fixed after version 4.16rc3"
+CVE_STATUS[CVE-2019-2182] = "fixed-version: Fixed from version 4.16rc3"
 
-CVE_STATUS[CVE-2019-2213] = "fixed-version: Fixed after version 5.2rc6"
+CVE_STATUS[CVE-2019-2213] = "fixed-version: Fixed from version 5.2rc6"
 
-CVE_STATUS[CVE-2019-2214] = "fixed-version: Fixed after version 5.3rc2"
+CVE_STATUS[CVE-2019-2214] = "fixed-version: Fixed from version 5.3rc2"
 
-CVE_STATUS[CVE-2019-2215] = "fixed-version: Fixed after version 4.16rc1"
+CVE_STATUS[CVE-2019-2215] = "fixed-version: Fixed from version 4.16rc1"
 
-CVE_STATUS[CVE-2019-25044] = "fixed-version: Fixed after version 5.2rc4"
+CVE_STATUS[CVE-2019-25044] = "fixed-version: Fixed from version 5.2rc4"
 
-CVE_STATUS[CVE-2019-25045] = "fixed-version: Fixed after version 5.1"
+CVE_STATUS[CVE-2019-25045] = "fixed-version: Fixed from version 5.1"
 
-CVE_STATUS[CVE-2019-3016] = "fixed-version: Fixed after version 5.6rc1"
+CVE_STATUS[CVE-2019-3016] = "fixed-version: Fixed from version 5.6rc1"
 
-CVE_STATUS[CVE-2019-3459] = "fixed-version: Fixed after version 5.1rc1"
+CVE_STATUS[CVE-2019-3459] = "fixed-version: Fixed from version 5.1rc1"
 
-CVE_STATUS[CVE-2019-3460] = "fixed-version: Fixed after version 5.1rc1"
+CVE_STATUS[CVE-2019-3460] = "fixed-version: Fixed from version 5.1rc1"
 
-CVE_STATUS[CVE-2019-3701] = "fixed-version: Fixed after version 5.0rc3"
+CVE_STATUS[CVE-2019-3701] = "fixed-version: Fixed from version 5.0rc3"
 
-CVE_STATUS[CVE-2019-3819] = "fixed-version: Fixed after version 5.0rc6"
+CVE_STATUS[CVE-2019-3819] = "fixed-version: Fixed from version 5.0rc6"
 
-CVE_STATUS[CVE-2019-3837] = "fixed-version: Fixed after version 3.18rc1"
+CVE_STATUS[CVE-2019-3837] = "fixed-version: Fixed from version 3.18rc1"
 
-CVE_STATUS[CVE-2019-3846] = "fixed-version: Fixed after version 5.2rc6"
+CVE_STATUS[CVE-2019-3846] = "fixed-version: Fixed from version 5.2rc6"
 
-CVE_STATUS[CVE-2019-3874] = "fixed-version: Fixed after version 5.2rc1"
+CVE_STATUS[CVE-2019-3874] = "fixed-version: Fixed from version 5.2rc1"
 
-CVE_STATUS[CVE-2019-3882] = "fixed-version: Fixed after version 5.1rc4"
+CVE_STATUS[CVE-2019-3882] = "fixed-version: Fixed from version 5.1rc4"
 
-CVE_STATUS[CVE-2019-3887] = "fixed-version: Fixed after version 5.1rc4"
+CVE_STATUS[CVE-2019-3887] = "fixed-version: Fixed from version 5.1rc4"
 
-CVE_STATUS[CVE-2019-3892] = "fixed-version: Fixed after version 5.1rc6"
+CVE_STATUS[CVE-2019-3892] = "fixed-version: Fixed from version 5.1rc6"
 
-CVE_STATUS[CVE-2019-3896] = "fixed-version: Fixed after version 2.6.35rc1"
+CVE_STATUS[CVE-2019-3896] = "fixed-version: Fixed from version 2.6.35rc1"
 
-CVE_STATUS[CVE-2019-3900] = "fixed-version: Fixed after version 5.2rc4"
+CVE_STATUS[CVE-2019-3900] = "fixed-version: Fixed from version 5.2rc4"
 
-CVE_STATUS[CVE-2019-3901] = "fixed-version: Fixed after version 4.6rc6"
+CVE_STATUS[CVE-2019-3901] = "fixed-version: Fixed from version 4.6rc6"
 
-CVE_STATUS[CVE-2019-5108] = "fixed-version: Fixed after version 5.3"
+CVE_STATUS[CVE-2019-5108] = "fixed-version: Fixed from version 5.3"
 
 # Skipping CVE-2019-5489, no affected_versions
 
-CVE_STATUS[CVE-2019-6133] = "fixed-version: Fixed after version 5.0rc2"
+CVE_STATUS[CVE-2019-6133] = "fixed-version: Fixed from version 5.0rc2"
 
-CVE_STATUS[CVE-2019-6974] = "fixed-version: Fixed after version 5.0rc6"
+CVE_STATUS[CVE-2019-6974] = "fixed-version: Fixed from version 5.0rc6"
 
-CVE_STATUS[CVE-2019-7221] = "fixed-version: Fixed after version 5.0rc6"
+CVE_STATUS[CVE-2019-7221] = "fixed-version: Fixed from version 5.0rc6"
 
-CVE_STATUS[CVE-2019-7222] = "fixed-version: Fixed after version 5.0rc6"
+CVE_STATUS[CVE-2019-7222] = "fixed-version: Fixed from version 5.0rc6"
 
-CVE_STATUS[CVE-2019-7308] = "fixed-version: Fixed after version 5.0rc3"
+CVE_STATUS[CVE-2019-7308] = "fixed-version: Fixed from version 5.0rc3"
 
-CVE_STATUS[CVE-2019-8912] = "fixed-version: Fixed after version 5.0rc8"
+CVE_STATUS[CVE-2019-8912] = "fixed-version: Fixed from version 5.0rc8"
 
-CVE_STATUS[CVE-2019-8956] = "fixed-version: Fixed after version 5.0rc6"
+CVE_STATUS[CVE-2019-8956] = "fixed-version: Fixed from version 5.0rc6"
 
-CVE_STATUS[CVE-2019-8980] = "fixed-version: Fixed after version 5.1rc1"
+CVE_STATUS[CVE-2019-8980] = "fixed-version: Fixed from version 5.1rc1"
 
-CVE_STATUS[CVE-2019-9003] = "fixed-version: Fixed after version 5.0rc4"
+CVE_STATUS[CVE-2019-9003] = "fixed-version: Fixed from version 5.0rc4"
 
-CVE_STATUS[CVE-2019-9162] = "fixed-version: Fixed after version 5.0rc7"
+CVE_STATUS[CVE-2019-9162] = "fixed-version: Fixed from version 5.0rc7"
 
-CVE_STATUS[CVE-2019-9213] = "fixed-version: Fixed after version 5.0"
+CVE_STATUS[CVE-2019-9213] = "fixed-version: Fixed from version 5.0"
 
-CVE_STATUS[CVE-2019-9245] = "fixed-version: Fixed after version 5.0rc1"
+CVE_STATUS[CVE-2019-9245] = "fixed-version: Fixed from version 5.0rc1"
 
-CVE_STATUS[CVE-2019-9444] = "fixed-version: Fixed after version 4.15rc2"
+CVE_STATUS[CVE-2019-9444] = "fixed-version: Fixed from version 4.15rc2"
 
-CVE_STATUS[CVE-2019-9445] = "fixed-version: Fixed after version 5.1rc1"
+CVE_STATUS[CVE-2019-9445] = "fixed-version: Fixed from version 5.1rc1"
 
-CVE_STATUS[CVE-2019-9453] = "fixed-version: Fixed after version 5.2rc1"
+CVE_STATUS[CVE-2019-9453] = "fixed-version: Fixed from version 5.2rc1"
 
-CVE_STATUS[CVE-2019-9454] = "fixed-version: Fixed after version 4.15rc9"
+CVE_STATUS[CVE-2019-9454] = "fixed-version: Fixed from version 4.15rc9"
 
-CVE_STATUS[CVE-2019-9455] = "fixed-version: Fixed after version 5.0rc1"
+CVE_STATUS[CVE-2019-9455] = "fixed-version: Fixed from version 5.0rc1"
 
-CVE_STATUS[CVE-2019-9456] = "fixed-version: Fixed after version 4.16rc6"
+CVE_STATUS[CVE-2019-9456] = "fixed-version: Fixed from version 4.16rc6"
 
-CVE_STATUS[CVE-2019-9457] = "fixed-version: Fixed after version 4.13rc1"
+CVE_STATUS[CVE-2019-9457] = "fixed-version: Fixed from version 4.13rc1"
 
-CVE_STATUS[CVE-2019-9458] = "fixed-version: Fixed after version 4.19rc7"
+CVE_STATUS[CVE-2019-9458] = "fixed-version: Fixed from version 4.19rc7"
 
-CVE_STATUS[CVE-2019-9466] = "fixed-version: Fixed after version 5.1rc1"
+CVE_STATUS[CVE-2019-9466] = "fixed-version: Fixed from version 5.1rc1"
 
-CVE_STATUS[CVE-2019-9500] = "fixed-version: Fixed after version 5.1rc1"
+CVE_STATUS[CVE-2019-9500] = "fixed-version: Fixed from version 5.1rc1"
 
-CVE_STATUS[CVE-2019-9503] = "fixed-version: Fixed after version 5.1rc1"
+CVE_STATUS[CVE-2019-9503] = "fixed-version: Fixed from version 5.1rc1"
 
-CVE_STATUS[CVE-2019-9506] = "fixed-version: Fixed after version 5.2"
+CVE_STATUS[CVE-2019-9506] = "fixed-version: Fixed from version 5.2"
 
-CVE_STATUS[CVE-2019-9857] = "fixed-version: Fixed after version 5.1rc2"
+CVE_STATUS[CVE-2019-9857] = "fixed-version: Fixed from version 5.1rc2"
 
-CVE_STATUS[CVE-2020-0009] = "fixed-version: Fixed after version 5.6rc3"
+CVE_STATUS[CVE-2020-0009] = "fixed-version: Fixed from version 5.6rc3"
 
-CVE_STATUS[CVE-2020-0030] = "fixed-version: Fixed after version 4.16rc3"
+CVE_STATUS[CVE-2020-0030] = "fixed-version: Fixed from version 4.16rc3"
 
-CVE_STATUS[CVE-2020-0041] = "fixed-version: Fixed after version 5.5rc2"
+CVE_STATUS[CVE-2020-0041] = "fixed-version: Fixed from version 5.5rc2"
 
-CVE_STATUS[CVE-2020-0066] = "fixed-version: Fixed after version 4.3rc7"
+CVE_STATUS[CVE-2020-0066] = "fixed-version: Fixed from version 4.3rc7"
 
-CVE_STATUS[CVE-2020-0067] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2020-0067] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2020-0110] = "fixed-version: Fixed after version 5.6rc2"
+CVE_STATUS[CVE-2020-0110] = "fixed-version: Fixed from version 5.6rc2"
 
-CVE_STATUS[CVE-2020-0255] = "fixed-version: Fixed after version 5.7rc4"
+CVE_STATUS[CVE-2020-0255] = "fixed-version: Fixed from version 5.7rc4"
 
-CVE_STATUS[CVE-2020-0305] = "fixed-version: Fixed after version 5.5rc6"
+CVE_STATUS[CVE-2020-0305] = "fixed-version: Fixed from version 5.5rc6"
 
 # CVE-2020-0347 has no known resolution
 
-CVE_STATUS[CVE-2020-0404] = "fixed-version: Fixed after version 5.6rc1"
+CVE_STATUS[CVE-2020-0404] = "fixed-version: Fixed from version 5.6rc1"
 
-CVE_STATUS[CVE-2020-0423] = "fixed-version: Fixed after version 5.10rc1"
+CVE_STATUS[CVE-2020-0423] = "fixed-version: Fixed from version 5.10rc1"
 
-CVE_STATUS[CVE-2020-0427] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2020-0427] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2020-0429] = "fixed-version: Fixed after version 4.14rc4"
+CVE_STATUS[CVE-2020-0429] = "fixed-version: Fixed from version 4.14rc4"
 
-CVE_STATUS[CVE-2020-0430] = "fixed-version: Fixed after version 4.18rc1"
+CVE_STATUS[CVE-2020-0430] = "fixed-version: Fixed from version 4.18rc1"
 
-CVE_STATUS[CVE-2020-0431] = "fixed-version: Fixed after version 5.5rc6"
+CVE_STATUS[CVE-2020-0431] = "fixed-version: Fixed from version 5.5rc6"
 
-CVE_STATUS[CVE-2020-0432] = "fixed-version: Fixed after version 5.6rc1"
+CVE_STATUS[CVE-2020-0432] = "fixed-version: Fixed from version 5.6rc1"
 
-CVE_STATUS[CVE-2020-0433] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2020-0433] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2020-0435] = "fixed-version: Fixed after version 4.19rc1"
+CVE_STATUS[CVE-2020-0435] = "fixed-version: Fixed from version 4.19rc1"
 
-CVE_STATUS[CVE-2020-0444] = "fixed-version: Fixed after version 5.6rc4"
+CVE_STATUS[CVE-2020-0444] = "fixed-version: Fixed from version 5.6rc4"
 
-CVE_STATUS[CVE-2020-0465] = "fixed-version: Fixed after version 5.9rc4"
+CVE_STATUS[CVE-2020-0465] = "fixed-version: Fixed from version 5.9rc4"
 
-CVE_STATUS[CVE-2020-0466] = "fixed-version: Fixed after version 5.9rc2"
+CVE_STATUS[CVE-2020-0466] = "fixed-version: Fixed from version 5.9rc2"
 
-CVE_STATUS[CVE-2020-0543] = "fixed-version: Fixed after version 5.8rc1"
+CVE_STATUS[CVE-2020-0543] = "fixed-version: Fixed from version 5.8rc1"
 
-CVE_STATUS[CVE-2020-10135] = "fixed-version: Fixed after version 5.8rc1"
+CVE_STATUS[CVE-2020-10135] = "fixed-version: Fixed from version 5.8rc1"
 
-CVE_STATUS[CVE-2020-10690] = "fixed-version: Fixed after version 5.5rc5"
+CVE_STATUS[CVE-2020-10690] = "fixed-version: Fixed from version 5.5rc5"
 
 # CVE-2020-10708 has no known resolution
 
-CVE_STATUS[CVE-2020-10711] = "fixed-version: Fixed after version 5.7rc6"
+CVE_STATUS[CVE-2020-10711] = "fixed-version: Fixed from version 5.7rc6"
 
-CVE_STATUS[CVE-2020-10720] = "fixed-version: Fixed after version 5.2rc3"
+CVE_STATUS[CVE-2020-10720] = "fixed-version: Fixed from version 5.2rc3"
 
-CVE_STATUS[CVE-2020-10732] = "fixed-version: Fixed after version 5.7"
+CVE_STATUS[CVE-2020-10732] = "fixed-version: Fixed from version 5.7"
 
-CVE_STATUS[CVE-2020-10742] = "fixed-version: Fixed after version 3.16rc1"
+CVE_STATUS[CVE-2020-10742] = "fixed-version: Fixed from version 3.16rc1"
 
-CVE_STATUS[CVE-2020-10751] = "fixed-version: Fixed after version 5.7rc4"
+CVE_STATUS[CVE-2020-10751] = "fixed-version: Fixed from version 5.7rc4"
 
-CVE_STATUS[CVE-2020-10757] = "fixed-version: Fixed after version 5.8rc1"
+CVE_STATUS[CVE-2020-10757] = "fixed-version: Fixed from version 5.8rc1"
 
-CVE_STATUS[CVE-2020-10766] = "fixed-version: Fixed after version 5.8rc1"
+CVE_STATUS[CVE-2020-10766] = "fixed-version: Fixed from version 5.8rc1"
 
-CVE_STATUS[CVE-2020-10767] = "fixed-version: Fixed after version 5.8rc1"
+CVE_STATUS[CVE-2020-10767] = "fixed-version: Fixed from version 5.8rc1"
 
-CVE_STATUS[CVE-2020-10768] = "fixed-version: Fixed after version 5.8rc1"
+CVE_STATUS[CVE-2020-10768] = "fixed-version: Fixed from version 5.8rc1"
 
-CVE_STATUS[CVE-2020-10769] = "fixed-version: Fixed after version 5.0rc3"
+CVE_STATUS[CVE-2020-10769] = "fixed-version: Fixed from version 5.0rc3"
 
-CVE_STATUS[CVE-2020-10773] = "fixed-version: Fixed after version 5.4rc6"
+CVE_STATUS[CVE-2020-10773] = "fixed-version: Fixed from version 5.4rc6"
 
 # CVE-2020-10774 has no known resolution
 
-CVE_STATUS[CVE-2020-10781] = "fixed-version: Fixed after version 5.8rc6"
+CVE_STATUS[CVE-2020-10781] = "fixed-version: Fixed from version 5.8rc6"
 
-CVE_STATUS[CVE-2020-10942] = "fixed-version: Fixed after version 5.6rc4"
+CVE_STATUS[CVE-2020-10942] = "fixed-version: Fixed from version 5.6rc4"
 
-CVE_STATUS[CVE-2020-11494] = "fixed-version: Fixed after version 5.7rc1"
+CVE_STATUS[CVE-2020-11494] = "fixed-version: Fixed from version 5.7rc1"
 
-CVE_STATUS[CVE-2020-11565] = "fixed-version: Fixed after version 5.7rc1"
+CVE_STATUS[CVE-2020-11565] = "fixed-version: Fixed from version 5.7rc1"
 
-CVE_STATUS[CVE-2020-11608] = "fixed-version: Fixed after version 5.7rc1"
+CVE_STATUS[CVE-2020-11608] = "fixed-version: Fixed from version 5.7rc1"
 
-CVE_STATUS[CVE-2020-11609] = "fixed-version: Fixed after version 5.7rc1"
+CVE_STATUS[CVE-2020-11609] = "fixed-version: Fixed from version 5.7rc1"
 
-CVE_STATUS[CVE-2020-11668] = "fixed-version: Fixed after version 5.7rc1"
+CVE_STATUS[CVE-2020-11668] = "fixed-version: Fixed from version 5.7rc1"
 
-CVE_STATUS[CVE-2020-11669] = "fixed-version: Fixed after version 5.2rc1"
+CVE_STATUS[CVE-2020-11669] = "fixed-version: Fixed from version 5.2rc1"
 
 # CVE-2020-11725 has no known resolution
 
-CVE_STATUS[CVE-2020-11884] = "fixed-version: Fixed after version 5.7rc4"
+CVE_STATUS[CVE-2020-11884] = "fixed-version: Fixed from version 5.7rc4"
 
 # CVE-2020-11935 has no known resolution
 
-CVE_STATUS[CVE-2020-12114] = "fixed-version: Fixed after version 5.3rc1"
+CVE_STATUS[CVE-2020-12114] = "fixed-version: Fixed from version 5.3rc1"
 
-CVE_STATUS[CVE-2020-12351] = "fixed-version: Fixed after version 5.10rc1"
+CVE_STATUS[CVE-2020-12351] = "fixed-version: Fixed from version 5.10rc1"
 
-CVE_STATUS[CVE-2020-12352] = "fixed-version: Fixed after version 5.10rc1"
+CVE_STATUS[CVE-2020-12352] = "fixed-version: Fixed from version 5.10rc1"
 
-CVE_STATUS[CVE-2020-12362] = "fixed-version: Fixed after version 5.11rc1"
+CVE_STATUS[CVE-2020-12362] = "fixed-version: Fixed from version 5.11rc1"
 
-CVE_STATUS[CVE-2020-12363] = "fixed-version: Fixed after version 5.11rc1"
+CVE_STATUS[CVE-2020-12363] = "fixed-version: Fixed from version 5.11rc1"
 
-CVE_STATUS[CVE-2020-12364] = "fixed-version: Fixed after version 5.11rc1"
+CVE_STATUS[CVE-2020-12364] = "fixed-version: Fixed from version 5.11rc1"
 
-CVE_STATUS[CVE-2020-12464] = "fixed-version: Fixed after version 5.7rc3"
+CVE_STATUS[CVE-2020-12464] = "fixed-version: Fixed from version 5.7rc3"
 
-CVE_STATUS[CVE-2020-12465] = "fixed-version: Fixed after version 5.6rc6"
+CVE_STATUS[CVE-2020-12465] = "fixed-version: Fixed from version 5.6rc6"
 
-CVE_STATUS[CVE-2020-12652] = "fixed-version: Fixed after version 5.5rc7"
+CVE_STATUS[CVE-2020-12652] = "fixed-version: Fixed from version 5.5rc7"
 
-CVE_STATUS[CVE-2020-12653] = "fixed-version: Fixed after version 5.6rc1"
+CVE_STATUS[CVE-2020-12653] = "fixed-version: Fixed from version 5.6rc1"
 
-CVE_STATUS[CVE-2020-12654] = "fixed-version: Fixed after version 5.6rc1"
+CVE_STATUS[CVE-2020-12654] = "fixed-version: Fixed from version 5.6rc1"
 
-CVE_STATUS[CVE-2020-12655] = "fixed-version: Fixed after version 5.7rc1"
+CVE_STATUS[CVE-2020-12655] = "fixed-version: Fixed from version 5.7rc1"
 
-CVE_STATUS[CVE-2020-12656] = "fixed-version: Fixed after version 5.8rc1"
+CVE_STATUS[CVE-2020-12656] = "fixed-version: Fixed from version 5.8rc1"
 
-CVE_STATUS[CVE-2020-12657] = "fixed-version: Fixed after version 5.7rc1"
+CVE_STATUS[CVE-2020-12657] = "fixed-version: Fixed from version 5.7rc1"
 
-CVE_STATUS[CVE-2020-12659] = "fixed-version: Fixed after version 5.7rc2"
+CVE_STATUS[CVE-2020-12659] = "fixed-version: Fixed from version 5.7rc2"
 
-CVE_STATUS[CVE-2020-12768] = "fixed-version: Fixed after version 5.6rc4"
+CVE_STATUS[CVE-2020-12768] = "fixed-version: Fixed from version 5.6rc4"
 
-CVE_STATUS[CVE-2020-12769] = "fixed-version: Fixed after version 5.5rc6"
+CVE_STATUS[CVE-2020-12769] = "fixed-version: Fixed from version 5.5rc6"
 
-CVE_STATUS[CVE-2020-12770] = "fixed-version: Fixed after version 5.7rc3"
+CVE_STATUS[CVE-2020-12770] = "fixed-version: Fixed from version 5.7rc3"
 
-CVE_STATUS[CVE-2020-12771] = "fixed-version: Fixed after version 5.8rc2"
+CVE_STATUS[CVE-2020-12771] = "fixed-version: Fixed from version 5.8rc2"
 
-CVE_STATUS[CVE-2020-12826] = "fixed-version: Fixed after version 5.7rc1"
+CVE_STATUS[CVE-2020-12826] = "fixed-version: Fixed from version 5.7rc1"
 
-CVE_STATUS[CVE-2020-12888] = "fixed-version: Fixed after version 5.8rc1"
+CVE_STATUS[CVE-2020-12888] = "fixed-version: Fixed from version 5.8rc1"
 
-CVE_STATUS[CVE-2020-12912] = "fixed-version: Fixed after version 5.10rc4"
+CVE_STATUS[CVE-2020-12912] = "fixed-version: Fixed from version 5.10rc4"
 
-CVE_STATUS[CVE-2020-13143] = "fixed-version: Fixed after version 5.7rc6"
+CVE_STATUS[CVE-2020-13143] = "fixed-version: Fixed from version 5.7rc6"
 
-CVE_STATUS[CVE-2020-13974] = "fixed-version: Fixed after version 5.8rc1"
+CVE_STATUS[CVE-2020-13974] = "fixed-version: Fixed from version 5.8rc1"
 
 # CVE-2020-14304 has no known resolution
 
-CVE_STATUS[CVE-2020-14305] = "fixed-version: Fixed after version 4.12rc1"
+CVE_STATUS[CVE-2020-14305] = "fixed-version: Fixed from version 4.12rc1"
 
-CVE_STATUS[CVE-2020-14314] = "fixed-version: Fixed after version 5.9rc2"
+CVE_STATUS[CVE-2020-14314] = "fixed-version: Fixed from version 5.9rc2"
 
-CVE_STATUS[CVE-2020-14331] = "fixed-version: Fixed after version 5.9rc1"
+CVE_STATUS[CVE-2020-14331] = "fixed-version: Fixed from version 5.9rc1"
 
-CVE_STATUS[CVE-2020-14351] = "fixed-version: Fixed after version 5.10rc1"
+CVE_STATUS[CVE-2020-14351] = "fixed-version: Fixed from version 5.10rc1"
 
-CVE_STATUS[CVE-2020-14353] = "fixed-version: Fixed after version 4.14rc3"
+CVE_STATUS[CVE-2020-14353] = "fixed-version: Fixed from version 4.14rc3"
 
-CVE_STATUS[CVE-2020-14356] = "fixed-version: Fixed after version 5.8rc5"
+CVE_STATUS[CVE-2020-14356] = "fixed-version: Fixed from version 5.8rc5"
 
-CVE_STATUS[CVE-2020-14381] = "fixed-version: Fixed after version 5.6rc6"
+CVE_STATUS[CVE-2020-14381] = "fixed-version: Fixed from version 5.6rc6"
 
-CVE_STATUS[CVE-2020-14385] = "fixed-version: Fixed after version 5.9rc4"
+CVE_STATUS[CVE-2020-14385] = "fixed-version: Fixed from version 5.9rc4"
 
-CVE_STATUS[CVE-2020-14386] = "fixed-version: Fixed after version 5.9rc4"
+CVE_STATUS[CVE-2020-14386] = "fixed-version: Fixed from version 5.9rc4"
 
-CVE_STATUS[CVE-2020-14390] = "fixed-version: Fixed after version 5.9rc6"
+CVE_STATUS[CVE-2020-14390] = "fixed-version: Fixed from version 5.9rc6"
 
-CVE_STATUS[CVE-2020-14416] = "fixed-version: Fixed after version 5.5"
+CVE_STATUS[CVE-2020-14416] = "fixed-version: Fixed from version 5.5"
 
-CVE_STATUS[CVE-2020-15393] = "fixed-version: Fixed after version 5.8rc3"
+CVE_STATUS[CVE-2020-15393] = "fixed-version: Fixed from version 5.8rc3"
 
-CVE_STATUS[CVE-2020-15436] = "fixed-version: Fixed after version 5.8rc2"
+CVE_STATUS[CVE-2020-15436] = "fixed-version: Fixed from version 5.8rc2"
 
-CVE_STATUS[CVE-2020-15437] = "fixed-version: Fixed after version 5.8rc7"
+CVE_STATUS[CVE-2020-15437] = "fixed-version: Fixed from version 5.8rc7"
 
-CVE_STATUS[CVE-2020-15780] = "fixed-version: Fixed after version 5.8rc3"
+CVE_STATUS[CVE-2020-15780] = "fixed-version: Fixed from version 5.8rc3"
 
 # CVE-2020-15802 has no known resolution
 
-CVE_STATUS[CVE-2020-15852] = "fixed-version: Fixed after version 5.8rc6"
+CVE_STATUS[CVE-2020-15852] = "fixed-version: Fixed from version 5.8rc6"
 
-CVE_STATUS[CVE-2020-16119] = "fixed-version: Fixed after version 5.15rc2"
+CVE_STATUS[CVE-2020-16119] = "fixed-version: Fixed from version 5.15rc2"
 
-CVE_STATUS[CVE-2020-16120] = "fixed-version: Fixed after version 5.8rc1"
+CVE_STATUS[CVE-2020-16120] = "fixed-version: Fixed from version 5.8rc1"
 
-CVE_STATUS[CVE-2020-16166] = "fixed-version: Fixed after version 5.8"
+CVE_STATUS[CVE-2020-16166] = "fixed-version: Fixed from version 5.8"
 
-CVE_STATUS[CVE-2020-1749] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2020-1749] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2020-24394] = "fixed-version: Fixed after version 5.8rc4"
+CVE_STATUS[CVE-2020-24394] = "fixed-version: Fixed from version 5.8rc4"
 
-CVE_STATUS[CVE-2020-24490] = "fixed-version: Fixed after version 5.8"
+CVE_STATUS[CVE-2020-24490] = "fixed-version: Fixed from version 5.8"
 
 # CVE-2020-24502 has no known resolution
 
 # CVE-2020-24503 has no known resolution
 
-CVE_STATUS[CVE-2020-24504] = "fixed-version: Fixed after version 5.12rc1"
+CVE_STATUS[CVE-2020-24504] = "fixed-version: Fixed from version 5.12rc1"
 
-CVE_STATUS[CVE-2020-24586] = "fixed-version: Fixed after version 5.13rc4"
+CVE_STATUS[CVE-2020-24586] = "fixed-version: Fixed from version 5.13rc4"
 
-CVE_STATUS[CVE-2020-24587] = "fixed-version: Fixed after version 5.13rc4"
+CVE_STATUS[CVE-2020-24587] = "fixed-version: Fixed from version 5.13rc4"
 
-CVE_STATUS[CVE-2020-24588] = "fixed-version: Fixed after version 5.13rc4"
+CVE_STATUS[CVE-2020-24588] = "fixed-version: Fixed from version 5.13rc4"
 
-CVE_STATUS[CVE-2020-25211] = "fixed-version: Fixed after version 5.9rc7"
+CVE_STATUS[CVE-2020-25211] = "fixed-version: Fixed from version 5.9rc7"
 
-CVE_STATUS[CVE-2020-25212] = "fixed-version: Fixed after version 5.9rc1"
+CVE_STATUS[CVE-2020-25212] = "fixed-version: Fixed from version 5.9rc1"
 
 # CVE-2020-25220 has no known resolution
 
-CVE_STATUS[CVE-2020-25221] = "fixed-version: Fixed after version 5.9rc4"
+CVE_STATUS[CVE-2020-25221] = "fixed-version: Fixed from version 5.9rc4"
 
-CVE_STATUS[CVE-2020-25284] = "fixed-version: Fixed after version 5.9rc5"
+CVE_STATUS[CVE-2020-25284] = "fixed-version: Fixed from version 5.9rc5"
 
-CVE_STATUS[CVE-2020-25285] = "fixed-version: Fixed after version 5.9rc4"
+CVE_STATUS[CVE-2020-25285] = "fixed-version: Fixed from version 5.9rc4"
 
-CVE_STATUS[CVE-2020-25639] = "fixed-version: Fixed after version 5.12rc1"
+CVE_STATUS[CVE-2020-25639] = "fixed-version: Fixed from version 5.12rc1"
 
-CVE_STATUS[CVE-2020-25641] = "fixed-version: Fixed after version 5.9rc4"
+CVE_STATUS[CVE-2020-25641] = "fixed-version: Fixed from version 5.9rc4"
 
-CVE_STATUS[CVE-2020-25643] = "fixed-version: Fixed after version 5.9rc7"
+CVE_STATUS[CVE-2020-25643] = "fixed-version: Fixed from version 5.9rc7"
 
-CVE_STATUS[CVE-2020-25645] = "fixed-version: Fixed after version 5.9rc7"
+CVE_STATUS[CVE-2020-25645] = "fixed-version: Fixed from version 5.9rc7"
 
-CVE_STATUS[CVE-2020-25656] = "fixed-version: Fixed after version 5.10rc2"
+CVE_STATUS[CVE-2020-25656] = "fixed-version: Fixed from version 5.10rc2"
 
 # CVE-2020-25661 has no known resolution
 
 # CVE-2020-25662 has no known resolution
 
-CVE_STATUS[CVE-2020-25668] = "fixed-version: Fixed after version 5.10rc3"
+CVE_STATUS[CVE-2020-25668] = "fixed-version: Fixed from version 5.10rc3"
 
-CVE_STATUS[CVE-2020-25669] = "fixed-version: Fixed after version 5.10rc5"
+CVE_STATUS[CVE-2020-25669] = "fixed-version: Fixed from version 5.10rc5"
 
-CVE_STATUS[CVE-2020-25670] = "fixed-version: Fixed after version 5.12rc7"
+CVE_STATUS[CVE-2020-25670] = "fixed-version: Fixed from version 5.12rc7"
 
-CVE_STATUS[CVE-2020-25671] = "fixed-version: Fixed after version 5.12rc7"
+CVE_STATUS[CVE-2020-25671] = "fixed-version: Fixed from version 5.12rc7"
 
-CVE_STATUS[CVE-2020-25672] = "fixed-version: Fixed after version 5.12rc7"
+CVE_STATUS[CVE-2020-25672] = "fixed-version: Fixed from version 5.12rc7"
 
-CVE_STATUS[CVE-2020-25673] = "fixed-version: Fixed after version 5.12rc7"
+CVE_STATUS[CVE-2020-25673] = "fixed-version: Fixed from version 5.12rc7"
 
-CVE_STATUS[CVE-2020-25704] = "fixed-version: Fixed after version 5.10rc3"
+CVE_STATUS[CVE-2020-25704] = "fixed-version: Fixed from version 5.10rc3"
 
-CVE_STATUS[CVE-2020-25705] = "fixed-version: Fixed after version 5.10rc1"
+CVE_STATUS[CVE-2020-25705] = "fixed-version: Fixed from version 5.10rc1"
 
-CVE_STATUS[CVE-2020-26088] = "fixed-version: Fixed after version 5.9rc1"
+CVE_STATUS[CVE-2020-26088] = "fixed-version: Fixed from version 5.9rc1"
 
-CVE_STATUS[CVE-2020-26139] = "fixed-version: Fixed after version 5.13rc4"
+CVE_STATUS[CVE-2020-26139] = "fixed-version: Fixed from version 5.13rc4"
 
 # CVE-2020-26140 has no known resolution
 
-CVE_STATUS[CVE-2020-26141] = "fixed-version: Fixed after version 5.13rc4"
+CVE_STATUS[CVE-2020-26141] = "fixed-version: Fixed from version 5.13rc4"
 
 # CVE-2020-26142 has no known resolution
 
 # CVE-2020-26143 has no known resolution
 
-CVE_STATUS[CVE-2020-26145] = "fixed-version: Fixed after version 5.13rc4"
+CVE_STATUS[CVE-2020-26145] = "fixed-version: Fixed from version 5.13rc4"
 
-CVE_STATUS[CVE-2020-26147] = "fixed-version: Fixed after version 5.13rc4"
+CVE_STATUS[CVE-2020-26147] = "fixed-version: Fixed from version 5.13rc4"
 
-CVE_STATUS[CVE-2020-26541] = "fixed-version: Fixed after version 5.13rc1"
+CVE_STATUS[CVE-2020-26541] = "fixed-version: Fixed from version 5.13rc1"
 
-CVE_STATUS[CVE-2020-26555] = "fixed-version: Fixed after version 5.13rc1"
+CVE_STATUS[CVE-2020-26555] = "fixed-version: Fixed from version 5.13rc1"
 
 # CVE-2020-26556 has no known resolution
 
 # CVE-2020-26557 has no known resolution
 
-CVE_STATUS[CVE-2020-26558] = "fixed-version: Fixed after version 5.13rc1"
+CVE_STATUS[CVE-2020-26558] = "fixed-version: Fixed from version 5.13rc1"
 
 # CVE-2020-26559 has no known resolution
 
 # CVE-2020-26560 has no known resolution
 
-CVE_STATUS[CVE-2020-27066] = "fixed-version: Fixed after version 5.6"
+CVE_STATUS[CVE-2020-27066] = "fixed-version: Fixed from version 5.6"
 
-CVE_STATUS[CVE-2020-27067] = "fixed-version: Fixed after version 4.14rc4"
+CVE_STATUS[CVE-2020-27067] = "fixed-version: Fixed from version 4.14rc4"
 
-CVE_STATUS[CVE-2020-27068] = "fixed-version: Fixed after version 5.6rc2"
+CVE_STATUS[CVE-2020-27068] = "fixed-version: Fixed from version 5.6rc2"
 
-CVE_STATUS[CVE-2020-27152] = "fixed-version: Fixed after version 5.10rc1"
+CVE_STATUS[CVE-2020-27152] = "fixed-version: Fixed from version 5.10rc1"
 
-CVE_STATUS[CVE-2020-27170] = "fixed-version: Fixed after version 5.12rc5"
+CVE_STATUS[CVE-2020-27170] = "fixed-version: Fixed from version 5.12rc5"
 
-CVE_STATUS[CVE-2020-27171] = "fixed-version: Fixed after version 5.12rc5"
+CVE_STATUS[CVE-2020-27171] = "fixed-version: Fixed from version 5.12rc5"
 
-CVE_STATUS[CVE-2020-27194] = "fixed-version: Fixed after version 5.9"
+CVE_STATUS[CVE-2020-27194] = "fixed-version: Fixed from version 5.9"
 
-CVE_STATUS[CVE-2020-2732] = "fixed-version: Fixed after version 5.6rc4"
+CVE_STATUS[CVE-2020-2732] = "fixed-version: Fixed from version 5.6rc4"
 
-CVE_STATUS[CVE-2020-27673] = "fixed-version: Fixed after version 5.10rc1"
+# CVE-2020-27418 has no known resolution
 
-CVE_STATUS[CVE-2020-27675] = "fixed-version: Fixed after version 5.10rc1"
+CVE_STATUS[CVE-2020-27673] = "fixed-version: Fixed from version 5.10rc1"
 
-CVE_STATUS[CVE-2020-27777] = "fixed-version: Fixed after version 5.10rc1"
+CVE_STATUS[CVE-2020-27675] = "fixed-version: Fixed from version 5.10rc1"
 
-CVE_STATUS[CVE-2020-27784] = "fixed-version: Fixed after version 5.10rc1"
+CVE_STATUS[CVE-2020-27777] = "fixed-version: Fixed from version 5.10rc1"
 
-CVE_STATUS[CVE-2020-27786] = "fixed-version: Fixed after version 5.7rc6"
+CVE_STATUS[CVE-2020-27784] = "fixed-version: Fixed from version 5.10rc1"
 
-CVE_STATUS[CVE-2020-27815] = "fixed-version: Fixed after version 5.11rc1"
+CVE_STATUS[CVE-2020-27786] = "fixed-version: Fixed from version 5.7rc6"
 
-CVE_STATUS[CVE-2020-27820] = "fixed-version: Fixed after version 5.16rc1"
+CVE_STATUS[CVE-2020-27815] = "fixed-version: Fixed from version 5.11rc1"
 
-CVE_STATUS[CVE-2020-27825] = "fixed-version: Fixed after version 5.10rc1"
+CVE_STATUS[CVE-2020-27820] = "fixed-version: Fixed from version 5.16rc1"
 
-CVE_STATUS[CVE-2020-27830] = "fixed-version: Fixed after version 5.10rc7"
+CVE_STATUS[CVE-2020-27825] = "fixed-version: Fixed from version 5.10rc1"
 
-CVE_STATUS[CVE-2020-27835] = "fixed-version: Fixed after version 5.10rc6"
+CVE_STATUS[CVE-2020-27830] = "fixed-version: Fixed from version 5.10rc7"
 
-CVE_STATUS[CVE-2020-28097] = "fixed-version: Fixed after version 5.9rc6"
+CVE_STATUS[CVE-2020-27835] = "fixed-version: Fixed from version 5.10rc6"
 
-CVE_STATUS[CVE-2020-28374] = "fixed-version: Fixed after version 5.11rc4"
+CVE_STATUS[CVE-2020-28097] = "fixed-version: Fixed from version 5.9rc6"
 
-CVE_STATUS[CVE-2020-28588] = "fixed-version: Fixed after version 5.10rc7"
+CVE_STATUS[CVE-2020-28374] = "fixed-version: Fixed from version 5.11rc4"
 
-CVE_STATUS[CVE-2020-28915] = "fixed-version: Fixed after version 5.9"
+CVE_STATUS[CVE-2020-28588] = "fixed-version: Fixed from version 5.10rc7"
 
-CVE_STATUS[CVE-2020-28941] = "fixed-version: Fixed after version 5.10rc5"
+CVE_STATUS[CVE-2020-28915] = "fixed-version: Fixed from version 5.9"
 
-CVE_STATUS[CVE-2020-28974] = "fixed-version: Fixed after version 5.10rc3"
+CVE_STATUS[CVE-2020-28941] = "fixed-version: Fixed from version 5.10rc5"
 
-CVE_STATUS[CVE-2020-29368] = "fixed-version: Fixed after version 5.8rc1"
+CVE_STATUS[CVE-2020-28974] = "fixed-version: Fixed from version 5.10rc3"
 
-CVE_STATUS[CVE-2020-29369] = "fixed-version: Fixed after version 5.8rc7"
+CVE_STATUS[CVE-2020-29368] = "fixed-version: Fixed from version 5.8rc1"
 
-CVE_STATUS[CVE-2020-29370] = "fixed-version: Fixed after version 5.6rc7"
+CVE_STATUS[CVE-2020-29369] = "fixed-version: Fixed from version 5.8rc7"
 
-CVE_STATUS[CVE-2020-29371] = "fixed-version: Fixed after version 5.9rc2"
+CVE_STATUS[CVE-2020-29370] = "fixed-version: Fixed from version 5.6rc7"
 
-CVE_STATUS[CVE-2020-29372] = "fixed-version: Fixed after version 5.7rc3"
+CVE_STATUS[CVE-2020-29371] = "fixed-version: Fixed from version 5.9rc2"
 
-CVE_STATUS[CVE-2020-29373] = "fixed-version: Fixed after version 5.6rc2"
+CVE_STATUS[CVE-2020-29372] = "fixed-version: Fixed from version 5.7rc3"
 
-CVE_STATUS[CVE-2020-29374] = "fixed-version: Fixed after version 5.8rc1"
+CVE_STATUS[CVE-2020-29373] = "fixed-version: Fixed from version 5.6rc2"
 
-CVE_STATUS[CVE-2020-29534] = "fixed-version: Fixed after version 5.10rc1"
+CVE_STATUS[CVE-2020-29374] = "fixed-version: Fixed from version 5.8rc1"
 
-CVE_STATUS[CVE-2020-29568] = "fixed-version: Fixed after version 5.11rc1"
+CVE_STATUS[CVE-2020-29534] = "fixed-version: Fixed from version 5.10rc1"
 
-CVE_STATUS[CVE-2020-29569] = "fixed-version: Fixed after version 5.11rc1"
+CVE_STATUS[CVE-2020-29568] = "fixed-version: Fixed from version 5.11rc1"
 
-CVE_STATUS[CVE-2020-29660] = "fixed-version: Fixed after version 5.10rc7"
+CVE_STATUS[CVE-2020-29569] = "fixed-version: Fixed from version 5.11rc1"
 
-CVE_STATUS[CVE-2020-29661] = "fixed-version: Fixed after version 5.10rc7"
+CVE_STATUS[CVE-2020-29660] = "fixed-version: Fixed from version 5.10rc7"
 
-CVE_STATUS[CVE-2020-35499] = "fixed-version: Fixed after version 5.11rc1"
+CVE_STATUS[CVE-2020-29661] = "fixed-version: Fixed from version 5.10rc7"
+
+CVE_STATUS[CVE-2020-35499] = "fixed-version: Fixed from version 5.11rc1"
 
 # CVE-2020-35501 has no known resolution
 
-CVE_STATUS[CVE-2020-35508] = "fixed-version: Fixed after version 5.10rc3"
+CVE_STATUS[CVE-2020-35508] = "fixed-version: Fixed from version 5.10rc3"
 
-CVE_STATUS[CVE-2020-35513] = "fixed-version: Fixed after version 4.17rc1"
+CVE_STATUS[CVE-2020-35513] = "fixed-version: Fixed from version 4.17rc1"
 
-CVE_STATUS[CVE-2020-35519] = "fixed-version: Fixed after version 5.10rc7"
+CVE_STATUS[CVE-2020-35519] = "fixed-version: Fixed from version 5.10rc7"
 
-CVE_STATUS[CVE-2020-36158] = "fixed-version: Fixed after version 5.11rc1"
+CVE_STATUS[CVE-2020-36158] = "fixed-version: Fixed from version 5.11rc1"
 
-CVE_STATUS[CVE-2020-36310] = "fixed-version: Fixed after version 5.8rc1"
+CVE_STATUS[CVE-2020-36310] = "fixed-version: Fixed from version 5.8rc1"
 
-CVE_STATUS[CVE-2020-36311] = "fixed-version: Fixed after version 5.9rc5"
+CVE_STATUS[CVE-2020-36311] = "fixed-version: Fixed from version 5.9rc5"
 
-CVE_STATUS[CVE-2020-36312] = "fixed-version: Fixed after version 5.9rc5"
+CVE_STATUS[CVE-2020-36312] = "fixed-version: Fixed from version 5.9rc5"
 
-CVE_STATUS[CVE-2020-36313] = "fixed-version: Fixed after version 5.7rc1"
+CVE_STATUS[CVE-2020-36313] = "fixed-version: Fixed from version 5.7rc1"
 
-CVE_STATUS[CVE-2020-36322] = "fixed-version: Fixed after version 5.11rc1"
+CVE_STATUS[CVE-2020-36322] = "fixed-version: Fixed from version 5.11rc1"
 
-CVE_STATUS[CVE-2020-36385] = "fixed-version: Fixed after version 5.10rc1"
+CVE_STATUS[CVE-2020-36385] = "fixed-version: Fixed from version 5.10rc1"
 
-CVE_STATUS[CVE-2020-36386] = "fixed-version: Fixed after version 5.9rc1"
+CVE_STATUS[CVE-2020-36386] = "fixed-version: Fixed from version 5.9rc1"
 
-CVE_STATUS[CVE-2020-36387] = "fixed-version: Fixed after version 5.9rc1"
+CVE_STATUS[CVE-2020-36387] = "fixed-version: Fixed from version 5.9rc1"
 
-CVE_STATUS[CVE-2020-36516] = "fixed-version: Fixed after version 5.17rc2"
+CVE_STATUS[CVE-2020-36516] = "fixed-version: Fixed from version 5.17rc2"
 
-CVE_STATUS[CVE-2020-36557] = "fixed-version: Fixed after version 5.7rc1"
+CVE_STATUS[CVE-2020-36557] = "fixed-version: Fixed from version 5.7rc1"
 
-CVE_STATUS[CVE-2020-36558] = "fixed-version: Fixed after version 5.6rc3"
+CVE_STATUS[CVE-2020-36558] = "fixed-version: Fixed from version 5.6rc3"
 
-CVE_STATUS[CVE-2020-36691] = "fixed-version: Fixed after version 5.8rc1"
+CVE_STATUS[CVE-2020-36691] = "fixed-version: Fixed from version 5.8rc1"
 
-CVE_STATUS[CVE-2020-36694] = "fixed-version: Fixed after version 5.10"
+CVE_STATUS[CVE-2020-36694] = "fixed-version: Fixed from version 5.10"
 
-CVE_STATUS[CVE-2020-3702] = "fixed-version: Fixed after version 5.12rc1"
+CVE_STATUS[CVE-2020-3702] = "fixed-version: Fixed from version 5.12rc1"
 
-CVE_STATUS[CVE-2020-4788] = "fixed-version: Fixed after version 5.10rc5"
+CVE_STATUS[CVE-2020-4788] = "fixed-version: Fixed from version 5.10rc5"
 
-CVE_STATUS[CVE-2020-7053] = "fixed-version: Fixed after version 5.2rc1"
+CVE_STATUS[CVE-2020-7053] = "fixed-version: Fixed from version 5.2rc1"
 
-CVE_STATUS[CVE-2020-8428] = "fixed-version: Fixed after version 5.5"
+CVE_STATUS[CVE-2020-8428] = "fixed-version: Fixed from version 5.5"
 
-CVE_STATUS[CVE-2020-8647] = "fixed-version: Fixed after version 5.6rc5"
+CVE_STATUS[CVE-2020-8647] = "fixed-version: Fixed from version 5.6rc5"
 
-CVE_STATUS[CVE-2020-8648] = "fixed-version: Fixed after version 5.6rc3"
+CVE_STATUS[CVE-2020-8648] = "fixed-version: Fixed from version 5.6rc3"
 
-CVE_STATUS[CVE-2020-8649] = "fixed-version: Fixed after version 5.6rc5"
+CVE_STATUS[CVE-2020-8649] = "fixed-version: Fixed from version 5.6rc5"
 
-CVE_STATUS[CVE-2020-8694] = "fixed-version: Fixed after version 5.10rc4"
+CVE_STATUS[CVE-2020-8694] = "fixed-version: Fixed from version 5.10rc4"
 
 # CVE-2020-8832 has no known resolution
 
-CVE_STATUS[CVE-2020-8834] = "fixed-version: Fixed after version 4.18rc1"
+CVE_STATUS[CVE-2020-8834] = "fixed-version: Fixed from version 4.18rc1"
 
-CVE_STATUS[CVE-2020-8835] = "fixed-version: Fixed after version 5.7rc1"
+CVE_STATUS[CVE-2020-8835] = "fixed-version: Fixed from version 5.7rc1"
 
-CVE_STATUS[CVE-2020-8992] = "fixed-version: Fixed after version 5.6rc2"
+CVE_STATUS[CVE-2020-8992] = "fixed-version: Fixed from version 5.6rc2"
 
-CVE_STATUS[CVE-2020-9383] = "fixed-version: Fixed after version 5.6rc4"
+CVE_STATUS[CVE-2020-9383] = "fixed-version: Fixed from version 5.6rc4"
 
-CVE_STATUS[CVE-2020-9391] = "fixed-version: Fixed after version 5.6rc3"
+CVE_STATUS[CVE-2020-9391] = "fixed-version: Fixed from version 5.6rc3"
 
-CVE_STATUS[CVE-2021-0129] = "fixed-version: Fixed after version 5.13rc1"
+CVE_STATUS[CVE-2021-0129] = "fixed-version: Fixed from version 5.13rc1"
 
-CVE_STATUS[CVE-2021-0342] = "fixed-version: Fixed after version 5.8rc1"
+CVE_STATUS[CVE-2021-0342] = "fixed-version: Fixed from version 5.8rc1"
 
 # CVE-2021-0399 has no known resolution
 
-CVE_STATUS[CVE-2021-0447] = "fixed-version: Fixed after version 4.15rc1"
+CVE_STATUS[CVE-2021-0447] = "fixed-version: Fixed from version 4.15rc1"
 
-CVE_STATUS[CVE-2021-0448] = "fixed-version: Fixed after version 5.9rc7"
+CVE_STATUS[CVE-2021-0448] = "fixed-version: Fixed from version 5.9rc7"
 
-CVE_STATUS[CVE-2021-0512] = "fixed-version: Fixed after version 5.12rc1"
+CVE_STATUS[CVE-2021-0512] = "fixed-version: Fixed from version 5.12rc1"
 
-CVE_STATUS[CVE-2021-0605] = "fixed-version: Fixed after version 5.8"
+CVE_STATUS[CVE-2021-0605] = "fixed-version: Fixed from version 5.8"
 
 # CVE-2021-0606 has no known resolution
 
 # CVE-2021-0695 has no known resolution
 
-CVE_STATUS[CVE-2021-0707] = "fixed-version: Fixed after version 5.11rc3"
+CVE_STATUS[CVE-2021-0707] = "fixed-version: Fixed from version 5.11rc3"
 
-CVE_STATUS[CVE-2021-0920] = "fixed-version: Fixed after version 5.14rc4"
+CVE_STATUS[CVE-2021-0920] = "fixed-version: Fixed from version 5.14rc4"
 
 # CVE-2021-0924 has no known resolution
 
-CVE_STATUS[CVE-2021-0929] = "fixed-version: Fixed after version 5.6rc1"
+CVE_STATUS[CVE-2021-0929] = "fixed-version: Fixed from version 5.6rc1"
 
-CVE_STATUS[CVE-2021-0935] = "fixed-version: Fixed after version 4.16rc7"
+CVE_STATUS[CVE-2021-0935] = "fixed-version: Fixed from version 4.16rc7"
 
 # CVE-2021-0936 has no known resolution
 
-CVE_STATUS[CVE-2021-0937] = "fixed-version: Fixed after version 5.12rc8"
+CVE_STATUS[CVE-2021-0937] = "fixed-version: Fixed from version 5.12rc8"
 
-CVE_STATUS[CVE-2021-0938] = "fixed-version: Fixed after version 5.10rc4"
+CVE_STATUS[CVE-2021-0938] = "fixed-version: Fixed from version 5.10rc4"
 
-CVE_STATUS[CVE-2021-0941] = "fixed-version: Fixed after version 5.12rc1"
+CVE_STATUS[CVE-2021-0941] = "fixed-version: Fixed from version 5.12rc1"
 
 # CVE-2021-0961 has no known resolution
 
-CVE_STATUS[CVE-2021-1048] = "fixed-version: Fixed after version 5.9rc4"
+CVE_STATUS[CVE-2021-1048] = "fixed-version: Fixed from version 5.9rc4"
 
-CVE_STATUS[CVE-2021-20177] = "fixed-version: Fixed after version 5.5rc1"
+CVE_STATUS[CVE-2021-20177] = "fixed-version: Fixed from version 5.5rc1"
 
-CVE_STATUS[CVE-2021-20194] = "fixed-version: Fixed after version 5.10rc1"
+CVE_STATUS[CVE-2021-20194] = "fixed-version: Fixed from version 5.10rc1"
 
 # CVE-2021-20219 has no known resolution
 
-CVE_STATUS[CVE-2021-20226] = "fixed-version: Fixed after version 5.10rc1"
+CVE_STATUS[CVE-2021-20226] = "fixed-version: Fixed from version 5.10rc1"
 
-CVE_STATUS[CVE-2021-20239] = "fixed-version: Fixed after version 5.9rc1"
+CVE_STATUS[CVE-2021-20239] = "fixed-version: Fixed from version 5.9rc1"
 
-CVE_STATUS[CVE-2021-20261] = "fixed-version: Fixed after version 4.5rc5"
+CVE_STATUS[CVE-2021-20261] = "fixed-version: Fixed from version 4.5rc5"
 
-CVE_STATUS[CVE-2021-20265] = "fixed-version: Fixed after version 4.5rc3"
+CVE_STATUS[CVE-2021-20265] = "fixed-version: Fixed from version 4.5rc3"
 
-CVE_STATUS[CVE-2021-20268] = "fixed-version: Fixed after version 5.11rc5"
+CVE_STATUS[CVE-2021-20268] = "fixed-version: Fixed from version 5.11rc5"
 
-CVE_STATUS[CVE-2021-20292] = "fixed-version: Fixed after version 5.9rc1"
+CVE_STATUS[CVE-2021-20292] = "fixed-version: Fixed from version 5.9rc1"
 
-CVE_STATUS[CVE-2021-20317] = "fixed-version: Fixed after version 5.4rc1"
+CVE_STATUS[CVE-2021-20317] = "fixed-version: Fixed from version 5.4rc1"
 
-CVE_STATUS[CVE-2021-20320] = "fixed-version: Fixed after version 5.15rc3"
+CVE_STATUS[CVE-2021-20320] = "fixed-version: Fixed from version 5.15rc3"
 
-CVE_STATUS[CVE-2021-20321] = "fixed-version: Fixed after version 5.15rc5"
+CVE_STATUS[CVE-2021-20321] = "fixed-version: Fixed from version 5.15rc5"
 
-CVE_STATUS[CVE-2021-20322] = "fixed-version: Fixed after version 5.15rc1"
+CVE_STATUS[CVE-2021-20322] = "fixed-version: Fixed from version 5.15rc1"
 
-CVE_STATUS[CVE-2021-21781] = "fixed-version: Fixed after version 5.11rc7"
+CVE_STATUS[CVE-2021-21781] = "fixed-version: Fixed from version 5.11rc7"
 
-CVE_STATUS[CVE-2021-22543] = "fixed-version: Fixed after version 5.13"
+CVE_STATUS[CVE-2021-22543] = "fixed-version: Fixed from version 5.13"
 
-CVE_STATUS[CVE-2021-22555] = "fixed-version: Fixed after version 5.12rc8"
+CVE_STATUS[CVE-2021-22555] = "fixed-version: Fixed from version 5.12rc8"
 
-CVE_STATUS[CVE-2021-22600] = "fixed-version: Fixed after version 5.16rc6"
+CVE_STATUS[CVE-2021-22600] = "fixed-version: Fixed from version 5.16rc6"
 
-CVE_STATUS[CVE-2021-23133] = "fixed-version: Fixed after version 5.12rc8"
+CVE_STATUS[CVE-2021-23133] = "fixed-version: Fixed from version 5.12rc8"
 
-CVE_STATUS[CVE-2021-23134] = "fixed-version: Fixed after version 5.13rc1"
+CVE_STATUS[CVE-2021-23134] = "fixed-version: Fixed from version 5.13rc1"
 
-CVE_STATUS[CVE-2021-26401] = "fixed-version: Fixed after version 5.17rc8"
+CVE_STATUS[CVE-2021-26401] = "fixed-version: Fixed from version 5.17rc8"
 
-CVE_STATUS[CVE-2021-26708] = "fixed-version: Fixed after version 5.11rc7"
+CVE_STATUS[CVE-2021-26708] = "fixed-version: Fixed from version 5.11rc7"
 
-CVE_STATUS[CVE-2021-26930] = "fixed-version: Fixed after version 5.12rc1"
+CVE_STATUS[CVE-2021-26930] = "fixed-version: Fixed from version 5.12rc1"
 
-CVE_STATUS[CVE-2021-26931] = "fixed-version: Fixed after version 5.12rc1"
+CVE_STATUS[CVE-2021-26931] = "fixed-version: Fixed from version 5.12rc1"
 
-CVE_STATUS[CVE-2021-26932] = "fixed-version: Fixed after version 5.12rc1"
+CVE_STATUS[CVE-2021-26932] = "fixed-version: Fixed from version 5.12rc1"
 
 # CVE-2021-26934 has no known resolution
 
-CVE_STATUS[CVE-2021-27363] = "fixed-version: Fixed after version 5.12rc2"
+CVE_STATUS[CVE-2021-27363] = "fixed-version: Fixed from version 5.12rc2"
 
-CVE_STATUS[CVE-2021-27364] = "fixed-version: Fixed after version 5.12rc2"
+CVE_STATUS[CVE-2021-27364] = "fixed-version: Fixed from version 5.12rc2"
 
-CVE_STATUS[CVE-2021-27365] = "fixed-version: Fixed after version 5.12rc2"
+CVE_STATUS[CVE-2021-27365] = "fixed-version: Fixed from version 5.12rc2"
 
-CVE_STATUS[CVE-2021-28038] = "fixed-version: Fixed after version 5.12rc2"
+CVE_STATUS[CVE-2021-28038] = "fixed-version: Fixed from version 5.12rc2"
 
-CVE_STATUS[CVE-2021-28039] = "fixed-version: Fixed after version 5.12rc2"
+CVE_STATUS[CVE-2021-28039] = "fixed-version: Fixed from version 5.12rc2"
 
-CVE_STATUS[CVE-2021-28375] = "fixed-version: Fixed after version 5.12rc3"
+CVE_STATUS[CVE-2021-28375] = "fixed-version: Fixed from version 5.12rc3"
 
-CVE_STATUS[CVE-2021-28660] = "fixed-version: Fixed after version 5.12rc3"
+CVE_STATUS[CVE-2021-28660] = "fixed-version: Fixed from version 5.12rc3"
 
-CVE_STATUS[CVE-2021-28688] = "fixed-version: Fixed after version 5.12rc6"
+CVE_STATUS[CVE-2021-28688] = "fixed-version: Fixed from version 5.12rc6"
 
-CVE_STATUS[CVE-2021-28691] = "fixed-version: Fixed after version 5.13rc6"
+CVE_STATUS[CVE-2021-28691] = "fixed-version: Fixed from version 5.13rc6"
 
-CVE_STATUS[CVE-2021-28711] = "fixed-version: Fixed after version 5.16rc7"
+CVE_STATUS[CVE-2021-28711] = "fixed-version: Fixed from version 5.16rc7"
 
-CVE_STATUS[CVE-2021-28712] = "fixed-version: Fixed after version 5.16rc7"
+CVE_STATUS[CVE-2021-28712] = "fixed-version: Fixed from version 5.16rc7"
 
-CVE_STATUS[CVE-2021-28713] = "fixed-version: Fixed after version 5.16rc7"
+CVE_STATUS[CVE-2021-28713] = "fixed-version: Fixed from version 5.16rc7"
 
-CVE_STATUS[CVE-2021-28714] = "fixed-version: Fixed after version 5.16rc7"
+CVE_STATUS[CVE-2021-28714] = "fixed-version: Fixed from version 5.16rc7"
 
-CVE_STATUS[CVE-2021-28715] = "fixed-version: Fixed after version 5.16rc7"
+CVE_STATUS[CVE-2021-28715] = "fixed-version: Fixed from version 5.16rc7"
 
-CVE_STATUS[CVE-2021-28950] = "fixed-version: Fixed after version 5.12rc4"
+CVE_STATUS[CVE-2021-28950] = "fixed-version: Fixed from version 5.12rc4"
 
-CVE_STATUS[CVE-2021-28951] = "fixed-version: Fixed after version 5.12rc2"
+CVE_STATUS[CVE-2021-28951] = "fixed-version: Fixed from version 5.12rc2"
 
-CVE_STATUS[CVE-2021-28952] = "fixed-version: Fixed after version 5.12rc4"
+CVE_STATUS[CVE-2021-28952] = "fixed-version: Fixed from version 5.12rc4"
 
-CVE_STATUS[CVE-2021-28964] = "fixed-version: Fixed after version 5.12rc4"
+CVE_STATUS[CVE-2021-28964] = "fixed-version: Fixed from version 5.12rc4"
 
-CVE_STATUS[CVE-2021-28971] = "fixed-version: Fixed after version 5.12rc4"
+CVE_STATUS[CVE-2021-28971] = "fixed-version: Fixed from version 5.12rc4"
 
-CVE_STATUS[CVE-2021-28972] = "fixed-version: Fixed after version 5.12rc4"
+CVE_STATUS[CVE-2021-28972] = "fixed-version: Fixed from version 5.12rc4"
 
-CVE_STATUS[CVE-2021-29154] = "fixed-version: Fixed after version 5.12rc7"
+CVE_STATUS[CVE-2021-29154] = "fixed-version: Fixed from version 5.12rc7"
 
-CVE_STATUS[CVE-2021-29155] = "fixed-version: Fixed after version 5.12rc8"
+CVE_STATUS[CVE-2021-29155] = "fixed-version: Fixed from version 5.12rc8"
 
-CVE_STATUS[CVE-2021-29264] = "fixed-version: Fixed after version 5.12rc3"
+CVE_STATUS[CVE-2021-29264] = "fixed-version: Fixed from version 5.12rc3"
 
-CVE_STATUS[CVE-2021-29265] = "fixed-version: Fixed after version 5.12rc3"
+CVE_STATUS[CVE-2021-29265] = "fixed-version: Fixed from version 5.12rc3"
 
-CVE_STATUS[CVE-2021-29266] = "fixed-version: Fixed after version 5.12rc4"
+CVE_STATUS[CVE-2021-29266] = "fixed-version: Fixed from version 5.12rc4"
 
-CVE_STATUS[CVE-2021-29646] = "fixed-version: Fixed after version 5.12rc5"
+CVE_STATUS[CVE-2021-29646] = "fixed-version: Fixed from version 5.12rc5"
 
-CVE_STATUS[CVE-2021-29647] = "fixed-version: Fixed after version 5.12rc5"
+CVE_STATUS[CVE-2021-29647] = "fixed-version: Fixed from version 5.12rc5"
 
-CVE_STATUS[CVE-2021-29648] = "fixed-version: Fixed after version 5.12rc5"
+CVE_STATUS[CVE-2021-29648] = "fixed-version: Fixed from version 5.12rc5"
 
-CVE_STATUS[CVE-2021-29649] = "fixed-version: Fixed after version 5.12rc5"
+CVE_STATUS[CVE-2021-29649] = "fixed-version: Fixed from version 5.12rc5"
 
-CVE_STATUS[CVE-2021-29650] = "fixed-version: Fixed after version 5.12rc5"
+CVE_STATUS[CVE-2021-29650] = "fixed-version: Fixed from version 5.12rc5"
 
-CVE_STATUS[CVE-2021-29657] = "fixed-version: Fixed after version 5.12rc6"
+CVE_STATUS[CVE-2021-29657] = "fixed-version: Fixed from version 5.12rc6"
 
-CVE_STATUS[CVE-2021-30002] = "fixed-version: Fixed after version 5.12rc1"
+CVE_STATUS[CVE-2021-30002] = "fixed-version: Fixed from version 5.12rc1"
 
-CVE_STATUS[CVE-2021-30178] = "fixed-version: Fixed after version 5.12rc2"
+CVE_STATUS[CVE-2021-30178] = "fixed-version: Fixed from version 5.12rc2"
 
-CVE_STATUS[CVE-2021-31440] = "fixed-version: Fixed after version 5.13rc1"
+CVE_STATUS[CVE-2021-31440] = "fixed-version: Fixed from version 5.13rc1"
 
-CVE_STATUS[CVE-2021-3178] = "fixed-version: Fixed after version 5.11rc5"
+CVE_STATUS[CVE-2021-3178] = "fixed-version: Fixed from version 5.11rc5"
 
-CVE_STATUS[CVE-2021-31829] = "fixed-version: Fixed after version 5.13rc1"
+CVE_STATUS[CVE-2021-31829] = "fixed-version: Fixed from version 5.13rc1"
 
-CVE_STATUS[CVE-2021-31916] = "fixed-version: Fixed after version 5.12rc5"
+CVE_STATUS[CVE-2021-31916] = "fixed-version: Fixed from version 5.12rc5"
 
-CVE_STATUS[CVE-2021-32078] = "fixed-version: Fixed after version 5.13rc1"
+CVE_STATUS[CVE-2021-32078] = "fixed-version: Fixed from version 5.13rc1"
 
-CVE_STATUS[CVE-2021-32399] = "fixed-version: Fixed after version 5.13rc1"
+CVE_STATUS[CVE-2021-32399] = "fixed-version: Fixed from version 5.13rc1"
 
-CVE_STATUS[CVE-2021-32606] = "fixed-version: Fixed after version 5.13rc4"
+CVE_STATUS[CVE-2021-32606] = "fixed-version: Fixed from version 5.13rc4"
 
-CVE_STATUS[CVE-2021-33033] = "fixed-version: Fixed after version 5.12rc3"
+CVE_STATUS[CVE-2021-33033] = "fixed-version: Fixed from version 5.12rc3"
 
-CVE_STATUS[CVE-2021-33034] = "fixed-version: Fixed after version 5.13rc1"
+CVE_STATUS[CVE-2021-33034] = "fixed-version: Fixed from version 5.13rc1"
 
-CVE_STATUS[CVE-2021-33061] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2021-33061] = "fixed-version: Fixed from version 5.18rc1"
 
-CVE_STATUS[CVE-2021-33098] = "fixed-version: Fixed after version 5.13rc4"
+CVE_STATUS[CVE-2021-33098] = "fixed-version: Fixed from version 5.13rc4"
 
-CVE_STATUS[CVE-2021-33135] = "fixed-version: Fixed after version 5.17rc8"
+CVE_STATUS[CVE-2021-33135] = "fixed-version: Fixed from version 5.17rc8"
 
-CVE_STATUS[CVE-2021-33200] = "fixed-version: Fixed after version 5.13rc4"
+CVE_STATUS[CVE-2021-33200] = "fixed-version: Fixed from version 5.13rc4"
 
-CVE_STATUS[CVE-2021-3347] = "fixed-version: Fixed after version 5.11rc6"
+CVE_STATUS[CVE-2021-3347] = "fixed-version: Fixed from version 5.11rc6"
 
-CVE_STATUS[CVE-2021-3348] = "fixed-version: Fixed after version 5.11rc6"
+CVE_STATUS[CVE-2021-3348] = "fixed-version: Fixed from version 5.11rc6"
 
-CVE_STATUS[CVE-2021-33624] = "fixed-version: Fixed after version 5.13rc7"
+CVE_STATUS[CVE-2021-33624] = "fixed-version: Fixed from version 5.13rc7"
 
-CVE_STATUS[CVE-2021-33655] = "fixed-version: Fixed after version 5.19rc6"
+CVE_STATUS[CVE-2021-33655] = "fixed-version: Fixed from version 5.19rc6"
 
-CVE_STATUS[CVE-2021-33656] = "fixed-version: Fixed after version 5.12rc1"
+CVE_STATUS[CVE-2021-33656] = "fixed-version: Fixed from version 5.12rc1"
 
-CVE_STATUS[CVE-2021-33909] = "fixed-version: Fixed after version 5.14rc3"
+CVE_STATUS[CVE-2021-33909] = "fixed-version: Fixed from version 5.14rc3"
 
-CVE_STATUS[CVE-2021-3411] = "fixed-version: Fixed after version 5.10"
+CVE_STATUS[CVE-2021-3411] = "fixed-version: Fixed from version 5.10"
 
-CVE_STATUS[CVE-2021-3428] = "fixed-version: Fixed after version 5.9rc2"
+CVE_STATUS[CVE-2021-3428] = "fixed-version: Fixed from version 5.9rc2"
 
-CVE_STATUS[CVE-2021-3444] = "fixed-version: Fixed after version 5.12rc1"
+CVE_STATUS[CVE-2021-3444] = "fixed-version: Fixed from version 5.12rc1"
 
-CVE_STATUS[CVE-2021-34556] = "fixed-version: Fixed after version 5.14rc4"
+CVE_STATUS[CVE-2021-34556] = "fixed-version: Fixed from version 5.14rc4"
 
-CVE_STATUS[CVE-2021-34693] = "fixed-version: Fixed after version 5.13rc7"
+CVE_STATUS[CVE-2021-34693] = "fixed-version: Fixed from version 5.13rc7"
 
-CVE_STATUS[CVE-2021-3483] = "fixed-version: Fixed after version 5.12rc6"
+CVE_STATUS[CVE-2021-3483] = "fixed-version: Fixed from version 5.12rc6"
 
-CVE_STATUS[CVE-2021-34866] = "fixed-version: Fixed after version 5.14"
+CVE_STATUS[CVE-2021-34866] = "fixed-version: Fixed from version 5.14"
 
-CVE_STATUS[CVE-2021-3489] = "fixed-version: Fixed after version 5.13rc4"
+CVE_STATUS[CVE-2021-3489] = "fixed-version: Fixed from version 5.13rc4"
 
-CVE_STATUS[CVE-2021-3490] = "fixed-version: Fixed after version 5.13rc4"
+CVE_STATUS[CVE-2021-3490] = "fixed-version: Fixed from version 5.13rc4"
 
-CVE_STATUS[CVE-2021-3491] = "fixed-version: Fixed after version 5.13rc1"
+CVE_STATUS[CVE-2021-3491] = "fixed-version: Fixed from version 5.13rc1"
 
 # CVE-2021-3492 has no known resolution
 
-CVE_STATUS[CVE-2021-3493] = "fixed-version: Fixed after version 5.11rc1"
+CVE_STATUS[CVE-2021-3493] = "fixed-version: Fixed from version 5.11rc1"
 
-CVE_STATUS[CVE-2021-34981] = "fixed-version: Fixed after version 5.14rc1"
+CVE_STATUS[CVE-2021-34981] = "fixed-version: Fixed from version 5.14rc1"
 
-CVE_STATUS[CVE-2021-3501] = "fixed-version: Fixed after version 5.12rc8"
+CVE_STATUS[CVE-2021-3501] = "fixed-version: Fixed from version 5.12rc8"
 
-CVE_STATUS[CVE-2021-35039] = "fixed-version: Fixed after version 5.13"
+CVE_STATUS[CVE-2021-35039] = "fixed-version: Fixed from version 5.13"
 
-CVE_STATUS[CVE-2021-3506] = "fixed-version: Fixed after version 5.13rc1"
+CVE_STATUS[CVE-2021-3506] = "fixed-version: Fixed from version 5.13rc1"
 
 # CVE-2021-3542 has no known resolution
 
-CVE_STATUS[CVE-2021-3543] = "fixed-version: Fixed after version 5.13rc1"
+CVE_STATUS[CVE-2021-3543] = "fixed-version: Fixed from version 5.13rc1"
 
-CVE_STATUS[CVE-2021-35477] = "fixed-version: Fixed after version 5.14rc4"
+CVE_STATUS[CVE-2021-35477] = "fixed-version: Fixed from version 5.14rc4"
 
-CVE_STATUS[CVE-2021-3564] = "fixed-version: Fixed after version 5.13rc5"
+CVE_STATUS[CVE-2021-3564] = "fixed-version: Fixed from version 5.13rc5"
 
-CVE_STATUS[CVE-2021-3573] = "fixed-version: Fixed after version 5.13rc5"
+CVE_STATUS[CVE-2021-3573] = "fixed-version: Fixed from version 5.13rc5"
 
-CVE_STATUS[CVE-2021-3587] = "fixed-version: Fixed after version 5.13rc5"
+CVE_STATUS[CVE-2021-3587] = "fixed-version: Fixed from version 5.13rc5"
 
-CVE_STATUS[CVE-2021-3600] = "fixed-version: Fixed after version 5.11"
+CVE_STATUS[CVE-2021-3600] = "fixed-version: Fixed from version 5.11"
 
-CVE_STATUS[CVE-2021-3609] = "fixed-version: Fixed after version 5.14rc1"
+CVE_STATUS[CVE-2021-3609] = "fixed-version: Fixed from version 5.14rc1"
 
-CVE_STATUS[CVE-2021-3612] = "fixed-version: Fixed after version 5.12rc1"
+CVE_STATUS[CVE-2021-3612] = "fixed-version: Fixed from version 5.12rc1"
 
-CVE_STATUS[CVE-2021-3635] = "fixed-version: Fixed after version 5.5rc7"
+CVE_STATUS[CVE-2021-3635] = "fixed-version: Fixed from version 5.5rc7"
 
-CVE_STATUS[CVE-2021-3640] = "fixed-version: Fixed after version 5.16rc1"
+CVE_STATUS[CVE-2021-3640] = "fixed-version: Fixed from version 5.16rc1"
 
-CVE_STATUS[CVE-2021-3653] = "fixed-version: Fixed after version 5.14rc7"
+CVE_STATUS[CVE-2021-3653] = "fixed-version: Fixed from version 5.14rc7"
 
-CVE_STATUS[CVE-2021-3655] = "fixed-version: Fixed after version 5.14rc1"
+CVE_STATUS[CVE-2021-3655] = "fixed-version: Fixed from version 5.14rc1"
 
-CVE_STATUS[CVE-2021-3656] = "fixed-version: Fixed after version 5.14rc7"
+CVE_STATUS[CVE-2021-3656] = "fixed-version: Fixed from version 5.14rc7"
 
-CVE_STATUS[CVE-2021-3659] = "fixed-version: Fixed after version 5.12rc7"
+CVE_STATUS[CVE-2021-3659] = "fixed-version: Fixed from version 5.12rc7"
 
-CVE_STATUS[CVE-2021-3669] = "fixed-version: Fixed after version 5.15rc1"
+CVE_STATUS[CVE-2021-3669] = "fixed-version: Fixed from version 5.15rc1"
 
-CVE_STATUS[CVE-2021-3679] = "fixed-version: Fixed after version 5.14rc3"
+CVE_STATUS[CVE-2021-3679] = "fixed-version: Fixed from version 5.14rc3"
 
 # CVE-2021-3714 has no known resolution
 
-CVE_STATUS[CVE-2021-3715] = "fixed-version: Fixed after version 5.6"
+CVE_STATUS[CVE-2021-3715] = "fixed-version: Fixed from version 5.6"
 
-CVE_STATUS[CVE-2021-37159] = "fixed-version: Fixed after version 5.14rc3"
+CVE_STATUS[CVE-2021-37159] = "fixed-version: Fixed from version 5.14rc3"
 
-CVE_STATUS[CVE-2021-3732] = "fixed-version: Fixed after version 5.14rc6"
+CVE_STATUS[CVE-2021-3732] = "fixed-version: Fixed from version 5.14rc6"
 
-CVE_STATUS[CVE-2021-3736] = "fixed-version: Fixed after version 5.15rc1"
+CVE_STATUS[CVE-2021-3736] = "fixed-version: Fixed from version 5.15rc1"
 
-CVE_STATUS[CVE-2021-3739] = "fixed-version: Fixed after version 5.15rc1"
+CVE_STATUS[CVE-2021-3739] = "fixed-version: Fixed from version 5.15rc1"
 
-CVE_STATUS[CVE-2021-3743] = "fixed-version: Fixed after version 5.13rc7"
+CVE_STATUS[CVE-2021-3743] = "fixed-version: Fixed from version 5.13rc7"
 
-CVE_STATUS[CVE-2021-3744] = "fixed-version: Fixed after version 5.15rc4"
+CVE_STATUS[CVE-2021-3744] = "fixed-version: Fixed from version 5.15rc4"
 
-CVE_STATUS[CVE-2021-3752] = "fixed-version: Fixed after version 5.16rc1"
+CVE_STATUS[CVE-2021-3752] = "fixed-version: Fixed from version 5.16rc1"
 
-CVE_STATUS[CVE-2021-3753] = "fixed-version: Fixed after version 5.15rc1"
+CVE_STATUS[CVE-2021-3753] = "fixed-version: Fixed from version 5.15rc1"
 
-CVE_STATUS[CVE-2021-37576] = "fixed-version: Fixed after version 5.14rc3"
+CVE_STATUS[CVE-2021-37576] = "fixed-version: Fixed from version 5.14rc3"
 
-CVE_STATUS[CVE-2021-3759] = "fixed-version: Fixed after version 5.15rc1"
+CVE_STATUS[CVE-2021-3759] = "fixed-version: Fixed from version 5.15rc1"
 
-CVE_STATUS[CVE-2021-3760] = "fixed-version: Fixed after version 5.15rc6"
+CVE_STATUS[CVE-2021-3760] = "fixed-version: Fixed from version 5.15rc6"
 
-CVE_STATUS[CVE-2021-3764] = "fixed-version: Fixed after version 5.15rc4"
+CVE_STATUS[CVE-2021-3764] = "fixed-version: Fixed from version 5.15rc4"
 
-CVE_STATUS[CVE-2021-3772] = "fixed-version: Fixed after version 5.15"
+CVE_STATUS[CVE-2021-3772] = "fixed-version: Fixed from version 5.15"
 
-CVE_STATUS[CVE-2021-38160] = "fixed-version: Fixed after version 5.14rc1"
+CVE_STATUS[CVE-2021-38160] = "fixed-version: Fixed from version 5.14rc1"
 
-CVE_STATUS[CVE-2021-38166] = "fixed-version: Fixed after version 5.14rc6"
+CVE_STATUS[CVE-2021-38166] = "fixed-version: Fixed from version 5.14rc6"
 
-CVE_STATUS[CVE-2021-38198] = "fixed-version: Fixed after version 5.13rc6"
+CVE_STATUS[CVE-2021-38198] = "fixed-version: Fixed from version 5.13rc6"
 
-CVE_STATUS[CVE-2021-38199] = "fixed-version: Fixed after version 5.14rc1"
+CVE_STATUS[CVE-2021-38199] = "fixed-version: Fixed from version 5.14rc1"
 
-CVE_STATUS[CVE-2021-38200] = "fixed-version: Fixed after version 5.13rc7"
+CVE_STATUS[CVE-2021-38200] = "fixed-version: Fixed from version 5.13rc7"
 
-CVE_STATUS[CVE-2021-38201] = "fixed-version: Fixed after version 5.14rc1"
+CVE_STATUS[CVE-2021-38201] = "fixed-version: Fixed from version 5.14rc1"
 
-CVE_STATUS[CVE-2021-38202] = "fixed-version: Fixed after version 5.14rc1"
+CVE_STATUS[CVE-2021-38202] = "fixed-version: Fixed from version 5.14rc1"
 
-CVE_STATUS[CVE-2021-38203] = "fixed-version: Fixed after version 5.14rc2"
+CVE_STATUS[CVE-2021-38203] = "fixed-version: Fixed from version 5.14rc2"
 
-CVE_STATUS[CVE-2021-38204] = "fixed-version: Fixed after version 5.14rc3"
+CVE_STATUS[CVE-2021-38204] = "fixed-version: Fixed from version 5.14rc3"
 
-CVE_STATUS[CVE-2021-38205] = "fixed-version: Fixed after version 5.14rc1"
+CVE_STATUS[CVE-2021-38205] = "fixed-version: Fixed from version 5.14rc1"
 
-CVE_STATUS[CVE-2021-38206] = "fixed-version: Fixed after version 5.13rc7"
+CVE_STATUS[CVE-2021-38206] = "fixed-version: Fixed from version 5.13rc7"
 
-CVE_STATUS[CVE-2021-38207] = "fixed-version: Fixed after version 5.13rc7"
+CVE_STATUS[CVE-2021-38207] = "fixed-version: Fixed from version 5.13rc7"
 
-CVE_STATUS[CVE-2021-38208] = "fixed-version: Fixed after version 5.13rc5"
+CVE_STATUS[CVE-2021-38208] = "fixed-version: Fixed from version 5.13rc5"
 
-CVE_STATUS[CVE-2021-38209] = "fixed-version: Fixed after version 5.13rc1"
+CVE_STATUS[CVE-2021-38209] = "fixed-version: Fixed from version 5.13rc1"
 
-CVE_STATUS[CVE-2021-38300] = "fixed-version: Fixed after version 5.15rc4"
+CVE_STATUS[CVE-2021-38300] = "fixed-version: Fixed from version 5.15rc4"
 
 # CVE-2021-3847 has no known resolution
 
@@ -3793,35 +3804,35 @@
 
 # CVE-2021-3892 has no known resolution
 
-CVE_STATUS[CVE-2021-3894] = "fixed-version: Fixed after version 5.15rc6"
+CVE_STATUS[CVE-2021-3894] = "fixed-version: Fixed from version 5.15rc6"
 
-CVE_STATUS[CVE-2021-3896] = "fixed-version: Fixed after version 5.15rc6"
+CVE_STATUS[CVE-2021-3896] = "fixed-version: Fixed from version 5.15rc6"
 
-CVE_STATUS[CVE-2021-3923] = "fixed-version: Fixed after version 5.16"
+CVE_STATUS[CVE-2021-3923] = "fixed-version: Fixed from version 5.16"
 
-CVE_STATUS[CVE-2021-39633] = "fixed-version: Fixed after version 5.14"
+CVE_STATUS[CVE-2021-39633] = "fixed-version: Fixed from version 5.14"
 
-CVE_STATUS[CVE-2021-39634] = "fixed-version: Fixed after version 5.9rc8"
+CVE_STATUS[CVE-2021-39634] = "fixed-version: Fixed from version 5.9rc8"
 
-CVE_STATUS[CVE-2021-39636] = "fixed-version: Fixed after version 4.16rc1"
+CVE_STATUS[CVE-2021-39636] = "fixed-version: Fixed from version 4.16rc1"
 
-CVE_STATUS[CVE-2021-39648] = "fixed-version: Fixed after version 5.11rc3"
+CVE_STATUS[CVE-2021-39648] = "fixed-version: Fixed from version 5.11rc3"
 
-CVE_STATUS[CVE-2021-39656] = "fixed-version: Fixed after version 5.12rc3"
+CVE_STATUS[CVE-2021-39656] = "fixed-version: Fixed from version 5.12rc3"
 
-CVE_STATUS[CVE-2021-39657] = "fixed-version: Fixed after version 5.11rc4"
+CVE_STATUS[CVE-2021-39657] = "fixed-version: Fixed from version 5.11rc4"
 
-CVE_STATUS[CVE-2021-39685] = "fixed-version: Fixed after version 5.16rc5"
+CVE_STATUS[CVE-2021-39685] = "fixed-version: Fixed from version 5.16rc5"
 
-CVE_STATUS[CVE-2021-39686] = "fixed-version: Fixed after version 5.16rc1"
+CVE_STATUS[CVE-2021-39686] = "fixed-version: Fixed from version 5.16rc1"
 
-CVE_STATUS[CVE-2021-39698] = "fixed-version: Fixed after version 5.16rc5"
+CVE_STATUS[CVE-2021-39698] = "fixed-version: Fixed from version 5.16rc5"
 
-CVE_STATUS[CVE-2021-39711] = "fixed-version: Fixed after version 4.18rc6"
+CVE_STATUS[CVE-2021-39711] = "fixed-version: Fixed from version 4.18rc6"
 
-CVE_STATUS[CVE-2021-39713] = "fixed-version: Fixed after version 4.20rc1"
+CVE_STATUS[CVE-2021-39713] = "fixed-version: Fixed from version 4.20rc1"
 
-CVE_STATUS[CVE-2021-39714] = "fixed-version: Fixed after version 4.12rc1"
+CVE_STATUS[CVE-2021-39714] = "fixed-version: Fixed from version 4.12rc1"
 
 # CVE-2021-39800 has no known resolution
 
@@ -3829,681 +3840,683 @@
 
 # CVE-2021-39802 has no known resolution
 
-CVE_STATUS[CVE-2021-4001] = "fixed-version: Fixed after version 5.16rc2"
+CVE_STATUS[CVE-2021-4001] = "fixed-version: Fixed from version 5.16rc2"
 
-CVE_STATUS[CVE-2021-4002] = "fixed-version: Fixed after version 5.16rc3"
+CVE_STATUS[CVE-2021-4002] = "fixed-version: Fixed from version 5.16rc3"
 
-CVE_STATUS[CVE-2021-4023] = "fixed-version: Fixed after version 5.15rc1"
+CVE_STATUS[CVE-2021-4023] = "fixed-version: Fixed from version 5.15rc1"
 
-CVE_STATUS[CVE-2021-4028] = "fixed-version: Fixed after version 5.15rc4"
+CVE_STATUS[CVE-2021-4028] = "fixed-version: Fixed from version 5.15rc4"
 
-CVE_STATUS[CVE-2021-4032] = "fixed-version: Fixed after version 5.15rc7"
+CVE_STATUS[CVE-2021-4032] = "fixed-version: Fixed from version 5.15rc7"
 
-CVE_STATUS[CVE-2021-4037] = "fixed-version: Fixed after version 5.12rc1"
+CVE_STATUS[CVE-2021-4037] = "fixed-version: Fixed from version 5.12rc1"
 
-CVE_STATUS[CVE-2021-40490] = "fixed-version: Fixed after version 5.15rc1"
+CVE_STATUS[CVE-2021-40490] = "fixed-version: Fixed from version 5.15rc1"
 
-CVE_STATUS[CVE-2021-4083] = "fixed-version: Fixed after version 5.16rc4"
+CVE_STATUS[CVE-2021-4083] = "fixed-version: Fixed from version 5.16rc4"
 
-CVE_STATUS[CVE-2021-4090] = "fixed-version: Fixed after version 5.16rc2"
+CVE_STATUS[CVE-2021-4090] = "fixed-version: Fixed from version 5.16rc2"
 
-CVE_STATUS[CVE-2021-4093] = "fixed-version: Fixed after version 5.15rc7"
+CVE_STATUS[CVE-2021-4093] = "fixed-version: Fixed from version 5.15rc7"
 
-CVE_STATUS[CVE-2021-4095] = "fixed-version: Fixed after version 5.17rc1"
+CVE_STATUS[CVE-2021-4095] = "fixed-version: Fixed from version 5.17rc1"
 
-CVE_STATUS[CVE-2021-41073] = "fixed-version: Fixed after version 5.15rc2"
+CVE_STATUS[CVE-2021-41073] = "fixed-version: Fixed from version 5.15rc2"
 
-CVE_STATUS[CVE-2021-4135] = "fixed-version: Fixed after version 5.16rc6"
+CVE_STATUS[CVE-2021-4135] = "fixed-version: Fixed from version 5.16rc6"
 
-CVE_STATUS[CVE-2021-4148] = "fixed-version: Fixed after version 5.15"
+CVE_STATUS[CVE-2021-4148] = "fixed-version: Fixed from version 5.15"
 
-CVE_STATUS[CVE-2021-4149] = "fixed-version: Fixed after version 5.15rc6"
+CVE_STATUS[CVE-2021-4149] = "fixed-version: Fixed from version 5.15rc6"
 
-CVE_STATUS[CVE-2021-4150] = "fixed-version: Fixed after version 5.15rc7"
+CVE_STATUS[CVE-2021-4150] = "fixed-version: Fixed from version 5.15rc7"
 
-CVE_STATUS[CVE-2021-4154] = "fixed-version: Fixed after version 5.14rc2"
+CVE_STATUS[CVE-2021-4154] = "fixed-version: Fixed from version 5.14rc2"
 
-CVE_STATUS[CVE-2021-4155] = "fixed-version: Fixed after version 5.16"
+CVE_STATUS[CVE-2021-4155] = "fixed-version: Fixed from version 5.16"
 
-CVE_STATUS[CVE-2021-4157] = "fixed-version: Fixed after version 5.13rc1"
+CVE_STATUS[CVE-2021-4157] = "fixed-version: Fixed from version 5.13rc1"
 
-CVE_STATUS[CVE-2021-4159] = "fixed-version: Fixed after version 5.7rc1"
+CVE_STATUS[CVE-2021-4159] = "fixed-version: Fixed from version 5.7rc1"
 
-CVE_STATUS[CVE-2021-41864] = "fixed-version: Fixed after version 5.15rc5"
+CVE_STATUS[CVE-2021-41864] = "fixed-version: Fixed from version 5.15rc5"
 
-CVE_STATUS[CVE-2021-4197] = "fixed-version: Fixed after version 5.16"
+CVE_STATUS[CVE-2021-4197] = "fixed-version: Fixed from version 5.16"
 
-CVE_STATUS[CVE-2021-42008] = "fixed-version: Fixed after version 5.14rc7"
+CVE_STATUS[CVE-2021-42008] = "fixed-version: Fixed from version 5.14rc7"
 
-CVE_STATUS[CVE-2021-4202] = "fixed-version: Fixed after version 5.16rc2"
+CVE_STATUS[CVE-2021-4202] = "fixed-version: Fixed from version 5.16rc2"
 
-CVE_STATUS[CVE-2021-4203] = "fixed-version: Fixed after version 5.15rc4"
+CVE_STATUS[CVE-2021-4203] = "fixed-version: Fixed from version 5.15rc4"
 
-CVE_STATUS[CVE-2021-4204] = "fixed-version: Fixed after version 5.17rc1"
+CVE_STATUS[CVE-2021-4204] = "fixed-version: Fixed from version 5.17rc1"
 
-CVE_STATUS[CVE-2021-4218] = "fixed-version: Fixed after version 5.8rc1"
+CVE_STATUS[CVE-2021-4218] = "fixed-version: Fixed from version 5.8rc1"
 
-CVE_STATUS[CVE-2021-42252] = "fixed-version: Fixed after version 5.15rc1"
+CVE_STATUS[CVE-2021-42252] = "fixed-version: Fixed from version 5.15rc1"
 
-CVE_STATUS[CVE-2021-42327] = "fixed-version: Fixed after version 5.15"
+CVE_STATUS[CVE-2021-42327] = "fixed-version: Fixed from version 5.15"
 
-CVE_STATUS[CVE-2021-42739] = "fixed-version: Fixed after version 5.16rc1"
+CVE_STATUS[CVE-2021-42739] = "fixed-version: Fixed from version 5.16rc1"
 
-CVE_STATUS[CVE-2021-43056] = "fixed-version: Fixed after version 5.15rc6"
+CVE_STATUS[CVE-2021-43056] = "fixed-version: Fixed from version 5.15rc6"
 
-CVE_STATUS[CVE-2021-43057] = "fixed-version: Fixed after version 5.15rc3"
+CVE_STATUS[CVE-2021-43057] = "fixed-version: Fixed from version 5.15rc3"
 
-CVE_STATUS[CVE-2021-43267] = "fixed-version: Fixed after version 5.15"
+CVE_STATUS[CVE-2021-43267] = "fixed-version: Fixed from version 5.15"
 
-CVE_STATUS[CVE-2021-43389] = "fixed-version: Fixed after version 5.15rc6"
+CVE_STATUS[CVE-2021-43389] = "fixed-version: Fixed from version 5.15rc6"
 
-CVE_STATUS[CVE-2021-43975] = "fixed-version: Fixed after version 5.16rc2"
+CVE_STATUS[CVE-2021-43975] = "fixed-version: Fixed from version 5.16rc2"
 
-CVE_STATUS[CVE-2021-43976] = "fixed-version: Fixed after version 5.17rc1"
+CVE_STATUS[CVE-2021-43976] = "fixed-version: Fixed from version 5.17rc1"
 
-CVE_STATUS[CVE-2021-44733] = "fixed-version: Fixed after version 5.16rc7"
+CVE_STATUS[CVE-2021-44733] = "fixed-version: Fixed from version 5.16rc7"
 
-CVE_STATUS[CVE-2021-44879] = "fixed-version: Fixed after version 5.17rc1"
+CVE_STATUS[CVE-2021-44879] = "fixed-version: Fixed from version 5.17rc1"
 
-CVE_STATUS[CVE-2021-45095] = "fixed-version: Fixed after version 5.16rc6"
+CVE_STATUS[CVE-2021-45095] = "fixed-version: Fixed from version 5.16rc6"
 
-CVE_STATUS[CVE-2021-45100] = "fixed-version: Fixed after version 5.16rc7"
+CVE_STATUS[CVE-2021-45100] = "fixed-version: Fixed from version 5.16rc7"
 
-CVE_STATUS[CVE-2021-45402] = "fixed-version: Fixed after version 5.16rc6"
+CVE_STATUS[CVE-2021-45402] = "fixed-version: Fixed from version 5.16rc6"
 
-CVE_STATUS[CVE-2021-45469] = "fixed-version: Fixed after version 5.17rc1"
+CVE_STATUS[CVE-2021-45469] = "fixed-version: Fixed from version 5.17rc1"
 
-CVE_STATUS[CVE-2021-45480] = "fixed-version: Fixed after version 5.16rc6"
+CVE_STATUS[CVE-2021-45480] = "fixed-version: Fixed from version 5.16rc6"
 
-CVE_STATUS[CVE-2021-45485] = "fixed-version: Fixed after version 5.14rc1"
+CVE_STATUS[CVE-2021-45485] = "fixed-version: Fixed from version 5.14rc1"
 
-CVE_STATUS[CVE-2021-45486] = "fixed-version: Fixed after version 5.13rc1"
+CVE_STATUS[CVE-2021-45486] = "fixed-version: Fixed from version 5.13rc1"
 
-CVE_STATUS[CVE-2021-45868] = "fixed-version: Fixed after version 5.16rc1"
+CVE_STATUS[CVE-2021-45868] = "fixed-version: Fixed from version 5.16rc1"
 
-CVE_STATUS[CVE-2021-46283] = "fixed-version: Fixed after version 5.13rc7"
+CVE_STATUS[CVE-2021-46283] = "fixed-version: Fixed from version 5.13rc7"
 
-CVE_STATUS[CVE-2022-0001] = "fixed-version: Fixed after version 5.17rc8"
+CVE_STATUS[CVE-2022-0001] = "fixed-version: Fixed from version 5.17rc8"
 
-CVE_STATUS[CVE-2022-0002] = "fixed-version: Fixed after version 5.17rc8"
+CVE_STATUS[CVE-2022-0002] = "fixed-version: Fixed from version 5.17rc8"
 
-CVE_STATUS[CVE-2022-0168] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2022-0168] = "fixed-version: Fixed from version 5.18rc1"
 
-CVE_STATUS[CVE-2022-0171] = "fixed-version: Fixed after version 5.18rc4"
+CVE_STATUS[CVE-2022-0171] = "fixed-version: Fixed from version 5.18rc4"
 
-CVE_STATUS[CVE-2022-0185] = "fixed-version: Fixed after version 5.17rc1"
+CVE_STATUS[CVE-2022-0185] = "fixed-version: Fixed from version 5.17rc1"
 
-CVE_STATUS[CVE-2022-0264] = "fixed-version: Fixed after version 5.16rc6"
+CVE_STATUS[CVE-2022-0264] = "fixed-version: Fixed from version 5.16rc6"
 
-CVE_STATUS[CVE-2022-0286] = "fixed-version: Fixed after version 5.14rc2"
+CVE_STATUS[CVE-2022-0286] = "fixed-version: Fixed from version 5.14rc2"
 
-CVE_STATUS[CVE-2022-0322] = "fixed-version: Fixed after version 5.15rc6"
+CVE_STATUS[CVE-2022-0322] = "fixed-version: Fixed from version 5.15rc6"
 
-CVE_STATUS[CVE-2022-0330] = "fixed-version: Fixed after version 5.17rc2"
+CVE_STATUS[CVE-2022-0330] = "fixed-version: Fixed from version 5.17rc2"
 
-CVE_STATUS[CVE-2022-0382] = "fixed-version: Fixed after version 5.16"
+CVE_STATUS[CVE-2022-0382] = "fixed-version: Fixed from version 5.16"
 
 # CVE-2022-0400 has no known resolution
 
-CVE_STATUS[CVE-2022-0433] = "fixed-version: Fixed after version 5.17rc1"
+CVE_STATUS[CVE-2022-0433] = "fixed-version: Fixed from version 5.17rc1"
 
-CVE_STATUS[CVE-2022-0435] = "fixed-version: Fixed after version 5.17rc4"
+CVE_STATUS[CVE-2022-0435] = "fixed-version: Fixed from version 5.17rc4"
 
-CVE_STATUS[CVE-2022-0480] = "fixed-version: Fixed after version 5.15rc1"
+CVE_STATUS[CVE-2022-0480] = "fixed-version: Fixed from version 5.15rc1"
 
-CVE_STATUS[CVE-2022-0487] = "fixed-version: Fixed after version 5.17rc4"
+CVE_STATUS[CVE-2022-0487] = "fixed-version: Fixed from version 5.17rc4"
 
-CVE_STATUS[CVE-2022-0492] = "fixed-version: Fixed after version 5.17rc3"
+CVE_STATUS[CVE-2022-0492] = "fixed-version: Fixed from version 5.17rc3"
 
-CVE_STATUS[CVE-2022-0494] = "fixed-version: Fixed after version 5.17rc5"
+CVE_STATUS[CVE-2022-0494] = "fixed-version: Fixed from version 5.17rc5"
 
-CVE_STATUS[CVE-2022-0500] = "fixed-version: Fixed after version 5.17rc1"
+CVE_STATUS[CVE-2022-0500] = "fixed-version: Fixed from version 5.17rc1"
 
-CVE_STATUS[CVE-2022-0516] = "fixed-version: Fixed after version 5.17rc4"
+CVE_STATUS[CVE-2022-0516] = "fixed-version: Fixed from version 5.17rc4"
 
-CVE_STATUS[CVE-2022-0617] = "fixed-version: Fixed after version 5.17rc2"
+CVE_STATUS[CVE-2022-0617] = "fixed-version: Fixed from version 5.17rc2"
 
-CVE_STATUS[CVE-2022-0644] = "fixed-version: Fixed after version 5.15rc7"
+CVE_STATUS[CVE-2022-0644] = "fixed-version: Fixed from version 5.15rc7"
 
-CVE_STATUS[CVE-2022-0646] = "fixed-version: Fixed after version 5.17rc5"
+CVE_STATUS[CVE-2022-0646] = "fixed-version: Fixed from version 5.17rc5"
 
-CVE_STATUS[CVE-2022-0742] = "fixed-version: Fixed after version 5.17rc7"
+CVE_STATUS[CVE-2022-0742] = "fixed-version: Fixed from version 5.17rc7"
 
-CVE_STATUS[CVE-2022-0812] = "fixed-version: Fixed after version 5.8rc6"
+CVE_STATUS[CVE-2022-0812] = "fixed-version: Fixed from version 5.8rc6"
 
-CVE_STATUS[CVE-2022-0847] = "fixed-version: Fixed after version 5.17rc6"
+CVE_STATUS[CVE-2022-0847] = "fixed-version: Fixed from version 5.17rc6"
 
-CVE_STATUS[CVE-2022-0850] = "fixed-version: Fixed after version 5.14rc1"
+CVE_STATUS[CVE-2022-0850] = "fixed-version: Fixed from version 5.14rc1"
 
-CVE_STATUS[CVE-2022-0854] = "fixed-version: Fixed after version 5.17rc8"
+CVE_STATUS[CVE-2022-0854] = "fixed-version: Fixed from version 5.17rc8"
 
-CVE_STATUS[CVE-2022-0995] = "fixed-version: Fixed after version 5.17rc8"
+CVE_STATUS[CVE-2022-0995] = "fixed-version: Fixed from version 5.17rc8"
 
-CVE_STATUS[CVE-2022-0998] = "fixed-version: Fixed after version 5.17rc1"
+CVE_STATUS[CVE-2022-0998] = "fixed-version: Fixed from version 5.17rc1"
 
-CVE_STATUS[CVE-2022-1011] = "fixed-version: Fixed after version 5.17rc8"
+CVE_STATUS[CVE-2022-1011] = "fixed-version: Fixed from version 5.17rc8"
 
-CVE_STATUS[CVE-2022-1012] = "fixed-version: Fixed after version 5.18rc6"
+CVE_STATUS[CVE-2022-1012] = "fixed-version: Fixed from version 5.18rc6"
 
-CVE_STATUS[CVE-2022-1015] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2022-1015] = "fixed-version: Fixed from version 5.18rc1"
 
-CVE_STATUS[CVE-2022-1016] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2022-1016] = "fixed-version: Fixed from version 5.18rc1"
 
-CVE_STATUS[CVE-2022-1043] = "fixed-version: Fixed after version 5.14rc7"
+CVE_STATUS[CVE-2022-1043] = "fixed-version: Fixed from version 5.14rc7"
 
-CVE_STATUS[CVE-2022-1048] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2022-1048] = "fixed-version: Fixed from version 5.18rc1"
 
-CVE_STATUS[CVE-2022-1055] = "fixed-version: Fixed after version 5.17rc3"
+CVE_STATUS[CVE-2022-1055] = "fixed-version: Fixed from version 5.17rc3"
 
 # CVE-2022-1116 has no known resolution
 
-CVE_STATUS[CVE-2022-1158] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2022-1158] = "fixed-version: Fixed from version 5.18rc1"
 
-CVE_STATUS[CVE-2022-1184] = "fixed-version: Fixed after version 5.19rc1"
+CVE_STATUS[CVE-2022-1184] = "fixed-version: Fixed from version 5.19rc1"
 
-CVE_STATUS[CVE-2022-1195] = "fixed-version: Fixed after version 5.16rc7"
+CVE_STATUS[CVE-2022-1195] = "fixed-version: Fixed from version 5.16rc7"
 
-CVE_STATUS[CVE-2022-1198] = "fixed-version: Fixed after version 5.17rc6"
+CVE_STATUS[CVE-2022-1198] = "fixed-version: Fixed from version 5.17rc6"
 
-CVE_STATUS[CVE-2022-1199] = "fixed-version: Fixed after version 5.17rc8"
+CVE_STATUS[CVE-2022-1199] = "fixed-version: Fixed from version 5.17rc8"
 
-CVE_STATUS[CVE-2022-1204] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2022-1204] = "fixed-version: Fixed from version 5.18rc1"
 
-CVE_STATUS[CVE-2022-1205] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2022-1205] = "fixed-version: Fixed from version 5.18rc1"
 
 # CVE-2022-1247 has no known resolution
 
-CVE_STATUS[CVE-2022-1263] = "fixed-version: Fixed after version 5.18rc3"
+CVE_STATUS[CVE-2022-1263] = "fixed-version: Fixed from version 5.18rc3"
 
-CVE_STATUS[CVE-2022-1280] = "fixed-version: Fixed after version 5.15rc1"
+CVE_STATUS[CVE-2022-1280] = "fixed-version: Fixed from version 5.15rc1"
 
-CVE_STATUS[CVE-2022-1353] = "fixed-version: Fixed after version 5.17"
+CVE_STATUS[CVE-2022-1353] = "fixed-version: Fixed from version 5.17"
 
-CVE_STATUS[CVE-2022-1419] = "fixed-version: Fixed after version 5.6rc2"
+CVE_STATUS[CVE-2022-1419] = "fixed-version: Fixed from version 5.6rc2"
 
-CVE_STATUS[CVE-2022-1462] = "fixed-version: Fixed after version 5.19rc7"
+CVE_STATUS[CVE-2022-1462] = "fixed-version: Fixed from version 5.19rc7"
 
-CVE_STATUS[CVE-2022-1508] = "fixed-version: Fixed after version 5.15rc1"
+CVE_STATUS[CVE-2022-1508] = "fixed-version: Fixed from version 5.15rc1"
 
-CVE_STATUS[CVE-2022-1516] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2022-1516] = "fixed-version: Fixed from version 5.18rc1"
 
-CVE_STATUS[CVE-2022-1651] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2022-1651] = "fixed-version: Fixed from version 5.18rc1"
 
-CVE_STATUS[CVE-2022-1652] = "fixed-version: Fixed after version 5.18rc6"
+CVE_STATUS[CVE-2022-1652] = "fixed-version: Fixed from version 5.18rc6"
 
-CVE_STATUS[CVE-2022-1671] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2022-1671] = "fixed-version: Fixed from version 5.18rc1"
 
-CVE_STATUS[CVE-2022-1678] = "fixed-version: Fixed after version 4.20rc1"
+CVE_STATUS[CVE-2022-1678] = "fixed-version: Fixed from version 4.20rc1"
 
-CVE_STATUS[CVE-2022-1679] = "fixed-version: Fixed after version 6.0rc1"
+CVE_STATUS[CVE-2022-1679] = "fixed-version: Fixed from version 6.0rc1"
 
-CVE_STATUS[CVE-2022-1729] = "fixed-version: Fixed after version 5.18"
+CVE_STATUS[CVE-2022-1729] = "fixed-version: Fixed from version 5.18"
 
-CVE_STATUS[CVE-2022-1734] = "fixed-version: Fixed after version 5.18rc6"
+CVE_STATUS[CVE-2022-1734] = "fixed-version: Fixed from version 5.18rc6"
 
-CVE_STATUS[CVE-2022-1786] = "fixed-version: Fixed after version 5.12rc1"
+CVE_STATUS[CVE-2022-1786] = "fixed-version: Fixed from version 5.12rc1"
 
-CVE_STATUS[CVE-2022-1789] = "fixed-version: Fixed after version 5.18"
+CVE_STATUS[CVE-2022-1789] = "fixed-version: Fixed from version 5.18"
 
-CVE_STATUS[CVE-2022-1836] = "fixed-version: Fixed after version 5.18rc5"
+CVE_STATUS[CVE-2022-1836] = "fixed-version: Fixed from version 5.18rc5"
 
-CVE_STATUS[CVE-2022-1852] = "fixed-version: Fixed after version 5.19rc1"
+CVE_STATUS[CVE-2022-1852] = "fixed-version: Fixed from version 5.19rc1"
 
-CVE_STATUS[CVE-2022-1882] = "fixed-version: Fixed after version 5.19rc8"
+CVE_STATUS[CVE-2022-1882] = "fixed-version: Fixed from version 5.19rc8"
 
-CVE_STATUS[CVE-2022-1943] = "fixed-version: Fixed after version 5.18rc7"
+CVE_STATUS[CVE-2022-1943] = "fixed-version: Fixed from version 5.18rc7"
 
-CVE_STATUS[CVE-2022-1966] = "fixed-version: Fixed after version 5.19rc1"
+CVE_STATUS[CVE-2022-1966] = "fixed-version: Fixed from version 5.19rc1"
 
-CVE_STATUS[CVE-2022-1972] = "fixed-version: Fixed after version 5.19rc1"
+CVE_STATUS[CVE-2022-1972] = "fixed-version: Fixed from version 5.19rc1"
 
-CVE_STATUS[CVE-2022-1973] = "fixed-version: Fixed after version 5.19rc1"
+CVE_STATUS[CVE-2022-1973] = "fixed-version: Fixed from version 5.19rc1"
 
-CVE_STATUS[CVE-2022-1974] = "fixed-version: Fixed after version 5.18rc6"
+CVE_STATUS[CVE-2022-1974] = "fixed-version: Fixed from version 5.18rc6"
 
-CVE_STATUS[CVE-2022-1975] = "fixed-version: Fixed after version 5.18rc6"
+CVE_STATUS[CVE-2022-1975] = "fixed-version: Fixed from version 5.18rc6"
 
-CVE_STATUS[CVE-2022-1976] = "fixed-version: Fixed after version 5.19rc1"
+CVE_STATUS[CVE-2022-1976] = "fixed-version: Fixed from version 5.19rc1"
 
-CVE_STATUS[CVE-2022-1998] = "fixed-version: Fixed after version 5.17rc3"
+CVE_STATUS[CVE-2022-1998] = "fixed-version: Fixed from version 5.17rc3"
 
-CVE_STATUS[CVE-2022-20008] = "fixed-version: Fixed after version 5.17rc5"
+CVE_STATUS[CVE-2022-20008] = "fixed-version: Fixed from version 5.17rc5"
 
-CVE_STATUS[CVE-2022-20132] = "fixed-version: Fixed after version 5.16rc5"
+CVE_STATUS[CVE-2022-20132] = "fixed-version: Fixed from version 5.16rc5"
 
-CVE_STATUS[CVE-2022-20141] = "fixed-version: Fixed after version 5.15rc1"
+CVE_STATUS[CVE-2022-20141] = "fixed-version: Fixed from version 5.15rc1"
 
-CVE_STATUS[CVE-2022-20148] = "fixed-version: Fixed after version 5.16rc1"
+CVE_STATUS[CVE-2022-20148] = "fixed-version: Fixed from version 5.16rc1"
 
-CVE_STATUS[CVE-2022-20153] = "fixed-version: Fixed after version 5.13rc1"
+CVE_STATUS[CVE-2022-20153] = "fixed-version: Fixed from version 5.13rc1"
 
-CVE_STATUS[CVE-2022-20154] = "fixed-version: Fixed after version 5.16rc8"
+CVE_STATUS[CVE-2022-20154] = "fixed-version: Fixed from version 5.16rc8"
 
-CVE_STATUS[CVE-2022-20158] = "fixed-version: Fixed after version 5.17"
+CVE_STATUS[CVE-2022-20158] = "fixed-version: Fixed from version 5.17"
 
-CVE_STATUS[CVE-2022-20166] = "fixed-version: Fixed after version 5.10rc1"
+CVE_STATUS[CVE-2022-20166] = "fixed-version: Fixed from version 5.10rc1"
 
-CVE_STATUS[CVE-2022-20368] = "fixed-version: Fixed after version 5.17"
+CVE_STATUS[CVE-2022-20368] = "fixed-version: Fixed from version 5.17"
 
-CVE_STATUS[CVE-2022-20369] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2022-20369] = "fixed-version: Fixed from version 5.18rc1"
 
-CVE_STATUS[CVE-2022-20409] = "fixed-version: Fixed after version 5.12rc1"
+CVE_STATUS[CVE-2022-20409] = "fixed-version: Fixed from version 5.12rc1"
 
-CVE_STATUS[CVE-2022-20421] = "fixed-version: Fixed after version 6.0rc4"
+CVE_STATUS[CVE-2022-20421] = "fixed-version: Fixed from version 6.0rc4"
 
-CVE_STATUS[CVE-2022-20422] = "fixed-version: Fixed after version 6.0rc1"
+CVE_STATUS[CVE-2022-20422] = "fixed-version: Fixed from version 6.0rc1"
 
-CVE_STATUS[CVE-2022-20423] = "fixed-version: Fixed after version 5.17"
+CVE_STATUS[CVE-2022-20423] = "fixed-version: Fixed from version 5.17"
 
-CVE_STATUS[CVE-2022-20424] = "fixed-version: Fixed after version 5.12rc1"
+CVE_STATUS[CVE-2022-20424] = "fixed-version: Fixed from version 5.12rc1"
 
-CVE_STATUS[CVE-2022-20565] = "fixed-version: Fixed after version 5.9rc4"
+CVE_STATUS[CVE-2022-20565] = "fixed-version: Fixed from version 5.9rc4"
 
-CVE_STATUS[CVE-2022-20566] = "fixed-version: Fixed after version 5.19"
+CVE_STATUS[CVE-2022-20566] = "fixed-version: Fixed from version 5.19"
 
-CVE_STATUS[CVE-2022-20567] = "fixed-version: Fixed after version 4.16rc5"
+CVE_STATUS[CVE-2022-20567] = "fixed-version: Fixed from version 4.16rc5"
 
-CVE_STATUS[CVE-2022-20568] = "fixed-version: Fixed after version 5.12rc1"
+CVE_STATUS[CVE-2022-20568] = "fixed-version: Fixed from version 5.12rc1"
 
-CVE_STATUS[CVE-2022-20572] = "fixed-version: Fixed after version 5.19rc1"
+CVE_STATUS[CVE-2022-20572] = "fixed-version: Fixed from version 5.19rc1"
 
-CVE_STATUS[CVE-2022-2078] = "fixed-version: Fixed after version 5.19rc1"
+CVE_STATUS[CVE-2022-2078] = "fixed-version: Fixed from version 5.19rc1"
 
-CVE_STATUS[CVE-2022-21123] = "fixed-version: Fixed after version 5.19rc3"
+CVE_STATUS[CVE-2022-21123] = "fixed-version: Fixed from version 5.19rc3"
 
-CVE_STATUS[CVE-2022-21125] = "fixed-version: Fixed after version 5.19rc3"
+CVE_STATUS[CVE-2022-21125] = "fixed-version: Fixed from version 5.19rc3"
 
-CVE_STATUS[CVE-2022-21166] = "fixed-version: Fixed after version 5.19rc3"
+CVE_STATUS[CVE-2022-21166] = "fixed-version: Fixed from version 5.19rc3"
 
-CVE_STATUS[CVE-2022-21385] = "fixed-version: Fixed after version 4.20"
+CVE_STATUS[CVE-2022-21385] = "fixed-version: Fixed from version 4.20"
 
-CVE_STATUS[CVE-2022-21499] = "fixed-version: Fixed after version 5.19rc1"
+CVE_STATUS[CVE-2022-21499] = "fixed-version: Fixed from version 5.19rc1"
 
-CVE_STATUS[CVE-2022-21505] = "fixed-version: Fixed after version 5.19rc8"
+CVE_STATUS[CVE-2022-21505] = "fixed-version: Fixed from version 5.19rc8"
 
-CVE_STATUS[CVE-2022-2153] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2022-2153] = "fixed-version: Fixed from version 5.18rc1"
 
-CVE_STATUS[CVE-2022-2196] = "fixed-version: Fixed after version 6.2rc1"
+CVE_STATUS[CVE-2022-2196] = "fixed-version: Fixed from version 6.2rc1"
 
 # CVE-2022-2209 has no known resolution
 
-CVE_STATUS[CVE-2022-22942] = "fixed-version: Fixed after version 5.17rc2"
+CVE_STATUS[CVE-2022-22942] = "fixed-version: Fixed from version 5.17rc2"
 
-CVE_STATUS[CVE-2022-23036] = "fixed-version: Fixed after version 5.17rc8"
+CVE_STATUS[CVE-2022-23036] = "fixed-version: Fixed from version 5.17rc8"
 
-CVE_STATUS[CVE-2022-23037] = "fixed-version: Fixed after version 5.17rc8"
+CVE_STATUS[CVE-2022-23037] = "fixed-version: Fixed from version 5.17rc8"
 
-CVE_STATUS[CVE-2022-23038] = "fixed-version: Fixed after version 5.17rc8"
+CVE_STATUS[CVE-2022-23038] = "fixed-version: Fixed from version 5.17rc8"
 
-CVE_STATUS[CVE-2022-23039] = "fixed-version: Fixed after version 5.17rc8"
+CVE_STATUS[CVE-2022-23039] = "fixed-version: Fixed from version 5.17rc8"
 
-CVE_STATUS[CVE-2022-23040] = "fixed-version: Fixed after version 5.17rc8"
+CVE_STATUS[CVE-2022-23040] = "fixed-version: Fixed from version 5.17rc8"
 
-CVE_STATUS[CVE-2022-23041] = "fixed-version: Fixed after version 5.17rc8"
+CVE_STATUS[CVE-2022-23041] = "fixed-version: Fixed from version 5.17rc8"
 
-CVE_STATUS[CVE-2022-23042] = "fixed-version: Fixed after version 5.17rc8"
+CVE_STATUS[CVE-2022-23042] = "fixed-version: Fixed from version 5.17rc8"
 
-CVE_STATUS[CVE-2022-2308] = "fixed-version: Fixed after version 6.0"
+CVE_STATUS[CVE-2022-2308] = "fixed-version: Fixed from version 6.0"
 
-CVE_STATUS[CVE-2022-2318] = "fixed-version: Fixed after version 5.19rc5"
+CVE_STATUS[CVE-2022-2318] = "fixed-version: Fixed from version 5.19rc5"
 
-CVE_STATUS[CVE-2022-23222] = "fixed-version: Fixed after version 5.17rc1"
+CVE_STATUS[CVE-2022-23222] = "fixed-version: Fixed from version 5.17rc1"
 
-CVE_STATUS[CVE-2022-2327] = "fixed-version: Fixed after version 5.12rc1"
+CVE_STATUS[CVE-2022-2327] = "fixed-version: Fixed from version 5.12rc1"
 
-CVE_STATUS[CVE-2022-2380] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2022-2380] = "fixed-version: Fixed from version 5.18rc1"
 
-CVE_STATUS[CVE-2022-23816] = "fixed-version: Fixed after version 5.19rc7"
+CVE_STATUS[CVE-2022-23816] = "fixed-version: Fixed from version 5.19rc7"
 
 # CVE-2022-23825 has no known resolution
 
-CVE_STATUS[CVE-2022-23960] = "fixed-version: Fixed after version 5.17rc8"
+CVE_STATUS[CVE-2022-23960] = "fixed-version: Fixed from version 5.17rc8"
 
-CVE_STATUS[CVE-2022-24122] = "fixed-version: Fixed after version 5.17rc2"
+CVE_STATUS[CVE-2022-24122] = "fixed-version: Fixed from version 5.17rc2"
 
-CVE_STATUS[CVE-2022-24448] = "fixed-version: Fixed after version 5.17rc2"
+CVE_STATUS[CVE-2022-24448] = "fixed-version: Fixed from version 5.17rc2"
 
-CVE_STATUS[CVE-2022-24958] = "fixed-version: Fixed after version 5.17rc1"
+CVE_STATUS[CVE-2022-24958] = "fixed-version: Fixed from version 5.17rc1"
 
-CVE_STATUS[CVE-2022-24959] = "fixed-version: Fixed after version 5.17rc2"
+CVE_STATUS[CVE-2022-24959] = "fixed-version: Fixed from version 5.17rc2"
 
-CVE_STATUS[CVE-2022-2503] = "fixed-version: Fixed after version 5.19rc1"
+CVE_STATUS[CVE-2022-2503] = "fixed-version: Fixed from version 5.19rc1"
 
-CVE_STATUS[CVE-2022-25258] = "fixed-version: Fixed after version 5.17rc4"
+CVE_STATUS[CVE-2022-25258] = "fixed-version: Fixed from version 5.17rc4"
 
 # CVE-2022-25265 has no known resolution
 
-CVE_STATUS[CVE-2022-25375] = "fixed-version: Fixed after version 5.17rc4"
+CVE_STATUS[CVE-2022-25375] = "fixed-version: Fixed from version 5.17rc4"
 
-CVE_STATUS[CVE-2022-25636] = "fixed-version: Fixed after version 5.17rc6"
+CVE_STATUS[CVE-2022-25636] = "fixed-version: Fixed from version 5.17rc6"
 
-CVE_STATUS[CVE-2022-2585] = "fixed-version: Fixed after version 6.0rc1"
+CVE_STATUS[CVE-2022-2585] = "fixed-version: Fixed from version 6.0rc1"
 
-CVE_STATUS[CVE-2022-2586] = "fixed-version: Fixed after version 6.0rc1"
+CVE_STATUS[CVE-2022-2586] = "fixed-version: Fixed from version 6.0rc1"
 
-CVE_STATUS[CVE-2022-2588] = "fixed-version: Fixed after version 6.0rc1"
+CVE_STATUS[CVE-2022-2588] = "fixed-version: Fixed from version 6.0rc1"
 
-CVE_STATUS[CVE-2022-2590] = "fixed-version: Fixed after version 6.0rc3"
+CVE_STATUS[CVE-2022-2590] = "fixed-version: Fixed from version 6.0rc3"
 
-CVE_STATUS[CVE-2022-2602] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-2602] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-26365] = "fixed-version: Fixed after version 5.19rc6"
+CVE_STATUS[CVE-2022-26365] = "fixed-version: Fixed from version 5.19rc6"
 
-CVE_STATUS[CVE-2022-26373] = "fixed-version: Fixed after version 6.0rc1"
+CVE_STATUS[CVE-2022-26373] = "fixed-version: Fixed from version 6.0rc1"
 
-CVE_STATUS[CVE-2022-2639] = "fixed-version: Fixed after version 5.18rc4"
+CVE_STATUS[CVE-2022-2639] = "fixed-version: Fixed from version 5.18rc4"
 
-CVE_STATUS[CVE-2022-26490] = "fixed-version: Fixed after version 5.17rc1"
+CVE_STATUS[CVE-2022-26490] = "fixed-version: Fixed from version 5.17rc1"
 
-CVE_STATUS[CVE-2022-2663] = "fixed-version: Fixed after version 6.0rc5"
+CVE_STATUS[CVE-2022-2663] = "fixed-version: Fixed from version 6.0rc5"
 
 # CVE-2022-26878 has no known resolution
 
-CVE_STATUS[CVE-2022-26966] = "fixed-version: Fixed after version 5.17rc6"
+CVE_STATUS[CVE-2022-26966] = "fixed-version: Fixed from version 5.17rc6"
 
-CVE_STATUS[CVE-2022-27223] = "fixed-version: Fixed after version 5.17rc6"
+CVE_STATUS[CVE-2022-27223] = "fixed-version: Fixed from version 5.17rc6"
 
-CVE_STATUS[CVE-2022-27666] = "fixed-version: Fixed after version 5.17rc8"
+CVE_STATUS[CVE-2022-27666] = "fixed-version: Fixed from version 5.17rc8"
 
-CVE_STATUS[CVE-2022-27672] = "fixed-version: Fixed after version 6.2"
+CVE_STATUS[CVE-2022-27672] = "fixed-version: Fixed from version 6.2"
 
-CVE_STATUS[CVE-2022-2785] = "fixed-version: Fixed after version 6.0rc1"
+CVE_STATUS[CVE-2022-2785] = "fixed-version: Fixed from version 6.0rc1"
 
-CVE_STATUS[CVE-2022-27950] = "fixed-version: Fixed after version 5.17rc5"
+CVE_STATUS[CVE-2022-27950] = "fixed-version: Fixed from version 5.17rc5"
 
-CVE_STATUS[CVE-2022-28356] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2022-28356] = "fixed-version: Fixed from version 5.18rc1"
 
-CVE_STATUS[CVE-2022-28388] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2022-28388] = "fixed-version: Fixed from version 5.18rc1"
 
-CVE_STATUS[CVE-2022-28389] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2022-28389] = "fixed-version: Fixed from version 5.18rc1"
 
-CVE_STATUS[CVE-2022-28390] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2022-28390] = "fixed-version: Fixed from version 5.18rc1"
 
-CVE_STATUS[CVE-2022-2873] = "fixed-version: Fixed after version 5.19rc1"
+CVE_STATUS[CVE-2022-2873] = "fixed-version: Fixed from version 5.19rc1"
 
-CVE_STATUS[CVE-2022-28796] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2022-28796] = "fixed-version: Fixed from version 5.18rc1"
 
-CVE_STATUS[CVE-2022-28893] = "fixed-version: Fixed after version 5.18rc2"
+CVE_STATUS[CVE-2022-28893] = "fixed-version: Fixed from version 5.18rc2"
 
-CVE_STATUS[CVE-2022-2905] = "fixed-version: Fixed after version 6.0rc4"
+CVE_STATUS[CVE-2022-2905] = "fixed-version: Fixed from version 6.0rc4"
 
-CVE_STATUS[CVE-2022-29156] = "fixed-version: Fixed after version 5.17rc6"
+CVE_STATUS[CVE-2022-29156] = "fixed-version: Fixed from version 5.17rc6"
 
-CVE_STATUS[CVE-2022-2938] = "fixed-version: Fixed after version 5.17rc2"
+CVE_STATUS[CVE-2022-2938] = "fixed-version: Fixed from version 5.17rc2"
 
-CVE_STATUS[CVE-2022-29581] = "fixed-version: Fixed after version 5.18rc4"
+CVE_STATUS[CVE-2022-29581] = "fixed-version: Fixed from version 5.18rc4"
 
-CVE_STATUS[CVE-2022-29582] = "fixed-version: Fixed after version 5.18rc2"
+CVE_STATUS[CVE-2022-29582] = "fixed-version: Fixed from version 5.18rc2"
 
-CVE_STATUS[CVE-2022-2959] = "fixed-version: Fixed after version 5.19rc1"
+CVE_STATUS[CVE-2022-2959] = "fixed-version: Fixed from version 5.19rc1"
 
 # CVE-2022-2961 has no known resolution
 
-CVE_STATUS[CVE-2022-2964] = "fixed-version: Fixed after version 5.17rc4"
+CVE_STATUS[CVE-2022-2964] = "fixed-version: Fixed from version 5.17rc4"
 
-CVE_STATUS[CVE-2022-2977] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2022-2977] = "fixed-version: Fixed from version 5.18rc1"
 
-CVE_STATUS[CVE-2022-2978] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-2978] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-29900] = "fixed-version: Fixed after version 5.19rc7"
+CVE_STATUS[CVE-2022-29900] = "fixed-version: Fixed from version 5.19rc7"
 
-CVE_STATUS[CVE-2022-29901] = "fixed-version: Fixed after version 5.19rc7"
+CVE_STATUS[CVE-2022-29901] = "fixed-version: Fixed from version 5.19rc7"
 
-CVE_STATUS[CVE-2022-2991] = "fixed-version: Fixed after version 5.15rc1"
+CVE_STATUS[CVE-2022-2991] = "fixed-version: Fixed from version 5.15rc1"
 
-CVE_STATUS[CVE-2022-29968] = "fixed-version: Fixed after version 5.18rc5"
+CVE_STATUS[CVE-2022-29968] = "fixed-version: Fixed from version 5.18rc5"
 
-CVE_STATUS[CVE-2022-3028] = "fixed-version: Fixed after version 6.0rc3"
+CVE_STATUS[CVE-2022-3028] = "fixed-version: Fixed from version 6.0rc3"
 
-CVE_STATUS[CVE-2022-30594] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2022-30594] = "fixed-version: Fixed from version 5.18rc1"
 
-CVE_STATUS[CVE-2022-3061] = "fixed-version: Fixed after version 5.18rc5"
+CVE_STATUS[CVE-2022-3061] = "fixed-version: Fixed from version 5.18rc5"
 
-CVE_STATUS[CVE-2022-3077] = "fixed-version: Fixed after version 5.19rc1"
+CVE_STATUS[CVE-2022-3077] = "fixed-version: Fixed from version 5.19rc1"
 
-CVE_STATUS[CVE-2022-3078] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2022-3078] = "fixed-version: Fixed from version 5.18rc1"
 
-CVE_STATUS[CVE-2022-3103] = "fixed-version: Fixed after version 6.0rc3"
+CVE_STATUS[CVE-2022-3103] = "fixed-version: Fixed from version 6.0rc3"
 
-CVE_STATUS[CVE-2022-3104] = "fixed-version: Fixed after version 5.19rc1"
+CVE_STATUS[CVE-2022-3104] = "fixed-version: Fixed from version 5.19rc1"
 
-CVE_STATUS[CVE-2022-3105] = "fixed-version: Fixed after version 5.16"
+CVE_STATUS[CVE-2022-3105] = "fixed-version: Fixed from version 5.16"
 
-CVE_STATUS[CVE-2022-3106] = "fixed-version: Fixed after version 5.16rc6"
+CVE_STATUS[CVE-2022-3106] = "fixed-version: Fixed from version 5.16rc6"
 
-CVE_STATUS[CVE-2022-3107] = "fixed-version: Fixed after version 5.17"
+CVE_STATUS[CVE-2022-3107] = "fixed-version: Fixed from version 5.17"
 
-CVE_STATUS[CVE-2022-3108] = "fixed-version: Fixed after version 5.17rc1"
+CVE_STATUS[CVE-2022-3108] = "fixed-version: Fixed from version 5.17rc1"
 
-CVE_STATUS[CVE-2022-3110] = "fixed-version: Fixed after version 5.19rc1"
+CVE_STATUS[CVE-2022-3110] = "fixed-version: Fixed from version 5.19rc1"
 
-CVE_STATUS[CVE-2022-3111] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2022-3111] = "fixed-version: Fixed from version 5.18rc1"
 
-CVE_STATUS[CVE-2022-3112] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2022-3112] = "fixed-version: Fixed from version 5.18rc1"
 
-CVE_STATUS[CVE-2022-3113] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2022-3113] = "fixed-version: Fixed from version 5.18rc1"
 
-CVE_STATUS[CVE-2022-3114] = "fixed-version: Fixed after version 5.19rc1"
+CVE_STATUS[CVE-2022-3114] = "fixed-version: Fixed from version 5.19rc1"
 
-CVE_STATUS[CVE-2022-3115] = "fixed-version: Fixed after version 5.19rc1"
+CVE_STATUS[CVE-2022-3115] = "fixed-version: Fixed from version 5.19rc1"
 
-CVE_STATUS[CVE-2022-3169] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-3169] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-3170] = "fixed-version: Fixed after version 6.0rc4"
+CVE_STATUS[CVE-2022-3170] = "fixed-version: Fixed from version 6.0rc4"
 
-CVE_STATUS[CVE-2022-3176] = "fixed-version: Fixed after version 5.17rc1"
+CVE_STATUS[CVE-2022-3176] = "fixed-version: Fixed from version 5.17rc1"
 
-CVE_STATUS[CVE-2022-3202] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2022-3202] = "fixed-version: Fixed from version 5.18rc1"
 
-CVE_STATUS[CVE-2022-32250] = "fixed-version: Fixed after version 5.19rc1"
+CVE_STATUS[CVE-2022-32250] = "fixed-version: Fixed from version 5.19rc1"
 
-CVE_STATUS[CVE-2022-32296] = "fixed-version: Fixed after version 5.18rc6"
+CVE_STATUS[CVE-2022-32296] = "fixed-version: Fixed from version 5.18rc6"
 
 # CVE-2022-3238 has no known resolution
 
-CVE_STATUS[CVE-2022-3239] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2022-3239] = "fixed-version: Fixed from version 5.18rc1"
 
-CVE_STATUS[CVE-2022-32981] = "fixed-version: Fixed after version 5.19rc2"
+CVE_STATUS[CVE-2022-32981] = "fixed-version: Fixed from version 5.19rc2"
 
-CVE_STATUS[CVE-2022-3303] = "fixed-version: Fixed after version 6.0rc5"
+CVE_STATUS[CVE-2022-3303] = "fixed-version: Fixed from version 6.0rc5"
 
-CVE_STATUS[CVE-2022-3344] = "fixed-version: Fixed after version 6.1rc7"
+CVE_STATUS[CVE-2022-3344] = "fixed-version: Fixed from version 6.1rc7"
 
-CVE_STATUS[CVE-2022-33740] = "fixed-version: Fixed after version 5.19rc6"
+CVE_STATUS[CVE-2022-33740] = "fixed-version: Fixed from version 5.19rc6"
 
-CVE_STATUS[CVE-2022-33741] = "fixed-version: Fixed after version 5.19rc6"
+CVE_STATUS[CVE-2022-33741] = "fixed-version: Fixed from version 5.19rc6"
 
-CVE_STATUS[CVE-2022-33742] = "fixed-version: Fixed after version 5.19rc6"
+CVE_STATUS[CVE-2022-33742] = "fixed-version: Fixed from version 5.19rc6"
 
-CVE_STATUS[CVE-2022-33743] = "fixed-version: Fixed after version 5.19rc6"
+CVE_STATUS[CVE-2022-33743] = "fixed-version: Fixed from version 5.19rc6"
 
-CVE_STATUS[CVE-2022-33744] = "fixed-version: Fixed after version 5.19rc6"
+CVE_STATUS[CVE-2022-33744] = "fixed-version: Fixed from version 5.19rc6"
 
-CVE_STATUS[CVE-2022-33981] = "fixed-version: Fixed after version 5.18rc5"
+CVE_STATUS[CVE-2022-33981] = "fixed-version: Fixed from version 5.18rc5"
 
-CVE_STATUS[CVE-2022-3424] = "fixed-version: Fixed after version 6.2rc1"
+CVE_STATUS[CVE-2022-3424] = "fixed-version: Fixed from version 6.2rc1"
 
-CVE_STATUS[CVE-2022-3435] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-3435] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-34494] = "fixed-version: Fixed after version 5.19rc1"
+CVE_STATUS[CVE-2022-34494] = "fixed-version: Fixed from version 5.19rc1"
 
-CVE_STATUS[CVE-2022-34495] = "fixed-version: Fixed after version 5.19rc1"
+CVE_STATUS[CVE-2022-34495] = "fixed-version: Fixed from version 5.19rc1"
 
-CVE_STATUS[CVE-2022-34918] = "fixed-version: Fixed after version 5.19rc6"
+CVE_STATUS[CVE-2022-34918] = "fixed-version: Fixed from version 5.19rc6"
 
-CVE_STATUS[CVE-2022-3521] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-3521] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-3522] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-3522] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-3523] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-3523] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-3524] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-3524] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-3526] = "fixed-version: Fixed after version 5.18rc3"
+CVE_STATUS[CVE-2022-3526] = "fixed-version: Fixed from version 5.18rc3"
 
-CVE_STATUS[CVE-2022-3531] = "fixed-version: Fixed after version 6.2rc1"
+CVE_STATUS[CVE-2022-3531] = "fixed-version: Fixed from version 6.2rc1"
 
-CVE_STATUS[CVE-2022-3532] = "fixed-version: Fixed after version 6.2rc1"
+CVE_STATUS[CVE-2022-3532] = "fixed-version: Fixed from version 6.2rc1"
 
 # CVE-2022-3533 has no known resolution
 
-CVE_STATUS[CVE-2022-3534] = "fixed-version: Fixed after version 6.2rc1"
+CVE_STATUS[CVE-2022-3534] = "fixed-version: Fixed from version 6.2rc1"
 
-CVE_STATUS[CVE-2022-3535] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-3535] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-3541] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-3541] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-3542] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-3542] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-3543] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-3543] = "fixed-version: Fixed from version 6.1rc1"
 
 # CVE-2022-3544 has no known resolution
 
-CVE_STATUS[CVE-2022-3545] = "fixed-version: Fixed after version 6.0rc1"
+CVE_STATUS[CVE-2022-3545] = "fixed-version: Fixed from version 6.0rc1"
 
-CVE_STATUS[CVE-2022-3564] = "fixed-version: Fixed after version 6.1rc4"
+CVE_STATUS[CVE-2022-3564] = "fixed-version: Fixed from version 6.1rc4"
 
-CVE_STATUS[CVE-2022-3565] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-3565] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-3566] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-3566] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-3567] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-3567] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-3577] = "fixed-version: Fixed after version 5.19rc1"
+CVE_STATUS[CVE-2022-3577] = "fixed-version: Fixed from version 5.19rc1"
 
-CVE_STATUS[CVE-2022-3586] = "fixed-version: Fixed after version 6.0rc5"
+CVE_STATUS[CVE-2022-3586] = "fixed-version: Fixed from version 6.0rc5"
 
-CVE_STATUS[CVE-2022-3594] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-3594] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-3595] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-3595] = "fixed-version: Fixed from version 6.1rc1"
 
 # CVE-2022-3606 has no known resolution
 
-CVE_STATUS[CVE-2022-36123] = "fixed-version: Fixed after version 5.19rc6"
+CVE_STATUS[CVE-2022-36123] = "fixed-version: Fixed from version 5.19rc6"
 
-CVE_STATUS[CVE-2022-3619] = "fixed-version: Fixed after version 6.1rc4"
+CVE_STATUS[CVE-2022-3619] = "fixed-version: Fixed from version 6.1rc4"
 
-CVE_STATUS[CVE-2022-3621] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-3621] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-3623] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-3623] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-3624] = "fixed-version: Fixed after version 6.0rc1"
+CVE_STATUS[CVE-2022-3624] = "fixed-version: Fixed from version 6.0rc1"
 
-CVE_STATUS[CVE-2022-3625] = "fixed-version: Fixed after version 6.0rc1"
+CVE_STATUS[CVE-2022-3625] = "fixed-version: Fixed from version 6.0rc1"
 
-CVE_STATUS[CVE-2022-3628] = "fixed-version: Fixed after version 6.1rc5"
+CVE_STATUS[CVE-2022-3628] = "fixed-version: Fixed from version 6.1rc5"
 
-CVE_STATUS[CVE-2022-36280] = "fixed-version: Fixed after version 6.2rc1"
+CVE_STATUS[CVE-2022-36280] = "fixed-version: Fixed from version 6.2rc1"
 
-CVE_STATUS[CVE-2022-3629] = "fixed-version: Fixed after version 6.0rc1"
+CVE_STATUS[CVE-2022-3629] = "fixed-version: Fixed from version 6.0rc1"
 
-CVE_STATUS[CVE-2022-3630] = "fixed-version: Fixed after version 6.0rc1"
+CVE_STATUS[CVE-2022-3630] = "fixed-version: Fixed from version 6.0rc1"
 
-CVE_STATUS[CVE-2022-3633] = "fixed-version: Fixed after version 6.0rc1"
+CVE_STATUS[CVE-2022-3633] = "fixed-version: Fixed from version 6.0rc1"
 
-CVE_STATUS[CVE-2022-3635] = "fixed-version: Fixed after version 6.0rc1"
+CVE_STATUS[CVE-2022-3635] = "fixed-version: Fixed from version 6.0rc1"
 
-CVE_STATUS[CVE-2022-3636] = "fixed-version: Fixed after version 5.19rc1"
+CVE_STATUS[CVE-2022-3636] = "fixed-version: Fixed from version 5.19rc1"
 
-CVE_STATUS[CVE-2022-3640] = "fixed-version: Fixed after version 6.1rc4"
+CVE_STATUS[CVE-2022-3640] = "fixed-version: Fixed from version 6.1rc4"
 
 # CVE-2022-36402 has no known resolution
 
 # CVE-2022-3642 has no known resolution
 
-CVE_STATUS[CVE-2022-3643] = "fixed-version: Fixed after version 6.1"
+CVE_STATUS[CVE-2022-3643] = "fixed-version: Fixed from version 6.1"
 
-CVE_STATUS[CVE-2022-3646] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-3646] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-3649] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-3649] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-36879] = "fixed-version: Fixed after version 5.19rc8"
+CVE_STATUS[CVE-2022-36879] = "fixed-version: Fixed from version 5.19rc8"
 
-CVE_STATUS[CVE-2022-36946] = "fixed-version: Fixed after version 5.19"
+CVE_STATUS[CVE-2022-36946] = "fixed-version: Fixed from version 5.19"
 
-CVE_STATUS[CVE-2022-3707] = "fixed-version: Fixed after version 6.2rc3"
+CVE_STATUS[CVE-2022-3707] = "fixed-version: Fixed from version 6.2rc3"
 
 # CVE-2022-38096 has no known resolution
 
-CVE_STATUS[CVE-2022-38457] = "fixed-version: Fixed after version 6.2rc4"
+CVE_STATUS[CVE-2022-38457] = "fixed-version: Fixed from version 6.2rc4"
 
-CVE_STATUS[CVE-2022-3903] = "fixed-version: Fixed after version 6.1rc2"
+CVE_STATUS[CVE-2022-3903] = "fixed-version: Fixed from version 6.1rc2"
 
-CVE_STATUS[CVE-2022-3910] = "fixed-version: Fixed after version 6.0rc6"
+CVE_STATUS[CVE-2022-3910] = "fixed-version: Fixed from version 6.0rc6"
 
-CVE_STATUS[CVE-2022-39188] = "fixed-version: Fixed after version 5.19rc8"
+CVE_STATUS[CVE-2022-39188] = "fixed-version: Fixed from version 5.19rc8"
 
-CVE_STATUS[CVE-2022-39189] = "fixed-version: Fixed after version 5.19rc2"
+CVE_STATUS[CVE-2022-39189] = "fixed-version: Fixed from version 5.19rc2"
 
-CVE_STATUS[CVE-2022-39190] = "fixed-version: Fixed after version 6.0rc3"
+CVE_STATUS[CVE-2022-39190] = "fixed-version: Fixed from version 6.0rc3"
 
-CVE_STATUS[CVE-2022-3977] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-3977] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-39842] = "fixed-version: Fixed after version 5.19rc4"
+CVE_STATUS[CVE-2022-39842] = "fixed-version: Fixed from version 5.19rc4"
 
-CVE_STATUS[CVE-2022-40133] = "fixed-version: Fixed after version 6.2rc4"
+CVE_STATUS[CVE-2022-40133] = "fixed-version: Fixed from version 6.2rc4"
 
-CVE_STATUS[CVE-2022-40307] = "fixed-version: Fixed after version 6.0rc5"
+CVE_STATUS[CVE-2022-40307] = "fixed-version: Fixed from version 6.0rc5"
 
-CVE_STATUS[CVE-2022-40476] = "fixed-version: Fixed after version 5.19rc4"
+CVE_STATUS[CVE-2022-40476] = "fixed-version: Fixed from version 5.19rc4"
 
-CVE_STATUS[CVE-2022-40768] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-40768] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-4095] = "fixed-version: Fixed after version 6.0rc4"
+CVE_STATUS[CVE-2022-4095] = "fixed-version: Fixed from version 6.0rc4"
 
-CVE_STATUS[CVE-2022-41218] = "fixed-version: Fixed after version 6.2rc1"
+CVE_STATUS[CVE-2022-40982] = "cpe-stable-backport: Backported in 6.4.9"
 
-CVE_STATUS[CVE-2022-41222] = "fixed-version: Fixed after version 5.14rc1"
+CVE_STATUS[CVE-2022-41218] = "fixed-version: Fixed from version 6.2rc1"
 
-CVE_STATUS[CVE-2022-4127] = "fixed-version: Fixed after version 5.19rc6"
+CVE_STATUS[CVE-2022-41222] = "fixed-version: Fixed from version 5.14rc1"
 
-CVE_STATUS[CVE-2022-4128] = "fixed-version: Fixed after version 5.19rc7"
+CVE_STATUS[CVE-2022-4127] = "fixed-version: Fixed from version 5.19rc6"
 
-CVE_STATUS[CVE-2022-4129] = "fixed-version: Fixed after version 6.1rc6"
+CVE_STATUS[CVE-2022-4128] = "fixed-version: Fixed from version 5.19rc7"
 
-CVE_STATUS[CVE-2022-4139] = "fixed-version: Fixed after version 6.1rc8"
+CVE_STATUS[CVE-2022-4129] = "fixed-version: Fixed from version 6.1rc6"
 
-CVE_STATUS[CVE-2022-41674] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-4139] = "fixed-version: Fixed from version 6.1rc8"
+
+CVE_STATUS[CVE-2022-41674] = "fixed-version: Fixed from version 6.1rc1"
 
 # CVE-2022-41848 has no known resolution
 
-CVE_STATUS[CVE-2022-41849] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-41849] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-41850] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-41850] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-41858] = "fixed-version: Fixed after version 5.18rc2"
+CVE_STATUS[CVE-2022-41858] = "fixed-version: Fixed from version 5.18rc2"
 
-CVE_STATUS[CVE-2022-42328] = "fixed-version: Fixed after version 6.1"
+CVE_STATUS[CVE-2022-42328] = "fixed-version: Fixed from version 6.1"
 
-CVE_STATUS[CVE-2022-42329] = "fixed-version: Fixed after version 6.1"
+CVE_STATUS[CVE-2022-42329] = "fixed-version: Fixed from version 6.1"
 
-CVE_STATUS[CVE-2022-42432] = "fixed-version: Fixed after version 6.0rc7"
+CVE_STATUS[CVE-2022-42432] = "fixed-version: Fixed from version 6.0rc7"
 
-CVE_STATUS[CVE-2022-4269] = "fixed-version: Fixed after version 6.3rc1"
+CVE_STATUS[CVE-2022-4269] = "fixed-version: Fixed from version 6.3rc1"
 
-CVE_STATUS[CVE-2022-42703] = "fixed-version: Fixed after version 6.0rc4"
+CVE_STATUS[CVE-2022-42703] = "fixed-version: Fixed from version 6.0rc4"
 
-CVE_STATUS[CVE-2022-42719] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-42719] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-42720] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-42720] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-42721] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-42721] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-42722] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-42722] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-42895] = "fixed-version: Fixed after version 6.1rc4"
+CVE_STATUS[CVE-2022-42895] = "fixed-version: Fixed from version 6.1rc4"
 
-CVE_STATUS[CVE-2022-42896] = "fixed-version: Fixed after version 6.1rc4"
+CVE_STATUS[CVE-2022-42896] = "fixed-version: Fixed from version 6.1rc4"
 
-CVE_STATUS[CVE-2022-43750] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-43750] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2022-4378] = "fixed-version: Fixed after version 6.1"
+CVE_STATUS[CVE-2022-4378] = "fixed-version: Fixed from version 6.1"
 
-CVE_STATUS[CVE-2022-4379] = "fixed-version: Fixed after version 6.2rc1"
+CVE_STATUS[CVE-2022-4379] = "fixed-version: Fixed from version 6.2rc1"
 
-CVE_STATUS[CVE-2022-4382] = "fixed-version: Fixed after version 6.2rc5"
+CVE_STATUS[CVE-2022-4382] = "fixed-version: Fixed from version 6.2rc5"
 
-CVE_STATUS[CVE-2022-43945] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2022-43945] = "fixed-version: Fixed from version 6.1rc1"
 
 # CVE-2022-44032 has no known resolution
 
@@ -4513,7 +4526,7 @@
 
 # CVE-2022-4543 has no known resolution
 
-CVE_STATUS[CVE-2022-45869] = "fixed-version: Fixed after version 6.1rc7"
+CVE_STATUS[CVE-2022-45869] = "fixed-version: Fixed from version 6.1rc7"
 
 # CVE-2022-45884 has no known resolution
 
@@ -4523,301 +4536,311 @@
 
 # CVE-2022-45887 has no known resolution
 
-CVE_STATUS[CVE-2022-45888] = "fixed-version: Fixed after version 6.2rc1"
+CVE_STATUS[CVE-2022-45888] = "fixed-version: Fixed from version 6.2rc1"
 
 # CVE-2022-45919 has no known resolution
 
-CVE_STATUS[CVE-2022-45934] = "fixed-version: Fixed after version 6.1"
+CVE_STATUS[CVE-2022-45934] = "fixed-version: Fixed from version 6.1"
 
-CVE_STATUS[CVE-2022-4662] = "fixed-version: Fixed after version 6.0rc4"
+CVE_STATUS[CVE-2022-4662] = "fixed-version: Fixed from version 6.0rc4"
 
-CVE_STATUS[CVE-2022-4696] = "fixed-version: Fixed after version 5.12rc1"
+CVE_STATUS[CVE-2022-4696] = "fixed-version: Fixed from version 5.12rc1"
 
-CVE_STATUS[CVE-2022-4744] = "fixed-version: Fixed after version 5.16rc7"
+CVE_STATUS[CVE-2022-4744] = "fixed-version: Fixed from version 5.16rc7"
 
-CVE_STATUS[CVE-2022-47518] = "fixed-version: Fixed after version 6.1rc8"
+CVE_STATUS[CVE-2022-47518] = "fixed-version: Fixed from version 6.1rc8"
 
-CVE_STATUS[CVE-2022-47519] = "fixed-version: Fixed after version 6.1rc8"
+CVE_STATUS[CVE-2022-47519] = "fixed-version: Fixed from version 6.1rc8"
 
-CVE_STATUS[CVE-2022-47520] = "fixed-version: Fixed after version 6.1rc8"
+CVE_STATUS[CVE-2022-47520] = "fixed-version: Fixed from version 6.1rc8"
 
-CVE_STATUS[CVE-2022-47521] = "fixed-version: Fixed after version 6.1rc8"
+CVE_STATUS[CVE-2022-47521] = "fixed-version: Fixed from version 6.1rc8"
 
-CVE_STATUS[CVE-2022-47929] = "fixed-version: Fixed after version 6.2rc4"
+CVE_STATUS[CVE-2022-47929] = "fixed-version: Fixed from version 6.2rc4"
 
-CVE_STATUS[CVE-2022-47938] = "fixed-version: Fixed after version 6.0rc1"
+CVE_STATUS[CVE-2022-47938] = "fixed-version: Fixed from version 6.0rc1"
 
-CVE_STATUS[CVE-2022-47939] = "fixed-version: Fixed after version 6.0rc1"
+CVE_STATUS[CVE-2022-47939] = "fixed-version: Fixed from version 6.0rc1"
 
-CVE_STATUS[CVE-2022-47940] = "fixed-version: Fixed after version 5.19rc1"
+CVE_STATUS[CVE-2022-47940] = "fixed-version: Fixed from version 5.19rc1"
 
-CVE_STATUS[CVE-2022-47941] = "fixed-version: Fixed after version 6.0rc1"
+CVE_STATUS[CVE-2022-47941] = "fixed-version: Fixed from version 6.0rc1"
 
-CVE_STATUS[CVE-2022-47942] = "fixed-version: Fixed after version 6.0rc1"
+CVE_STATUS[CVE-2022-47942] = "fixed-version: Fixed from version 6.0rc1"
 
-CVE_STATUS[CVE-2022-47943] = "fixed-version: Fixed after version 6.0rc1"
+CVE_STATUS[CVE-2022-47943] = "fixed-version: Fixed from version 6.0rc1"
 
-CVE_STATUS[CVE-2022-47946] = "fixed-version: Fixed after version 5.12rc2"
+CVE_STATUS[CVE-2022-47946] = "fixed-version: Fixed from version 5.12rc2"
 
-CVE_STATUS[CVE-2022-4842] = "fixed-version: Fixed after version 6.2rc1"
+CVE_STATUS[CVE-2022-4842] = "fixed-version: Fixed from version 6.2rc1"
 
-CVE_STATUS[CVE-2022-48423] = "fixed-version: Fixed after version 6.2rc1"
+CVE_STATUS[CVE-2022-48423] = "fixed-version: Fixed from version 6.2rc1"
 
-CVE_STATUS[CVE-2022-48424] = "fixed-version: Fixed after version 6.2rc1"
+CVE_STATUS[CVE-2022-48424] = "fixed-version: Fixed from version 6.2rc1"
 
-CVE_STATUS[CVE-2022-48425] = "fixed-version: Fixed after version 6.4rc1"
+CVE_STATUS[CVE-2022-48425] = "fixed-version: Fixed from version 6.4rc1"
 
-CVE_STATUS[CVE-2022-48502] = "fixed-version: Fixed after version 6.2rc1"
+CVE_STATUS[CVE-2022-48502] = "fixed-version: Fixed from version 6.2rc1"
 
-CVE_STATUS[CVE-2023-0030] = "fixed-version: Fixed after version 5.0rc1"
+CVE_STATUS[CVE-2023-0030] = "fixed-version: Fixed from version 5.0rc1"
 
-CVE_STATUS[CVE-2023-0045] = "fixed-version: Fixed after version 6.2rc3"
+CVE_STATUS[CVE-2023-0045] = "fixed-version: Fixed from version 6.2rc3"
 
-CVE_STATUS[CVE-2023-0047] = "fixed-version: Fixed after version 5.16rc1"
+CVE_STATUS[CVE-2023-0047] = "fixed-version: Fixed from version 5.16rc1"
 
-CVE_STATUS[CVE-2023-0122] = "fixed-version: Fixed after version 6.0rc4"
+CVE_STATUS[CVE-2023-0122] = "fixed-version: Fixed from version 6.0rc4"
 
-# CVE-2023-0160 has no known resolution
+CVE_STATUS[CVE-2023-0160] = "fixed-version: Fixed from version 6.4rc1"
 
-CVE_STATUS[CVE-2023-0179] = "fixed-version: Fixed after version 6.2rc5"
+CVE_STATUS[CVE-2023-0179] = "fixed-version: Fixed from version 6.2rc5"
 
-CVE_STATUS[CVE-2023-0210] = "fixed-version: Fixed after version 6.2rc4"
+CVE_STATUS[CVE-2023-0210] = "fixed-version: Fixed from version 6.2rc4"
 
-CVE_STATUS[CVE-2023-0240] = "fixed-version: Fixed after version 5.10rc1"
+CVE_STATUS[CVE-2023-0240] = "fixed-version: Fixed from version 5.10rc1"
 
-CVE_STATUS[CVE-2023-0266] = "fixed-version: Fixed after version 6.2rc4"
+CVE_STATUS[CVE-2023-0266] = "fixed-version: Fixed from version 6.2rc4"
 
-CVE_STATUS[CVE-2023-0386] = "fixed-version: Fixed after version 6.2rc6"
+CVE_STATUS[CVE-2023-0386] = "fixed-version: Fixed from version 6.2rc6"
 
-CVE_STATUS[CVE-2023-0394] = "fixed-version: Fixed after version 6.2rc4"
+CVE_STATUS[CVE-2023-0394] = "fixed-version: Fixed from version 6.2rc4"
 
-CVE_STATUS[CVE-2023-0458] = "fixed-version: Fixed after version 6.2rc5"
+CVE_STATUS[CVE-2023-0458] = "fixed-version: Fixed from version 6.2rc5"
 
-CVE_STATUS[CVE-2023-0459] = "fixed-version: Fixed after version 6.3rc1"
+CVE_STATUS[CVE-2023-0459] = "fixed-version: Fixed from version 6.3rc1"
 
-CVE_STATUS[CVE-2023-0461] = "fixed-version: Fixed after version 6.2rc3"
+CVE_STATUS[CVE-2023-0461] = "fixed-version: Fixed from version 6.2rc3"
 
-CVE_STATUS[CVE-2023-0468] = "fixed-version: Fixed after version 6.1rc7"
+CVE_STATUS[CVE-2023-0468] = "fixed-version: Fixed from version 6.1rc7"
 
-CVE_STATUS[CVE-2023-0469] = "fixed-version: Fixed after version 6.1rc7"
+CVE_STATUS[CVE-2023-0469] = "fixed-version: Fixed from version 6.1rc7"
 
-CVE_STATUS[CVE-2023-0590] = "fixed-version: Fixed after version 6.1rc2"
+CVE_STATUS[CVE-2023-0590] = "fixed-version: Fixed from version 6.1rc2"
 
-CVE_STATUS[CVE-2023-0597] = "fixed-version: Fixed after version 6.2rc1"
+CVE_STATUS[CVE-2023-0597] = "fixed-version: Fixed from version 6.2rc1"
 
-CVE_STATUS[CVE-2023-0615] = "fixed-version: Fixed after version 6.1rc3"
+CVE_STATUS[CVE-2023-0615] = "fixed-version: Fixed from version 6.1rc3"
 
-CVE_STATUS[CVE-2023-1032] = "fixed-version: Fixed after version 6.3rc2"
+CVE_STATUS[CVE-2023-1032] = "fixed-version: Fixed from version 6.3rc2"
 
-CVE_STATUS[CVE-2023-1073] = "fixed-version: Fixed after version 6.2rc5"
+CVE_STATUS[CVE-2023-1073] = "fixed-version: Fixed from version 6.2rc5"
 
-CVE_STATUS[CVE-2023-1074] = "fixed-version: Fixed after version 6.2rc6"
+CVE_STATUS[CVE-2023-1074] = "fixed-version: Fixed from version 6.2rc6"
 
-CVE_STATUS[CVE-2023-1075] = "fixed-version: Fixed after version 6.2rc7"
+CVE_STATUS[CVE-2023-1075] = "fixed-version: Fixed from version 6.2rc7"
 
-CVE_STATUS[CVE-2023-1076] = "fixed-version: Fixed after version 6.3rc1"
+CVE_STATUS[CVE-2023-1076] = "fixed-version: Fixed from version 6.3rc1"
 
-CVE_STATUS[CVE-2023-1077] = "fixed-version: Fixed after version 6.3rc1"
+CVE_STATUS[CVE-2023-1077] = "fixed-version: Fixed from version 6.3rc1"
 
-CVE_STATUS[CVE-2023-1078] = "fixed-version: Fixed after version 6.2rc8"
+CVE_STATUS[CVE-2023-1078] = "fixed-version: Fixed from version 6.2rc8"
 
-CVE_STATUS[CVE-2023-1079] = "fixed-version: Fixed after version 6.3rc1"
+CVE_STATUS[CVE-2023-1079] = "fixed-version: Fixed from version 6.3rc1"
 
-CVE_STATUS[CVE-2023-1095] = "fixed-version: Fixed after version 6.0rc1"
+CVE_STATUS[CVE-2023-1095] = "fixed-version: Fixed from version 6.0rc1"
 
-CVE_STATUS[CVE-2023-1118] = "fixed-version: Fixed after version 6.3rc1"
+CVE_STATUS[CVE-2023-1118] = "fixed-version: Fixed from version 6.3rc1"
 
-CVE_STATUS[CVE-2023-1192] = "fixed-version: Fixed after version 6.4rc1"
+CVE_STATUS[CVE-2023-1192] = "fixed-version: Fixed from version 6.4rc1"
 
 # CVE-2023-1193 has no known resolution
 
 # CVE-2023-1194 has no known resolution
 
-CVE_STATUS[CVE-2023-1195] = "fixed-version: Fixed after version 6.1rc3"
+CVE_STATUS[CVE-2023-1195] = "fixed-version: Fixed from version 6.1rc3"
 
-# CVE-2023-1206 has no known resolution
+CVE_STATUS[CVE-2023-1206] = "cpe-stable-backport: Backported in 6.4.8"
 
-CVE_STATUS[CVE-2023-1249] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2023-1249] = "fixed-version: Fixed from version 5.18rc1"
 
-CVE_STATUS[CVE-2023-1252] = "fixed-version: Fixed after version 5.16rc1"
+CVE_STATUS[CVE-2023-1252] = "fixed-version: Fixed from version 5.16rc1"
 
-CVE_STATUS[CVE-2023-1281] = "fixed-version: Fixed after version 6.2"
+CVE_STATUS[CVE-2023-1281] = "fixed-version: Fixed from version 6.2"
 
-CVE_STATUS[CVE-2023-1295] = "fixed-version: Fixed after version 5.12rc1"
+CVE_STATUS[CVE-2023-1295] = "fixed-version: Fixed from version 5.12rc1"
 
-CVE_STATUS[CVE-2023-1380] = "fixed-version: Fixed after version 6.4rc1"
+CVE_STATUS[CVE-2023-1380] = "fixed-version: Fixed from version 6.4rc1"
 
-CVE_STATUS[CVE-2023-1382] = "fixed-version: Fixed after version 6.1rc7"
+CVE_STATUS[CVE-2023-1382] = "fixed-version: Fixed from version 6.1rc7"
 
-CVE_STATUS[CVE-2023-1390] = "fixed-version: Fixed after version 5.11rc4"
+CVE_STATUS[CVE-2023-1390] = "fixed-version: Fixed from version 5.11rc4"
 
-CVE_STATUS[CVE-2023-1513] = "fixed-version: Fixed after version 6.2"
+CVE_STATUS[CVE-2023-1513] = "fixed-version: Fixed from version 6.2"
 
-CVE_STATUS[CVE-2023-1582] = "fixed-version: Fixed after version 5.17rc4"
+CVE_STATUS[CVE-2023-1582] = "fixed-version: Fixed from version 5.17rc4"
 
-CVE_STATUS[CVE-2023-1583] = "fixed-version: Fixed after version 6.3rc4"
+CVE_STATUS[CVE-2023-1583] = "fixed-version: Fixed from version 6.3rc4"
 
-CVE_STATUS[CVE-2023-1611] = "fixed-version: Fixed after version 6.3rc5"
+CVE_STATUS[CVE-2023-1611] = "fixed-version: Fixed from version 6.3rc5"
 
-CVE_STATUS[CVE-2023-1637] = "fixed-version: Fixed after version 5.18rc2"
+CVE_STATUS[CVE-2023-1637] = "fixed-version: Fixed from version 5.18rc2"
 
-CVE_STATUS[CVE-2023-1652] = "fixed-version: Fixed after version 6.2rc5"
+CVE_STATUS[CVE-2023-1652] = "fixed-version: Fixed from version 6.2rc5"
 
-CVE_STATUS[CVE-2023-1670] = "fixed-version: Fixed after version 6.3rc4"
+CVE_STATUS[CVE-2023-1670] = "fixed-version: Fixed from version 6.3rc4"
 
-CVE_STATUS[CVE-2023-1829] = "fixed-version: Fixed after version 6.3rc1"
+CVE_STATUS[CVE-2023-1829] = "fixed-version: Fixed from version 6.3rc1"
 
-CVE_STATUS[CVE-2023-1838] = "fixed-version: Fixed after version 5.18"
+CVE_STATUS[CVE-2023-1838] = "fixed-version: Fixed from version 5.18"
 
-CVE_STATUS[CVE-2023-1855] = "fixed-version: Fixed after version 6.3rc3"
+CVE_STATUS[CVE-2023-1855] = "fixed-version: Fixed from version 6.3rc3"
 
-CVE_STATUS[CVE-2023-1859] = "fixed-version: Fixed after version 6.3rc7"
+CVE_STATUS[CVE-2023-1859] = "fixed-version: Fixed from version 6.3rc7"
 
-CVE_STATUS[CVE-2023-1872] = "fixed-version: Fixed after version 5.18rc2"
+CVE_STATUS[CVE-2023-1872] = "fixed-version: Fixed from version 5.18rc2"
 
-CVE_STATUS[CVE-2023-1989] = "fixed-version: Fixed after version 6.3rc4"
+CVE_STATUS[CVE-2023-1989] = "fixed-version: Fixed from version 6.3rc4"
 
-CVE_STATUS[CVE-2023-1990] = "fixed-version: Fixed after version 6.3rc3"
+CVE_STATUS[CVE-2023-1990] = "fixed-version: Fixed from version 6.3rc3"
 
-CVE_STATUS[CVE-2023-1998] = "fixed-version: Fixed after version 6.3rc1"
+CVE_STATUS[CVE-2023-1998] = "fixed-version: Fixed from version 6.3rc1"
 
-CVE_STATUS[CVE-2023-2002] = "fixed-version: Fixed after version 6.4rc1"
+CVE_STATUS[CVE-2023-2002] = "fixed-version: Fixed from version 6.4rc1"
 
-CVE_STATUS[CVE-2023-2006] = "fixed-version: Fixed after version 6.1rc7"
+CVE_STATUS[CVE-2023-2006] = "fixed-version: Fixed from version 6.1rc7"
 
-CVE_STATUS[CVE-2023-2007] = "fixed-version: Fixed after version 6.0rc1"
+CVE_STATUS[CVE-2023-2007] = "fixed-version: Fixed from version 6.0rc1"
 
-CVE_STATUS[CVE-2023-2008] = "fixed-version: Fixed after version 5.19rc4"
+CVE_STATUS[CVE-2023-2008] = "fixed-version: Fixed from version 5.19rc4"
 
-CVE_STATUS[CVE-2023-2019] = "fixed-version: Fixed after version 6.0rc1"
+CVE_STATUS[CVE-2023-2019] = "fixed-version: Fixed from version 6.0rc1"
 
-# CVE-2023-20593 has no known resolution
+CVE_STATUS[CVE-2023-20569] = "cpe-stable-backport: Backported in 6.4.9"
 
-CVE_STATUS[CVE-2023-20928] = "fixed-version: Fixed after version 6.0rc1"
+CVE_STATUS[CVE-2023-20588] = "cpe-stable-backport: Backported in 6.4.10"
+
+CVE_STATUS[CVE-2023-20593] = "cpe-stable-backport: Backported in 6.4.6"
+
+CVE_STATUS[CVE-2023-20928] = "fixed-version: Fixed from version 6.0rc1"
 
 # CVE-2023-20937 has no known resolution
 
-CVE_STATUS[CVE-2023-20938] = "fixed-version: Fixed after version 5.18rc5"
+CVE_STATUS[CVE-2023-20938] = "fixed-version: Fixed from version 5.18rc5"
 
 # CVE-2023-20941 has no known resolution
 
-CVE_STATUS[CVE-2023-21102] = "fixed-version: Fixed after version 6.2rc4"
+CVE_STATUS[CVE-2023-21102] = "fixed-version: Fixed from version 6.2rc4"
 
-CVE_STATUS[CVE-2023-21106] = "fixed-version: Fixed after version 6.2rc5"
+CVE_STATUS[CVE-2023-21106] = "fixed-version: Fixed from version 6.2rc5"
 
-CVE_STATUS[CVE-2023-2124] = "fixed-version: Fixed after version 6.4rc1"
+CVE_STATUS[CVE-2023-2124] = "fixed-version: Fixed from version 6.4rc1"
 
-CVE_STATUS[CVE-2023-21255] = "fixed-version: Fixed after version 6.4rc4"
+CVE_STATUS[CVE-2023-21255] = "fixed-version: Fixed from version 6.4rc4"
 
-CVE_STATUS[CVE-2023-2156] = "fixed-version: Fixed after version 6.3"
+CVE_STATUS[CVE-2023-21264] = "fixed-version: Fixed from version 6.4rc5"
 
-CVE_STATUS[CVE-2023-2162] = "fixed-version: Fixed after version 6.2rc6"
+# CVE-2023-21400 has no known resolution
 
-CVE_STATUS[CVE-2023-2163] = "fixed-version: Fixed after version 6.3"
+CVE_STATUS[CVE-2023-2156] = "fixed-version: Fixed from version 6.3"
 
-CVE_STATUS[CVE-2023-2166] = "fixed-version: Fixed after version 6.1"
+CVE_STATUS[CVE-2023-2162] = "fixed-version: Fixed from version 6.2rc6"
 
-CVE_STATUS[CVE-2023-2176] = "fixed-version: Fixed after version 6.3rc1"
+CVE_STATUS[CVE-2023-2163] = "fixed-version: Fixed from version 6.3"
 
-CVE_STATUS[CVE-2023-2177] = "fixed-version: Fixed after version 5.19"
+CVE_STATUS[CVE-2023-2166] = "fixed-version: Fixed from version 6.1"
 
-CVE_STATUS[CVE-2023-2194] = "fixed-version: Fixed after version 6.3rc4"
+CVE_STATUS[CVE-2023-2176] = "fixed-version: Fixed from version 6.3rc1"
 
-CVE_STATUS[CVE-2023-2235] = "fixed-version: Fixed after version 6.3rc3"
+CVE_STATUS[CVE-2023-2177] = "fixed-version: Fixed from version 5.19"
 
-CVE_STATUS[CVE-2023-2236] = "fixed-version: Fixed after version 6.1rc7"
+CVE_STATUS[CVE-2023-2194] = "fixed-version: Fixed from version 6.3rc4"
 
-CVE_STATUS[CVE-2023-2248] = "fixed-version: Fixed after version 6.3"
+CVE_STATUS[CVE-2023-2235] = "fixed-version: Fixed from version 6.3rc3"
 
-CVE_STATUS[CVE-2023-2269] = "fixed-version: Fixed after version 6.4rc1"
+CVE_STATUS[CVE-2023-2236] = "fixed-version: Fixed from version 6.1rc7"
 
-CVE_STATUS[CVE-2023-22995] = "fixed-version: Fixed after version 5.17rc1"
+CVE_STATUS[CVE-2023-2248] = "fixed-version: Fixed from version 6.3"
 
-CVE_STATUS[CVE-2023-22996] = "fixed-version: Fixed after version 5.18rc1"
+CVE_STATUS[CVE-2023-2269] = "fixed-version: Fixed from version 6.4rc1"
 
-CVE_STATUS[CVE-2023-22997] = "fixed-version: Fixed after version 6.2rc1"
+CVE_STATUS[CVE-2023-22995] = "fixed-version: Fixed from version 5.17rc1"
 
-CVE_STATUS[CVE-2023-22998] = "fixed-version: Fixed after version 6.0rc1"
+CVE_STATUS[CVE-2023-22996] = "fixed-version: Fixed from version 5.18rc1"
 
-CVE_STATUS[CVE-2023-22999] = "fixed-version: Fixed after version 5.17rc1"
+CVE_STATUS[CVE-2023-22997] = "fixed-version: Fixed from version 6.2rc1"
 
-CVE_STATUS[CVE-2023-23000] = "fixed-version: Fixed after version 5.17rc1"
+CVE_STATUS[CVE-2023-22998] = "fixed-version: Fixed from version 6.0rc1"
 
-CVE_STATUS[CVE-2023-23001] = "fixed-version: Fixed after version 5.17rc1"
+CVE_STATUS[CVE-2023-22999] = "fixed-version: Fixed from version 5.17rc1"
 
-CVE_STATUS[CVE-2023-23002] = "fixed-version: Fixed after version 5.17rc1"
+CVE_STATUS[CVE-2023-23000] = "fixed-version: Fixed from version 5.17rc1"
 
-CVE_STATUS[CVE-2023-23003] = "fixed-version: Fixed after version 5.16rc6"
+CVE_STATUS[CVE-2023-23001] = "fixed-version: Fixed from version 5.17rc1"
 
-CVE_STATUS[CVE-2023-23004] = "fixed-version: Fixed after version 5.19rc1"
+CVE_STATUS[CVE-2023-23002] = "fixed-version: Fixed from version 5.17rc1"
 
-CVE_STATUS[CVE-2023-23005] = "fixed-version: Fixed after version 6.2rc1"
+CVE_STATUS[CVE-2023-23003] = "fixed-version: Fixed from version 5.16rc6"
 
-CVE_STATUS[CVE-2023-23006] = "fixed-version: Fixed after version 5.16rc8"
+CVE_STATUS[CVE-2023-23004] = "fixed-version: Fixed from version 5.19rc1"
+
+CVE_STATUS[CVE-2023-23005] = "fixed-version: Fixed from version 6.2rc1"
+
+CVE_STATUS[CVE-2023-23006] = "fixed-version: Fixed from version 5.16rc8"
 
 # CVE-2023-23039 has no known resolution
 
-CVE_STATUS[CVE-2023-23454] = "fixed-version: Fixed after version 6.2rc3"
+CVE_STATUS[CVE-2023-23454] = "fixed-version: Fixed from version 6.2rc3"
 
-CVE_STATUS[CVE-2023-23455] = "fixed-version: Fixed after version 6.2rc3"
+CVE_STATUS[CVE-2023-23455] = "fixed-version: Fixed from version 6.2rc3"
 
-CVE_STATUS[CVE-2023-23559] = "fixed-version: Fixed after version 6.2rc5"
+CVE_STATUS[CVE-2023-23559] = "fixed-version: Fixed from version 6.2rc5"
 
-CVE_STATUS[CVE-2023-23586] = "fixed-version: Fixed after version 5.12rc1"
+CVE_STATUS[CVE-2023-23586] = "fixed-version: Fixed from version 5.12rc1"
 
-CVE_STATUS[CVE-2023-2430] = "fixed-version: Fixed after version 6.2rc5"
+CVE_STATUS[CVE-2023-2430] = "fixed-version: Fixed from version 6.2rc5"
 
-CVE_STATUS[CVE-2023-2483] = "fixed-version: Fixed after version 6.3rc4"
+CVE_STATUS[CVE-2023-2483] = "fixed-version: Fixed from version 6.3rc4"
 
-CVE_STATUS[CVE-2023-25012] = "fixed-version: Fixed after version 6.3rc1"
+CVE_STATUS[CVE-2023-25012] = "fixed-version: Fixed from version 6.3rc1"
 
-CVE_STATUS[CVE-2023-2513] = "fixed-version: Fixed after version 6.0rc1"
+CVE_STATUS[CVE-2023-2513] = "fixed-version: Fixed from version 6.0rc1"
 
-CVE_STATUS[CVE-2023-2598] = "fixed-version: Fixed after version 6.4rc1"
+CVE_STATUS[CVE-2023-2598] = "fixed-version: Fixed from version 6.4rc1"
 
 # CVE-2023-26242 has no known resolution
 
-CVE_STATUS[CVE-2023-26544] = "fixed-version: Fixed after version 6.2rc1"
+# CVE-2023-2640 has no known resolution
 
-CVE_STATUS[CVE-2023-26545] = "fixed-version: Fixed after version 6.2"
+CVE_STATUS[CVE-2023-26544] = "fixed-version: Fixed from version 6.2rc1"
 
-CVE_STATUS[CVE-2023-26605] = "fixed-version: Fixed after version 6.1rc7"
+CVE_STATUS[CVE-2023-26545] = "fixed-version: Fixed from version 6.2"
 
-CVE_STATUS[CVE-2023-26606] = "fixed-version: Fixed after version 6.2rc1"
+CVE_STATUS[CVE-2023-26605] = "fixed-version: Fixed from version 6.1rc7"
 
-CVE_STATUS[CVE-2023-26607] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2023-26606] = "fixed-version: Fixed from version 6.2rc1"
 
-CVE_STATUS[CVE-2023-28327] = "fixed-version: Fixed after version 6.1"
+CVE_STATUS[CVE-2023-26607] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2023-28328] = "fixed-version: Fixed after version 6.2rc1"
+CVE_STATUS[CVE-2023-28327] = "fixed-version: Fixed from version 6.1"
 
-CVE_STATUS[CVE-2023-28410] = "fixed-version: Fixed after version 5.19rc1"
+CVE_STATUS[CVE-2023-28328] = "fixed-version: Fixed from version 6.2rc1"
 
-CVE_STATUS[CVE-2023-28464] = "fixed-version: Fixed after version 6.3rc7"
+CVE_STATUS[CVE-2023-28410] = "fixed-version: Fixed from version 5.19rc1"
 
-CVE_STATUS[CVE-2023-28466] = "fixed-version: Fixed after version 6.3rc2"
+CVE_STATUS[CVE-2023-28464] = "fixed-version: Fixed from version 6.3rc7"
 
-CVE_STATUS[CVE-2023-2860] = "fixed-version: Fixed after version 6.0rc5"
+CVE_STATUS[CVE-2023-28466] = "fixed-version: Fixed from version 6.3rc2"
 
-CVE_STATUS[CVE-2023-28772] = "fixed-version: Fixed after version 5.14rc1"
+CVE_STATUS[CVE-2023-2860] = "fixed-version: Fixed from version 6.0rc5"
 
-CVE_STATUS[CVE-2023-28866] = "fixed-version: Fixed after version 6.3rc4"
+CVE_STATUS[CVE-2023-28772] = "fixed-version: Fixed from version 5.14rc1"
+
+CVE_STATUS[CVE-2023-28866] = "fixed-version: Fixed from version 6.3rc4"
 
 CVE_STATUS[CVE-2023-2898] = "cpe-stable-backport: Backported in 6.4.4"
 
-CVE_STATUS[CVE-2023-2985] = "fixed-version: Fixed after version 6.3rc1"
+CVE_STATUS[CVE-2023-2985] = "fixed-version: Fixed from version 6.3rc1"
 
-CVE_STATUS[CVE-2023-3006] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2023-3006] = "fixed-version: Fixed from version 6.1rc1"
 
 # Skipping CVE-2023-3022, no affected_versions
 
-CVE_STATUS[CVE-2023-30456] = "fixed-version: Fixed after version 6.3rc3"
+CVE_STATUS[CVE-2023-30456] = "fixed-version: Fixed from version 6.3rc3"
 
-CVE_STATUS[CVE-2023-30772] = "fixed-version: Fixed after version 6.3rc4"
+CVE_STATUS[CVE-2023-30772] = "fixed-version: Fixed from version 6.3rc4"
 
-CVE_STATUS[CVE-2023-3090] = "fixed-version: Fixed after version 6.4rc2"
+CVE_STATUS[CVE-2023-3090] = "fixed-version: Fixed from version 6.4rc2"
 
-CVE_STATUS[CVE-2023-3106] = "fixed-version: Fixed after version 4.8rc7"
+CVE_STATUS[CVE-2023-3106] = "fixed-version: Fixed from version 4.8rc7"
 
 # Skipping CVE-2023-3108, no affected_versions
 
@@ -4827,109 +4850,113 @@
 
 # CVE-2023-31083 has no known resolution
 
-CVE_STATUS[CVE-2023-31084] = "fixed-version: Fixed after version 6.4rc3"
+CVE_STATUS[CVE-2023-31084] = "fixed-version: Fixed from version 6.4rc3"
 
 # CVE-2023-31085 has no known resolution
 
-CVE_STATUS[CVE-2023-3111] = "fixed-version: Fixed after version 6.0rc2"
+CVE_STATUS[CVE-2023-3111] = "fixed-version: Fixed from version 6.0rc2"
 
-CVE_STATUS[CVE-2023-3117] = "fixed-version: Fixed after version 6.4rc7"
+CVE_STATUS[CVE-2023-3117] = "fixed-version: Fixed from version 6.4rc7"
 
 CVE_STATUS[CVE-2023-31248] = "cpe-stable-backport: Backported in 6.4.4"
 
-CVE_STATUS[CVE-2023-3141] = "fixed-version: Fixed after version 6.4rc1"
+CVE_STATUS[CVE-2023-3141] = "fixed-version: Fixed from version 6.4rc1"
 
-CVE_STATUS[CVE-2023-31436] = "fixed-version: Fixed after version 6.3"
+CVE_STATUS[CVE-2023-31436] = "fixed-version: Fixed from version 6.3"
 
-CVE_STATUS[CVE-2023-3159] = "fixed-version: Fixed after version 5.18rc6"
+CVE_STATUS[CVE-2023-3159] = "fixed-version: Fixed from version 5.18rc6"
 
-CVE_STATUS[CVE-2023-3161] = "fixed-version: Fixed after version 6.2rc7"
+CVE_STATUS[CVE-2023-3161] = "fixed-version: Fixed from version 6.2rc7"
 
-CVE_STATUS[CVE-2023-3212] = "fixed-version: Fixed after version 6.4rc2"
+CVE_STATUS[CVE-2023-3212] = "fixed-version: Fixed from version 6.4rc2"
 
-CVE_STATUS[CVE-2023-3220] = "fixed-version: Fixed after version 6.3rc1"
+CVE_STATUS[CVE-2023-3220] = "fixed-version: Fixed from version 6.3rc1"
 
-CVE_STATUS[CVE-2023-32233] = "fixed-version: Fixed after version 6.4rc1"
+CVE_STATUS[CVE-2023-32233] = "fixed-version: Fixed from version 6.4rc1"
 
-CVE_STATUS[CVE-2023-32247] = "fixed-version: Fixed after version 6.4rc1"
+CVE_STATUS[CVE-2023-32247] = "fixed-version: Fixed from version 6.4rc1"
 
-CVE_STATUS[CVE-2023-32248] = "fixed-version: Fixed after version 6.4rc1"
+CVE_STATUS[CVE-2023-32248] = "fixed-version: Fixed from version 6.4rc1"
 
-CVE_STATUS[CVE-2023-32250] = "fixed-version: Fixed after version 6.4rc1"
+CVE_STATUS[CVE-2023-32250] = "fixed-version: Fixed from version 6.4rc1"
 
-CVE_STATUS[CVE-2023-32252] = "fixed-version: Fixed after version 6.4rc1"
+CVE_STATUS[CVE-2023-32252] = "fixed-version: Fixed from version 6.4rc1"
 
-CVE_STATUS[CVE-2023-32254] = "fixed-version: Fixed after version 6.4rc1"
+CVE_STATUS[CVE-2023-32254] = "fixed-version: Fixed from version 6.4rc1"
 
-CVE_STATUS[CVE-2023-32257] = "fixed-version: Fixed after version 6.4rc1"
+CVE_STATUS[CVE-2023-32257] = "fixed-version: Fixed from version 6.4rc1"
 
-CVE_STATUS[CVE-2023-32258] = "fixed-version: Fixed after version 6.4rc1"
+CVE_STATUS[CVE-2023-32258] = "fixed-version: Fixed from version 6.4rc1"
 
-CVE_STATUS[CVE-2023-32269] = "fixed-version: Fixed after version 6.2rc7"
+CVE_STATUS[CVE-2023-32269] = "fixed-version: Fixed from version 6.2rc7"
 
-CVE_STATUS[CVE-2023-3268] = "fixed-version: Fixed after version 6.4rc1"
+# CVE-2023-32629 has no known resolution
+
+CVE_STATUS[CVE-2023-3268] = "fixed-version: Fixed from version 6.4rc1"
 
 CVE_STATUS[CVE-2023-3269] = "cpe-stable-backport: Backported in 6.4.1"
 
-CVE_STATUS[CVE-2023-3312] = "fixed-version: Fixed after version 6.4rc1"
+CVE_STATUS[CVE-2023-3312] = "fixed-version: Fixed from version 6.4rc1"
 
-CVE_STATUS[CVE-2023-3317] = "fixed-version: Fixed after version 6.3rc6"
+CVE_STATUS[CVE-2023-3317] = "fixed-version: Fixed from version 6.3rc6"
 
-CVE_STATUS[CVE-2023-33203] = "fixed-version: Fixed after version 6.3rc4"
+CVE_STATUS[CVE-2023-33203] = "fixed-version: Fixed from version 6.3rc4"
 
-# CVE-2023-33250 has no known resolution
+CVE_STATUS[CVE-2023-33250] = "cpe-stable-backport: Backported in 6.4.4"
 
-CVE_STATUS[CVE-2023-33288] = "fixed-version: Fixed after version 6.3rc4"
+CVE_STATUS[CVE-2023-33288] = "fixed-version: Fixed from version 6.3rc4"
 
-CVE_STATUS[CVE-2023-3338] = "fixed-version: Fixed after version 6.1rc1"
+CVE_STATUS[CVE-2023-3338] = "fixed-version: Fixed from version 6.1rc1"
 
-CVE_STATUS[CVE-2023-3355] = "fixed-version: Fixed after version 6.3rc1"
+CVE_STATUS[CVE-2023-3355] = "fixed-version: Fixed from version 6.3rc1"
 
-CVE_STATUS[CVE-2023-3357] = "fixed-version: Fixed after version 6.2rc1"
+CVE_STATUS[CVE-2023-3357] = "fixed-version: Fixed from version 6.2rc1"
 
-CVE_STATUS[CVE-2023-3358] = "fixed-version: Fixed after version 6.2rc5"
+CVE_STATUS[CVE-2023-3358] = "fixed-version: Fixed from version 6.2rc5"
 
-CVE_STATUS[CVE-2023-3359] = "fixed-version: Fixed after version 6.2rc7"
+CVE_STATUS[CVE-2023-3359] = "fixed-version: Fixed from version 6.2rc7"
 
-CVE_STATUS[CVE-2023-3389] = "fixed-version: Fixed after version 6.0rc1"
+CVE_STATUS[CVE-2023-3389] = "fixed-version: Fixed from version 6.0rc1"
 
-CVE_STATUS[CVE-2023-3390] = "fixed-version: Fixed after version 6.4rc7"
+CVE_STATUS[CVE-2023-3390] = "fixed-version: Fixed from version 6.4rc7"
 
-CVE_STATUS[CVE-2023-33951] = "fixed-version: Fixed after version 6.4rc1"
+CVE_STATUS[CVE-2023-33951] = "fixed-version: Fixed from version 6.4rc1"
 
-CVE_STATUS[CVE-2023-33952] = "fixed-version: Fixed after version 6.4rc1"
+CVE_STATUS[CVE-2023-33952] = "fixed-version: Fixed from version 6.4rc1"
 
 # CVE-2023-3397 has no known resolution
 
-CVE_STATUS[CVE-2023-34255] = "fixed-version: Fixed after version 6.4rc1"
+CVE_STATUS[CVE-2023-34255] = "fixed-version: Fixed from version 6.4rc1"
 
-CVE_STATUS[CVE-2023-34256] = "fixed-version: Fixed after version 6.4rc2"
+CVE_STATUS[CVE-2023-34256] = "fixed-version: Fixed from version 6.4rc2"
 
-CVE_STATUS[CVE-2023-3439] = "fixed-version: Fixed after version 5.18rc5"
+CVE_STATUS[CVE-2023-34319] = "cpe-stable-backport: Backported in 6.4.9"
+
+CVE_STATUS[CVE-2023-3439] = "fixed-version: Fixed from version 5.18rc5"
 
 CVE_STATUS[CVE-2023-35001] = "cpe-stable-backport: Backported in 6.4.4"
 
-CVE_STATUS[CVE-2023-3567] = "fixed-version: Fixed after version 6.2rc7"
+CVE_STATUS[CVE-2023-3567] = "fixed-version: Fixed from version 6.2rc7"
 
 # CVE-2023-35693 has no known resolution
 
-CVE_STATUS[CVE-2023-35788] = "fixed-version: Fixed after version 6.4rc5"
+CVE_STATUS[CVE-2023-35788] = "fixed-version: Fixed from version 6.4rc5"
 
-CVE_STATUS[CVE-2023-35823] = "fixed-version: Fixed after version 6.4rc1"
+CVE_STATUS[CVE-2023-35823] = "fixed-version: Fixed from version 6.4rc1"
 
-CVE_STATUS[CVE-2023-35824] = "fixed-version: Fixed after version 6.4rc1"
+CVE_STATUS[CVE-2023-35824] = "fixed-version: Fixed from version 6.4rc1"
 
-CVE_STATUS[CVE-2023-35826] = "fixed-version: Fixed after version 6.4rc1"
+CVE_STATUS[CVE-2023-35826] = "fixed-version: Fixed from version 6.4rc1"
 
 # CVE-2023-35827 has no known resolution
 
-CVE_STATUS[CVE-2023-35828] = "fixed-version: Fixed after version 6.4rc1"
+CVE_STATUS[CVE-2023-35828] = "fixed-version: Fixed from version 6.4rc1"
 
-CVE_STATUS[CVE-2023-35829] = "fixed-version: Fixed after version 6.4rc1"
+CVE_STATUS[CVE-2023-35829] = "fixed-version: Fixed from version 6.4rc1"
 
-CVE_STATUS[CVE-2023-3609] = "fixed-version: Fixed after version 6.4rc7"
+CVE_STATUS[CVE-2023-3609] = "fixed-version: Fixed from version 6.4rc7"
 
-CVE_STATUS[CVE-2023-3610] = "fixed-version: Fixed after version 6.4"
+CVE_STATUS[CVE-2023-3610] = "fixed-version: Fixed from version 6.4"
 
 CVE_STATUS[CVE-2023-3611] = "cpe-stable-backport: Backported in 6.4.5"
 
@@ -4939,29 +4966,61 @@
 
 # CVE-2023-37454 has no known resolution
 
-# CVE-2023-3772 has no known resolution
+CVE_STATUS[CVE-2023-3772] = "cpe-stable-backport: Backported in 6.4.12"
 
-# CVE-2023-3773 has no known resolution
+CVE_STATUS[CVE-2023-3773] = "cpe-stable-backport: Backported in 6.4.12"
 
 CVE_STATUS[CVE-2023-3776] = "cpe-stable-backport: Backported in 6.4.5"
 
-CVE_STATUS[CVE-2023-3812] = "fixed-version: Fixed after version 6.1rc4"
+CVE_STATUS[CVE-2023-3812] = "fixed-version: Fixed from version 6.1rc4"
 
-CVE_STATUS[CVE-2023-38409] = "fixed-version: Fixed after version 6.3rc7"
+CVE_STATUS[CVE-2023-38409] = "fixed-version: Fixed from version 6.3rc7"
 
-CVE_STATUS[CVE-2023-38426] = "fixed-version: Fixed after version 6.4rc3"
+CVE_STATUS[CVE-2023-38426] = "fixed-version: Fixed from version 6.4rc3"
 
-CVE_STATUS[CVE-2023-38427] = "fixed-version: Fixed after version 6.4rc6"
+CVE_STATUS[CVE-2023-38427] = "fixed-version: Fixed from version 6.4rc6"
 
-CVE_STATUS[CVE-2023-38428] = "fixed-version: Fixed after version 6.4rc3"
+CVE_STATUS[CVE-2023-38428] = "fixed-version: Fixed from version 6.4rc3"
 
-CVE_STATUS[CVE-2023-38429] = "fixed-version: Fixed after version 6.4rc3"
+CVE_STATUS[CVE-2023-38429] = "fixed-version: Fixed from version 6.4rc3"
 
-CVE_STATUS[CVE-2023-38430] = "fixed-version: Fixed after version 6.4rc6"
+CVE_STATUS[CVE-2023-38430] = "fixed-version: Fixed from version 6.4rc6"
 
-CVE_STATUS[CVE-2023-38431] = "fixed-version: Fixed after version 6.4rc6"
+CVE_STATUS[CVE-2023-38431] = "fixed-version: Fixed from version 6.4rc6"
 
-CVE_STATUS[CVE-2023-38432] = "fixed-version: Fixed after version 6.4"
+CVE_STATUS[CVE-2023-38432] = "fixed-version: Fixed from version 6.4"
 
 CVE_STATUS[CVE-2023-3863] = "cpe-stable-backport: Backported in 6.4.4"
 
+CVE_STATUS[CVE-2023-4004] = "cpe-stable-backport: Backported in 6.4.7"
+
+# CVE-2023-4010 has no known resolution
+
+CVE_STATUS[CVE-2023-40283] = "cpe-stable-backport: Backported in 6.4.10"
+
+CVE_STATUS[CVE-2023-4128] = "cpe-stable-backport: Backported in 6.4.10"
+
+CVE_STATUS[CVE-2023-4132] = "cpe-stable-backport: Backported in 6.4.4"
+
+CVE_STATUS[CVE-2023-4133] = "fixed-version: Fixed from version 6.3"
+
+CVE_STATUS[CVE-2023-4134] = "cpe-stable-backport: Backported in 6.4.4"
+
+CVE_STATUS[CVE-2023-4147] = "cpe-stable-backport: Backported in 6.4.8"
+
+CVE_STATUS[CVE-2023-4155] = "cpe-stable-backport: Backported in 6.4.11"
+
+CVE_STATUS[CVE-2023-4194] = "cpe-stable-backport: Backported in 6.4.10"
+
+CVE_STATUS[CVE-2023-4273] = "cpe-stable-backport: Backported in 6.4.10"
+
+CVE_STATUS[CVE-2023-4385] = "fixed-version: Fixed from version 5.19rc1"
+
+CVE_STATUS[CVE-2023-4387] = "fixed-version: Fixed from version 5.18"
+
+CVE_STATUS[CVE-2023-4389] = "fixed-version: Fixed from version 5.18rc3"
+
+CVE_STATUS[CVE-2023-4394] = "fixed-version: Fixed from version 6.0rc3"
+
+CVE_STATUS[CVE-2023-4459] = "fixed-version: Fixed from version 5.18"
+
diff --git a/poky/meta/recipes-kernel/linux/generate-cve-exclusions.py b/poky/meta/recipes-kernel/linux/generate-cve-exclusions.py
index 4d96f19..aa9195a 100755
--- a/poky/meta/recipes-kernel/linux/generate-cve-exclusions.py
+++ b/poky/meta/recipes-kernel/linux/generate-cve-exclusions.py
@@ -42,9 +42,18 @@
     with open(datadir / "data" / "stream_fixes.json", "r") as f:
         stream_data = json.load(f)
 
-    print("# Auto-generated CVE metadata, DO NOT EDIT BY HAND.")
-    print(f"# Generated at {datetime.datetime.now()} for version {version}")
-    print()
+    print(f"""
+# Auto-generated CVE metadata, DO NOT EDIT BY HAND.
+# Generated at {datetime.datetime.now(datetime.timezone.utc)} for version {version}
+
+python check_kernel_cve_status_version() {{
+    this_version = "{version}"
+    kernel_version = d.getVar("LINUX_VERSION")
+    if kernel_version != this_version:
+        bb.warn("Kernel CVE status needs updating: generated for %s but kernel is %s" % (this_version, kernel_version))
+}}
+do_cve_check[prefuncs] += "check_kernel_cve_status_version"
+""")
 
     for cve, data in cve_data.items():
         if "affected_versions" not in data:
@@ -53,24 +62,24 @@
             continue
 
         affected = data["affected_versions"]
-        first_affected, last_affected = re.search(r"(.+) to (.+)", affected).groups()
+        first_affected, fixed = re.search(r"(.+) to (.+)", affected).groups()
         first_affected = parse_version(first_affected)
-        last_affected = parse_version(last_affected)
+        fixed = parse_version(fixed)
 
-        if not last_affected:
+        if not fixed:
             print(f"# {cve} has no known resolution")
         elif first_affected and version < first_affected:
             print(f'CVE_STATUS[{cve}] = "fixed-version: only affects {first_affected} onwards"')
-        elif last_affected < version:
+        elif fixed <= version:
             print(
-                f'CVE_STATUS[{cve}] = "fixed-version: Fixed after version {last_affected}"'
+                f'CVE_STATUS[{cve}] = "fixed-version: Fixed from version {fixed}"'
             )
         else:
             if cve in stream_data:
                 backport_data = stream_data[cve]
                 if base_version in backport_data:
                     backport_ver = Version(backport_data[base_version]["fixed_version"])
-                    if backport_ver < version:
+                    if backport_ver <= version:
                         print(
                             f'CVE_STATUS[{cve}] = "cpe-stable-backport: Backported in {backport_ver}"'
                         )
@@ -78,9 +87,9 @@
                         # TODO print a note that the kernel needs bumping
                         print(f"# {cve} needs backporting (fixed from {backport_ver})")
                 else:
-                    print(f"# {cve} needs backporting (fixed from {last_affected})")
+                    print(f"# {cve} needs backporting (fixed from {fixed})")
             else:
-                print(f"# {cve} needs backporting (fixed from {last_affected})")
+                print(f"# {cve} needs backporting (fixed from {fixed})")
 
         print()
 
diff --git a/poky/meta/recipes-kernel/linux/kernel-devsrc.bb b/poky/meta/recipes-kernel/linux/kernel-devsrc.bb
index 6764598..ce5777f 100644
--- a/poky/meta/recipes-kernel/linux/kernel-devsrc.bb
+++ b/poky/meta/recipes-kernel/linux/kernel-devsrc.bb
@@ -318,6 +318,15 @@
 	    cp -a --parents arch/mips/kernel/syscalls/*.tbl $kerneldir/build 2>/dev/null || :
 	    cp -a --parents arch/mips/tools/elf-entry.c $kerneldir/build 2>/dev/null || :
 	fi
+	
+	if [ "${ARCH}" = "loongarch" ]; then
+	    cp -a --parents arch/loongarch/kernel/asm-offsets.c $kerneldir/build
+	    cp -a --parents Kbuild $kerneldir/build
+	    cp -a --parents arch/loongarch/vdso/*.S $kerneldir/build 2>/dev/null || :
+	    cp -a --parents arch/loongarch/vdso/*gettimeofday.* $kerneldir/build 2>/dev/null || :
+	    cp -a --parents arch/loongarch/vdso/*getcpu.* $kerneldir/build 2>/dev/null || :
+	    cp -a --parents arch/loongarch/vdso/gen_vdso*_offsets.sh $kerneldir/build/ 2>/dev/null || :
+	fi
 
         # required to build scripts/selinux/genheaders/genheaders
         cp -a --parents security/selinux/include/* $kerneldir/build/
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb b/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb
index e695e2d..95e3592 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb
@@ -30,7 +30,7 @@
 
 LINUX_VERSION ?= "6.5"
 LINUX_VERSION_EXTENSION ?= "-yoctodev-${LINUX_KERNEL_TYPE}"
-PV = "${LINUX_VERSION}+git${SRCPV}"
+PV = "${LINUX_VERSION}+git"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
 
@@ -51,7 +51,7 @@
 
 COMPATIBLE_MACHINE = "^(qemuarmv5|qemuarm|qemuarm64|qemux86|qemuppc|qemumips|qemumips64|qemux86-64|qemuriscv32|qemuriscv64|qemuloongarch64)$"
 
-KERNEL_DEVICETREE:qemuarmv5 = "versatile-pb.dtb"
+KERNEL_DEVICETREE:qemuarmv5 = "arm/versatile-pb.dtb"
 
 # Functionality flags
 KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_6.1.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_6.1.bb
index 0645458..5a42da2 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_6.1.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_6.1.bb
@@ -14,20 +14,20 @@
         raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
 }
 
-SRCREV_machine ?= "ca3ebd29a77417d2c6cabc451496f2283d69e46d"
-SRCREV_meta ?= "9f8ee63473567964331b9465fa1aba301a9a725b"
+SRCREV_machine ?= "ad7c05a03b8d70ee30ecce783a861cb96ea258cf"
+SRCREV_meta ?= "f845a7f37d7114230d6609e2bd630070f2f6cd9b"
 
 SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine;protocol=https \
            git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.1;destsuffix=${KMETA};protocol=https"
 
-LINUX_VERSION ?= "6.1.43"
+LINUX_VERSION ?= "6.1.51"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
 
 DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
 DEPENDS += "openssl-native util-linux-native"
 
-PV = "${LINUX_VERSION}+git${SRCPV}"
+PV = "${LINUX_VERSION}+git"
 
 KMETA = "kernel-meta"
 KCONF_BSP_AUDIT_LEVEL = "1"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_6.4.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_6.4.bb
index 2f05184..aacbea4 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_6.4.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_6.4.bb
@@ -14,20 +14,20 @@
         raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it")
 }
 
-SRCREV_machine ?= "121d700ad4b877fab9238a92356ad32506ef70d5"
-SRCREV_meta ?= "88ed9ec49099d69f9546d21137191fd747d06ec4"
+SRCREV_machine ?= "06b99074bdc85095a2b3411dcade4a64a8e8f7c0"
+SRCREV_meta ?= "f12230a4c8a427af642be8196828a23f4562bc86"
 
 SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine;protocol=https \
            git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.4;destsuffix=${KMETA};protocol=https"
 
-LINUX_VERSION ?= "6.4.9"
+LINUX_VERSION ?= "6.4.14"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
 
 DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
 DEPENDS += "openssl-native util-linux-native"
 
-PV = "${LINUX_VERSION}+git${SRCPV}"
+PV = "${LINUX_VERSION}+git"
 
 KMETA = "kernel-meta"
 KCONF_BSP_AUDIT_LEVEL = "1"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_6.1.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_6.1.bb
index dfc1e5e..3fd9a0e 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_6.1.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_6.1.bb
@@ -8,7 +8,7 @@
 # CVE exclusions
 include recipes-kernel/linux/cve-exclusion_6.1.inc
 
-LINUX_VERSION ?= "6.1.43"
+LINUX_VERSION ?= "6.1.51"
 LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
 
 DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
@@ -17,10 +17,10 @@
 KMETA = "kernel-meta"
 KCONF_BSP_AUDIT_LEVEL = "2"
 
-SRCREV_machine ?= "19cd9d8c4bafb673a03b2d7c22407d7c8d192a96"
-SRCREV_meta ?= "9f8ee63473567964331b9465fa1aba301a9a725b"
+SRCREV_machine ?= "526b5bf2f74f881356bce8b44840dc86785fb7bf"
+SRCREV_meta ?= "f845a7f37d7114230d6609e2bd630070f2f6cd9b"
 
-PV = "${LINUX_VERSION}+git${SRCPV}"
+PV = "${LINUX_VERSION}+git"
 
 SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine;protocol=https \
            git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.1;destsuffix=${KMETA};protocol=https"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_6.4.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_6.4.bb
index 64dfb3a..c3a7a16 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_6.4.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_6.4.bb
@@ -8,7 +8,7 @@
 # CVE exclusions
 include recipes-kernel/linux/cve-exclusion_6.4.inc
 
-LINUX_VERSION ?= "6.4.9"
+LINUX_VERSION ?= "6.4.14"
 LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
 
 DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}"
@@ -17,10 +17,10 @@
 KMETA = "kernel-meta"
 KCONF_BSP_AUDIT_LEVEL = "2"
 
-SRCREV_machine ?= "72bad8cd7540f07ab54e08b83ad106dec0df123c"
-SRCREV_meta ?= "88ed9ec49099d69f9546d21137191fd747d06ec4"
+SRCREV_machine ?= "800df81fa2a8bacd6487a19115b3f89f34620249"
+SRCREV_meta ?= "f12230a4c8a427af642be8196828a23f4562bc86"
 
-PV = "${LINUX_VERSION}+git${SRCPV}"
+PV = "${LINUX_VERSION}+git"
 
 SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine;protocol=https \
            git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.4;destsuffix=${KMETA};protocol=https"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_6.1.bb b/poky/meta/recipes-kernel/linux/linux-yocto_6.1.bb
index 2f804d3..3798ae3 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto_6.1.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto_6.1.bb
@@ -18,25 +18,25 @@
 KBRANCH:qemuloongarch64  ?= "v6.1/standard/base"
 KBRANCH:qemumips64 ?= "v6.1/standard/mti-malta64"
 
-SRCREV_machine:qemuarm ?= "d6ed8644d9b0767f8f676987a5c4f61173b803a8"
-SRCREV_machine:qemuarm64 ?= "19cd9d8c4bafb673a03b2d7c22407d7c8d192a96"
-SRCREV_machine:qemuloongarch64 ?= "19cd9d8c4bafb673a03b2d7c22407d7c8d192a96"
-SRCREV_machine:qemumips ?= "6e0c4ce9fd26b55a23becbddd466d0100b3fc2b0"
-SRCREV_machine:qemuppc ?= "19cd9d8c4bafb673a03b2d7c22407d7c8d192a96"
-SRCREV_machine:qemuriscv64 ?= "19cd9d8c4bafb673a03b2d7c22407d7c8d192a96"
-SRCREV_machine:qemuriscv32 ?= "19cd9d8c4bafb673a03b2d7c22407d7c8d192a96"
-SRCREV_machine:qemux86 ?= "19cd9d8c4bafb673a03b2d7c22407d7c8d192a96"
-SRCREV_machine:qemux86-64 ?= "19cd9d8c4bafb673a03b2d7c22407d7c8d192a96"
-SRCREV_machine:qemumips64 ?= "98b8dbe56e119690cdc0af0661867df6c3ee39a2"
-SRCREV_machine ?= "19cd9d8c4bafb673a03b2d7c22407d7c8d192a96"
-SRCREV_meta ?= "9f8ee63473567964331b9465fa1aba301a9a725b"
+SRCREV_machine:qemuarm ?= "8c81de99a4b9f69345873b06077f9d4e1321298e"
+SRCREV_machine:qemuarm64 ?= "526b5bf2f74f881356bce8b44840dc86785fb7bf"
+SRCREV_machine:qemuloongarch64 ?= "526b5bf2f74f881356bce8b44840dc86785fb7bf"
+SRCREV_machine:qemumips ?= "733cb5842aeac106f5606df4da7c64a180f0c500"
+SRCREV_machine:qemuppc ?= "526b5bf2f74f881356bce8b44840dc86785fb7bf"
+SRCREV_machine:qemuriscv64 ?= "526b5bf2f74f881356bce8b44840dc86785fb7bf"
+SRCREV_machine:qemuriscv32 ?= "526b5bf2f74f881356bce8b44840dc86785fb7bf"
+SRCREV_machine:qemux86 ?= "526b5bf2f74f881356bce8b44840dc86785fb7bf"
+SRCREV_machine:qemux86-64 ?= "526b5bf2f74f881356bce8b44840dc86785fb7bf"
+SRCREV_machine:qemumips64 ?= "1c11fe963667e9380725bef0650aeaea8544ea8b"
+SRCREV_machine ?= "526b5bf2f74f881356bce8b44840dc86785fb7bf"
+SRCREV_meta ?= "f845a7f37d7114230d6609e2bd630070f2f6cd9b"
 
 # set your preferred provider of linux-yocto to 'linux-yocto-upstream', and you'll
 # get the <version>/base branch, which is pure upstream -stable, and the same
 # meta SRCREV as the linux-yocto-standard builds. Select your version using the
 # normal PREFERRED_VERSION settings.
 BBCLASSEXTEND = "devupstream:target"
-SRCREV_machine:class-devupstream ?= "52a953d0934b17a88f403b4135eb3cdf83d19f91"
+SRCREV_machine:class-devupstream ?= "c2cbfe5f51227dfe6ef7be013f0d56a32c040faa"
 PN:class-devupstream = "linux-yocto-upstream"
 KBRANCH:class-devupstream = "v6.1/base"
 
@@ -45,9 +45,9 @@
 SRC_URI += "file://0001-perf-cpumap-Make-counter-as-unsigned-ints.patch"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
-LINUX_VERSION ?= "6.1.43"
+LINUX_VERSION ?= "6.1.51"
 
-PV = "${LINUX_VERSION}+git${SRCPV}"
+PV = "${LINUX_VERSION}+git"
 
 KMETA = "kernel-meta"
 KCONF_BSP_AUDIT_LEVEL = "1"
diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_6.4.bb b/poky/meta/recipes-kernel/linux/linux-yocto_6.4.bb
index d0d96c4..e959b2a 100644
--- a/poky/meta/recipes-kernel/linux/linux-yocto_6.4.bb
+++ b/poky/meta/recipes-kernel/linux/linux-yocto_6.4.bb
@@ -18,25 +18,25 @@
 KBRANCH:qemuloongarch64  ?= "v6.4/standard/base"
 KBRANCH:qemumips64 ?= "v6.4/standard/mti-malta64"
 
-SRCREV_machine:qemuarm ?= "16af0b21320a78b21d5d9ded1188e398352d262a"
-SRCREV_machine:qemuarm64 ?= "72bad8cd7540f07ab54e08b83ad106dec0df123c"
-SRCREV_machine:qemuloongarch64 ?= "72bad8cd7540f07ab54e08b83ad106dec0df123c"
-SRCREV_machine:qemumips ?= "de46701cb3ac494b27ae70f1475efb855e9d817a"
-SRCREV_machine:qemuppc ?= "72bad8cd7540f07ab54e08b83ad106dec0df123c"
-SRCREV_machine:qemuriscv64 ?= "72bad8cd7540f07ab54e08b83ad106dec0df123c"
-SRCREV_machine:qemuriscv32 ?= "72bad8cd7540f07ab54e08b83ad106dec0df123c"
-SRCREV_machine:qemux86 ?= "72bad8cd7540f07ab54e08b83ad106dec0df123c"
-SRCREV_machine:qemux86-64 ?= "72bad8cd7540f07ab54e08b83ad106dec0df123c"
-SRCREV_machine:qemumips64 ?= "47d7881e76d678cc9dc034f0acdd1bc416fa05bb"
-SRCREV_machine ?= "72bad8cd7540f07ab54e08b83ad106dec0df123c"
-SRCREV_meta ?= "88ed9ec49099d69f9546d21137191fd747d06ec4"
+SRCREV_machine:qemuarm ?= "0194f88dc4ac51536f9bb2bf751d256bc5fe5d69"
+SRCREV_machine:qemuarm64 ?= "800df81fa2a8bacd6487a19115b3f89f34620249"
+SRCREV_machine:qemuloongarch64 ?= "800df81fa2a8bacd6487a19115b3f89f34620249"
+SRCREV_machine:qemumips ?= "179200623f949dde2afeca75943700a2cd0684ab"
+SRCREV_machine:qemuppc ?= "800df81fa2a8bacd6487a19115b3f89f34620249"
+SRCREV_machine:qemuriscv64 ?= "800df81fa2a8bacd6487a19115b3f89f34620249"
+SRCREV_machine:qemuriscv32 ?= "800df81fa2a8bacd6487a19115b3f89f34620249"
+SRCREV_machine:qemux86 ?= "800df81fa2a8bacd6487a19115b3f89f34620249"
+SRCREV_machine:qemux86-64 ?= "800df81fa2a8bacd6487a19115b3f89f34620249"
+SRCREV_machine:qemumips64 ?= "4ce1ab0a4fce437802b0f7305289b036ffb4ccae"
+SRCREV_machine ?= "800df81fa2a8bacd6487a19115b3f89f34620249"
+SRCREV_meta ?= "f12230a4c8a427af642be8196828a23f4562bc86"
 
 # set your preferred provider of linux-yocto to 'linux-yocto-upstream', and you'll
 # get the <version>/base branch, which is pure upstream -stable, and the same
 # meta SRCREV as the linux-yocto-standard builds. Select your version using the
 # normal PREFERRED_VERSION settings.
 BBCLASSEXTEND = "devupstream:target"
-SRCREV_machine:class-devupstream ?= "38ca69782268c8e9578ba2f1fccf931f643eb8da"
+SRCREV_machine:class-devupstream ?= "babc8be398c3a0701e52582f93bfba946e9e5f8e"
 PN:class-devupstream = "linux-yocto-upstream"
 KBRANCH:class-devupstream = "v6.4/base"
 
@@ -44,9 +44,9 @@
            git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.4;destsuffix=${KMETA};protocol=https"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
-LINUX_VERSION ?= "6.4.9"
+LINUX_VERSION ?= "6.4.14"
 
-PV = "${LINUX_VERSION}+git${SRCPV}"
+PV = "${LINUX_VERSION}+git"
 
 KMETA = "kernel-meta"
 KCONF_BSP_AUDIT_LEVEL = "1"
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-mm-introduce-vma-vm_flags-wrapper-functions-v6.3.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-mm-introduce-vma-vm_flags-wrapper-functions-v6.3.patch
deleted file mode 100644
index 976eecc..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-mm-introduce-vma-vm_flags-wrapper-functions-v6.3.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-From 939200ef160c95c8a9d71fd80c99f42a1de0a9f0 Mon Sep 17 00:00:00 2001
-From: Michael Jeanson <mjeanson@efficios.com>
-Date: Tue, 7 Mar 2023 11:41:14 -0500
-Subject: [PATCH 1/4] fix: mm: introduce vma->vm_flags wrapper functions (v6.3)
-
-See upstream commit :
-
-  commit bc292ab00f6c7a661a8a605c714e8a148f629ef6
-  Author: Suren Baghdasaryan <surenb@google.com>
-  Date:   Thu Jan 26 11:37:47 2023 -0800
-
-    mm: introduce vma->vm_flags wrapper functions
-
-    vm_flags are among VMA attributes which affect decisions like VMA merging
-    and splitting.  Therefore all vm_flags modifications are performed after
-    taking exclusive mmap_lock to prevent vm_flags updates racing with such
-    operations.  Introduce modifier functions for vm_flags to be used whenever
-    flags are updated.  This way we can better check and control correct
-    locking behavior during these updates.
-
-Upstream-Status: Backport
-
-Change-Id: I2cf662420d9d7748e5e310d3ea4bac98ba7d7f94
-Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
----
- include/wrapper/mm.h                  | 16 ++++++++++++++++
- src/lib/ringbuffer/ring_buffer_mmap.c |  4 +++-
- 2 files changed, 19 insertions(+), 1 deletion(-)
-
-diff --git a/include/wrapper/mm.h b/include/wrapper/mm.h
-index d3bdda66..61ac8127 100644
---- a/include/wrapper/mm.h
-+++ b/include/wrapper/mm.h
-@@ -13,6 +13,22 @@
- 
- #include <lttng/kernel-version.h>
- 
-+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,3,0))
-+static inline
-+void wrapper_vm_flags_set(struct vm_area_struct *vma,
-+		vm_flags_t flags)
-+{
-+	vm_flags_set(vma, flags);
-+}
-+#else
-+static inline
-+void wrapper_vm_flags_set(struct vm_area_struct *vma,
-+		vm_flags_t flags)
-+{
-+	vma->vm_flags |= flags;
-+}
-+#endif
-+
- #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,6,0) \
- 		|| LTTNG_UBUNTU_KERNEL_RANGE(4,4,25,44, 4,5,0,0))
- 
-diff --git a/src/lib/ringbuffer/ring_buffer_mmap.c b/src/lib/ringbuffer/ring_buffer_mmap.c
-index 25e2d8d5..d24b76a3 100644
---- a/src/lib/ringbuffer/ring_buffer_mmap.c
-+++ b/src/lib/ringbuffer/ring_buffer_mmap.c
-@@ -17,6 +17,8 @@
- #include <ringbuffer/frontend.h>
- #include <ringbuffer/vfs.h>
- 
-+#include <wrapper/mm.h>
-+
- /*
-  * fault() vm_op implementation for ring buffer file mapping.
-  */
-@@ -113,7 +115,7 @@ static int lib_ring_buffer_mmap_buf(struct lttng_kernel_ring_buffer *buf,
- 		return -EINVAL;
- 
- 	vma->vm_ops = &lib_ring_buffer_mmap_ops;
--	vma->vm_flags |= VM_DONTEXPAND;
-+	wrapper_vm_flags_set(vma, VM_DONTEXPAND);
- 	vma->vm_private_data = buf;
- 
- 	return 0;
--- 
-2.34.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0002-fix-uuid-Decouple-guid_t-and-uuid_le-types-and-respe.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0002-fix-uuid-Decouple-guid_t-and-uuid_le-types-and-respe.patch
deleted file mode 100644
index 00aa34e..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0002-fix-uuid-Decouple-guid_t-and-uuid_le-types-and-respe.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From b3756eaa49a3de2f388bc269b2928a0233358fea Mon Sep 17 00:00:00 2001
-From: Michael Jeanson <mjeanson@efficios.com>
-Date: Tue, 7 Mar 2023 12:05:00 -0500
-Subject: [PATCH 2/4] fix: uuid: Decouple guid_t and uuid_le types and
- respective macros (v6.3)
-
-See upstream commit :
-
-  commit 5e6a51787fef20b849682d8c49ec9c2beed5c373
-  Author: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
-  Date:   Tue Jan 24 15:38:38 2023 +0200
-
-    uuid: Decouple guid_t and uuid_le types and respective macros
-
-    The guid_t type and respective macros are being used internally only.
-    The uuid_le has its user outside the kernel. Decouple these types and
-    macros, and make guid_t completely internal type to the kernel.
-
-Upstream-Status: Backport
-
-Change-Id: I8644fd139b0630e9cf18886b84e33bffab1e5abd
-Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
----
- include/lttng/events-internal.h | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/include/lttng/events-internal.h b/include/lttng/events-internal.h
-index e31e6abb..a91a659e 100644
---- a/include/lttng/events-internal.h
-+++ b/include/lttng/events-internal.h
-@@ -9,6 +9,7 @@
- #define _LTTNG_EVENTS_INTERNAL_H
- 
- #include <wrapper/compiler_attributes.h>
-+#include <wrapper/uuid.h>
- 
- #include <lttng/events.h>
- 
-@@ -289,7 +290,7 @@ struct lttng_metadata_cache {
- 	atomic_t producing;		/* Metadata being produced (incomplete) */
- 	struct kref refcount;		/* Metadata cache usage */
- 	struct list_head metadata_stream;	/* Metadata stream list */
--	uuid_le uuid;			/* Trace session unique ID (copy) */
-+	guid_t uuid;			/* Trace session unique ID (copy) */
- 	struct mutex lock;		/* Produce/consume lock */
- 	uint64_t version;		/* Current version of the metadata */
- };
-@@ -463,7 +464,7 @@ struct lttng_kernel_session_private {
- 	struct list_head events;		/* Event list head */
- 	struct list_head list;			/* Session list */
- 	unsigned int free_chan_id;		/* Next chan ID to allocate */
--	uuid_le uuid;				/* Trace session unique ID */
-+	guid_t uuid;				/* Trace session unique ID */
- 	struct lttng_metadata_cache *metadata_cache;
- 	unsigned int metadata_dumped:1,
- 		tstate:1;			/* Transient enable state */
--- 
-2.34.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0003-fix-btrfs-pass-find_free_extent_ctl-to-allocator-tra.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0003-fix-btrfs-pass-find_free_extent_ctl-to-allocator-tra.patch
deleted file mode 100644
index 8ecdccf..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0003-fix-btrfs-pass-find_free_extent_ctl-to-allocator-tra.patch
+++ /dev/null
@@ -1,116 +0,0 @@
-From d0eeda3f84ba1643831561a2488ca2e99e9472b1 Mon Sep 17 00:00:00 2001
-From: Michael Jeanson <mjeanson@efficios.com>
-Date: Tue, 7 Mar 2023 11:26:25 -0500
-Subject: [PATCH 3/4] fix: btrfs: pass find_free_extent_ctl to allocator
- tracepoints (v6.3)
-
-See upstream commit :
-
-  commit cfc2de0fce015d4249c674ef9f5e0b4817ba5c53
-  Author: Boris Burkov <boris@bur.io>
-  Date:   Thu Dec 15 16:06:31 2022 -0800
-
-    btrfs: pass find_free_extent_ctl to allocator tracepoints
-
-    The allocator tracepoints currently have a pile of values from ffe_ctl.
-    In modifying the allocator and adding more tracepoints, I found myself
-    adding to the already long argument list of the tracepoints. It makes it
-    a lot simpler to just send in the ffe_ctl itself.
-
-Upstream-Status: Backport
-
-Change-Id: Iab4132a9d3df3a6369591a50fb75374b1e399fa4
-Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
----
- include/instrumentation/events/btrfs.h | 60 +++++++++++++++++++++++++-
- 1 file changed, 58 insertions(+), 2 deletions(-)
-
-diff --git a/include/instrumentation/events/btrfs.h b/include/instrumentation/events/btrfs.h
-index 01157107..7c7b9b0c 100644
---- a/include/instrumentation/events/btrfs.h
-+++ b/include/instrumentation/events/btrfs.h
-@@ -13,6 +13,10 @@
- #include <../fs/btrfs/accessors.h>
- #endif
- 
-+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,3,0))
-+#include <../fs/btrfs/extent-tree.h>
-+#endif
-+
- #ifndef _TRACE_BTRFS_DEF_
- #define _TRACE_BTRFS_DEF_
- struct btrfs_root;
-@@ -1963,7 +1967,26 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserved_extent,  btrfs_reserved_extent_f
- 
- #endif /* #else #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,10,0)) */
- 
--#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,10,0) || \
-+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,3,0))
-+LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
-+
-+	btrfs_find_free_extent,
-+
-+	TP_PROTO(const struct btrfs_root *root,
-+		const struct find_free_extent_ctl *ffe_ctl),
-+
-+	TP_ARGS(root, ffe_ctl),
-+
-+	TP_FIELDS(
-+		ctf_array(u8, fsid, root->lttng_fs_info_fsid, BTRFS_UUID_SIZE)
-+		ctf_integer(u64, root_objectid, root->root_key.objectid)
-+		ctf_integer(u64, num_bytes, ffe_ctl->num_bytes)
-+		ctf_integer(u64, empty_size, ffe_ctl->empty_size)
-+		ctf_integer(u64, flags, ffe_ctl->flags)
-+	)
-+)
-+
-+#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,10,0) || \
- 	LTTNG_KERNEL_RANGE(5,9,5, 5,10,0) || \
- 	LTTNG_KERNEL_RANGE(5,4,78, 5,5,0) || \
- 	LTTNG_UBUNTU_KERNEL_RANGE(5,8,18,44, 5,9,0,0))
-@@ -2102,7 +2125,40 @@ LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
- )
- #endif
- 
--#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,5,0))
-+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,3,0))
-+LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent,
-+
-+	TP_PROTO(const struct btrfs_block_group *block_group,
-+		const struct find_free_extent_ctl *ffe_ctl),
-+
-+	TP_ARGS(block_group, ffe_ctl),
-+
-+	TP_FIELDS(
-+		ctf_array(u8, fsid, block_group->lttng_fs_info_fsid, BTRFS_UUID_SIZE)
-+		ctf_integer(u64, bg_objectid, block_group->start)
-+		ctf_integer(u64, flags, block_group->flags)
-+		ctf_integer(u64, start, ffe_ctl->search_start)
-+		ctf_integer(u64, len, ffe_ctl->num_bytes)
-+	)
-+)
-+
-+LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent,
-+
-+	TP_PROTO(const struct btrfs_block_group *block_group,
-+		const struct find_free_extent_ctl *ffe_ctl),
-+
-+	TP_ARGS(block_group, ffe_ctl)
-+)
-+
-+LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent_cluster,
-+
-+	TP_PROTO(const struct btrfs_block_group *block_group,
-+		const struct find_free_extent_ctl *ffe_ctl),
-+
-+	TP_ARGS(block_group, ffe_ctl)
-+)
-+
-+#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,5,0))
- LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent,
- 
- 	TP_PROTO(const struct btrfs_block_group *block_group, u64 start,
--- 
-2.34.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0004-fix-net-add-location-to-trace_consume_skb-v6.3.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0004-fix-net-add-location-to-trace_consume_skb-v6.3.patch
deleted file mode 100644
index 59d96dc..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0004-fix-net-add-location-to-trace_consume_skb-v6.3.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From 12f43cab7daceff0c73c78276b5a5b9cc1d5056f Mon Sep 17 00:00:00 2001
-From: Michael Jeanson <mjeanson@efficios.com>
-Date: Tue, 7 Mar 2023 11:10:26 -0500
-Subject: [PATCH 4/4] fix: net: add location to trace_consume_skb() (v6.3)
-
-See upstream commit :
-
-  commit dd1b527831a3ed659afa01b672d8e1f7e6ca95a5
-  Author: Eric Dumazet <edumazet@google.com>
-  Date:   Thu Feb 16 15:47:18 2023 +0000
-
-    net: add location to trace_consume_skb()
-
-    kfree_skb() includes the location, it makes sense
-    to add it to consume_skb() as well.
-
-Upstream-Status: Backport
-
-Change-Id: I8d871187d90e7fe113a63e209b00aebe0df475f3
-Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
----
- include/instrumentation/events/skb.h | 16 ++++++++++++++++
- 1 file changed, 16 insertions(+)
-
-diff --git a/include/instrumentation/events/skb.h b/include/instrumentation/events/skb.h
-index 186732ea..3c43f32d 100644
---- a/include/instrumentation/events/skb.h
-+++ b/include/instrumentation/events/skb.h
-@@ -61,6 +61,21 @@ LTTNG_TRACEPOINT_EVENT_MAP(kfree_skb,
- )
- #endif
- 
-+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,3,0))
-+LTTNG_TRACEPOINT_EVENT_MAP(consume_skb,
-+
-+	skb_consume,
-+
-+	TP_PROTO(struct sk_buff *skb, void *location),
-+
-+	TP_ARGS(skb, location),
-+
-+	TP_FIELDS(
-+		ctf_integer_hex(void *, skbaddr, skb)
-+		ctf_integer_hex(void *, location, location)
-+	)
-+)
-+#else
- LTTNG_TRACEPOINT_EVENT_MAP(consume_skb,
- 
- 	skb_consume,
-@@ -73,6 +88,7 @@ LTTNG_TRACEPOINT_EVENT_MAP(consume_skb,
- 		ctf_integer_hex(void *, skbaddr, skb)
- 	)
- )
-+#endif
- 
- LTTNG_TRACEPOINT_EVENT(skb_copy_datagram_iovec,
- 
--- 
-2.34.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0009-Rename-genhd-wrapper-to-blkdev.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0009-Rename-genhd-wrapper-to-blkdev.patch
deleted file mode 100644
index 90fec9d..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-modules/0009-Rename-genhd-wrapper-to-blkdev.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-From 82fbf9d383ff9069808fb0f5f75c660098dbae52 Mon Sep 17 00:00:00 2001
-From: Michael Jeanson <mjeanson@efficios.com>
-Date: Tue, 5 Apr 2022 14:57:41 -0400
-Subject: [PATCH 09/10] Rename genhd wrapper to blkdev
-
-The genhd.h header was folded into blkdev.h in v5.18, rename our wrapper
-to follow upstream.
-
-Upstream-Status: Backport
-
-Change-Id: I4ec94fb94d11712dd20f0680aea1de77fbfa9d17
-Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
-Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
----
- include/wrapper/{genhd.h => blkdev.h} | 10 +++++-----
- src/lttng-statedump-impl.c            |  2 +-
- 2 files changed, 6 insertions(+), 6 deletions(-)
- rename include/wrapper/{genhd.h => blkdev.h} (93%)
-
-diff --git a/include/wrapper/genhd.h b/include/wrapper/blkdev.h
-similarity index 93%
-rename from include/wrapper/genhd.h
-rename to include/wrapper/blkdev.h
-index 4a59b68e..0d5ad90f 100644
---- a/include/wrapper/genhd.h
-+++ b/include/wrapper/blkdev.h
-@@ -1,6 +1,6 @@
- /* SPDX-License-Identifier: (GPL-2.0-only or LGPL-2.1-only)
-  *
-- * wrapper/genhd.h
-+ * wrapper/blkdev.h
-  *
-  * wrapper around block layer functions and data structures. Using
-  * KALLSYMS to get its address when available, else we need to have a
-@@ -9,8 +9,8 @@
-  * Copyright (C) 2011-2014 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
-  */
- 
--#ifndef _LTTNG_WRAPPER_GENHD_H
--#define _LTTNG_WRAPPER_GENHD_H
-+#ifndef _LTTNG_WRAPPER_BLKDEV_H
-+#define _LTTNG_WRAPPER_BLKDEV_H
- 
- #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,18,0))
- #include <linux/blkdev.h>
-@@ -45,7 +45,7 @@ struct class *wrapper_get_block_class(void)
- /*
-  * Canary function to check for 'block_class' at compile time.
-  *
-- * From 'include/linux/genhd.h':
-+ * From 'include/linux/blkdev.h':
-  *
-  *   extern struct class block_class;
-  */
-@@ -104,4 +104,4 @@ struct device_type *wrapper_get_disk_type(void)
- 
- #endif
- 
--#endif /* _LTTNG_WRAPPER_GENHD_H */
-+#endif /* _LTTNG_WRAPPER_BLKDEV_H */
-diff --git a/src/lttng-statedump-impl.c b/src/lttng-statedump-impl.c
-index 4d7b2921..0e753090 100644
---- a/src/lttng-statedump-impl.c
-+++ b/src/lttng-statedump-impl.c
-@@ -41,7 +41,7 @@
- #include <wrapper/namespace.h>
- #include <wrapper/irq.h>
- #include <wrapper/tracepoint.h>
--#include <wrapper/genhd.h>
-+#include <wrapper/blkdev.h>
- #include <wrapper/file.h>
- #include <wrapper/fdtable.h>
- #include <wrapper/sched.h>
--- 
-2.19.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules_2.13.9.bb b/poky/meta/recipes-kernel/lttng/lttng-modules_2.13.10.bb
similarity index 75%
rename from poky/meta/recipes-kernel/lttng/lttng-modules_2.13.9.bb
rename to poky/meta/recipes-kernel/lttng/lttng-modules_2.13.10.bb
index 8500f16..4c0e37e 100644
--- a/poky/meta/recipes-kernel/lttng/lttng-modules_2.13.9.bb
+++ b/poky/meta/recipes-kernel/lttng/lttng-modules_2.13.10.bb
@@ -10,17 +10,12 @@
 include lttng-platforms.inc
 
 SRC_URI = "https://lttng.org/files/${BPN}/${BPN}-${PV}.tar.bz2 \
-           file://0009-Rename-genhd-wrapper-to-blkdev.patch \
-           file://0001-fix-mm-introduce-vma-vm_flags-wrapper-functions-v6.3.patch \
-           file://0002-fix-uuid-Decouple-guid_t-and-uuid_le-types-and-respe.patch \
-           file://0003-fix-btrfs-pass-find_free_extent_ctl-to-allocator-tra.patch \
-           file://0004-fix-net-add-location-to-trace_consume_skb-v6.3.patch \
            "
 
 # Use :append here so that the patch is applied also when using devupstream
 SRC_URI:append = " file://0001-src-Kbuild-change-missing-CONFIG_TRACEPOINTS-to-warn.patch"
 
-SRC_URI[sha256sum] = "bf808b113544287cfe837a6382887fa66354ef5cc8216460cebbef3d27dc3581"
+SRC_URI[sha256sum] = "13abfb1ac870711f0d0adfa88e53b17deb2e3052173715a260a6ef14aa45b0a7"
 
 export INSTALL_MOD_DIR="kernel/lttng-modules"
 
diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/40b2a4a793c81221a28f822d07135069456ea021.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/40b2a4a793c81221a28f822d07135069456ea021.patch
deleted file mode 100644
index e338eaf..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-tools/40b2a4a793c81221a28f822d07135069456ea021.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 40b2a4a793c81221a28f822d07135069456ea021 Mon Sep 17 00:00:00 2001
-From: Olivier Dion <odion@efficios.com>
-Date: Fri, 10 Mar 2023 13:17:46 -0500
-Subject: [PATCH] Tests: fix: parse-callback reports missing addr2line
-MIME-Version: 1.0
-Content-Type: text/plain; charset=utf8
-Content-Transfer-Encoding: 8bit
-
-Upstream-Status: Backport
-
-addr2line from binutils is required for this script to work correctly.
-However, it silently fails. Fix this by using `subprocess.run' with
-`check=True' instead of `subprocess.getoutput'. That way, an exception
-is raised if an error occurs.
-
-Fix the shebang by not assuming where python is installed while at it.
-
-Change-Id: I5157b3dbccf6bfbe08a6b6840b38f5db9010fe96
-Signed-off-by: Olivier Dion <odion@efficios.com>
-Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
----
- tests/utils/parse-callstack.py | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/tests/utils/parse-callstack.py b/tests/utils/parse-callstack.py
-index 3bfddd9ef..c3f0e2e9b 100755
---- a/tests/utils/parse-callstack.py
-+++ b/tests/utils/parse-callstack.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/python3
-+#!/usr/bin/env python3
- #
- # Copyright (C) 2017 Francis Deslauriers <francis.deslauriers@efficios.com>
- #
-@@ -24,7 +24,9 @@ def addr2line(executable, addr):
-     # Expand inlined functions
-     cmd += ['--addresses', addr]
- 
--    addr2line_output = subprocess.getoutput(' '.join(cmd))
-+    status = subprocess.run(cmd, stdout=subprocess.PIPE, check=True)
-+
-+    addr2line_output = status.stdout.decode("utf-8")
- 
-     # Omit the last 2 lines as the caller of main can not be determine
-     fcts = [addr2line_output.split()[-2]]
--- 
-2.34.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/gcc13-ptest-fix.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/gcc13-ptest-fix.patch
deleted file mode 100644
index 52c4ec9..0000000
--- a/poky/meta/recipes-kernel/lttng/lttng-tools/gcc13-ptest-fix.patch
+++ /dev/null
@@ -1,107 +0,0 @@
-From 844be4dc46deeec83199da80e9e2a6058e9f5a53 Mon Sep 17 00:00:00 2001
-From: =?utf8?q?J=C3=A9r=C3=A9mie=20Galarneau?=
- <jeremie.galarneau@efficios.com>
-Date: Thu, 25 May 2023 19:15:20 -0400
-Subject: [PATCH] Tests fix: test_callstack: output of addr2line incorrectly
- parsed
-MIME-Version: 1.0
-Content-Type: text/plain; charset=utf8
-Content-Transfer-Encoding: 8bit
-
-Upstream-Status: Backport
-
-Issue observed
---------------
-
-The test_callstack test fails with GCC 13.1 with the following output:
-
-  Traceback (most recent call last):
-  File "/usr/lib/lttng-tools/ptest/tests/regression/././kernel//../../utils/parse-callstack.py", line 160, in <module>
-  main()
-  File "/usr/lib/lttng-tools/ptest/tests/regression/././kernel//../../utils/parse-callstack.py", line 155, in main
-  raise Exception('Expected function name not found in recorded callstack')
-  Exception: Expected function name not found in recorded callstack
-  ok 10 - Destroy session callstack
-  PASS: kernel/test_callstack 10 - Destroy session callstack
-  not ok 11 - Validate userspace callstack
-  FAIL: kernel/test_callstack 11 - Validate userspace callstack
-
-Cause
------
-
-parse-callstack.py uses 'split()' to split the lines of addr2line's
-output. By default, 'split()' splits a string on any whitespace.
-Typically this was fine as addr2line's output doesn't contain spaces and
-the function then splits on new lines.
-
-Typical output of addr2line:
-
-  $ addr2line -e ./tests/regression/kernel//../../utils/testapp/gen-syscall-events-callstack/gen-syscall-events-callstack --functions --addresses 0x40124B
-  0x000000000040124b
-  my_gettid
-  /tmp/test-callstack-master/src/lttng-tools/tests/utils/testapp/gen-syscall-events-callstack/gen-syscall-events-callstack.c:40
-
-However, with the test app compiled using gcc 13.1, a "discriminator"
-annotation is present:
-
-  0x0000000000401279
-  fct_b
-  /tmp/test-callstack-master/src/lttng-tools/tests/utils/testapp/gen-syscall-events-callstack/gen-syscall-events-callstack.c:58 (discriminator 1)
-
-Hence, by selecting the second to last element (-2, with negative
-indexing), the addr2line function returns '(discriminator' as the
-function name.
-
-Solution
---------
-
-The parsing code is changed to simply iterate on groups of 3 lines,
-following addr2line's output format.
-
-Fixes #1377
-
-Change-Id: I8c1eab97e84ca7cad171904bed6660540061cf08
-Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
----
- tests/utils/parse-callstack.py | 25 +++++++++++++++++--------
- 1 file changed, 17 insertions(+), 8 deletions(-)
-
-diff --git a/tests/utils/parse-callstack.py b/tests/utils/parse-callstack.py
-index c3f0e2e9bc..029100b618 100755
---- a/tests/utils/parse-callstack.py
-+++ b/tests/utils/parse-callstack.py
-@@ -26,14 +26,23 @@ def addr2line(executable, addr):
- 
-     status = subprocess.run(cmd, stdout=subprocess.PIPE, check=True)
- 
--    addr2line_output = status.stdout.decode("utf-8")
--
--    # Omit the last 2 lines as the caller of main can not be determine
--    fcts = [addr2line_output.split()[-2]]
--
--    fcts = [ f for f in fcts if '??' not in f]
--
--    return fcts
-+    addr2line_output = status.stdout.decode("utf-8").splitlines()
-+    # addr2line's output is made of 3-tuples:
-+    #   - address
-+    #   - function name
-+    #   - source location
-+    if len(addr2line_output) % 3 != 0:
-+        raise Exception('Unexpected addr2line output:\n\t{}'.format('\n\t'.join(addr2line_output)))
-+
-+    function_names = []
-+    for address_line_number in range(0, len(addr2line_output), 3):
-+        function_name = addr2line_output[address_line_number + 1]
-+
-+        # Filter-out unresolved functions
-+        if "??" not in function_name:
-+            function_names.append(addr2line_output[address_line_number + 1])
-+
-+    return function_names
- 
- def extract_user_func_names(executable, raw_callstack):
-     """
--- 
-2.34.1
-
diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools_2.13.9.bb b/poky/meta/recipes-kernel/lttng/lttng-tools_2.13.10.bb
similarity index 97%
rename from poky/meta/recipes-kernel/lttng/lttng-tools_2.13.9.bb
rename to poky/meta/recipes-kernel/lttng/lttng-tools_2.13.10.bb
index 113720c..20e6375 100644
--- a/poky/meta/recipes-kernel/lttng/lttng-tools_2.13.9.bb
+++ b/poky/meta/recipes-kernel/lttng/lttng-tools_2.13.10.bb
@@ -37,11 +37,9 @@
            file://lttng-sessiond.service \
            file://disable-tests.patch \
            file://0001-compat-Define-off64_t-as-off_t-on-linux.patch \
-           file://40b2a4a793c81221a28f822d07135069456ea021.patch \
-           file://gcc13-ptest-fix.patch \
            "
 
-SRC_URI[sha256sum] = "8d94dc95b608cf70216b01203a3f8242b97a232db2e23421a2f43708da08f337"
+SRC_URI[sha256sum] = "e5d1095ec1322565f38f149346f71967496c281eacc51ec5c77994b850e7d335"
 
 inherit autotools ptest pkgconfig useradd python3-dir manpages systemd
 
diff --git a/poky/meta/recipes-kernel/perf/perf-perl.inc b/poky/meta/recipes-kernel/perf/perf-perl.inc
index ae77319..491f54c 100644
--- a/poky/meta/recipes-kernel/perf/perf-perl.inc
+++ b/poky/meta/recipes-kernel/perf/perf-perl.inc
@@ -2,6 +2,10 @@
 
 # Env var which tells perl if it should use host (no) or target (yes) settings
 export PERLCONFIGTARGET = "${@is_target(d)}"
-export PERL_INC = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${@get_perl_version(d)}/CORE"
-export PERL_LIB = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${@get_perl_version(d)}"
-export PERL_ARCHLIB = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl/${@get_perl_version(d)}"
+export PERL_INC = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl5/${@get_perl_version(d)}/${@get_perl_arch(d)}/CORE"
+export PERL_LIB = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl5/${@get_perl_version(d)}"
+export PERL_ARCHLIB = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl5/${@get_perl_version(d)}/${@get_perl_arch(d)}"
+
+# The perl symbols CPPSTDIN and CPPRUN embed the sysroot into the
+# binaries, work needed to remove this
+INSANE_SKIP:${PN}-dbg += "buildpaths"
diff --git a/poky/meta/recipes-kernel/perf/perf.bb b/poky/meta/recipes-kernel/perf/perf.bb
index 7d90ac3..e22a1be 100644
--- a/poky/meta/recipes-kernel/perf/perf.bb
+++ b/poky/meta/recipes-kernel/perf/perf.bb
@@ -11,9 +11,10 @@
 
 PR = "r9"
 
-PACKAGECONFIG ??= "scripting tui libunwind libtraceevent"
+PACKAGECONFIG ??= "python tui libunwind libtraceevent"
 PACKAGECONFIG[dwarf] = ",NO_DWARF=1"
-PACKAGECONFIG[scripting] = ",NO_LIBPERL=1 NO_LIBPYTHON=1,perl python3 python3-setuptools-native"
+PACKAGECONFIG[perl] = ",NO_LIBPERL=1,perl"
+PACKAGECONFIG[python] = ",NO_LIBPYTHON=1,python3 python3-setuptools-native"
 # gui support was added with kernel 3.6.35
 # since 3.10 libnewt was replaced by slang
 # to cover a wide range of kernel we add both dependencies
@@ -30,6 +31,8 @@
 PACKAGECONFIG[libtraceevent] = ",NO_LIBTRACEEVENT=1,libtraceevent"
 # Arm CoreSight
 PACKAGECONFIG[coresight] = "CORESIGHT=1,,opencsd"
+PACKAGECONFIG[pfm4] = ",NO_LIBPFM4=1,libpfm4"
+PACKAGECONFIG[babeltrace] = ",NO_LIBBABELTRACE=1,babeltrace"
 
 # libunwind is not yet ported for some architectures
 PACKAGECONFIG:remove:arc = "libunwind"
@@ -49,7 +52,7 @@
 inherit linux-kernel-base kernel-arch manpages
 
 # needed for building the tools/perf Python bindings
-inherit ${@bb.utils.contains('PACKAGECONFIG', 'scripting', 'python3targetconfig', '', d)}
+inherit ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3targetconfig', '', d)}
 inherit python3-dir
 export PYTHON_SITEPACKAGES_DIR
 
@@ -59,7 +62,7 @@
 do_populate_lic[depends] += "virtual/kernel:do_shared_workdir"
 
 # needed for building the tools/perf Perl binding
-include ${@bb.utils.contains('PACKAGECONFIG', 'scripting', 'perf-perl.inc', '', d)}
+include ${@bb.utils.contains('PACKAGECONFIG', 'perl', 'perf-perl.inc', '', d)}
 
 inherit kernelsrc
 
@@ -73,6 +76,7 @@
 
 EXTRA_OEMAKE = '\
     V=1 \
+    VF=1 \
     -C ${S}/tools/perf \
     O=${B} \
     CROSS_COMPILE=${TARGET_PREFIX} \
@@ -104,7 +108,7 @@
     'sharedir=${@os.path.relpath(datadir, prefix)}' \
     'mandir=${@os.path.relpath(mandir, prefix)}' \
     'infodir=${@os.path.relpath(infodir, prefix)}' \
-    ${@bb.utils.contains('PACKAGECONFIG', 'scripting', 'PYTHON=python3 PYTHON_CONFIG=python3-config', '', d)} \
+    ${@bb.utils.contains('PACKAGECONFIG', 'python', 'PYTHON=python3 PYTHON_CONFIG=python3-config', '', d)} \
 "
 
 # During do_configure, we might run a 'make clean'. That often breaks
@@ -149,7 +153,7 @@
 	unset CFLAGS
 	oe_runmake install
 	# we are checking for this make target to be compatible with older perf versions
-	if ${@bb.utils.contains('PACKAGECONFIG', 'scripting', 'true', 'false', d)} && grep -q install-python_ext ${S}/tools/perf/Makefile*; then
+	if ${@bb.utils.contains('PACKAGECONFIG', 'python', 'true', 'false', d)} && grep -q install-python_ext ${S}/tools/perf/Makefile*; then
 	    oe_runmake DESTDIR=${D} install-python_ext
 	    if [ -e ${D}${libdir}/python*/site-packages/perf-*/SOURCES.txt ]; then
 		sed -i -e 's#${WORKDIR}##g' ${D}${libdir}/python*/site-packages/perf-*/SOURCES.txt
@@ -320,6 +324,9 @@
     if [ -e "${S}/tools/build/Makefile.feature" ]; then
         sed -i 's,CFLAGS=,CC="\$(CC)" CFLAGS=,' ${S}/tools/build/Makefile.feature
     fi
+    # The libperl feature check produces fatal warnings due to -Werror being
+    # used, silence enough errors that the check passes.
+    sed -i 's/\(FLAGS_PERL_EMBED=.*\)/\1 -Wno-error=unused-function -Wno-error=attributes/' ${S}/tools/build/feature/Makefile
 
     # 3.17-rc1+ has a include issue for arm/powerpc. Temporarily sed in the appropriate include
     if [ -e "${S}/tools/perf/arch/$ARCH/util/skip-callchain-idx.c" ]; then
@@ -364,9 +371,10 @@
 RDEPENDS:${PN}-perl =+ "bash perl perl-modules"
 RDEPENDS:${PN}-tests =+ "python3 bash"
 
-RSUGGESTS_SCRIPTING = "${@bb.utils.contains('PACKAGECONFIG', 'scripting', '${PN}-perl ${PN}-python', '',d)}"
-RSUGGESTS:${PN} += "${PN}-archive ${PN}-tests ${RSUGGESTS_SCRIPTING}"
-
+RSUGGESTS:${PN} += "${PN}-archive ${PN}-tests \
+                    ${@bb.utils.contains('PACKAGECONFIG', 'perl', '${PN}-perl', '', d)} \
+                    ${@bb.utils.contains('PACKAGECONFIG', 'python', '${PN}-python', '', d)} \
+                    "
 FILES_SOLIBSDEV = ""
 FILES:${PN} += "${libexecdir}/perf-core ${exec_prefix}/libexec/perf-core ${libdir}/traceevent* ${libdir}/libperf-jvmti.so"
 FILES:${PN}-archive = "${libdir}/perf/perf-core/perf-archive"
diff --git a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_6.0.bb b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_6.0.bb
index 07c641d..e65f80d 100644
--- a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_6.0.bb
+++ b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_6.0.bb
@@ -28,6 +28,13 @@
 
 SRC_URI[sha256sum] = "57be87c22d9b49c112b6d24bc67d42508660e6b718b3db89c44e47e289137082"
 
+# https://nvd.nist.gov/vuln/detail/CVE-2023-39018
+# https://github.com/bramp/ffmpeg-cli-wrapper/issues/291
+# https://security-tracker.debian.org/tracker/CVE-2023-39018
+# https://bugzilla.suse.com/show_bug.cgi?id=CVE-2023-39018
+CVE_STATUS[CVE-2023-39018] = "cpe-incorrect: This issue belongs to ffmpeg-cli-wrapper \
+(Java wrapper around the FFmpeg CLI) and not ffmepg itself."
+
 # Build fails when thumb is enabled: https://bugzilla.yoctoproject.org/show_bug.cgi?id=7717
 ARM_INSTRUCTION_SET:armv4 = "arm"
 ARM_INSTRUCTION_SET:armv5 = "arm"
@@ -129,6 +136,8 @@
 EXTRA_OECONF:append:riscv32 = " --extra-libs=-latomic --disable-rvv --disable-asm"
 EXTRA_OECONF:append:armv5 = " --extra-libs=-latomic"
 EXTRA_OECONF:append:powerpc = " --extra-libs=-latomic"
+EXTRA_OECONF:append:armv7a = "${@bb.utils.contains('TUNE_FEATURES','neon','',' --disable-neon',d)}"
+EXTRA_OECONF:append:armv7ve = "${@bb.utils.contains('TUNE_FEATURES','neon','',' --disable-neon',d)}"
 
 # gold crashes on x86, another solution is to --disable-asm but thats more hacky
 # ld.gold: internal error in relocate_section, at ../../gold/i386.cc:3684
diff --git a/poky/meta/recipes-multimedia/gstreamer/gst-devtools_1.22.4.bb b/poky/meta/recipes-multimedia/gstreamer/gst-devtools_1.22.5.bb
similarity index 94%
rename from poky/meta/recipes-multimedia/gstreamer/gst-devtools_1.22.4.bb
rename to poky/meta/recipes-multimedia/gstreamer/gst-devtools_1.22.5.bb
index beaf1a9..3e02939 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gst-devtools_1.22.4.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gst-devtools_1.22.5.bb
@@ -12,7 +12,7 @@
            file://0001-connect-has-a-different-signature-on-musl.patch \
            "
 
-SRC_URI[sha256sum] = "4c52053ce8c1df72fd81721e9f53de3b146edcf2de28f607be705bce4cf909d1"
+SRC_URI[sha256sum] = "2add1519aa6eeb01d544cb94293688ee3bc2079f6bca6075bf5c23d00a0921be"
 
 DEPENDS = "json-glib glib-2.0 glib-2.0-native gstreamer1.0 gstreamer1.0-plugins-base"
 RRECOMMENDS:${PN} = "git"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.22.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.22.5.bb
similarity index 91%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.22.4.bb
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.22.5.bb
index 4d59353..af9dc5d 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.22.4.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.22.5.bb
@@ -12,7 +12,7 @@
                     "
 
 SRC_URI = "https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${PV}.tar.xz"
-SRC_URI[sha256sum] = "9a751bc740de768e791c37a95f0a924c6a41d12fd7f37f54ce6a4e834be122d3"
+SRC_URI[sha256sum] = "8583f0c1f4fcb01eed11fa1e3c21126543a8bd739ed4fc1db31f756a5ab01d9a"
 
 S = "${WORKDIR}/gst-libav-${PV}"
 
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.22.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.22.5.bb
similarity index 95%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.22.4.bb
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.22.5.bb
index fc70805..5d99810 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.22.4.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.22.5.bb
@@ -10,7 +10,7 @@
 
 SRC_URI = "https://gstreamer.freedesktop.org/src/gst-omx/gst-omx-${PV}.tar.xz"
 
-SRC_URI[sha256sum] = "5fcb872d977b035fb75a2d0ea955ba052dc3bdae282f8f60aa9d865808784211"
+SRC_URI[sha256sum] = "cf0cb9c4de06c5d62eef77cb31238bbaf257dc88802010072eedd1c168f136a4"
 
 S = "${WORKDIR}/gst-omx-${PV}"
 
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.22.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.22.5.bb
similarity index 98%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.22.4.bb
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.22.5.bb
index 16d5320..ec65ec2 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.22.4.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.22.5.bb
@@ -10,7 +10,7 @@
            file://0002-avoid-including-sys-poll.h-directly.patch \
            file://0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch \
            "
-SRC_URI[sha256sum] = "eaaf53224565eaabd505ca39c6d5769719b45795cf532ce1ceb60e1b2ebe99ac"
+SRC_URI[sha256sum] = "e64e75cdafd7ff2fc7fc34e855b06b1e3ed227cc06fa378d17bbcd76780c338c"
 
 S = "${WORKDIR}/gst-plugins-bad-${PV}"
 
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.22.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.22.5.bb
similarity index 97%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.22.4.bb
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.22.5.bb
index 3c0cb7d..88ec756 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.22.4.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.22.5.bb
@@ -11,7 +11,7 @@
            file://0003-viv-fb-Make-sure-config.h-is-included.patch \
            file://0002-ssaparse-enhance-SSA-text-lines-parsing.patch \
            "
-SRC_URI[sha256sum] = "292424e82dea170528c42b456f62a89532bcabc0508f192e34672fb86f68e5b8"
+SRC_URI[sha256sum] = "edd4338b45c26a9af28c0d35aab964a024c3884ba6f520d8428df04212c8c93a"
 
 S = "${WORKDIR}/gst-plugins-base-${PV}"
 
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.22.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.22.5.bb
similarity index 97%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.22.4.bb
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.22.5.bb
index 0ae1758..93f0e76 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.22.4.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.22.5.bb
@@ -8,7 +8,7 @@
            file://0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch \
            file://0001-v4l2-Define-ioctl_req_t-for-posix-linux-case.patch"
 
-SRC_URI[sha256sum] = "d7120c1146a9d723d53d5bfe8074da2575a81f0598438752937f39bb7c833b6a"
+SRC_URI[sha256sum] = "b67b31313a54c6929b82969d41d3cfdf2f58db573fb5f491e6bba5d84aea0778"
 
 S = "${WORKDIR}/gst-plugins-good-${PV}"
 
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.22.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.22.5.bb
similarity index 94%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.22.4.bb
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.22.5.bb
index 1b3d3b6..29d705a 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.22.4.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.22.5.bb
@@ -14,7 +14,7 @@
 SRC_URI = " \
             https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${PV}.tar.xz \
             "
-SRC_URI[sha256sum] = "ffb461fda6c06d316c4be5682632cc8901454ed72b1098b1e0221bc55e673cd7"
+SRC_URI[sha256sum] = "2680473b218158f18467cac3e1c50291b7ff4e0710dd350a59eaacbc29c09a54"
 
 S = "${WORKDIR}/gst-plugins-ugly-${PV}"
 
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.22.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.22.5.bb
similarity index 90%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.22.4.bb
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.22.5.bb
index e35bef3..be817bf 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.22.4.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.22.5.bb
@@ -8,7 +8,7 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=c34deae4e395ca07e725ab0076a5f740"
 
 SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz"
-SRC_URI[sha256sum] = "e1302dcc0f2451b64380dcc0dd3b82735795e8951dc812d938d8ba91f388163e"
+SRC_URI[sha256sum] = "bf05232415cf6018142ae51dd3b897bb73432687b5ce1786bf46edc6298ce5b0"
 
 DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject"
 RDEPENDS:${PN} += "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.22.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.22.5.bb
similarity index 90%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.22.4.bb
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.22.5.bb
index 29eb4bb..84c51e8 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.22.4.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.22.5.bb
@@ -10,7 +10,7 @@
 
 SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz"
 
-SRC_URI[sha256sum] = "4666612d7a99c60dcd6f0bdba1b7a74d2562a0501b2a3e0576f0916bf1d8811b"
+SRC_URI[sha256sum] = "f343eb54964ebd4d8c071be5eecad586f28feb0156e036e06b148d0e7febb1c0"
 
 S = "${WORKDIR}/${PNREAL}-${PV}"
 
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.22.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.22.5.bb
similarity index 95%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.22.4.bb
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.22.5.bb
index 34c15bb..231d252 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.22.4.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.22.5.bb
@@ -11,7 +11,7 @@
 
 SRC_URI = "https://gstreamer.freedesktop.org/src/${REALPN}/${REALPN}-${PV}.tar.xz"
 
-SRC_URI[sha256sum] = "967b8e353d82d0081a68dc53639b25d9fb4ca89bfa1e061403e0cd7d23585ba6"
+SRC_URI[sha256sum] = "a9a550267c9584df0e8c70434d30476e8fd0018b733c1c1ee33deaf422bdb24b"
 
 S = "${WORKDIR}/${REALPN}-${PV}"
 DEPENDS = "libva gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad"
diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.22.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.22.5.bb
similarity index 96%
rename from poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.22.4.bb
rename to poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.22.5.bb
index 2eadb79..2dacf03 100644
--- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.22.4.bb
+++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.22.5.bb
@@ -22,7 +22,7 @@
            file://0003-tests-use-a-dictionaries-for-environment.patch;striplevel=3 \
            file://0004-tests-add-helper-script-to-run-the-installed_tests.patch;striplevel=3 \
            "
-SRC_URI[sha256sum] = "11cb0498bc16b93d8b99d22f75f829b8d0abfd8254840b2120618db5532dc655"
+SRC_URI[sha256sum] = "4408d7930f381809e85917acc19712f173261ba85bdf20c5567b2a21b1193b61"
 
 PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \
                    check \
diff --git a/poky/meta/recipes-multimedia/libsndfile/libsndfile1_1.2.0.bb b/poky/meta/recipes-multimedia/libsndfile/libsndfile1_1.2.2.bb
similarity index 91%
rename from poky/meta/recipes-multimedia/libsndfile/libsndfile1_1.2.0.bb
rename to poky/meta/recipes-multimedia/libsndfile/libsndfile1_1.2.2.bb
index 58eea0b..9c1f601 100644
--- a/poky/meta/recipes-multimedia/libsndfile/libsndfile1_1.2.0.bb
+++ b/poky/meta/recipes-multimedia/libsndfile/libsndfile1_1.2.2.bb
@@ -12,7 +12,7 @@
           "
 GITHUB_BASE_URI = "https://github.com/libsndfile/libsndfile/releases/"
 
-SRC_URI[sha256sum] = "0e30e7072f83dc84863e2e55f299175c7e04a5902ae79cfb99d4249ee8f6d60a"
+SRC_URI[sha256sum] = "3799ca9924d3125038880367bf1468e53a1b7e3686a934f098b7e1d286cdb80e"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=e77fe93202736b47c07035910f47974a"
 
diff --git a/poky/meta/recipes-multimedia/x264/x264_git.bb b/poky/meta/recipes-multimedia/x264/x264_git.bb
index 2ac2b6f..e7d9e75 100644
--- a/poky/meta/recipes-multimedia/x264/x264_git.bb
+++ b/poky/meta/recipes-multimedia/x264/x264_git.bb
@@ -16,7 +16,7 @@
 
 SRCREV = "baee400fa9ced6f5481a728138fed6e867b0ff7f"
 
-PV = "r3039+git${SRCPV}"
+PV = "r3039+git"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-sato/l3afpad/l3afpad_git.bb b/poky/meta/recipes-sato/l3afpad/l3afpad_git.bb
index 56cbe6b..5540083 100644
--- a/poky/meta/recipes-sato/l3afpad/l3afpad_git.bb
+++ b/poky/meta/recipes-sato/l3afpad/l3afpad_git.bb
@@ -15,7 +15,7 @@
 
 DEPENDS = "gtk+3 intltool-native gettext-native"
 
-PV = "0.8.18.1.11+git${SRCPV}"
+PV = "0.8.18.1.11+git"
 SRC_URI = "git://github.com/stevenhoneyman/l3afpad.git;branch=master;protocol=https"
 SRCREV ="3cdccdc9505643e50f8208171d9eee5de11a42ff"
 
diff --git a/poky/meta/recipes-sato/matchbox-config-gtk/matchbox-config-gtk_0.2.bb b/poky/meta/recipes-sato/matchbox-config-gtk/matchbox-config-gtk_0.2.bb
index 490bd58..caa3496 100644
--- a/poky/meta/recipes-sato/matchbox-config-gtk/matchbox-config-gtk_0.2.bb
+++ b/poky/meta/recipes-sato/matchbox-config-gtk/matchbox-config-gtk_0.2.bb
@@ -13,7 +13,7 @@
 SRC_URI = "git://git.yoctoproject.org/${BPN};branch=master;protocol=https \
            file://no-handed.patch"
 UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))"
-PV = "0.2+git${SRCPV}"
+PV = "0.2+git"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-sato/matchbox-terminal/matchbox-terminal_0.2.bb b/poky/meta/recipes-sato/matchbox-terminal/matchbox-terminal_0.2.bb
index a1f236b..f91c593 100644
--- a/poky/meta/recipes-sato/matchbox-terminal/matchbox-terminal_0.2.bb
+++ b/poky/meta/recipes-sato/matchbox-terminal/matchbox-terminal_0.2.bb
@@ -12,7 +12,7 @@
 SRCREV = "99e6eb7db1b5fef110973d96194eec992a2515a2"
 SRC_URI = "git://git.yoctoproject.org/${BPN};branch=master;protocol=https"
 UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))"
-PV = "0.2+git${SRCPV}"
+PV = "0.2+git"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-sato/puzzles/puzzles_git.bb b/poky/meta/recipes-sato/puzzles/puzzles_git.bb
index 960b5d3..04338a6 100644
--- a/poky/meta/recipes-sato/puzzles/puzzles_git.bb
+++ b/poky/meta/recipes-sato/puzzles/puzzles_git.bb
@@ -12,7 +12,7 @@
 UPSTREAM_CHECK_COMMITS = "1"
 SRCREV = "b6c842a28cf6597df063fcff35079c3e3982381e"
 PE = "2"
-PV = "0.0+git${SRCPV}"
+PV = "0.0+git"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/0001-CMake-Add-a-variable-to-control-macro-__PAS_ALWAYS_I.patch b/poky/meta/recipes-sato/webkit/webkitgtk/0001-CMake-Add-a-variable-to-control-macro-__PAS_ALWAYS_I.patch
new file mode 100644
index 0000000..4266d11
--- /dev/null
+++ b/poky/meta/recipes-sato/webkit/webkitgtk/0001-CMake-Add-a-variable-to-control-macro-__PAS_ALWAYS_I.patch
@@ -0,0 +1,76 @@
+From 73efe0ea75c3ac4cb088f300acc3de44d5dd3344 Mon Sep 17 00:00:00 2001
+From: Kai Kang <kai.kang@windriver.com>
+Date: Fri, 11 Aug 2023 14:20:48 +0800
+Subject: [PATCH] [CMake] Add a variable to control macro
+ __PAS_ALWAYS_INLINE_BUT_NOT_INLINE
+ https://bugs.webkit.org/show_bug.cgi?id=260065
+
+Reviewed by NOBODY (OOPS!).
+
+It fails to compile webkitgtk with option `-Og` of gcc/g++:
+
+| In file included from Source/bmalloc/libpas/src/libpas/pas_heap_page_provider.h:30,
+|                  from Source/bmalloc/libpas/src/libpas/pas_bootstrap_heap_page_provider.h:29,
+|                  from Source/bmalloc/libpas/src/libpas/pas_large_heap_physical_page_sharing_cache.h:29,
+|                  from Source/bmalloc/libpas/src/libpas/pas_basic_heap_page_caches.h:29,
+|                  from Source/bmalloc/libpas/src/libpas/pas_heap_config_utils.h:32,
+|                  from Source/bmalloc/libpas/src/libpas/bmalloc_heap_config.h:34,
+|                  from Source/bmalloc/libpas/src/libpas/bmalloc_heap_inlines.h:34,
+|                  from Source/bmalloc/bmalloc/bmalloc.h:39,
+|                  from Source/bmalloc/bmalloc/bmalloc.cpp:26:
+| In function 'pas_allocation_result pas_local_allocator_try_allocate(pas_local_allocator*, size_t, size_t, pas_heap_config, pas_allocator_counts*, pas_allocation_result_filter)',
+|     inlined from 'pas_allocation_result pas_try_allocate_common_impl_fast(pas_heap_config, pas_allocator_counts*, pas_allocation_result_filter, pas_local_allocator*, size_t, size_t)' at webkitgtk-2.40.2/Source/bmalloc/libpas/src/libpas/pas_try_allocate_common.h:85:46,
+|     inlined from 'pas_allocation_result bmalloc_try_allocate_with_alignment_impl_impl_fast(pas_local_allocator*, size_t, size_t)' at webkitgtk-2.40.2/Source/bmalloc/libpas/src/libpas/bmalloc_heap_inlines.h:59:1,
+|     inlined from 'pas_allocation_result pas_try_allocate_intrinsic_impl_casual_case(__pas_heap*, size_t, size_t, pas_intrinsic_heap_support*, pas_heap_config, pas_try_allocate_common_fast, pas_try_allocate_common_slow, pas_intrinsic_heap_designation_mode)' at webkitgtk-2.40.2/Source/bmalloc/libpas/src/libpas/pas_try_allocate_intrinsic.h:167:44,
+|     inlined from 'pas_allocation_result bmalloc_try_allocate_with_alignment_impl_casual_case(size_t, size_t)' at webkitgtk-2.40.2/Source/bmalloc/libpas/src/libpas/bmalloc_heap_inlines.h:59:1:
+| webkitgtk-2.40.2/Source/bmalloc/libpas/src/libpas/pas_allocation_result.h:76:1: error: inlining failed in call to 'always_inline' 'pas_allocation_result pas_allocation_result_identity(pas_allocation_result)': function not considered for inlining
+|    76 | pas_allocation_result_identity(pas_allocation_result result)
+|       | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Add an variable `WEBKIT_NO_INLINE_HINTS` to control macro
+__PAS_ALWAYS_INLINE_BUT_NOT_INLINE whether includes function attribute
+`always_inline`. It could set the variable to make compilation pass when
+gcc option `-Og` is used.
+
+* Source/bmalloc/libpas/src/libpas/pas_utils_prefix.h:
+* Source/cmake/WebKitCompilerFlags.cmake:
+
+Upstream-Status: Submitted [https://github.com/WebKit/WebKit/pull/16601]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+ Source/bmalloc/libpas/src/libpas/pas_utils_prefix.h | 2 +-
+ Source/cmake/WebKitCompilerFlags.cmake              | 7 +++++++
+ 2 files changed, 8 insertions(+), 1 deletion(-)
+
+diff --git a/Source/bmalloc/libpas/src/libpas/pas_utils_prefix.h b/Source/bmalloc/libpas/src/libpas/pas_utils_prefix.h
+index 5d5fb38cddbd..a554f70064eb 100644
+--- a/Source/bmalloc/libpas/src/libpas/pas_utils_prefix.h
++++ b/Source/bmalloc/libpas/src/libpas/pas_utils_prefix.h
+@@ -44,7 +44,7 @@ __PAS_BEGIN_EXTERN_C;
+ #define __SUSPICIOUS__
+ #define __BROKEN__
+ 
+-#ifdef __OPTIMIZE__
++#if defined(__OPTIMIZE__) && !defined(WEBKIT_NO_INLINE_HINTS)
+ #define __PAS_ALWAYS_INLINE_BUT_NOT_INLINE __attribute__((__always_inline__))
+ #else
+ #define __PAS_ALWAYS_INLINE_BUT_NOT_INLINE
+diff --git a/Source/cmake/WebKitCompilerFlags.cmake b/Source/cmake/WebKitCompilerFlags.cmake
+index 9b2fecf9a0d3..7cdc2b6afbe0 100644
+--- a/Source/cmake/WebKitCompilerFlags.cmake
++++ b/Source/cmake/WebKitCompilerFlags.cmake
+@@ -453,3 +453,10 @@ endif ()
+ 
+ # FIXME: Enable pre-compiled headers for all ports <https://webkit.org/b/139438>
+ set(CMAKE_DISABLE_PRECOMPILE_HEADERS ON)
++
++# It fails to compile with `gcc -Og`
++set(WEBKIT_NO_INLINE_HINTS OFF CACHE BOOL "Disable funtion attribute always_inline for WebKit")
++
++if (WEBKIT_NO_INLINE_HINTS)
++    add_definitions(-DWEBKIT_NO_INLINE_HINTS)
++endif ()
+-- 
+2.34.1
+
diff --git a/poky/meta/recipes-sato/webkit/webkitgtk_2.40.5.bb b/poky/meta/recipes-sato/webkit/webkitgtk_2.40.5.bb
index 7bf32e8..a0c97aa 100644
--- a/poky/meta/recipes-sato/webkit/webkitgtk_2.40.5.bb
+++ b/poky/meta/recipes-sato/webkit/webkitgtk_2.40.5.bb
@@ -14,13 +14,14 @@
            file://reproducibility.patch \
            file://0d3344e17d258106617b0e6d783d073b188a2548.patch \
            file://check-GST_GL_HAVE_PLATFORM_GLX.patch \
+           file://0001-CMake-Add-a-variable-to-control-macro-__PAS_ALWAYS_I.patch \
            "
 SRC_URI[sha256sum] = "7de051a263668621d91a61a5eb1c3771d1a7cec900043d4afef06c326c16037f"
 
 inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gi-docgen
 
 ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
-REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'opengl', '', d)}"
+REQUIRED_DISTRO_FEATURES = "opengl"
 
 CVE_PRODUCT = "webkitgtk webkitgtk\+"
 
@@ -76,14 +77,15 @@
 PACKAGECONFIG[media-recorder] = "-DENABLE_MEDIA_RECORDER=ON,-DENABLE_MEDIA_RECORDER=OFF,gstreamer1.0-plugins-bad"
 
 EXTRA_OECMAKE = " \
-		-DPORT=GTK \
-		${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DENABLE_INTROSPECTION=ON', '-DENABLE_INTROSPECTION=OFF', d)} \
-		${@bb.utils.contains('GIDOCGEN_ENABLED', 'True', '-DENABLE_DOCUMENTATION=ON', '-DENABLE_DOCUMENTATION=OFF', d)} \
-		-DENABLE_MINIBROWSER=ON \
-                -DENABLE_BUBBLEWRAP_SANDBOX=OFF \
-                -DENABLE_GAMEPAD=OFF \
-                -DUSE_GTK4=ON \
-		"
+                 -DPORT=GTK \
+                 ${@oe.utils.vartrue('GI_DATA_ENABLED', '-DENABLE_INTROSPECTION=ON', '-DENABLE_INTROSPECTION=OFF', d)} \
+                 ${@oe.utils.vartrue('GIDOCGEN_ENABLED', '-DENABLE_DOCUMENTATION=ON', '-DENABLE_DOCUMENTATION=OFF', d)} \
+                 ${@oe.utils.vartrue('DEBUG_BUILD', '-DWEBKIT_NO_INLINE_HINTS=ON', '-DWEBKIT_NO_INLINE_HINTS=OFFF', d)} \
+                 -DENABLE_MINIBROWSER=ON \
+                 -DENABLE_BUBBLEWRAP_SANDBOX=OFF \
+                 -DENABLE_GAMEPAD=OFF \
+                 -DUSE_GTK4=ON \
+                 "
 
 # Javascript JIT is not supported on ARC
 EXTRA_OECMAKE:append:arc = " -DENABLE_JIT=OFF "
@@ -100,9 +102,21 @@
 EXTRA_OECMAKE:append:powerpc64 = " -DENABLE_JIT=OFF "
 
 # ARM JIT code does not build on ARMv4/5/6 anymore
+EXTRA_OECMAKE:append:armv4 = " -DENABLE_JIT=OFF "
 EXTRA_OECMAKE:append:armv5 = " -DENABLE_JIT=OFF "
 EXTRA_OECMAKE:append:armv6 = " -DENABLE_JIT=OFF "
-EXTRA_OECMAKE:append:armv4 = " -DENABLE_JIT=OFF "
+
+# And for armv7* don't enable it for softfp, because after:
+# https://github.com/WebKit/WebKit/commit/a2ec4ef1997d6fafa6ffc607bffb54e76168a918
+# https://bugs.webkit.org/show_bug.cgi?id=242172
+# softfp armv7* fails because WEBASSEMBLY is left enabled by default and JIT gets
+# explicitly disabled causing:
+# http://errors.yoctoproject.org/Errors/Details/734587/
+# PR was sent upstream, but the end result is the same both JIT and WEBASSEMBLY disabled
+# https://github.com/WebKit/WebKit/pull/17447
+EXTRA_OECMAKE:append:armv7a = " -DENABLE_JIT=${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', 'ON', 'OFF', d)}"
+EXTRA_OECMAKE:append:armv7r = " -DENABLE_JIT=${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', 'ON', 'OFF', d)}"
+EXTRA_OECMAKE:append:armv7ve = " -DENABLE_JIT=${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', 'ON', 'OFF', d)}"
 
 EXTRA_OECMAKE:append:mipsarch = " -DUSE_LD_GOLD=OFF "
 EXTRA_OECMAKE:append:powerpc = " -DUSE_LD_GOLD=OFF "
diff --git a/poky/meta/recipes-support/apr/apr/0001-dso-Check-for-NULL-handle-in-apr_dso_sym.patch b/poky/meta/recipes-support/apr/apr/0001-dso-Check-for-NULL-handle-in-apr_dso_sym.patch
new file mode 100644
index 0000000..8ba181b
--- /dev/null
+++ b/poky/meta/recipes-support/apr/apr/0001-dso-Check-for-NULL-handle-in-apr_dso_sym.patch
@@ -0,0 +1,37 @@
+From a25be1aaa92a6d2e7f4cc3fdfbb92e5a10b63035 Mon Sep 17 00:00:00 2001
+From: Greg Beard <gmbeard@googlemail.com>
+Date: Sat, 25 Mar 2023 08:31:36 +0000
+Subject: [PATCH] dso: Check for NULL handle in apr_dso_sym
+
+Upstream-Status: Backport [https://github.com/apache/apr/pull/40/commits/0efce00093b1ba405d91c7f0eab9755c8527eead]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ dso/unix/dso.c | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+diff --git a/dso/unix/dso.c b/dso/unix/dso.c
+index fdd56f1..583d5de 100644
+--- a/dso/unix/dso.c
++++ b/dso/unix/dso.c
+@@ -173,6 +173,18 @@ APR_DECLARE(apr_status_t) apr_dso_sym(apr_dso_handle_sym_t *ressym,
+                                       apr_dso_handle_t *handle, 
+                                       const char *symname)
+ {
++    /* This is necessary for `testdso.c`. For some reason, musl
++     * builds fail the `test_unload_library` test if the below
++     * check isn't in place. `test_unload_library` unloads the
++     * library and then immediately calls this function. Maybe
++     * musl's `dlsym()` assumes the handle is never NULL and
++     * some UB is being invoked here...
++     */
++    if (handle->handle == NULL) {
++        handle->errormsg = "library not loaded";
++        return APR_ESYMNOTFOUND;
++    }
++
+ #if defined(DSO_USE_SHL)
+     void *symaddr = NULL;
+     int status;
+-- 
+2.42.0
+
diff --git a/poky/meta/recipes-support/apr/apr_1.7.4.bb b/poky/meta/recipes-support/apr/apr_1.7.4.bb
index 5ac7f4b..d322629 100644
--- a/poky/meta/recipes-support/apr/apr_1.7.4.bb
+++ b/poky/meta/recipes-support/apr/apr_1.7.4.bb
@@ -23,6 +23,7 @@
            file://0001-Add-option-to-disable-timed-dependant-tests.patch \
            file://0001-configure-Remove-runtime-test-for-mmap-that-can-map-.patch \
            file://autoconf-2.73.patch \
+           file://0001-dso-Check-for-NULL-handle-in-apr_dso_sym.patch \
            "
 
 SRC_URI[sha256sum] = "fc648de983f3a2a6c9e78dea1f180639bd2fad6c06d556d4367a701fe5c35577"
diff --git a/poky/meta/recipes-support/bmap-tools/bmap-tools_git.bb b/poky/meta/recipes-support/bmap-tools/bmap-tools_git.bb
index 89b7bf2..1de95c8 100644
--- a/poky/meta/recipes-support/bmap-tools/bmap-tools_git.bb
+++ b/poky/meta/recipes-support/bmap-tools/bmap-tools_git.bb
@@ -14,7 +14,7 @@
 SRCREV = "c0673962a8ec1624b5189dc1d24f33fe4f06785a"
 S = "${WORKDIR}/git"
 BASEVER = "3.6"
-PV = "${BASEVER}+git${SRCPV}"
+PV = "${BASEVER}+git"
 
 UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
 
diff --git a/poky/meta/recipes-support/curl/curl_8.2.0.bb b/poky/meta/recipes-support/curl/curl_8.2.1.bb
similarity index 97%
rename from poky/meta/recipes-support/curl/curl_8.2.0.bb
rename to poky/meta/recipes-support/curl/curl_8.2.1.bb
index 9c16d3d..068486a 100644
--- a/poky/meta/recipes-support/curl/curl_8.2.0.bb
+++ b/poky/meta/recipes-support/curl/curl_8.2.1.bb
@@ -14,7 +14,7 @@
     file://run-ptest \
     file://disable-tests \
 "
-SRC_URI[sha256sum] = "2859ec79e2cd96e976a99493547359b8001af1d1e21f3a3a3b846544ef54500f"
+SRC_URI[sha256sum] = "dd322f6bd0a20e6cebdfd388f69e98c3d183bed792cf4713c8a7ef498cba4894"
 
 # Curl has used many names over the years...
 CVE_PRODUCT = "haxx:curl haxx:libcurl curl:curl curl:libcurl libcurl:libcurl daniel_stenberg:curl"
diff --git a/poky/meta/recipes-support/dos2unix/dos2unix_7.5.0.bb b/poky/meta/recipes-support/dos2unix/dos2unix_7.5.1.bb
similarity index 95%
rename from poky/meta/recipes-support/dos2unix/dos2unix_7.5.0.bb
rename to poky/meta/recipes-support/dos2unix/dos2unix_7.5.1.bb
index 1ff1fc4..acf49f0 100644
--- a/poky/meta/recipes-support/dos2unix/dos2unix_7.5.0.bb
+++ b/poky/meta/recipes-support/dos2unix/dos2unix_7.5.1.bb
@@ -11,7 +11,7 @@
 SRC_URI = "git://git.code.sf.net/p/dos2unix/dos2unix;branch=master;protocol=https"
 UPSTREAM_CHECK_GITTAGREGEX = "dos2unix-(?P<pver>(\d+(\.\d+)+))"
 
-SRCREV = "d6613bbb175624f065de907ebcc94437f699c14e"
+SRCREV = "9675e7aea32653e1c10ef027eb55d89f3c48ec1f"
 
 S = "${WORKDIR}/git/dos2unix"
 
diff --git a/poky/meta/recipes-support/gmp/gmp/cve-2021-43618.patch b/poky/meta/recipes-support/gmp/gmp/cve-2021-43618.patch
deleted file mode 100644
index 095fb21..0000000
--- a/poky/meta/recipes-support/gmp/gmp/cve-2021-43618.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-CVE: CVE-2021-43618
-Upstream-Status: Backport
-Signed-off-by: Ross Burton <ross.burton@arm.com>
-
-# HG changeset patch
-# User Marco Bodrato <bodrato@mail.dm.unipi.it>
-# Date 1634836009 -7200
-# Node ID 561a9c25298e17bb01896801ff353546c6923dbd
-# Parent  e1fd9db13b475209a864577237ea4b9105b3e96e
-mpz/inp_raw.c: Avoid bit size overflows
-
-diff -r e1fd9db13b47 -r 561a9c25298e mpz/inp_raw.c
---- a/mpz/inp_raw.c	Tue Dec 22 23:49:51 2020 +0100
-+++ b/mpz/inp_raw.c	Thu Oct 21 19:06:49 2021 +0200
-@@ -88,8 +88,11 @@
- 
-   abs_csize = ABS (csize);
- 
-+  if (UNLIKELY (abs_csize > ~(mp_bitcnt_t) 0 / 8))
-+    return 0; /* Bit size overflows */
-+
-   /* round up to a multiple of limbs */
--  abs_xsize = BITS_TO_LIMBS (abs_csize*8);
-+  abs_xsize = BITS_TO_LIMBS ((mp_bitcnt_t) abs_csize * 8);
- 
-   if (abs_xsize != 0)
-     {
diff --git a/poky/meta/recipes-support/gmp/gmp_6.2.1.bb b/poky/meta/recipes-support/gmp/gmp_6.3.0.bb
similarity index 86%
rename from poky/meta/recipes-support/gmp/gmp_6.2.1.bb
rename to poky/meta/recipes-support/gmp/gmp_6.3.0.bb
index 2905549..3dbcd68 100644
--- a/poky/meta/recipes-support/gmp/gmp_6.2.1.bb
+++ b/poky/meta/recipes-support/gmp/gmp_6.3.0.bb
@@ -14,10 +14,8 @@
            file://use-includedir.patch \
            file://0001-Append-the-user-provided-flags-to-the-auto-detected-.patch \
            file://0001-confiure.ac-Believe-the-cflags-from-environment.patch \
-           file://cve-2021-43618.patch \
            "
-SRC_URI[md5sum] = "28971fc21cf028042d4897f02fd355ea"
-SRC_URI[sha256sum] = "eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a36b4d7c"
+SRC_URI[sha256sum] = "ac28211a7cfb609bae2e2c8d6058d66c8fe96434f740cf6fe2e47b000d1c20cb"
 
 acpaths = ""
 
diff --git a/poky/meta/recipes-support/gnupg/gnupg/0001-configure.ac-use-a-custom-value-for-the-location-of-.patch b/poky/meta/recipes-support/gnupg/gnupg/0001-configure.ac-use-a-custom-value-for-the-location-of-.patch
index 81aeaf5..5616165 100644
--- a/poky/meta/recipes-support/gnupg/gnupg/0001-configure.ac-use-a-custom-value-for-the-location-of-.patch
+++ b/poky/meta/recipes-support/gnupg/gnupg/0001-configure.ac-use-a-custom-value-for-the-location-of-.patch
@@ -1,4 +1,4 @@
-From 8b9e3d286e87bc978ec6bb9cfd790d8d253b79c3 Mon Sep 17 00:00:00 2001
+From acdb7e1d2844cd4088f099617e25352b3dc5b075 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Mon, 22 Jan 2018 18:00:21 +0200
 Subject: [PATCH] configure.ac: use a custom value for the location of
@@ -14,7 +14,7 @@
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/configure.ac b/configure.ac
-index a547401..60bc2c5 100644
+index e68b779..eec9f89 100644
 --- a/configure.ac
 +++ b/configure.ac
 @@ -1922,7 +1922,7 @@ AC_DEFINE_UNQUOTED(GPGCONF_DISP_NAME, "GPGConf",
diff --git a/poky/meta/recipes-support/gnupg/gnupg/fix-ldap.patch b/poky/meta/recipes-support/gnupg/gnupg/fix-ldap.patch
new file mode 100644
index 0000000..4754781
--- /dev/null
+++ b/poky/meta/recipes-support/gnupg/gnupg/fix-ldap.patch
@@ -0,0 +1,34 @@
+From dc13361524c1477b2106c7385f2059f9ea111b84 Mon Sep 17 00:00:00 2001
+From: NIIBE Yutaka <gniibe@fsij.org>
+Date: Wed, 5 Jul 2023 09:29:54 +0900
+Subject: [PATCH] dirmngr: Enable the call of ks_ldap_help_variables when
+ USE_LDAP.
+
+* dirmngr/server.c [USE_LDAP] (cmd_ad_query): Conditionalize.
+
+--
+
+Upstream-Status: Backport
+Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ dirmngr/server.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/dirmngr/server.c b/dirmngr/server.c
+index 51a149cb2..ee61f63d6 100644
+--- a/dirmngr/server.c
++++ b/dirmngr/server.c
+@@ -2776,7 +2776,9 @@ cmd_ad_query (assuan_context_t ctx, char *line)
+ 
+   if (opt_help)
+     {
++#if USE_LDAP
+       ks_ldap_help_variables (ctrl);
++#endif
+       err = 0;
+       goto leave;
+     }
+-- 
+2.11.0
+
diff --git a/poky/meta/recipes-support/gnupg/gnupg/relocate.patch b/poky/meta/recipes-support/gnupg/gnupg/relocate.patch
index f7dd12f..d540e9e 100644
--- a/poky/meta/recipes-support/gnupg/gnupg/relocate.patch
+++ b/poky/meta/recipes-support/gnupg/gnupg/relocate.patch
@@ -1,4 +1,4 @@
-From c4ddea8e6070d1df51058aac08088e27c37e7e73 Mon Sep 17 00:00:00 2001
+From 0e4b325c199354ce54cc4687532cced1440fd496 Mon Sep 17 00:00:00 2001
 From: Ross Burton <ross.burton@intel.com>
 Date: Wed, 19 Sep 2018 14:44:40 +0100
 Subject: [PATCH] Allow the environment to override where gnupg looks for its
diff --git a/poky/meta/recipes-support/gnupg/gnupg_2.4.2.bb b/poky/meta/recipes-support/gnupg/gnupg_2.4.3.bb
similarity index 95%
rename from poky/meta/recipes-support/gnupg/gnupg_2.4.2.bb
rename to poky/meta/recipes-support/gnupg/gnupg_2.4.3.bb
index 631df8a..e91ef34 100644
--- a/poky/meta/recipes-support/gnupg/gnupg_2.4.2.bb
+++ b/poky/meta/recipes-support/gnupg/gnupg_2.4.3.bb
@@ -18,12 +18,13 @@
            file://0002-use-pkgconfig-instead-of-npth-config.patch \
            file://0004-autogen.sh-fix-find-version-for-beta-checking.patch \
            file://0001-Woverride-init-is-not-needed-with-gcc-9.patch \
+           file://fix-ldap.patch \
            "
 SRC_URI:append:class-native = " file://0001-configure.ac-use-a-custom-value-for-the-location-of-.patch \
                                 file://relocate.patch"
 SRC_URI:append:class-nativesdk = " file://relocate.patch"
 
-SRC_URI[sha256sum] = "97eb47df8ae5a3ff744f868005a090da5ab45cb48ee9836dbf5ee739a4e5cf49"
+SRC_URI[sha256sum] = "a271ae6d732f6f4d80c258ad9ee88dd9c94c8fdc33c3e45328c4d7c126bd219d"
 
 EXTRA_OECONF = "--disable-ldap \
 		--disable-ccid-driver \
diff --git a/poky/meta/recipes-support/gnutls/gnutls/arm_eabi.patch b/poky/meta/recipes-support/gnutls/gnutls/arm_eabi.patch
index 2b61a70..fe3f031 100644
--- a/poky/meta/recipes-support/gnutls/gnutls/arm_eabi.patch
+++ b/poky/meta/recipes-support/gnutls/gnutls/arm_eabi.patch
@@ -1,4 +1,4 @@
-From 911213d9f72ddce468322d22d223127b93964409 Mon Sep 17 00:00:00 2001
+From 5810d97281bb30edb786de9946e5c13186eff6a2 Mon Sep 17 00:00:00 2001
 From: Joe Slater <jslater@windriver.com>
 Date: Wed, 25 Jan 2017 13:52:59 -0800
 Subject: [PATCH] gnutls: account for ARM_EABI
@@ -9,16 +9,15 @@
 Upstream-Status: Pending
 
 Signed-off-by: Joe Slater <jslater@windriver.com>
-
 ---
  tests/seccomp.c | 2 ++
  1 file changed, 2 insertions(+)
 
 diff --git a/tests/seccomp.c b/tests/seccomp.c
-index a3148fe..443bc5f 100644
+index 86442a5..03a5aa8 100644
 --- a/tests/seccomp.c
 +++ b/tests/seccomp.c
-@@ -52,7 +52,9 @@ int disable_system_calls(void)
+@@ -55,7 +55,9 @@ int disable_system_calls(void)
  
  	ADD_SYSCALL(nanosleep, 0);
  	ADD_SYSCALL(clock_nanosleep, 0);
@@ -27,4 +26,7 @@
 +#endif
  	ADD_SYSCALL(getpid, 0);
  	ADD_SYSCALL(gettimeofday, 0);
- # if defined(HAVE_CLOCK_GETTIME)
+ #if defined(HAVE_CLOCK_GETTIME)
+-- 
+2.30.2
+
diff --git a/poky/meta/recipes-support/gnutls/gnutls_3.8.0.bb b/poky/meta/recipes-support/gnutls/gnutls_3.8.1.bb
similarity index 97%
rename from poky/meta/recipes-support/gnutls/gnutls_3.8.0.bb
rename to poky/meta/recipes-support/gnutls/gnutls_3.8.1.bb
index 1e3f34b..455031d 100644
--- a/poky/meta/recipes-support/gnutls/gnutls_3.8.0.bb
+++ b/poky/meta/recipes-support/gnutls/gnutls_3.8.1.bb
@@ -25,7 +25,7 @@
            file://Add-ptest-support.patch \
            "
 
-SRC_URI[sha256sum] = "0ea0d11a1660a1e63f960f157b197abe6d0c8cb3255be24e1fb3815930b9bdc5"
+SRC_URI[sha256sum] = "ba8b9e15ae20aba88f44661978f5b5863494316fe7e722ede9d069fe6294829c"
 
 inherit autotools texinfo pkgconfig gettext lib_package gtk-doc ptest
 
diff --git a/poky/meta/recipes-support/gpgme/gpgme/0007-python-Add-variables-to-tests.patch b/poky/meta/recipes-support/gpgme/gpgme/0007-python-Add-variables-to-tests.patch
deleted file mode 100644
index 4c97f63..0000000
--- a/poky/meta/recipes-support/gpgme/gpgme/0007-python-Add-variables-to-tests.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 093c88817397425ee4c2333c469467229a46c9e1 Mon Sep 17 00:00:00 2001
-From: Yuan Chao <yuanc.fnst@cn.fujitsu.com>
-Date: Mon, 5 Aug 2019 01:00:58 +0900
-Subject: [PATCH 7/7] python: Add variables to tests
-
-* configure.ac, lang/python/Makefile.am:
-  New variable to `lang/python', set to `lang/python' if RUN_LANG_PYTHON_TESTS
-
-Upstream-Status: Submitted [gnupg-devel@gnupg.org]
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
-Signed-off-by: Yuan Chao <yuanc.fnst@cn.fujitsu.com>
----
- configure.ac            | 5 +++++
- lang/python/Makefile.am | 3 +++
- 2 files changed, 8 insertions(+)
-
-diff --git a/configure.ac b/configure.ac
-index bd85886..b5ae42e 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -533,6 +533,11 @@ AC_ARG_ENABLE(g13-test,
-          run_g13_test=$enableval)
- AM_CONDITIONAL(RUN_G13_TESTS, test "$run_g13_test" = "yes")
- 
-+run_lang_python_test="yes"
-+AC_ARG_ENABLE(lang-python-test,
-+  AC_HELP_STRING([--disable-lang-python-test], [disable Python regression test]),
-+         run_lang_python_test=$enableval)
-+AM_CONDITIONAL(RUN_LANG_PYTHON_TESTS, test "$run_lang_python_test" = "yes")
- 
- # Checks for header files.
- AC_CHECK_HEADERS_ONCE([locale.h sys/select.h sys/uio.h argp.h stdint.h
-diff --git a/lang/python/Makefile.am b/lang/python/Makefile.am
-index 551deee..0fd555e 100644
---- a/lang/python/Makefile.am
-+++ b/lang/python/Makefile.am
-@@ -23,7 +23,10 @@ EXTRA_DIST = \
- 	gpgme.i \
- 	helpers.c helpers.h private.h
- 
-+SUBDIRS = . examples doc src
-+if RUN_LANG_PYTHON_TESTS
- SUBDIRS = . tests examples doc src
-+endif
- 
- .PHONY: prepare
- prepare: copystamp
--- 
-2.7.4
-
diff --git a/poky/meta/recipes-support/gpgme/gpgme_1.20.0.bb b/poky/meta/recipes-support/gpgme/gpgme_1.22.0.bb
similarity index 94%
rename from poky/meta/recipes-support/gpgme/gpgme_1.20.0.bb
rename to poky/meta/recipes-support/gpgme/gpgme_1.22.0.bb
index dc5b58d..84c8fa9 100644
--- a/poky/meta/recipes-support/gpgme/gpgme_1.20.0.bb
+++ b/poky/meta/recipes-support/gpgme/gpgme_1.22.0.bb
@@ -18,14 +18,13 @@
            file://0004-python-import.patch \
            file://0005-gpgme-config-skip-all-lib-or-usr-lib-directories-in-.patch \
            file://0006-fix-build-path-issue.patch \
-           file://0007-python-Add-variables-to-tests.patch \
            file://0008-do-not-auto-check-var-PYTHON.patch \
            file://0001-use-closefrom-on-linux-and-glibc-2.34.patch \
            file://0001-posix-io.c-Use-off_t-instead-of-off64_t.patch \
            file://0001-autogen.sh-remove-unknown-in-version.patch \
            "
 
-SRC_URI[sha256sum] = "25a5785a5da356689001440926b94e967d02e13c49eb7743e35ef0cf22e42750"
+SRC_URI[sha256sum] = "9551e37081ad3bde81018a0d24f245c3f8206990549598fb31a97a68380a7b71"
 
 PYTHON_DEPS = "${@bb.utils.contains('LANGUAGES', 'python', 'swig-native', '', d)}"
 
@@ -53,7 +52,6 @@
                  --disable-gpg-test \
                  --disable-gpgsm-test \
                  --disable-g13-test \
-                 --disable-lang-python-test \
 '
 
 inherit autotools texinfo binconfig-disabled pkgconfig ${PYTHON_INHERIT} python3native multilib_header
diff --git a/poky/meta/recipes-support/libgit2/libgit2_1.7.0.bb b/poky/meta/recipes-support/libgit2/libgit2_1.7.1.bb
similarity index 91%
rename from poky/meta/recipes-support/libgit2/libgit2_1.7.0.bb
rename to poky/meta/recipes-support/libgit2/libgit2_1.7.1.bb
index 15a91cf..92af0b8 100644
--- a/poky/meta/recipes-support/libgit2/libgit2_1.7.0.bb
+++ b/poky/meta/recipes-support/libgit2/libgit2_1.7.1.bb
@@ -6,7 +6,7 @@
 DEPENDS = "curl openssl zlib libssh2 libgcrypt libpcre2"
 
 SRC_URI = "git://github.com/libgit2/libgit2.git;branch=maint/v1.7;protocol=https"
-SRCREV = "3e2baa6d0bfb42f9016e24cba1733a6ae26a8ae6"
+SRCREV = "a2bde63741977ca0f4ef7db2f609df320be67a08"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-support/libsoup/libsoup-2.4_2.74.3.bb b/poky/meta/recipes-support/libsoup/libsoup-2.4_2.74.3.bb
index 79281fb..5abeced 100644
--- a/poky/meta/recipes-support/libsoup/libsoup-2.4_2.74.3.bb
+++ b/poky/meta/recipes-support/libsoup/libsoup-2.4_2.74.3.bb
@@ -25,12 +25,24 @@
 GIR_MESON_ENABLE_FLAG = 'enabled'
 GIR_MESON_DISABLE_FLAG = 'disabled'
 
-# libsoup-gnome is entirely deprecated and just stubs in 2.42 onwards. Disable by default.
 PACKAGECONFIG ??= ""
+PACKAGECONFIG[brotli] = "-Dbrotli=enabled,-Dbrotli=disabled,brotli"
+# libsoup-gnome is entirely deprecated and just stubs in 2.42 onwards
 PACKAGECONFIG[gnome] = "-Dgnome=true,-Dgnome=false"
 PACKAGECONFIG[gssapi] = "-Dgssapi=enabled,-Dgssapi=disabled,krb5"
+PACKAGECONFIG[ntlm] = "-Dntlm=enabled,-Dntlm=disabled"
+PACKAGECONFIG[sysprof] = "-Dsysprof=enabled,-Dsysprof=disabled,sysprof"
 
-EXTRA_OEMESON:append = " -Dvapi=disabled -Dtls_check=false"
+# Tell libsoup where the target ntlm_auth is installed
+do_write_config:append:class-target() {
+    cat >${WORKDIR}/soup.cross <<EOF
+[binaries]
+ntlm_auth = '${bindir}/ntlm_auth'
+EOF
+}
+EXTRA_OEMESON += "--cross-file ${WORKDIR}/soup.cross"
+
+EXTRA_OEMESON += "-Dvapi=disabled -Dtls_check=false"
 
 GTKDOC_MESON_OPTION = "gtk_doc"
 
diff --git a/poky/meta/recipes-support/libsoup/libsoup_3.4.2.bb b/poky/meta/recipes-support/libsoup/libsoup_3.4.2.bb
index 37e54ab..ad86c89 100644
--- a/poky/meta/recipes-support/libsoup/libsoup_3.4.2.bb
+++ b/poky/meta/recipes-support/libsoup/libsoup_3.4.2.bb
@@ -24,11 +24,24 @@
 GIR_MESON_ENABLE_FLAG = 'enabled'
 GIR_MESON_DISABLE_FLAG = 'disabled'
 
-# libsoup-gnome is entirely deprecated and just stubs in 2.42 onwards. Disable by default.
 PACKAGECONFIG ??= ""
+PACKAGECONFIG[brotli] = "-Dbrotli=enabled,-Dbrotli=disabled,brotli"
 PACKAGECONFIG[gssapi] = "-Dgssapi=enabled,-Dgssapi=disabled,krb5"
+PACKAGECONFIG[ntlm] = "-Dntlm=enabled,-Dntlm=disabled"
+PACKAGECONFIG[sysprof] = "-Dsysprof=enabled,-Dsysprof=disabled,sysprof"
 
-EXTRA_OEMESON:append = " -Dvapi=disabled -Dtls_check=false"
+# Tell libsoup where the target ntlm_auth is installed
+do_write_config:append:class-target() {
+    cat >${WORKDIR}/soup.cross <<EOF
+[binaries]
+ntlm_auth = '${bindir}/ntlm_auth'
+EOF
+}
+EXTRA_OEMESON += "--cross-file ${WORKDIR}/soup.cross"
+
+EXTRA_OEMESON += "-Dvapi=disabled -Dtls_check=false"
+# Disable the test suites
+EXTRA_OEMESON += "-Dtests=false -Dautobahn=disabled -Dpkcs11_tests=disabled"
 
 GIDOCGEN_MESON_OPTION = 'docs'
 GIDOCGEN_MESON_ENABLE_FLAG = 'enabled'
diff --git a/poky/meta/recipes-support/mpfr/mpfr_4.2.0.bb b/poky/meta/recipes-support/mpfr/mpfr_4.2.1.bb
similarity index 91%
rename from poky/meta/recipes-support/mpfr/mpfr_4.2.0.bb
rename to poky/meta/recipes-support/mpfr/mpfr_4.2.1.bb
index 3180438..a2067e1 100644
--- a/poky/meta/recipes-support/mpfr/mpfr_4.2.0.bb
+++ b/poky/meta/recipes-support/mpfr/mpfr_4.2.1.bb
@@ -12,7 +12,7 @@
 DEPENDS = "gmp autoconf-archive-native"
 
 SRC_URI = "https://www.mpfr.org/mpfr-${PV}/mpfr-${PV}.tar.xz"
-SRC_URI[sha256sum] = "06a378df13501248c1b2db5aa977a2c8126ae849a9d9b7be2546fb4a9c26d993"
+SRC_URI[sha256sum] = "277807353a6726978996945af13e52829e3abd7a9a5b7fb2793894e18f1fcbb2"
 
 UPSTREAM_CHECK_URI = "http://www.mpfr.org/mpfr-current/"
 
diff --git a/poky/meta/recipes-support/nettle/nettle_3.9.1.bb b/poky/meta/recipes-support/nettle/nettle_3.9.1.bb
index 6bb76a6..396708c 100644
--- a/poky/meta/recipes-support/nettle/nettle_3.9.1.bb
+++ b/poky/meta/recipes-support/nettle/nettle_3.9.1.bb
@@ -30,6 +30,9 @@
 
 EXTRA_OECONF = "--disable-openssl"
 
+EXTRA_OECONF:append:armv7a = "${@bb.utils.contains("TUNE_FEATURES","neon",""," --disable-arm-neon --disable-fat",d)}"
+EXTRA_OECONF:append:armv7ve = "${@bb.utils.contains("TUNE_FEATURES","neon",""," --disable-arm-neon --disable-fat",d)}"
+
 do_compile_ptest() {
         oe_runmake buildtest
 }
diff --git a/poky/meta/recipes-support/p11-kit/files/strerror-1.patch b/poky/meta/recipes-support/p11-kit/files/strerror-1.patch
new file mode 100644
index 0000000..6af4fee
--- /dev/null
+++ b/poky/meta/recipes-support/p11-kit/files/strerror-1.patch
@@ -0,0 +1,76 @@
+From 3ba2c55dfdc8ff20de369f07f6c57d08718d3add Mon Sep 17 00:00:00 2001
+From: Adam Sampson <ats@offog.org>
+Date: Sun, 2 Jul 2023 15:22:49 +0100
+Subject: [PATCH] Check for GNU strerror_r using the compiler only
+
+The new test that was added to distinguish GNU/XSI strerror_r ran a
+compiled program, which doesn't work when cross-compiling. The only
+difference at compile time is that the GNU version returns char * and
+the XSI version returns int, so detect it by compiling a program that
+dereferences the return value.
+
+Signed-off-by: Adam Sampson <ats@offog.org>
+
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+---
+ configure.ac | 19 +++++++------------
+ meson.build  | 10 +++++-----
+ 2 files changed, 12 insertions(+), 17 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 40f5a583..29890622 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -146,19 +146,14 @@ if test "$os_unix" = "yes"; then
+ 
+ 	AC_CHECK_FUNC(
+ 		[strerror_r],
+-		[AC_RUN_IFELSE(
+-			[AC_LANG_SOURCE([[
+-				#include <errno.h>
+-				#include <string.h>
+-
+-				int main (void)
+-				{
+-					char buf[32];
+-					return strerror_r (EINVAL, buf, 32);
+-				}
+-			]])],
+-                        [AC_DEFINE([HAVE_XSI_STRERROR_R], 1, [Whether XSI-compliant strerror_r() is available])],
++		[AC_COMPILE_IFELSE(
++			[AC_LANG_PROGRAM([[#include <errno.h>
++					   #include <string.h>]],
++					 [[/* GNU strerror_r returns char *, XSI returns int */
++					    char buf[32];
++					    return *strerror_r (EINVAL, buf, 32);]])],
+ 			[AC_DEFINE([HAVE_GNU_STRERROR_R], 1, [Whether GNU-specific strerror_r() is available])],
++                        [AC_DEFINE([HAVE_XSI_STRERROR_R], 1, [Whether XSI-compliant strerror_r() is available])],
+ 			[])],
+ 		[])
+ 
+diff --git a/meson.build b/meson.build
+index 0f8c8da0..4cc3f89a 100644
+--- a/meson.build
++++ b/meson.build
+@@ -306,15 +306,15 @@ if cc.has_function('strerror_r', prefix: '#include <string.h>')
+ 
+ int main (void)
+ {
++    /* GNU strerror_r returns char *, XSI returns int */
+     char buf[32];
+-    return strerror_r (EINVAL, buf, 32);
++    return *strerror_r (EINVAL, buf, 32);
+ }
+ '''
+-  strerror_r_check = cc.run(strerror_r_code, name : 'strerror_r check')
+-  if strerror_r_check.returncode() == 0
+-    conf.set('HAVE_XSI_STRERROR_R', 1)
+-  else
++  if cc.compiles(strerror_r_code, name : 'GNU strerror_r check')
+     conf.set('HAVE_GNU_STRERROR_R', 1)
++  else
++    conf.set('HAVE_XSI_STRERROR_R', 1)
+   endif
+ endif
+ 
diff --git a/poky/meta/recipes-support/p11-kit/files/strerror-2.patch b/poky/meta/recipes-support/p11-kit/files/strerror-2.patch
new file mode 100644
index 0000000..1a9180b
--- /dev/null
+++ b/poky/meta/recipes-support/p11-kit/files/strerror-2.patch
@@ -0,0 +1,30 @@
+From 7aa6251bf4ce36d027d53c9c96bb05f90ef7eb5b Mon Sep 17 00:00:00 2001
+From: Adam Sampson <ats@offog.org>
+Date: Sun, 2 Jul 2023 15:44:06 +0100
+Subject: [PATCH] Define _GNU_SOURCE when testing for strerror_r
+
+The Meson check for GNU/XSI strerror_r didn't inherit the project
+options that include _GNU_SOURCE (unlike the autoconf version), so the
+result didn't match how the code that uses it will be compiled. Add
+_GNU_SOURCE explicitly as with the following checks.
+
+Signed-off-by: Adam Sampson <ats@offog.org>
+
+Upstream-Status: Backport
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+---
+ meson.build | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/meson.build b/meson.build
+index 4cc3f89a..9a72e148 100644
+--- a/meson.build
++++ b/meson.build
+@@ -301,6 +301,7 @@ endforeach
+ 
+ if cc.has_function('strerror_r', prefix: '#include <string.h>')
+   strerror_r_code = '''
++#define _GNU_SOURCE
+ #include <errno.h>
+ #include <string.h>
+ 
diff --git a/poky/meta/recipes-support/p11-kit/p11-kit_0.25.0.bb b/poky/meta/recipes-support/p11-kit/p11-kit_0.25.0.bb
index ad207d0..ad1fda3 100644
--- a/poky/meta/recipes-support/p11-kit/p11-kit_0.25.0.bb
+++ b/poky/meta/recipes-support/p11-kit/p11-kit_0.25.0.bb
@@ -10,7 +10,9 @@
 
 DEPENDS:append = "${@' glib-2.0' if d.getVar('GTKDOC_ENABLED') == 'True' else ''}"
 
-SRC_URI = "git://github.com/p11-glue/p11-kit;branch=master;protocol=https"
+SRC_URI = "git://github.com/p11-glue/p11-kit;branch=master;protocol=https \
+           file://strerror-1.patch \
+           file://strerror-2.patch"
 SRCREV = "a8cce8bd8065bbf80bd47219f85f0cd9cf27dd0c"
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-support/ptest-runner/ptest-runner_2.4.2.bb b/poky/meta/recipes-support/ptest-runner/ptest-runner_2.4.2.bb
index 60918a3..ff336b3 100644
--- a/poky/meta/recipes-support/ptest-runner/ptest-runner_2.4.2.bb
+++ b/poky/meta/recipes-support/ptest-runner/ptest-runner_2.4.2.bb
@@ -8,7 +8,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe"
 
 SRCREV = "4148e75284e443fc8ffaef425c467aa5523528ff"
-PV .= "+git${SRCPV}"
+PV .= "+git"
 
 SRC_URI = "git://git.yoctoproject.org/ptest-runner2;branch=master;protocol=https \
 "
diff --git a/poky/meta/recipes-support/re2c/re2c_3.0.bb b/poky/meta/recipes-support/re2c/re2c_3.1.bb
similarity index 90%
rename from poky/meta/recipes-support/re2c/re2c_3.0.bb
rename to poky/meta/recipes-support/re2c/re2c_3.1.bb
index f3d5ff0..a4b2042 100644
--- a/poky/meta/recipes-support/re2c/re2c_3.0.bb
+++ b/poky/meta/recipes-support/re2c/re2c_3.1.bb
@@ -7,7 +7,7 @@
 LIC_FILES_CHKSUM = "file://LICENSE;md5=64eca4d8a3b67f9dc7656094731a2c8d"
 
 SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/${BPN}-${PV}.tar.xz"
-SRC_URI[sha256sum] = "b3babbbb1461e13fe22c630a40c43885efcfbbbb585830c6f4c0d791cf82ba0b"
+SRC_URI[sha256sum] = "0ac299ad359e3f512b06a99397d025cfff81d3be34464ded0656f8a96676c029"
 GITHUB_BASE_URI = "https://github.com/skvadrik/re2c/releases"
 
 BBCLASSEXTEND = "native nativesdk"
diff --git a/poky/meta/recipes-support/sqlite/sqlite3_3.42.0.bb b/poky/meta/recipes-support/sqlite/sqlite3_3.42.0.bb
deleted file mode 100644
index 8783f62..0000000
--- a/poky/meta/recipes-support/sqlite/sqlite3_3.42.0.bb
+++ /dev/null
@@ -1,8 +0,0 @@
-require sqlite3.inc
-
-LICENSE = "PD"
-LIC_FILES_CHKSUM = "file://sqlite3.h;endline=11;md5=786d3dc581eff03f4fd9e4a77ed00c66"
-
-SRC_URI = "http://www.sqlite.org/2023/sqlite-autoconf-${SQLITE_PV}.tar.gz"
-SRC_URI[sha256sum] = "7abcfd161c6e2742ca5c6c0895d1f853c940f203304a0b49da4e1eca5d088ca6"
-
diff --git a/poky/meta/recipes-support/sqlite/sqlite3_3.43.0.bb b/poky/meta/recipes-support/sqlite/sqlite3_3.43.0.bb
new file mode 100644
index 0000000..84644a0
--- /dev/null
+++ b/poky/meta/recipes-support/sqlite/sqlite3_3.43.0.bb
@@ -0,0 +1,10 @@
+require sqlite3.inc
+
+LICENSE = "PD"
+LIC_FILES_CHKSUM = "file://sqlite3.h;endline=11;md5=786d3dc581eff03f4fd9e4a77ed00c66"
+
+SRC_URI = "http://www.sqlite.org/2023/sqlite-autoconf-${SQLITE_PV}.tar.gz"
+SRC_URI[sha256sum] = "49008dbf3afc04d4edc8ecfc34e4ead196973034293c997adad2f63f01762ae1"
+
+CVE_STATUS[CVE-2023-36191] = "disputed: The error is a bug. It has been fixed upstream. But it is not a vulnerability"
+
diff --git a/poky/meta/recipes-support/vim/vim.inc b/poky/meta/recipes-support/vim/vim.inc
index 33ae0d8..8a399cd 100644
--- a/poky/meta/recipes-support/vim/vim.inc
+++ b/poky/meta/recipes-support/vim/vim.inc
@@ -19,14 +19,13 @@
            file://no-path-adjust.patch \
            "
 
-PV .= ".1592"
-SRCREV = "29b4c513b11deb37f0e0538df53d195f602fa42c"
-
-# Remove when 8.3 is out
-UPSTREAM_VERSION_UNKNOWN = "1"
+PV .= ".1664"
+SRCREV = "8154e642aa476e1a5d3de66c34e8289845b2b797"
 
 # Do not consider .z in x.y.z, as that is updated with every commit
 UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+\.\d+)\.0"
+# Ignore that the upstream version .z in x.y.z is always newer
+UPSTREAM_VERSION_UNKNOWN = "1"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/recipes-support/xxhash/xxhash_0.8.1.bb b/poky/meta/recipes-support/xxhash/xxhash_0.8.2.bb
similarity index 82%
rename from poky/meta/recipes-support/xxhash/xxhash_0.8.1.bb
rename to poky/meta/recipes-support/xxhash/xxhash_0.8.2.bb
index 222ba7b..f16b183 100644
--- a/poky/meta/recipes-support/xxhash/xxhash_0.8.1.bb
+++ b/poky/meta/recipes-support/xxhash/xxhash_0.8.2.bb
@@ -3,14 +3,14 @@
 working at speeds close to RAM limits."
 HOMEPAGE = "http://www.xxhash.com/"
 LICENSE = "BSD-2-Clause & GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=cdfe7764d5685d8e08b3df302885d7f3 \
+LIC_FILES_CHKSUM = "file://LICENSE;md5=13be6b481ff5616f77dda971191bb29b \
                     file://cli/COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
-                   "
+                    "
 
 SRC_URI = "git://github.com/Cyan4973/xxHash.git;branch=release;protocol=https"
 UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
 
-SRCREV = "35b0373c697b5f160d3db26b1cbb45a0d5ba788c"
+SRCREV = "bbb27a5efb85b92a0486cf361a8635715a53f6ba"
 
 S = "${WORKDIR}/git"
 
diff --git a/poky/meta/site/arm-32 b/poky/meta/site/arm-32
index c6af852..be74161 100644
--- a/poky/meta/site/arm-32
+++ b/poky/meta/site/arm-32
@@ -6,13 +6,3 @@
 
 # jikes
 ac_cv_sizeof_wchar_t=4
-
-# at-spi2-core
-ac_cv_alignof_char=1
-ac_cv_alignof_dbind_pointer=4
-ac_cv_alignof_dbind_struct=1
-ac_cv_alignof_dbus_bool_t=4
-ac_cv_alignof_dbus_int16_t=2
-ac_cv_alignof_dbus_int32_t=4
-ac_cv_alignof_dbus_int64_t=8
-ac_cv_alignof_double=8
diff --git a/poky/meta/site/arm-64 b/poky/meta/site/arm-64
index 79c10da..f4eae88 100644
--- a/poky/meta/site/arm-64
+++ b/poky/meta/site/arm-64
@@ -6,12 +6,3 @@
 ac_cv_sizeof_ssize_t=8
 ac_cv_alignof_char=1
 ac_cv_alignof_double=8
-
-# at-spi2-core
-ac_cv_alignof_dbind_pointer=8
-ac_cv_alignof_dbind_struct=1
-ac_cv_alignof_dbus_bool_t=4
-ac_cv_alignof_dbus_int16_t=2
-ac_cv_alignof_dbus_int32_t=4
-ac_cv_alignof_dbus_int64_t=8
-
diff --git a/poky/meta/site/ix86-common b/poky/meta/site/ix86-common
index b97b2e3..eae5670 100644
--- a/poky/meta/site/ix86-common
+++ b/poky/meta/site/ix86-common
@@ -170,13 +170,3 @@
 nfsd_cv_broken_setfsuid=${nfsd_cv_broken_setfsuid=0}
 nfsd_cv_func_statfs=${nfsd_cv_func_statfs=statfs2_bsize}
 nfsd_cv_bsd_signals=${nfsd_cv_bsd_signals=yes}
-
-# at-spi2-core
-ac_cv_alignof_char=1
-ac_cv_alignof_dbind_pointer=4
-ac_cv_alignof_dbind_struct=1
-ac_cv_alignof_dbus_bool_t=4
-ac_cv_alignof_dbus_int16_t=2
-ac_cv_alignof_dbus_int32_t=4
-ac_cv_alignof_dbus_int64_t=4
-ac_cv_alignof_double=4
diff --git a/poky/meta/site/mips-common b/poky/meta/site/mips-common
index ff1b7f4..55dc50b 100644
--- a/poky/meta/site/mips-common
+++ b/poky/meta/site/mips-common
@@ -20,13 +20,3 @@
 
 # slrn
 slrn_cv_va_val_copy=${slrn_cv_va_val_copy=yes}
-
-# at-spi2-core
-ac_cv_alignof_char=1
-ac_cv_alignof_dbind_pointer=4
-ac_cv_alignof_dbind_struct=1
-ac_cv_alignof_dbus_bool_t=4
-ac_cv_alignof_dbus_int16_t=2
-ac_cv_alignof_dbus_int32_t=4
-ac_cv_alignof_dbus_int64_t=8
-ac_cv_alignof_double=8
diff --git a/poky/meta/site/powerpc-common b/poky/meta/site/powerpc-common
deleted file mode 100644
index 02217c7..0000000
--- a/poky/meta/site/powerpc-common
+++ /dev/null
@@ -1,9 +0,0 @@
-# at-spi2-core
-ac_cv_alignof_char=1
-ac_cv_alignof_dbind_pointer=4
-ac_cv_alignof_dbind_struct=1
-ac_cv_alignof_dbus_bool_t=4
-ac_cv_alignof_dbus_int16_t=2
-ac_cv_alignof_dbus_int32_t=4
-ac_cv_alignof_dbus_int64_t=8
-ac_cv_alignof_double=8
diff --git a/poky/meta/site/x86_64-linux b/poky/meta/site/x86_64-linux
index d7b7a53..b9ee141 100644
--- a/poky/meta/site/x86_64-linux
+++ b/poky/meta/site/x86_64-linux
@@ -83,13 +83,3 @@
 
 # cvs
 cvs_cv_func_printf_ptr=${cvs_cv_func_printf_ptr=yes}
-
-# at-spi2-core
-ac_cv_alignof_char=1
-ac_cv_alignof_dbind_pointer=8
-ac_cv_alignof_dbind_struct=1
-ac_cv_alignof_dbus_bool_t=4
-ac_cv_alignof_dbus_int16_t=2
-ac_cv_alignof_dbus_int32_t=4
-ac_cv_alignof_dbus_int64_t=8
-ac_cv_alignof_double=8
diff --git a/poky/scripts/create-pull-request b/poky/scripts/create-pull-request
index 2f91a35..885105f 100755
--- a/poky/scripts/create-pull-request
+++ b/poky/scripts/create-pull-request
@@ -149,13 +149,10 @@
 WEB_URL=""
 case "$REMOTE_URL" in
 	*git.yoctoproject.org*)
-		WEB_URL="http://git.yoctoproject.org/cgit.cgi/$REMOTE_REPO/log/?h=$BRANCH"
-		;;
-	*git.pokylinux.org*)
-		WEB_URL="http://git.pokylinux.org/cgit.cgi/$REMOTE_REPO/log/?h=$BRANCH"
+		WEB_URL="https://git.yoctoproject.org/$REMOTE_REPO/log/?h=$BRANCH"
 		;;
 	*git.openembedded.org*)
-		WEB_URL="http://cgit.openembedded.org/$REMOTE_REPO/log/?h=$BRANCH"
+		WEB_URL="https://git.openembedded.org/$REMOTE_REPO/log/?h=$BRANCH"
 		;;
 	*github.com*)
 		WEB_URL="https://github.com/$REMOTE_REPO/tree/$BRANCH"
diff --git a/poky/scripts/lib/devtool/sdk.py b/poky/scripts/lib/devtool/sdk.py
index d717b6c..9aefd7e 100644
--- a/poky/scripts/lib/devtool/sdk.py
+++ b/poky/scripts/lib/devtool/sdk.py
@@ -300,7 +300,8 @@
             return 2
 
         try:
-            exec_build_env_command(config.init_path, basepath, 'bitbake build-sysroots', watch=True)
+            exec_build_env_command(config.init_path, basepath, 'bitbake build-sysroots -c build_native_sysroot', watch=True)
+            exec_build_env_command(config.init_path, basepath, 'bitbake build-sysroots -c build_target_sysroot', watch=True)
         except bb.process.ExecutionError as e:
             raise DevtoolError('Failed to bitbake build-sysroots:\n%s' % (str(e)))
 
diff --git a/poky/scripts/lib/recipetool/create.py b/poky/scripts/lib/recipetool/create.py
index e99e071..f9dda3c 100644
--- a/poky/scripts/lib/recipetool/create.py
+++ b/poky/scripts/lib/recipetool/create.py
@@ -690,7 +690,7 @@
             srcpvprefix = 'svnr'
         else:
             srcpvprefix = scheme
-        lines_before.append('PV = "%s+%s${SRCPV}"' % (realpv or '1.0', srcpvprefix))
+        lines_before.append('PV = "%s+%s"' % (realpv or '1.0', srcpvprefix))
         pv_srcpv = True
         if not args.autorev and srcrev == '${AUTOREV}':
             if os.path.exists(os.path.join(srctree, '.git')):
diff --git a/poky/scripts/lib/resulttool/report.py b/poky/scripts/lib/resulttool/report.py
index f0ca50e..a349510 100644
--- a/poky/scripts/lib/resulttool/report.py
+++ b/poky/scripts/lib/resulttool/report.py
@@ -176,7 +176,10 @@
             vals['sort'] = line['testseries'] + "_" + line['result_id']
             vals['failed_testcases'] = line['failed_testcases']
             for k in cols:
-                vals[k] = "%d (%s%%)" % (line[k], format(line[k] / total_tested * 100, '.0f'))
+                if total_tested:
+                    vals[k] = "%d (%s%%)" % (line[k], format(line[k] / total_tested * 100, '.0f'))
+                else:
+                    vals[k] = "0 (0%)"
             for k in maxlen:
                 if k in vals and len(vals[k]) > maxlen[k]:
                     maxlen[k] = len(vals[k])
diff --git a/poky/scripts/lib/scriptutils.py b/poky/scripts/lib/scriptutils.py
index f433106..f23e53c 100644
--- a/poky/scripts/lib/scriptutils.py
+++ b/poky/scripts/lib/scriptutils.py
@@ -177,7 +177,7 @@
                 f.write('BB_STRICT_CHECKSUM = "ignore"\n')
                 f.write('SRC_URI = "%s"\n' % srcuri)
                 f.write('SRCREV = "%s"\n' % srcrev)
-                f.write('PV = "0.0+${SRCPV}"\n')
+                f.write('PV = "0.0+"\n')
                 f.write('WORKDIR = "%s"\n' % tmpworkdir)
                 # Set S out of the way so it doesn't get created under the workdir
                 f.write('S = "%s"\n' % os.path.join(tmpdir, 'emptysrc'))
diff --git a/poky/scripts/lib/wic/ksparser.py b/poky/scripts/lib/wic/ksparser.py
index 667b2ff..7ef3dc8 100644
--- a/poky/scripts/lib/wic/ksparser.py
+++ b/poky/scripts/lib/wic/ksparser.py
@@ -188,11 +188,12 @@
         part.add_argument('--uuid')
         part.add_argument('--fsuuid')
         part.add_argument('--no-fstab-update', action='store_true')
+        part.add_argument('--mbr', action='store_true')
 
         bootloader = subparsers.add_parser('bootloader')
         bootloader.add_argument('--append')
         bootloader.add_argument('--configfile')
-        bootloader.add_argument('--ptable', choices=('msdos', 'gpt'),
+        bootloader.add_argument('--ptable', choices=('msdos', 'gpt', 'gpt-hybrid'),
                                 default='msdos')
         bootloader.add_argument('--timeout', type=int)
         bootloader.add_argument('--source')
diff --git a/poky/scripts/lib/wic/partition.py b/poky/scripts/lib/wic/partition.py
index bda4aef..b1a2306 100644
--- a/poky/scripts/lib/wic/partition.py
+++ b/poky/scripts/lib/wic/partition.py
@@ -60,6 +60,7 @@
         self.has_fstab = False
         self.update_fstab_in_rootfs = False
         self.hidden = args.hidden
+        self.mbr = args.mbr
 
         self.lineno = lineno
         self.source_file = ""
@@ -134,7 +135,7 @@
             self.update_fstab_in_rootfs = True
 
         if not self.source:
-            if self.fstype == "none":
+            if self.fstype == "none" or self.no_table:
                 return
             if not self.size and not self.fixed_size:
                 raise WicError("The %s partition has a size of zero. Please "
diff --git a/poky/scripts/lib/wic/plugins/imager/direct.py b/poky/scripts/lib/wic/plugins/imager/direct.py
index 55347f5..9b619e4 100644
--- a/poky/scripts/lib/wic/plugins/imager/direct.py
+++ b/poky/scripts/lib/wic/plugins/imager/direct.py
@@ -342,7 +342,7 @@
         # generate parition and filesystem UUIDs
         for part in self.partitions:
             if not part.uuid and part.use_uuid:
-                if self.ptable_format == 'gpt':
+                if self.ptable_format in ('gpt', 'gpt-hybrid'):
                     part.uuid = str(uuid.uuid4())
                 else: # msdos partition table
                     part.uuid = '%08x-%02d' % (self.identifier, part.realnum)
@@ -398,6 +398,10 @@
                 raise WicError("setting custom partition type is not " \
                                "implemented for msdos partitions")
 
+            if part.mbr and self.ptable_format != 'gpt-hybrid':
+                raise WicError("Partition may only be included in MBR with " \
+                               "a gpt-hybrid partition table")
+
             # Get the disk where the partition is located
             self.numpart += 1
             if not part.no_table:
@@ -406,7 +410,7 @@
             if self.numpart == 1:
                 if self.ptable_format == "msdos":
                     overhead = MBR_OVERHEAD
-                elif self.ptable_format == "gpt":
+                elif self.ptable_format in ("gpt", "gpt-hybrid"):
                     overhead = GPT_OVERHEAD
 
                 # Skip one sector required for the partitioning scheme overhead
@@ -490,7 +494,7 @@
         # Once all the partitions have been layed out, we can calculate the
         # minumim disk size
         self.min_size = self.offset
-        if self.ptable_format == "gpt":
+        if self.ptable_format in ("gpt", "gpt-hybrid"):
             self.min_size += GPT_OVERHEAD
 
         self.min_size *= self.sector_size
@@ -511,22 +515,38 @@
 
         return exec_native_cmd(cmd, self.native_sysroot)
 
-    def create(self):
-        logger.debug("Creating sparse file %s", self.path)
-        with open(self.path, 'w') as sparse:
-            os.ftruncate(sparse.fileno(), self.min_size)
-
-        logger.debug("Initializing partition table for %s", self.path)
-        exec_native_cmd("parted -s %s mklabel %s" %
-                        (self.path, self.ptable_format), self.native_sysroot)
-
-        logger.debug("Set disk identifier %x", self.identifier)
-        with open(self.path, 'r+b') as img:
+    def _write_identifier(self, device, identifier):
+        logger.debug("Set disk identifier %x", identifier)
+        with open(device, 'r+b') as img:
             img.seek(0x1B8)
-            img.write(self.identifier.to_bytes(4, 'little'))
+            img.write(identifier.to_bytes(4, 'little'))
+
+    def _make_disk(self, device, ptable_format, min_size):
+        logger.debug("Creating sparse file %s", device)
+        with open(device, 'w') as sparse:
+            os.ftruncate(sparse.fileno(), min_size)
+
+        logger.debug("Initializing partition table for %s", device)
+        exec_native_cmd("parted -s %s mklabel %s" % (device, ptable_format),
+                        self.native_sysroot)
+
+
+    def create(self):
+        self._make_disk(self.path,
+                        "gpt" if self.ptable_format == "gpt-hybrid" else self.ptable_format,
+                        self.min_size)
+
+        self._write_identifier(self.path, self.identifier)
+
+        if self.ptable_format == "gpt-hybrid":
+            mbr_path = self.path + ".mbr"
+            self._make_disk(mbr_path, "msdos", self.min_size)
+            self._write_identifier(mbr_path, self.identifier)
 
         logger.debug("Creating partitions")
 
+        hybrid_mbr_part_num = 0
+
         for part in self.partitions:
             if part.num == 0:
                 continue
@@ -571,7 +591,14 @@
             self._create_partition(self.path, part.type,
                                    parted_fs_type, part.start, part.size_sec)
 
-            if self.ptable_format == "gpt" and (part.part_name or part.label):
+            if self.ptable_format == "gpt-hybrid" and part.mbr:
+                hybrid_mbr_part_num += 1
+                if hybrid_mbr_part_num > 4:
+                    raise WicError("Extended MBR partitions are not supported in hybrid MBR")
+                self._create_partition(mbr_path, "primary",
+                                       parted_fs_type, part.start, part.size_sec)
+
+            if self.ptable_format in ("gpt", "gpt-hybrid") and (part.part_name or part.label):
                 partition_label = part.part_name if part.part_name else part.label
                 logger.debug("partition %d: set name to %s",
                              part.num, partition_label)
@@ -586,7 +613,7 @@
                                          (part.num, part.part_type,
                                           self.path), self.native_sysroot)
 
-            if part.uuid and self.ptable_format == "gpt":
+            if part.uuid and self.ptable_format in ("gpt", "gpt-hybrid"):
                 logger.debug("partition %d: set UUID to %s",
                              part.num, part.uuid)
                 exec_native_cmd("sgdisk --partition-guid=%d:%s %s" % \
@@ -594,12 +621,16 @@
                                 self.native_sysroot)
 
             if part.active:
-                flag_name = "legacy_boot" if self.ptable_format == 'gpt' else "boot"
+                flag_name = "legacy_boot" if self.ptable_format in ('gpt', 'gpt-hybrid') else "boot"
                 logger.debug("Set '%s' flag for partition '%s' on disk '%s'",
                              flag_name, part.num, self.path)
                 exec_native_cmd("parted -s %s set %d %s on" % \
                                 (self.path, part.num, flag_name),
                                 self.native_sysroot)
+                if self.ptable_format == 'gpt-hybrid' and part.mbr:
+                    exec_native_cmd("parted -s %s set %d %s on" % \
+                                    (mbr_path, hybrid_mbr_part_num, "boot"),
+                                    self.native_sysroot)
             if part.system_id:
                 exec_native_cmd("sfdisk --part-type %s %s %s" % \
                                 (self.path, part.num, part.system_id),
@@ -612,6 +643,25 @@
                                 (self.path, part.num),
                                 self.native_sysroot)
 
+        if self.ptable_format == "gpt-hybrid":
+            # Write a protective GPT partition
+            hybrid_mbr_part_num += 1
+            if hybrid_mbr_part_num > 4:
+                raise WicError("Extended MBR partitions are not supported in hybrid MBR")
+
+            # parted cannot directly create a protective GPT partition, so
+            # create with an arbitrary type, then change it to the correct type
+            # with sfdisk
+            self._create_partition(mbr_path, "primary", "fat32", 1, GPT_OVERHEAD)
+            exec_native_cmd("sfdisk --part-type %s %d 0xee" % (mbr_path, hybrid_mbr_part_num),
+                            self.native_sysroot)
+
+            # Copy hybrid MBR
+            with open(mbr_path, "rb") as mbr_file:
+                with open(self.path, "r+b") as image_file:
+                    mbr = mbr_file.read(512)
+                    image_file.write(mbr)
+
     def cleanup(self):
         pass
 
diff --git a/poky/scripts/nativesdk-intercept/chgrp b/poky/scripts/nativesdk-intercept/chgrp
index 30cc417..f8ae84b 100755
--- a/poky/scripts/nativesdk-intercept/chgrp
+++ b/poky/scripts/nativesdk-intercept/chgrp
@@ -14,7 +14,10 @@
 args = list()
 
 found = False
-for i in sys.argv:
+
+args.append(real_chgrp)
+
+for i in sys.argv[1:]:
     if i.startswith("-"):
         args.append(i)
         continue
diff --git a/poky/scripts/nativesdk-intercept/chown b/poky/scripts/nativesdk-intercept/chown
index 3914b3e..0805ceb 100755
--- a/poky/scripts/nativesdk-intercept/chown
+++ b/poky/scripts/nativesdk-intercept/chown
@@ -14,7 +14,10 @@
 args = list()
 
 found = False
-for i in sys.argv:
+
+args.append(real_chown)
+
+for i in sys.argv[1:]:
     if i.startswith("-"):
         args.append(i)
         continue
diff --git a/poky/scripts/oe-buildenv-internal b/poky/scripts/oe-buildenv-internal
index f856e61..2fdb195 100755
--- a/poky/scripts/oe-buildenv-internal
+++ b/poky/scripts/oe-buildenv-internal
@@ -32,12 +32,12 @@
 # We potentially have code that doesn't parse correctly with older versions 
 # of Python, and rather than fixing that and being eternally vigilant for 
 # any other new feature use, just check the version here.
-py_v35_check=$(python3 -c 'import sys; print(sys.version_info >= (3,5,0))')
-if [ "$py_v35_check" != "True" ]; then
-    echo >&2 "BitBake requires Python 3.5.0 or later as 'python3 (scripts/install-buildtools can be used if needed)'"
+py_v38_check=$(python3 -c 'import sys; print(sys.version_info >= (3,8,0))')
+if [ "$py_v38_check" != "True" ]; then
+    echo >&2 "BitBake requires Python 3.8.0 or later as 'python3' (scripts/install-buildtools can be used if needed)"
     return 1
 fi
-unset py_v35_check
+unset py_v38_check
 
 if [ -z "$BDIR" ]; then
     if [ -z "$1" ]; then
diff --git a/poky/scripts/oe-depends-dot b/poky/scripts/oe-depends-dot
index 1c2d51c..d02ee45 100755
--- a/poky/scripts/oe-depends-dot
+++ b/poky/scripts/oe-depends-dot
@@ -14,7 +14,7 @@
 class Dot(object):
     def __init__(self):
         parser = argparse.ArgumentParser(
-            description="Analyse recipe-depends.dot generated by bitbake -g",
+            description="Analyse task-depends.dot generated by bitbake -g",
             formatter_class=argparse.RawDescriptionHelpFormatter)
         parser.add_argument("dotfile",
             help = "Specify the dotfile", nargs = 1, action='store', default='')
@@ -159,9 +159,14 @@
 
         reverse_deps = []
         if self.args.why:
-            for k, v in depends.items():
-                if self.args.key in v and not k in reverse_deps:
-                    reverse_deps.append(k)
+            key_list = [self.args.key]
+            current_key = self.args.key
+            while (len(key_list) != 0):
+                current_key = key_list.pop()
+                for k, v in depends.items():
+                    if current_key in v and not k in reverse_deps:
+                        reverse_deps.append(k)
+                        key_list.append(k)
             print('Because: %s' % ' '.join(reverse_deps))
             Dot.print_dep_chains(self.args.key, reverse_deps, depends)
 
diff --git a/poky/scripts/oe-find-native-sysroot b/poky/scripts/oe-find-native-sysroot
index 5146bbf..6228efc 100755
--- a/poky/scripts/oe-find-native-sysroot
+++ b/poky/scripts/oe-find-native-sysroot
@@ -36,20 +36,9 @@
 fi
 
 # Global vars
-BITBAKE_E=""
 set_oe_native_sysroot(){
-    echo "Running bitbake -e $1"
-    BITBAKE_E="`bitbake -e $1`"
-    OECORE_NATIVE_SYSROOT=`echo "$BITBAKE_E" | grep ^STAGING_DIR_NATIVE= | cut -d '"' -f2`
-
-    if [ "x$OECORE_NATIVE_SYSROOT" = "x" ]; then
-        # This indicates that there was an error running bitbake -e that
-        # the user needs to be informed of
-        echo "There was an error running bitbake to determine STAGING_DIR_NATIVE"
-        echo "Here is the output from bitbake -e $1"
-        echo $BITBAKE_E
-        exit 1
-    fi
+    echo "Getting sysroot..."
+    OECORE_NATIVE_SYSROOT=$(bitbake-getvar -r $1 --value STAGING_DIR_NATIVE)
 }
 
 if [ "x$OECORE_NATIVE_SYSROOT" = "x" ]; then
diff --git a/poky/scripts/pybootchartgui/pybootchartgui/draw.py b/poky/scripts/pybootchartgui/pybootchartgui/draw.py
index 3d1ff69..c6e6783 100644
--- a/poky/scripts/pybootchartgui/pybootchartgui/draw.py
+++ b/poky/scripts/pybootchartgui/pybootchartgui/draw.py
@@ -659,12 +659,21 @@
             x = chart_rect[0] + (start - offset) * sec_w
             w = elapsed_time * sec_w
 
+            def set_alfa(color, alfa):
+                clist = list(color)
+                clist[-1] = alfa
+                return tuple(clist)
+
             #print("proc at %s %s %s %s" % (x, y, w, proc_h))
             col = None
             if task == "do_compile":
                 col = TASK_COLOR_COMPILE
+            elif "do_compile" in task:
+                col = set_alfa(TASK_COLOR_COMPILE, 0.25)
             elif task == "do_configure":
                 col = TASK_COLOR_CONFIGURE
+            elif "do_configure" in task:
+                col = set_alfa(TASK_COLOR_CONFIGURE, 0.25)
             elif task == "do_install":
                 col = TASK_COLOR_INSTALL
             elif task == "do_populate_sysroot":
diff --git a/poky/scripts/runqemu b/poky/scripts/runqemu
index 0e105a9..3a17033 100755
--- a/poky/scripts/runqemu
+++ b/poky/scripts/runqemu
@@ -1383,8 +1383,18 @@
         render_hint = """If /dev/dri/renderD* is absent due to lack of suitable GPU, 'modprobe vgem' will create one suitable for mesa llvmpipe software renderer."""
         try:
             content = os.listdir("/dev/dri")
-            if len([i for i in content if i.startswith('render')]) == 0:
-                raise RunQemuError("No render nodes found in /dev/dri: %s. %s" %(content, render_hint))
+            nodes = [i for i in content if i.startswith('renderD')]
+            if len(nodes) == 0:
+                raise RunQemuError("No render nodes found in /dev/dri/: %s. %s" %(content, render_hint))
+            for n in nodes:
+                try:
+                    with open(os.path.join("/dev/dri", n), "w") as f:
+                        f.close()
+                        break
+                except IOError:
+                    pass
+            else:
+                raise RunQemuError("None of the render nodes in /dev/dri/ are accessible: %s; you may need to add yourself to 'render' group or otherwise ensure you have read-write permissions on one of them." %(nodes))
         except FileNotFoundError:
             raise RunQemuError("/dev/dri directory does not exist; no render nodes available on this machine. %s" %(render_hint))